Commit graph

5803 commits

Author SHA1 Message Date
Armin Ronacher
8dce5da769 feat(coding-agent): coordinate replaceable servers and workers
Keep the stable socket in an opaque detached coordinator while server processes own detached worker discovery and lifecycle. Remove the public drain RPC in favor of server replacement through coordinator routing.
2026-08-15 11:49:53 +02:00
Christian Klotz
33eef6d1c6
test(coding-agent): read worker metadata in fixture 2026-08-15 01:09:57 +03:00
Christian Klotz
b35b4e0e48
feat(coding-agent): host durable sessions in workers 2026-08-15 01:09:57 +03:00
Christian Klotz
95d74e8c6b
feat(server): pass session metadata to harness hosts 2026-08-15 01:08:12 +03:00
Christian Klotz
ef93d9292e
feat(coding-agent): configure experimental server session directory 2026-08-15 01:05:27 +03:00
Mario Zechner
7d367c429f Merge remote-tracking branch 'origin/dev' into dev 2026-08-14 23:27:30 +02:00
Mario Zechner
d411d7b05e feat(agent): add AgentHarness R4 tool execution 2026-08-14 23:26:56 +02:00
Armin Ronacher
80b6797c92 feat: rename service IDs to server IDs
Use canonical lowercase UUIDv4 serialization and generate launcher IDs with randomUUID().
2026-08-14 23:25:56 +02:00
Mario Zechner
a606448360 feat(agent): add AgentHarness R3 generation recovery 2026-08-14 20:14:02 +02:00
Mario Zechner
4cb81e2bd9 feat(coding-agent): simplify remote plugin services 2026-08-14 16:45:14 +02:00
Mario Zechner
d458bfc073 docs(agent): add slice-specific harness scratch examples 2026-08-14 16:26:47 +02:00
Mario Zechner
908ae3f018 fix(agent): normalize assistant request action name 2026-08-14 16:22:43 +02:00
Mario Zechner
434332dce8 Merge remote-tracking branch 'origin/dev' into dev 2026-08-14 16:18:42 +02:00
Mario Zechner
1d882a7eca feat(agent): add AgentHarness R2 minimal run 2026-08-14 16:18:33 +02:00
Christian Klotz
9fcaac9b1a
fix: use bounded runtime paths for Unix sockets 2026-08-14 17:02:03 +03:00
Armin Ronacher
bf68c783a9 feat: remove unused experimental protocol surface 2026-08-14 15:56:09 +02:00
David Brailovsky
95e3765ade fix(agent): reserve JSONL session destinations
Coordinate create and fork operations by cwd and session ID so only the first caller can publish a destination.

Split destination-reservation conformance from active-source snapshot coordination.
2026-08-14 15:53:51 +02:00
Mario Zechner
71026970a0 feat(tui): add reusable mouse interaction support 2026-08-14 15:26:27 +02:00
Mario Zechner
19fbf94110 Ignore preliminary docs 2026-08-14 15:25:32 +02:00
David Brailovsky
fd8380f323 feat(agent): add JSONL session forking
Extract shared fork snapshot planning from the memory repository and use it to atomically publish JSONL branch and tree forks.

