Commit graph

458 commits

Author SHA1 Message Date
Armin Ronacher
ae2cc5116f feat(coding-agent): replace lane RPC with Chord service 2026-08-31 12:52:25 +02:00
Armin Ronacher
e6dc574d1b feat: isolate Chord context API 2026-08-29 20:01:32 +02:00
Armin Ronacher
6ec57e6e5f feat: consolidate Chord public API 2026-08-29 18:56:26 +02:00
Armin Ronacher
34dc9d055a feat: move facet services into Chord
Move service, replicated-state, facet host, and loader ownership into the standalone Chord package. Migrate consumers and leave runtime JSON enforcement to serializers.
2026-08-29 14:55:51 +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
David Brailovsky
56700d42ed
fix(coding-agent): compact before post-tool model requests (#8782)
Run next-turn preparation only when the agent loop continues, allowing threshold compaction before the next provider request. Restore interactive progress when the same run resumes.

Closes #6879

Important to notice:
this changes when prepareNextTurn & prepareNextTurnWithContext are invoked:
the now run only when a next turn actually happens, and after shouldStopAfterTurn.
2026-08-28 13:40:59 +02:00
Cristina Poncela Cubeiro
758a0ee9b7 Merge branch 'main' into dev
# Conflicts:
#	packages/agent/CHANGELOG.md
#	packages/ai/scripts/generate-models.ts
#	packages/ai/src/providers/cloudflare-ai-gateway.ts
#	packages/ai/test/zai-coding-plan-models.test.ts
#	packages/coding-agent/src/modes/interactive/interactive-mode.ts
#	packages/tui/src/tui-alt-screen.ts
2026-08-28 13:19:43 +02:00
Armin Ronacher
d4ce5d5a22 feat(agent,coding-agent): unify process-local service lifecycle 2026-08-28 10:08:19 +02:00
Armin Ronacher
6441fa68b5 fix(agent): align facet service contracts and errors 2026-08-27 10:20:33 +02:00
Armin Ronacher
a17ead3292 feat(agent): remove remote service events 2026-08-27 10:19:02 +02:00
Armin Ronacher
6f0ea81e8b feat(coding-agent): preserve handles across facet reloads 2026-08-27 10:19:02 +02:00
Armin Ronacher
e44ecea8fb feat(coding-agent): derive facet service routing 2026-08-27 10:19:02 +02:00
Armin Ronacher
97f7472f4e feat(coding-agent): replace facet attributes with services
Make facets non-generic and resolve host-local dependencies through service bindings. Rename local assembly to createFacetHost and consolidate TUI host mechanics behind one service.
2026-08-27 10:19:02 +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
Mario Zechner
d09576def8 fix(agent): finalize durable lane replication 2026-08-26 21:51:37 +02:00
Mario Zechner
89356540fb feat(agent): expose durable lane operations 2026-08-26 21:14:59 +02:00
Mario Zechner
8b69107329 feat(agent): make durable drive total 2026-08-26 19:10:36 +02:00
Mario Zechner
0f0ca0f6b7 feat(agent): make run boundaries atomic 2026-08-26 17:34:56 +02:00
Mario Zechner
c5a35eabbf feat(agent): fuse structural boundary routing 2026-08-26 16:46:39 +02:00
Mario Zechner
c60dd63fdf feat(agent): simplify durable operation graph 2026-08-26 16:10:53 +02:00
Mario Zechner
9b23c65834 feat(agent): add structural drive foundation 2026-08-26 12:00:25 +02:00
Vegard Stikbakke
7af2d27dce fix(coding-agent): prevent Windows taskkill spawn crashes
closes #6596
2026-08-26 10:33:45 +02:00
Mario Zechner
0e77e57d96 feat(agent): simplify durable runtime procedures 2026-08-26 02:07:57 +02:00
Mario Zechner
417905647c feat(agent): clarify operation continuation semantics 2026-08-26 00:50:09 +02:00
Mario Zechner
df2a3409e8 feat(agent): simplify durable drive runtime 2026-08-26 00:15:08 +02:00
Mario Zechner
eb1185d93e feat(agent): add durable tool execution 2026-08-25 20:13:16 +02:00
Mario Zechner
b37834b695 feat(agent): add durable retry and deferred polling 2026-08-25 18:35:45 +02:00
Mario Zechner
423e20cb78 feat(agent): separate sessions, branches, and lanes 2026-08-25 16:52:29 +02:00
Armin Ronacher
cbaec01048 feat(coding-agent): add setup-driven facet generations
Replace ad hoc service assembly with atomic local and remote facet generations. Gate service proxy access by lifecycle and move the experimental Session worker and TUI onto facets.
2026-08-25 15:58:25 +02:00
Mario Zechner
5c6655e76e fix(agent): make durable assistant framing burst-safe
Rename the harness runtime2 directory to runtime.
2026-08-25 00:53:08 +02:00
Armin Ronacher
a2208678e9 fix(agent): make service hydration readiness explicit 2026-08-25 00:17:23 +02:00
Mario Zechner
852142daa0 feat(agent): add explicit session mutations 2026-08-24 23:35:55 +02:00
Mario Zechner
9b034fc45e feat(agent): add durable generation procedures 2026-08-24 21:56:02 +02:00
Mario Zechner
9f666bfbbb feat(agent): add durable terminal mechanics 2026-08-24 20:46:18 +02:00
Mario Zechner
ab3a774c8f fix(agent): preserve legacy upgrade commit stats 2026-08-24 12:40:53 +02:00
Mario Zechner
fa35550e95 feat(agent): simplify durable drive ownership 2026-08-24 12:37:48 +02:00
Mario Zechner
41c9795be7 feat(agent): add durable drive foundations 2026-08-24 12:37:48 +02:00
Armin Ronacher
c77ab55ecf ref(ts): Use NoInfer<T> 2026-08-22 01:10:08 +02:00
Armin Ronacher
e54d14b59c feat(agent): simplify plugin service names 2026-08-22 00:37:32 +02:00
David Brailovsky
4e9f632c6c fix(agent): reject unsupported JSONL versions before replay 2026-08-20 21:14:16 +02:00
David Brailovsky
d4edf066f9 fix(agent): extract JSONL storage serializer 2026-08-20 17:39:36 +02:00
David Brailovsky
0cad8a04d6 fix(agent): create JSONL sessions atomically
Stage the header and initial main-lane transaction together, then publish the complete session with an atomic rename.
2026-08-20 17:31:56 +02:00
David Brailovsky
7ebf9087e7 docs(agent): remove stale legacy v3 TODO 2026-08-20 17:08:30 +02:00
David Brailovsky
2f642c5d73 feat(agent): upgrade legacy v3 sessions on first write 2026-08-20 16:48:51 +02:00
David Brailovsky
a10b538493 feat(agent): resolve legacy v3 parent session metadata
Resolve available v3 and v4 parent paths to parent session IDs during discovery and storage normalization. Preserve unresolved paths as legacy parent metadata.
2026-08-20 14:11:10 +02:00
Armin Ronacher
8df02a436c feat(agent): implement remote events and client TUI 2026-08-20 12:37:46 +02:00
Armin Ronacher
bafbdecd1b feat(coding-agent): scaffold built-in service surfaces 2026-08-20 11:52:28 +02:00
David Brailovsky
29c41fc6cd feat(agent): report usage for legacy v3 sessions
Aggregate embedded usage during read-only normalization without creating ledger rows or rewriting the source.
2026-08-20 11:08:06 +02:00
David Brailovsky
d94e521baa Merge remote-tracking branch 'origin/main' into dev 2026-08-20 09:20:25 +02:00