@chances-ai/client 24.3.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.
- package/dist/client-core/client.d.ts +47 -1
- package/dist/client-core/client.d.ts.map +1 -1
- package/dist/client-core/client.js +143 -15
- package/dist/client-core/client.js.map +1 -1
- package/dist/client-core/store.d.ts +36 -0
- package/dist/client-core/store.d.ts.map +1 -1
- package/dist/client-core/store.js +4 -0
- package/dist/client-core/store.js.map +1 -1
- package/dist/client-core/transport.d.ts +1 -1
- package/dist/client-core/transport.d.ts.map +1 -1
- package/dist/client-core/transport.js +5 -1
- package/dist/client-core/transport.js.map +1 -1
- package/dist/web-ui/code-editor.d.ts +19 -0
- package/dist/web-ui/code-editor.d.ts.map +1 -0
- package/dist/web-ui/code-editor.js +111 -0
- package/dist/web-ui/code-editor.js.map +1 -0
- package/dist/web-ui/control-panel.d.ts.map +1 -1
- package/dist/web-ui/control-panel.js +20 -2
- package/dist/web-ui/control-panel.js.map +1 -1
- package/dist/web-ui/file-tree.d.ts.map +1 -1
- package/dist/web-ui/file-tree.js +7 -2
- package/dist/web-ui/file-tree.js.map +1 -1
- package/dist/web-ui/session-hotkeys.d.ts +14 -0
- package/dist/web-ui/session-hotkeys.d.ts.map +1 -0
- package/dist/web-ui/session-hotkeys.js +38 -0
- package/dist/web-ui/session-hotkeys.js.map +1 -0
- package/dist/web-ui/session-sidebar.d.ts +4 -2
- package/dist/web-ui/session-sidebar.d.ts.map +1 -1
- package/dist/web-ui/session-sidebar.js +25 -7
- package/dist/web-ui/session-sidebar.js.map +1 -1
- package/dist/web-ui/settings.d.ts +13 -0
- package/dist/web-ui/settings.d.ts.map +1 -0
- package/dist/web-ui/settings.js +27 -0
- package/dist/web-ui/settings.js.map +1 -0
- package/dist/web-ui/terminal.d.ts +10 -0
- package/dist/web-ui/terminal.d.ts.map +1 -0
- package/dist/web-ui/terminal.js +115 -0
- package/dist/web-ui/terminal.js.map +1 -0
- 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":"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,WAAW,EAChB,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;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client-core/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
410
|
-
//
|
|
411
|
-
//
|
|
412
|
-
//
|
|
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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/client-core/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;uDAGuD;AACvD,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,OAAO,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5F;;sDAEsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACjB;AAMD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AACD,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AACD,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AACD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AACD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED;iFACiF;AACjF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC3E;AACD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,mFAAmF;IACnF,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B;;oEAEgE;IAChE,YAAY,EAAE,YAAY,CAAC;IAC3B;;uFAEmF;IACnF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,+FAA+F;IAC/F,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C;qFACiF;IACjF,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iFAAiF;IACjF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gFAAgF;IAChF,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IACxB;oFACgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;+EAG2E;IAC3E,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB;;wFAEoF;IACpF,yBAAyB,EAAE,OAAO,CAAC;IACnC;;qFAEiF;IACjF,uBAAuB,EAAE,OAAO,CAAC;IACjC;;0BAEsB;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B;4DACwD;IACxD,qBAAqB,EAAE,OAAO,CAAC;IAC/B;sEACkE;IAClE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B;;iFAE6E;IAC7E,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC;oFACgF;IAChF,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,kBAAkB,IAAI,WAAW,CA2BhD;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAEhD,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C"}
|
|
@@ -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;
|
|
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;
|
|
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":"AAAA;;;;;;;GAOG;AA6BH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,eAA2C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;IAElE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;
|
|
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"}
|