Commit graph

412 commits

Author SHA1 Message Date
Armin Ronacher
16787ad5b2 Release v0.87.0 2026-09-21 18:31:52 +02:00
Armin Ronacher
13cbf77df2 Release v0.86.1 2026-09-20 13:04:11 +02:00
Armin Ronacher
ecac0a9c4e Release v0.86.0 2026-09-20 01:00:41 +02:00
Mario Zechner
46b66c59af feat(agent): add hardened pico3 kernel 2026-09-14 11:17:04 +02:00
Armin Ronacher
4a6ed01945
fix(coding-agent): update runtime dependencies (#9341) 2026-09-08 16:04:35 +02:00
Armin Ronacher
d981de1229 Release v0.85.1 2026-09-05 13:54:46 +02:00
Armin Ronacher
107d79f110 Release v0.85.0 2026-09-04 11:57:38 +02:00
Armin Ronacher
28b49a6b3b feat: add Chord runtime foundation 2026-08-29 14:54:19 +02:00
David Brailovsky
58ea6c0ba5 Merge remote-tracking branch 'origin/main' into dev 2026-08-29 08:21:44 +00:00
Armin Ronacher
b79e4cc834 Release v0.84.4 2026-08-28 23:56:03 +02:00
Mario Zechner
5507d76ee8 feat(agent,ai): add narrow subpath exports so clients skip the barrel
A barrel forces Node to evaluate its whole graph: importing reduceLaneSnapshot
(1 file, 6 KB) through pi-agent-core's index evaluated 106 files, and mini's
server loaded 112 files to enumerate JSONL headers. Types are free, so this only
ever affected value imports.

pi-ai gains ./utils/* alongside the existing ./providers/* and ./api/*
wildcards. pi-agent-core gains ./harness/context, ./harness/env/nodejs,
./harness/runtime/reducer and ./harness/session, and ./session/testing becomes
./harness/session/testing so every export mirrors its source path. The barrel
and ./node keep their batteries-included semantics.

The session layer takes uuidv7 from @earendil-works/pi-ai/utils/uuid rather than
the pi-ai barrel, which is what let ./harness/session drop from 42 files to 19.
Two imports there were written `import { type Usage } from` - not a type-only
statement, so it emitted a runtime import of the barrel.

scripts/check-entry-graphs.mjs walks each declared entry's value-import graph and
enforces per-entry budgets and forbidden paths, so a stray `export *` cannot
silently undo this. It caught the two `import { type ... }` regressions above.

Measured with mini: server 112 files and 98 MB to 28 files and 69 MB, presentation
204 files and 125 MB to 99 files and 110 MB. The worker still loads the provider
graph, correctly.
2026-08-26 22:02:31 +02:00
Armin Ronacher
c399e34658 feat: merge main into dev 2026-08-24 13:13:03 +02:00
Armin Ronacher
4e58f324fa Release v0.84.3 2026-08-24 12:50:48 +02:00
David Brailovsky
8798b7996d Merge remote-tracking branch 'origin/main' into dev 2026-08-24 07:50:17 +00:00
Armin Ronacher
f8f03460a0 fix: reduce workspace dependency tree 2026-08-23 09:28:19 +02:00
David Brailovsky
09fb0d157e Merge remote-tracking branch 'origin/main' into dev 2026-08-14 10:25:49 +00:00
David Brailovsky
914cf1472e Release v0.84.2 2026-08-14 12:00:00 +02:00
Christian Klotz
8718fbea77
feat(agent): add session storage benchmarks
Add reusable timing, loaded-footprint, and allocation workloads and runners. Index memory entries by sequence so limited scans can stop early.
2026-08-13 10:40:43 +03:00
Christian Klotz
b3bf0a2a81
feat(agent): add storage backend conformance suite 2026-08-12 00:22:30 +03:00
Mario Zechner
5aeb06bb11 feat(agent): establish durable harness type contracts 2026-08-11 17:43:26 +02:00
Armin Ronacher
53fa77ccd8 Release v0.84.1 2026-08-07 07:48:13 +02:00
Armin Ronacher
a5f43bf8af Release v0.84.0 2026-08-06 12:32:57 +02:00
Mario Zechner
6b461b75b3 feat: extract telemetry package 2026-08-05 23:23:12 +02:00
Mario Zechner
04d6447f7c feat: add typed telemetry contracts 2026-08-05 22:03:33 +02:00
Mario Zechner
44289550aa feat(agent): promote durable harness API 2026-08-04 17:01:43 +02:00
Christian Klotz
1d0c974713
feat(agent): implement harness v2 for in-memory storage (#7503)
* feat(agent): add experimental in-memory sessions

* fix(agent): align session entry ID provisioning

* fix(agent): align v4 compaction entries

* fix(agent): persist tool-result termination decisions

* feat: compaction reason

* fix: get rid of deleteLane

* fix(agent): align lane record schema

* fix(agent): separate lane moves from record appends

* fix(agent): validate durable session payloads

* fix(agent): align lane record type names

* feat(agent): add session backend conformance suite

* Add `undefined` value case to conformance test

* fix(agent): centralize session query validation

* Rename to `SessionRepo`

Rename to `InMemorySessionRepo`

* fix(agent): align in-memory sessions with harness v2

---------

Co-authored-by: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com>
2026-08-04 10:24:43 +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
Armin Ronacher
b4f293684b Release v0.82.1 2026-07-25 14:37:11 +02:00
Armin Ronacher
083e616212 Release v0.82.0 2026-07-24 08:00:31 +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
d35237cfda fix: build packages before release tests 2026-07-21 14:51:22 +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
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
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
f08e968c83 Release v0.80.0 2026-06-23 19:30:32 +02:00
Mario Zechner
717a8f958a fix(ai): revert selective pi-ai base entrypoints 2026-06-22 12:54: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