Split fork conformance into behavior and coordination cases so JSONL runs its currently supported behavior.
2026-08-14 15:23:42 +02:00
Mario Zechner
cd8bedcf75 feat(coding-agent): prototype remote plugin app 2026-08-14 14:57:38 +02:00
Mario Zechner
0e5bd4c90d feat(agent): integrate AgentHarness R1 with current dev 2026-08-14 14:56:05 +02:00
Mario Zechner
09ce3dda5d feat(agent): add AgentHarness R1 runtime shell 2026-08-14 14:54:27 +02:00
Cristina Poncela Cubeiro
35c1521573 feat(sqlite): wire repo to return real session 2026-08-14 13:58:16 +02:00
David Brailovsky
3ad1d716ae refactor(agent): keep storage register keys internal
Represent snapshot registers as arrays and simplify memory session fork handling.
2026-08-14 13:19:12 +02:00
Cristina Poncela Cubeiro
39b5f12a04 chore: extract validateCommittedWrites as shared helper 2026-08-14 13:08:09 +02:00
Vegard Stikbakke
0d868f034e docs(agent): document repository lifecycle benchmarks 2026-08-14 12:56:36 +02:00
Vegard Stikbakke
0bddd620d6 feat(agent): benchmark session repository lifecycle 2026-08-14 12:56:36 +02:00
David Brailovsky
a2fd9783f5 refactor(agent): share session register key helper 2026-08-14 12:50:04 +02:00
Armin Ronacher
7edcfe25e4 Merge branch 'main' into dev 2026-08-14 12:45:57 +02:00
Armin Ronacher
c36552212e agents: Adjust rules for changelog entries 2026-08-14 12:45:26 +02:00
David Brailovsky
3d93ae29b9 refactor(agent): extract memory fork content selection 2026-08-14 12:43:13 +02:00
Christian Klotz
6b3fb49dd9
feat: add fail-fast server generation replacement 2026-08-14 13:40:55 +03:00
Vegard Stikbakke
4a92eb61a7 docs(agent): document session repository benchmarks 2026-08-14 12:39:18 +02:00
Vegard Stikbakke
0537b2f702 feat(agent): benchmark session repository forks 2026-08-14 12:38:11 +02:00
David Brailovsky
c09fb2041c docs(agent): document session fork options 2026-08-14 12:34:52 +02:00
David Brailovsky
d46aaa5f1c fix(agent): narrow memory fork lane leaf registers type-safely 2026-08-14 12:30:48 +02:00
David Brailovsky
09fb0d157e Merge remote-tracking branch 'origin/main' into dev 2026-08-14 10:25:49 +00:00
Vegard Stikbakke
48e4ef1f5d feat(agent): share session benchmark infrastructure 2026-08-14 12:17:40 +02:00
Vegard Stikbakke
7b8ee7a3f5 feat(agent): add session repository catalog benchmark 2026-08-14 12:17:40 +02:00
David Brailovsky
4f069996d4 refactor(agent): extract memory fork source validation 2026-08-14 12:16:23 +02:00
David Brailovsky
0e0021fbbe Add [Unreleased] section for next cycle 2026-08-14 12:00:04 +02:00
David Brailovsky
914cf1472e Release v0.84.2 2026-08-14 12:00:00 +02:00
David Brailovsky
9b4adc823f docs: audit changelogs since v0.84.1 2026-08-14 09:50:22 +00:00
David Brailovsky
d10c974b94 docs: audit changelogs since v0.84.1 2026-08-14 11:47:05 +02:00
Panoplos
4caa3c440b
fix(tui): route selection copy through the host clipboard (#8110)
TuiAltScreen.copySelectionToClipboard() wrote a bare OSC 52 sequence and
flashed "Copied!" unconditionally. Terminals that ignore OSC 52 clipboard
writes (macOS Terminal.app, VTE terminals, tmux without OSC 52 passthrough)
left the system clipboard untouched while the toast reported success.

Add an injectable copySelection option to TuiAltScreenOptions (an async
handler returning whether the copy succeeded) and use it when provided,
falling back to the existing OSC 52 write otherwise. The coding agent now
injects its native clipboard implementation (clipboard addon + pbcopy /
wl-copy / xclip / xsel), so selection copy reaches the real clipboard and
the toast only fires on verified success, with "Copy failed" otherwise.

Closes #7761

Co-authored-by: 富永 誠 <makoto@credify.one>
2026-08-14 11:46:46 +02:00
github-actions[bot]
48bd3f424d chore: approve contributors from issue #8092 2026-08-14 09:41:22 +00:00
Anders Bech Mellson
ab0dc51fcf
fix(coding-agent): use APP_NAME in user-facing messages (#8067)
APP_NAME is derived from piConfig.name so a rebranded distribution shows
its own name, and roughly 90 call sites already use it. Twelve
user-facing strings hardcoded "pi" instead, so those messages named the
upstream binary regardless of piConfig.name:

- the trust project folder prompt
- "Restart pi for this to take effect." after a saved trust decision
- the "Start without extensions" hint on an extension load failure
- the invalid session file error
- the executable location in the self-update-unavailable notice
- the three auth command usage strings and the unknown auth command
  error, which are printed next to `${APP_NAME} --help` in main.ts and
  so contradicted it
- "is configured outside pi." in the provider setup dialog
- the uncaughtException line

Output is unchanged for pi itself: piConfig has no name, so APP_NAME
falls back to "pi".
2026-08-14 11:26:20 +02:00
Mario Zechner
5093641a56 fix(ai): preserve Google length stops with tool calls
closes #8059
2026-08-14 11:25:40 +02:00
github-actions[bot]
c5b7cd2a33 chore: approve contributors from issue #8063 2026-08-14 09:20:04 +00:00