Commit Graph

696 Commits

Author SHA1 Message Date
Vegard Stikbakke 85b7c24741 fix(coding-agent): reject non-positive bash timeouts 2026-07-01 09:03:00 +02:00
Vegard Stikbakke cbcf4e04c3 fix(coding-agent): reject oversized bash timeouts
closes #6181
2026-07-01 08:49:31 +02:00
Mario Zechner dd87c02cbf Add [Unreleased] section for next cycle 2026-06-30 22:29:44 +02:00
Mario Zechner a23abe4a69 Release v0.80.3 2026-06-30 22:29:41 +02:00
Mario Zechner fd6659dd5d fix(coding-agent): preserve run prompt during tool refresh
closes #6162
2026-06-30 14:08:48 +02:00
Mat e547bb9f41 fix(coding-agent): refresh session state before next turn 2026-06-30 13:56:04 +02:00
Mario Zechner c29bbc0958 docs(agent): update models phase 9 plan 2026-06-24 14:46:13 +02:00
Armin Ronacher 8277bd6896 Add [Unreleased] section for next cycle 2026-06-23 23:45:39 +02:00
Armin Ronacher 0201806adf Release v0.80.2 2026-06-23 23:45:36 +02:00
Armin Ronacher 9096d5f9a6 docs: update changelog entries 2026-06-23 23:42:02 +02:00
Mario Zechner 49fbe6834f fix(ai): align api key credentials with auth json 2026-06-23 22:29:46 +02:00
Mario Zechner b377623435 Type name change 2026-06-23 22:00:03 +02:00
Armin Ronacher e00074358d Add [Unreleased] section for next cycle 2026-06-23 20:04:12 +02:00
Armin Ronacher 1c4a9ba7c8 Release v0.80.1 2026-06-23 20:04:09 +02:00
Armin Ronacher 86528dd9ee Add [Unreleased] section for next cycle 2026-06-23 19:30:35 +02:00
Armin Ronacher f08e968c83 Release v0.80.0 2026-06-23 19:30:32 +02:00
Armin Ronacher 526351d99a docs: audit unreleased changelogs 2026-06-23 19:25:26 +02:00
Mario Zechner cd95c2749f fix(ai): require OpenAI Responses terminal events 2026-06-23 16:35:45 +02:00
Mario Zechner 129eb460cd feat(ai): complete models runtime migration 2026-06-23 15:29:46 +02:00
Mario Zechner 7fedc3324e Merge pull request #5999 from haoqixu/fix-5996
fix(coding-agent): normalize session names
2026-06-23 15:15:52 +02:00
haoqixu e8ede14f5d fix(agent): normalize session names 2026-06-23 19:36:13 +08:00
Mario Zechner d2677a6314 docs(agent): mark sync models API complete 2026-06-22 15:04:16 +02:00
Mario Zechner abbd911693 Merge main into model-registry 2026-06-22 14:00:18 +02:00
Mario Zechner 717a8f958a fix(ai): revert selective pi-ai base entrypoints 2026-06-22 12:54:32 +02:00
Armin Ronacher 329dceb5f3 Add [Unreleased] section for next cycle 2026-06-22 11:14:46 +02:00
Armin Ronacher 8e1900666f Release v0.79.10 2026-06-22 11:14:43 +02:00
Armin Ronacher b4f31408b6 Add [Unreleased] section for next cycle 2026-06-20 22:15:40 +02:00
Armin Ronacher 615bf2f874 Release v0.79.9 2026-06-20 22:15:37 +02:00
Vegard Stikbakke 1287b69fe0 fix(coding-agent): run legacy WSL bash commands via stdin
closes #5893
2026-06-19 15:08:25 +02:00
Armin Ronacher 56b22768db Add [Unreleased] section for next cycle 2026-06-19 09:53:45 +02:00
Armin Ronacher 8eb9704b3e Release v0.79.8 2026-06-19 09:53:43 +02:00
Armin Ronacher 74677bbfbf docs: audit unreleased changelogs 2026-06-19 09:45:03 +02:00
Armin Ronacher ea65a51a15 fix: update vulnerable dependencies 2026-06-19 00:43:44 +02:00
Fred K. Schott 0d89a33373 feat(packages): Add selective pi-ai base entrypoints (#5348) 2026-06-19 00:41:49 +02:00
Armin Ronacher 788a044483 Add [Unreleased] section for next cycle 2026-06-18 18:22:10 +02:00
Armin Ronacher c4ab61dcbf Release v0.79.7 2026-06-18 18:22:07 +02:00
Armin Ronacher 12bb8dd2c9 Add [Unreleased] section for next cycle 2026-06-16 23:59:17 +02:00
Armin Ronacher 31bfb2f16f Release v0.79.6 2026-06-16 23:59:14 +02:00
Armin Ronacher 0b0b9eae62 Add [Unreleased] section for next cycle 2026-06-16 19:54:26 +02:00
Armin Ronacher 6561cb293b Release v0.79.5 2026-06-16 19:54:23 +02:00
Armin Ronacher 1aa3c02d56 Add [Unreleased] section for next cycle 2026-06-15 10:28:24 +02:00
Armin Ronacher bba6af2c71 Release v0.79.4 2026-06-15 10:28:21 +02:00
Armin Ronacher b15148fe37 Add [Unreleased] section for next cycle 2026-06-13 11:11:14 +02:00
Armin Ronacher f2585c4c82 Release v0.79.3 2026-06-13 11:11:11 +02:00
Armin Ronacher 032c01c1e1 Add [Unreleased] section for next cycle 2026-06-13 00:25:18 +02:00
Armin Ronacher f21f3c4bbd Release v0.79.2 2026-06-13 00:25:15 +02:00
Armin Ronacher daab056ac1 fix(agent): ignore late tool progress updates
closes #5573
2026-06-12 18:59:32 +02:00
Mario Zechner 827fe1e2c4 feat(ai): ImagesModels collections mirroring the chat-side design
createImagesModels()/ImagesProvider/createImagesProvider() give image
generation the same shape as chat: sync model reads, explicit async
refresh(provider?) with in-flight dedupe, provider-resolved auth, and
never-rejecting generateImages() (failures return AssistantImages with
stopReason error). Auth resolution is shared with the chat side via the
free-standing resolveProviderAuth() in auth/resolve.ts, which also owns
ModelsError; both collections pass their store/context as arguments.

The OpenRouter implementation moves to api/openrouter-images.ts with a
lazy wrapper; openrouterImagesProvider() factory plus
builtinImagesProviders()/builtinImagesModels() land in providers/all.
The ImagesProvider id type alias is renamed to ImagesProviderId
(mirror of Provider -> ProviderId). The old global image API
(getImageModel*, generateImages, registerImagesApiProvider) stays on
/compat, its registration shim repointed at the moved implementation.

README: Quick Start uses builtinModels(), the full streaming event
switch, image generation and the development checklist are restored in
full, image generation documents the new collections with compat noted
for the old API, plus the review fixes (builtinModels options,
credential-store mention for browsers, ImagesModels notes).
2026-06-11 00:27:43 +02:00
Mario Zechner 6e98573f24 feat(ai): sync model reads, explicit async refresh
Provider.getModels() is sync-only (last-known list; must not throw) with
an optional refreshModels() where dynamic providers fetch. The
sync-or-async union invited latent sync assumptions that would detonate
on the first dynamic provider; async-only reads would force sync
consumer surfaces (extension find/getAll) through Promises. Sync reads
plus an explicit refresh verb keeps the contract single and the
staleness visible.

Models.getModels()/getModel() are sync best-effort reads;
Models.refresh(provider?) rejects with ModelsError(model_source) for a
single provider and is concurrent best-effort across all providers.
createProvider() takes a models array plus an optional refreshModels
fetcher (stored on success, in-flight calls deduped, list unchanged on
rejection). forceRefresh options are gone.

Also finishes the in-progress AuthStorage fallbackResolver removal
(drops the now-unused includeFallback option from getApiKey).
2026-06-10 23:30:04 +02:00
Mario Zechner 9ab1292679 feat(agent): Models is the harness's only auth path
Remove AgentHarnessOptions.getApiKeyAndHeaders: turn streaming,
compaction, and branch summarization resolve auth exclusively through
the injected Models instance. compact()/generateSummary()/
generateBranchSummary() lose their explicit apiKey/headers parameters.
2026-06-10 21:39:13 +02:00