@scotthuang/agent-knock-knock 0.12.13 → 0.12.14

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.
Files changed (144) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +5 -5
  3. package/dist/src/callback-cli-adapter.d.ts +9 -6
  4. package/dist/src/callback-cli-adapter.js +119 -30
  5. package/dist/src/callback-cli-adapter.js.map +1 -1
  6. package/dist/src/callback-outbox-policy.d.ts +39 -0
  7. package/dist/src/callback-outbox-policy.js +163 -6
  8. package/dist/src/callback-outbox-policy.js.map +1 -1
  9. package/dist/src/callback-outbox-service.d.ts +28 -1
  10. package/dist/src/callback-outbox-service.js +413 -82
  11. package/dist/src/callback-outbox-service.js.map +1 -1
  12. package/dist/src/callback-outbox-settlement.d.ts +14 -1
  13. package/dist/src/callback-outbox-settlement.js +151 -30
  14. package/dist/src/callback-outbox-settlement.js.map +1 -1
  15. package/dist/src/callback-route-authority.d.ts +59 -0
  16. package/dist/src/callback-route-authority.js +123 -0
  17. package/dist/src/callback-route-authority.js.map +1 -0
  18. package/dist/src/callback-transport.d.ts +134 -0
  19. package/dist/src/callback-transport.js +256 -0
  20. package/dist/src/callback-transport.js.map +1 -0
  21. package/dist/src/cli-core.js +17 -4
  22. package/dist/src/cli-core.js.map +1 -1
  23. package/dist/src/codex-lifecycle-compatibility.js +2 -1
  24. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  25. package/dist/src/deferred-foreground-application-service.d.ts +18 -0
  26. package/dist/src/deferred-foreground-application-service.js +72 -0
  27. package/dist/src/deferred-foreground-application-service.js.map +1 -1
  28. package/dist/src/deferred-foreground-authority-cli-adapter.js +2 -1
  29. package/dist/src/deferred-foreground-authority-cli-adapter.js.map +1 -1
  30. package/dist/src/deferred-foreground-recovery-cli-adapter.d.ts +1 -1
  31. package/dist/src/deferred-foreground-recovery-cli-adapter.js +108 -37
  32. package/dist/src/deferred-foreground-recovery-cli-adapter.js.map +1 -1
  33. package/dist/src/deferred-foreground-recovery-service.d.ts +1 -1
  34. package/dist/src/deferred-foreground-recovery-service.js +10 -3
  35. package/dist/src/deferred-foreground-recovery-service.js.map +1 -1
  36. package/dist/src/deferred-foreground-transfer-policy.d.ts +1 -1
  37. package/dist/src/deferred-foreground-transfer-policy.js +3 -2
  38. package/dist/src/deferred-foreground-transfer-policy.js.map +1 -1
  39. package/dist/src/deferred-foreground-transfer.d.ts +17 -1
  40. package/dist/src/deferred-foreground-transfer.js +244 -35
  41. package/dist/src/deferred-foreground-transfer.js.map +1 -1
  42. package/dist/src/deferred-foreground-user-close.d.ts +18 -0
  43. package/dist/src/deferred-foreground-user-close.js +180 -0
  44. package/dist/src/deferred-foreground-user-close.js.map +1 -0
  45. package/dist/src/openclaw-callback-transport.d.ts +4 -1
  46. package/dist/src/openclaw-callback-transport.js +403 -10
  47. package/dist/src/openclaw-callback-transport.js.map +1 -1
  48. package/dist/src/openclaw-managed-callback-cli-adapter.d.ts +23 -0
  49. package/dist/src/openclaw-managed-callback-cli-adapter.js +77 -0
  50. package/dist/src/openclaw-managed-callback-cli-adapter.js.map +1 -0
  51. package/dist/src/openclaw-plugin-command-adapter.js +28 -31
  52. package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
  53. package/dist/src/openclaw-plugin-helpers.js +8 -0
  54. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  55. package/dist/src/openclaw-plugin-schemas.d.ts +20 -1
  56. package/dist/src/openclaw-plugin-schemas.js +26 -2
  57. package/dist/src/openclaw-plugin-schemas.js.map +1 -1
  58. package/dist/src/protocol.d.ts +3 -0
  59. package/dist/src/protocol.js +4 -0
  60. package/dist/src/protocol.js.map +1 -1
  61. package/dist/src/store.d.ts +9 -0
  62. package/dist/src/store.js +79 -1
  63. package/dist/src/store.js.map +1 -1
  64. package/dist/src/terminal-acceptance-cli-adapter.d.ts +2 -0
  65. package/dist/src/terminal-acceptance-cli-adapter.js +62 -12
  66. package/dist/src/terminal-acceptance-cli-adapter.js.map +1 -1
  67. package/dist/src/terminal-action-projection.d.ts +1 -2
  68. package/dist/src/terminal-action-projection.js +4 -5
  69. package/dist/src/terminal-action-projection.js.map +1 -1
  70. package/dist/src/terminal-agent-bridge.d.ts +82 -0
  71. package/dist/src/terminal-agent-bridge.js +539 -111
  72. package/dist/src/terminal-agent-bridge.js.map +1 -1
  73. package/dist/src/terminal-command-cli-adapter.d.ts +9 -0
  74. package/dist/src/terminal-command-cli-adapter.js +2130 -5
  75. package/dist/src/terminal-command-cli-adapter.js.map +1 -1
  76. package/dist/src/terminal-dispatch-application.d.ts +4 -1
  77. package/dist/src/terminal-dispatch-application.js +11 -2
  78. package/dist/src/terminal-dispatch-application.js.map +1 -1
  79. package/dist/src/terminal-dispatch-execution.js +3 -1
  80. package/dist/src/terminal-dispatch-execution.js.map +1 -1
  81. package/dist/src/terminal-dispatch-ledger-codec.d.ts +3 -0
  82. package/dist/src/terminal-dispatch-ledger-codec.js +46 -19
  83. package/dist/src/terminal-dispatch-ledger-codec.js.map +1 -1
  84. package/dist/src/terminal-dispatch-presenter.js +5 -3
  85. package/dist/src/terminal-dispatch-presenter.js.map +1 -1
  86. package/dist/src/terminal-dispatch-receipt.d.ts +3 -0
  87. package/dist/src/terminal-dispatch-receipt.js +15 -1
  88. package/dist/src/terminal-dispatch-receipt.js.map +1 -1
  89. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +68 -7
  90. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
  91. package/dist/src/terminal-dispatch-recovery-service.d.ts +2 -0
  92. package/dist/src/terminal-dispatch-recovery-service.js +9 -0
  93. package/dist/src/terminal-dispatch-recovery-service.js.map +1 -1
  94. package/dist/src/terminal-identity-authority-cli-adapter.d.ts +2 -0
  95. package/dist/src/terminal-identity-authority-cli-adapter.js +30 -27
  96. package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
  97. package/dist/src/terminal-list-cli-adapter.d.ts +1 -0
  98. package/dist/src/terminal-list-cli-adapter.js +50 -31
  99. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  100. package/dist/src/terminal-list-renderer.d.ts +9 -1
  101. package/dist/src/terminal-list-renderer.js +219 -98
  102. package/dist/src/terminal-list-renderer.js.map +1 -1
  103. package/dist/src/terminal-maintenance-cli-adapter.js +253 -326
  104. package/dist/src/terminal-maintenance-cli-adapter.js.map +1 -1
  105. package/dist/src/terminal-monitor-application-service.d.ts +5 -0
  106. package/dist/src/terminal-monitor-application-service.js +5 -0
  107. package/dist/src/terminal-monitor-application-service.js.map +1 -1
  108. package/dist/src/terminal-monitor-cli-adapter.d.ts +25 -1
  109. package/dist/src/terminal-monitor-cli-adapter.js +170 -27
  110. package/dist/src/terminal-monitor-cli-adapter.js.map +1 -1
  111. package/dist/src/terminal-monitor-reconciliation-eligibility.d.ts +1 -1
  112. package/dist/src/terminal-monitor-reconciliation-eligibility.js +220 -32
  113. package/dist/src/terminal-monitor-reconciliation-eligibility.js.map +1 -1
  114. package/dist/src/terminal-monitor-state-cli-adapter.d.ts +1 -1
  115. package/dist/src/terminal-monitor-state-cli-adapter.js +808 -147
  116. package/dist/src/terminal-monitor-state-cli-adapter.js.map +1 -1
  117. package/dist/src/terminal-monitor-state-reconciliation-service.d.ts +2 -1
  118. package/dist/src/terminal-monitor-state-reconciliation-service.js +12 -0
  119. package/dist/src/terminal-monitor-state-reconciliation-service.js.map +1 -1
  120. package/dist/src/terminal-monitor-supervision-cli-adapter.d.ts +2 -0
  121. package/dist/src/terminal-monitor-supervision-cli-adapter.js +31 -11
  122. package/dist/src/terminal-monitor-supervision-cli-adapter.js.map +1 -1
  123. package/dist/src/terminal-status-cli-adapter.d.ts +1 -0
  124. package/dist/src/terminal-status-cli-adapter.js +30 -28
  125. package/dist/src/terminal-status-cli-adapter.js.map +1 -1
  126. package/dist/src/terminal-submission-acceptance.js +78 -25
  127. package/dist/src/terminal-submission-acceptance.js.map +1 -1
  128. package/dist/src/terminal-submission-retry-service.d.ts +114 -0
  129. package/dist/src/terminal-submission-retry-service.js +589 -0
  130. package/dist/src/terminal-submission-retry-service.js.map +1 -0
  131. package/dist/src/terminal-watch-callback-cli-adapter.d.ts +10 -2
  132. package/dist/src/terminal-watch-callback-cli-adapter.js +76 -37
  133. package/dist/src/terminal-watch-callback-cli-adapter.js.map +1 -1
  134. package/dist/src/terminal-watch-cli-adapter.js +41 -17
  135. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  136. package/dist/src/terminal-watch-service.d.ts +11 -6
  137. package/dist/src/terminal-watch-service.js +210 -41
  138. package/dist/src/terminal-watch-service.js.map +1 -1
  139. package/dist/src/terminal-watch-store.d.ts +23 -0
  140. package/dist/src/terminal-watch-store.js +162 -4
  141. package/dist/src/terminal-watch-store.js.map +1 -1
  142. package/docs/quickstart-tmux.md +1 -1
  143. package/package.json +1 -1
  144. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +8 -5
