@markusylisiurunen/tau 0.3.27 → 0.3.29
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/README.md +10 -8
- package/dist/core/config/runtime.js +5 -1
- package/dist/core/config/runtime.js.map +1 -1
- package/dist/core/config/runtime_config_snapshot.js +5 -1
- package/dist/core/config/runtime_config_snapshot.js.map +1 -1
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/diff_review/snapshot.js +3 -3
- package/dist/core/diff_review/snapshot.js.map +1 -1
- package/dist/core/index.js +0 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/runtime/runtime_bootstrap.js +5 -1
- package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
- package/dist/core/session/direct_bash.js +1 -0
- package/dist/core/session/direct_bash.js.map +1 -1
- package/dist/core/session/runner.js +1 -0
- package/dist/core/session/runner.js.map +1 -1
- package/dist/core/session/session_engine.js +48 -12
- package/dist/core/session/session_engine.js.map +1 -1
- package/dist/core/subagents/control_plane.js +0 -37
- package/dist/core/subagents/control_plane.js.map +1 -1
- package/dist/core/subagents/subagent_engine.js +5 -8
- package/dist/core/subagents/subagent_engine.js.map +1 -1
- package/dist/core/telegram/adapter.js +51 -1
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/telegram/config.js +0 -8
- package/dist/core/telegram/config.js.map +1 -1
- package/dist/core/telegram/session_manager.js +128 -49
- package/dist/core/telegram/session_manager.js.map +1 -1
- package/dist/core/telegram/workspace.js +18 -76
- package/dist/core/telegram/workspace.js.map +1 -1
- package/dist/core/tools/bash.js +16 -8
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/catalog.js +1 -5
- package/dist/core/tools/catalog.js.map +1 -1
- package/dist/core/tools/execution_backend.js +81 -153
- package/dist/core/tools/execution_backend.js.map +1 -1
- package/dist/core/tools/registry.js +0 -3
- package/dist/core/tools/registry.js.map +1 -1
- package/dist/core/tools/spawn_agent.js +1 -1
- package/dist/core/tools/spawn_agent.js.map +1 -1
- package/dist/core/tools/terminate_agent.js +5 -11
- package/dist/core/tools/terminate_agent.js.map +1 -1
- package/dist/core/tools/tool_names.js +0 -8
- package/dist/core/tools/tool_names.js.map +1 -1
- package/dist/core/tools/wait_for_agents.js +3 -11
- package/dist/core/tools/wait_for_agents.js.map +1 -1
- package/dist/core/utils/compact.js +53 -11
- package/dist/core/utils/compact.js.map +1 -1
- package/dist/core/utils/project_files.js +14 -1
- package/dist/core/utils/project_files.js.map +1 -1
- package/dist/core/utils/user_metadata.js +14 -0
- package/dist/core/utils/user_metadata.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/execution/cloudflare_sandbox_execution_environment.js +155 -112
- package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -1
- package/dist/execution/fly_sprite_execution_environment.js +109 -91
- package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
- package/dist/execution/sandbox_tool_helpers.js +0 -25
- package/dist/execution/sandbox_tool_helpers.js.map +1 -1
- package/dist/execution/tool_backend_execution_environment.js +4 -1
- package/dist/execution/tool_backend_execution_environment.js.map +1 -1
- package/dist/host/local_session_host.js +68 -53
- package/dist/host/local_session_host.js.map +1 -1
- package/dist/host/session_host.js +5 -0
- package/dist/host/session_host.js.map +1 -1
- package/dist/host/session_protocol_handler.js +108 -103
- package/dist/host/session_protocol_handler.js.map +1 -1
- package/dist/protocol/index.d.ts +2 -2
- package/dist/protocol/index.js +1 -1
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/session_protocol.d.ts +21 -2
- package/dist/protocol/session_protocol.js +114 -28
- package/dist/protocol/session_protocol.js.map +1 -1
- package/dist/sdk/session.js +51 -2
- package/dist/sdk/session.js.map +1 -1
- package/dist/sdk/types.d.ts +5 -0
- package/dist/tui/session_chat_controller.js +5 -50
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/session_tool_execution_backend.js +76 -98
- package/dist/tui/session_tool_execution_backend.js.map +1 -1
- package/dist/tui/ui/subagent_panel.js +0 -13
- package/dist/tui/ui/subagent_panel.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/tools/emit_output.js +0 -58
- package/dist/core/tools/emit_output.js.map +0 -1
- package/dist/core/tools/grep.js +0 -250
- package/dist/core/tools/grep.js.map +0 -1
- package/dist/core/tools/list.js +0 -131
- package/dist/core/tools/list.js.map +0 -1
- package/dist/core/tools/read.js +0 -171
- package/dist/core/tools/read.js.map +0 -1
- package/dist/tui/ui/restricted_execution.js +0 -203
- package/dist/tui/ui/restricted_execution.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { formatSteeringUserMessage } from "../core/runtime/steering.js";
|
|
3
3
|
import { createSessionProtocolErrorResponse, createSessionProtocolPendingUserMessagesMessage, createSessionProtocolReadyMessage, createSessionProtocolSuccessResponse, SESSION_PROTOCOL_ERROR_CODES, SESSION_PROTOCOL_METHODS, SESSION_PROTOCOL_VERSION, } from "../protocol/session_protocol.js";
|
|
4
|
-
import { EphemeralThreadBusyError, } from "./session_host.js";
|
|
4
|
+
import { EphemeralThreadBusyError, SessionExecBusyError, } from "./session_host.js";
|
|
5
5
|
function isAbortError(error) {
|
|
6
6
|
return error instanceof Error && error.name === "AbortError";
|
|
7
7
|
}
|
|
@@ -59,7 +59,9 @@ export class SessionProtocolHandler {
|
|
|
59
59
|
host;
|
|
60
60
|
send;
|
|
61
61
|
sessionStates = new Map();
|
|
62
|
-
|
|
62
|
+
connectionAbortController = new AbortController();
|
|
63
|
+
activeSideChannels = new Set();
|
|
64
|
+
activeExecAbortControllers = new Map();
|
|
63
65
|
initialized = false;
|
|
64
66
|
clientToolRegistration;
|
|
65
67
|
closed = false;
|
|
@@ -110,6 +112,9 @@ export class SessionProtocolHandler {
|
|
|
110
112
|
case "session.exec":
|
|
111
113
|
await this.handleExec(request);
|
|
112
114
|
return;
|
|
115
|
+
case "session.cancelExec":
|
|
116
|
+
await this.handleCancelExec(request);
|
|
117
|
+
return;
|
|
113
118
|
case "session.sample":
|
|
114
119
|
await this.handleSample(request);
|
|
115
120
|
return;
|
|
@@ -177,31 +182,20 @@ export class SessionProtocolHandler {
|
|
|
177
182
|
const shutdownHost = mode === "shutdown-host";
|
|
178
183
|
const interruptActiveTurns = mode === "interrupt" || shutdownHost;
|
|
179
184
|
const states = [...this.sessionStates.values()];
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
sample.abortController.abort();
|
|
183
|
-
samplePromises.add(sample.promise);
|
|
184
|
-
}
|
|
185
|
+
const activeSideChannels = [...this.activeSideChannels];
|
|
186
|
+
this.connectionAbortController.abort();
|
|
185
187
|
for (const state of states) {
|
|
186
188
|
this.unsubscribeSessionListeners(state);
|
|
187
|
-
if (interruptActiveTurns && (state.live.activeSubmit || state.session.isTurnRunning)) {
|
|
188
|
-
state.session.interruptTurn();
|
|
189
|
-
}
|
|
190
189
|
if (interruptActiveTurns) {
|
|
191
|
-
state.session.
|
|
192
|
-
state.session.interruptSamples();
|
|
193
|
-
}
|
|
194
|
-
if (interruptActiveTurns && state.live.activeBash) {
|
|
195
|
-
state.live.activeBash.abortController.abort();
|
|
190
|
+
state.session.interruptActiveWork();
|
|
196
191
|
}
|
|
197
192
|
}
|
|
198
193
|
if (interruptActiveTurns) {
|
|
199
194
|
await Promise.allSettled(states.map((state) => state.session.waitForActiveWork()));
|
|
200
195
|
await Promise.allSettled(states.map((state) => state.live.activeSubmit?.promise).filter((promise) => promise));
|
|
201
|
-
await Promise.allSettled(states.map((state) => state.live.activeBash?.promise).filter((promise) => promise));
|
|
202
196
|
await Promise.allSettled(states.map((state) => getSessionMutationQueueState(state.session).queue));
|
|
203
197
|
}
|
|
204
|
-
await Promise.allSettled(
|
|
198
|
+
await Promise.allSettled(activeSideChannels);
|
|
205
199
|
this.sessionStates.clear();
|
|
206
200
|
this.clientToolRegistration?.unregister();
|
|
207
201
|
this.clientToolRegistration = undefined;
|
|
@@ -285,7 +279,7 @@ export class SessionProtocolHandler {
|
|
|
285
279
|
return;
|
|
286
280
|
}
|
|
287
281
|
const startedSubmit = await this.enqueueMutation(state, () => {
|
|
288
|
-
if (state.live.activeSubmit || state.session.isTurnRunning
|
|
282
|
+
if (state.live.activeSubmit || state.session.isTurnRunning) {
|
|
289
283
|
state.live.pendingQueuedSubmits.push({ id: randomUUID(), handler: this, request });
|
|
290
284
|
publishPendingUserMessages(state.session, state.live);
|
|
291
285
|
return undefined;
|
|
@@ -319,7 +313,7 @@ export class SessionProtocolHandler {
|
|
|
319
313
|
return;
|
|
320
314
|
}
|
|
321
315
|
const startedSubmit = await this.enqueueMutation(state, () => {
|
|
322
|
-
const hasActiveSessionWork = state.live.activeSubmit || state.session.isTurnRunning
|
|
316
|
+
const hasActiveSessionWork = state.live.activeSubmit || state.session.isTurnRunning;
|
|
323
317
|
if (state.live.pendingSteeringSubmits.length > 0 || hasActiveSessionWork) {
|
|
324
318
|
state.live.pendingSteeringSubmits.push({ id: randomUUID(), handler: this, request });
|
|
325
319
|
publishPendingUserMessages(state.session, state.live);
|
|
@@ -376,34 +370,46 @@ export class SessionProtocolHandler {
|
|
|
376
370
|
}));
|
|
377
371
|
}
|
|
378
372
|
async handleExec(request) {
|
|
379
|
-
const
|
|
380
|
-
if (
|
|
381
|
-
this.
|
|
382
|
-
return;
|
|
383
|
-
}
|
|
384
|
-
if (this.getPendingMutationCount(state) > 0 ||
|
|
385
|
-
state.live.activeSubmit ||
|
|
386
|
-
state.session.isTurnRunning ||
|
|
387
|
-
state.live.activeBash) {
|
|
388
|
-
this.sendSubmitBusy(state, request.id);
|
|
389
|
-
return;
|
|
390
|
-
}
|
|
391
|
-
const activeBash = await this.enqueueMutation(state, () => this.startExec(state, request));
|
|
392
|
-
if (!activeBash) {
|
|
373
|
+
const key = this.execKey(request.params.sessionId, request.params.execId);
|
|
374
|
+
if (this.activeExecAbortControllers.has(key)) {
|
|
375
|
+
this.sendMessage(createSessionProtocolErrorResponse(request.id, SESSION_PROTOCOL_ERROR_CODES.busy, `execution '${request.params.execId}' is already active`));
|
|
393
376
|
return;
|
|
394
377
|
}
|
|
378
|
+
const abortController = new AbortController();
|
|
379
|
+
this.activeExecAbortControllers.set(key, abortController);
|
|
395
380
|
try {
|
|
396
|
-
await
|
|
381
|
+
const state = await this.getSessionState(request.params.sessionId);
|
|
382
|
+
if (!state) {
|
|
383
|
+
this.sendSessionNotFound(request.id, request.params.sessionId);
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
if (this.closed) {
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
await this.runSideChannel((signal) => this.executeExec(state, request, AbortSignal.any([signal, abortController.signal])));
|
|
397
390
|
}
|
|
398
391
|
finally {
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
}
|
|
403
|
-
});
|
|
404
|
-
this.schedulePendingSubmitDrains(state);
|
|
392
|
+
if (this.activeExecAbortControllers.get(key) === abortController) {
|
|
393
|
+
this.activeExecAbortControllers.delete(key);
|
|
394
|
+
}
|
|
405
395
|
}
|
|
406
396
|
}
|
|
397
|
+
async handleCancelExec(request) {
|
|
398
|
+
const key = this.execKey(request.params.sessionId, request.params.execId);
|
|
399
|
+
const localController = this.activeExecAbortControllers.get(key);
|
|
400
|
+
let cancelled = false;
|
|
401
|
+
if (localController && !localController.signal.aborted) {
|
|
402
|
+
localController.abort();
|
|
403
|
+
cancelled = true;
|
|
404
|
+
}
|
|
405
|
+
const state = await this.getSessionState(request.params.sessionId);
|
|
406
|
+
if (!state) {
|
|
407
|
+
this.sendSessionNotFound(request.id, request.params.sessionId);
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
cancelled = state.session.cancelExec(request.params.execId) || cancelled;
|
|
411
|
+
this.sendMessage(createSessionProtocolSuccessResponse(request.id, "session.cancelExec", { cancelled }));
|
|
412
|
+
}
|
|
407
413
|
async handleSample(request) {
|
|
408
414
|
const state = await this.getSessionState(request.params.sessionId);
|
|
409
415
|
if (!state) {
|
|
@@ -413,18 +419,7 @@ export class SessionProtocolHandler {
|
|
|
413
419
|
if (this.closed) {
|
|
414
420
|
return;
|
|
415
421
|
}
|
|
416
|
-
|
|
417
|
-
const activeSample = {
|
|
418
|
-
abortController,
|
|
419
|
-
promise: this.executeSample(state, request, abortController.signal),
|
|
420
|
-
};
|
|
421
|
-
this.activeSamples.add(activeSample);
|
|
422
|
-
try {
|
|
423
|
-
await activeSample.promise;
|
|
424
|
-
}
|
|
425
|
-
finally {
|
|
426
|
-
this.activeSamples.delete(activeSample);
|
|
427
|
-
}
|
|
422
|
+
await this.runSideChannel((signal) => this.executeSample(state, request, signal));
|
|
428
423
|
}
|
|
429
424
|
async handleRetry(request) {
|
|
430
425
|
const state = await this.getSessionState(request.params.sessionId);
|
|
@@ -531,7 +526,7 @@ export class SessionProtocolHandler {
|
|
|
531
526
|
});
|
|
532
527
|
}
|
|
533
528
|
async startUserMessageTurn(state, request) {
|
|
534
|
-
if (state.live.activeSubmit || state.session.isTurnRunning
|
|
529
|
+
if (state.live.activeSubmit || state.session.isTurnRunning) {
|
|
535
530
|
this.sendSubmitBusy(state, request.id);
|
|
536
531
|
return undefined;
|
|
537
532
|
}
|
|
@@ -550,7 +545,7 @@ export class SessionProtocolHandler {
|
|
|
550
545
|
};
|
|
551
546
|
}
|
|
552
547
|
startRetry(state, request) {
|
|
553
|
-
if (state.live.activeSubmit || state.session.isTurnRunning
|
|
548
|
+
if (state.live.activeSubmit || state.session.isTurnRunning) {
|
|
554
549
|
this.sendSubmitBusy(state, request.id);
|
|
555
550
|
return undefined;
|
|
556
551
|
}
|
|
@@ -561,17 +556,6 @@ export class SessionProtocolHandler {
|
|
|
561
556
|
activeSubmit,
|
|
562
557
|
};
|
|
563
558
|
}
|
|
564
|
-
startExec(state, request) {
|
|
565
|
-
if (state.live.activeSubmit || state.session.isTurnRunning || state.live.activeBash) {
|
|
566
|
-
this.sendSubmitBusy(state, request.id);
|
|
567
|
-
return undefined;
|
|
568
|
-
}
|
|
569
|
-
const abortController = new AbortController();
|
|
570
|
-
const promise = this.executeExec(state, request, abortController.signal);
|
|
571
|
-
const activeBash = { requestId: request.id, abortController, promise };
|
|
572
|
-
state.live.activeBash = activeBash;
|
|
573
|
-
return activeBash;
|
|
574
|
-
}
|
|
575
559
|
schedulePendingSubmitDrains(state) {
|
|
576
560
|
void this.drainPendingSteeringSubmits(state).catch((error) => {
|
|
577
561
|
this.failPendingUserMessageRequests(state, "session.steer", error);
|
|
@@ -722,20 +706,46 @@ export class SessionProtocolHandler {
|
|
|
722
706
|
this.sendMessage(createSessionProtocolErrorResponse(requestId, SESSION_PROTOCOL_ERROR_CODES.internalError, "failed to run session turn", { cause: error instanceof Error ? error.message : String(error) }));
|
|
723
707
|
}
|
|
724
708
|
}
|
|
709
|
+
execKey(sessionId, execId) {
|
|
710
|
+
return `${sessionId}\0${execId}`;
|
|
711
|
+
}
|
|
712
|
+
async runSideChannel(operation) {
|
|
713
|
+
const promise = operation(this.connectionAbortController.signal);
|
|
714
|
+
this.activeSideChannels.add(promise);
|
|
715
|
+
try {
|
|
716
|
+
await promise;
|
|
717
|
+
}
|
|
718
|
+
finally {
|
|
719
|
+
this.activeSideChannels.delete(promise);
|
|
720
|
+
}
|
|
721
|
+
}
|
|
725
722
|
async executeExec(state, request, signal) {
|
|
726
723
|
try {
|
|
727
724
|
const result = await state.session.exec({
|
|
725
|
+
execId: request.params.execId,
|
|
728
726
|
command: request.params.command,
|
|
727
|
+
...(request.params.args !== undefined ? { args: request.params.args } : {}),
|
|
728
|
+
...(request.params.env !== undefined ? { env: request.params.env } : {}),
|
|
729
|
+
...(request.params.stdinBase64 !== undefined
|
|
730
|
+
? { stdinBase64: request.params.stdinBase64 }
|
|
731
|
+
: {}),
|
|
729
732
|
...(request.params.cwd !== undefined ? { cwd: request.params.cwd } : {}),
|
|
730
733
|
...(request.params.timeoutMs !== undefined ? { timeoutMs: request.params.timeoutMs } : {}),
|
|
734
|
+
...(request.params.maxCaptureBytes !== undefined
|
|
735
|
+
? { maxCaptureBytes: request.params.maxCaptureBytes }
|
|
736
|
+
: {}),
|
|
731
737
|
signal,
|
|
732
738
|
});
|
|
733
739
|
this.sendMessage(createSessionProtocolSuccessResponse(request.id, "session.exec", result));
|
|
734
740
|
}
|
|
735
741
|
catch (error) {
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
742
|
+
const cancelled = signal.aborted || isAbortError(error);
|
|
743
|
+
const busy = error instanceof SessionExecBusyError;
|
|
744
|
+
this.sendMessage(createSessionProtocolErrorResponse(request.id, cancelled
|
|
745
|
+
? SESSION_PROTOCOL_ERROR_CODES.cancelled
|
|
746
|
+
: busy
|
|
747
|
+
? SESSION_PROTOCOL_ERROR_CODES.busy
|
|
748
|
+
: SESSION_PROTOCOL_ERROR_CODES.internalError, cancelled ? "execution was cancelled" : busy ? error.message : "failed to run execution", { cause: error instanceof Error ? error.message : String(error) }));
|
|
739
749
|
}
|
|
740
750
|
}
|
|
741
751
|
async executeSample(state, request, signal) {
|
|
@@ -760,18 +770,11 @@ export class SessionProtocolHandler {
|
|
|
760
770
|
this.sendSessionNotFound(request.id, request.params.sessionId);
|
|
761
771
|
return;
|
|
762
772
|
}
|
|
763
|
-
const
|
|
764
|
-
const interruptedMaintenance = state.session.interruptMaintenance();
|
|
765
|
-
const interruptedBash = Boolean(state.live.activeBash);
|
|
766
|
-
state.live.activeBash?.abortController.abort();
|
|
767
|
-
const interruptedSamples = state.session.interruptSamples();
|
|
773
|
+
const interrupted = state.session.interruptActiveWork();
|
|
768
774
|
this.rejectPendingSteeringSubmits(state, "session was interrupted");
|
|
769
775
|
const result = {
|
|
770
|
-
interrupted
|
|
771
|
-
isTurnRunning: state.session.isTurnRunning ||
|
|
772
|
-
interruptedMaintenance ||
|
|
773
|
-
interruptedBash ||
|
|
774
|
-
interruptedSamples,
|
|
776
|
+
interrupted,
|
|
777
|
+
isTurnRunning: state.session.isTurnRunning || interrupted,
|
|
775
778
|
};
|
|
776
779
|
this.sendMessage(createSessionProtocolSuccessResponse(request.id, "session.interrupt", result));
|
|
777
780
|
}
|
|
@@ -862,13 +865,19 @@ export class SessionProtocolHandler {
|
|
|
862
865
|
});
|
|
863
866
|
}
|
|
864
867
|
async handleEphemeralCreate(request) {
|
|
865
|
-
await this.
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
868
|
+
const state = await this.getSessionState(request.params.sessionId);
|
|
869
|
+
if (!state) {
|
|
870
|
+
this.sendSessionNotFound(request.id, request.params.sessionId);
|
|
871
|
+
return;
|
|
872
|
+
}
|
|
873
|
+
if (this.closed) {
|
|
874
|
+
return;
|
|
875
|
+
}
|
|
876
|
+
const result = await state.session.createEphemeralContext({
|
|
877
|
+
instructions: request.params.instructions,
|
|
878
|
+
tools: request.params.tools,
|
|
871
879
|
});
|
|
880
|
+
this.sendMessage(createSessionProtocolSuccessResponse(request.id, "session.ephemeral.create", result));
|
|
872
881
|
}
|
|
873
882
|
async handleEphemeralSubmit(request) {
|
|
874
883
|
const state = await this.getSessionState(request.params.sessionId);
|
|
@@ -894,10 +903,13 @@ export class SessionProtocolHandler {
|
|
|
894
903
|
}
|
|
895
904
|
}
|
|
896
905
|
async handleEphemeralClose(request) {
|
|
897
|
-
await this.
|
|
898
|
-
|
|
899
|
-
this.
|
|
900
|
-
|
|
906
|
+
const state = await this.getSessionState(request.params.sessionId);
|
|
907
|
+
if (!state) {
|
|
908
|
+
this.sendSessionNotFound(request.id, request.params.sessionId);
|
|
909
|
+
return;
|
|
910
|
+
}
|
|
911
|
+
const result = await state.session.closeEphemeralContext(request.params.contextId);
|
|
912
|
+
this.sendMessage(createSessionProtocolSuccessResponse(request.id, "session.ephemeral.close", result));
|
|
901
913
|
}
|
|
902
914
|
async withSessionMutation(request, queuedSteeringRejectionMessage, handler) {
|
|
903
915
|
const state = await this.getSessionState(request.params.sessionId);
|
|
@@ -1014,7 +1026,10 @@ export class SessionProtocolHandler {
|
|
|
1014
1026
|
return existing;
|
|
1015
1027
|
}
|
|
1016
1028
|
const session = await this.host.observeSession(sessionId);
|
|
1017
|
-
|
|
1029
|
+
if (!session || this.closed) {
|
|
1030
|
+
return undefined;
|
|
1031
|
+
}
|
|
1032
|
+
return this.registerSession(session);
|
|
1018
1033
|
}
|
|
1019
1034
|
flushBufferedDeltasAfterSnapshot(state, snapshotRevision) {
|
|
1020
1035
|
const bufferedDeltas = state.bufferedDeltas;
|
|
@@ -1046,9 +1061,7 @@ export class SessionProtocolHandler {
|
|
|
1046
1061
|
sendSubmitBusy(state, id) {
|
|
1047
1062
|
const message = this.getPendingMutationCount(state) > 0
|
|
1048
1063
|
? "a mutating session request is in progress"
|
|
1049
|
-
:
|
|
1050
|
-
? "a bash command is already running"
|
|
1051
|
-
: "a session turn is already running";
|
|
1064
|
+
: "a session turn is already running";
|
|
1052
1065
|
this.sendMessage(createSessionProtocolErrorResponse(id, SESSION_PROTOCOL_ERROR_CODES.busy, message));
|
|
1053
1066
|
}
|
|
1054
1067
|
enqueueMutation(state, handler) {
|
|
@@ -1072,27 +1085,19 @@ export class SessionProtocolHandler {
|
|
|
1072
1085
|
}
|
|
1073
1086
|
async interruptAndWaitForActiveSubmit(state) {
|
|
1074
1087
|
const activeSubmit = state.live.activeSubmit;
|
|
1075
|
-
|
|
1076
|
-
if (!activeSubmit && !state.session.isTurnRunning && !activeBash) {
|
|
1088
|
+
if (!activeSubmit && !state.session.isTurnRunning) {
|
|
1077
1089
|
return;
|
|
1078
1090
|
}
|
|
1079
1091
|
state.session.interruptTurn();
|
|
1080
|
-
|
|
1081
|
-
if (!activeSubmit && !activeBash) {
|
|
1092
|
+
if (!activeSubmit) {
|
|
1082
1093
|
return;
|
|
1083
1094
|
}
|
|
1084
1095
|
try {
|
|
1085
|
-
await activeSubmit
|
|
1096
|
+
await activeSubmit.promise;
|
|
1086
1097
|
}
|
|
1087
1098
|
catch {
|
|
1088
1099
|
// ignore submit failure while finishing active mutation
|
|
1089
1100
|
}
|
|
1090
|
-
try {
|
|
1091
|
-
await activeBash?.promise;
|
|
1092
|
-
}
|
|
1093
|
-
catch {
|
|
1094
|
-
// ignore bash failure while finishing active mutation
|
|
1095
|
-
}
|
|
1096
1101
|
}
|
|
1097
1102
|
unsubscribeSessionListeners(state) {
|
|
1098
1103
|
this.clientToolRegistration?.detachSession(state.session.sessionId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_protocol_handler.js","sourceRoot":"","sources":["../../src/host/session_protocol_handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session_protocol_handler.js","sourceRoot":"","sources":["../../src/host/session_protocol_handler.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { SessionProtocolAgentRun, SessionProtocolAutocompletePathsParams, SessionProtocolAutocompletePathsResult, SessionProtocolBootstrapSnapshot, SessionProtocolCancelPendingMessagesParams, SessionProtocolCancelPendingMessagesResult, SessionProtocolChange, SessionProtocolCloudflareSandboxExecutionEnvironmentInput, SessionProtocolCloudflareSandboxExecutionEnvironmentSnapshot, SessionProtocolCompactParams, SessionProtocolCompactResult, SessionProtocolContentCatalogSnapshot, SessionProtocolCreateParams, SessionProtocolCreateResult, SessionProtocolDelta, SessionProtocolDeltaMessage, SessionProtocolDeltaReason, SessionProtocolDraftAssistantMessage, SessionProtocolEphemeralAgentThreadUpdateEvent, SessionProtocolEphemeralAgentTool, SessionProtocolEphemeralCloseParams, SessionProtocolEphemeralCloseResult, SessionProtocolEphemeralCreateParams, SessionProtocolEphemeralCreateResult, SessionProtocolEphemeralEvent, SessionProtocolEphemeralMessage, SessionProtocolEphemeralSubmitParams, SessionProtocolEphemeralSubmitResult, SessionProtocolError, SessionProtocolErrorCode, SessionProtocolErrorResponseMessage, SessionProtocolExecParams, SessionProtocolExecResult, SessionProtocolExecutionEnvironmentInput, SessionProtocolExecutionEnvironmentSnapshot, SessionProtocolFacet, SessionProtocolFacetSubject, SessionProtocolFlySpriteExecutionEnvironmentInput, SessionProtocolFlySpriteExecutionEnvironmentSnapshot, SessionProtocolInitializeParams, SessionProtocolInitializeResult, SessionProtocolInterruptResult, SessionProtocolListParams, SessionProtocolListResult, SessionProtocolLocalExecutionEnvironmentInput, SessionProtocolLocalExecutionEnvironmentSnapshot, SessionProtocolMessagePayload, SessionProtocolMessageState, SessionProtocolMethod, SessionProtocolModelSnapshot, SessionProtocolNotice, SessionProtocolObserveResult, SessionProtocolOperation, SessionProtocolOutgoingMessage, SessionProtocolOutgoingParseFailure, SessionProtocolOutgoingParseFailureReason, SessionProtocolOutgoingParseResult, SessionProtocolOutgoingParseSuccess, SessionProtocolParamsByMethod, SessionProtocolParamsValidationResult, SessionProtocolParsedOutgoingMessage, SessionProtocolParsedResponseMessage, SessionProtocolParsedSuccessResponseMessage, SessionProtocolParseFailure, SessionProtocolParseResult, SessionProtocolParseSuccess, SessionProtocolPendingUserMessage, SessionProtocolPendingUserMessagesMessage, SessionProtocolPendingUserMessagesState, SessionProtocolPersonaSettingsSnapshot, SessionProtocolPersonaSnapshot, SessionProtocolPromptCompositionSnapshot, SessionProtocolPromptTemplateSnapshot, SessionProtocolPruneParams, SessionProtocolPruneResult, SessionProtocolQueueParams, SessionProtocolQueueResult, SessionProtocolReadyMessage, SessionProtocolReasoningEffort, SessionProtocolRecordParams, SessionProtocolRecordResult, SessionProtocolReloadParams, SessionProtocolReloadResult, SessionProtocolRequestId, SessionProtocolRequestMessage, SessionProtocolResolvePromptParams, SessionProtocolResolvePromptResult, SessionProtocolResponseMessage, SessionProtocolResultByMethod, SessionProtocolResultValidationResult, SessionProtocolRetryParams, SessionProtocolRetryResult, SessionProtocolRewindParams, SessionProtocolRewindResult, SessionProtocolSampleContext, SessionProtocolSampleOptions, SessionProtocolSampleParams, SessionProtocolSampleResult, SessionProtocolServiceTier, SessionProtocolSessionIdParams, SessionProtocolSessionLifecycle, SessionProtocolSessionSummary, SessionProtocolSetPersonaParams, SessionProtocolSetReasoningParams, SessionProtocolSettingsSnapshot, SessionProtocolSkillSnapshot, SessionProtocolSnapshot, SessionProtocolSteerParams, SessionProtocolSteerResult, SessionProtocolSubagentSnapshot, SessionProtocolSubmitParams, SessionProtocolSubmitResult, SessionProtocolSuccessResponseMessage, SessionProtocolSystemMessage, SessionProtocolTerminateSubagentParams, SessionProtocolTerminateSubagentResult, SessionProtocolThinkingLevel, SessionProtocolTimelineItem, SessionProtocolToolRun, SessionProtocolTurnOutcome, SessionProtocolTurnResult, SessionProtocolUnobserveParams, SessionProtocolUnobserveResult, SessionProtocolUserMessageParams, SessionProtocolUserMessageTurnResult, } from "./session_protocol.js";
|
|
2
|
-
export { applySessionProtocolDelta, createSessionProtocolDeltaMessage, createSessionProtocolEphemeralMessage, createSessionProtocolError, createSessionProtocolErrorResponse, createSessionProtocolPendingUserMessagesMessage, createSessionProtocolReadyMessage, createSessionProtocolRequest, createSessionProtocolSuccessResponse, isSessionProtocolMethod, parseSessionProtocolOutgoingLine, parseSessionProtocolRequestLine, SESSION_PROTOCOL_ERROR_CODES, SESSION_PROTOCOL_METHODS, SESSION_PROTOCOL_VERSION, serializeSessionProtocolMessage, validateSessionProtocolParams, validateSessionProtocolResult, } from "./session_protocol.js";
|
|
1
|
+
export type { SessionProtocolAgentRun, SessionProtocolAutocompletePathsParams, SessionProtocolAutocompletePathsResult, SessionProtocolBootstrapSnapshot, SessionProtocolCancelExecParams, SessionProtocolCancelExecResult, SessionProtocolCancelPendingMessagesParams, SessionProtocolCancelPendingMessagesResult, SessionProtocolChange, SessionProtocolCloudflareSandboxExecutionEnvironmentInput, SessionProtocolCloudflareSandboxExecutionEnvironmentSnapshot, SessionProtocolCompactParams, SessionProtocolCompactResult, SessionProtocolContentCatalogSnapshot, SessionProtocolCreateParams, SessionProtocolCreateResult, SessionProtocolDelta, SessionProtocolDeltaMessage, SessionProtocolDeltaReason, SessionProtocolDraftAssistantMessage, SessionProtocolEphemeralAgentThreadUpdateEvent, SessionProtocolEphemeralAgentTool, SessionProtocolEphemeralCloseParams, SessionProtocolEphemeralCloseResult, SessionProtocolEphemeralCreateParams, SessionProtocolEphemeralCreateResult, SessionProtocolEphemeralEvent, SessionProtocolEphemeralMessage, SessionProtocolEphemeralSubmitParams, SessionProtocolEphemeralSubmitResult, SessionProtocolError, SessionProtocolErrorCode, SessionProtocolErrorResponseMessage, SessionProtocolExecParams, SessionProtocolExecResult, SessionProtocolExecutionEnvironmentInput, SessionProtocolExecutionEnvironmentSnapshot, SessionProtocolFacet, SessionProtocolFacetSubject, SessionProtocolFlySpriteExecutionEnvironmentInput, SessionProtocolFlySpriteExecutionEnvironmentSnapshot, SessionProtocolInitializeParams, SessionProtocolInitializeResult, SessionProtocolInterruptResult, SessionProtocolListParams, SessionProtocolListResult, SessionProtocolLocalExecutionEnvironmentInput, SessionProtocolLocalExecutionEnvironmentSnapshot, SessionProtocolMessagePayload, SessionProtocolMessageState, SessionProtocolMethod, SessionProtocolModelSnapshot, SessionProtocolNotice, SessionProtocolObserveResult, SessionProtocolOperation, SessionProtocolOutgoingMessage, SessionProtocolOutgoingParseFailure, SessionProtocolOutgoingParseFailureReason, SessionProtocolOutgoingParseResult, SessionProtocolOutgoingParseSuccess, SessionProtocolParamsByMethod, SessionProtocolParamsValidationResult, SessionProtocolParsedOutgoingMessage, SessionProtocolParsedResponseMessage, SessionProtocolParsedSuccessResponseMessage, SessionProtocolParseFailure, SessionProtocolParseResult, SessionProtocolParseSuccess, SessionProtocolPendingUserMessage, SessionProtocolPendingUserMessagesMessage, SessionProtocolPendingUserMessagesState, SessionProtocolPersonaSettingsSnapshot, SessionProtocolPersonaSnapshot, SessionProtocolPromptCompositionSnapshot, SessionProtocolPromptTemplateSnapshot, SessionProtocolPruneParams, SessionProtocolPruneResult, SessionProtocolQueueParams, SessionProtocolQueueResult, SessionProtocolReadyMessage, SessionProtocolReasoningEffort, SessionProtocolRecordParams, SessionProtocolRecordResult, SessionProtocolReloadParams, SessionProtocolReloadResult, SessionProtocolRequestId, SessionProtocolRequestMessage, SessionProtocolResolvePromptParams, SessionProtocolResolvePromptResult, SessionProtocolResponseMessage, SessionProtocolResultByMethod, SessionProtocolResultValidationResult, SessionProtocolRetryParams, SessionProtocolRetryResult, SessionProtocolRewindParams, SessionProtocolRewindResult, SessionProtocolSampleContext, SessionProtocolSampleOptions, SessionProtocolSampleParams, SessionProtocolSampleResult, SessionProtocolServiceTier, SessionProtocolSessionIdParams, SessionProtocolSessionLifecycle, SessionProtocolSessionSummary, SessionProtocolSetPersonaParams, SessionProtocolSetReasoningParams, SessionProtocolSettingsSnapshot, SessionProtocolSkillSnapshot, SessionProtocolSnapshot, SessionProtocolSteerParams, SessionProtocolSteerResult, SessionProtocolSubagentSnapshot, SessionProtocolSubmitParams, SessionProtocolSubmitResult, SessionProtocolSuccessResponseMessage, SessionProtocolSystemMessage, SessionProtocolTerminateSubagentParams, SessionProtocolTerminateSubagentResult, SessionProtocolThinkingLevel, SessionProtocolTimelineItem, SessionProtocolToolRun, SessionProtocolTurnOutcome, SessionProtocolTurnResult, SessionProtocolUnobserveParams, SessionProtocolUnobserveResult, SessionProtocolUserMessageParams, SessionProtocolUserMessageTurnResult, } from "./session_protocol.js";
|
|
2
|
+
export { applySessionProtocolDelta, createSessionProtocolDeltaMessage, createSessionProtocolEphemeralMessage, createSessionProtocolError, createSessionProtocolErrorResponse, createSessionProtocolPendingUserMessagesMessage, createSessionProtocolReadyMessage, createSessionProtocolRequest, createSessionProtocolSuccessResponse, isSessionProtocolMethod, parseSessionProtocolOutgoingLine, parseSessionProtocolRequestLine, SESSION_PROTOCOL_ERROR_CODES, SESSION_PROTOCOL_MAX_EXEC_CAPTURE_BYTES, SESSION_PROTOCOL_MAX_EXEC_STDIN_BYTES, SESSION_PROTOCOL_METHODS, SESSION_PROTOCOL_VERSION, serializeSessionProtocolMessage, validateSessionProtocolParams, validateSessionProtocolResult, } from "./session_protocol.js";
|
package/dist/protocol/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { applySessionProtocolDelta, createSessionProtocolDeltaMessage, createSessionProtocolEphemeralMessage, createSessionProtocolError, createSessionProtocolErrorResponse, createSessionProtocolPendingUserMessagesMessage, createSessionProtocolReadyMessage, createSessionProtocolRequest, createSessionProtocolSuccessResponse, isSessionProtocolMethod, parseSessionProtocolOutgoingLine, parseSessionProtocolRequestLine, SESSION_PROTOCOL_ERROR_CODES, SESSION_PROTOCOL_METHODS, SESSION_PROTOCOL_VERSION, serializeSessionProtocolMessage, validateSessionProtocolParams, validateSessionProtocolResult, } from "./session_protocol.js";
|
|
1
|
+
export { applySessionProtocolDelta, createSessionProtocolDeltaMessage, createSessionProtocolEphemeralMessage, createSessionProtocolError, createSessionProtocolErrorResponse, createSessionProtocolPendingUserMessagesMessage, createSessionProtocolReadyMessage, createSessionProtocolRequest, createSessionProtocolSuccessResponse, isSessionProtocolMethod, parseSessionProtocolOutgoingLine, parseSessionProtocolRequestLine, SESSION_PROTOCOL_ERROR_CODES, SESSION_PROTOCOL_MAX_EXEC_CAPTURE_BYTES, SESSION_PROTOCOL_MAX_EXEC_STDIN_BYTES, SESSION_PROTOCOL_METHODS, SESSION_PROTOCOL_VERSION, serializeSessionProtocolMessage, validateSessionProtocolParams, validateSessionProtocolResult, } from "./session_protocol.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAiIA,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,qCAAqC,EACrC,0BAA0B,EAC1B,kCAAkC,EAClC,+CAA+C,EAC/C,iCAAiC,EACjC,4BAA4B,EAC5B,oCAAoC,EACpC,uBAAuB,EACvB,gCAAgC,EAChC,+BAA+B,EAC/B,4BAA4B,EAC5B,uCAAuC,EACvC,qCAAqC,EACrC,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC"}
|