@chances-ai/wire 24.3.0 → 26.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/rpc/acp/engine-driver.d.ts +43 -1
  2. package/dist/rpc/acp/engine-driver.d.ts.map +1 -1
  3. package/dist/rpc/acp/engine-driver.js +94 -10
  4. package/dist/rpc/acp/engine-driver.js.map +1 -1
  5. package/dist/rpc/acp/event-map.d.ts +20 -0
  6. package/dist/rpc/acp/event-map.d.ts.map +1 -1
  7. package/dist/rpc/acp/event-map.js +41 -0
  8. package/dist/rpc/acp/event-map.js.map +1 -1
  9. package/dist/rpc/acp/terminal.d.ts +37 -0
  10. package/dist/rpc/acp/terminal.d.ts.map +1 -0
  11. package/dist/rpc/acp/terminal.js +46 -0
  12. package/dist/rpc/acp/terminal.js.map +1 -0
  13. package/dist/rpc/acp/workspace-edits.d.ts +41 -0
  14. package/dist/rpc/acp/workspace-edits.d.ts.map +1 -0
  15. package/dist/rpc/acp/workspace-edits.js +75 -0
  16. package/dist/rpc/acp/workspace-edits.js.map +1 -0
  17. package/dist/rpc/driver.d.ts +56 -1
  18. package/dist/rpc/driver.d.ts.map +1 -1
  19. package/dist/rpc/index.d.ts +5 -1
  20. package/dist/rpc/index.d.ts.map +1 -1
  21. package/dist/rpc/index.js +2 -0
  22. package/dist/rpc/index.js.map +1 -1
  23. package/dist/serve/acp-session-host.d.ts +127 -72
  24. package/dist/serve/acp-session-host.d.ts.map +1 -1
  25. package/dist/serve/acp-session-host.js +534 -140
  26. package/dist/serve/acp-session-host.js.map +1 -1
  27. package/dist/serve/auth.d.ts +18 -0
  28. package/dist/serve/auth.d.ts.map +1 -1
  29. package/dist/serve/auth.js +32 -1
  30. package/dist/serve/auth.js.map +1 -1
  31. package/dist/serve/index.d.ts +1 -1
  32. package/dist/serve/index.d.ts.map +1 -1
  33. package/dist/serve/index.js +1 -1
  34. package/dist/serve/index.js.map +1 -1
  35. package/dist/serve/relay-frames.d.ts +7 -0
  36. package/dist/serve/relay-frames.d.ts.map +1 -1
  37. package/dist/serve/relay-frames.js +15 -0
  38. package/dist/serve/relay-frames.js.map +1 -1
  39. package/dist/serve/relay.d.ts +20 -0
  40. package/dist/serve/relay.d.ts.map +1 -1
  41. package/dist/serve/relay.js +59 -10
  42. package/dist/serve/relay.js.map +1 -1
  43. package/dist/serve/ws-transport.d.ts.map +1 -1
  44. package/dist/serve/ws-transport.js +7 -0
  45. package/dist/serve/ws-transport.js.map +1 -1
  46. package/package.json +4 -4
@@ -30,8 +30,9 @@
30
30
  * Socket-free + timer-free at the seam: tests drive `run()` with a fake
31
31
  * `EngineHost` + scripted ACP lines and assert the emitted ACP message sequence.
32
32
  */
33
+ import type { PermissionResolver } from "@chances-ai/engine/tools";
33
34
  import { type ByteSink } from "../writer.js";
34
- import type { EngineHost } from "../driver.js";
35
+ import type { BuiltEngine, EngineHost, SessionHistoryMessage } from "../driver.js";
35
36
  /** ACP protocol version we speak (SDK `PROTOCOL_VERSION` = 1). */
36
37
  export declare const ACP_PROTOCOL_VERSION: 1;
