@chances-ai/wire 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/rpc/acp/engine-driver.d.ts +43 -1
- package/dist/rpc/acp/engine-driver.d.ts.map +1 -1
- package/dist/rpc/acp/engine-driver.js +94 -10
- package/dist/rpc/acp/engine-driver.js.map +1 -1
- package/dist/rpc/acp/event-map.d.ts +20 -0
- package/dist/rpc/acp/event-map.d.ts.map +1 -1
- package/dist/rpc/acp/event-map.js +41 -0
- package/dist/rpc/acp/event-map.js.map +1 -1
- package/dist/rpc/acp/terminal.d.ts +37 -0
- package/dist/rpc/acp/terminal.d.ts.map +1 -0
- package/dist/rpc/acp/terminal.js +46 -0
- package/dist/rpc/acp/terminal.js.map +1 -0
- package/dist/rpc/acp/workspace-edits.d.ts +41 -0
- package/dist/rpc/acp/workspace-edits.d.ts.map +1 -0
- package/dist/rpc/acp/workspace-edits.js +75 -0
- package/dist/rpc/acp/workspace-edits.js.map +1 -0
- package/dist/rpc/driver.d.ts +56 -1
- package/dist/rpc/driver.d.ts.map +1 -1
- package/dist/rpc/index.d.ts +5 -1
- package/dist/rpc/index.d.ts.map +1 -1
- package/dist/rpc/index.js +2 -0
- package/dist/rpc/index.js.map +1 -1
- package/dist/serve/acp-session-host.d.ts +127 -72
- package/dist/serve/acp-session-host.d.ts.map +1 -1
- package/dist/serve/acp-session-host.js +534 -140
- package/dist/serve/acp-session-host.js.map +1 -1
- package/dist/serve/relay-frames.d.ts +7 -0
- package/dist/serve/relay-frames.d.ts.map +1 -1
- package/dist/serve/relay-frames.js +15 -0
- package/dist/serve/relay-frames.js.map +1 -1
- package/dist/serve/relay.d.ts +12 -0
- package/dist/serve/relay.d.ts.map +1 -1
- package/dist/serve/relay.js +43 -2
- package/dist/serve/relay.js.map +1 -1
- package/dist/serve/ws-transport.d.ts.map +1 -1
- package/dist/serve/ws-transport.js +7 -0
- package/dist/serve/ws-transport.js.map +1 -1
- 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;
|
|
1
|
+
{"version":3,"file":"engine-driver.d.ts","sourceRoot":"","sources":["../../../src/rpc/acp/engine-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
221
|
-
|
|
222
|
-
//
|
|
223
|
-
//
|
|
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
|
-
|
|
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":"AAAA,2EAA2E;AAC3E,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,wEAAwE;AACxE,oDAAoD;AACpD,EAAE;AACF,+CAA+C;AAC/C,0CAA0C;AAC1C,sEAAsE;AACtE,uEAAuE;AACvE,4FAA4F;AAC5F,6FAA6F;AAC7F,EAAE;AACF,0DAA0D;AAC1D,+EAA+E;AAC/E,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,wDAAwD;AACxD,iFAAiF;AACjF,kFAAkF;AAClF,wFAAwF;AACxF,uFAAuF;AACvF,2FAA2F;AAC3F,8CAA8C;AAC9C,EAAE;AACF,wEAAwE;AACxE,gFAAgF;AAChF,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,wCAAwC;AACxC,EAAE;AACF,iFAAiF;AACjF,6CAA6C;AAe7C;;yEAEyE;AACzE,MAAM,QAAQ,GAAG,IAAI,CAAC;
|
|
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"}
|