Commit graph

5116 commits

Author SHA1 Message Date
Armin Ronacher
cacfef4886 fix(coding-agent): preserve dialogs during editor updates 2026-07-26 18:22:26 +02:00
Armin Ronacher
6f6f5683e1 fix(coding-agent): persist explicit loadout resets 2026-07-26 16:00:33 +02:00
Armin Ronacher
a50ee9d1d0 docs(coding-agent): document session loadouts 2026-07-26 15:55:26 +02:00
Armin Ronacher
ef03c1328f fix(coding-agent): harden extension unload on reload 2026-07-26 15:44:38 +02:00
Armin Ronacher
6000b0170a feat(coding-agent): add interactive session loadouts 2026-07-26 15:35:27 +02:00
Armin Ronacher
c1bb15d19e feat(coding-agent): add session loadout state 2026-07-26 15:23:45 +02:00
Armin Ronacher
a8f8e49681 feat(coding-agent): rename config command to loadout 2026-07-26 15:15:44 +02:00
Armin Ronacher
5bc1c2c0a6 Add [Unreleased] section for next cycle
Some checks failed
CI / build-check-test (push) Has been cancelled
2026-07-25 14:37:15 +02:00
Armin Ronacher
b4f293684b Release v0.82.1 2026-07-25 14:37:11 +02:00
Armin Ronacher
6173017a7b fix: drop harness-pi-ai and its legacy registry aliases from evals
The harness declared peer deps on the pre-rename @mariozechner/pi-ai and
@mariozechner/pi-agent-core names, so npm auto-installed our own code from the
registry under an alias. sync-versions bumped those aliases in lockstep, which
made every release fail because the new version is not published yet.