37
38
  export interface AcpEngineDriverOptions {
@@ -53,6 +54,31 @@ export interface AcpEngineDriverOptions {
53
54
  * supports the queries. stdio transports leave it false (Zed has its own
54
55
  * editor; `rpc` is programmatic). */
55
56
  workspaceQueries?: boolean;
57
+ /** (7.5 W1) Advertise `_meta.chances.capabilities.workspaceEdits` in
58
+ * `initialize` so a GUI client enables the Monaco read-WRITE editor. Like
59
+ * `workspaceQueries`, the driver does NOT handle `apply_edit` — the relay
60
+ * intercepts it off-ring AFTER a controller-lease check — so this is set true
61
+ * only by a relay whose host implements `applyEdit`. stdio transports leave it
62
+ * false (a rogue `apply_edit` → `methodNotFound`). */
63
+ workspaceEdits?: boolean;
64
+ /** (7.5 W3) Advertise `_meta.chances.capabilities.terminal` so a GUI client
65
+ * shows the interactive xterm terminal. Set true only by a relay whose host
66
+ * implements `openTerminal` AND has terminal explicitly enabled (off by
67
+ * default; non-loopback always token+TLS). The relay handles the terminal/*
68
+ * methods off-ring; the driver never sees them. */
69
+ terminal?: boolean;
70
+ /** (7.5 §14.2) TRUE-concurrent SessionRouter injection. When present, `run()`
71
+ * builds this driver's engine via `buildFn(resolver)` — receiving the driver's
72
+ * OWN permission resolver — INSTEAD of `host.build`, and replays any returned
73
+ * `history` (a `session/load` resume) into the sink. This lets the router give
74
+ * each `SessionUnit` a distinct engine (a fresh `session/new` build OR a
75
+ * `session/load` resume) while keeping the resolver-owned-by-driver invariant
76
+ * (the resolver closes over THIS driver's `pending`/`writer`). Absent ⇒ the
77
+ * legacy single-session path (`host.build`), byte-identical. */
78
+ buildFn?: (resolver: PermissionResolver) => {
79
+ built: BuiltEngine;
80
+ history?: SessionHistoryMessage[];
81
+ };
56
82
  }
57
83
  export declare class AcpEngineDriver {
58
84
  private readonly host;
@@ -64,6 +90,9 @@ export declare class AcpEngineDriver {
64
90
  private built;
65
91
  private unsub;
66
92
  private sessionId;
93
+ /** (7.5 W4) The eagerly-built session is handed to the FIRST `session/new`
94
+ * (N=1 byte-identical); a later `session/new` builds a fresh one + switches. */
95
+ private sessionClaimed;
67
96
  private activeTurn;
68
97
  /** Tracked so shutdown can await the terminal prompt response before closing. */
69
98
  private activePrompt;
@@ -74,12 +103,25 @@ export declare class AcpEngineDriver {
74
103
  private readonly resolvedIds;
75
104
  private readonly resolvedSet;
76
105
  private readonly workspaceQueries;
106
+ private readonly workspaceEdits;
107
+ private readonly terminal;
108
+ private readonly buildFn?;
77
109
  private shuttingDown;
78
110
  constructor(opts: AcpEngineDriverOptions);
79
111
  run(lines: AsyncIterable<string>): Promise<number>;
80
112
  /** Idempotent shutdown — same order as `RpcServer` (cancel turn → deny pending
81
113
  * → await the in-flight prompt's terminal response → dispose → flush → close). */
82
114
  shutdown(): Promise<void>;
115
+ /** (7.5 W4) Switch the ACTIVE engine (session/new fresh OR session/load resume).
116
+ * Cancels any live turn, denies pending asks, re-subscribes the new session's
117
+ * bus, and — for a load — replays `history` so every attached device rehydrates
118
+ * the transcript. The shared runtime is NOT disposed (the /resume rebuild
119
+ * pattern; switch model = one active engine at a time). */
120
+ private swapSession;
121
+ /** (7.5 §14.2) This unit's stable session id — set synchronously in `run()`'s
122
+ * prefix (before its first await), so the SessionRouter can read it immediately
123
+ * after `driver.run(queue)` returns to key the unit. */
124
+ get id(): string;
83
125
  /** Whether a turn is in flight, so a reconnecting client can lock its composer. */
84
126
  get busy(): boolean;
85
127
  /** Ids of still-open `session/request_permission` asks at attach time. */
@@ -1 +1 @@
1
- {"version":3,"file":"engine-driver.d.ts","sourceRoot":"","sources":["../../../src/rpc/acp/engine-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,cAAc,CAAC;AAG5D,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,EAAG,CAAU,CAAC;AAwD/C,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,kEAAkE;IAClE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;;;0CAKsC;IACtC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,UAAU,CAAsE;IACxF,iFAAiF;IACjF,OAAO,CAAC,YAAY,CAA8B;IAClD;;wFAEoF;IACpF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6H;IACrJ,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,YAAY,CAAS;gBAEjB,IAAI,EAAE,sBAAsB;IASlC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBxD;uFACmF;IAC7E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB/B,mFAAmF;IACnF,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,0EAA0E;IAC1E,oBAAoB,IAAI,MAAM,EAAE;IAGhC;;gEAE4D;IAC5D,oBAAoB,IAAI,MAAM,EAAE;IAMhC,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,YAAY;IA6EpB;uFACmF;YACrE,YAAY;IA2B1B;;;sBAGkB;IAClB,OAAO,CAAC,YAAY;IAKpB,yEAAyE;IACzE,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,cAAc;IAUtB;;;;gEAI4D;IAC5D,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,YAAY;IAkDpB;;yEAEqE;IACrE,OAAO,CAAC,iBAAiB;IA6BzB;;;8EAG0E;IAC1E,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,mBAAmB;IAG3B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"engine-driver.d.ts","sourceRoot":"","sources":["../../../src/rpc/acp/engine-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAIH,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGnF,kEAAkE;AAClE,eAAO,MAAM,oBAAoB,EAAG,CAAU,CAAC;AAyD/C,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,kEAAkE;IAClE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;;;0CAKsC;IACtC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;2DAKuD;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;wDAIoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;qEAOiE;IACjE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAA;KAAE,CAAC;CACvG;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAM;IACvB;qFACiF;IACjF,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAsE;IACxF,iFAAiF;IACjF,OAAO,CAAC,YAAY,CAA8B;IAClD;;wFAEoF;IACpF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6H;IACrJ,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA8F;IACvH,OAAO,CAAC,YAAY,CAAS;gBAEjB,IAAI,EAAE,sBAAsB;IAYlC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAqCxD;uFACmF;IAC7E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB/B;;;;gEAI4D;IAC5D,OAAO,CAAC,WAAW;IAkBnB;;6DAEyD;IACzD,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,mFAAmF;IACnF,IAAI,IAAI,IAAI,OAAO,CAElB;IACD,0EAA0E;IAC1E,oBAAoB,IAAI,MAAM,EAAE;IAGhC;;gEAE4D;IAC5D,oBAAoB,IAAI,MAAM,EAAE;IAMhC,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,YAAY;IAmGpB;uFACmF;YACrE,YAAY;IA2B1B;;;sBAGkB;IAClB,OAAO,CAAC,YAAY;IAKpB,yEAAyE;IACzE,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,cAAc;IAUtB;;;;gEAI4D;IAC5D,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,YAAY;IAkDpB;;yEAEqE;IACrE,OAAO,CAAC,iBAAiB;IA6BzB;;;8EAG0E;IAC1E,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,mBAAmB;IAG3B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,KAAK;CAGd"}
@@ -32,7 +32,7 @@
32
32
  */
33
33
  import { CancellationTokenSource, createId } from "@chances-ai/runtime";
34
34
  import { BoundedNdjsonWriter } from "../writer.js";
35
- import { chancesEventMeta, mapEventToAcp } from "./event-map.js";
35
+ import { chancesEventMeta, mapEventToAcp, messagesToSessionUpdates } from "./event-map.js";
36
36
  /** ACP protocol version we speak (SDK `PROTOCOL_VERSION` = 1). */
37
37
  export const ACP_PROTOCOL_VERSION = 1;
38
38
  /** The four standard ACP permission options; the selected `optionId` maps back
@@ -61,6 +61,7 @@ const METHOD = {
61
61
  getModels: "_chances/unstable/get_models",
62
62
  setOptions: "_chances/unstable/set_options",
63
63
  ping: "_chances/unstable/ping",
64
+ listSessions: "_chances/unstable/list_sessions",
64
65
  },
65
66
  event: "_chances/unstable/event",
66
67
  };
@@ -86,6 +87,9 @@ export class AcpEngineDriver {
86
87
  built = null;
87
88
  unsub = null;
88
89
  sessionId = "";
90
+ /** (7.5 W4) The eagerly-built session is handed to the FIRST `session/new`
91
+ * (N=1 byte-identical); a later `session/new` builds a fresh one + switches. */
92
+ sessionClaimed = false;
89
93
  activeTurn = null;
90
94
  /** Tracked so shutdown can await the terminal prompt response before closing. */
91
95
  activePrompt = null;
@@ -96,6 +100,9 @@ export class AcpEngineDriver {
96
100
  resolvedIds = [];
97
101
  resolvedSet = new Set();
98
102
  workspaceQueries;
103
+ workspaceEdits;
104
+ terminal;
105
+ buildFn;
99
106
  shuttingDown = false;
100
107
  constructor(opts) {
101
108
  this.host = opts.host;
@@ -104,9 +111,18 @@ export class AcpEngineDriver {
104
111
  this.autoApprove = opts.autoApprove ?? false;
105
112
  this.logSink = opts.logSink ?? ((line) => process.stderr.write(line));
106
113
  this.workspaceQueries = opts.workspaceQueries ?? false;
114
+ this.workspaceEdits = opts.workspaceEdits ?? false;
115
+ this.terminal = opts.terminal ?? false;
116
+ this.buildFn = opts.buildFn;
107
117
  }
108
118
  async run(lines) {
109
- const built = this.host.build(this.makeResolver());
119
+ // (7.5 §14.2) The SessionRouter injects `buildFn` so this unit's engine is a
120
+ // fresh `session/new` build OR a `session/load` resume (with history to
121
+ // replay), built through the driver's OWN resolver. Absent ⇒ legacy single
122
+ // build (byte-identical).
123
+ const { built, history } = this.buildFn
124
+ ? this.buildFn(this.makeResolver())
125
+ : { built: this.host.build(this.makeResolver()), history: undefined };
110
126
  this.built = built;
111
127
  this.sessionId = built.sessionId;
112
128
  // Subscribe BEFORE reading input so no frame is missed. ACP is
@@ -114,6 +130,14 @@ export class AcpEngineDriver {
114
130
  // bespoke wire's proactive `ready` — we emit nothing until asked; we just
115
131
  // keep the bus → `session/update` projection live.
116
132
  this.unsub = built.bus.onAny((e) => this.onEvent(e));
133
+ // A `session/load`-built unit replays its rehydrated history into the sink so
134
+ // the attaching device(s) see the transcript (the router stamps it into THIS
135
+ // unit's ring, fanned to that unit's sockets only — §14.2).
136
+ if (history && history.length > 0) {
137
+ for (const update of messagesToSessionUpdates(history)) {
138
+ this.enqueueNotification(METHOD.update, { sessionId: this.sessionId, update });
139
+ }
140
+ }
117
141
  try {
118
142
  for await (const line of lines) {
119
143
  const trimmed = line.trim();
@@ -148,8 +172,33 @@ export class AcpEngineDriver {
148
172
  this.unsub?.();
149
173
  this.writer.close();
150
174
  }
175
+ /** (7.5 W4) Switch the ACTIVE engine (session/new fresh OR session/load resume).
176
+ * Cancels any live turn, denies pending asks, re-subscribes the new session's
177
+ * bus, and — for a load — replays `history` so every attached device rehydrates
178
+ * the transcript. The shared runtime is NOT disposed (the /resume rebuild
179
+ * pattern; switch model = one active engine at a time). */
180
+ swapSession(built, history) {
181
+ this.activeTurn?.cts.cancel();
182
+ this.activeTurn = null;
183
+ this.denyAllPending();
184
+ this.unsub?.();
185
+ this.built = built;
186
+ this.sessionId = built.sessionId;
187
+ this.unsub = built.bus.onAny((e) => this.onEvent(e));
188
+ if (history && history.length > 0) {
189
+ for (const update of messagesToSessionUpdates(history)) {
190
+ this.enqueueNotification(METHOD.update, { sessionId: this.sessionId, update });
191
+ }
192
+ }
193
+ }
151
194
  // -- accessors (the relay reads these for the per-attach reconnect snapshot,
152
195
  // replacing the bespoke wire's byte-snoop — driver state is authoritative) -
196
+ /** (7.5 §14.2) This unit's stable session id — set synchronously in `run()`'s
197
+ * prefix (before its first await), so the SessionRouter can read it immediately
198
+ * after `driver.run(queue)` returns to key the unit. */
199
+ get id() {
200
+ return this.sessionId;
201
+ }
153
202
  /** Whether a turn is in flight, so a reconnecting client can lock its composer. */
154
203
  get busy() {
155
204
  return this.activeTurn !== null;
@@ -211,18 +260,42 @@ export class AcpEngineDriver {
211
260
  case METHOD.initialize:
212
261
  this.respond(id, this.initializeResult());
213
262
  return;
214
- case METHOD.newSession:
263
+ case METHOD.newSession: {
264
+ // (7.5 W4) The FIRST session/new hands back the eagerly-built session
265
+ // (N=1 byte-identical with the pre-W4 behaviour). A SUBSEQUENT session/new
266
+ // builds a fresh session + switches the active engine (switch model).
267
+ if (this.sessionClaimed)
268
+ this.swapSession(this.host.build(this.makeResolver()));
269
+ this.sessionClaimed = true;
215
270
  // Standard ACP `models` (SessionModelState) so a plain ACP client gets
216
- // the model list from `session/new`, not only our `_meta.chances`
217
- // (codex M3 SHOULD). `modes: null` = no agent modes.
271
+ // the model list from `session/new`, not only our `_meta.chances`. `modes: null`.
218
272
  this.respond(id, { sessionId: this.sessionId, modes: null, models: this.modelState() });
219
273
  return;
220
- case METHOD.loadSession:
221
- // M3 stub: the relay's reconnect/replay (M2) already restores the GUI
222
- // transcript, so we don't replay history here. Advertised honestly via
223
- // `agentCapabilities.loadSession: false`.
274
+ }
275
+ case METHOD.loadSession: {
276
+ // (7.5 W4) Real session/load: resume the requested session (rebuild the
277
+ // engine, no runtime teardown) + replay its history so every attached
278
+ // device rehydrates the transcript. Switch model — one active engine.
279
+ if (id === undefined)
280
+ return;
281
+ const sid = params?.sessionId;
282
+ if (typeof sid !== "string" || !this.host.loadSession) {
283
+ this.error(id, ERR.invalidParams, "loadSession unsupported or missing sessionId");
284
+ return;
285
+ }
286
+ const loaded = this.host.loadSession(sid, this.makeResolver());
287
+ if (!loaded) {
288
+ this.error(id, ERR.invalidParams, "unknown session");
289
+ return;
290
+ }
291
+ this.swapSession(loaded.engine, loaded.history);
292
+ this.sessionClaimed = true;
224
293
  this.respond(id, {});
225
294
  return;
295
+ }
296
+ case METHOD.ext.listSessions:
297
+ this.respond(id, { sessions: this.host.listSessions?.() ?? [] });
298
+ return;
226
299
  case METHOD.prompt: {
227
300
  // Guard BEFORE assigning `activePrompt` (codex M3 MUST): a rejected prompt
228
301
  // (unknown session / AGENT_BUSY) must NOT overwrite the live turn's
@@ -501,7 +574,9 @@ export class AcpEngineDriver {
501
574
  return {
502
575
  protocolVersion: ACP_PROTOCOL_VERSION,
503
576
  agentInfo: { name: this.agent.name, version: this.agent.version },
504
- agentCapabilities: { loadSession: false },
577
+ // (7.5 W4) Advertise loadSession honestly — true only when the host can
578
+ // resume from store (decision 9.6: never advertise a cap a handler won't honor).
579
+ agentCapabilities: { loadSession: typeof this.host.loadSession === "function" },
505
580
  _meta: {
506
581
  chances: {
507
582
  capabilities: {
@@ -514,6 +589,15 @@ export class AcpEngineDriver {
514
589
  // (v23 M5) read-only workspace queries (file tree / read / git) for
515
590
  // the GUI's 3-pane IDE — handled by the relay, not this driver.
516
591
  workspaceQueries: this.workspaceQueries,
592
+ // (7.5 W1) client-initiated workspace WRITE (Monaco save) — handled
593
+ // by the relay off-ring after a controller-lease check, not here.
594
+ workspaceEdits: this.workspaceEdits,
595
+ // (7.5 W3) interactive PTY terminal — relay-managed off-ring; only
596
+ // true when openTerminal exists AND terminal is explicitly enabled.
597
+ terminal: this.terminal,
598
+ // (7.5 W4) multi-session: list + load advertised only when the host
599
+ // can persist/resume sessions (switch model).
600
+ listSessions: typeof this.host.listSessions === "function",
517
601
  },
518
602
  // (v22) Current approval mode, so a GUI badge reflects it on connect
519
603
  // without a separate round-trip (set via `_chances/unstable/set_approval`).
@@ -1 +1 @@
1
- {"version":3,"file":"engine-driver.js","sourceRoot":"","sources":["../../../src/rpc/acp/engine-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-driver.js","sourceRoot":"","sources":["../../../src/rpc/acp/engine-driver.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,26 @@ export interface AcpMapOptions {
9
9
  * window renders as "full" rather than zero). */
10
10
  contextWindow?: number;
11
11
  }
12
+ /** A flattened session-history message (structural; mirrors engine `Message`
13
+ * without an engine import — event-map stays runtime+sdk-only). */
14
+ export interface HistoryMessage {
15
+ role: string;
16
+ content?: Array<{
17
+ type: string;
18
+ [k: string]: unknown;
19
+ }>;
20
+ }
21
+ /**
22
+ * (7.5 W4) Project a loaded session's MESSAGE history into ACP `SessionUpdate`
23
+ * frames so `session/load` can rehydrate the GUI transcript. This is the
24
+ * counterpart of {@link mapEventToAcp} for REPLAY: the SessionStore holds
25
+ * `Message[]`, NOT `AppEvent[]`, so the live projector cannot be reused (codex
26
+ * R1 M3). Coarse-grained — text → message chunks, tool-calls/results →
27
+ * tool_call/tool_call_update (status completed/failed; no live `pending`
28
+ * lifecycle on replay). Usage/cost are not reconstructed (history doesn't carry
29
+ * per-turn usage in a replayable shape).
30
+ */
31
+ export declare function messagesToSessionUpdates(messages: ReadonlyArray<HistoryMessage>): SessionUpdate[];
12
32
  export declare function mapEventToAcp(e: AppEvent, opts: AcpMapOptions): SessionUpdate[];
13
33
  /**
14
34
  * chances-only fidelity (no standard ACP `SessionUpdate`) → the `_meta.chances`
@@ -1 +1 @@
1
- {"version":3,"file":"event-map.d.ts","sourceRoot":"","sources":["../../../src/rpc/acp/event-map.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,0BAA0B,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B;8DAC0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB;;sDAEkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAOD,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,aAAa,EAAE,CAuE/E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAmC5E"}
1
+ {"version":3,"file":"event-map.d.ts","sourceRoot":"","sources":["../../../src/rpc/acp/event-map.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,0BAA0B,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B;8DAC0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB;;sDAEkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAOD;oEACoE;AACpE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;CACzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,GAAG,aAAa,EAAE,CA8BjG;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,aAAa,EAAE,CAuE/E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAmC5E"}
@@ -38,6 +38,47 @@
38
38
  * can't bloat the transcript (oh-my-pi's `ACP_TEXT_LIMIT`). The COMPLETE
39
39
  * output still rides untruncated in `rawOutput`, so no data is lost. */
40
40
  const TEXT_CAP = 4000;
41
+ /**
42
+ * (7.5 W4) Project a loaded session's MESSAGE history into ACP `SessionUpdate`
43
+ * frames so `session/load` can rehydrate the GUI transcript. This is the
44
+ * counterpart of {@link mapEventToAcp} for REPLAY: the SessionStore holds
45
+ * `Message[]`, NOT `AppEvent[]`, so the live projector cannot be reused (codex
46
+ * R1 M3). Coarse-grained — text → message chunks, tool-calls/results →
47
+ * tool_call/tool_call_update (status completed/failed; no live `pending`
48
+ * lifecycle on replay). Usage/cost are not reconstructed (history doesn't carry
49
+ * per-turn usage in a replayable shape).
50
+ */
51
+ export function messagesToSessionUpdates(messages) {
52
+ const out = [];
53
+ for (const m of messages) {
54
+ for (const part of m.content ?? []) {
55
+ if (part.type === "text" && typeof part.text === "string") {
56
+ out.push(m.role === "user"
57
+ ? { sessionUpdate: "user_message_chunk", content: { type: "text", text: part.text } }
58
+ : { sessionUpdate: "agent_message_chunk", content: { type: "text", text: part.text } });
59
+ }
60
+ else if (part.type === "tool-call") {
61
+ out.push({
62
+ sessionUpdate: "tool_call",
63
+ toolCallId: String(part.callId),
64
+ title: String(part.name),
65
+ kind: toolKind(String(part.name)),
66
+ status: "completed",
67
+ rawInput: part.args ?? {},
68
+ });
69
+ }
70
+ else if (part.type === "tool-result") {
71
+ out.push({
72
+ sessionUpdate: "tool_call_update",
73
+ toolCallId: String(part.callId),
74
+ status: part.ok === false ? "failed" : "completed",
75
+ content: [{ type: "content", content: { type: "text", text: cap(String(part.output ?? "")) } }],
76
+ });
77
+ }
78
+ }
79
+ }
80
+ return out;
81
+ }
41
82
  export function mapEventToAcp(e, opts) {
42
83
  switch (e.type) {
43
84
  case "assistant:delta":
@@ -1 +1 @@
1
- {"version":3,"file":"event-map.js","sourceRoot":"","sources":["../../../src/rpc/acp/event-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-map.js","sourceRoot":"","sources":["../../../src/rpc/acp/event-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * (7.5 W3) The wire contract for the interactive PTY terminal — method-name
3
+ * constants + guards. Unlike the stateless query/edit dispatchers, the terminal
4
+ * is STATEFUL + bidirectional (a long-lived PTY with subscribers), so the relay
5
+ * (`AcpSessionHost`) owns the handle/subscription bookkeeping; this module only
6
+ * names the methods and the capability gate.
7
+ *
8
+ * All terminal methods are PRIVILEGED off-ring (the relay runs `requireController`
9
+ * before acting) + carried on the SAME ACP socket as everything else (one-wire) —
10
+ * NOT a second `/pty` WebSocket (the deliberate divergence from opencode). Output
11
+ * frames bypass the ReplayHub ring (high-frequency raw bytes); a small per-terminal
12
+ * bounded ring gives cursor-style reconnect.
13
+ *
14
+ * Security: HIGH power (an unsandboxed shell). The driver advertises the
15
+ * `terminal` capability only when the host implements `openTerminal` AND it is
16
+ * explicitly enabled (off by default; a non-loopback bind always carries
17
+ * token+TLS). A local co-process already has the user's fs + exec, so loopback
18
+ * opt-in grants no escalation; the LAN case is token-gated. stdio hosts never
19
+ * advertise it.
20
+ */
21
+ import type { EngineHost } from "../driver.js";
22
+ /** `_chances/unstable/terminal/*` method names. */
23
+ export declare const TERMINAL_METHODS: {
24
+ readonly open: "_chances/unstable/terminal/open";
25
+ readonly input: "_chances/unstable/terminal/input";
26
+ readonly resize: "_chances/unstable/terminal/resize";
27
+ readonly close: "_chances/unstable/terminal/close";
28
+ /** engine→client output notification (not a request). */
29
+ readonly output: "_chances/unstable/terminal/output";
30
+ };
31
+ /** True for an inbound (client→relay) terminal method (open/input/resize/close).
32
+ * `output` is outbound-only and never matched here. */
33
+ export declare function isTerminalMethod(method: string): boolean;
34
+ /** True when a host exposes the PTY primitive (necessary, not sufficient — the
35
+ * relay also requires the explicit enable flag before advertising). */
36
+ export declare function hostSupportsTerminal(host: EngineHost): boolean;
37
+ //# sourceMappingURL=terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/rpc/acp/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,mDAAmD;AACnD,eAAO,MAAM,gBAAgB;;;;;IAK3B,yDAAyD;;CAEjD,CAAC;AASX;wDACwD;AACxD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;wEACwE;AACxE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAE9D"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * (7.5 W3) The wire contract for the interactive PTY terminal — method-name
3
+ * constants + guards. Unlike the stateless query/edit dispatchers, the terminal
4
+ * is STATEFUL + bidirectional (a long-lived PTY with subscribers), so the relay
5
+ * (`AcpSessionHost`) owns the handle/subscription bookkeeping; this module only
6
+ * names the methods and the capability gate.
7
+ *
8
+ * All terminal methods are PRIVILEGED off-ring (the relay runs `requireController`
9
+ * before acting) + carried on the SAME ACP socket as everything else (one-wire) —
10
+ * NOT a second `/pty` WebSocket (the deliberate divergence from opencode). Output
11
+ * frames bypass the ReplayHub ring (high-frequency raw bytes); a small per-terminal
12
+ * bounded ring gives cursor-style reconnect.
13
+ *
14
+ * Security: HIGH power (an unsandboxed shell). The driver advertises the
15
+ * `terminal` capability only when the host implements `openTerminal` AND it is
16
+ * explicitly enabled (off by default; a non-loopback bind always carries
17
+ * token+TLS). A local co-process already has the user's fs + exec, so loopback
18
+ * opt-in grants no escalation; the LAN case is token-gated. stdio hosts never
19
+ * advertise it.
20
+ */
21
+ /** `_chances/unstable/terminal/*` method names. */
22
+ export const TERMINAL_METHODS = {
23
+ open: "_chances/unstable/terminal/open",
24
+ input: "_chances/unstable/terminal/input",
25
+ resize: "_chances/unstable/terminal/resize",
26
+ close: "_chances/unstable/terminal/close",
27
+ /** engine→client output notification (not a request). */
28
+ output: "_chances/unstable/terminal/output",
29
+ };
30
+ const TERMINAL_METHOD_SET = new Set([
31
+ TERMINAL_METHODS.open,
32
+ TERMINAL_METHODS.input,
33
+ TERMINAL_METHODS.resize,
34
+ TERMINAL_METHODS.close,
35
+ ]);
36
+ /** True for an inbound (client→relay) terminal method (open/input/resize/close).
37
+ * `output` is outbound-only and never matched here. */
38
+ export function isTerminalMethod(method) {
39
+ return TERMINAL_METHOD_SET.has(method);
40
+ }
41
+ /** True when a host exposes the PTY primitive (necessary, not sufficient — the
42
+ * relay also requires the explicit enable flag before advertising). */
43
+ export function hostSupportsTerminal(host) {
44
+ return typeof host.openTerminal === "function";
45
+ }
46
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/rpc/acp/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,iCAAiC;IACvC,KAAK,EAAE,kCAAkC;IACzC,MAAM,EAAE,mCAAmC;IAC3C,KAAK,EAAE,kCAAkC;IACzC,yDAAyD;IACzD,MAAM,EAAE,mCAAmC;CACnC,CAAC;AAEX,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,gBAAgB,CAAC,IAAI;IACrB,gBAAgB,CAAC,KAAK;IACtB,gBAAgB,CAAC,MAAM;IACvB,gBAAgB,CAAC,KAAK;CACvB,CAAC,CAAC;AAEH;wDACwD;AACxD,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;wEACwE;AACxE,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,OAAO,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC;AACjD,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * (7.5 W1) The wire contract for `apply_edit` — the CLIENT-initiated workspace
3
+ * write that backs the Monaco editor's save. Mirrors the read-only
4
+ * `workspace-query.ts` shape (a method-name constant + one shared dispatcher the
5
+ * relay reuses), with two deliberate differences:
6
+ *
7
+ * 1. **Privileged.** Unlike the read-only queries (any lease viewer may browse),
8
+ * a write is privileged: the relay must check the controller lease BEFORE
9
+ * dispatching (`AcpSessionHost.requireController`), so a viewer cannot write.
10
+ * 2. **Fail-closed containment.** The host implementation (`applyWorkspaceEdit`)
11
+ * routes through the native fs_guard realpath jail + protected-path floor —
12
+ * a remote client can never write outside the workspace.
13
+ *
14
+ * Like the queries, the `AcpEngineDriver` does NOT handle this (stays turn-pure);
15
+ * it only advertises the `workspaceEdits` capability when its host implements
16
+ * `applyEdit`. stdio transports never advertise it, so a conformant client won't
17
+ * send it and a rogue send falls to `methodNotFound` (relay-only, decision 9.7).
18
+ */
19
+ import type { EngineHost } from "../driver.js";
20
+ /** `_chances/unstable/apply_edit` (mirrors the `_chances/unstable/*` query set). */
21
+ export declare const APPLY_EDIT_METHOD = "_chances/unstable/apply_edit";
22
+ /** True for the single apply_edit write method. */
23
+ export declare function isWorkspaceEditMethod(method: string): boolean;
24
+ /** True when a host exposes the write primitive (⇒ advertise + intercept). */
25
+ export declare function hostSupportsWorkspaceEdits(host: EngineHost): boolean;
26
+ export interface EditOutcome {
27
+ result?: unknown;
28
+ error?: {
29
+ code: number;
30
+ message: string;
31
+ };
32
+ }
33
+ /**
34
+ * Validate params, call `host.applyEdit`, and shape a JSON-RPC result/error. A
35
+ * {@link WorkspaceEscapeError} (containment / protected-path) maps to
36
+ * `invalidParams`; a missing primitive to `methodNotFound`; any other throw
37
+ * (e.g. a hunk that didn't match) to `serverError`. The caller (relay) writes the
38
+ * response via a targeted off-ring `replyTo`. The `signal` bounds a hung write.
39
+ */
40
+ export declare function dispatchWorkspaceEdit(host: EngineHost, params: unknown, signal: AbortSignal): Promise<EditOutcome>;
41
+ //# sourceMappingURL=workspace-edits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-edits.d.ts","sourceRoot":"","sources":["../../../src/rpc/acp/workspace-edits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AAEhE,mDAAmD;AACnD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEpE;AAKD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAuBD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAYxH"}