@letta-ai/letta-code 0.34.5 → 0.34.6
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/gateway-core.js +5 -5
- package/dist/gateway-core.js.map +3 -3
- package/dist/mcp-client.js +2 -2
- package/dist/mcp-client.js.map +1 -1
- package/dist/mcp-oauth.js +2 -2
- package/dist/mcp-oauth.js.map +1 -1
- package/dist/types/agent/acting-user.d.ts +10 -0
- package/dist/types/agent/acting-user.d.ts.map +1 -1
- package/dist/types/agent/approval-execution.d.ts +5 -1
- package/dist/types/agent/approval-execution.d.ts.map +1 -1
- package/dist/types/agent/message.d.ts +3 -1
- package/dist/types/agent/message.d.ts.map +1 -1
- package/dist/types/agent/subagents/manager.d.ts +1 -1
- package/dist/types/agent/subagents/manager.d.ts.map +1 -1
- package/dist/types/agent/subagents/subagent-launcher.d.ts.map +1 -1
- package/dist/types/agent/subagents/subagent-stream.d.ts.map +1 -1
- package/dist/types/backend/api/agent-message.d.ts +1 -1
- package/dist/types/backend/api/agent-message.d.ts.map +1 -1
- package/dist/types/backend/api/conversation-enqueue.d.ts +4 -2
- package/dist/types/backend/api/conversation-enqueue.d.ts.map +1 -1
- package/dist/types/channels/gateway-core.d.ts +1 -1
- package/dist/types/channels/gateway-core.d.ts.map +1 -1
- package/dist/types/headless-listener-launch.d.ts.map +1 -1
- package/dist/types/queue/queue-runtime.d.ts +11 -2
- package/dist/types/queue/queue-runtime.d.ts.map +1 -1
- package/dist/types/runtime-context.d.ts +4 -0
- package/dist/types/runtime-context.d.ts.map +1 -1
- package/dist/types/tools/external-tool-background-eligibility.d.ts +1 -0
- package/dist/types/tools/external-tool-background-eligibility.d.ts.map +1 -1
- package/dist/types/tools/external-tool-background.d.ts +1 -0
- package/dist/types/tools/external-tool-background.d.ts.map +1 -1
- package/dist/types/tools/impl/claude-stream-session.d.ts +1 -0
- package/dist/types/tools/impl/claude-stream-session.d.ts.map +1 -1
- package/dist/types/tools/impl/codex-app-server.d.ts +1 -0
- package/dist/types/tools/impl/codex-app-server.d.ts.map +1 -1
- package/dist/types/tools/impl/external-coding-agent-task.d.ts +4 -2
- package/dist/types/tools/impl/external-coding-agent-task.d.ts.map +1 -1
- package/dist/types/tools/impl/external-coding-agent.d.ts +1 -1
- package/dist/types/tools/impl/external-coding-agent.d.ts.map +1 -1
- package/dist/types/tools/impl/memory-task-lifecycle.d.ts +1 -1
- package/dist/types/tools/impl/memory-task-lifecycle.d.ts.map +1 -1
- package/dist/types/tools/impl/monitor.d.ts +1 -1
- package/dist/types/tools/impl/monitor.d.ts.map +1 -1
- package/dist/types/tools/impl/native-session-capture.d.ts +16 -3
- package/dist/types/tools/impl/native-session-capture.d.ts.map +1 -1
- package/dist/types/tools/impl/process_manager.d.ts +2 -2
- package/dist/types/tools/impl/process_manager.d.ts.map +1 -1
- package/dist/types/tools/impl/send-agent-message.d.ts.map +1 -1
- package/dist/types/tools/impl/shell-env.d.ts.map +1 -1
- package/dist/types/tools/impl/task.d.ts +2 -1
- package/dist/types/tools/impl/task.d.ts.map +1 -1
- package/dist/types/tools/toolset.d.ts +1 -0
- package/dist/types/tools/toolset.d.ts.map +1 -1
- package/dist/types/types/protocol_v2.d.ts +5 -4
- package/dist/types/types/protocol_v2.d.ts.map +1 -1
- package/dist/types/types/turn-finished-protocol.d.ts +13 -0
- package/dist/types/types/turn-finished-protocol.d.ts.map +1 -0
- package/dist/types/utils/message-queue-bridge.d.ts +2 -1
- package/dist/types/utils/message-queue-bridge.d.ts.map +1 -1
- package/dist/types/utils/task-notifications.d.ts +1 -1
- package/dist/types/utils/task-notifications.d.ts.map +1 -1
- package/dist/types/websocket/listener/connection.d.ts +6 -2
- package/dist/types/websocket/listener/connection.d.ts.map +1 -1
- package/dist/types/websocket/listener/constants.d.ts +1 -0
- package/dist/types/websocket/listener/constants.d.ts.map +1 -1
- package/dist/types/websocket/listener/conversation-runtime.d.ts +31 -0
- package/dist/types/websocket/listener/conversation-runtime.d.ts.map +1 -1
- package/dist/types/websocket/listener/durable-file-lock.d.ts +46 -0
- package/dist/types/websocket/listener/durable-file-lock.d.ts.map +1 -0
- package/dist/types/websocket/listener/failed-teleport-cleanup.d.ts +16 -0
- package/dist/types/websocket/listener/failed-teleport-cleanup.d.ts.map +1 -0
- package/dist/types/websocket/listener/inbound-queue.d.ts +3 -1
- package/dist/types/websocket/listener/inbound-queue.d.ts.map +1 -1
- package/dist/types/websocket/listener/input-disposition-capacity.d.ts +8 -0
- package/dist/types/websocket/listener/input-disposition-capacity.d.ts.map +1 -0
- package/dist/types/websocket/listener/input-disposition-expiry.d.ts +3 -0
- package/dist/types/websocket/listener/input-disposition-expiry.d.ts.map +1 -0
- package/dist/types/websocket/listener/input-disposition-path.d.ts +2 -0
- package/dist/types/websocket/listener/input-disposition-path.d.ts.map +1 -0
- package/dist/types/websocket/listener/input-disposition-retention.d.ts +9 -0
- package/dist/types/websocket/listener/input-disposition-retention.d.ts.map +1 -0
- package/dist/types/websocket/listener/input-disposition-validation.d.ts +2 -0
- package/dist/types/websocket/listener/input-disposition-validation.d.ts.map +1 -0
- package/dist/types/websocket/listener/input-disposition.d.ts +68 -0
- package/dist/types/websocket/listener/input-disposition.d.ts.map +1 -0
- package/dist/types/websocket/listener/input-terminal-journal.d.ts +60 -0
- package/dist/types/websocket/listener/input-terminal-journal.d.ts.map +1 -0
- package/dist/types/websocket/listener/interrupted-turn-input-ownership.d.ts +27 -0
- package/dist/types/websocket/listener/interrupted-turn-input-ownership.d.ts.map +1 -0
- package/dist/types/websocket/listener/interrupted-turn-record.d.ts +132 -0
- package/dist/types/websocket/listener/interrupted-turn-record.d.ts.map +1 -0
- package/dist/types/websocket/listener/interrupted-turn-schema.d.ts +5 -0
- package/dist/types/websocket/listener/interrupted-turn-schema.d.ts.map +1 -0
- package/dist/types/websocket/listener/interrupted-turn-storage.d.ts +5 -0
- package/dist/types/websocket/listener/interrupted-turn-storage.d.ts.map +1 -0
- package/dist/types/websocket/listener/interrupted-turn-types.d.ts +59 -0
- package/dist/types/websocket/listener/interrupted-turn-types.d.ts.map +1 -0
- package/dist/types/websocket/listener/legacy-authority-quarantine.d.ts +13 -0
- package/dist/types/websocket/listener/legacy-authority-quarantine.d.ts.map +1 -0
- package/dist/types/websocket/listener/lifecycle-message.d.ts +7 -0
- package/dist/types/websocket/listener/lifecycle-message.d.ts.map +1 -0
- package/dist/types/websocket/listener/outbound-delivery.d.ts +21 -0
- package/dist/types/websocket/listener/outbound-delivery.d.ts.map +1 -0
- package/dist/types/websocket/listener/outbound-wire.d.ts +11 -1
- package/dist/types/websocket/listener/outbound-wire.d.ts.map +1 -1
- package/dist/types/websocket/listener/protocol-outbound.d.ts +8 -10
- package/dist/types/websocket/listener/protocol-outbound.d.ts.map +1 -1
- package/dist/types/websocket/listener/protocol-validation.d.ts +7 -0
- package/dist/types/websocket/listener/protocol-validation.d.ts.map +1 -0
- package/dist/types/websocket/listener/queue.d.ts.map +1 -1
- package/dist/types/websocket/listener/recorded-tool-results.d.ts +5 -0
- package/dist/types/websocket/listener/recorded-tool-results.d.ts.map +1 -0
- package/dist/types/websocket/listener/recovery-authority-guard.d.ts +24 -0
- package/dist/types/websocket/listener/recovery-authority-guard.d.ts.map +1 -0
- package/dist/types/websocket/listener/recovery-lineage-sidecar.d.ts +57 -0
- package/dist/types/websocket/listener/recovery-lineage-sidecar.d.ts.map +1 -0
- package/dist/types/websocket/listener/remote-settings-lock.d.ts.map +1 -1
- package/dist/types/websocket/listener/remote-settings.d.ts.map +1 -1
- package/dist/types/websocket/listener/runtime.d.ts +3 -0
- package/dist/types/websocket/listener/runtime.d.ts.map +1 -1
- package/dist/types/websocket/listener/scope.d.ts.map +1 -1
- package/dist/types/websocket/listener/startup-frame-buffer.d.ts +26 -0
- package/dist/types/websocket/listener/startup-frame-buffer.d.ts.map +1 -0
- package/dist/types/websocket/listener/startup-ingress.d.ts +44 -0
- package/dist/types/websocket/listener/startup-ingress.d.ts.map +1 -0
- package/dist/types/websocket/listener/teleport-protocol-inbound.d.ts +5 -0
- package/dist/types/websocket/listener/teleport-protocol-inbound.d.ts.map +1 -0
- package/dist/types/websocket/listener/turn-correlation.d.ts +8 -0
- package/dist/types/websocket/listener/turn-correlation.d.ts.map +1 -1
- package/dist/types/websocket/listener/turn-finished-replay.d.ts +90 -0
- package/dist/types/websocket/listener/turn-finished-replay.d.ts.map +1 -0
- package/dist/types/websocket/listener/turn-lifecycle.d.ts +9 -1
- package/dist/types/websocket/listener/turn-lifecycle.d.ts.map +1 -1
- package/dist/types/websocket/listener/types.d.ts +252 -6
- package/dist/types/websocket/listener/types.d.ts.map +1 -1
- package/letta.js +13157 -4646
- package/npm-shrinkwrap.json +5763 -0
- package/package.json +11 -4
- package/scripts/check.js +1 -0
- package/scripts/runtime-graph.test.ts +112 -0
- package/scripts/runtime-graph.ts +366 -0
- package/scripts/source-file-size-baseline.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-wire.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/outbound-wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1E,yCAAyC;IACzC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"outbound-wire.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/outbound-wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1E,yCAAyC;IACzC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,4EAA4E;IAC5E,SAAS,CAAC,IAAI,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAAC;AACzD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7C,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB;;;;;;CAMxB,CAAC;AAkDX;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,aAAa,GACnB,oBAAoB,CAgEtB;AA8GD,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,GAAG;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,CAMA;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,iBAAiB,GAC3B,IAAI,CAWN;AAwMD,eAAO,MAAM,uBAAuB;mCACH,iBAAiB,GAAG,IAAI;CAGxD,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { DequeuedBatch } from "../../queue/queue-runtime";
|
|
2
2
|
import type { DeviceStatus, LoopState, QueueMessage, RuntimeScope, StatusMessage, StopReasonType, StreamDelta, SubagentSnapshot, WsProtocolMessage } from "../../types/protocol_v2";
|
|
3
3
|
import type { QueueRemovalTransition } from "../../types/queue-update-protocol";
|
|
4
|
+
import { type OutboundMessageDelivery } from "./outbound-delivery";
|
|
4
5
|
import { type ListenerTransport } from "./transport";
|
|
5
6
|
import type { ConversationRuntime, IncomingMessage, ListenerMessageRouting, ListenerRuntime } from "./types";
|
|
6
7
|
type RuntimeCarrier = ListenerRuntime | ConversationRuntime | null;
|
|
@@ -23,10 +24,14 @@ export declare function buildQueueSnapshot(runtime: RuntimeCarrier, params?: {
|
|
|
23
24
|
conversation_id?: string | null;
|
|
24
25
|
}): QueueMessage[];
|
|
25
26
|
type OutboundProtocolMessage = WsProtocolMessage extends infer TMessage ? TMessage extends WsProtocolMessage ? Omit<TMessage, "runtime" | "event_seq" | "emitted_at" | "idempotency_key"> : never : never;
|
|
27
|
+
export { createLifecycleMessageBase } from "./lifecycle-message";
|
|
28
|
+
export type { OutboundMessageDelivery } from "./outbound-delivery";
|
|
26
29
|
export declare function emitProtocolV2Message(socket: ListenerTransport, runtime: RuntimeCarrier, message: OutboundProtocolMessage, scope: {
|
|
27
30
|
agent_id?: string | null;
|
|
28
31
|
conversation_id?: string | null;
|
|
29
|
-
} | undefined, routing: ListenerMessageRouting
|
|
32
|
+
} | undefined, routing: ListenerMessageRouting, notifyObservers?: boolean, envelope?: {
|
|
33
|
+
idempotencyKey?: string;
|
|
34
|
+
}): OutboundMessageDelivery;
|
|
30
35
|
export declare function broadcastServiceProtocolMessage(runtime: ListenerRuntime, message: WsProtocolMessage): void;
|
|
31
36
|
export declare function emitDeviceStatusUpdate(socket: ListenerTransport, runtime: RuntimeCarrier, scope?: PartialRuntimeScope, routing?: ListenerMessageRouting): void;
|
|
32
37
|
export declare function emitLoopStatusUpdate(socket: ListenerTransport, runtime: RuntimeCarrier, scope?: {
|
|
@@ -70,16 +75,10 @@ export declare function emitSubagentStateIfOpen(runtime: RuntimeCarrier, scope?:
|
|
|
70
75
|
agent_id?: string | null;
|
|
71
76
|
conversation_id?: string | null;
|
|
72
77
|
}): void;
|
|
73
|
-
export declare function createLifecycleMessageBase<TMessageType extends string>(messageType: TMessageType, runId?: string | null): {
|
|
74
|
-
id: string;
|
|
75
|
-
date: string;
|
|
76
|
-
message_type: TMessageType;
|
|
77
|
-
run_id?: string;
|
|
78
|
-
};
|
|
79
78
|
export declare function emitCanonicalMessageDelta(socket: ListenerTransport, runtime: RuntimeCarrier, delta: StreamDelta, scope?: {
|
|
80
79
|
agent_id?: string | null;
|
|
81
80
|
conversation_id?: string | null;
|
|
82
|
-
}):
|
|
81
|
+
}, routing?: ListenerMessageRouting): OutboundMessageDelivery;
|
|
83
82
|
export declare function emitRetryDelta(socket: ListenerTransport, runtime: RuntimeCarrier, params: {
|
|
84
83
|
message: string;
|
|
85
84
|
reason: StopReasonType;
|
|
@@ -105,6 +104,5 @@ export declare function emitInterruptedStatusDelta(socket: ListenerTransport, ru
|
|
|
105
104
|
export declare function emitStreamDelta(socket: ListenerTransport, runtime: RuntimeCarrier, delta: StreamDelta, scope?: {
|
|
106
105
|
agent_id?: string | null;
|
|
107
106
|
conversation_id?: string | null;
|
|
108
|
-
}, subagentId?: string):
|
|
109
|
-
export {};
|
|
107
|
+
}, subagentId?: string, routing?: ListenerMessageRouting): OutboundMessageDelivery;
|
|
110
108
|
//# sourceMappingURL=protocol-outbound.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-outbound.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/protocol-outbound.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EACV,YAAY,EAEZ,SAAS,EAGT,YAAY,EAGZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EAEX,gBAAgB,EAEhB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol-outbound.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/protocol-outbound.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RuntimeScope } from "../../types/runtime-scope";
|
|
2
|
+
export declare function isStringArray(value: unknown): value is string[];
|
|
3
|
+
export declare function isStringRecord(value: unknown): value is Record<string, string>;
|
|
4
|
+
export declare function isObjectRecord(value: unknown): value is Record<string, unknown>;
|
|
5
|
+
export declare function isRuntimeScope(value: unknown): value is RuntimeScope;
|
|
6
|
+
export declare function isAgentRuntimeScope(value: unknown): value is RuntimeScope<string>;
|
|
7
|
+
//# sourceMappingURL=protocol-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-validation.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/protocol-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,EAAE,CAI/D;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOjC;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAUpE;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,YAAY,CAAC,MAAM,CAAC,CAM/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/queue.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EAEb,SAAS,EACV,MAAM,uBAAuB,CAAC;AA6B/B,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/queue.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EAEb,SAAS,EACV,MAAM,uBAAuB,CAAC;AA6B/B,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAEf,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAQA;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAWA;AA0HD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAE1E;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,eAAe,GACtB,OAAO,CAkCT;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG;IAC/D,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,eAAe,CAAC;CAC7B,GAAG,IAAI,CAwHP;AA+ND,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,oBAAoB,EAC1B,iBAAiB,EAAE,CACjB,UAAU,EAAE,eAAe,EAC3B,aAAa,EAAE,aAAa,KACzB,OAAO,CAAC,IAAI,CAAC,GACjB,IAAI,CA2BN"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ApprovalResult } from "../../agent/approval-execution";
|
|
2
|
+
import type { InterruptedTurnRecord } from "./interrupted-turn-types";
|
|
3
|
+
export declare function allRecordedResults(record: InterruptedTurnRecord): ApprovalResult[];
|
|
4
|
+
export declare function recordedToolResults(record: InterruptedTurnRecord, pendingToolCallIds: string[]): ApprovalResult[];
|
|
5
|
+
//# sourceMappingURL=recorded-tool-results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recorded-tool-results.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/recorded-tool-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,qBAAqB,GAC5B,cAAc,EAAE,CAQlB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,qBAAqB,EAC7B,kBAAkB,EAAE,MAAM,EAAE,GAC3B,cAAc,EAAE,CAWlB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { InterruptedTurnRecord } from "./interrupted-turn-types";
|
|
2
|
+
type RecoverySnapshot = {
|
|
3
|
+
record: InterruptedTurnRecord;
|
|
4
|
+
revisionToken: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function createRecoveryAuthorityGuard(dependencies: {
|
|
7
|
+
path: (agentId: string, conversationId: string) => string;
|
|
8
|
+
acquire: (destination: string) => () => void;
|
|
9
|
+
exists: (destination: string) => boolean;
|
|
10
|
+
readRecord: (destination: string) => InterruptedTurnRecord | null;
|
|
11
|
+
ensureSidecar: (current: InterruptedTurnRecord) => void;
|
|
12
|
+
snapshotSidecar: (current: InterruptedTurnRecord) => RecoverySnapshot | null;
|
|
13
|
+
}): {
|
|
14
|
+
readSnapshot(agentId: string, conversationId: string, lineageId: string): RecoverySnapshot | null;
|
|
15
|
+
withAuthority(params: {
|
|
16
|
+
agentId: string;
|
|
17
|
+
conversationId: string;
|
|
18
|
+
lineageId: string;
|
|
19
|
+
expectedRevision: string;
|
|
20
|
+
action: () => boolean;
|
|
21
|
+
}): boolean;
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=recovery-authority-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery-authority-guard.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/recovery-authority-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,YAAY,EAAE;IACzD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC;IAC7C,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,qBAAqB,GAAG,IAAI,CAAC;IAClE,aAAa,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACxD,eAAe,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,gBAAgB,GAAG,IAAI,CAAC;CAC9E;0BAsBc,MAAM,kBACC,MAAM,aACX,MAAM,GAChB,gBAAgB,GAAG,IAAI;0BASJ;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,OAAO,CAAC;KACvB,GAAG,OAAO;EAoBd"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { ApprovalResult } from "../../agent/approval-execution";
|
|
2
|
+
import type { InterruptedTurnRecord } from "./interrupted-turn-types";
|
|
3
|
+
import type { InputIdentity } from "./types";
|
|
4
|
+
export interface RecoveryLineageSidecar {
|
|
5
|
+
revision: string;
|
|
6
|
+
agentId: string;
|
|
7
|
+
conversationId: string;
|
|
8
|
+
lineageId: string;
|
|
9
|
+
sourceMainRevision: string;
|
|
10
|
+
state: "running" | "pending" | "retired";
|
|
11
|
+
runId: string | null;
|
|
12
|
+
toolCallIds: string[];
|
|
13
|
+
unstartedToolCallIds?: string[];
|
|
14
|
+
/** Authoritative checkpoint snapshot; rollback may replace this wholesale. */
|
|
15
|
+
results: ApprovalResult[];
|
|
16
|
+
/** Exact post-effect settlements that must survive later rollback snapshots. */
|
|
17
|
+
exactResults?: ApprovalResult[];
|
|
18
|
+
requestOtid: string;
|
|
19
|
+
workingDirectory: string;
|
|
20
|
+
actingUserId?: string;
|
|
21
|
+
durableInputIdentities?: InputIdentity[];
|
|
22
|
+
terminalConsumerIds?: string[];
|
|
23
|
+
teleport?: InterruptedTurnRecord["teleport"];
|
|
24
|
+
pendingAuthorityRevision?: string;
|
|
25
|
+
retiredInterruptedRevision?: string;
|
|
26
|
+
retiredAuthorityRevision?: string;
|
|
27
|
+
retiredAt?: number;
|
|
28
|
+
}
|
|
29
|
+
export declare const __recoveryLineageSidecarTestUtils: {
|
|
30
|
+
sidecarWriterInstanceId: `${string}-${string}-${string}-${string}-${string}`;
|
|
31
|
+
};
|
|
32
|
+
export declare function createRecoveryLineageSidecarAccess(params: {
|
|
33
|
+
directory: string;
|
|
34
|
+
syncDirectory: (directory: string) => void;
|
|
35
|
+
lockWaitMs?: number;
|
|
36
|
+
}): {
|
|
37
|
+
initial: (current: InterruptedTurnRecord) => RecoveryLineageSidecar;
|
|
38
|
+
compactRetired: (retired: RecoveryLineageSidecar) => RecoveryLineageSidecar;
|
|
39
|
+
compactRetiredReference: (retired: RecoveryLineageSidecar) => RecoveryLineageSidecar;
|
|
40
|
+
list: () => RecoveryLineageSidecar[];
|
|
41
|
+
mainView: (current: InterruptedTurnRecord) => InterruptedTurnRecord;
|
|
42
|
+
read: (agentId: string, conversationId: string, lineageId: string) => RecoveryLineageSidecar | null;
|
|
43
|
+
retire: (current: InterruptedTurnRecord, existing?: RecoveryLineageSidecar | null) => RecoveryLineageSidecar;
|
|
44
|
+
retiredAuthority: (agentId: string, conversationId: string, lineageId: string) => {
|
|
45
|
+
interruptedRevision: string;
|
|
46
|
+
authorityRevision?: string;
|
|
47
|
+
} | null;
|
|
48
|
+
recoveryView: (current: InterruptedTurnRecord) => InterruptedTurnRecord | null;
|
|
49
|
+
remove: (sidecar: RecoveryLineageSidecar) => void;
|
|
50
|
+
removeRetired: (sidecar: RecoveryLineageSidecar, canRemove?: () => boolean) => boolean;
|
|
51
|
+
snapshot: (current: InterruptedTurnRecord) => {
|
|
52
|
+
record: InterruptedTurnRecord;
|
|
53
|
+
revisionToken: string;
|
|
54
|
+
} | null;
|
|
55
|
+
write: (sidecar: RecoveryLineageSidecar) => void;
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=recovery-lineage-sidecar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery-lineage-sidecar.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/recovery-lineage-sidecar.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACzC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,8EAA8E;IAC9E,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,gFAAgF;IAChF,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,aAAa,EAAE,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC7C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,iCAAiC;;CAE7C,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,MAAM,EAAE;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;uBA0Q2B,qBAAqB,KAAG,sBAAsB;8BAvG7D,sBAAsB,KAC9B,sBAAsB;uCA6Bd,sBAAsB,KAC9B,sBAAsB;gBA6QR,sBAAsB,EAAE;wBA7Gd,qBAAqB,KAAG,qBAAqB;oBArR7D,MAAM,kBACC,MAAM,aACX,MAAM,KAChB,sBAAsB,GAAG,IAAI;sBAyCrB,qBAAqB,aACnB,sBAAsB,GAAG,IAAI,KACvC,sBAAsB;gCAuHd,MAAM,kBACC,MAAM,aACX,MAAM,KAChB;QACD,mBAAmB,EAAE,MAAM,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GAAG,IAAI;4BA6DG,qBAAqB,KAC7B,qBAAqB,GAAG,IAAI;sBAoHN,sBAAsB,KAAG,IAAI;6BAQ3C,sBAAsB,cACpB,MAAM,OAAO,KACvB,OAAO;wBA3BC,qBAAqB,KAC7B;QAAE,MAAM,EAAE,qBAAqB,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;qBAtT1C,sBAAsB,KAAG,IAAI;EAwdtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-settings-lock.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/remote-settings-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"remote-settings-lock.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/remote-settings-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAgZD,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,GACf,wBAAwB,GAAG,IAAI,CAQjC;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAQ1C;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,wBAAwB,GAC/B,IAAI,CAmBN;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-settings.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/remote-settings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"remote-settings.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/remote-settings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUzD,iEAAiE;AACjE,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;CAClE;AAgDD,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,CAmEnD;AA6cD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAsBzE;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAc7E;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAwClE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { PendingControlRequest } from "../../types/protocol_v2";
|
|
2
2
|
import type { ConversationRuntime, ListenerRuntime, RecoveredApprovalState, StartListenerOptions } from "./types";
|
|
3
3
|
export declare function getActiveRuntime(): ListenerRuntime | null;
|
|
4
|
+
export declare function getLatestRuntimeAuthorityEpoch(): number;
|
|
5
|
+
export declare function getRuntimeAuthorityEpoch(runtime: ListenerRuntime): number | null;
|
|
4
6
|
export declare function setActiveRuntime(runtime: ListenerRuntime | null): void;
|
|
5
7
|
export declare function safeEmitWsEvent(direction: "send" | "recv", label: "client" | "protocol" | "control" | "lifecycle", event: unknown): void;
|
|
6
8
|
export declare function nextEventSeq(runtime: ListenerRuntime | null): number | null;
|
|
@@ -38,6 +40,7 @@ export declare function clearRecoveredApprovalStateForScope(runtime: ListenerRun
|
|
|
38
40
|
agent_id?: string | null;
|
|
39
41
|
conversation_id?: string | null;
|
|
40
42
|
}): void;
|
|
43
|
+
export declare function clearRecoveredApprovalStateUnlessRetained(runtime: ConversationRuntime, retain: boolean): void;
|
|
41
44
|
export declare function getPendingControlRequests(runtime: ListenerRuntime, params?: {
|
|
42
45
|
agent_id?: string | null;
|
|
43
46
|
conversation_id?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,SAAS,CAAC;AAWpE,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAE1E;AAED,wBAAgB,uBAAuB,CACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,CAIR;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,GAAG,IAAI,EAC/B,MAAM,CAAC,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GACA,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,GAAG,IAAI,EAC/B,MAAM,CAAC,EAAE;IACP,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,GACA,MAAM,CAWR;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,GAAG,IAAI,EAC/B,MAAM,CAAC,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,GACA,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,SAAS,CAAC;AAWpE,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAE1E;AAED,wBAAgB,uBAAuB,CACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,CAIR;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,GAAG,IAAI,EAC/B,MAAM,CAAC,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GACA,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,GAAG,IAAI,EAC/B,MAAM,CAAC,EAAE;IACP,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,GACA,MAAM,CAWR;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,GAAG,IAAI,EAC/B,MAAM,CAAC,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,GACA,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAuBpC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type WebSocket from "ws";
|
|
2
|
+
export declare const MAX_PENDING_STARTUP_FRAMES = 256;
|
|
3
|
+
export declare const MAX_PENDING_STARTUP_FRAME_BYTES: number;
|
|
4
|
+
export declare function rawDataByteLength(data: WebSocket.RawData): number;
|
|
5
|
+
/** A bounded pre-initialization ingress queue. Overflow discards every payload. */
|
|
6
|
+
export declare class StartupFrameBuffer {
|
|
7
|
+
#private;
|
|
8
|
+
private readonly onOverflow;
|
|
9
|
+
constructor(onOverflow?: (capacity: "frame_count" | "byte_count") => void);
|
|
10
|
+
static forSockets(controlSocket: Pick<WebSocket, "terminate">, getStreamSocket: () => Pick<WebSocket, "terminate"> | null, report: (errorType: string, error: unknown, context: string) => void, onOverflow?: (capacity: "frame_count" | "byte_count") => void): StartupFrameBuffer;
|
|
11
|
+
push(data: WebSocket.RawData): boolean;
|
|
12
|
+
drain(): WebSocket.RawData[];
|
|
13
|
+
prepend(frames: WebSocket.RawData[]): boolean;
|
|
14
|
+
takeRequestlessInputFrames(): WebSocket.RawData[];
|
|
15
|
+
clear(): void;
|
|
16
|
+
get frameCount(): number;
|
|
17
|
+
get byteLength(): number;
|
|
18
|
+
get phase(): "buffering" | "draining" | "live" | "terminated";
|
|
19
|
+
abort(): void;
|
|
20
|
+
/** Fail closed when startup ingress exceeds capacity. */
|
|
21
|
+
failOverflow(capacity?: "frame_count" | "byte_count"): void;
|
|
22
|
+
accept(data: WebSocket.RawData, handleMessage: (frame: WebSocket.RawData) => Promise<void>): void;
|
|
23
|
+
drainToLive(handleMessage: (frame: WebSocket.RawData) => Promise<void>, isCurrentAndOpen: () => boolean): Promise<boolean>;
|
|
24
|
+
static terminateIngress(controlSocket: Pick<WebSocket, "terminate">, streamSocket: Pick<WebSocket, "terminate"> | null, report: (errorType: string, error: unknown, context: string) => void): void;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=startup-frame-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-frame-buffer.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/startup-frame-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,IAAI,CAAC;AAEhC,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,+BAA+B,QAAc,CAAC;AAE3D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,GAAG,MAAM,CAKjE;AAED,mFAAmF;AACnF,qBAAa,kBAAkB;;IAM3B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,GAAE,CAC3B,QAAQ,EAAE,aAAa,GAAG,YAAY,KACnC,IAAe;IAGtB,MAAM,CAAC,UAAU,CACf,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAC3C,eAAe,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,EAC1D,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EACpE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,GAAG,YAAY,KAAK,IAAI,GAC5D,kBAAkB;IAWrB,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,GAAG,OAAO;IAkBtC,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE;IAQ5B,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO;IAuB7C,0BAA0B,IAAI,SAAS,CAAC,OAAO,EAAE;IAgCjD,KAAK,IAAI,IAAI;IAKb,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,KAAK,IAAI,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,CAE5D;IAED,KAAK,IAAI,IAAI;IAMb,yDAAyD;IACzD,YAAY,CAAC,QAAQ,GAAE,aAAa,GAAG,YAA4B,GAAG,IAAI;IAS1E,MAAM,CACJ,IAAI,EAAE,SAAS,CAAC,OAAO,EACvB,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GACzD,IAAI;IASD,WAAW,CACf,aAAa,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,EAC1D,gBAAgB,EAAE,MAAM,OAAO,GAC9B,OAAO,CAAC,OAAO,CAAC;IAwBnB,MAAM,CAAC,gBAAgB,CACrB,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAC3C,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,EACjD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GACnE,IAAI;CAYR"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type WebSocket from "ws";
|
|
2
|
+
import { type StartupFrameBuffer } from "./startup-frame-buffer";
|
|
3
|
+
import type { ListenerRuntime, StartListenerOptions, StartupFrameCapacity, StartupFrameHandoff, StartupIngressOwner } from "./types";
|
|
4
|
+
export declare function createReportedIngressHandler(handleMessage: (data: WebSocket.RawData) => Promise<void>, report: (errorType: string, error: unknown, context: string) => void, onError: (error: Error) => void): (data: WebSocket.RawData) => Promise<void>;
|
|
5
|
+
export declare function waitForStartupOrAbort(startup: Promise<void> | undefined, signal: AbortSignal): Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* The replacement lineage this client's reconnect chain belongs to.
|
|
8
|
+
*
|
|
9
|
+
* A live connection is authoritative. Otherwise the lineage comes from the
|
|
10
|
+
* replacement this runtime was itself started from, which is what keeps a
|
|
11
|
+
* multi-hop re-registration chain (`conn-1 -> conn-2 -> conn-3`) on the
|
|
12
|
+
* original lineage even after the physical connection has been suspended and
|
|
13
|
+
* its `ListenerConnectionState` is gone.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveStartupLineageId(runtime: ListenerRuntime, opts: Pick<StartListenerOptions, "connectionId" | "replacement">): string;
|
|
16
|
+
/**
|
|
17
|
+
* Claim the current generation of a lineage before the transport exists.
|
|
18
|
+
*
|
|
19
|
+
* The cloud client buffers ingress from the moment the control socket opens,
|
|
20
|
+
* which is before the stream channel is prepared and therefore before any
|
|
21
|
+
* connection can be opened. Reserving the owner first gives those frames an
|
|
22
|
+
* exact lineage to be handed to if the attempt dies in that window.
|
|
23
|
+
*/
|
|
24
|
+
export declare function reserveStartupIngressOwner(runtime: ListenerRuntime, opts: Pick<StartListenerOptions, "connectionId" | "replacement" | "connectionIdCanResume">): StartupIngressOwner;
|
|
25
|
+
/**
|
|
26
|
+
* Park this owner's still-unprocessed requestless frames for its successor.
|
|
27
|
+
*
|
|
28
|
+
* The buffer surrenders those frames, so repeated aborts of the same owner
|
|
29
|
+
* park each frame exactly once. The lineage update is a single discriminated
|
|
30
|
+
* state write: cumulative overflow replaces payload with bounded poison rather
|
|
31
|
+
* than an empty handoff that a successor could accidentally accept.
|
|
32
|
+
*/
|
|
33
|
+
export declare function handoffRequestlessStartupFrames(runtime: ListenerRuntime, owner: StartupIngressOwner, buffer: StartupFrameBuffer): boolean;
|
|
34
|
+
export declare function poisonCurrentStartupIngressOwner(runtime: ListenerRuntime, owner: StartupIngressOwner, capacity: StartupFrameCapacity): boolean;
|
|
35
|
+
export type StartupFrameHandoffClaim = {
|
|
36
|
+
readonly handoff: StartupFrameHandoff;
|
|
37
|
+
/** Commit only after the successor buffer has accepted the inherited state. */
|
|
38
|
+
commit(): void;
|
|
39
|
+
/** Poison the lineage before an overflowing successor buffer clears itself. */
|
|
40
|
+
poison(capacity: StartupFrameCapacity): void;
|
|
41
|
+
};
|
|
42
|
+
export declare function claimRequestlessStartupFrameHandoff(runtime: ListenerRuntime, owner: StartupIngressOwner): StartupFrameHandoffClaim;
|
|
43
|
+
export declare function activateStartupIngress(buffer: StartupFrameBuffer, handleMessage: (data: WebSocket.RawData) => Promise<void>, isCurrentAndOpen: () => boolean, claimHandoff?: () => StartupFrameHandoffClaim): () => Promise<boolean>;
|
|
44
|
+
//# sourceMappingURL=startup-ingress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-ingress.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/startup-ingress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,IAAI,CAAC;AAChC,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,EACzD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,EACpE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC9B,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAa5C;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,EAClC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,aAAa,CAAC,GAC/D,MAAM,CAMR;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,IAAI,CACR,oBAAoB,EACpB,cAAc,GAAG,aAAa,GAAG,uBAAuB,CACzD,GACA,mBAAmB,CAYrB;AAeD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAiCT;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAYT;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,+EAA+E;IAC/E,MAAM,IAAI,IAAI,CAAC;IACf,+EAA+E;IAC/E,MAAM,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC9C,CAAC;AAEF,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,mBAAmB,GACzB,wBAAwB,CA4C1B;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,aAAa,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,EACzD,gBAAgB,EAAE,MAAM,OAAO,EAC/B,YAAY,CAAC,EAAE,MAAM,wBAAwB,GAC5C,MAAM,OAAO,CAAC,OAAO,CAAC,CAwBxB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { InputTeleportContinuePayload, TeleportProtocolCommand } from "../../types/teleport-protocol";
|
|
2
|
+
export declare function isTeleportContinuation(value: unknown): boolean;
|
|
3
|
+
export declare function isTeleportContinuePayload(value: unknown): value is InputTeleportContinuePayload;
|
|
4
|
+
export declare function parseTeleportCommand(value: unknown): TeleportProtocolCommand | null;
|
|
5
|
+
//# sourceMappingURL=teleport-protocol-inbound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teleport-protocol-inbound.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/teleport-protocol-inbound.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AA2DnC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA8B9D;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,4BAA4B,CAavC;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,uBAAuB,GAAG,IAAI,CAwBhC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { ConversationRuntime, IncomingMessage, ListenerRuntime } from "./types";
|
|
2
|
+
export type TurnCorrelationIndex = Map<string, Map<string, string[]>>;
|
|
3
|
+
/**
|
|
4
|
+
* Merge bounded correlation snapshots from oldest to newest. Re-inserting every
|
|
5
|
+
* touched key makes later snapshots authoritative for eviction order while
|
|
6
|
+
* retaining mappings that only exist in an older private handoff snapshot.
|
|
7
|
+
*/
|
|
8
|
+
export declare function mergeTurnCorrelationIndexes(...sources: Array<TurnCorrelationIndex | undefined>): TurnCorrelationIndex;
|
|
9
|
+
export declare function cloneTurnCorrelationIndex(source: TurnCorrelationIndex | undefined): TurnCorrelationIndex;
|
|
2
10
|
export interface TurnCorrelation {
|
|
3
11
|
readonly clientMessageIds: string[];
|
|
4
12
|
appendDequeuedBatch: (batchId: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-correlation.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/turn-correlation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-correlation.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/turn-correlation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAMjB,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,OAAO,EAAE,KAAK,CAAC,oBAAoB,GAAG,SAAS,CAAC,GAClD,oBAAoB,CA2BtB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,oBAAoB,GAAG,SAAS,GACvC,oBAAoB,CAEtB;AAYD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACpC,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,cAAc,EAAE,MAAM,GAAG,IAAI,GAC5B;IAAE,4BAA4B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAO7D;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,GACd,eAAe,CAgEjB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { TurnFinishedMessage } from "../../types/protocol_v2";
|
|
2
|
+
import { createInterruptedTurnStore } from "./interrupted-turn-record";
|
|
3
|
+
import { emitProtocolV2Message } from "./protocol-outbound";
|
|
4
|
+
import type { ListenerTransport } from "./transport";
|
|
5
|
+
import type { ConversationRuntime } from "./types";
|
|
6
|
+
export type ReplayableTurnFinished = Omit<TurnFinishedMessage, "runtime" | "event_seq" | "emitted_at" | "idempotency_key">;
|
|
7
|
+
export type TurnFinishedOwner = {
|
|
8
|
+
/** Exact connection which owned the turn. Null denotes process-owned work. */
|
|
9
|
+
connectionId: string | null;
|
|
10
|
+
/** Only rotating clients may hand terminal ownership to another subscriber. */
|
|
11
|
+
canRotate: boolean;
|
|
12
|
+
/** Explicit startup lineage, retained for same-lineage replacement checks. */
|
|
13
|
+
lineageId: string | null;
|
|
14
|
+
terminalIdentity?: string;
|
|
15
|
+
/** Exact interrupted-work revision superseded by this terminal. */
|
|
16
|
+
interruptedRevision?: string;
|
|
17
|
+
/** Independent recovery lineage whose mutable authority was observed. */
|
|
18
|
+
recoveryLineageId?: string;
|
|
19
|
+
/** Exact mutable main/sidecar generation validated by this terminal. */
|
|
20
|
+
interruptedAuthorityRevision?: string;
|
|
21
|
+
/** Durable journal generation retained across promotion and crash recovery. */
|
|
22
|
+
preparationSequence?: number;
|
|
23
|
+
};
|
|
24
|
+
export declare class TurnFinishedCapacityError extends Error {
|
|
25
|
+
constructor();
|
|
26
|
+
}
|
|
27
|
+
type TerminalAuthorityStore = Pick<ReturnType<typeof createInterruptedTurnStore>, "readRecoverySnapshot" | "readRetiredRecoveryAuthority">;
|
|
28
|
+
type DeliveryClaim = {
|
|
29
|
+
token: string;
|
|
30
|
+
pid: number;
|
|
31
|
+
connectionId: string;
|
|
32
|
+
claimedAt: number;
|
|
33
|
+
};
|
|
34
|
+
export type PersistedTurnFinished = {
|
|
35
|
+
/** Stable application-level idempotency identity, reused for every replay. */
|
|
36
|
+
id: string;
|
|
37
|
+
createdAt: number;
|
|
38
|
+
message: ReplayableTurnFinished;
|
|
39
|
+
owner: TurnFinishedOwner;
|
|
40
|
+
requiredConsumerIds: string[];
|
|
41
|
+
acknowledgedConsumerIds: string[];
|
|
42
|
+
claim?: DeliveryClaim;
|
|
43
|
+
};
|
|
44
|
+
export type PersistedTurnFinishedRecord = {
|
|
45
|
+
agentId: string | null;
|
|
46
|
+
conversationId: string;
|
|
47
|
+
terminals: PersistedTurnFinished[];
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Sender replay lifetime, matched to Cloud's completion-identity dedupe retention.
|
|
51
|
+
* Cloud's 24-hour receiver retention must deploy before this sender horizon.
|
|
52
|
+
*/
|
|
53
|
+
export declare const TURN_FINISHED_REPLAY_TTL_MS: number;
|
|
54
|
+
/** A reversible tuple encoding; unlike delimiter-based names it cannot alias. */
|
|
55
|
+
export declare function encodeTurnFinishedScope(agentId: string | null, conversationId: string): string;
|
|
56
|
+
export declare function createTurnFinishedStore(directory?: string, options?: {
|
|
57
|
+
lockAttempts?: number;
|
|
58
|
+
}): {
|
|
59
|
+
read: (agentId: string | null, conversationId: string) => PersistedTurnFinishedRecord | null;
|
|
60
|
+
readOrThrow(agentId: string | null, conversationId: string): PersistedTurnFinishedRecord | null;
|
|
61
|
+
put(agentId: string | null, conversationId: string, message: ReplayableTurnFinished, owner?: TurnFinishedOwner): PersistedTurnFinished;
|
|
62
|
+
claim(agentId: string | null, conversationId: string, id: string, connectionId: string): PersistedTurnFinished | null;
|
|
63
|
+
releaseClaim(agentId: string | null, conversationId: string, id: string, connectionId: string): void;
|
|
64
|
+
acknowledge(agentId: string | null, conversationId: string, id: string, connectionId: string, consumerId: string): boolean;
|
|
65
|
+
remove(agentId: string | null, conversationId: string, id: string): void;
|
|
66
|
+
};
|
|
67
|
+
export type PreparedTurnFinished = {
|
|
68
|
+
kind: "durable";
|
|
69
|
+
store: ReturnType<typeof createTurnFinishedStore>;
|
|
70
|
+
terminal: PersistedTurnFinished;
|
|
71
|
+
} | {
|
|
72
|
+
kind: "ephemeral";
|
|
73
|
+
};
|
|
74
|
+
export declare function getTurnFinishedOwner(runtime: ConversationRuntime, interruptedRevision?: string): TurnFinishedOwner;
|
|
75
|
+
/** Persist the authoritative terminal before its lease is finalized. */
|
|
76
|
+
export declare function prepareTurnFinished(runtime: ConversationRuntime, message: ReplayableTurnFinished, providedStore?: ReturnType<typeof createTurnFinishedStore>, providedOwner?: TurnFinishedOwner, persistWithoutConsumers?: boolean): PreparedTurnFinished;
|
|
77
|
+
export declare function emitDurableTurnFinished(socket: ListenerTransport, runtime: ConversationRuntime, message: ReplayableTurnFinished, routing: Parameters<typeof emitProtocolV2Message>[4], providedStore?: ReturnType<typeof createTurnFinishedStore>, prepared?: PreparedTurnFinished): void;
|
|
78
|
+
export declare function replayPendingTurnFinishedToConnection(socket: ListenerTransport, runtime: ConversationRuntime, connectionId: string, providedStore?: ReturnType<typeof createTurnFinishedStore>, interruptedStore?: TerminalAuthorityStore): void;
|
|
79
|
+
/** Retire only after the exact peer which received the stable identity acks it. */
|
|
80
|
+
export declare function acknowledgeTurnFinished(params: {
|
|
81
|
+
runtime?: ConversationRuntime;
|
|
82
|
+
agentId?: string | null;
|
|
83
|
+
conversationId?: string;
|
|
84
|
+
connectionId: string;
|
|
85
|
+
idempotencyKey: string;
|
|
86
|
+
consumerId: string;
|
|
87
|
+
store?: ReturnType<typeof createTurnFinishedStore>;
|
|
88
|
+
}): boolean;
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=turn-finished-replay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-finished-replay.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/turn-finished-replay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { LoopStatus, StopReasonType } from "../../types/protocol_v2";
|
|
2
2
|
export type ActiveTurnLoopStatus = Exclude<LoopStatus, "WAITING_ON_INPUT" | "EXECUTING_COMMAND">;
|
|
3
3
|
export type TurnOrigin = "message" | "approval_recovery";
|
|
4
|
+
export type TurnInterruptionCause = "explicit_user" | "transport";
|
|
4
5
|
export type TurnLease = Readonly<{
|
|
5
6
|
id: string;
|
|
6
7
|
signal: AbortSignal;
|
|
@@ -22,6 +23,7 @@ type ActiveTurnState = {
|
|
|
22
23
|
workingDirectory: string;
|
|
23
24
|
runId: string | null;
|
|
24
25
|
executingToolCallIds: readonly string[];
|
|
26
|
+
interruptionCause: TurnInterruptionCause | null;
|
|
25
27
|
};
|
|
26
28
|
type CancellingTurnState = {
|
|
27
29
|
kind: "cancelling";
|
|
@@ -33,6 +35,7 @@ type CancellingTurnState = {
|
|
|
33
35
|
loopStatus: "WAITING_ON_INPUT";
|
|
34
36
|
ownerFinished: boolean;
|
|
35
37
|
externalSettlementPending: boolean;
|
|
38
|
+
interruptionCause: TurnInterruptionCause;
|
|
36
39
|
};
|
|
37
40
|
type TurnState = IdleTurnState | CommandTurnState | ActiveTurnState | CancellingTurnState;
|
|
38
41
|
export type TurnLifecycleSnapshot = IdleTurnState | CommandTurnState | Omit<ActiveTurnState, "abortController"> | Omit<CancellingTurnState, "abortController" | "ownerFinished" | "externalSettlementPending">;
|
|
@@ -41,6 +44,7 @@ export type TurnCancellationTransition = {
|
|
|
41
44
|
lease: TurnLease | null;
|
|
42
45
|
runId: string | null;
|
|
43
46
|
executingToolCallIds: readonly string[];
|
|
47
|
+
interruptionCause: TurnInterruptionCause | null;
|
|
44
48
|
};
|
|
45
49
|
export type TurnCancellationSettlementTransition = {
|
|
46
50
|
settled: boolean;
|
|
@@ -50,6 +54,7 @@ export type TurnFinishTransition = {
|
|
|
50
54
|
finished: boolean;
|
|
51
55
|
previousKind: "active" | "cancelling" | null;
|
|
52
56
|
runId: string | null;
|
|
57
|
+
interruptionCause: TurnInterruptionCause | null;
|
|
53
58
|
};
|
|
54
59
|
export declare class TurnLifecycle {
|
|
55
60
|
#private;
|
|
@@ -78,7 +83,10 @@ export declare class TurnLifecycle {
|
|
|
78
83
|
recordStopReason(lease: TurnLease, stopReason: StopReasonType): boolean;
|
|
79
84
|
startCommand(): boolean;
|
|
80
85
|
finishCommand(): boolean;
|
|
81
|
-
|
|
86
|
+
markTransportInterruption(lease: TurnLease): boolean;
|
|
87
|
+
getInterruptionCause(lease: TurnLease): TurnInterruptionCause | null;
|
|
88
|
+
requestCancellation(options: {
|
|
89
|
+
cause: TurnInterruptionCause;
|
|
82
90
|
waitForExternalSettlement?: boolean;
|
|
83
91
|
}): TurnCancellationTransition;
|
|
84
92
|
finish(lease: TurnLease, stopReason: StopReasonType): TurnFinishTransition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/turn-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,UAAU,EACV,kBAAkB,GAAG,mBAAmB,CACzC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/websocket/listener/turn-lifecycle.ts"],"names":[],"mappings":"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"}
|