Commit graph

121 commits

Author SHA1 Message Date
Armin Ronacher
429f4e756c feat: add package-based facet plugins
Bundle declarative plugin packages with Chord and load fresh generations. Scope client selections to persisted Session and TUI branches, and replace stale local server generations after protocol changes.
2026-08-30 22:05:12 +02:00
Armin Ronacher
0252dff886 feat: add bundled facet distribution and reload
Bundle content-addressed Chord facet entries, distribute server-selected presentation artifacts during the handshake, and reload Session and TUI generations through /reload.
2026-08-30 12:52:58 +02:00
Armin Ronacher
28b49a6b3b feat: add Chord runtime foundation 2026-08-29 14:54:19 +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
Ramiz Wachtler
1defa151e0
fix(coding-agent): expose https-proxy-agent named export (#8723)
- closes #8610
2026-08-27 15:51:29 +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
a789067a0d fix(coding-agent): support bundled experimental processes 2026-08-24 14:17:17 +02:00
David Brailovsky
8798b7996d Merge remote-tracking branch 'origin/main' into dev 2026-08-24 07:50:17 +00:00
Armin Ronacher
4af9d21d3b feat(coding-agent): update managed installations in place 2026-08-24 09:34:34 +02:00
Armin Ronacher
c1279a65b3 feat(coding-agent): defer jiti until extension loading 2026-08-23 10:36:34 +02:00
Armin Ronacher
309b524f4f fix(coding-agent): avoid duplicate clipboard binaries 2026-08-23 09:28:36 +02:00
Armin Ronacher
faecac2ca8 feat(coding-agent): reduce bundled startup work 2026-08-23 00:03:19 +02:00
Armin Ronacher
39d869f02a fix: publish installer artifacts 2026-08-22 21:21:37 +02:00
Armin Ronacher
7d4c0e05dd
feat(coding-agent): bundle Node runtime (#8474) 2026-08-22 21:19:38 +02:00
Armin Ronacher
5cd93f688a feat(coding-agent): add development pi wrapper 2026-08-20 15:59:38 +02:00
Armin Ronacher
2c897da815 feat(agent): remove pi prefixes from client and server APIs 2026-08-20 10:51:04 +02:00
Mario Zechner
5aeb06bb11 feat(agent): establish durable harness type contracts 2026-08-11 17:43:26 +02:00
Mario Zechner
f8746767bc fix: handle npm 12 pack --json object output in local release script
npm 12 returns an object keyed by package name instead of an array,
which broke packPackage with a TypeError.
2026-08-08 12:06:59 +02:00
Armin Ronacher
7d046bcf21 fix(coding-agent): announce only verified npm releases 2026-08-06 22:39:09 +02:00
Armin Ronacher
9b17fd5bb3 fix: verify npm package registration before release 2026-08-06 18:21:35 +02:00
Ilya
beeca6ab74
fix(coding-agent): disable bunfig autoload in compiled binaries (#7685)
Bun standalone binaries load cwd bunfig.toml preload before pi starts,
so project preloads can crash even pi --version. Compile with
--no-compile-autoload-bunfig.

fixes #7684
2026-08-06 17:16:12 +02:00
Armin Ronacher
8199aca40c fix: publish server package 2026-08-06 12:59:45 +02:00
Armin Ronacher
95a6aa7bd0 fix: isolate cross-platform native dependency install 2026-08-06 12:38:51 +02:00
Armin Ronacher
d6442dd486 fix: avoid registry resolution during version bumps 2026-08-06 12:31:40 +02:00
Mario Zechner
6b461b75b3 feat: extract telemetry package 2026-08-05 23:23:12 +02:00
Cristina Poncela Cubeiro
a80008b96c chore: rename storage package to session-backends 2026-08-05 09:28:44 +02:00
Mario Zechner
44289550aa feat(agent): promote durable harness API 2026-08-04 17:01:43 +02:00
David Brailovsky
816237c101
fix(coding-agent): target baseline x64 CPUs (#7390)
Fixes #7149

Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-08-03 13:57:51 +02:00
Christian Klotz
f07af611d3
feat(agent): compose session storage through repositories 2026-08-02 12:35:02 +03:00
Christian Klotz
cbc893b0d4
feat(agent): prepare session storage foundation for harness v2 2026-08-02 12:35:02 +03:00
Christian Klotz
11679808c7
Merge remote-tracking branch 'origin/main' into refactor/session-store-file-names
* origin/main: (25 commits)
  fix(tui): prevent phantom alt-screen selections
  feat(tui): add draggable transient scrollbars
  fix(coding-agent): avoid auth read lock contention
  fix(ai): route Fireworks Kimi K3 through OpenAI compatibility
  docs(client): document Bun Unix transport support
  feat(client): add Unix socket transport
  fix: forward autocompleteMaxVisible to custom editors (#7369)
  fix(ai): scope Codex sockets to accounts
  docs(client): note promise helper removal
  refactor(client): retain ES2022 compatibility
  refactor(client): simplify lifecycle architecture
  refactor(client): tighten lifecycle state modeling
  feat(client): add runtime-neutral session client
  fix(coding-agent): decouple auth lock error tests
  fix: custom-compaction through provider via new model runtime complete (#7325)
  fix(ai): preserve Anthropic initial stream block content (#7358)
  fix(coding-agent): update vulnerable brace-expansion
  fix(ai): keep signed empty text/thinking blocks in google history (#7362)
  feat(tui): add stacked alt-screen flashes (#7361)
  fix(coding-agent): reload credentials before reads
  ...
2026-07-31 16:20:00 +03:00
Christian Klotz
2132f8f75f
fix(agent): clarify session persistence ownership 2026-07-31 16:16:42 +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
Christian Klotz
a1bb7e4483
fix(agent): expose session stores through factories 2026-07-31 10:28:59 +03:00
Christian Klotz
2700511e45
fix(agent): refine session repository API 2026-07-31 09:48:24 +03:00
Christian Klotz
9b50b046d3
Merge pull request #7163 from cristinaponcela/feat/search
feat: search index sqlite
2026-07-31 09:15:12 +03:00
Cristina Poncela Cubeiro
fb0f0f7cd5 rename: vars 2026-07-31 05:19:23 +02:00
Christian Klotz
56eb685b69
feat(protocol): add remote session wire protocol 2026-07-30 21:45:58 +03:00
Cristina Poncela Cubeiro
5e48d41ecd refactor: repo facade 2026-07-30 14:07:58 +02:00
Cristina Poncela Cubeiro
6a9591ae78 refactor: repo owns session and storage separately 2026-07-29 16:33:20 +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
fc8048d237 fix(coding-agent): bundle model data in release source 2026-07-24 07:33:09 +02:00
Armin Ronacher
ec1a87e856 fix(coding-agent): require protobufjs 7.6.5, closes #7005 2026-07-23 23:16:07 +02:00
Armin Ronacher
5dc40fee33 feat(ai): derive generated model types from JSON 2026-07-22 13:13:36 +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
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
Christian Klotz
4b91ec66fd
feat(coding-agent): add release source archives (#6913) 2026-07-21 17:18:05 +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