@scotthuang/agent-knock-knock 0.11.6 → 0.11.7
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/CHANGELOG.md +13 -0
- package/dist/src/cli.js +585 -408
- package/dist/src/cli.js.map +1 -1
- package/dist/src/managed-session.d.ts +15 -0
- package/dist/src/managed-session.js +105 -4
- package/dist/src/managed-session.js.map +1 -1
- package/dist/src/native-thread-resume-snapshot.d.ts +5 -2
- package/dist/src/native-thread-resume-snapshot.js +65 -15
- package/dist/src/native-thread-resume-snapshot.js.map +1 -1
- package/dist/src/session-store.js +5 -0
- package/dist/src/session-store.js.map +1 -1
- package/dist/src/terminal-agent-adapter.d.ts +2 -14
- package/dist/src/terminal-agent-adapter.js.map +1 -1
- package/dist/src/terminal-agent-bridge.d.ts +7 -1
- package/dist/src/terminal-agent-bridge.js +178 -73
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/dist/src/terminal-control-provider.d.ts +49 -21
- package/dist/src/terminal-control-provider.js +328 -30
- package/dist/src/terminal-control-provider.js.map +1 -1
- package/dist/src/terminal-control-ref.d.ts +119 -0
- package/dist/src/terminal-control-ref.js +410 -0
- package/dist/src/terminal-control-ref.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Conversation } from "./protocol.js";
|
|
2
2
|
import type { ExecutorKind } from "./executors.js";
|
|
3
3
|
import type { TerminalControlRef } from "./terminal-agent-adapter.js";
|
|
4
|
+
import { type TerminalControlEvidence } from "./terminal-control-ref.js";
|
|
4
5
|
export declare const MANAGED_SESSION_SCHEMA: "agent-knock-knock/session";
|
|
5
6
|
export declare const MANAGED_SESSION_VERSION: 1;
|
|
6
7
|
export declare const NATIVE_THREAD_TRANSITION_SCHEMA: "agent-knock-knock/native-thread-transition";
|
|
@@ -23,6 +24,8 @@ export interface ManagedTerminalBinding {
|
|
|
23
24
|
generation: number;
|
|
24
25
|
terminal_id: string;
|
|
25
26
|
terminal_control: TerminalControlRef;
|
|
27
|
+
/** Additive provider-neutral identity evidence for newer writers. */
|
|
28
|
+
terminal_endpoint?: TerminalControlEvidence;
|
|
26
29
|
native_thread_id?: string;
|
|
27
30
|
native_process: NativeProcessIdentity;
|
|
28
31
|
bound_at: string;
|
|
@@ -122,6 +125,7 @@ export declare function createTerminalBindingId(): string;
|
|
|
122
125
|
export declare function createNativeThreadTransitionId(): string;
|
|
123
126
|
export declare function managedSessionStorageKey(sessionId: string): string;
|
|
124
127
|
export declare function managedSessionBindingToken(state: Pick<ManagedSessionState, "session_id" | "status" | "binding">): string;
|
|
128
|
+
export declare function legacyManagedSessionBindingToken(state: Pick<ManagedSessionState, "session_id" | "status" | "binding">): string;
|
|
125
129
|
export declare function unmanagedTerminalBindingToken(value: {
|
|
126
130
|
terminalId: string;
|
|
127
131
|
terminalControl: TerminalControlRef;
|
|
@@ -133,6 +137,17 @@ export declare function unmanagedTerminalBindingToken(value: {
|
|
|
133
137
|
processBirth?: string;
|
|
134
138
|
rollout?: NativeProcessIdentity["rollout"];
|
|
135
139
|
}): string;
|
|
140
|
+
export declare function legacyUnmanagedTerminalBindingToken(value: {
|
|
141
|
+
terminalId: string;
|
|
142
|
+
terminalControl: TerminalControlRef;
|
|
143
|
+
agent: ExecutorKind;
|
|
144
|
+
pid: number;
|
|
145
|
+
workspace: string;
|
|
146
|
+
nativeThreadId?: string;
|
|
147
|
+
processUuid?: string;
|
|
148
|
+
processBirth?: string;
|
|
149
|
+
rollout?: NativeProcessIdentity["rollout"];
|
|
150
|
+
}): string;
|
|
136
151
|
export declare function terminalBindingFrom(value: {
|
|
137
152
|
terminalId: string;
|
|
138
153
|
terminalControl: TerminalControlRef;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
2
|
import { executorForConversation } from "./protocol.js";
|
|
3
|
+
import { associateTerminalEndpointEvidence, hasCanonicalTerminalEndpoint, terminalControlEvidence, terminalEndpointIdentityFromEvidence, terminalEndpointIdentityKey, terminalRouteKeyFromEvidence, sameTerminalControlIncarnation } from "./terminal-control-ref.js";
|
|
3
4
|
export const MANAGED_SESSION_SCHEMA = "agent-knock-knock/session";
|
|
4
5
|
export const MANAGED_SESSION_VERSION = 1;
|
|
5
6
|
export const NATIVE_THREAD_TRANSITION_SCHEMA = "agent-knock-knock/native-thread-transition";
|
|
@@ -18,6 +19,32 @@ export function managedSessionStorageKey(sessionId) {
|
|
|
18
19
|
return createHash("sha256").update(sessionId).digest("hex");
|
|
19
20
|
}
|
|
20
21
|
export function managedSessionBindingToken(state) {
|
|
22
|
+
if (state.binding?.terminal_endpoint) {
|
|
23
|
+
const identity = terminalEndpointIdentityFromEvidence(state.binding.terminal_endpoint);
|
|
24
|
+
if (!identity) {
|
|
25
|
+
throw new Error("managed terminal binding endpoint identity is invalid");
|
|
26
|
+
}
|
|
27
|
+
return createHash("sha256")
|
|
28
|
+
.update(JSON.stringify({
|
|
29
|
+
version: 2,
|
|
30
|
+
session_id: state.session_id,
|
|
31
|
+
status: state.status,
|
|
32
|
+
binding_id: state.binding.binding_id,
|
|
33
|
+
binding_generation: state.binding.generation,
|
|
34
|
+
terminal_id: state.binding.terminal_id,
|
|
35
|
+
terminal_identity: terminalEndpointIdentityKey(identity),
|
|
36
|
+
terminal_process_anchor_pid: state.binding.terminal_endpoint.process_anchor_pid,
|
|
37
|
+
agent_pid: state.binding.native_process.pid,
|
|
38
|
+
process_uuid: state.binding.native_process.process_uuid ?? null,
|
|
39
|
+
process_birth: state.binding.native_process.process_birth ?? null,
|
|
40
|
+
rollout: state.binding.native_process.rollout ?? null,
|
|
41
|
+
native_thread_id: state.binding.native_thread_id ?? null
|
|
42
|
+
}))
|
|
43
|
+
.digest("hex");
|
|
44
|
+
}
|
|
45
|
+
return legacyManagedSessionBindingToken(state);
|
|
46
|
+
}
|
|
47
|
+
export function legacyManagedSessionBindingToken(state) {
|
|
21
48
|
return createHash("sha256")
|
|
22
49
|
.update(JSON.stringify({
|
|
23
50
|
session_id: state.session_id,
|
|
@@ -37,6 +64,28 @@ export function managedSessionBindingToken(state) {
|
|
|
37
64
|
.digest("hex");
|
|
38
65
|
}
|
|
39
66
|
export function unmanagedTerminalBindingToken(value) {
|
|
67
|
+
if (hasCanonicalTerminalEndpoint(value.terminalControl)) {
|
|
68
|
+
const evidence = terminalControlEvidence(value.terminalControl);
|
|
69
|
+
return createHash("sha256")
|
|
70
|
+
.update(JSON.stringify({
|
|
71
|
+
version: 2,
|
|
72
|
+
state: "unmanaged",
|
|
73
|
+
terminal_id: value.terminalId,
|
|
74
|
+
terminal_identity: terminalEndpointIdentityKey(terminalEndpointIdentityFromEvidence(evidence)),
|
|
75
|
+
terminal_process_anchor_pid: evidence.process_anchor_pid,
|
|
76
|
+
agent: value.agent,
|
|
77
|
+
agent_pid: value.pid,
|
|
78
|
+
workspace: value.workspace,
|
|
79
|
+
native_thread_id: value.nativeThreadId ?? null,
|
|
80
|
+
process_uuid: value.processUuid ?? null,
|
|
81
|
+
process_birth: value.processBirth ?? null,
|
|
82
|
+
rollout: value.rollout ?? null
|
|
83
|
+
}))
|
|
84
|
+
.digest("hex");
|
|
85
|
+
}
|
|
86
|
+
return legacyUnmanagedTerminalBindingToken(value);
|
|
87
|
+
}
|
|
88
|
+
export function legacyUnmanagedTerminalBindingToken(value) {
|
|
40
89
|
return createHash("sha256")
|
|
41
90
|
.update(JSON.stringify({
|
|
42
91
|
state: "unmanaged",
|
|
@@ -61,6 +110,9 @@ export function terminalBindingFrom(value) {
|
|
|
61
110
|
generation: value.generation,
|
|
62
111
|
terminal_id: value.terminalId,
|
|
63
112
|
terminal_control: value.terminalControl,
|
|
113
|
+
...(hasCanonicalTerminalEndpoint(value.terminalControl)
|
|
114
|
+
? { terminal_endpoint: terminalControlEvidence(value.terminalControl) }
|
|
115
|
+
: {}),
|
|
64
116
|
native_thread_id: value.nativeThreadId,
|
|
65
117
|
native_process: {
|
|
66
118
|
pid: value.pid,
|
|
@@ -350,7 +402,8 @@ function assertNativeThreadTransitionBindingConsistency(transition) {
|
|
|
350
402
|
}
|
|
351
403
|
const before = transition.before_binding;
|
|
352
404
|
if (before) {
|
|
353
|
-
if (before.terminal_id !== transition.terminal_id
|
|
405
|
+
if ((before.terminal_id !== transition.terminal_id &&
|
|
406
|
+
!hasCanonicalTerminalEndpoint(before.terminal_control)) ||
|
|
354
407
|
before.native_thread_id?.toLowerCase() !==
|
|
355
408
|
transition.before_native_thread_id.toLowerCase() ||
|
|
356
409
|
before.native_process.process_uuid !== transition.before_process_uuid ||
|
|
@@ -367,15 +420,15 @@ function assertNativeThreadTransitionBindingConsistency(transition) {
|
|
|
367
420
|
if (!["verified", "committed"].includes(transition.status)) {
|
|
368
421
|
throw new Error("native thread transition cannot carry after_binding before verification");
|
|
369
422
|
}
|
|
370
|
-
if (after.terminal_id !== transition.terminal_id
|
|
423
|
+
if ((after.terminal_id !== transition.terminal_id &&
|
|
424
|
+
!hasCanonicalTerminalEndpoint(after.terminal_control)) ||
|
|
371
425
|
!after.native_thread_id ||
|
|
372
426
|
after.native_process.process_uuid !== transition.before_process_uuid ||
|
|
373
427
|
after.native_process.process_birth !== transition.before_process_birth) {
|
|
374
428
|
throw new Error("native thread transition after_binding disagrees with terminal or process identity");
|
|
375
429
|
}
|
|
376
430
|
if (before &&
|
|
377
|
-
(
|
|
378
|
-
JSON.stringify(before.terminal_control) ||
|
|
431
|
+
(!sameTerminalControlIncarnation(after.terminal_control, before.terminal_control) ||
|
|
379
432
|
after.native_process.pid !== before.native_process.pid)) {
|
|
380
433
|
throw new Error("native thread transition changed terminal control or process PID");
|
|
381
434
|
}
|
|
@@ -502,6 +555,17 @@ function migratedBindingCandidate(conversation, agent) {
|
|
|
502
555
|
catch {
|
|
503
556
|
return undefined;
|
|
504
557
|
}
|
|
558
|
+
const terminalEndpoint = isRecord(takeover.terminal_endpoint)
|
|
559
|
+
? takeover.terminal_endpoint
|
|
560
|
+
: undefined;
|
|
561
|
+
if (terminalEndpoint) {
|
|
562
|
+
try {
|
|
563
|
+
associateTerminalEndpointEvidence(terminalControl, terminalEndpoint);
|
|
564
|
+
}
|
|
565
|
+
catch {
|
|
566
|
+
return undefined;
|
|
567
|
+
}
|
|
568
|
+
}
|
|
505
569
|
const terminalId = optionalNonEmptyString(takeover.native_session_id);
|
|
506
570
|
const pid = positiveInteger(takeover.terminal_agent_pid);
|
|
507
571
|
if (!terminalId || pid === undefined) {
|
|
@@ -538,6 +602,7 @@ function migratedBindingCandidate(conversation, agent) {
|
|
|
538
602
|
agent,
|
|
539
603
|
terminal_id: terminalId,
|
|
540
604
|
terminal_control: terminalControl,
|
|
605
|
+
...(terminalEndpoint ? { terminal_endpoint: terminalEndpoint } : {}),
|
|
541
606
|
native_thread_id: nativeThreadId ?? null,
|
|
542
607
|
pid,
|
|
543
608
|
process_uuid: processUuid ?? null,
|
|
@@ -557,6 +622,7 @@ function migratedBindingCandidate(conversation, agent) {
|
|
|
557
622
|
generation,
|
|
558
623
|
terminal_id: terminalId,
|
|
559
624
|
terminal_control: terminalControl,
|
|
625
|
+
...(terminalEndpoint ? { terminal_endpoint: terminalEndpoint } : {}),
|
|
560
626
|
native_thread_id: nativeThreadId,
|
|
561
627
|
native_process: {
|
|
562
628
|
pid,
|
|
@@ -648,6 +714,7 @@ function assertManagedTerminalBinding(value, label) {
|
|
|
648
714
|
"generation",
|
|
649
715
|
"terminal_id",
|
|
650
716
|
"terminal_control",
|
|
717
|
+
"terminal_endpoint",
|
|
651
718
|
"native_thread_id",
|
|
652
719
|
"native_process",
|
|
653
720
|
"bound_at",
|
|
@@ -659,6 +726,10 @@ function assertManagedTerminalBinding(value, label) {
|
|
|
659
726
|
}
|
|
660
727
|
assertNonEmptyString(value.terminal_id, `${label} terminal_id`);
|
|
661
728
|
assertTerminalControlRef(value.terminal_control, `${label} terminal_control`);
|
|
729
|
+
if (value.terminal_endpoint !== undefined) {
|
|
730
|
+
assertTerminalEndpointEvidence(value.terminal_endpoint, `${label} terminal_endpoint`);
|
|
731
|
+
associateTerminalEndpointEvidence(value.terminal_control, value.terminal_endpoint);
|
|
732
|
+
}
|
|
662
733
|
if (value.native_thread_id !== undefined) {
|
|
663
734
|
// Persist the exact opaque id reported by the adapter. Current Codex and
|
|
664
735
|
// Claude lifecycle selectors are UUIDs, but a Session binding must not
|
|
@@ -669,6 +740,36 @@ function assertManagedTerminalBinding(value, label) {
|
|
|
669
740
|
assertTimestamp(value.bound_at, `${label} bound_at`);
|
|
670
741
|
assertTimestamp(value.last_verified_at, `${label} last_verified_at`);
|
|
671
742
|
}
|
|
743
|
+
function assertTerminalEndpointEvidence(value, label) {
|
|
744
|
+
if (!isRecord(value)) {
|
|
745
|
+
throw new Error(`${label} must be an object`);
|
|
746
|
+
}
|
|
747
|
+
assertOnlyKeys(value, [
|
|
748
|
+
"schema",
|
|
749
|
+
"version",
|
|
750
|
+
"kind",
|
|
751
|
+
"endpoint_key",
|
|
752
|
+
"resource_key",
|
|
753
|
+
"route_key",
|
|
754
|
+
"process_anchor_pid",
|
|
755
|
+
"target",
|
|
756
|
+
"socket_path",
|
|
757
|
+
"pane_pid",
|
|
758
|
+
"server_socket_path",
|
|
759
|
+
"pane_id",
|
|
760
|
+
"current_path"
|
|
761
|
+
], label);
|
|
762
|
+
if (value.schema !== "agent-knock-knock/terminal-endpoint" ||
|
|
763
|
+
value.version !== 1) {
|
|
764
|
+
throw new Error(`${label} has an unsupported identity evidence version`);
|
|
765
|
+
}
|
|
766
|
+
if (!terminalEndpointIdentityFromEvidence(value)) {
|
|
767
|
+
throw new Error(`${label} has invalid or inconsistent identity evidence`);
|
|
768
|
+
}
|
|
769
|
+
if (!terminalRouteKeyFromEvidence(value)) {
|
|
770
|
+
throw new Error(`${label} has inconsistent route evidence`);
|
|
771
|
+
}
|
|
772
|
+
}
|
|
672
773
|
function assertNativeProcessIdentity(value, label) {
|
|
673
774
|
if (!isRecord(value)) {
|
|
674
775
|
throw new Error(`${label} must be an object`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"managed-session.js","sourceRoot":"","sources":["../../src/managed-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"managed-session.js","sourceRoot":"","sources":["../../src/managed-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type ManagedSessionState, type ManagedTerminalBinding, type NativeThreadCandidate, type NativeThreadTransition } from "./managed-session.js";
|
|
2
|
+
import { type TerminalControlEvidence } from "./terminal-control-ref.js";
|
|
2
3
|
export declare const NATIVE_THREAD_RESUME_SNAPSHOT_TTL_MS: number;
|
|
3
4
|
export declare const NATIVE_THREAD_RESUME_SNAPSHOT_SCHEMA = "agent-knock-knock/native-thread-resume-snapshot";
|
|
4
|
-
export declare const NATIVE_THREAD_RESUME_SNAPSHOT_VERSION =
|
|
5
|
+
export declare const NATIVE_THREAD_RESUME_SNAPSHOT_VERSION = 2;
|
|
6
|
+
export declare const LEGACY_NATIVE_THREAD_RESUME_SNAPSHOT_VERSION = 1;
|
|
5
7
|
export interface NativeThreadResumeSnapshotRow {
|
|
6
8
|
selection_number: number;
|
|
7
9
|
short_id: string;
|
|
@@ -13,7 +15,7 @@ export interface NativeThreadResumeSnapshotRow {
|
|
|
13
15
|
}
|
|
14
16
|
export interface NativeThreadResumeSnapshot {
|
|
15
17
|
schema: typeof NATIVE_THREAD_RESUME_SNAPSHOT_SCHEMA;
|
|
16
|
-
version: typeof NATIVE_THREAD_RESUME_SNAPSHOT_VERSION;
|
|
18
|
+
version: typeof LEGACY_NATIVE_THREAD_RESUME_SNAPSHOT_VERSION | typeof NATIVE_THREAD_RESUME_SNAPSHOT_VERSION;
|
|
17
19
|
snapshot_id: string;
|
|
18
20
|
store_key: string;
|
|
19
21
|
selection_scope: string;
|
|
@@ -27,6 +29,7 @@ export interface NativeThreadResumeSnapshot {
|
|
|
27
29
|
socket_path?: string;
|
|
28
30
|
pane_pid?: number;
|
|
29
31
|
};
|
|
32
|
+
terminal_endpoint?: TerminalControlEvidence;
|
|
30
33
|
current_session_id?: string;
|
|
31
34
|
current_native_thread_id?: string;
|
|
32
35
|
expected_binding_token: string;
|
|
@@ -2,9 +2,11 @@ import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { isExactNativeThreadId } from "./managed-session.js";
|
|
5
|
+
import { associateTerminalEndpointEvidence, hasCanonicalTerminalEndpoint, sameTerminalControlIncarnation, terminalControlEvidence } from "./terminal-control-ref.js";
|
|
5
6
|
export const NATIVE_THREAD_RESUME_SNAPSHOT_TTL_MS = 5 * 60 * 1000;
|
|
6
7
|
export const NATIVE_THREAD_RESUME_SNAPSHOT_SCHEMA = "agent-knock-knock/native-thread-resume-snapshot";
|
|
7
|
-
export const NATIVE_THREAD_RESUME_SNAPSHOT_VERSION =
|
|
8
|
+
export const NATIVE_THREAD_RESUME_SNAPSHOT_VERSION = 2;
|
|
9
|
+
export const LEGACY_NATIVE_THREAD_RESUME_SNAPSHOT_VERSION = 1;
|
|
8
10
|
const PRIVATE_DIRECTORY_MODE = 0o700;
|
|
9
11
|
const PRIVATE_FILE_MODE = 0o600;
|
|
10
12
|
const NO_FOLLOW_FLAG = fs.constants.O_NOFOLLOW ?? 0;
|
|
@@ -90,11 +92,13 @@ export function verifiedPreviousResumeCandidate({ terminalId, agent, workspace,
|
|
|
90
92
|
transition.transition_id !== currentSession.last_transition_id ||
|
|
91
93
|
transition.status !== "committed" ||
|
|
92
94
|
transition.target_session_id !== currentSession.session_id ||
|
|
93
|
-
|
|
95
|
+
!after ||
|
|
96
|
+
(transition.terminal_id !== terminalId &&
|
|
97
|
+
!(hasCanonicalTerminalEndpoint(after.terminal_control) &&
|
|
98
|
+
hasCanonicalTerminalEndpoint(binding.terminal_control))) ||
|
|
94
99
|
transition.agent !== agent ||
|
|
95
100
|
path.resolve(transition.workspace) !== path.resolve(workspace) ||
|
|
96
101
|
path.resolve(currentSession.workspace) !== path.resolve(workspace) ||
|
|
97
|
-
!after ||
|
|
98
102
|
!lifecycleAfterBindingMatchesCurrent(after, binding)) {
|
|
99
103
|
return undefined;
|
|
100
104
|
}
|
|
@@ -123,10 +127,10 @@ export function lifecycleAfterBindingMatchesCurrent(after, current) {
|
|
|
123
127
|
const currentProcess = current.native_process;
|
|
124
128
|
return (after.binding_id === current.binding_id &&
|
|
125
129
|
after.generation === current.generation &&
|
|
126
|
-
after.terminal_id === current.terminal_id
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
after.terminal_control
|
|
130
|
+
(after.terminal_id === current.terminal_id ||
|
|
131
|
+
(hasCanonicalTerminalEndpoint(after.terminal_control) &&
|
|
132
|
+
hasCanonicalTerminalEndpoint(current.terminal_control))) &&
|
|
133
|
+
sameTerminalControlIncarnation(after.terminal_control, current.terminal_control) &&
|
|
130
134
|
after.native_thread_id?.toLowerCase() ===
|
|
131
135
|
current.native_thread_id?.toLowerCase() &&
|
|
132
136
|
afterProcess.pid === currentProcess.pid &&
|
|
@@ -148,9 +152,12 @@ export function createNativeThreadResumeSnapshot({ storeDir, selectionScope, ter
|
|
|
148
152
|
const ordered = sortNativeThreadCandidates(candidates);
|
|
149
153
|
const snapshotId = `rs_${randomBytes(16).toString("base64url")}`;
|
|
150
154
|
const rows = canonicalNativeThreadResumeSnapshotRows(snapshotId, ordered);
|
|
155
|
+
const canonicalTerminalControl = isCompleteTerminalControlRef(terminalControl) && hasCanonicalTerminalEndpoint(terminalControl);
|
|
151
156
|
return {
|
|
152
157
|
schema: NATIVE_THREAD_RESUME_SNAPSHOT_SCHEMA,
|
|
153
|
-
version:
|
|
158
|
+
version: canonicalTerminalControl
|
|
159
|
+
? NATIVE_THREAD_RESUME_SNAPSHOT_VERSION
|
|
160
|
+
: LEGACY_NATIVE_THREAD_RESUME_SNAPSHOT_VERSION,
|
|
154
161
|
snapshot_id: snapshotId,
|
|
155
162
|
store_key: resumeSnapshotStoreKey(storeDir),
|
|
156
163
|
selection_scope: selectionScope,
|
|
@@ -164,6 +171,9 @@ export function createNativeThreadResumeSnapshot({ storeDir, selectionScope, ter
|
|
|
164
171
|
socket_path: terminalControl.socketPath,
|
|
165
172
|
pane_pid: terminalControl.panePid
|
|
166
173
|
},
|
|
174
|
+
...(canonicalTerminalControl
|
|
175
|
+
? { terminal_endpoint: terminalControlEvidence(terminalControl) }
|
|
176
|
+
: {}),
|
|
167
177
|
current_session_id: currentSessionId,
|
|
168
178
|
current_native_thread_id: currentNativeThreadId,
|
|
169
179
|
expected_binding_token: expectedBindingToken,
|
|
@@ -260,7 +270,8 @@ export function resolveNativeThreadResumeSelection({ runtimeDir, storeDir, termi
|
|
|
260
270
|
throw new Error("exactly one snapshot-bound resume selection is required");
|
|
261
271
|
}
|
|
262
272
|
const snapshot = loadNativeThreadResumeSnapshot(runtimeDir, storeDir, resolvedSnapshotId, now);
|
|
263
|
-
if (snapshot.
|
|
273
|
+
if ((snapshot.version === LEGACY_NATIVE_THREAD_RESUME_SNAPSHOT_VERSION &&
|
|
274
|
+
snapshot.terminal_id !== terminalId) ||
|
|
264
275
|
snapshot.selection_scope !== selectionScope) {
|
|
265
276
|
throw new Error("resume selection belongs to another terminal or OpenClaw session; run /akk threads again");
|
|
266
277
|
}
|
|
@@ -304,7 +315,8 @@ function assertSnapshotId(snapshotId) {
|
|
|
304
315
|
function assertNativeThreadResumeSnapshot(value, storeDir, expectedSnapshotId) {
|
|
305
316
|
if (!isRecord(value) ||
|
|
306
317
|
value.schema !== NATIVE_THREAD_RESUME_SNAPSHOT_SCHEMA ||
|
|
307
|
-
value.version
|
|
318
|
+
!(value.version === LEGACY_NATIVE_THREAD_RESUME_SNAPSHOT_VERSION ||
|
|
319
|
+
value.version === NATIVE_THREAD_RESUME_SNAPSHOT_VERSION) ||
|
|
308
320
|
typeof value.snapshot_id !== "string" ||
|
|
309
321
|
!SNAPSHOT_ID_PATTERN.test(value.snapshot_id) ||
|
|
310
322
|
(expectedSnapshotId !== undefined &&
|
|
@@ -327,6 +339,15 @@ function assertNativeThreadResumeSnapshot(value, storeDir, expectedSnapshotId) {
|
|
|
327
339
|
!Array.isArray(value.rows)) {
|
|
328
340
|
throw new Error("resume selection snapshot is malformed");
|
|
329
341
|
}
|
|
342
|
+
if (value.version === NATIVE_THREAD_RESUME_SNAPSHOT_VERSION &&
|
|
343
|
+
(!isRecord(value.terminal_endpoint) ||
|
|
344
|
+
!snapshotEndpointMatches(value.terminal_control, value.terminal_endpoint))) {
|
|
345
|
+
throw new Error("resume selection snapshot endpoint identity is malformed");
|
|
346
|
+
}
|
|
347
|
+
if (value.version === LEGACY_NATIVE_THREAD_RESUME_SNAPSHOT_VERSION &&
|
|
348
|
+
value.terminal_endpoint !== undefined) {
|
|
349
|
+
throw new Error("legacy resume selection snapshot has unexpected endpoint identity");
|
|
350
|
+
}
|
|
330
351
|
const numbers = new Set();
|
|
331
352
|
const shortIds = new Set();
|
|
332
353
|
const handles = new Set();
|
|
@@ -430,11 +451,40 @@ function stableStringify(value) {
|
|
|
430
451
|
}
|
|
431
452
|
return JSON.stringify(value);
|
|
432
453
|
}
|
|
433
|
-
function
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
454
|
+
function snapshotTerminalControl(value) {
|
|
455
|
+
const target = String(value.target ?? "");
|
|
456
|
+
const [session = target, route = "0.0"] = target.split(":", 2);
|
|
457
|
+
const [windowText = "0", paneText = "0"] = route.split(".", 2);
|
|
458
|
+
return {
|
|
459
|
+
kind: "tmux",
|
|
460
|
+
target,
|
|
461
|
+
socketPath: nonEmptyString(value.socket_path)
|
|
462
|
+
? value.socket_path
|
|
463
|
+
: undefined,
|
|
464
|
+
session,
|
|
465
|
+
window: Number.parseInt(windowText, 10) || 0,
|
|
466
|
+
pane: Number.parseInt(paneText, 10) || 0,
|
|
467
|
+
panePid: Number(value.pane_pid),
|
|
468
|
+
capabilities: []
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
function isCompleteTerminalControlRef(value) {
|
|
472
|
+
const candidate = value;
|
|
473
|
+
return candidate.kind === "tmux" &&
|
|
474
|
+
typeof candidate.session === "string" &&
|
|
475
|
+
Number.isSafeInteger(candidate.window) &&
|
|
476
|
+
Number.isSafeInteger(candidate.pane) &&
|
|
477
|
+
Number.isSafeInteger(candidate.panePid) &&
|
|
478
|
+
Array.isArray(candidate.capabilities);
|
|
479
|
+
}
|
|
480
|
+
function snapshotEndpointMatches(terminalControl, terminalEndpoint) {
|
|
481
|
+
try {
|
|
482
|
+
associateTerminalEndpointEvidence(snapshotTerminalControl(terminalControl), terminalEndpoint);
|
|
483
|
+
return true;
|
|
484
|
+
}
|
|
485
|
+
catch {
|
|
486
|
+
return false;
|
|
487
|
+
}
|
|
438
488
|
}
|
|
439
489
|
function isRecord(value) {
|
|
440
490
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|