Commit graph

104 commits

Author SHA1 Message Date
Armin Ronacher
ca7460d16b feat: build with TypeScript 7 and run sources with plain node
Replace the tsgo native preview with typescript@7.0.2 and port the check scripts to the TS 7 API. Target ES2024, drop useDefineForClassFields: false and unused decorator options, and enable verbatimModuleSyntax. Replace tsx with node plus the source resolver hook, passed to --import as a file URL.

closes #9965
2026-09-25 13:14:33 +02:00
Armin Ronacher
a8ed497713 Add [Unreleased] section for next cycle 2026-09-22 21:28:09 +02:00
Armin Ronacher
f07218c4d4 Release v0.87.1 2026-09-22 21:28:02 +02:00
Armin Ronacher
4c8eb393c7 Add [Unreleased] section for next cycle 2026-09-21 18:31:58 +02:00
Armin Ronacher
16787ad5b2 Release v0.87.0 2026-09-21 18:31:52 +02:00
Armin Ronacher
19451accde Add [Unreleased] section for next cycle 2026-09-20 13:04:18 +02:00
Armin Ronacher
13cbf77df2 Release v0.86.1 2026-09-20 13:04:11 +02:00
Armin Ronacher
50d766cba2 Add [Unreleased] section for next cycle 2026-09-20 01:00:48 +02:00
Armin Ronacher
ecac0a9c4e Release v0.86.0 2026-09-20 01:00:41 +02:00
Armin Ronacher
da840b6216 Add [Unreleased] section for next cycle 2026-09-05 13:54:52 +02:00
Armin Ronacher
d981de1229 Release v0.85.1 2026-09-05 13:54:46 +02:00
Armin Ronacher
dd7e816b57 Add [Unreleased] section for next cycle 2026-09-04 11:57:42 +02:00
Armin Ronacher
107d79f110 Release v0.85.0 2026-09-04 11:57:38 +02:00
Armin Ronacher
7cf456aa1c feat: remove experimental compatibility shims 2026-09-01 10:09:01 +02:00
Armin Ronacher
1a7bc80e7c feat: move service wire semantics into Chord
Keep protocol payloads transport-opaque and validate service calls, state snapshots, updates, and errors at Chord boundaries. Ensure successful OpenAI Responses messages remain strict JSON so terminal Transcript updates reach clients.
2026-09-01 00:53:40 +02:00
Armin Ronacher
86bac52f94 feat: add delta-backed replicated state
Track mutable provider state and publish immutable operation batches. Keep path codecs isolated per client subscription and state member.
2026-08-31 14:04:42 +02:00
Armin Ronacher
ae2cc5116f feat(coding-agent): replace lane RPC with Chord service 2026-08-31 12:52:25 +02:00
Armin Ronacher
8e374e4dc2 feat(coding-agent): tighten experimental service boundaries 2026-08-31 01:09:31 +02:00
Armin Ronacher
984846b785 feat(coding-agent): remove legacy session RPC facade
Route discovery, management, and prompting through Chord services. Retain low-level lane watches and reattach Radius clients through SessionManagement.
2026-08-31 00:13:43 +02:00
Armin Ronacher
5245aba7c8 feat: simplify plugin facet lifecycle
Remove handshake-based facet delivery and host only the selected Session presentation branch. Simplify worker selection, startup options, package profiles, and serialized builds.
2026-08-30 22:36:30 +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
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
Armin Ronacher
853a80d26c Add [Unreleased] section for next cycle 2026-08-28 23:56:06 +02:00
Armin Ronacher
b79e4cc834 Release v0.84.4 2026-08-28 23:56:03 +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
Mario Zechner
2d675d069a docs(agent): condense harness specification 2026-08-27 00:22:46 +02:00
Mario Zechner
eb3e9feed1 feat(coding-agent): split tool renderers and theme validation from their implementations
A presentation draws tool calls and colours; it executes nothing and validates
nothing. Both cost it typebox anyway, which is 17 MB of module graph: 682 ESM
modules whose narrowest entry re-exports ~300 of them, so there is no
cherry-picking and both doors had to close before any process stopped paying.

