@chances-ai/client 24.2.0 → 25.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 (39) hide show
  1. package/dist/client-core/client.d.ts +47 -1
  2. package/dist/client-core/client.d.ts.map +1 -1
  3. package/dist/client-core/client.js +143 -15
  4. package/dist/client-core/client.js.map +1 -1
  5. package/dist/client-core/store.d.ts +36 -0
  6. package/dist/client-core/store.d.ts.map +1 -1
  7. package/dist/client-core/store.js +4 -0
  8. package/dist/client-core/store.js.map +1 -1
  9. package/dist/client-core/transport.d.ts +1 -1
  10. package/dist/client-core/transport.d.ts.map +1 -1
  11. package/dist/client-core/transport.js +5 -1
  12. package/dist/client-core/transport.js.map +1 -1
  13. package/dist/web-ui/code-editor.d.ts +19 -0
  14. package/dist/web-ui/code-editor.d.ts.map +1 -0
  15. package/dist/web-ui/code-editor.js +111 -0
  16. package/dist/web-ui/code-editor.js.map +1 -0
  17. package/dist/web-ui/control-panel.d.ts.map +1 -1
  18. package/dist/web-ui/control-panel.js +20 -2
  19. package/dist/web-ui/control-panel.js.map +1 -1
  20. package/dist/web-ui/file-tree.d.ts.map +1 -1
  21. package/dist/web-ui/file-tree.js +7 -2
  22. package/dist/web-ui/file-tree.js.map +1 -1
  23. package/dist/web-ui/session-hotkeys.d.ts +14 -0
  24. package/dist/web-ui/session-hotkeys.d.ts.map +1 -0
  25. package/dist/web-ui/session-hotkeys.js +38 -0
  26. package/dist/web-ui/session-hotkeys.js.map +1 -0
  27. package/dist/web-ui/session-sidebar.d.ts +4 -2
  28. package/dist/web-ui/session-sidebar.d.ts.map +1 -1
  29. package/dist/web-ui/session-sidebar.js +25 -7
  30. package/dist/web-ui/session-sidebar.js.map +1 -1
  31. package/dist/web-ui/settings.d.ts +13 -0
  32. package/dist/web-ui/settings.d.ts.map +1 -0
  33. package/dist/web-ui/settings.js +27 -0
  34. package/dist/web-ui/settings.js.map +1 -0
  35. package/dist/web-ui/terminal.d.ts +10 -0
  36. package/dist/web-ui/terminal.d.ts.map +1 -0
  37. package/dist/web-ui/terminal.js +115 -0
  38. package/dist/web-ui/terminal.js.map +1 -0
  39. package/package.json +25 -5
@@ -24,7 +24,7 @@
24
24
  */
25
25
  import { ChatViewModel, type ChatViewModelOptions } from "@chances-ai/ui-core";
26
26
  import type { ApprovalMode } from "@chances-ai/runtime";
27
- import { type ClientStore, type GitDiffResult, type GitStatusResult, type ListFilesResult, type QuestionAnswer, type ReadFileResult } from "./store.js";
27
+ import { type ApplyEditParams, type ApplyEditResult, type ClientStore, type SessionSummary, type GitDiffResult, type GitStatusResult, type ListFilesResult, type QuestionAnswer, type ReadFileResult } from "./store.js";
28
28
  import type { TransportFactory } from "./transport.js";
29
29
  /** Schedule `run` after `delayMs`; returns a cancel fn. Injected so reconnect
30
30
  * timing is deterministic in tests (no real timers). */
