Commit graph

7333 commits

Author SHA1 Message Date
Cristina Poncela Cubeiro
d3ab2af969
fix: track kimi cached tokens (#8119)
* fix: track kimi cached tokens

* changelog
2026-08-16 17:48:06 +02:00
Milosz Jankiewicz
70e878d4cf
feat(ai): route xAI models through Responses and default to Grok 4.6 (#8124)
* feat(ai): route xAI models through Responses and default to Grok 4.6

Send built-in xAI catalog models through the Responses API with
store: false and include reasoning.encrypted_content so encrypted
reasoning is requested and replayed, including future models.dev
additions. Thinking levels come from models.dev reasoning_options
(grok-4.6 exposes xhigh); models without verified options
(grok-build-0.1) keep reasoning always on and never send unsupported
"none"/"minimal" efforts. Narrow the xAI provider to the Responses API,
send pi's runtime User-Agent on xAI requests for provider-side
attribution, and make Grok 4.6 the default xAI model.

* fix(ai): drop duplicate xAI encrypted-reasoning tests

Azure already covers the shared replay path; keep the xAI-specific include-without-effort case next to the existing request tests.

---------

Co-authored-by: Jaaneek <Jaaneek@users.noreply.github.com>
2026-08-16 17:47:38 +02:00
Christian Klotz
497faecc6d
feat(protocol): add Harness wire DTOs 2026-08-16 12:48:59 +03:00
Armin Ronacher
65ec9453bc feat(coding-agent): add demand-driven experimental servers 2026-08-16 09:56:49 +02:00
Mario Zechner
5030a5f534 feat(agent): add runtime2 harness config 2026-08-16 01:55:51 +02:00
Mario Zechner
d5d656d4ec feat(agent): add runtime2 lane creation 2026-08-16 01:23:28 +02:00
Mario Zechner
0697589ac0 fix(agent): tighten runtime2 harness boundaries 2026-08-16 01:02:53 +02:00
Mario Zechner
1f76f7c150 feat(agent): centralize runtime2 lane commands 2026-08-16 00:50:56 +02:00
Mario Zechner
a491940170 feat(agent): finalize runtime2 lane transitions 2026-08-15 23:44:44 +02:00
Mario Zechner
f18d523d4e feat(agent): add runtime2 fault propagation 2026-08-15 23:29:36 +02:00
Mario Zechner
980edc9d2b docs(agent): document runtime2 close propagation 2026-08-15 23:16:09 +02:00
Mario Zechner
94787f1aa2 docs(agent): clarify runtime2 close admission 2026-08-15 23:15:00 +02:00
Mario Zechner
67523509ea docs(agent): explain runtime2 close admission 2026-08-15 23:12:52 +02:00
Mario Zechner
f9706fc40e feat(agent): add runtime2 close boundary 2026-08-15 23:07:00 +02:00
Mario Zechner
e482ffd172 feat(agent): add runtime2 lane configuration 2026-08-15 22:54:59 +02:00
Mario Zechner
71117ceb73 feat(agent): implement runtime2 harness facade 2026-08-15 22:46:02 +02:00
Mario Zechner
8f31282be6 feat(agent): add inert runtime2 shell 2026-08-15 22:20:06 +02:00
Mario Zechner
1267b4cd2c feat(agent): serialize runtime2 lane transitions 2026-08-15 22:13:36 +02:00
Mario Zechner
258668cf4c feat(agent): start lane-owned harness runtime 2026-08-15 21:45:14 +02:00
Mario Zechner
d87b2b5c21 Merge branch 'dev' of https://github.com/earendil-works/pi into dev 2026-08-15 20:38:16 +02:00
Mario Zechner
1ae13eb789 feat(coding-agent): separate remote plugin app fixture 2026-08-15 20:35:43 +02:00
Mario Zechner
d1a569a791 feat(agent): organize AgentHarness runtime by protocol 2026-08-15 20:35:24 +02:00
Armin Ronacher
312c5bd700 fix(coding-agent): launch internal processes portably 2026-08-15 15:51:37 +02:00
Armin Ronacher
9ad77a2c6b fix: remove redundant hidden Unix socket entries 2026-08-15 12:26:28 +02:00
Armin Ronacher
5876bc49f9 feat(coding-agent): isolate coordinators by server ID 2026-08-15 12:20:05 +02:00
Armin Ronacher
d96144c6a3 feat(coding-agent): make server directory configurable
Place the server profile and all Unix sockets under PI_SERVER_DIR, defaulting to ~/.pi/server. Keep test sockets isolated through the same override.
2026-08-15 12:06:59 +02:00
Armin Ronacher
8dce5da769 feat(coding-agent): coordinate replaceable servers and workers
Keep the stable socket in an opaque detached coordinator while server processes own detached worker discovery and lifecycle. Remove the public drain RPC in favor of server replacement through coordinator routing.
2026-08-15 11:49:53 +02:00
Vegard Stikbakke
086c32e745 fix(ai): retry Copilot GET /models once on 429 during login
The login-time policy updates can drain the Copilot API rate-limit
bucket, in which case the follow-up GET /models is rejected with 429
(observed response: retry-after: 2, body 'too many requests') and login
aborts. Honor Retry-After and retry once instead of failing (#8121).
2026-08-15 07:33:05 +02:00
Vegard Stikbakke
d5278eaac3 fix(ai): enable Copilot model policies sequentially during login
Batching policy POSTs at concurrency 4 still bursts 30 requests during
login, which trips the Copilot API rate limiter and makes the following
GET /models fail with 429, aborting login (#8121). Send the policy
updates one at a time instead.
2026-08-15 07:24:34 +02:00
Christian Klotz
33eef6d1c6
test(coding-agent): read worker metadata in fixture 2026-08-15 01:09:57 +03:00
Christian Klotz
b35b4e0e48
feat(coding-agent): host durable sessions in workers 2026-08-15 01:09:57 +03:00
Christian Klotz
95d74e8c6b
feat(server): pass session metadata to harness hosts 2026-08-15 01:08:12 +03:00
Christian Klotz
ef93d9292e
feat(coding-agent): configure experimental server session directory 2026-08-15 01:05:27 +03:00
Mario Zechner
7d367c429f Merge remote-tracking branch 'origin/dev' into dev 2026-08-14 23:27:30 +02:00
Mario Zechner
d411d7b05e feat(agent): add AgentHarness R4 tool execution 2026-08-14 23:26:56 +02:00
Armin Ronacher
80b6797c92 feat: rename service IDs to server IDs
Use canonical lowercase UUIDv4 serialization and generate launcher IDs with randomUUID().
2026-08-14 23:25:56 +02:00
Mario Zechner
a606448360 feat(agent): add AgentHarness R3 generation recovery 2026-08-14 20:14:02 +02:00
Mario Zechner
4cb81e2bd9 feat(coding-agent): simplify remote plugin services 2026-08-14 16:45:14 +02:00
Mario Zechner
d458bfc073 docs(agent): add slice-specific harness scratch examples 2026-08-14 16:26:47 +02:00
Mario Zechner
908ae3f018 fix(agent): normalize assistant request action name 2026-08-14 16:22:43 +02:00
Mario Zechner
434332dce8 Merge remote-tracking branch 'origin/dev' into dev 2026-08-14 16:18:42 +02:00
Mario Zechner
1d882a7eca feat(agent): add AgentHarness R2 minimal run 2026-08-14 16:18:33 +02:00
Christian Klotz
9fcaac9b1a
fix: use bounded runtime paths for Unix sockets 2026-08-14 17:02:03 +03:00
Armin Ronacher
bf68c783a9 feat: remove unused experimental protocol surface 2026-08-14 15:56:09 +02:00
David Brailovsky
95e3765ade fix(agent): reserve JSONL session destinations
Coordinate create and fork operations by cwd and session ID so only the first caller can publish a destination.

Split destination-reservation conformance from active-source snapshot coordination.
2026-08-14 15:53:51 +02:00
github-actions[bot]
b1efcf7d7c chore: approve contributors from issue #8124 2026-08-14 13:46:34 +00:00
Mario Zechner
71026970a0 feat(tui): add reusable mouse interaction support 2026-08-14 15:26:27 +02:00
Mario Zechner
19fbf94110 Ignore preliminary docs 2026-08-14 15:25:32 +02:00
David Brailovsky
fd8380f323 feat(agent): add JSONL session forking
Extract shared fork snapshot planning from the memory repository and use it to atomically publish JSONL branch and tree forks.

Split fork conformance into behavior and coordination cases so JSONL runs its currently supported behavior.
2026-08-14 15:23:42 +02:00
Mario Zechner
cd8bedcf75 feat(coding-agent): prototype remote plugin app 2026-08-14 14:57:38 +02:00