ToolExecutionComponent no longer looks up createAllToolDefinitions by tool name;
callers pass what to render, and its parameter type now says so. Each built-in
tool's presentation moves to core/tools/renderers/<tool>.ts, leaving the schema
and execute path behind; bash and powershell share createShellRenderers(prompt).
Tool definitions keep their exact public shape and spread the renderers in.
withBuiltInRenderers() preserves the old fallback, where an extension override
without renderers still draws like the built-in - that behaviour used to live
inside the component, and two tests caught its absence.

theme.ts keeps palettes; the typebox schema and its error formatting move to
theme-json.ts, installed through setThemeJsonValidator. Built-in themes were
never validated, so only processes that load user-authored themes need it. pi
installs it during startup, before the first theme loads, and the invalid-theme
message is unchanged.

Measured with mini, running built output: the presentation drops from 87 MB and
99 files to 72 MB and 88 files, with typebox absent from its graph, while still
rendering tool output through the real built-in renderers.

Also: packages/server's vitest aliases were prefix matches, so a subpath import
resolved onto index.ts/utils/uuid and failed five suites; they are exact now
with explicit subpath rules. And mini-test.sh spawns mini the way pi-test.sh
spawns pi, with --fresh/--stop for the detached session server.
2026-08-26 23:08:57 +02:00
Mario Zechner
89356540fb feat(agent): expose durable lane operations 2026-08-26 21:14:59 +02:00
Mario Zechner
c60dd63fdf feat(agent): simplify durable operation graph 2026-08-26 16:10:53 +02:00
Mario Zechner
423e20cb78 feat(agent): separate sessions, branches, and lanes 2026-08-25 16:52:29 +02:00
Armin Ronacher
c399e34658 feat: merge main into dev 2026-08-24 13:13:03 +02:00
Armin Ronacher
31d4ed5860 Add [Unreleased] section for next cycle 2026-08-24 12:50:52 +02:00
Armin Ronacher
4e58f324fa Release v0.84.3 2026-08-24 12:50:48 +02:00
Armin Ronacher
e54d14b59c feat(agent): simplify plugin service names 2026-08-22 00:37:32 +02:00
Armin Ronacher
bafbdecd1b feat(coding-agent): scaffold built-in service surfaces 2026-08-20 11:52:28 +02:00
Armin Ronacher
2c897da815 feat(agent): remove pi prefixes from client and server APIs 2026-08-20 10:51:04 +02:00
Armin Ronacher
48a07ddbfd feat(agent): add server-scoped session services 2026-08-20 10:51:04 +02:00
Armin Ronacher
8222adee86 feat(agent): add routed plugin service runtime 2026-08-20 00:21:55 +02:00
Armin Ronacher
b7bb00b936 fix(ai): retain reasoning details in thinking signature 2026-08-19 23:35:43 +02:00
Armin Ronacher
f8a6e670d4 feat(agent): replace remote sessions with routed services
Remove the raw Session RPC projection and route framed service calls through fenced presentation attachments.
2026-08-19 23:10:15 +02:00
Mario Zechner
164507bbac feat(agent): simplify mutation event publication 2026-08-19 16:55:29 +02:00
Cristina Poncela Cubeiro
4ca636c5e0
feat(ai): opeani completions reasoning details (#8246)
* fix(ai): opeani completions reasoning details

* cleanup: type i didnt like

* changelog
2026-08-19 16:44:17 +02:00
Mario Zechner
beac75ecc2 feat(agent): implement atomic acceptance and coherent observation 2026-08-18 14:36:33 +02:00
Armin Ronacher
fb33e0db24 feat(agent): add remote session RPC 2026-08-18 11:05:07 +02:00
Armin Ronacher
eb860519f0 feat(agent): thread context through remote harness APIs 2026-08-17 22:43:01 +02:00
Armin Ronacher
3fbfcf48ff feat(agent): thread invocation context through harness APIs 2026-08-17 19:56:21 +02:00
Armin Ronacher
f13dbebb40 feat: stream remote session events to clients 2026-08-17 14:12:57 +02:00