@scotthuang/agent-knock-knock 0.12.1 → 0.12.2

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.
@@ -32,7 +32,7 @@ export interface ManagedTerminalBinding {
32
32
  last_verified_at: string;
33
33
  }
34
34
  export interface ManagedSessionLineage {
35
- created_by: "attach" | "new_thread" | "resume_thread" | "migration";
35
+ created_by: "attach" | "new_thread" | "resume_thread" | "human_observed" | "migration";
36
36
  previous_session_id?: string;
37
37
  resumed_from_native_thread_id?: string;
38
38
  transition_id?: string;
@@ -64,7 +64,11 @@ export interface NativeThreadTransition {
64
64
  transition_id: string;
65
65
  /** Monotonic Store revision used for transition state CAS. */
66
66
  revision?: number;
67
- operation: "new_thread" | "resume_thread";
67
+ operation: "new_thread" | "resume_thread" | "adopt_external_thread";
68
+ /** An observed handoff is authority evidence, never a terminal command. */
69
+ origin?: "human_observed";
70
+ /** Explicitly fences recovery from ever replaying input for an observation. */
71
+ terminal_input_sent?: boolean;
68
72
  status: NativeThreadTransitionStatus;
69
73
  terminal_id: string;
70
74
  agent: ExecutorKind;
@@ -137,6 +141,30 @@ export declare function unmanagedTerminalBindingToken(value: {
137
141
  processBirth?: string;
138
142
  rollout?: NativeProcessIdentity["rollout"];
139
143
  }): string;
144
+ export type HumanObservedHandoffTargetSnapshot = {
145
+ state: "absent";
146
+ } | {
147
+ state: "detached";
148
+ session_id: string;
149
+ revision: number;
150
+ status: "detached";
151
+ binding_token: string;
152
+ };
153
+ /**
154
+ * Snapshot authority for one advertised human-handoff send.
155
+ *
156
+ * The terminal token fences the provider endpoint, process incarnation, and
157
+ * observed after-thread identity. Source and target snapshots are included
158
+ * separately because neither a Session revision nor a newly appeared/removed
159
+ * historical target is represented by that terminal-only token.
160
+ */
161
+ export declare function humanObservedHandoffBindingToken(value: {
162
+ terminal_token: string;
163
+ source_session_id: string;
164
+ source_revision: number;
165
+ source_binding_token: string;
166
+ target: HumanObservedHandoffTargetSnapshot;
167
+ }): string;
140
168
  export declare function legacyUnmanagedTerminalBindingToken(value: {
141
169
  terminalId: string;
142
170
  terminalControl: TerminalControlRef;
@@ -85,6 +85,48 @@ export function unmanagedTerminalBindingToken(value) {
85
85
  }
86
86
  return legacyUnmanagedTerminalBindingToken(value);
87
87
  }
88
+ /**
89
+ * Snapshot authority for one advertised human-handoff send.
90
+ *
91
+ * The terminal token fences the provider endpoint, process incarnation, and
92
+ * observed after-thread identity. Source and target snapshots are included
93
+ * separately because neither a Session revision nor a newly appeared/removed
94
+ * historical target is represented by that terminal-only token.
95
+ */
96
+ export function humanObservedHandoffBindingToken(value) {
97
+ assertNonEmptyString(value.terminal_token, "handoff terminal token");
98
+ assertManagedSessionId(value.source_session_id);
99
+ if (!isPositiveSafeInteger(value.source_revision)) {
100
+ throw new Error("handoff source revision must be a positive integer");
101
+ }
102
+ assertNonEmptyString(value.source_binding_token, "handoff source binding token");
103
+ if (value.target.state === "detached") {
104
+ assertManagedSessionId(value.target.session_id);
105
+ if (!isPositiveSafeInteger(value.target.revision)) {
106
+ throw new Error("handoff target revision must be a positive integer");
107
+ }
108
+ if (value.target.status !== "detached") {
109
+ throw new Error("handoff target snapshot must remain detached");
110
+ }
111
+ assertNonEmptyString(value.target.binding_token, "handoff target binding token");
112
+ }
113
+ else if (value.target.state !== "absent") {
114
+ throw new Error("handoff target snapshot state is invalid");
115
+ }
116
+ return createHash("sha256")
117
+ .update(JSON.stringify({
118
+ version: 1,
119
+ kind: "human_observed_handoff",
120
+ terminal_token: value.terminal_token,
121
+ source: {
122
+ session_id: value.source_session_id,
123
+ revision: value.source_revision,
124
+ binding_token: value.source_binding_token
125
+ },
126
+ target: value.target
127
+ }))
128
+ .digest("hex");
129
+ }
88
130
  export function legacyUnmanagedTerminalBindingToken(value) {
89
131
  return createHash("sha256")
90
132
  .update(JSON.stringify({
@@ -208,6 +250,8 @@ export function assertNativeThreadTransition(value, expectedTransitionId, option
208
250
  "transition_id",
209
251
  "revision",
210
252
  "operation",
253
+ "origin",
254
+ "terminal_input_sent",
211
255
  "status",
212
256
  "terminal_id",
213
257
  "agent",
@@ -258,9 +302,23 @@ export function assertNativeThreadTransition(value, expectedTransitionId, option
258
302
  if (!NATIVE_THREAD_OPERATIONS.has(value.operation)) {
259
303
  throw new Error("native thread transition operation is invalid");
260
304
  }
305
+ const observedHandoff = value.operation === "adopt_external_thread";
306
+ if (observedHandoff
307
+ ? value.origin !== "human_observed" || value.terminal_input_sent !== false
308
+ : value.origin !== undefined || value.terminal_input_sent !== undefined) {
309
+ throw new Error(observedHandoff
310
+ ? "adopt_external_thread requires human_observed origin and terminal_input_sent=false"
311
+ : "native command transitions cannot carry human-observed input evidence");
312
+ }
261
313
  if (!NATIVE_THREAD_TRANSITION_STATUSES.has(value.status)) {
262
314
  throw new Error("native thread transition status is invalid");
263
315
  }
316
+ if (observedHandoff &&
317
+ (["dispatching", "submitted"].includes(String(value.status)) ||
318
+ value.dispatching_at !== undefined ||
319
+ value.submitted_at !== undefined)) {
320
+ throw new Error("adopt_external_thread cannot carry terminal-dispatch state");
321
+ }
264
322
  assertNonEmptyString(value.terminal_id, "native thread transition terminal_id");
265
323
  assertExecutorKind(value.agent, "native thread transition agent");
266
324
  assertNonEmptyString(value.workspace, "native thread transition workspace");
@@ -322,9 +380,9 @@ export function assertNativeThreadTransition(value, expectedTransitionId, option
322
380
  value.before_process_started_at === undefined) {
323
381
  throw new Error("Claude transition requires before_process_started_at");
324
382
  }
325
- if (value.operation === "resume_thread" &&
383
+ if (["resume_thread", "adopt_external_thread"].includes(String(value.operation)) &&
326
384
  value.target_native_thread_id === undefined) {
327
- throw new Error("resume_thread requires target_native_thread_id");
385
+ throw new Error(`${String(value.operation)} requires target_native_thread_id`);
328
386
  }
329
387
  if (value.operation === "new_thread" &&
330
388
  value.target_native_thread_id !== undefined) {
@@ -373,10 +431,14 @@ export function assertNativeThreadTransition(value, expectedTransitionId, option
373
431
  if (value.do_not_retry !== undefined && typeof value.do_not_retry !== "boolean") {
374
432
  throw new Error("native thread transition do_not_retry must be boolean");
375
433
  }
376
- if (["dispatching", "submitted", "uncertain", "verified", "committed"].includes(String(value.status)) && value.dispatching_at === undefined) {
434
+ if (["dispatching", "submitted", "uncertain", "verified", "committed"].includes(String(value.status)) &&
435
+ !observedHandoff &&
436
+ value.dispatching_at === undefined) {
377
437
  throw new Error(`${value.status} transition requires dispatching_at`);
378
438
  }
379
- if (["submitted", "verified", "committed"].includes(String(value.status)) && value.submitted_at === undefined) {
439
+ if (["submitted", "verified", "committed"].includes(String(value.status)) &&
440
+ !observedHandoff &&
441
+ value.submitted_at === undefined) {
380
442
  throw new Error(`${value.status} transition requires submitted_at`);
381
443
  }
382
444
  if (["verified", "committed"].includes(String(value.status)) &&
@@ -433,7 +495,7 @@ function assertNativeThreadTransitionBindingConsistency(transition) {
433
495
  throw new Error("native thread transition changed terminal control or process PID");
434
496
  }
435
497
  const afterNativeThreadId = after.native_thread_id.toLowerCase();
436
- if (transition.operation === "resume_thread"
498
+ if (["resume_thread", "adopt_external_thread"].includes(transition.operation)
437
499
  ? afterNativeThreadId !== transition.target_native_thread_id?.toLowerCase()
438
500
  : afterNativeThreadId === transition.before_native_thread_id.toLowerCase()) {
439
501
  throw new Error("native thread transition after_binding does not satisfy its operation");
@@ -971,11 +1033,13 @@ const MANAGED_SESSION_LINEAGE_KINDS = new Set([
971
1033
  "attach",
972
1034
  "new_thread",
973
1035
  "resume_thread",
1036
+ "human_observed",
974
1037
  "migration"
975
1038
  ]);
976
1039
  const NATIVE_THREAD_OPERATIONS = new Set([
977
1040
  "new_thread",
978
- "resume_thread"
1041
+ "resume_thread",
1042
+ "adopt_external_thread"
979
1043
  ]);
980
1044
  const NATIVE_THREAD_TRANSITION_STATUSES = new Set([
981
1045
  "prepared",
@@ -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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"}
@@ -14,17 +14,27 @@ const sendParameters = {
14
14
  type: "object",
15
15
  additionalProperties: false,
16
16
  required: ["request"],
17
- not: { required: ["session_id", "selector"] },
17
+ not: {
18
+ anyOf: [
19
+ { required: ["session_id", "selector"] },
20
+ { required: ["session_id", "expected_terminal_token"] }
21
+ ]
22
+ },
18
23
  properties: {
19
24
  session_id: {
20
25
  type: "string",
21
26
  minLength: 1,
22
- description: "Authoritative AKK session id returned by list or a previous send. Ordinary sends target a session and create a new turn; discovery selectors, terminal ids, and turn ids are never session_id destinations."
27
+ description: "Strict session-scoped AKK id returned by list or a previous send. This preserves that exact native context and never follows the pane after a human switches threads. Discovery selectors, terminal ids, and turn ids are never session_id destinations."
23
28
  },
24
29
  selector: {
25
30
  type: "string",
26
31
  minLength: 1,
27
- description: "Compatibility/discovery selector: codex, claude, only, latest, an @short-ref, or a live terminal id. Use one only when explicitly named by the user or prefilled by list; never infer it. Prefer session_id once a session exists. Omit both fields only when AKK should attach the unique eligible idle pane."
32
+ description: "Terminal-scoped selector: codex, claude, only, latest, an @short-ref, or a live terminal id. Use one only when explicitly named by the user or prefilled by list; never infer it. A follow-current handoff action uses the exact full terminal id together with expected_terminal_token. Legacy discovery selectors remain supported. Omit both target fields only when AKK should attach the unique eligible idle pane."
33
+ },
34
+ expected_terminal_token: {
35
+ type: "string",
36
+ minLength: 1,
37
+ description: "Fresh terminal snapshot token prefilled by the same terminal row's follow-current send action. Preserve it exactly with that action's full terminal selector; never infer, copy, reuse, or combine it with session_id."
28
38
  },
29
39
  request: {
30
40
  type: "string",
@@ -320,7 +330,10 @@ const closeParameters = {
320
330
  not: {
321
331
  anyOf: [
322
332
  { required: ["turn_id", "conversation_id"] },
323
- { required: ["expected_message_id", "expected_transition_id"] }
333
+ { required: ["expected_message_id", "expected_transition_id"] },
334
+ { required: ["expected_handoff_token", "conversation_id"] },
335
+ { required: ["expected_handoff_token", "expected_message_id"] },
336
+ { required: ["expected_handoff_token", "expected_transition_id"] }
324
337
  ]
325
338
  },
326
339
  anyOf: [
@@ -347,6 +360,10 @@ const closeParameters = {
347
360
  expected_transition_id: {
348
361
  type: "string",
349
362
  description: "Required only to recover an unresolved native-thread lifecycle transition shown by AKK list. Must exactly match that entry's current transition_id and must not be combined with expected_message_id."
363
+ },
364
+ expected_handoff_token: {
365
+ type: "string",
366
+ description: "Snapshot fence for the exact managed Turn close advertised only by terminals[].handoff_decision.choices.take_over_current.action. Copy that complete action only after explicit user confirmation; it requires turn_id and reason=superseded_by_human_context_switch, and cannot be combined with a raw-terminal target or another close fence."
350
367
  }
351
368
  }
352
369
  };
@@ -413,13 +430,13 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
413
430
  default: "AKK is handling the request..."
414
431
  },
415
432
  agentPromptGuidance: [
416
- "Use /akk <task> when exactly one eligible idle coding-agent terminal pane should receive new work. Use /akk codex: <task>, /akk claude: <task>, or another selector returned by /akk list to target an existing pane. Ordinary sends preserve native context. Use /akk threads, /akk new-thread or clear-thread, and /akk resume-thread only with an exact full terminal_id returned by /akk list; these switch native context without creating a Turn. Resume numbers and short IDs are bound to the last displayed snapshot, while previous is available only from the latest verified committed transition. For native Codex or Claude status, use only an advertised agent_knock_knock_native_inspect action; agent_knock_knock_status inspects AKK Turn state and does not execute /status. AKK never starts a coding-agent process."
433
+ "Use /akk <task> when exactly one eligible idle coding-agent terminal pane should receive new work. Use /akk codex: <task>, /akk claude: <task>, or another selector returned by /akk list to target an existing pane. A session_id send is strict to that Session's native context; an exact list-prefilled terminal selector plus expected_terminal_token is a terminal-scoped follow-current action that may safely absorb a verified quiescent human thread switch before creating the Turn. Never infer or reuse its token. Use /akk threads, /akk new-thread or clear-thread, and /akk resume-thread only with an exact full terminal_id returned by /akk list; these switch native context without creating a Turn. Resume numbers and short IDs are bound to the last displayed snapshot, while previous is available only from the latest verified committed transition. For native Codex or Claude status, use only an advertised agent_knock_knock_native_inspect action; agent_knock_knock_status inspects AKK Turn state and does not execute /status. AKK never starts a coding-agent process."
417
434
  ],
418
435
  handler: async (ctx) => handleAkkCommand(api, ctx, displayedResumeSnapshots)
419
436
  });
420
437
  registerCliTool(api, {
421
438
  name: "agent_knock_knock_list",
422
- description: "List existing Codex and Claude Code tmux or Herdr panes as the primary terminals[] resources. Each terminal may include managed.current_turn or managed.recent_turn; all=true also includes older managed.history and retained unavailable history. By default, unavailable_managed_turns contains attention-needed records whose pane is unavailable. Use only each row's available_actions and authoritative prefilled arguments: send targets a session and starts a new turn; respond targets the exact in-flight turn; native_inspect runs only a closed, exact-version Codex or Claude status profile with the current terminal/binding token; read-only thread listing targets the exact terminal, while new/resume mutations also require the current binding token and create no Turn; reconcile_binding detaches only the exact listed conflict and requires explicit user intent; managed controls target the exact turn; a raw terminal row may prefill its own compatibility selector for status or recovery controls. Never construct identifiers or tokens. AKK revalidates every terminal side effect and never starts a coding-agent process.",
439
+ description: "List existing Codex and Claude Code tmux or Herdr panes as the primary terminals[] resources. Each terminal may include managed.current_turn or managed.recent_turn; all=true also includes older managed.history and retained unavailable history. By default, unavailable_managed_turns contains attention-needed records whose pane is unavailable. A live human thread switch remains management_state=conflict and exposes handoff_state as adoptable or blocked without mutating the Store. Use only each row's available_actions and authoritative prefilled arguments: a session-scoped send targets session_id strictly and never redirects to the pane's replacement context; a terminal-scoped follow-current send preserves that row's exact selector and expected_terminal_token and may absorb only a verified quiescent human handoff before starting a Turn; legacy discovery sends remain compatible. respond targets the exact in-flight turn; native_inspect runs only a closed, exact-version Codex or Claude status profile with the current terminal/binding token; read-only thread listing targets the exact terminal, while new/resume mutations also require the current binding token and create no Turn; reconcile_binding remains a low-level conflict recovery action; managed controls target the exact turn; a raw terminal row may prefill its own compatibility selector for status or recovery controls. Never construct identifiers or tokens. AKK revalidates every terminal side effect and never starts a coding-agent process.",
423
440
  parameters: listParameters,
424
441
  buildArgs: (params) => {
425
442
  const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
@@ -568,7 +585,7 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
568
585
  api.registerTool((toolContext) => ({
569
586
  label: "AKK Send",
570
587
  name: "agent_knock_knock_send",
571
- description: "Start a new turn in an existing AKK session without clearing the coding agent's native context. Target the exact session_id from list or a prior send; never pass a turn id or discovery selector as session_id. selector is compatibility-only for initial live-terminal discovery: use one explicitly named by the user or prefilled by list, and never infer one. Both fields may be omitted only when AKK should require one unique eligible idle pane. To answer an in-flight question, use agent_knock_knock_respond instead. For ordinary use add only request and omit monitoring timeouts unless the user explicitly asks to change them. timeoutSeconds is unsupported. AKK never starts a coding agent. This is asynchronous: after acceptance, yield and wait for the callback or a later explicit status request.",
588
+ description: "Start a new AKK Turn. A session-scoped send uses the exact session_id from list or a prior send, preserves that Session's native context, and never redirects to a thread the human selected later in the pane. A terminal-scoped follow-current send uses only one exact list-prefilled full terminal selector together with its fresh expected_terminal_token; AKK may then atomically adopt a verified quiescent human handoff before creating the Turn. Preserve both values exactly and never infer, copy, or reuse the token. Legacy selector discovery remains supported, and both target fields may be omitted only when AKK should require one unique eligible idle pane. Never pass a turn id or selector as session_id. To answer an in-flight question, use agent_knock_knock_respond instead. For ordinary use omit monitoring timeouts unless the user explicitly asks to change them. timeoutSeconds is unsupported. AKK never starts a coding agent. This is asynchronous: after acceptance, yield and wait for the callback or a later explicit status request.",
572
589
  parameters: sendParameters,
573
590
  async execute(toolCallId, params) {
574
591
  const result = await runSendRequest(api, isRecord(params) ? params : {}, toolContext, terminalMessageIdForToolCall({
@@ -658,7 +675,7 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
658
675
  });
659
676
  registerCliTool(api, {
660
677
  name: "agent_knock_knock_close",
661
- description: "Close an AKK-managed turn record without terminating the shared terminal pane. For a list-prefilled raw-terminal recovery, the user must explicitly request it and provide the exact expected_message_id or expected_transition_id reported by that AKK list entry.",
678
+ description: "Close an AKK-managed turn record without terminating the shared terminal pane. For a list-prefilled raw-terminal recovery, the user must explicitly request it and provide the exact expected_message_id or expected_transition_id reported by that AKK list entry. When a verified human native-thread switch conflicts with one active Turn, only the complete nested handoff_decision take_over_current action is authoritative: it requires explicit user confirmation and its exact turn_id, supersede reason, and expected_handoff_token.",
662
679
  parameters: closeParameters,
663
680
  isErrorResult: isBlockedTerminalDispatchResult,
664
681
  buildArgs: (params) => {
@@ -669,6 +686,7 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
669
686
  pushOptional(args, "--reason", stringValue(params.reason));
670
687
  pushOptional(args, "--expected-message-id", stringValue(params.expected_message_id));
671
688
  pushOptional(args, "--expected-transition-id", stringValue(params.expected_transition_id));
689
+ pushOptional(args, "--expected-handoff-token", stringValue(params.expected_handoff_token));
672
690
  pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
673
691
  return args;
674
692
  }
@@ -1355,6 +1373,16 @@ async function runSendRequest(api, params, toolContext, messageId) {
1355
1373
  const selector = Object.hasOwn(params, "selector")
1356
1374
  ? requiredString(params.selector, "selector")
1357
1375
  : undefined;
1376
+ const expectedTerminalToken = Object.hasOwn(params, "expected_terminal_token")
1377
+ ? requiredString(params.expected_terminal_token, "expected_terminal_token")
1378
+ : undefined;
1379
+ if (expectedTerminalToken && !selector) {
1380
+ throw new Error("expected_terminal_token requires a terminal-scoped selector and cannot be used with session_id");
1381
+ }
1382
+ if (expectedTerminalToken &&
1383
+ !/^terminal:v[0-9]+:/u.test(selector ?? "")) {
1384
+ throw new Error("expected_terminal_token requires the exact full terminal selector prefilled by AKK list");
1385
+ }
1358
1386
  if (!sessionId && !selector) {
1359
1387
  return runDelegate(api, { ...params, messageId }, toolContext);
1360
1388
  }
@@ -1370,6 +1398,7 @@ async function runSendRequest(api, params, toolContext, messageId) {
1370
1398
  else {
1371
1399
  args.push("--conversation", requiredString(selector, "selector"));
1372
1400
  }
1401
+ pushOptional(args, "--expected-terminal-token", expectedTerminalToken);
1373
1402
  args.push("--message", requiredString(params.request, "request"), "--background");
1374
1403
  pushOptional(args, "--type", stringValue(params.type));
1375
1404
  pushOptional(args, "--message-id", messageId);
@@ -2122,9 +2151,29 @@ function authoritativeManagedId(value, name) {
2122
2151
  return id;
2123
2152
  }
2124
2153
  function assertExclusiveRecoveryFence(params) {
2125
- if (stringValue(params.expected_message_id) &&
2126
- stringValue(params.expected_transition_id)) {
2127
- throw new Error("close accepts only one of expected_message_id or expected_transition_id");
2154
+ const expectedMessageId = stringValue(params.expected_message_id);
2155
+ const expectedTransitionId = stringValue(params.expected_transition_id);
2156
+ const expectedHandoffToken = stringValue(params.expected_handoff_token);
2157
+ const closeFenceCount = [
2158
+ expectedMessageId,
2159
+ expectedTransitionId,
2160
+ expectedHandoffToken
2161
+ ].filter(Boolean).length;
2162
+ if (closeFenceCount > 1) {
2163
+ throw new Error("close accepts only one of expected_message_id, expected_transition_id, or expected_handoff_token");
2164
+ }
2165
+ const handoffReason = stringValue(params.reason) ===
2166
+ "superseded_by_human_context_switch";
2167
+ if (expectedHandoffToken) {
2168
+ if (!stringValue(params.turn_id) || stringValue(params.conversation_id)) {
2169
+ throw new Error("expected_handoff_token requires the exact managed turn_id from the advertised handoff_decision action");
2170
+ }
2171
+ if (!handoffReason) {
2172
+ throw new Error("expected_handoff_token requires reason=superseded_by_human_context_switch");
2173
+ }
2174
+ }
2175
+ else if (handoffReason) {
2176
+ throw new Error("reason=superseded_by_human_context_switch requires expected_handoff_token from the advertised handoff_decision action");
2128
2177
  }
2129
2178
  }
2130
2179
  function pushOptional(args, flag, value) {