Commit graph

554 commits

Author SHA1 Message Date
Christian Klotz
4abc08a8b3
feat(coding-agent): add server session backend
Add durable coding-agent session runtimes with locking, protocol projection, and JSONL persistence. Remove the obsolete legacy server implementation and dependency cycle.
2026-08-03 21:20:17 +03:00
Christian Klotz
a3ec51d2a1
feat: add remote session client coordination 2026-08-01 02:05:49 +03:00
Christian Klotz
2e60d3cbdf
feat(server): add composable protocol server 2026-07-31 17:32:29 +03:00
Christian Klotz
33bc0a7b83
feat(client): add runtime-neutral session client
Split harness shutdown initiation from settlement so callbacks can request shutdown without deadlocking active work.
2026-07-31 12:19:19 +03:00
Mario Zechner
9786716d4d fix(coding-agent): update vulnerable brace-expansion
closes #7316
2026-07-31 10:36:02 +02:00
Christian Klotz
56eb685b69
feat(protocol): add remote session wire protocol 2026-07-30 21:45:58 +03:00
Armin Ronacher
845d6ff1f6 Release v0.83.0 2026-07-30 00:24:19 +02:00
Petr Houška
f9476a61e5
fix(ai): update TypeBox nullable array validation (#7243)
Bump TypeBox to 1.3.7 so compiled validators guard array-specific keywords when null is accepted, and cover tool-argument validation with a regression test.

Breaking for extensions: TypeBox 1.3 removes deprecated APIs including Type.Base, Type.Awaited, Type.Promise, Type.AsyncIterator, Type.Iterator, Type.Options, and Value.Mutate. Extensions using these through Pi's bundled TypeBox aliases must migrate to supported TypeBox APIs.

Fixes #7003
2026-07-29 10:31:07 +02:00
Christian Klotz
4b8accab8b fix(coding-agent): simplify eval normalization 2026-07-25 23:47:07 +03:00
Christian Klotz
73c1696d95 fix(coding-agent): use focused eval harness 2026-07-25 23:34:20 +03:00
Christian Klotz
66fbdb1c59 feat(coding-agent): add extension creation eval 2026-07-25 23:09:22 +03: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
Christian Klotz
eafe11fb94
feat(coding-agent): add vitest eval harness (#7085) 2026-07-25 08:22:32 +02:00
Armin Ronacher
083e616212 Release v0.82.0 2026-07-24 08:00:31 +02:00
Armin Ronacher
ec1a87e856 fix(coding-agent): require protobufjs 7.6.5, closes #7005 2026-07-23 23:16:07 +02:00
Mario Zechner
2d0b2294cd feat(agent): merge main into agent-harness-tools 2026-07-22 11:56:35 +02:00
Mario Zechner
20be4b18d4 Release v0.81.1 2026-07-21 18:40:08 +02:00
Mario Zechner
37eb243d26 feat(agent): add AgentHarness execution tools 2026-07-21 17:03:28 +02:00
Mario Zechner
9c480b6ad2 Release v0.81.0 2026-07-21 15:28:05 +02:00
Mario Zechner
109c4125d2 feat(agent): prepare SQLite storage package for publishing 2026-07-21 14:13:14 +02:00
Cristina Poncela Cubeiro
8495f9d0d6
chore: rename orchestrator to server (#6898) 2026-07-21 13:32:42 +02:00
Cristina Poncela Cubeiro
9e7582aa03
feat: sqlite session storage (#6594)
This PR:

- Adds retainedTail to compaction entries in the new agent harness so we don't have to walk up the tree for the 2000 tokens before compaction,
- Changes getPathToRoot to getPathToRootOrCompaction to only load until last compaction, as unnecessary to access all nodes where it is called,
- Adds a SQLite storage backend, in a separate packages/session-backend-sqlite, with a migration system and schemas as per on-site discussions: sessions to match session header messages (except for metadata, which I couldn't understand what it's used for or where it gets written, so I omitted it), session_entries for shared entry types as columns plus payload as a json for what remains, session_sequences to represent the append-only, serialized nature of the jsonl files, branch_entries to attribute nodes to branches (relationship one-to-many), and session_materialized with the session info (see /session in TUI) to act as a "cache" or quick-access for costs, message count, token info, labels, session name, and model-thinking-level config (e.g. for fast resume).
- This is compatible with the new agent harness Session abstraction.
2026-07-21 11:36:31 +02:00
David Brailovsky
31dc078bf8 update brace-expansion version 2026-07-21 06:07:44 +00:00
Armin Ronacher
8dc78834cd Release v0.80.10 2026-07-16 23:59:41 +02:00
Armin Ronacher
2d16f92973 Release v0.80.9 2026-07-16 19:17:57 +02:00
David Brailovsky
fae7176cb9 Release v0.80.8 2026-07-16 16:35:16 +02:00
Armin Ronacher
818d67457c Release v0.80.7 2026-07-14 18:36:46 +02:00
Armin Ronacher
2b3fda9921 Release v0.80.6 2026-07-10 01:16:55 +02:00
Armin Ronacher
cc62baa442 Release v0.80.5 2026-07-09 21:04:06 +02:00
Armin Ronacher
912d0953f6 Release v0.80.4 2026-07-09 20:52:57 +02:00
Mario Zechner
a23abe4a69 Release v0.80.3 2026-06-30 22:29:41 +02:00
Cristina Poncela Cubeiro
87ad8243cb
feat(experimental): pi orchestrator 2026-06-26 13:46:22 +02:00
Cristina Poncela Cubeiro
0760bbae9b fix: lockfile drift 2026-06-26 13:30:29 +02:00
Cristina Poncela Cubeiro
988990f1c2 fix: lockfile drift 2026-06-26 13:12:43 +02:00
Mario Zechner
1d48616328 Fix examples, update to latest undici for vuln fix
Some checks are pending
CI / build-check-test (push) Waiting to run
2026-06-25 16:01:07 +02:00
Cristina Poncela Cubeiro
7e6e59b6e4 fix: stale version 2026-06-25 09:59:53 +02:00
Cristina Poncela Cubeiro
be64062f97
Merge branch 'main' into feat/pi-orchestrator 2026-06-25 09:53:29 +02:00
Cristina Poncela Cubeiro
0563baa51d feat: add experimental orchestrator package metadata 2026-06-25 09:51:21 +02:00
Armin Ronacher
0201806adf Release v0.80.2 2026-06-23 23:45:36 +02:00
Armin Ronacher
1c4a9ba7c8 Release v0.80.1 2026-06-23 20:04:09 +02:00
Armin Ronacher
828493b37c fix(ai): unblock release provider tests 2026-06-23 19:57:29 +02:00
Armin Ronacher
f08e968c83 Release v0.80.0 2026-06-23 19:30:32 +02:00
Armin Ronacher
8e1900666f Release v0.79.10 2026-06-22 11:14:43 +02:00
Armin Ronacher
615bf2f874 Release v0.79.9 2026-06-20 22:15:37 +02:00
Armin Ronacher
8eb9704b3e Release v0.79.8 2026-06-19 09:53:43 +02:00
Armin Ronacher
ea65a51a15 fix: update vulnerable dependencies 2026-06-19 00:43:44 +02:00
Armin Ronacher
651d10d90b feat(ai): enable Mistral prompt caching 2026-06-18 23:47:25 +02:00
Armin Ronacher
c4ab61dcbf Release v0.79.7 2026-06-18 18:22:07 +02:00
Armin Ronacher
31bfb2f16f Release v0.79.6 2026-06-16 23:59:14 +02:00