Commit graph

5336 commits

Author SHA1 Message Date
Armin Ronacher
1dac099022 fix(agent): derive short session entry ids from the uuidv7 random tail (closes #6242)
The uuidv7 prefix is timestamp-derived and nearly constant between calls, so slicing the first 8 chars degenerated short ids to full-UUID fallbacks. Regression from 80c918c2 which replaced randomUUID with uuidv7.
2026-07-05 23:35:53 +02:00
Armin Ronacher
478301342b test: use quiet dot reporters and show output only for failing tests
Switch vitest packages (ai, agent, coding-agent) to the dot reporter
with silent: passed-only so passing tests stay quiet while failing
tests still print their console output and full diffs. Add the
github-actions reporter on CI for inline annotations. Switch the tui
node:test runner to the dot reporter as well.
2026-07-05 23:17:17 +02:00
Armin Ronacher
75ac0cb0e6 fix(coding-agent): stabilize auto-compaction threshold test 2026-07-05 23:14:10 +02:00
Armin Ronacher
604ac652d0 fix: CI 2026-07-05 22:45:18 +02:00
Armin Ronacher
035ea9c856 fix: remove redundant record guards 2026-07-05 18:55:09 +02:00
Vegard Stikbakke
ee24a9ec54 feat(ai): refresh generated model catalogs
Some checks failed
CI / build-check-test (push) Has been cancelled
closes #6256
2026-07-04 06:27:58 +02:00
Armin Ronacher
a1b336d73e fix(coding-agent): allow extra edit replacement fields 2026-07-04 01:52:17 +02:00
Vegard Stikbakke
d53b567601 fix(ai): retry Cloudflare 524 timeouts
closes #6239
2026-07-03 23:03:35 +02:00
Vegard Stikbakke
8133c94db9 fix(ai): honor server-provided slow_down interval in device-code polling
GitHub's device flow documents slow_down as a rate limit: a poll that
arrives inside the throttle window is answered with slow_down instead of
the token, and the response's interval field reports the new required
minimum ("adds 5 seconds to the last interval"). A client that only
tracks its own +5s increment can stay behind the server's ratcheting
requirement when its timers fire early - common with WSL/VM clock drift
(microsoft/WSL#10006) - so every subsequent poll keeps hitting the rate
limit and login appears to hang forever even after the browser reports
the device as authorized.

Adopt the server-provided interval when a slow_down poll result carries
one, falling back to the RFC 8628 section 3.5 +5s increment otherwise.
GitHub Copilot passes the interval field through.

This restores part of the #1994 mitigations that were lost in the #4788
device-code refactor.

refs #6187
2026-07-03 22:26:12 +02:00
Vegard Stikbakke
23d1462611 fix(ai): rotate stale Codex websocket sessions
closes #6268
2026-07-03 15:30:41 +02:00
Vegard Stikbakke
83cbfc6521 fix(coding-agent): remove Vercel AI Gateway attribution 2026-07-03 15:14:01 +02:00
Raj
4a9c962b59
fix(coding-agent): add pnpm self-update prune hint (#6279)
Some checks are pending
CI / build-check-test (push) Waiting to run
Adds a pnpm-specific self-update recovery hint when pi update fails during self-update.
Fixes #6215.
2026-07-03 12:58:35 +02:00
github-actions[bot]
c9715af358 chore: approve contributor rajp152k 2026-07-03 08:59:15 +00:00
Vegard Stikbakke
21cb3807e7 fix(ai): detect DS4 context overflow errors
closes #6262
2026-07-02 20:39:49 +02:00
Vegard Stikbakke
114bacf349 fix(ai): enable Bedrock prompt caching for Claude 5
Some checks are pending
CI / build-check-test (push) Waiting to run
closes #6235
2026-07-02 11:00:20 +02:00
Vegard Stikbakke
ca09b2b1a8 fix(coding-agent): skip unauthenticated default model
closes #6231
2026-07-02 10:48:11 +02:00
Vegard Stikbakke
6757561546 fix(coding-agent): abort stuck context hooks
closes #6234
2026-07-02 10:02:32 +02:00
github-actions[bot]
9f91da2145 chore: approve contributor xz-dev 2026-07-02 08:01:30 +00:00
Vegard Stikbakke
ec857fece5 fix(coding-agent): set executionMode: sequential on question example tool
The question extension tool blocks on ctx.ui.custom() but omitted
executionMode, so multiple question calls in one assistant turn ran
under the default parallel mode and raced on the editor slot. Only the
last question rendered; earlier calls hung pending forever.

Set executionMode: "sequential" so the agent loop serializes the
batch. Wrappers already propagate the field to the core.

closes #6189
2026-07-02 09:01:15 +02:00
github-actions[bot]
45c0fe7833 chore: approve contributor cyzlmh 2026-07-02 06:35:24 +00:00
Vegard Stikbakke
e285e90fdb fix(ai): remove Copilot Sonnet 5 fallback in generate-models 2026-07-01 23:01:33 +02:00
Vegard Stikbakke
f8bec25f34 fix(coding-agent): surface auth storage save failures
closes #6223
2026-07-01 21:24:26 +02:00
Vegard Stikbakke
f58c115626 fix(coding-agent): serialize split-turn compaction summaries
closes #5536
2026-07-01 15:37:00 +02:00
Vegard Stikbakke
e2ccdc8509 fix(ai): delay Copilot device-code token polling
closes #6187
2026-07-01 13:48:11 +02:00
Mario Zechner
ba10b60b51 fix(coding-agent): add entry renderers for session entries 2026-07-01 11:30:26 +02:00
Vegard Stikbakke
8c9436407c fix(ai): remove stale model metadata fallbacks
Some checks are pending
CI / build-check-test (push) Waiting to run
2026-07-01 10:53:09 +02:00
Vegard Stikbakke
1da1cdb2fb chore(ai): regenerate models
Picked up upstream models.dev/OpenCode catalog drift while
regenerating for the Fireworks GLM 5.2 Fast fix: Cloudflare AI Gateway
and OpenCode gain Claude Sonnet 5; OpenCode gains Kimi K2.7 Code and
MiniMax-M3; MiniMax model name formatting normalized to MiniMax-Mx.x.
2026-07-01 10:35:38 +02:00
Vegard Stikbakke
844d175eaf fix(ai): align Fireworks GLM 5.2 Fast with GLM 5.2
Broaden the Fireworks GLM 5.2 special-case in generate-models.ts from
an exact id match to a glm-5p2 substring match, so the router variant
accounts/fireworks/routers/glm-5p2-fast also uses the OpenAI-compatible
endpoint and thinkingLevelMap instead of falling back to the default
Anthropic Messages config.

closes #6195
2026-07-01 10:34:46 +02:00
Vegard Stikbakke
040f0a5197 feat(coding-agent): expose model resolution helpers
closes #6201
2026-07-01 10:22:35 +02:00
Vegard Stikbakke
1d061b3f45 fix(ai): remove stale model metadata fallbacks 2026-07-01 10:03:26 +02:00
Vegard Stikbakke
4206376410 feat(ai): add Copilot Claude Sonnet 5
closes #6200
2026-07-01 09:57:04 +02:00
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
Vegard Stikbakke
0ac3cfe09b feat(ai): use zstd compression for codex sse transport 2026-07-01 08:42:46 +02:00
Vegard Stikbakke
a3cc169d97 fix(ai): avoid codex user-agent race
The Codex provider previously loaded node:os asynchronously during module evaluation. A fresh process that imports the provider and immediately starts an SSE request can build headers before that promise callback runs, so the first request reports User-Agent: pi (browser) in Node/Bun.

Reproduced against parent fd6659dd with a stubbed-fetch harness: 50/50 immediate first requests reported pi (browser) in both Node and Bun. The same harness on this fix reports the OS-specific user agent 50/50 in both runtimes.

Use process.getBuiltinModule("node:os") behind the existing Node/Bun runtime guard so OS metadata is available synchronously while still avoiding top-level runtime Node builtin imports that break browser/Vite builds.
2026-07-01 08:41:38 +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
f98a154d87 docs: audit changelog entries 2026-06-30 22:24:42 +02:00
Mario Zechner
5c1a2977bc fix(ai): update generated model catalogue 2026-06-30 22:12:48 +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
9be55bc773 fix(coding-agent): apply output padding to user messages
Some checks failed
CI / build-check-test (push) Has been cancelled
closes #6168
2026-06-30 11:55:40 +02:00
Alexey Zaytsev
6564d94717
feat(coding-agent): add configurable assistant output padding
Closes #6168
2026-06-30 11:44:34 +02:00
Mario Zechner
2117b61c6b fix(coding-agent): handle undici mid-stream client errors
closes #6133
2026-06-30 11:44:14 +02:00
Mario Zechner
939c39ab84
Merge pull request #6175 from xl0/session-info-changed
fix(coding-agent): emit session name changes to extensions
2026-06-30 11:35:20 +02:00
Vegard Stikbakke
3d6acb37b9 fix(ai): regenerate model catalog
Includes updated Xiaomi MiMo pricing from models.dev. Closes #6138
2026-06-30 08:33:18 +02:00
Alexey Zaytsev
726a9c526c fix(coding-agent): emit session name changes to extensions 2026-06-30 00:40:15 -05:00
Mario Zechner
927e98068c fix(coding-agent): fix compaction event regression test 2026-06-29 17:12:19 +02:00
Mario Zechner
6fbeba51af
Merge pull request #5832 from stephanmck/fix/provider-error-body-passthrough-5763
fix(ai): surface provider HTTP error body instead of opaque SDK message
2026-06-29 16:58:24 +02:00
Mario Zechner
5d499272a8 fix(coding-agent): stabilize interactive status indicators
Closes #6026
2026-06-29 16:53:39 +02:00