@@ -1,6 +1,8 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
+ import { callbackEnvelopeMatchesRoute, createCallbackEnvelope, parseCallbackRoute } from "./callback-transport.js";
5
+ import { canonicalJson } from "./canonical-json.js";
4
6
  import { assertRealDirectory, atomicSaveJsonFile, isNodeError, readJsonFileNoFollow } from "./durable-json-file.js";
5
7
  import { initialClaudeHumanStartedActiveTaskCheckpoint, validateClaudeHumanStartedActiveTaskCheckpoint, validateClaudeHumanStartedActiveTaskAnchor } from "./claude-local-transcript-provider.js";
6
8
  import { validateCodexHumanStartedActiveTaskAnchor } from "./terminal-submission-acceptance.js";
@@ -44,6 +46,73 @@ export function initialTerminalWatchObservationCheckpoint(anchor) {
44
46
  .observed_end_offset_bytes
45
47
  };
46
48
  }
49
+ export function terminalWatchCallbackEnvelope(watch, notification, route) {
50
+ const event = notification.kind === "approval"
51
+ ? "approval_required"
52
+ : notification.kind;
53
+ const reasonCode = notification.kind === "approval"
54
+ ? notification.reason_code
55
+ : notification.reason_code ?? watch.settlement?.reason_code;
56
+ return createCallbackEnvelope({
57
+ route,
58
+ deliveryId: notification.notification_id,
59
+ idempotencyKey: notification.idempotency_key,
60
+ source: {
61
+ kind: "terminal_watch",
62
+ watch_id: watch.watch_id,
63
+ terminal_id: watch.terminal.terminal_id
64
+ },
65
+ event: {
66
+ id: notification.notification_id,
67
+ type: event,
68
+ body: terminalWatchCallbackMessage({
69
+ watchId: watch.watch_id,
70
+ event,
71
+ agent: watch.agent,
72
+ terminalId: watch.terminal.terminal_id,
73
+ detail: reasonCode,
74
+ completionText: notification.kind === "completed" ||
75
+ notification.kind === "failed"
76
+ ? watch.settlement?.completion_text
77
+ : undefined
78
+ }),
79
+ requires_response: true,
80
+ metadata: {
81
+ agent: watch.agent,
82
+ ...(reasonCode
83
+ ? { reason_code: reasonCode }
84
+ : {}),
85
+ ...((notification.kind === "completed" ||
86
+ notification.kind === "failed") &&
87
+ watch.settlement?.completion_text
88
+ ? { completion_text: watch.settlement.completion_text }
89
+ : {})
90
+ }
91
+ }
92
+ });
93
+ }
94
+ export function terminalWatchCallbackMessage(input) {
95
+ const eventInstruction = input.event === "approval_required"
96
+ ? "Tell the user that the observed TUI task is waiting for approval and ask the human to inspect and decide in the named live TUI. Do not call any AKK approval tool or action, do not send approval keys, and do not use autoApprove."
97
+ : input.event === "completed"
98
+ ? "Tell the user that the human-started TUI task completed and summarize only the bounded completion text below."
99
+ : "Tell the user that Terminal Watch stopped without a verified successful completion and explain the exact reason below.";
100
+ return [
101
+ "Continue this controller conversation from the Agent Knock Knock Terminal Watch event below.",
102
+ "This is an observation of a task started by the human directly in Codex or Claude Code. It is not an AKK Turn and AKK did not send terminal input.",
103
+ eventInstruction,
104
+ "Do not poll files, processes, terminal panes, stdout, or stderr. Use only this structured event.",
105
+ "",
106
+ `[AKK Terminal Watch: ${input.event}]`,
107
+ `Watch: ${input.watchId}`,
108
+ `Terminal: ${input.terminalId}`,
109
+ `Agent: ${input.agent}`,
110
+ ...(input.detail ? [`Detail: ${input.detail}`] : []),
111
+ ...(input.completionText
112
+ ? ["", "Bounded completion text:", input.completionText]
113
+ : [])
114
+ ].join("\n");
115
+ }
47
116
  export class TerminalWatchConflictError extends Error {
48
117
  code = "AKK_TERMINAL_WATCH_CONFLICT";
49
118
  watchId;
@@ -237,6 +306,8 @@ const NOTIFICATION_FIELDS = {
237
306
  kind: oneOfGuard(TERMINAL_WATCH_NOTIFICATION_KINDS),
238
307
  evidence_fingerprint: assertSha256,
239
308
  reason_code: optionalGuard(assertReasonCode),
309
+ callback_route: IGNORE_VALUE,
310
+ callback_envelope: IGNORE_VALUE,
240
311
  status: oneOfGuard(TERMINAL_WATCH_NOTIFICATION_STATUSES),
241
312
  attempts: NON_NEGATIVE_INTEGER,
242
313
  created_at: assertTimestamp,
@@ -524,7 +595,7 @@ function assertNotificationOutbox(watch) {
524
595
  const seenEvidence = new Set();
525
596
  let previousCreatedAt = Date.parse(watch.created_at);
526
597
  for (const notification of watch.notification_outbox) {
527
- assertNotification(notification, String(watch.watch_id));
598
+ assertNotification(notification, watch);
528
599
  if (seenIds.has(notification.notification_id)) {
529
600
  throw new Error("terminal Watch notification ids must be unique");
530
601
  }
@@ -555,17 +626,86 @@ function assertNotificationOutbox(watch) {
555
626
  throw new Error("an active terminal Watch cannot have an outcome notification");
556
627
  }
557
628
  }
558
- function assertNotification(value, watchId) {
629
+ function assertNotification(value, watch) {
559
630
  assertStrictRecord(value, "terminal Watch notification", NOTIFICATION_FIELDS);
560
631
  const notification = value;
561
- const expectedId = terminalWatchNotificationId(watchId, notification.kind, notification.evidence_fingerprint);
632
+ const expectedId = terminalWatchNotificationId(watch.watch_id, notification.kind, notification.evidence_fingerprint);
562
633
  if (notification.notification_id !== expectedId ||
563
634
  notification.idempotency_key !==
564
- terminalWatchNotificationIdempotencyKey(watchId, expectedId)) {
635
+ terminalWatchNotificationIdempotencyKey(watch.watch_id, expectedId)) {
565
636
  throw new Error("terminal Watch notification identity is not deterministic");
566
637
  }
567
638
  const [minimumAttempts, receiptFields] = NOTIFICATION_SHAPES[notification.status];
568
639
  assertNotificationShape(value, minimumAttempts, receiptFields);
640
+ terminalWatchNotificationCallbackSnapshot(watch, notification);
641
+ }
642
+ /**
643
+ * Parse one optional v1 callback snapshot. Legacy notifications may omit both
644
+ * fields; a partial or malformed snapshot is never treated as legacy.
645
+ */
646
+ export function terminalWatchNotificationCallbackSnapshot(watch, notification) {
647
+ const hasRoute = Object.hasOwn(notification, "callback_route");
648
+ const hasEnvelope = Object.hasOwn(notification, "callback_envelope");
649
+ if (hasRoute !== hasEnvelope) {
650
+ throw new Error("terminal Watch notification callback snapshot must contain both route and envelope");
651
+ }
652
+ if (!hasRoute)
653
+ return undefined;
654
+ const route = parseCallbackRoute(notification.callback_route);
655
+ const rawEnvelope = notification.callback_envelope;
656
+ if (!isRecord(rawEnvelope)) {
657
+ throw new Error("terminal Watch notification callback_envelope must be an object");
658
+ }
659
+ const normalizedEnvelope = createCallbackEnvelope({
660
+ route,
661
+ deliveryId: typeof rawEnvelope.delivery_id === "string"
662
+ ? rawEnvelope.delivery_id
663
+ : undefined,
664
+ idempotencyKey: typeof rawEnvelope.idempotency_key === "string"
665
+ ? rawEnvelope.idempotency_key
666
+ : undefined,
667
+ source: rawEnvelope.source,
668
+ event: rawEnvelope.event
669
+ });
670
+ const envelope = strictJsonClone(normalizedEnvelope, "terminal Watch notification callback_envelope");
671
+ if (canonicalJson(envelope) !== canonicalJson(rawEnvelope) ||
672
+ !callbackEnvelopeMatchesRoute(envelope, route)) {
673
+ throw new Error("terminal Watch notification callback_envelope is malformed or does not match callback_route");
674
+ }
675
+ const expectedEvent = notification.kind === "approval"
676
+ ? "approval_required"
677
+ : notification.kind;
678
+ const expectedEnvelope = terminalWatchCallbackEnvelope(watch, notification, route);
679
+ if (envelope.delivery_id !== notification.notification_id ||
680
+ envelope.idempotency_key !== notification.idempotency_key ||
681
+ envelope.source.kind !== "terminal_watch" ||
682
+ envelope.source.watch_id !== watch.watch_id ||
683
+ envelope.source.terminal_id !== watch.terminal.terminal_id ||
684
+ route.controller_session_id !== watch.openclaw_session ||
685
+ envelope.event.id !== notification.notification_id ||
686
+ envelope.event.type !== expectedEvent ||
687
+ envelope.event.requires_response !== true ||
688
+ canonicalJson(envelope) !== canonicalJson(expectedEnvelope)) {
689
+ throw new Error("terminal Watch notification callback snapshot does not match its immutable identity");
690
+ }
691
+ return { route, envelope };
692
+ }
693
+ function strictJsonClone(value, label) {
694
+ let encoded;
695
+ try {
696
+ encoded = JSON.stringify(value);
697
+ }
698
+ catch {
699
+ throw new Error(`${label} must contain only JSON values`);
700
+ }
701
+ if (encoded === undefined) {
702
+ throw new Error(`${label} must contain only JSON values`);
703
+ }
704
+ const cloned = JSON.parse(encoded);
705
+ if (canonicalJson(cloned) !== canonicalJson(value)) {
706
+ throw new Error(`${label} must contain only exact JSON values`);
707
+ }
708
+ return cloned;
569
709
  }
570
710
  function assertNotificationShape(value, minimumAttempts, required) {
571
711
  if (Number(value.attempts) < minimumAttempts) {
@@ -649,6 +789,24 @@ function assertNotificationAdvance(current, candidate) {
649
789
  throw new Error(`terminal Watch notification cannot change immutable ${key}`);
650
790
  }
651
791
  }
792
+ for (const key of ["callback_route", "callback_envelope"]) {
793
+ const existed = Object.hasOwn(before, key);
794
+ const exists = Object.hasOwn(after, key);
795
+ if (!existed && exists) {
796
+ const reclaimed = before.status === "delivering" &&
797
+ after.status === "delivering" &&
798
+ after.attempt_id !== before.attempt_id;
799
+ const claimed = (before.status === "pending" ||
800
+ before.status === "failed") &&
801
+ after.status === "delivering";
802
+ if (!claimed && !reclaimed) {
803
+ throw new Error("terminal Watch notification callback snapshot may be backfilled only while claiming delivery");
804
+ }
805
+ }
806
+ if (existed && (!exists || canonicalJson(before[key]) !== canonicalJson(after[key]))) {
807
+ throw new Error(`terminal Watch notification cannot change immutable ${key}`);
808
+ }
809
+ }
652
810
  assertNotificationStatusAdvance(before, after);
653
811
  }
654
812
  for (const added of candidate.slice(current.length)) {
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-watch-store.js","sourceRoot":"","sources":["../../src/terminal-watch-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-watch-store.js","sourceRoot":"","sources":["../../src/terminal-watch-store.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ Starting a new native context, clearing it, or resuming an older native thread i
89
89
 
90
90
  Omitting the resume selection lists exact verified candidates. You may use the complete UUID, or the deterministic number or collision-safe `@short-id` from that same displayed snapshot. Numbers and short IDs are valid only for the latest list shown in the same OpenClaw conversation incarnation and expire after five minutes or any relevant terminal, process, workspace, binding, or candidate change. `previous` / `刚才那个` works only when the list advertises a single verified source from the current Session's latest committed lifecycle transition; AKK never treats “previous” as “newest”. AKK resolves these display selectors privately to the complete UUID; the structured mutation is only `resume_thread({terminal_id,native_thread_id})`, while binding and candidate fences stay inside the plugin/CLI. A successful switch creates or activates an AKK Session but creates no Turn, so send the next request separately. There is no background binding poll: after an old coding-agent process exits, the next lifecycle listing can expose its sole historical Session as resumable, and resume safely detaches that stale binding before terminal input. Unsupported, busy, ambiguous, stale, expired, active-elsewhere, or unverifiable transitions stop without falling back to raw `/clear`, `/new`, `/resume`, `/status`, Codex `/fork`, `/side`, or `/btw`, or Claude `/branch` text.
91
91
 
92
- AKK Turn status and the coding agent's native status are separate. `/akk status` and `agent_knock_knock_status` inspect AKK-managed state and a bounded current screen; they never type `/status`. For native status, start from `/akk list` and use only an advertised `agent_knock_knock_native_inspect({terminal_id,inspection:"status"})` action. AKK derives and revalidates the binding fence internally. Supported profiles are Codex 0.146.0/0.146.1/0.147.0/0.148.0 and Claude Code 2.1.218/2.1.226/2.1.237. Claude's modal Status panel is parsed and dismissed before the action proves the original idle composer. The action creates no Session, Turn, receipt, monitor, or callback. `/usage`, `/cost`, `/stats`, `/usage-credits`, `/model`, `/compact`, and arbitrary slash commands remain unavailable. Bare Codex `/usage` is not read-only automation: it opens a menu whose later Enter can select an account-side usage-limit reset.
92
+ AKK Turn status and the coding agent's native status are separate. `/akk status` and `agent_knock_knock_status` inspect AKK-managed state and a bounded current screen; they never type `/status`. For native status, start from `/akk list` and use only an advertised `agent_knock_knock_native_inspect({terminal_id,inspection:"status"})` action. AKK derives and revalidates the binding fence internally. Supported profiles are Codex 0.146.0/0.146.1/0.147.0/0.148.0/0.149.1 and Claude Code 2.1.218/2.1.226/2.1.237. Claude's modal Status panel is parsed and dismissed before the action proves the original idle composer. The action creates no Session, Turn, receipt, monitor, or callback. `/usage`, `/cost`, `/stats`, `/usage-credits`, `/model`, `/compact`, and arbitrary slash commands remain unavailable. Bare Codex `/usage` is not read-only automation: it opens a menu whose later Enter can select an account-side usage-limit reset.
93
93
 
94
94
  ## 5. Watch work you started in the TUI
95
95
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scotthuang/agent-knock-knock",
3
- "version": "0.12.13",
3
+ "version": "0.12.14",
4
4
  "description": "Control local Codex and Claude Code from OpenClaw through shared tmux or Herdr terminals, with seamless human-agent handoff.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,7 +35,7 @@ Core slash-command forms:
35
35
  - `/akk respond <turn-selector>: <answer>`: answer a coding-agent question inside a `waiting_for_openclaw` Turn.
36
36
  - `/akk cancel <turn-selector>`: interrupt the exact Turn without closing its terminal pane.
37
37
 
38
- For human-facing ordinary-send slash forms, a selector may be `codex`, `claude`, `only`, `latest`, or an `@short-ref` returned by `AKK list`. These selectors are only a resolution layer and fail closed when the target is missing or ambiguous. The v18 structured-tool contract never exposes a selector or opaque authority value: the model supplies semantic IDs only. `send({session_id,request})` is strict `session_exact`; `send({terminal_id,request})` is `terminal_follow_current`; the two targets are mutually exclusive, and both may be omitted only when AKK must prove one unique eligible pane. Native-thread actions use the full `terminal_id`, never an `@short-ref`. Managed controls use `turn_id`; terminal-scoped approval uses `terminal_id` after explicit user confirmation. The trusted plugin/CLI derives terminal, binding, candidate, prompt, handoff, and compare-and-swap fences privately, then revalidates them under the canonical terminal and Store locks. Never ask the user or model to copy a token, fingerprint, revision, binding ID/generation, or handoff-only live native UUID from an action; `native_thread_id` is the intentional semantic UUID for resume. For every side effect, AKK must revalidate the selected agent PID and provider-owned terminal identity, confirm that the process and pane working directories match, and revalidate the relevant composer or approval prompt.
38
+ For human-facing ordinary-send slash forms, a selector may be `codex`, `claude`, `only`, `latest`, or an `@short-ref` returned by `AKK list`. These selectors are only a resolution layer and fail closed when the target is missing or ambiguous. The v18 structured-tool contract never exposes a selector or opaque authority value: the model supplies semantic IDs only. `send({session_id,request})` is strict `session_exact`; `send({terminal_id,request})` is `terminal_follow_current`; the two targets are mutually exclusive, and both may be omitted only when AKK must prove one unique eligible pane. The only non-ordinary Send form is an exact `send({turn_id})` copied unchanged from a current `available_actions.retry_submission`; it accepts no request text or other target and requires explicit user confirmation. Native-thread actions use the full `terminal_id`, never an `@short-ref`. Other managed controls use `turn_id`; terminal-scoped approval uses `terminal_id` after explicit user confirmation. The trusted plugin/CLI derives terminal, binding, candidate, prompt, handoff, and compare-and-swap fences privately, then revalidates them under the canonical terminal and Store locks. Never ask the user or model to copy a token, fingerprint, revision, binding ID/generation, or handoff-only live native UUID from an action; `native_thread_id` is the intentional semantic UUID for resume. For every side effect, AKK must revalidate the selected agent PID and provider-owned terminal identity, confirm that the process and pane working directories match, and revalidate the relevant composer or approval prompt.
39
39
 
40
40
  The human-priority Codex path may proceed when the pane/process and complete open-rollout candidate inventory are exact even though no single foreground UUID can be selected, including a supported manual `/clear` whose new logical thread appears before its rollout materializes. The complete exact inventory domain binds the provider terminal, PID and process birth, workspace and canonical endpoint, and every open rollout's UUID, descriptor, device, inode, canonical path, and pre-submit byte offset. A `/clear` resume hint is advisory only, never routing or acceptance authority. Under the terminal lock, AKK isolates the predecessor, creates a separate zero-UUID provisional Session and Turn, sends the real task once, and binds only the single candidate rollout that durably accepts that exact request. A rollout-backed Codex row therefore advertises `terminal_follow_current` with `terminal_id`, not `session_exact`; a cached strict Session attempt rejects before task text and never downgrades itself. Only released predecessor Turn history from a strictly earlier binding epoch is excluded from current-send authority; unresolved current-epoch state still blocks. Use only the freshly listed semantic-ID action. Until promotion commits, strict `session_id` send, `respond`, managed `approve`, `cancel`, native lifecycle, callback delivery, and `native_inspect` remain unavailable. If delivery or acceptance is uncertain, do not retry automatically. Terminal-scoped manual Codex approval likewise exposes only `terminal_id`, requires explicit confirmation, leaves managed identity unchanged, never participates in auto-approval, and must not be retried blindly after an uncertain result.
41
41
 
@@ -52,6 +52,7 @@ Natural-language forms:
52
52
  - Requests to observe work the human started directly in the Codex or Claude Code TUI: first call `agent_knock_knock_list`, then call `agent_knock_knock_watch` only from that exact active terminal row's freshly advertised `watch` action. Pass its complete `terminal_id`; AKK resolves and revalidates the current binding authority internally, so no binding token crosses the model-facing Watch boundary.
53
53
  - Requests to inspect an existing Terminal Watch: call `agent_knock_knock_status` with its authoritative `watch_id`. Requests to stop observing it: call `agent_knock_knock_unwatch` with that same `watch_id`. Never substitute a Session, Turn, terminal selector, or short reference.
54
54
  - Requests to continue in the current terminal context after the human may have run `/clear`, `/new`, `/resume`, or an equivalent native operation: first call `agent_knock_knock_list`, then use only that exact terminal row's advertised `send({terminal_id,request})`; do not substitute the stale `session_id`.
55
+ - Requests to recover an AKK submission reported as uncertain: refresh `agent_knock_knock_list`. Only if the current exact Turn advertises `retry_submission`, explain that AKK will revalidate the immutable original request and may either press one Enter for the exact existing draft or retransmit that original text once after structured no-Enter proof and a positively empty composer. Require explicit user confirmation, then call the prefilled `agent_knock_knock_send({turn_id})` unchanged. Never add `request`, terminal/Session IDs, timeout fields, or callback route data, and never retry it automatically.
55
56
  - Requests for the coding agent's native Codex status card or Claude Status panel: first call `agent_knock_knock_list`, then call `agent_knock_knock_native_inspect({terminal_id,inspection:"status"})` only when the exact terminal row advertises it; do not substitute AKK Turn status or ordinary send.
56
57
  - Requests to list resumable native threads for an exact terminal: call `agent_knock_knock_list_resumable_threads` with the terminal row's prefilled `terminal_id`.
57
58
  - Explicit requests to start a new thread or clear context: call `agent_knock_knock_new_thread({terminal_id})` only from an advertised `new_thread` action.
@@ -65,7 +66,7 @@ Natural-language forms:
65
66
 
66
67
  ## Sessions and Turns
67
68
 
68
- AKK's identity hierarchy is terminal → native Codex or Claude Code session → AKK session → Turns. `session_id` is the strict ordinary-send target for one exact native context. `terminal_id` is the deliberately different follow-current target that lets the user hand the pane's currently verified context back to AKK after a safe human-driven switch. Each accepted send creates a distinct `turn_id` without clearing the native agent context. A `turn_id` is only for history, callbacks, respond, status, approval, cancellation, renewal, callback retry, and close.
69
+ AKK's identity hierarchy is terminal → native Codex or Claude Code session → AKK session → Turns. `session_id` is the strict ordinary-send target for one exact native context. `terminal_id` is the deliberately different follow-current target that lets the user hand the pane's currently verified context back to AKK after a safe human-driven switch. Each accepted ordinary send creates a distinct `turn_id` without clearing the native agent context. A `turn_id` is used for history, callbacks, respond, status, approval, cancellation, renewal, callback retry, close, and the explicitly advertised submission-retry form of Send.
69
70
 
70
71
  Use `agent_knock_knock_send` with `request` and neither `session_id` nor `terminal_id` only when the target is unspecified. AKK must resolve exactly one eligible Codex or Claude Code pane across all workspaces, attach or discover its AKK session, and verify that it is idle immediately before writing the request. If no eligible pane exists, report AKK's setup guidance; do not substitute another execution path.
71
72
 
@@ -77,7 +78,7 @@ For ordinary send or an in-flight answer:
77
78
  2. If no ID is supplied and more than one eligible pane may exist, call `agent_knock_knock_list`.
78
79
  3. Treat `terminals[]` as the primary resource list. Its managed context exposes `session_id`; `managed.current_turn` is the only current AKK owner, while `managed.recent_turn` and `managed.history` are retained Turn history. Records in `unavailable_managed_turns[]` have no live pane in this snapshot.
79
80
  4. Read the selected resource's `available_actions`. Use only an action present there, start with its prefilled semantic IDs, supply every `missing_required` field, and consult the top-level v18 `action_contracts`. The only additional action sources are a terminal row's `handoff_decision.choices.take_over_current.action` and an exact `blocking_turns[].recovery_action`: use either only after explicit user confirmation and refresh the list immediately afterward.
80
- 5. If an existing managed Session advertises send with `session_id`, call `agent_knock_knock_send({session_id,request})`; it creates a new Turn strictly in that Session's native context. If the selected row instead advertises follow-current send, call `agent_knock_knock_send({terminal_id,request})`; this action may adopt a safe human-driven handoff or send once within an exact, complete Codex rollout-candidate inventory before binding the uniquely accepting native thread. The status-card-only first-task path remains the zero-rollout special case. Never construct or pass an opaque fence. Use `respond` with its `turn_id` only when that Turn is explicitly `waiting_for_openclaw`; the answer stays in the same Turn. Do not add timeout fields for ordinary use; `timeoutSeconds` is unsupported.
81
+ 5. If an existing managed Session advertises send with `session_id`, call `agent_knock_knock_send({session_id,request})`; it creates a new Turn strictly in that Session's native context. If the selected row instead advertises follow-current send, call `agent_knock_knock_send({terminal_id,request})`; this action may adopt a safe human-driven handoff or send once within an exact, complete Codex rollout-candidate inventory before binding the uniquely accepting native thread. The status-card-only first-task path remains the zero-rollout special case. `send({turn_id})` is never an ordinary target: use it only for a fresh `retry_submission` action after explicit confirmation, with no other field. Never construct or pass an opaque fence. Use `respond` with its `turn_id` only when that Turn is explicitly `waiting_for_openclaw`; the answer stays in the same Turn. Do not add timeout fields for ordinary use; `timeoutSeconds` is unsupported.
81
82
  6. If multiple terminals match, show their `short_ref`, agent, provider, and terminal target, then ask the user to choose. If a human switch has an unresolved Turn, ambiguous ownership, or unverifiable identity and no follow-current send is advertised, report that blocker and ask the user which context to resolve; never guess, supersede active work, or bypass the fence.
82
83
 
83
84
  An idle pane is at a verified ready prompt, with no current work or unresolved permission request. A previously completed managed turn alone is not proof that the pane is still idle.
@@ -101,7 +102,7 @@ The current plugin registers 16 OpenClaw tools and list action-contract v18. Eve
101
102
  For native status inspection:
102
103
 
103
104
  1. Use only a current `available_actions.native_inspect({terminal_id,inspection:"status"})` entry. Those semantic arguments are complete; never add a command or authority field.
104
- 2. Supported exact profiles are Codex 0.146.0/0.146.1/0.147.0/0.148.0 and Claude Code 2.1.218/2.1.226/2.1.237 `inspection="status"`. Claude success includes parsing and safely dismissing the newly opened Status panel. The tool does not accept `/status` text or any arbitrary command string. `/usage`, `/cost`, `/stats`, `/usage-credits`, `/model`, `/compact`, and unsupported versions remain unavailable. Never automate bare Codex `/usage`: it opens an interactive menu whose later Enter can select an account-side usage-limit reset.
105
+ 2. Supported exact profiles are Codex 0.146.0/0.146.1/0.147.0/0.148.0/0.149.1 and Claude Code 2.1.218/2.1.226/2.1.237 `inspection="status"`. Claude success includes parsing and safely dismissing the newly opened Status panel. The tool does not accept `/status` text or any arbitrary command string. `/usage`, `/cost`, `/stats`, `/usage-credits`, `/model`, `/compact`, and unsupported versions remain unavailable. Never automate bare Codex `/usage`: it opens an interactive menu whose later Enter can select an account-side usage-limit reset.
105
106
  3. Treat this as terminal input even though the native command is read-only. AKK privately derives a fresh binding fence and requires an idle empty composer, exact PID/process/pane/cwd/version identity, and no conflicting Turn, transition, dispatch, approval, or owner.
106
107
  4. Codex `/status` requires an exact viewport of at least 80 columns so the full Session UUID can be proven. That pre-UUID gate applies to native inspection, lifecycle, and strict Session operations that must know the UUID before terminal input. An otherwise eligible terminal-scoped ordinary task may send once and bind from exact native acceptance afterward, so it does not run `/status` or fail merely because the pane is narrow.
107
108
  5. The result is valid only when AKK proves one fresh bounded native status result and the pane returns to idle. On an uncertain or unproven submission, do not retry, send Enter, clear the composer, or bypass AKK with raw terminal input.
@@ -160,7 +161,9 @@ Use `agent_knock_knock_renew` only when AKK marked the same live terminal Turn `
160
161
 
161
162
  Use `agent_knock_knock_retry_callback` only for a `callback_failed` managed turn, for example `/akk retry-callback @a1b2c3d4`.
162
163
 
163
- Use `agent_knock_knock_close` only when the user explicitly wants to close AKK's managed record. If `AKK list` reports an orphaned terminal dispatch or lifecycle transition, inspect the pane first and use the exact recovery action it returns. `expected_message_id` and `expected_transition_id` remain public because they identify durable entities; they are not authority tokens. If a terminal row exposes `blocking_turns[]`, do not send, inspect natively, or mutate lifecycle state; present the exact collateral blocking Turn and invoke its nested Store-only `recovery_action` only after explicit user confirmation, then refresh the list. An active human-handoff source Turn is deliberately excluded from this generic recovery list. If a verified human native-thread switch conflicts with one active Turn, do not redirect or close it automatically. Present `handoff_decision` to the user. Only after the user chooses takeover may you invoke `agent_knock_knock_close({turn_id,reason:"superseded_by_human_context_switch"})`. AKK privately resolves and revalidates the exact advertised handoff decision; the model does not carry a handoff token or live native UUID. This close sends no terminal input. Refresh `agent_knock_knock_list` afterward and use only its new follow-current send. If the user keeps the source Turn, make no AKK mutation; ask them to restore its native thread in the TUI and then refresh. Closing a managed record does not close the coding agent or terminal pane.
164
+ Submission retry remains part of `agent_knock_knock_send`, not callback retry or renewal. Use its exact `{turn_id}` form only from a current advertised `retry_submission` action and only after explicit confirmation. AKK never accepts replacement text from the caller, never clears the composer, and never sends Control-C. It first checks for native acceptance and repairs state without input when possible. Otherwise it fails closed unless it can prove the exact existing draft for one Enter, or prove both that Enter was never attempted and that the live composer is positively empty before retransmitting the immutable original request once. Any terminal, identity, route, draft, modal, approval, working-state, or one-shot reservation drift sends no further input.
165
+
166
+ Use `agent_knock_knock_close` only after the user explicitly asks to close the selected AKK Turn. That explicit choice has priority over stalled, deferred-transfer, Session, ledger, handoff, callback, or receipt conflicts: Close first records the Turn as closed and releases AKK management. It never sends terminal input, interrupts or stops the coding agent, or closes the terminal pane. Cleanup of linked AKK transfer, Session, ledger, and callback metadata is best-effort; preserve stale, malformed, or newer records and report warnings instead of refusing the user's Close. A callback attempt already in flight or accepted by the host may still arrive, but Close authorizes no new callback start or retry. Refresh `agent_knock_knock_list` afterward; if the coding agent is still working, use the newly advertised Watch action to observe it again. Orphan terminal-dispatch/lifecycle recovery with `expected_message_id` or `expected_transition_id` remains a separate raw-terminal operation.
164
167
 
165
168
  Use `/akk doctor` only for installation checks or troubleshooting.
166
169