Commit graph

4578 commits

Author SHA1 Message Date
Christian Klotz
fec371a33f
feat(coding-agent): add client capability binding experiments 2026-07-24 23:34:15 +03: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
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
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
David Brailovsky
da8dd87260 fix(coding-agent): resolve bracketed scoped model ids as literals
fixes #6210
2026-07-23 08:23:24 +00:00
Armin Ronacher
9b3a205917 fix(coding-agent): isolate summarization requests 2026-07-22 23:54:57 +02:00
Armin Ronacher
ecb9410c5c fix(coding-agent): let manual updates bypass skip check
closes #6977
2026-07-22 20:53:35 +02:00
Armin Ronacher
bb3d7d399c
feat(coding-agent): expose session metadata to bash tools (#6967) 2026-07-22 20:15:02 +02:00
David Brailovsky
c55ae2faa5
fix(coding-agent): display path of sibling dependent extensions (#6964)
fixes: #6619
2026-07-22 16:08:21 +02:00
Christian Klotz
75e6123aba
fix(coding-agent): speed up external editor launch (#6903)
Some checks are pending
CI / build-check-test (push) Waiting to run
* fix(coding-agent): speed up external editor launch

Fixes #6774

* refactor(coding-agent): clarify external editor handling

* refactor(coding-agent): simplify external editor result

* refactor(coding-agent): model external editor lifecycle

* fix(coding-agent): rename external editor test fake

* fix(coding-agent): secure external editor temp files

* fix(coding-agent): simplify external editor temp path

* fix(coding-agent): restore system temp editor files
2026-07-22 15:49:01 +02:00
Saryev Rustam
7b52cef2e6
feat(ai): add OpenRouter OAuth support (#6927)
Closes #6814
2026-07-22 15:48:39 +02:00
David Brailovsky
fe42ba5b38
write tui debug/crash logs into the configured pi agent dir (#6958)
fixes #6652
2026-07-22 15:48:25 +02:00
Mario Zechner
346c85473d Merge branch 'agent-harness-tools' 2026-07-22 15:36:28 +02:00
Mario Zechner
e32c1491b5 feat(agent): align harness execution tools 2026-07-22 15:36:06 +02:00
Armin Ronacher
5dc40fee33 feat(ai): derive generated model types from JSON 2026-07-22 13:13:36 +02:00
David Brailovsky
906b40a753
Merge pull request #6955 from earendil-works/fix/handle-openai-previous-response-not-found-error
handle openai websocket previous_response_not_found error
2026-07-22 12:41:58 +02:00
David Brailovsky
c5dcb26000 handle openai websocket previous_response_not_found error
fixes #6931
2026-07-22 10:26:24 +00:00
Mario Zechner
2d0b2294cd feat(agent): merge main into agent-harness-tools 2026-07-22 11:56:35 +02:00
Matthew
bc41f612da
fix(ai): cache OpenRouter tool results
closes #6940
2026-07-22 11:48:33 +02:00
Mario Zechner
6f95a33888 fix(ai): enable cache control for OpenRouter aliases
closes #6940
2026-07-22 11:46:21 +02:00
Christian Klotz
33e40c3e15
fix(ai): retry DNS transport failures (#6946)
Fixes #6904
2026-07-22 11:26:19 +02:00
zay
a5afc3f171
feat(ai): add Kimi Code subscription OAuth login (#6935)
Add a device authorization grant flow (RFC 8628) for the kimi-coding
provider, mirroring the official Kimi Code CLI: device authorization and
token polling against https://auth.kimi.com, refresh-token rotation with
retry/backoff, and Bearer auth via toAuth headers. The provider now
offers 'Sign in with Kimi Code' alongside the existing KIMI_API_KEY
auth. Host is overridable via KIMI_CODE_OAUTH_HOST / KIMI_OAUTH_HOST.

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-07-22 08:35:03 +02:00
David Brailovsky
1ae064099c
generate-models: use reasoning options from models.dev (#6928)
* generate-models: use reasoning options from models.dev

* fix tests
2026-07-22 08:33:34 +02:00
Mario Zechner
dd6bea41ef Add [Unreleased] section for next cycle 2026-07-21 18:40:11 +02:00
Mario Zechner
20be4b18d4 Release v0.81.1 2026-07-21 18:40:08 +02:00
Mario Zechner
b9e5c5d941 fix(agent): restore streamFn extension compatibility
Keep streamFn required for typed callers while preserving the legacy runtime fallback for extensions that omit it.\n\nfixes #6915
2026-07-21 18:37:07 +02:00
Armin Ronacher
b142504125 fix(coding-agent): defer catalog refresh until after TUI startup 2026-07-21 18:25:38 +02:00
Armin Ronacher
a82289637b feat(ai): add new Gemini generated models 2026-07-21 18:25:27 +02:00
David Brailovsky
7540da4016 add docs for new event types 2026-07-21 15:40:11 +00:00