@@ -54,6 +54,15 @@ export declare class RpcClient {
54
54
  private readonly clientId;
55
55
  /** In-flight request/response waiters (initialize/session.new/ping/set_model). */
56
56
  private readonly waiters;
57
+ /** (7.5 W3) Terminal-output subscribers (the xterm pane). */
58
+ private readonly terminalListeners;
59
+ /** (7.5 §14 / codex R4 M1) Per-session reconnect cursor. Each relay SessionUnit
60
+ * has its OWN rseq ring, so a single global `lastSeq` would, after switching to
61
+ * a session with a smaller head, send a too-high `Last-Event-ID` and the server
62
+ * would replay an empty gap (dropped frames). We snapshot the active session's
63
+ * cursor here on every switch and restore the target's (0 if unseen). `store.lastSeq`
64
+ * always mirrors the ACTIVE session's cursor (what a reconnect sends). */
65
+ private readonly sessionCursors;
57
66
  private userClosed;
58
67
  private transportDown;
59
68
  private reconnectAttempt;
@@ -106,6 +115,36 @@ export declare class RpcClient {
106
115
  refreshGitStatus(): Promise<GitStatusResult>;
107
116
  /** `git diff [path]` — the code viewer fetches this on demand (component-local). */
108
117
  gitDiff(path?: string): Promise<GitDiffResult>;
118
+ /** (7.5 W1) Apply a client-initiated workspace edit (Monaco save: whole-file
119
+ * `content`, or accept-agent-diff `edits[]`). PRIVILEGED — under a lease only
120
+ * the controller may write (the relay replies `not_controller` otherwise);
121
+ * fail-closed containment lives server-side (native fs_guard). The relay fans a
122
+ * `workspace_changed` to other devices on success. */
123
+ applyEdit(params: ApplyEditParams): Promise<ApplyEditResult>;
124
+ /** Refresh the persisted-session list into the store (sidebar). */
125
+ refreshSessions(): Promise<SessionSummary[]>;
126
+ /** Start a fresh session (switches the active engine). Clears the transcript so
127
+ * the new session starts empty, then refreshes the list. */
128
+ newSession(): Promise<void>;
129
+ /** Switch to an existing session: clear the transcript (the relay replays the
130
+ * loaded session's history right after) + send session/load. PRIVILEGED — a
131
+ * lease viewer is rejected `not_controller`. */
132
+ loadSession(id: string): Promise<void>;
133
+ /** (codex R4 M1) Switch the active session: snapshot the OUTGOING session's
134
+ * cursor, then make `id` active with `lastSeq` (its own ring's cursor). Keeps
135
+ * `store.lastSeq` as the active session's reconnect cursor. */
136
+ private switchActiveSession;
137
+ /** Open a PTY of `cols`×`rows`; resolves with its `terminalId`. Privileged —
138
+ * rejects (`not_controller`) for a lease viewer. */
139
+ openTerminal(cols: number, rows: number): Promise<string>;
140
+ /** Send keystrokes/data to a terminal (notification). */
141
+ sendTerminalInput(terminalId: string, data: string): void;
142
+ /** Resize a terminal (notification). */
143
+ resizeTerminal(terminalId: string, cols: number, rows: number): void;
144
+ /** Kill a terminal (notification). */
145
+ closeTerminal(terminalId: string): void;
146
+ /** Subscribe to terminal output. Returns an unsubscribe fn. */
147
+ onTerminalOutput(cb: (terminalId: string, data: string) => void): () => void;
109
148
  /** Shared request/response helper for the read-only queries. */
110
149
  private query;
111
150
  /** Close the transport for good — a USER close, so NO reconnect follows. */
@@ -122,6 +161,13 @@ export declare class RpcClient {
122
161
  * Idempotent on re-send (M2), mirroring the permission ask. */
123
162
  private onQuestionRequest;
124
163
  private onExtEvent;
164
+ /** (7.5 W1) A `_chances/unstable/workspace_changed` notification — another
165
+ * device (or this one) wrote `path`. Re-read it if it's the open file, and
166
+ * refresh git status so the change-bars / env panel stay current. Fire-and-
167
+ * forget (best-effort refresh; a failure just leaves stale data). */
168
+ private onWorkspaceChanged;
169
+ /** (7.5 W3) A `terminal/output` notification → fan to the xterm listeners. */
170
+ private onTerminalOutputFrame;
125
171
  /** A `_chances/unstable/control` notification (a lease handoff / state change):
126
172
  * recompute whether THIS client may drive. */
127
173
  private onControlState;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client-core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client-core/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,aAAa,EAAiB,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAM9F,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,qBAAqB,CAAC;AAM9E,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EAEnB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAa,gBAAgB,EAAqB,MAAM,gBAAgB,CAAC;AAErF;yDACyD;AACzD,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;AAElF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;6DACyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAmCD,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAuB;IAElD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAuB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoF;IAC5G,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyD;IAC3F;;;;;+EAK2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAG5D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,OAAO,EAAE,gBAAgB,EAAE,IAAI,GAAE,gBAAqB;IAuBlE,OAAO,CAAC,OAAO;IAQf;kEAC8D;IAC9D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAiB1B,mEAAmE;IACnE,KAAK,IAAI,IAAI;IAIb;;qFAEiF;IACjF,WAAW,IAAI,IAAI;IAInB,sEAAsE;IACtE,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAW5E;;;oEAGgE;IAChE,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAYrD,uEAAuE;IACvE,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAMrC;mFAC+E;IAC/E,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI;IAQ1D;;4CAEwC;IACxC,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAO5C,mEAAmE;IACnE,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAaxB;4EACwE;IACxE,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIhD;sDACkD;IAC5C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAM7D;oCACgC;IAC1B,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAMlD,oFAAoF;IACpF,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9C;;;;2DAIuD;IACvD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAM5D,mEAAmE;IAC7D,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAOlD;iEAC6D;IACvD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;qDAEiD;IAC3C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C;;oEAEgE;IAChE,OAAO,CAAC,mBAAmB;IAY3B;yDACqD;IAC/C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/D,yDAAyD;IACzD,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzD,wCAAwC;IACxC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpE,sCAAsC;IACtC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAK5E,gEAAgE;IAChE,OAAO,CAAC,KAAK;IAOb,4EAA4E;IAC5E,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,aAAa;IAyCrB;6DACyD;IACzD,OAAO,CAAC,SAAS;YAeH,WAAW;IAqDzB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,mBAAmB;IAsB3B;oEACgE;IAChE,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,UAAU;IAwBlB;;;0EAGsE;IACtE,OAAO,CAAC,kBAAkB;IAO1B,8EAA8E;IAC9E,OAAO,CAAC,qBAAqB;IAM7B;mDAC+C;IAC/C,OAAO,CAAC,cAAc;IAKtB;iEAC6D;IAC7D,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,UAAU;IAuClB;uFACmF;IACnF,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,cAAc;CAGvB"}
@@ -51,6 +51,15 @@ export class RpcClient {
51
51
  clientId;
52
52
  /** In-flight request/response waiters (initialize/session.new/ping/set_model). */
53
53
  waiters = new Map();
54
+ /** (7.5 W3) Terminal-output subscribers (the xterm pane). */
55
+ terminalListeners = new Set();
56
+ /** (7.5 §14 / codex R4 M1) Per-session reconnect cursor. Each relay SessionUnit
57
+ * has its OWN rseq ring, so a single global `lastSeq` would, after switching to
58
+ * a session with a smaller head, send a too-high `Last-Event-ID` and the server
59
+ * would replay an empty gap (dropped frames). We snapshot the active session's
60
+ * cursor here on every switch and restore the target's (0 if unseen). `store.lastSeq`
61
+ * always mirrors the ACTIVE session's cursor (what a reconnect sends). */
62
+ sessionCursors = new Map();
54
63
  // -- reconnect state (M2; protocol-agnostic, kept verbatim) --
55
64
  userClosed = false;
56
65
  transportDown = false;
@@ -85,7 +94,8 @@ export class RpcClient {
85
94
  }
86
95
  connect() {
87
96
  this.transportDown = false;
88
- return this.factory(this.handlers, this.store.getState().lastSeq, this.clientId);
97
+ // (7.5 §14) Pass the active session so a reconnect re-attaches to its ring.
98
+ return this.factory(this.handlers, this.store.getState().lastSeq, this.clientId, this.store.getState().sessionId ?? undefined);
89
99
  }
90
100
  // -- commands (outbound ACP) ------------------------------------------------
91
101
  /** Submit a prompt (ACP `session/prompt`). Echoes a user line + optimistically
@@ -205,6 +215,78 @@ export class RpcClient {
205
215
  gitDiff(path) {
206
216
  return this.query("_chances/unstable/git_diff", path ? { path } : {});
207
217
  }
218
+ /** (7.5 W1) Apply a client-initiated workspace edit (Monaco save: whole-file
219
+ * `content`, or accept-agent-diff `edits[]`). PRIVILEGED — under a lease only
220
+ * the controller may write (the relay replies `not_controller` otherwise);
221
+ * fail-closed containment lives server-side (native fs_guard). The relay fans a
222
+ * `workspace_changed` to other devices on success. */
223
+ applyEdit(params) {
224
+ return this.query("_chances/unstable/apply_edit", params);
225
+ }
226
+ // -- (7.5 W4) multi-session (switch model) ---------------------------------
227
+ /** Refresh the persisted-session list into the store (sidebar). */
228
+ async refreshSessions() {
229
+ const res = await this.query("_chances/unstable/list_sessions", {});
230
+ const sessions = res.sessions ?? [];
231
+ this.store.setState({ sessions });
232
+ return sessions;
233
+ }
234
+ /** Start a fresh session (switches the active engine). Clears the transcript so
235
+ * the new session starts empty, then refreshes the list. */
236
+ async newSession() {
237
+ this.view.clearLines();
238
+ const res = await this.query("session/new", { cwd: "", mcpServers: [] });
239
+ // (codex R4 M1) Reset the cursor to the new session's ring (starts at 0).
240
+ if (res.sessionId)
241
+ this.switchActiveSession(res.sessionId, 0);
242
+ void this.refreshSessions().catch(() => { });
243
+ }
244
+ /** Switch to an existing session: clear the transcript (the relay replays the
245
+ * loaded session's history right after) + send session/load. PRIVILEGED — a
246
+ * lease viewer is rejected `not_controller`. */
247
+ async loadSession(id) {
248
+ this.view.clearLines();
249
+ await this.query("session/load", { sessionId: id, cwd: "", mcpServers: [] });
250
+ // (codex R4 M1) Restore this session's saved cursor (0 if never seen).
251
+ this.switchActiveSession(id, this.sessionCursors.get(id) ?? 0);
252
+ }
253
+ /** (codex R4 M1) Switch the active session: snapshot the OUTGOING session's
254
+ * cursor, then make `id` active with `lastSeq` (its own ring's cursor). Keeps
255
+ * `store.lastSeq` as the active session's reconnect cursor. */
256
+ switchActiveSession(id, lastSeq) {
257
+ const prev = this.store.getState().sessionId;
258
+ if (prev && prev !== id)
259
+ this.sessionCursors.set(prev, this.store.getState().lastSeq);
260
+ this.store.setState({ sessionId: id, lastSeq });
261
+ }
262
+ // -- (7.5 W3) interactive terminal -----------------------------------------
263
+ // Methods inline the `_chances/unstable/terminal/*` strings (a value import of
264
+ // @chances-ai/wire would drag the engine in). open is a request (returns the
265
+ // id); input/resize/close are fire-and-forget notifications; output arrives as
266
+ // a `terminal/output` notification fanned to {@link onTerminalOutput} listeners.
267
+ /** Open a PTY of `cols`×`rows`; resolves with its `terminalId`. Privileged —
268
+ * rejects (`not_controller`) for a lease viewer. */
269
+ async openTerminal(cols, rows) {
270
+ const res = await this.query("_chances/unstable/terminal/open", { cols, rows });
271
+ return res.terminalId;
272
+ }
273
+ /** Send keystrokes/data to a terminal (notification). */
274
+ sendTerminalInput(terminalId, data) {
275
+ this.sendRaw({ jsonrpc: "2.0", method: "_chances/unstable/terminal/input", params: { terminalId, data } });
276
+ }
277
+ /** Resize a terminal (notification). */
278
+ resizeTerminal(terminalId, cols, rows) {
279
+ this.sendRaw({ jsonrpc: "2.0", method: "_chances/unstable/terminal/resize", params: { terminalId, cols, rows } });
280
+ }
281
+ /** Kill a terminal (notification). */
282
+ closeTerminal(terminalId) {
283
+ this.sendRaw({ jsonrpc: "2.0", method: "_chances/unstable/terminal/close", params: { terminalId } });
284
+ }
285
+ /** Subscribe to terminal output. Returns an unsubscribe fn. */
286
+ onTerminalOutput(cb) {
287
+ this.terminalListeners.add(cb);
288
+ return () => this.terminalListeners.delete(cb);
289
+ }
208
290
  /** Shared request/response helper for the read-only queries. */
209
291
  query(method, params) {
210
292
  const id = this.nextId();
@@ -256,6 +338,10 @@ export class RpcClient {
256
338
  this.onExtEvent(msg.params);
257
339
  else if (msg.method === "_chances/unstable/control")
258
340
  this.onControlState(msg.params);
341
+ else if (msg.method === "_chances/unstable/workspace_changed")
342
+ this.onWorkspaceChanged(msg.params);
343
+ else if (msg.method === "_chances/unstable/terminal/output")
344
+ this.onTerminalOutputFrame(msg.params);
259
345
  return; // unknown notification → ignore
260
346
  }
261
347
  if (msg.id !== undefined && ("result" in msg || "error" in msg)) {
@@ -295,6 +381,13 @@ export class RpcClient {
295
381
  // (v23 M5) Show the 3-pane IDE's file/code/git panes only when the agent
296
382
  // advertises read-only workspace queries (a plain ACP server reports false).
297
383
  const workspaceQueriesSupported = caps?.workspaceQueries === true;
384
+ // (7.5 W1) Enable the Monaco read-WRITE editor only when the agent
385
+ // advertises apply_edit (else the editor falls back to read-only).
386
+ const workspaceEditsSupported = caps?.workspaceEdits === true;
387
+ // (7.5 W3) Show the interactive xterm terminal only when advertised.
388
+ const terminalSupported = caps?.terminal === true;
389
+ // (7.5 W4) Show the switchable session sidebar only when advertised.
390
+ const listSessionsSupported = caps?.listSessions === true;
298
391
  const nsId = this.nextId();
299
392
  const ns = this.expectResponse(nsId);
300
393
  this.sendRaw({ jsonrpc: "2.0", id: nsId, method: "session/new", params: { cwd: "", mcpServers: [] } });
@@ -307,7 +400,12 @@ export class RpcClient {
307
400
  approvalMode,
308
401
  approvalSupported,
309
402
  workspaceQueriesSupported,
403
+ workspaceEditsSupported,
404
+ terminalSupported,
405
+ listSessionsSupported,
310
406
  });
407
+ if (listSessionsSupported)
408
+ void this.refreshSessions().catch(() => { });
311
409
  }
312
410
  catch {
313
411
  // Transport died mid-handshake — the reconnect machinery retries.
@@ -394,6 +492,26 @@ export class RpcClient {
394
492
  }
395
493
  // compaction/subagent carry no store action.
396
494
  }
495
+ /** (7.5 W1) A `_chances/unstable/workspace_changed` notification — another
496
+ * device (or this one) wrote `path`. Re-read it if it's the open file, and
497
+ * refresh git status so the change-bars / env panel stay current. Fire-and-
498
+ * forget (best-effort refresh; a failure just leaves stale data). */
499
+ onWorkspaceChanged(params) {
500
+ const path = params?.path;
501
+ if (typeof path !== "string")
502
+ return;
503
+ if (this.store.getState().openFile?.path === path)
504
+ void this.openFileInViewer(path).catch(() => { });
505
+ void this.refreshGitStatus().catch(() => { });
506
+ }
507
+ /** (7.5 W3) A `terminal/output` notification → fan to the xterm listeners. */
508
+ onTerminalOutputFrame(params) {
509
+ const p = (params ?? {});
510
+ if (typeof p.terminalId !== "string" || typeof p.data !== "string")
511
+ return;
512
+ for (const cb of [...this.terminalListeners])
513
+ cb(p.terminalId, p.data);
514
+ }
397
515
  /** A `_chances/unstable/control` notification (a lease handoff / state change):
398
516
  * recompute whether THIS client may drive. */
399
517
  onControlState(params) {
@@ -406,26 +524,36 @@ export class RpcClient {
406
524
  return { leaseEnabled: lease, isController: !lease || holder === this.clientId, controlEpoch };
407
525
  }
408
526
  onResponse(id, result, error) {
409
- // A controller-lease rejection (not_controller) is targeted to THIS client,
410
- // but its id is the SERVER's permission id (not ours), so handle it BEFORE the
411
- // ownsId fan-out filter would drop it else a viewer's rejected permission
412
- // answer fails silently (codex M4-review SHOULD).
527
+ const idStr = String(id);
528
+ // (7.5 W6 / codex R2 M2) A response to a request WE issued including a
529
+ // `not_controller` rejection of OUR own applyEdit / openTerminal / session.load
530
+ // / list (off-ring query waiters). Reject the waiter so the caller's Promise
531
+ // settles (else Save sticks on "Saving…", terminal-open never errors). MUST run
532
+ // BEFORE the global not_controller branch below.
533
+ if (this.ownsId(idStr)) {
534
+ const waiter = this.waiters.get(idStr);
535
+ if (waiter) {
536
+ this.waiters.delete(idStr);
537
+ if (error) {
538
+ waiter.reject(new Error(error.message ?? "request failed"));
539
+ if (error.code === NOT_CONTROLLER)
540
+ this.store.setState({ lastError: error.message ?? "not the controller" });
541
+ }
542
+ else {
543
+ waiter.resolve(result);
544
+ }
545
+ return;
546
+ }
547
+ }
548
+ // A controller-lease rejection NOT tied to one of our waiters — a VIEWER's
549
+ // permission answer, whose id is the SERVER's permission id (not ours). Surface
550
+ // it (else it fails silently); the ownsId filter below would otherwise drop it.
413
551
  if (error && error.code === NOT_CONTROLLER) {
414
552
  this.store.setState({ busy: false, lastError: error.message ?? "not the controller" });
415
553
  return;
416
554
  }
417
- const idStr = String(id);
418
555
  if (!this.ownsId(idStr))
419
556
  return; // fan-out: another tab's response
420
- const waiter = this.waiters.get(idStr);
421
- if (waiter) {
422
- this.waiters.delete(idStr);
423
- if (error)
424
- waiter.reject(new Error(error.message ?? "request failed"));
425
- else
426
- waiter.resolve(result);
427
- return;
428
- }
429
557
  // No waiter → a fire-and-forget `session/prompt`'s terminal response (or its
430
558
  // rejection). A rejected prompt (AGENT_BUSY) releases the optimistic busy.
431
559
  if (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client-core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client-core/client.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@
8
8
  import { type StoreApi } from "zustand/vanilla";
9
9
  import type { ModelInfo } from "@chances-ai/wire/rpc";
10
10
  import type { ApprovalMode, JSONValue } from "@chances-ai/runtime";
11
+ import type { SessionSummary } from "@chances-ai/ui-core";
12
+ export type { SessionSummary };
11
13
  /** `reconnecting` (M2): the transport dropped without a user close — the client
12
14
  * is backing off + retrying onto the SAME live session, keeping its transcript
13
15
  * + pending permission. `closed`/`error` are now reserved for a USER close or
@@ -72,6 +74,9 @@ export interface ReadFileResult {
72
74
  export interface GitFileStatus {
73
75
  path: string;
74
76
  status: string;
77
+ /** (7.5 W5) Lines added/removed vs HEAD (for the file-tree change-bar). */
78
+ added?: number;
79
+ removed?: number;
75
80
  }
76
81
  export interface GitStatusResult {
77
82
  repo: boolean;
@@ -88,6 +93,23 @@ export interface GitDiffResult {
88
93
  removed: number;
89
94
  };
90
95
  }
96
+ /** (7.5 W1) A client-initiated workspace write (Monaco save). Mirrors the engine
97
+ * `ApplyEditParams`/`ApplyEditResult` shape (kept decoupled — browser-safe). */
98
+ export interface ApplyEditParams {
99
+ path: string;
100
+ content?: string;
101
+ edits?: Array<{
102
+ oldText: string;
103
+ newText: string;
104
+ replaceAll?: boolean;
105
+ }>;
106
+ }
107
+ export interface ApplyEditResult {
108
+ ok: true;
109
+ path: string;
110
+ oldText: string;
111
+ newText: string;
112
+ }
91
113
  export interface ClientState {
92
114
  status: ConnectionStatus;
93
115
  sessionId: string | null;
@@ -130,6 +152,20 @@ export interface ClientState {
130
152
  * (`workspaceQueries` capability) — the 3-pane IDE shows the file tree / code
131
153
  * viewer / environment panel only when true (a plain ACP server reports false). */
132
154
  workspaceQueriesSupported: boolean;
155
+ /** (7.5 W1) Whether the agent advertises `apply_edit` (`workspaceEdits`
156
+ * capability) — the code pane is an editable Monaco editor when true, a
157
+ * read-only viewer otherwise (offline / a plain ACP server / no controller). */
158
+ workspaceEditsSupported: boolean;
159
+ /** (7.5 W3) Whether the agent advertises the interactive PTY terminal
160
+ * (`terminal` capability — off by default server-side). The xterm pane shows
161
+ * only when true. */
162
+ terminalSupported: boolean;
163
+ /** (7.5 W4) Whether the agent advertises multi-session list/load. The sidebar
164
+ * shows the switchable session list only when true. */
165
+ listSessionsSupported: boolean;
166
+ /** (7.5 W4) Persisted sessions (newest-first), refreshed via
167
+ * `RpcClient.refreshSessions`. The active one is `sessionId`. */
168
+ sessions: SessionSummary[];
133
169
  /** (v23 M5) Latest `git_status` (branch + ahead/behind + changed files), shared
134
170
  * by the environment panel + the file tree's change badges; null until first
135
171
  * fetched / when not a repo. Refreshed via `RpcClient.refreshGitStatus`. */
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/client-core/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/client-core/store.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@ export function initialClientState() {
26
26
  isController: true, // lease off by default ⇒ this client may drive
27
27
  controlEpoch: 0,
28
28
  workspaceQueriesSupported: false,
29
+ workspaceEditsSupported: false,
30
+ terminalSupported: false,
31
+ listSessionsSupported: false,
32
+ sessions: [],
29
33
  gitStatus: null,
30
34
  openFile: null,
31
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/client-core/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAiB,MAAM,iBAAiB,CAAC;AA6I7D,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,SAAS;QACvB,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,KAAK;QACX,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,IAAI,EAAE,+CAA+C;QACnE,YAAY,EAAE,CAAC;QACf,yBAAyB,EAAE,KAAK;QAChC,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAID,MAAM,UAAU,iBAAiB;IAC/B,OAAO,WAAW,CAAc,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/client-core/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAiB,MAAM,iBAAiB,CAAC;AA+K7D,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,SAAS;QACvB,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,KAAK;QACX,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,IAAI,EAAE,+CAA+C;QACnE,YAAY,EAAE,CAAC;QACf,yBAAyB,EAAE,KAAK;QAChC,uBAAuB,EAAE,KAAK;QAC9B,iBAAiB,EAAE,KAAK;QACxB,qBAAqB,EAAE,KAAK;QAC5B,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAID,MAAM,UAAU,iBAAiB;IAC/B,OAAO,WAAW,CAAc,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC9D,CAAC"}
@@ -29,7 +29,7 @@ export interface Transport {
29
29
  * `?last_event_id=N` query param (a browser `WebSocket` cannot set headers).
30
30
  * `RpcClient` calls the factory once per (re)connect, passing its current
31
31
  * `lastSeq`. */
32
- export type TransportFactory = (handlers: TransportHandlers, lastSeq?: number, clientId?: string) => Transport;
32
+ export type TransportFactory = (handlers: TransportHandlers, lastSeq?: number, clientId?: string, sessionId?: string) => Transport;
33
33
  /**
34
34
  * WebSocket transport over the global `WebSocket` (present in browsers and
35
35
  * Bun). Commands sent before the socket opens are buffered and flushed on open,
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/client-core/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,MAAM,IAAI,IAAI,CAAC;IACf,iEAAiE;IACjE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2CAA2C;IAC3C,OAAO,IAAI,IAAI,CAAC;IAChB,mEAAmE;IACnE,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,mEAAmE;IACnE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uCAAuC;IACvC,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;iBAMiB;AACjB,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC;AAE/G;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAmC,GACjE,gBAAgB,CAuDlB;AAcD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI/E"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/client-core/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,MAAM,IAAI,IAAI,CAAC;IACf,iEAAiE;IACjE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2CAA2C;IAC3C,OAAO,IAAI,IAAI,CAAC;IAChB,mEAAmE;IACnE,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,mEAAmE;IACnE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uCAAuC;IACvC,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;iBAMiB;AACjB,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC;AAEnI;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAmC,GACjE,gBAAgB,CA0DlB;AAcD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI/E"}
@@ -18,13 +18,17 @@
18
18
  * fake socket (no real network).
19
19
  */
20
20
  export function webSocketTransport(url, createSocket = (u) => new WebSocket(u)) {
21
- return (handlers, lastSeq, clientId) => {
21
+ return (handlers, lastSeq, clientId, sessionId) => {
22
22
  // Carry the reconnect cursor + clientId as query params (a browser WebSocket
23
23
  // can't set headers). Cursor omitted on a fresh connect; clientId lets the
24
24
  // relay attribute commands to a client for the controller lease (§5).
25
25
  let target = lastSeq && lastSeq > 0 ? appendLastEventId(url, lastSeq) : url;
26
26
  if (clientId)
27
27
  target = appendQuery(target, "client_id", clientId);
28
+ // (7.5 §14) Carry the active session so a reconnect re-attaches to the right
29
+ // SessionUnit's ring (else the relay falls back to the default session).
30
+ if (sessionId)
31
+ target = appendQuery(target, "session_id", sessionId);
28
32
  const ws = createSocket(target);
29
33
  const pending = [];
30
34
  let open = false;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/client-core/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/client-core/transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { ReadFileResult, RpcClient } from "../client-core/index.js";
2
+ import type { Mode } from "./theme-context.js";
3
+ /** Monaco theme id per colour mode (registered in `beforeMount`). */
4
+ export declare function monacoThemeId(mode: Mode): string;
5
+ /** Map our highlight.js-style language id (langFromPath) to a Monaco language id.
6
+ * Monaco falls back to plaintext for an unknown id, so only the few that differ
7
+ * need translating. */
8
+ export declare function editorLanguage(path: string): string;
9
+ /** The draft differs from what's on disk ⇒ a Save is meaningful. */
10
+ export declare function isDirty(draft: string, openFile: ReadFileResult | null): boolean;
11
+ export interface CodeEditorProps {
12
+ client: RpcClient;
13
+ openFile: ReadFileResult | null;
14
+ /** Editable when true; a lease viewer / no-write-cap gets read-only. */
15
+ canWrite: boolean;
16
+ mode: Mode;
17
+ }
18
+ export declare function CodeEditor({ client, openFile, canWrite, mode }: CodeEditorProps): import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=code-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-editor.d.ts","sourceRoot":"","sources":["../../src/web-ui/code-editor.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAa/C,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEhD;AAED;;wBAEwB;AACxB,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,oEAAoE;AACpE,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAE/E;AAID,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,eAAe,2CAgH/E"}