@pentoshi/clai 4.11.9 → 4.11.11
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/agent/injected-blocks.d.ts +6 -0
- package/dist/agent/injected-blocks.js +29 -13
- package/dist/agent/injected-blocks.js.map +1 -1
- package/dist/agent/plan-tool.js +5 -1
- package/dist/agent/plan-tool.js.map +1 -1
- package/dist/agent/responder-context.js +8 -12
- package/dist/agent/responder-context.js.map +1 -1
- package/dist/agent/stream-recovery.js +15 -1
- package/dist/agent/stream-recovery.js.map +1 -1
- package/dist/agent/tool-history.js +3 -3
- package/dist/agent/tool-history.js.map +1 -1
- package/dist/agent/turn/history-writer.d.ts +1 -1
- package/dist/agent/turn/history-writer.js +8 -6
- package/dist/agent/turn/history-writer.js.map +1 -1
- package/dist/agent/turn/loop/deps.d.ts +1 -1
- package/dist/agent/turn/loop/round-request.js +2 -0
- package/dist/agent/turn/loop/round-request.js.map +1 -1
- package/dist/agent/turn/loop/run-rounds.js +1 -1
- package/dist/agent/turn/loop/run-rounds.js.map +1 -1
- package/dist/agent/turn/loop/stream-failure.d.ts +1 -0
- package/dist/agent/turn/loop/stream-failure.js +1 -0
- package/dist/agent/turn/loop/stream-failure.js.map +1 -1
- package/dist/agent/turn/mcp-agent-tools.js +6 -0
- package/dist/agent/turn/mcp-agent-tools.js.map +1 -1
- package/dist/classic/panels/confirm-panel.js +1 -0
- package/dist/classic/panels/confirm-panel.js.map +1 -1
- package/dist/llm/adapters/openai-tools.js +3 -1
- package/dist/llm/adapters/openai-tools.js.map +1 -1
- package/dist/llm/anthropic.d.ts +1 -1
- package/dist/llm/anthropic.js +20 -15
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/capabilities.d.ts +5 -3
- package/dist/llm/capabilities.js +49 -17
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/capability/state.js +4 -8
- package/dist/llm/capability/state.js.map +1 -1
- package/dist/llm/custom-providers.d.ts +2 -0
- package/dist/llm/custom-providers.js +69 -7
- package/dist/llm/custom-providers.js.map +1 -1
- package/dist/llm/free.d.ts +2 -0
- package/dist/llm/free.js +32 -2
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/key-rotation.js +2 -5
- package/dist/llm/key-rotation.js.map +1 -1
- package/dist/llm/learned-capabilities.d.ts +2 -0
- package/dist/llm/learned-capabilities.js +31 -7
- package/dist/llm/learned-capabilities.js.map +1 -1
- package/dist/llm/model-families.js +9 -0
- package/dist/llm/model-families.js.map +1 -1
- package/dist/llm/model-layers/model-rules.js +1 -0
- package/dist/llm/model-layers/model-rules.js.map +1 -1
- package/dist/llm/provider-profile-layers.js +1 -1
- package/dist/llm/provider-profile-layers.js.map +1 -1
- package/dist/llm/provider-profiles.js +3 -1
- package/dist/llm/provider-profiles.js.map +1 -1
- package/dist/llm/quota-signals.d.ts +4 -0
- package/dist/llm/quota-signals.js +22 -0
- package/dist/llm/quota-signals.js.map +1 -0
- package/dist/llm/request-plan.js +15 -5
- package/dist/llm/request-plan.js.map +1 -1
- package/dist/llm/responses-request.js +3 -1
- package/dist/llm/responses-request.js.map +1 -1
- package/dist/llm/router.d.ts +1 -0
- package/dist/llm/router.js +6 -0
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/routing/attempt-complete.js +13 -4
- package/dist/llm/routing/attempt-complete.js.map +1 -1
- package/dist/llm/routing/attempt-request.js +9 -1
- package/dist/llm/routing/attempt-request.js.map +1 -1
- package/dist/llm/routing/attempt-stream.js +13 -4
- package/dist/llm/routing/attempt-stream.js.map +1 -1
- package/dist/llm/routing/error-classification.d.ts +1 -0
- package/dist/llm/routing/error-classification.js +40 -6
- package/dist/llm/routing/error-classification.js.map +1 -1
- package/dist/llm/routing/failure-report.js +13 -0
- package/dist/llm/routing/failure-report.js.map +1 -1
- package/dist/llm/routing/key-rotation.d.ts +1 -0
- package/dist/llm/routing/key-rotation.js +5 -0
- package/dist/llm/routing/key-rotation.js.map +1 -1
- package/dist/llm/wire/response-errors.d.ts +1 -0
- package/dist/llm/wire/response-errors.js +67 -0
- package/dist/llm/wire/response-errors.js.map +1 -1
- package/dist/llm/wire/responses-failure.d.ts +7 -0
- package/dist/llm/wire/responses-failure.js +49 -0
- package/dist/llm/wire/responses-failure.js.map +1 -0
- package/dist/llm/wire/responses-first.js +15 -56
- package/dist/llm/wire/responses-first.js.map +1 -1
- package/dist/mcp/auth/device.d.ts +29 -0
- package/dist/mcp/auth/device.js +125 -0
- package/dist/mcp/auth/device.js.map +1 -0
- package/dist/mcp/auth/loopback.d.ts +1 -0
- package/dist/mcp/auth/loopback.js +22 -2
- package/dist/mcp/auth/loopback.js.map +1 -1
- package/dist/mcp/auth/metadata.js +3 -0
- package/dist/mcp/auth/metadata.js.map +1 -1
- package/dist/mcp/auth/provider.d.ts +7 -1
- package/dist/mcp/auth/provider.js +111 -6
- package/dist/mcp/auth/provider.js.map +1 -1
- package/dist/mcp/auth/registration.d.ts +1 -0
- package/dist/mcp/auth/registration.js +4 -2
- package/dist/mcp/auth/registration.js.map +1 -1
- package/dist/mcp/auth/types.d.ts +8 -0
- package/dist/mcp/coerce.d.ts +5 -0
- package/dist/mcp/coerce.js +104 -0
- package/dist/mcp/coerce.js.map +1 -0
- package/dist/mcp/config-file.d.ts +6 -0
- package/dist/mcp/config-file.js +18 -2
- package/dist/mcp/config-file.js.map +1 -1
- package/dist/mcp/index.d.ts +3 -1
- package/dist/mcp/index.js +3 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/known-servers.d.ts +36 -0
- package/dist/mcp/known-servers.js +265 -0
- package/dist/mcp/known-servers.js.map +1 -0
- package/dist/mcp/manager.d.ts +6 -1
- package/dist/mcp/manager.js +51 -1
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/runtime.d.ts +6 -0
- package/dist/mcp/runtime.js +109 -6
- package/dist/mcp/runtime.js.map +1 -1
- package/dist/mcp/transport-http.js +4 -4
- package/dist/mcp/transport-http.js.map +1 -1
- package/dist/mcp/transport.d.ts +3 -2
- package/dist/mcp/transport.js +3 -1
- package/dist/mcp/transport.js.map +1 -1
- package/dist/mcp/validation.js +4 -1
- package/dist/mcp/validation.js.map +1 -1
- package/dist/noninteractive/start-noninteractive.js +6 -1
- package/dist/noninteractive/start-noninteractive.js.map +1 -1
- package/dist/safety/tool-classification.js +2 -1
- package/dist/safety/tool-classification.js.map +1 -1
- package/dist/session-runtime/attach-output.d.ts +12 -0
- package/dist/session-runtime/attach-output.js +52 -0
- package/dist/session-runtime/attach-output.js.map +1 -0
- package/dist/session-runtime/client.js +144 -69
- package/dist/session-runtime/client.js.map +1 -1
- package/dist/session-runtime/host.js +10 -11
- package/dist/session-runtime/host.js.map +1 -1
- package/dist/store/session-model.js +9 -7
- package/dist/store/session-model.js.map +1 -1
- package/dist/tools/definitions/aggregate.js +14 -0
- package/dist/tools/definitions/aggregate.js.map +1 -1
- package/dist/tools/definitions.js +2 -1
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tui-v2/bootstrap/resize-repaint.d.ts +1 -37
- package/dist/tui-v2/bootstrap/resize-repaint.js +9 -77
- package/dist/tui-v2/bootstrap/resize-repaint.js.map +1 -1
- package/dist/tui-v2/bootstrap/start-tui-v2.js +13 -27
- package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
- package/dist/tui-v2/components/jobs/jobs-panel.d.ts +2 -5
- package/dist/tui-v2/components/jobs/jobs-panel.js +4 -6
- package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
- package/dist/tui-v2/components/modal/confirm-modal.js +1 -0
- package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
- package/dist/tui-v2/components/status/status-line.d.ts +1 -3
- package/dist/tui-v2/components/status/status-line.js +2 -3
- package/dist/tui-v2/components/status/status-line.js.map +1 -1
- package/dist/tui-v2/components/transcript/thinking-presentation.js +2 -6
- package/dist/tui-v2/components/transcript/thinking-presentation.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-scrollbar.d.ts +2 -4
- package/dist/tui-v2/components/transcript/transcript-scrollbar.js +2 -3
- package/dist/tui-v2/components/transcript/transcript-scrollbar.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.d.ts +1 -3
- package/dist/tui-v2/composer/composer-editor.js +2 -3
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/ui-core/bootstrap/composition-root.js +44 -3
- package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
- package/dist/ui-core/commands/mcp-commands.js +84 -34
- package/dist/ui-core/commands/mcp-commands.js.map +1 -1
- package/dist/ui-core/commands/picker-commands.js +1 -1
- package/dist/ui-core/commands/picker-commands.js.map +1 -1
- package/dist/ui-core/commands/pickers/custom-provider.js +25 -7
- package/dist/ui-core/commands/pickers/custom-provider.js.map +1 -1
- package/dist/ui-core/controllers/overlay-controller.d.ts +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/dist/version.generated.js.map +1 -1
- package/package.json +1 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-classification.js","sourceRoot":"","sources":["../../src/safety/tool-classification.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-classification.js","sourceRoot":"","sources":["../../src/safety/tool-classification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class TerminalAttachOutput {
|
|
2
|
+
private readonly write;
|
|
3
|
+
private readonly limitBytes;
|
|
4
|
+
private replay;
|
|
5
|
+
private pending;
|
|
6
|
+
private pendingBytes;
|
|
7
|
+
private disposed;
|
|
8
|
+
constructor(replay: Uint8Array, write: (bytes: Uint8Array) => void, limitBytes?: number);
|
|
9
|
+
push(bytes: Uint8Array): void;
|
|
10
|
+
finish(repaintAccepted: boolean): void;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
const MAX_PENDING_BYTES = 1024 * 1024;
|
|
2
|
+
export class TerminalAttachOutput {
|
|
3
|
+
write;
|
|
4
|
+
limitBytes;
|
|
5
|
+
replay;
|
|
6
|
+
pending = [];
|
|
7
|
+
pendingBytes = 0;
|
|
8
|
+
disposed = false;
|
|
9
|
+
constructor(replay, write, limitBytes = MAX_PENDING_BYTES) {
|
|
10
|
+
this.write = write;
|
|
11
|
+
this.limitBytes = limitBytes;
|
|
12
|
+
if (!Number.isSafeInteger(limitBytes) || limitBytes < 1) {
|
|
13
|
+
throw new Error("terminal attach limit must be a positive integer");
|
|
14
|
+
}
|
|
15
|
+
this.replay = replay;
|
|
16
|
+
}
|
|
17
|
+
push(bytes) {
|
|
18
|
+
if (this.disposed || bytes.byteLength === 0)
|
|
19
|
+
return;
|
|
20
|
+
if (this.replay === undefined) {
|
|
21
|
+
this.write(bytes);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (this.pendingBytes + bytes.byteLength > this.limitBytes) {
|
|
25
|
+
this.finish(false);
|
|
26
|
+
this.write(bytes);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this.pending.push(Buffer.from(bytes));
|
|
30
|
+
this.pendingBytes += bytes.byteLength;
|
|
31
|
+
}
|
|
32
|
+
finish(repaintAccepted) {
|
|
33
|
+
if (this.disposed || this.replay === undefined)
|
|
34
|
+
return;
|
|
35
|
+
const replay = this.replay;
|
|
36
|
+
const pending = this.pending;
|
|
37
|
+
this.replay = undefined;
|
|
38
|
+
this.pending = [];
|
|
39
|
+
this.pendingBytes = 0;
|
|
40
|
+
if (!repaintAccepted && replay.byteLength > 0)
|
|
41
|
+
this.write(replay);
|
|
42
|
+
for (const bytes of pending)
|
|
43
|
+
this.write(bytes);
|
|
44
|
+
}
|
|
45
|
+
dispose() {
|
|
46
|
+
this.disposed = true;
|
|
47
|
+
this.replay = undefined;
|
|
48
|
+
this.pending = [];
|
|
49
|
+
this.pendingBytes = 0;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=attach-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach-output.js","sourceRoot":"","sources":["../../src/session-runtime/attach-output.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtC,MAAM,OAAO,oBAAoB;IAQZ;IACA;IARX,MAAM,CAAyB;IAC/B,OAAO,GAAiB,EAAE,CAAC;IAC3B,YAAY,GAAG,CAAC,CAAC;IACjB,QAAQ,GAAG,KAAK,CAAC;IAEzB,YACE,MAAkB,EACD,KAAkC,EAClC,aAAa,iBAAiB;QAD9B,UAAK,GAAL,KAAK,CAA6B;QAClC,eAAU,GAAV,UAAU,CAAoB;QAE/C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,KAAiB;QACpB,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,eAAwB;QAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -76,13 +76,19 @@ export function runtimeClientAuthFrame(metadata, role, clientId, dimensions) {
|
|
|
76
76
|
}
|
|
77
77
|
async function openChannel(metadata, role, clientId, dimensions) {
|
|
78
78
|
const socket = await connectRuntimeSocket(metadata.socketPath);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
socket.on("error", () => socket.destroy());
|
|
80
|
+
try {
|
|
81
|
+
sendFrame(socket, runtimeClientAuthFrame(metadata, role, clientId, dimensions));
|
|
82
|
+
const first = await readFirstFrame(socket);
|
|
83
|
+
if (!isAck(first.value)) {
|
|
84
|
+
throw new Error("session runtime rejected the client connection");
|
|
85
|
+
}
|
|
86
|
+
return { socket, first };
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
82
89
|
socket.destroy();
|
|
83
|
-
throw
|
|
90
|
+
throw error;
|
|
84
91
|
}
|
|
85
|
-
return { socket, first };
|
|
86
92
|
}
|
|
87
93
|
function childEnvironment(payload) {
|
|
88
94
|
const env = { ...process.env };
|
|
@@ -247,12 +253,33 @@ function waitForStdoutDrain(timeoutMs = 1_000) {
|
|
|
247
253
|
process.stdout.once("drain", finish);
|
|
248
254
|
});
|
|
249
255
|
}
|
|
250
|
-
function
|
|
251
|
-
const
|
|
252
|
-
|
|
253
|
-
|
|
256
|
+
function resetTerminal(tracker) {
|
|
257
|
+
const sequence = terminalRestoreSequence(tracker.isActive);
|
|
258
|
+
tracker.observe(sequence);
|
|
259
|
+
return new Promise((resolve) => {
|
|
260
|
+
let settled = false;
|
|
261
|
+
const finish = () => {
|
|
262
|
+
if (settled)
|
|
263
|
+
return;
|
|
264
|
+
settled = true;
|
|
265
|
+
clearTimeout(timer);
|
|
266
|
+
process.stdout.off("error", finish);
|
|
267
|
+
resolve();
|
|
268
|
+
};
|
|
269
|
+
const timer = setTimeout(finish, 1_000);
|
|
270
|
+
process.stdout.once("error", finish);
|
|
271
|
+
try {
|
|
272
|
+
process.stdout.write(sequence, (error) => {
|
|
273
|
+
if (!error)
|
|
274
|
+
finish();
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
finish();
|
|
279
|
+
}
|
|
280
|
+
});
|
|
254
281
|
}
|
|
255
|
-
async function attachRuntime(metadata) {
|
|
282
|
+
async function attachRuntime(metadata, altScreen, signal) {
|
|
256
283
|
const clientId = `${process.pid}-${randomUUID()}`;
|
|
257
284
|
const dimensions = {
|
|
258
285
|
columns: terminalColumns(),
|
|
@@ -269,11 +296,10 @@ async function attachRuntime(metadata) {
|
|
|
269
296
|
}
|
|
270
297
|
const control = controlConnection.socket;
|
|
271
298
|
const terminal = terminalConnection.socket;
|
|
272
|
-
const altScreen = new AltScreenTracker();
|
|
273
299
|
let settled = false;
|
|
274
300
|
let exitPending = false;
|
|
275
|
-
let previousRaw;
|
|
276
301
|
let channel;
|
|
302
|
+
let controlCloseTimer;
|
|
277
303
|
let resolveOutcome;
|
|
278
304
|
const outcome = new Promise((resolve) => {
|
|
279
305
|
resolveOutcome = resolve;
|
|
@@ -309,17 +335,8 @@ async function attachRuntime(metadata) {
|
|
|
309
335
|
})();
|
|
310
336
|
}
|
|
311
337
|
};
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
return;
|
|
315
|
-
settle({
|
|
316
|
-
kind: "detach",
|
|
317
|
-
reason: "connection-lost",
|
|
318
|
-
sessionId: metadata.sessionId,
|
|
319
|
-
});
|
|
320
|
-
}, controlConnection.first.rest);
|
|
321
|
-
control.once("close", () => {
|
|
322
|
-
setTimeout(() => {
|
|
338
|
+
const onControlClose = () => {
|
|
339
|
+
controlCloseTimer = setTimeout(() => {
|
|
323
340
|
if (!settled && !exitPending) {
|
|
324
341
|
settle({
|
|
325
342
|
kind: "detach",
|
|
@@ -328,17 +345,17 @@ async function attachRuntime(metadata) {
|
|
|
328
345
|
});
|
|
329
346
|
}
|
|
330
347
|
}, 30).unref?.();
|
|
331
|
-
}
|
|
348
|
+
};
|
|
332
349
|
const stdin = process.stdin;
|
|
333
|
-
previousRaw = stdin.isRaw;
|
|
334
|
-
stdin.setRawMode?.(true);
|
|
335
|
-
stdin.resume();
|
|
336
350
|
const onInput = (bytes) => {
|
|
351
|
+
if (settled || exitPending)
|
|
352
|
+
return;
|
|
337
353
|
if (!terminal.write(bytes))
|
|
338
354
|
stdin.pause();
|
|
339
355
|
};
|
|
340
356
|
const onTerminalDrain = () => {
|
|
341
|
-
|
|
357
|
+
if (!settled && !exitPending)
|
|
358
|
+
stdin.resume();
|
|
342
359
|
};
|
|
343
360
|
const onTerminalError = () => {
|
|
344
361
|
if (exitPending)
|
|
@@ -350,6 +367,8 @@ async function attachRuntime(metadata) {
|
|
|
350
367
|
});
|
|
351
368
|
};
|
|
352
369
|
const onOutput = (bytes) => {
|
|
370
|
+
if (settled)
|
|
371
|
+
return;
|
|
353
372
|
if (!writeOutput(altScreen, bytes))
|
|
354
373
|
terminal.pause();
|
|
355
374
|
};
|
|
@@ -371,25 +390,34 @@ async function attachRuntime(metadata) {
|
|
|
371
390
|
});
|
|
372
391
|
};
|
|
373
392
|
const onTerminate = () => onInputEnd();
|
|
374
|
-
stdin.on("data", onInput);
|
|
375
|
-
stdin.once("end", onInputEnd);
|
|
376
|
-
terminal.on("drain", onTerminalDrain);
|
|
377
|
-
terminal.on("error", onTerminalError);
|
|
378
|
-
terminal.on("data", onOutput);
|
|
379
|
-
process.stdout.on("drain", onStdoutDrain);
|
|
380
|
-
process.on("SIGWINCH", sendResize);
|
|
381
|
-
process.on("SIGHUP", onTerminate);
|
|
382
|
-
process.on("SIGTERM", onTerminate);
|
|
383
|
-
if (terminalConnection.first.rest.length > 0) {
|
|
384
|
-
writeOutput(altScreen, terminalConnection.first.rest);
|
|
385
|
-
}
|
|
386
|
-
terminal.resume();
|
|
387
|
-
sendResize();
|
|
388
393
|
try {
|
|
394
|
+
channel = new JsonFrameChannel(control, receive, onTerminalError, controlConnection.first.rest);
|
|
395
|
+
control.once("close", onControlClose);
|
|
396
|
+
stdin.on("data", onInput);
|
|
397
|
+
stdin.once("end", onInputEnd);
|
|
398
|
+
terminal.on("drain", onTerminalDrain);
|
|
399
|
+
terminal.on("error", onTerminalError);
|
|
400
|
+
terminal.on("data", onOutput);
|
|
401
|
+
process.stdout.on("drain", onStdoutDrain);
|
|
402
|
+
process.on("SIGWINCH", sendResize);
|
|
403
|
+
signal.addEventListener("abort", onTerminate, { once: true });
|
|
404
|
+
if (signal.aborted)
|
|
405
|
+
onTerminate();
|
|
406
|
+
if (!settled) {
|
|
407
|
+
const writable = terminalConnection.first.rest.length === 0 ||
|
|
408
|
+
writeOutput(altScreen, terminalConnection.first.rest);
|
|
409
|
+
if (writable)
|
|
410
|
+
terminal.resume();
|
|
411
|
+
sendResize();
|
|
412
|
+
}
|
|
389
413
|
return await outcome;
|
|
390
414
|
}
|
|
391
415
|
finally {
|
|
392
|
-
|
|
416
|
+
settled = true;
|
|
417
|
+
channel?.dispose();
|
|
418
|
+
if (controlCloseTimer)
|
|
419
|
+
clearTimeout(controlCloseTimer);
|
|
420
|
+
control.off("close", onControlClose);
|
|
393
421
|
stdin.off("data", onInput);
|
|
394
422
|
stdin.off("end", onInputEnd);
|
|
395
423
|
terminal.off("drain", onTerminalDrain);
|
|
@@ -397,12 +425,76 @@ async function attachRuntime(metadata) {
|
|
|
397
425
|
terminal.off("data", onOutput);
|
|
398
426
|
process.stdout.off("drain", onStdoutDrain);
|
|
399
427
|
process.off("SIGWINCH", sendResize);
|
|
400
|
-
|
|
401
|
-
process.off("SIGTERM", onTerminate);
|
|
428
|
+
signal.removeEventListener("abort", onTerminate);
|
|
402
429
|
control.destroy();
|
|
403
430
|
terminal.destroy();
|
|
404
|
-
stdin.
|
|
405
|
-
|
|
431
|
+
stdin.resume();
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
async function runRuntimeClient(options) {
|
|
435
|
+
const stdin = process.stdin;
|
|
436
|
+
const previousRaw = stdin.isRaw;
|
|
437
|
+
const altScreen = new AltScreenTracker();
|
|
438
|
+
const discardInput = () => undefined;
|
|
439
|
+
const controller = new AbortController();
|
|
440
|
+
let interrupted;
|
|
441
|
+
const interrupt = (exitCode) => {
|
|
442
|
+
interrupted ??= { kind: "exit", exitCode };
|
|
443
|
+
controller.abort();
|
|
444
|
+
};
|
|
445
|
+
const onHangup = () => interrupt(129);
|
|
446
|
+
const onTerminate = () => interrupt(143);
|
|
447
|
+
try {
|
|
448
|
+
process.on("SIGHUP", onHangup);
|
|
449
|
+
process.on("SIGTERM", onTerminate);
|
|
450
|
+
stdin.on("data", discardInput);
|
|
451
|
+
stdin.setRawMode?.(true);
|
|
452
|
+
stdin.resume();
|
|
453
|
+
let target = await initialTarget(options.resume);
|
|
454
|
+
for (;;) {
|
|
455
|
+
if (interrupted)
|
|
456
|
+
return interrupted;
|
|
457
|
+
const metadata = await ensureRuntime(options, target);
|
|
458
|
+
if (interrupted)
|
|
459
|
+
return interrupted;
|
|
460
|
+
const outcome = await attachRuntime(metadata, altScreen, controller.signal);
|
|
461
|
+
if (interrupted)
|
|
462
|
+
return interrupted;
|
|
463
|
+
if (outcome.kind !== "switch")
|
|
464
|
+
return outcome;
|
|
465
|
+
await resetTerminal(altScreen);
|
|
466
|
+
try {
|
|
467
|
+
target = await switchTarget(outcome.sessionId, outcome.fresh);
|
|
468
|
+
}
|
|
469
|
+
catch (error) {
|
|
470
|
+
const current = await findLiveRuntime(metadata.sessionId).catch(() => undefined);
|
|
471
|
+
if (!current)
|
|
472
|
+
throw error;
|
|
473
|
+
process.stderr.write(`Unable to switch sessions (${runtimeFallbackMessage(error)}); reattaching the current session.\n`);
|
|
474
|
+
target = { sessionId: current.sessionId };
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
catch (error) {
|
|
479
|
+
if (interrupted)
|
|
480
|
+
return interrupted;
|
|
481
|
+
throw error;
|
|
482
|
+
}
|
|
483
|
+
finally {
|
|
484
|
+
try {
|
|
485
|
+
await resetTerminal(altScreen);
|
|
486
|
+
}
|
|
487
|
+
finally {
|
|
488
|
+
stdin.pause();
|
|
489
|
+
stdin.off("data", discardInput);
|
|
490
|
+
try {
|
|
491
|
+
stdin.setRawMode?.(previousRaw ?? false);
|
|
492
|
+
}
|
|
493
|
+
finally {
|
|
494
|
+
process.off("SIGHUP", onHangup);
|
|
495
|
+
process.off("SIGTERM", onTerminate);
|
|
496
|
+
}
|
|
497
|
+
}
|
|
406
498
|
}
|
|
407
499
|
}
|
|
408
500
|
function reportDetach(outcome) {
|
|
@@ -437,30 +529,13 @@ export async function tryRunDurableInteractive(options) {
|
|
|
437
529
|
const capability = await probePtyCapability();
|
|
438
530
|
if (!capability.available)
|
|
439
531
|
return false;
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
const outcome = await attachRuntime(metadata);
|
|
444
|
-
if (outcome.kind === "switch") {
|
|
445
|
-
try {
|
|
446
|
-
target = await switchTarget(outcome.sessionId, outcome.fresh);
|
|
447
|
-
}
|
|
448
|
-
catch (error) {
|
|
449
|
-
const current = await findLiveRuntime(metadata.sessionId).catch(() => undefined);
|
|
450
|
-
if (!current)
|
|
451
|
-
throw error;
|
|
452
|
-
process.stderr.write(`Unable to switch sessions (${runtimeFallbackMessage(error)}); reattaching the current session.\n`);
|
|
453
|
-
target = { sessionId: current.sessionId };
|
|
454
|
-
}
|
|
455
|
-
continue;
|
|
456
|
-
}
|
|
457
|
-
if (outcome.kind === "exit") {
|
|
458
|
-
process.exitCode = outcome.exitCode;
|
|
459
|
-
return true;
|
|
460
|
-
}
|
|
461
|
-
reportDetach(outcome);
|
|
532
|
+
const outcome = await runRuntimeClient(options);
|
|
533
|
+
if (outcome.kind === "exit") {
|
|
534
|
+
process.exitCode = outcome.exitCode;
|
|
462
535
|
return true;
|
|
463
536
|
}
|
|
537
|
+
reportDetach(outcome);
|
|
538
|
+
return true;
|
|
464
539
|
}
|
|
465
540
|
catch (error) {
|
|
466
541
|
process.stderr.write(`Durable session runtime unavailable (${runtimeFallbackMessage(error)}); using foreground mode.\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/session-runtime/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/session-runtime/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { RUNTIME_CHILD_ENV, RUNTIME_HOST_ENV, RUNTIME_SESSION_ENV, RUNTIME_SOCKE
|
|
|
8
8
|
import { isRuntimeSocketPath, runtimeSocketPath } from "./paths.js";
|
|
9
9
|
import { JsonFrameChannel, readFirstFrame, sendFrame, } from "./protocol.js";
|
|
10
10
|
import { TerminalReplayBuffer } from "./replay-buffer.js";
|
|
11
|
+
import { TerminalAttachOutput } from "./attach-output.js";
|
|
11
12
|
import { TerminalModeState } from "./terminal-modes.js";
|
|
12
13
|
import { enforceIdleRuntimeCap } from "./reaper.js";
|
|
13
14
|
import { createRuntimeToken, deleteRuntimeMetadata, reapStaleRuntimeLock, tryAcquireRuntimeLease, writeRuntimeMetadata, } from "./store.js";
|
|
@@ -382,10 +383,13 @@ export class SessionRuntimeHost {
|
|
|
382
383
|
return;
|
|
383
384
|
}
|
|
384
385
|
if (client.terminal) {
|
|
386
|
+
client.output?.dispose();
|
|
385
387
|
this.releaseOutputBackpressure(client.terminal);
|
|
386
388
|
client.terminal.destroy();
|
|
387
389
|
}
|
|
390
|
+
const output = new TerminalAttachOutput(this.replay.snapshot(), (bytes) => this.writeToTerminal(socket, bytes));
|
|
388
391
|
client.terminal = socket;
|
|
392
|
+
client.output = output;
|
|
389
393
|
this.attached = true;
|
|
390
394
|
this.cancelIdleTimer();
|
|
391
395
|
this.queueMetadata();
|
|
@@ -403,15 +407,8 @@ export class SessionRuntimeHost {
|
|
|
403
407
|
const modes = this.terminalModes.restoreSequence();
|
|
404
408
|
if (modes.length > 0)
|
|
405
409
|
this.writeToTerminal(socket, Buffer.from(modes, "utf8"));
|
|
406
|
-
const replay = this.replay.snapshot();
|
|
407
410
|
const repainted = await this.requestChildRepaint();
|
|
408
|
-
|
|
409
|
-
client.terminal === socket &&
|
|
410
|
-
!socket.destroyed &&
|
|
411
|
-
!repainted &&
|
|
412
|
-
replay.length > 0) {
|
|
413
|
-
this.writeToTerminal(socket, replay);
|
|
414
|
-
}
|
|
411
|
+
output.finish(repainted);
|
|
415
412
|
}
|
|
416
413
|
acceptChild(socket, auth, rest) {
|
|
417
414
|
this.failChildRepaints();
|
|
@@ -554,9 +551,7 @@ export class SessionRuntimeHost {
|
|
|
554
551
|
publishOutput(bytes) {
|
|
555
552
|
this.replay.append(bytes);
|
|
556
553
|
this.terminalModes.observe(bytes);
|
|
557
|
-
|
|
558
|
-
if (terminal)
|
|
559
|
-
this.writeToTerminal(terminal, bytes);
|
|
554
|
+
this.client?.output?.push(bytes);
|
|
560
555
|
}
|
|
561
556
|
writeToTerminal(terminal, bytes) {
|
|
562
557
|
if (!terminal.writable || terminal.destroyed)
|
|
@@ -590,6 +585,7 @@ export class SessionRuntimeHost {
|
|
|
590
585
|
this.transport?.resumeOutput();
|
|
591
586
|
}
|
|
592
587
|
async flushTerminalOutput() {
|
|
588
|
+
this.client?.output?.finish(false);
|
|
593
589
|
const deadline = Date.now() + FINAL_OUTPUT_DRAIN_MS;
|
|
594
590
|
while (Date.now() < deadline) {
|
|
595
591
|
const paused = this.outputPausedFor;
|
|
@@ -654,6 +650,8 @@ export class SessionRuntimeHost {
|
|
|
654
650
|
}
|
|
655
651
|
clientClosed(client, socket) {
|
|
656
652
|
if (client.terminal === socket) {
|
|
653
|
+
client.output?.dispose();
|
|
654
|
+
client.output = undefined;
|
|
657
655
|
client.terminal = undefined;
|
|
658
656
|
this.releaseOutputBackpressure(socket);
|
|
659
657
|
if (this.client === client) {
|
|
@@ -690,6 +688,7 @@ export class SessionRuntimeHost {
|
|
|
690
688
|
return;
|
|
691
689
|
this.client = undefined;
|
|
692
690
|
this.attached = false;
|
|
691
|
+
client.output?.dispose();
|
|
693
692
|
this.releaseOutputBackpressure(client.terminal);
|
|
694
693
|
client.channel?.dispose();
|
|
695
694
|
client.control.end();
|