Build the eval harness on createHarness from vitest-evals core instead. The
pi-specific code was already ours; the harness only contributed agent-lifecycle
plumbing and unused tool replay.
2026-07-25 14:36:32 +02:00
Armin Ronacher
62a7074188 docs: audit changelogs for commits since v0.82.0
Add missing entries for the llama.cpp catalog cache and resource loader
directory fix, duplicate ai-side changes into coding-agent, add missing
external PR attributions, restore the 0.82.0 section that was modified
after release, and add the New Features section.
2026-07-25 14:09:45 +02:00
Duncan Ogilvie
58c0bc2fba
fix(coding-agent): exclude directories from resource loader (#7106)
This fixes the following warning:

Warning: Could not read /Users/duncan/Projects/AGENTS.md: Error: EISDIR: illegal operation on a directory, read
2026-07-25 14:05:16 +02:00
Armin Ronacher
b711e26616 fix: stop issue analysis from reporting failed runs as finished
Only comment the analysis summary when the pi run succeeded, add an explicit
failure comment, skip unchanged auth secret writes, and document that
PI_AUTH_UPDATE_TOKEN needs the Environments permission.
2026-07-25 12:41:22 +02:00
Armin Ronacher
4cf0a729c4 fix(ai): keep the underlying cause in ModelsError messages
Auth failures surfaced only the wrapper text, so CI logs showed a bare
"OAuth refresh failed for openai-codex" with no provider response.
2026-07-25 12:41:15 +02:00
Armin Ronacher
b1c444d956 feat(coding-agent): revalidate remote model catalogs with ETag 2026-07-25 12:26:19 +02:00
Alexey Zaytsev
518855dd50
feat(coding-agent): expose output padding to custom renderers (#7045)
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-07-25 08:29:34 +02:00
David Brailovsky
2a2b0a39f0
fix(coding-agent): cache llama.cpp model catalog (#7072) 2026-07-25 08:27:05 +02:00
Burak Varlı
af3b934fa6
feat(ai): support Claude Opus 5 on Bedrock (#7081) 2026-07-25 08:25:23 +02:00
Christian Klotz
eafe11fb94
feat(coding-agent): add vitest eval harness (#7085) 2026-07-25 08:22:32 +02:00
github-actions[bot]
440689dfc7 chore: approve contributors from issue #7078 2026-07-25 06:15:33 +00:00
Christian Klotz
a3ee1d286e
fix(coding-agent): expose unavailable scoped models (#7032)
* fix(coding-agent): expose unavailable scoped models

Keep missing configured models editable in the scoped-model selector. This fixes #6949.

* fix(coding-agent): reuse model scope diagnostics

* fix(coding-agent): classify model scope diagnostics
2026-07-25 07:19:56 +02:00
David Brailovsky
8eef62ed3e fix tests 2026-07-24 19:05:08 +00:00
David Brailovsky
921c354352
add opus-5 models settings (#7083) 2026-07-24 20:57:46 +02:00
David Brailovsky
7304d8f8af fix tests: use updated models 2026-07-24 18:52:56 +00:00
Armin Ronacher
a9f5b1c123 fix(ai): route Radius OAuth through gateway
Some checks are pending
CI / build-check-test (push) Waiting to run
2026-07-24 16:12:44 +02:00
Armin Ronacher
24e5cc04f4
fix(ai): support Anthropic bearer token env (#6148)
Fixes #5871
2026-07-24 15:13:22 +02:00
Armin Ronacher
7df73a00c6 Add [Unreleased] section for next cycle 2026-07-24 08:00:35 +02:00
Armin Ronacher
083e616212 Release v0.82.0 2026-07-24 08:00:31 +02:00
Armin Ronacher
e8d97fee1a feat(ai): update generated image models 2026-07-24 07:59:40 +02:00
Armin Ronacher
e16172069f docs(coding-agent): add model reload changelog entry 2026-07-24 07:56:05 +02:00
Armin Ronacher
f87468131f
fix(coding-agent): reload model config in picker (#7036) 2026-07-24 07:52:49 +02:00
Armin Ronacher
8472c486f4 docs(coding-agent): add missing clipboard changelog entry 2026-07-24 07:40:57 +02:00
Armin Ronacher
fc8048d237 fix(coding-agent): bundle model data in release source 2026-07-24 07:33:09 +02:00
Armin Ronacher
ee0dca45b4 docs: audit unreleased changelog entries 2026-07-24 07:33:09 +02:00
github-actions[bot]
edbf941dad chore: approve contributors from issue #7040 2026-07-24 05:07:50 +00:00
Shakti
2d3f555429
fix: await wl-copy exit code and fall through to xclip on failure (#7009)
The /copy command always set copied=true after spawning wl-copy without
awaiting its exit code. When wl-copy fails (e.g. in a sandboxed
environment that inherits WAYLAND_DISPLAY but not the socket), the
xclip/OSC 52 fallbacks never ran because copied was already true.

Fix: await the wl-copy spawn exit code and only claim success on exit
code 0. On failure, fall through to the x11 clipboard fallback.

Fixes #6872.
2026-07-24 06:58:37 +02:00
Armin Ronacher
24bace27cf
feat(ai): support constrained sampling (#6341)
Add the constrained sampling API and provider plumbing for OpenAI and Anthropic tool calls, including grammar sampling variants and model capability metadata.
2026-07-23 23:48:40 +02:00
Armin Ronacher
ec1a87e856 fix(coding-agent): require protobufjs 7.6.5, closes #7005 2026-07-23 23:16:07 +02:00
Christian Klotz
6abb4b0640
fix(coding-agent): use llama context for output limit (#7034)
Fixes #6994.
2026-07-23 23:06:03 +02:00
Thomas Mustier
241431c69b
fix(agent,ai): don't cache write compaction or branch summaries (#6618)
avoid cache writes for compaction and branch summaries

Co-authored-by: Armin Ronacher <armin.ronacher@active-4.com>
2026-07-23 23:03:23 +02:00
Petr Houška
249008144c
fix: target intended users in lgtm approvals (#7023)
Maintainers frequently direct lgtm at tagged users who volunteer on an issue, but approval previously applied to the issue or PR author. Mentioned users are now approval targets, with the author as the fallback.

Prose and examples can also contain lgtm without intending approval. Only treat lgtm or lgtmi at the start, after leading mentions, or at the end as commands. Process PR comments too, where approvals previously had no effect.
2026-07-23 22:49:16 +02:00
Christian Klotz
37bedb7f0b
fix(tui): truncate narrow editor scroll indicators (#7015)
Fixes #6962
2026-07-23 20:47:11 +02:00
David Brailovsky
65ff8e7f6d fix lint
Some checks are pending
CI / build-check-test (push) Waiting to run
2026-07-23 13:45:10 +00:00
David Brailovsky
ab55c15fbd
Merge pull request #7016 from earendil-works/fix/bundled-models-generated-time
fix bundled models generation time
2026-07-23 15:42:22 +02:00
David Brailovsky
bc3d364742 fix bundled models generation time
Fresh package installs could give bundled model catalog
files newer filesystem mtimes than the remote catalog’s Last-Modified timestamp,
causing Pi to ignore newer remote models.
Use the catalog’s recorded generation time instead of installation-dependent file metadata.
2026-07-23 13:34:51 +00:00
Anantha Kumaran
fc85bdd88b
feat(coding-agent): emit bash_execution_update events (#6971) 2026-07-23 12:28:12 +02:00
Petr Houška
7af8533c6f
fix(ai): make provider retries abortable (#6980)
Replace OpenAI and Anthropic SDK retries with local request retries that
preserve configured retry counts, enforce maxRetryDelayMs, and make retry
backoff interruptible through AbortSignal.

Alternatives considered: Racing SDK requests against AbortSignal would make
cancellation observable but would not let Pi enforce maxRetryDelayMs before
the SDK enters its retry sleep. Patching private SDK internals would be brittle,
while disabling provider retries entirely would ignore explicitly configured
maxRetries.

Also, align the custom OpenAI Codex retry loop with the documented
maxRetryDelayMs behavior. Oversized server-requested delays now fail immediately
instead of being clamped, allowing the visible, abortable agent-level retry
policy to handle the failure.

Fixes #6911
2026-07-23 12:25:37 +02:00
Christian Klotz
e66e3e588b
fix: isolate test environment (#6965) 2026-07-23 12:21:06 +02:00
github-actions[bot]
34f3719a94 chore: approve contributor christianbasch 2026-07-23 09:05:13 +00:00
David Brailovsky
da8dd87260 fix(coding-agent): resolve bracketed scoped model ids as literals
fixes #6210
2026-07-23 08:23:24 +00:00