@scotthuang/agent-knock-knock 0.11.7 → 0.12.1

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 (41) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +21 -15
  3. package/dist/src/cli-core.d.ts +48 -0
  4. package/dist/src/cli-core.js +20392 -0
  5. package/dist/src/cli-core.js.map +1 -0
  6. package/dist/src/cli.js +12 -19896
  7. package/dist/src/cli.js.map +1 -1
  8. package/dist/src/doctor-capabilities.d.ts +10 -2
  9. package/dist/src/doctor-capabilities.js +48 -7
  10. package/dist/src/doctor-capabilities.js.map +1 -1
  11. package/dist/src/herdr-terminal-control-provider.d.ts +115 -0
  12. package/dist/src/herdr-terminal-control-provider.js +966 -0
  13. package/dist/src/herdr-terminal-control-provider.js.map +1 -0
  14. package/dist/src/managed-session.js +37 -11
  15. package/dist/src/managed-session.js.map +1 -1
  16. package/dist/src/native-thread-resume-snapshot.d.ts +9 -2
  17. package/dist/src/native-thread-resume-snapshot.js +46 -7
  18. package/dist/src/native-thread-resume-snapshot.js.map +1 -1
  19. package/dist/src/openclaw-plugin-helpers.js +4 -4
  20. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  21. package/dist/src/openclaw-plugin.js +28 -26
  22. package/dist/src/openclaw-plugin.js.map +1 -1
  23. package/dist/src/terminal-agent-adapter.d.ts +3 -2
  24. package/dist/src/terminal-agent-adapter.js +10 -6
  25. package/dist/src/terminal-agent-adapter.js.map +1 -1
  26. package/dist/src/terminal-agent-bridge.d.ts +4 -0
  27. package/dist/src/terminal-agent-bridge.js +23 -15
  28. package/dist/src/terminal-agent-bridge.js.map +1 -1
  29. package/dist/src/terminal-control-provider.d.ts +11 -0
  30. package/dist/src/terminal-control-provider.js +187 -19
  31. package/dist/src/terminal-control-provider.js.map +1 -1
  32. package/dist/src/terminal-control-ref.d.ts +28 -6
  33. package/dist/src/terminal-control-ref.js +151 -4
  34. package/dist/src/terminal-control-ref.js.map +1 -1
  35. package/dist/src/terminal-submission-acceptance.d.ts +31 -6
  36. package/dist/src/terminal-submission-acceptance.js +93 -16
  37. package/dist/src/terminal-submission-acceptance.js.map +1 -1
  38. package/docs/quickstart-herdr.md +37 -0
  39. package/openclaw.plugin.json +2 -2
  40. package/package.json +4 -2
  41. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +17 -17
@@ -108,10 +108,29 @@ const NO_FOLLOW_FLAG = typeof fs.constants.O_NOFOLLOW === "number"
108
108
  ? fs.constants.O_NOFOLLOW
109
109
  : 0;
110
110
  export function captureCodexRolloutAcceptanceAnchor(options) {
111
- const nativeThreadId = exactNativeThreadId(options.nativeThreadId);
112
111
  const processUuid = requiredString(options.processUuid, "Codex process UUID");
113
112
  const processBirth = requiredString(options.processBirth, "Codex process birth");
114
113
  const capturedAt = (options.now ?? new Date()).toISOString();
114
+ if (options.mode === "pre_materialization" &&
115
+ options.nativeThreadId === undefined) {
116
+ const virginBase = {
117
+ schema: "agent-knock-knock/codex-rollout-acceptance-anchor",
118
+ version: 2,
119
+ process_uuid: processUuid,
120
+ process_birth: processBirth,
121
+ captured_at: capturedAt,
122
+ mode: "pre_materialization",
123
+ native_thread_binding: "post_submission",
124
+ file_existed: false,
125
+ offset_bytes: 0,
126
+ expected_empty_native_session: true
127
+ };
128
+ return {
129
+ ...virginBase,
130
+ anchor_fingerprint: fingerprint(virginBase)
131
+ };
132
+ }
133
+ const nativeThreadId = exactNativeThreadId(options.nativeThreadId);
115
134
  const base = {
116
135
  schema: "agent-knock-knock/codex-rollout-acceptance-anchor",
117
136
  version: 1,
@@ -165,7 +184,11 @@ export function detectCodexRolloutAcceptance(options) {
165
184
  const anchor = validateCodexRolloutAcceptanceAnchor(options.anchor);
166
185
  const requestHash = sha256Value(options.requestHash, "terminal request hash");
167
186
  const current = options.currentIdentity;
168
- if (exactNativeThreadId(current.sessionId) !== anchor.native_thread_id ||
187
+ const currentNativeThreadId = exactNativeThreadId(current.sessionId);
188
+ const expectedNativeThreadId = anchor.version === 1
189
+ ? anchor.native_thread_id
190
+ : currentNativeThreadId;
191
+ if (currentNativeThreadId !== expectedNativeThreadId ||
169
192
  current.processUuid !== anchor.process_uuid ||
170
193
  current.processBirth !== anchor.process_birth) {
171
194
  throw new Error("Codex process or native thread identity changed during acceptance polling");
@@ -204,14 +227,22 @@ export function detectCodexRolloutAcceptance(options) {
204
227
  if (!sameStableFile(before, after)) {
205
228
  return undefined;
206
229
  }
207
- const accepted = acceptedCodexTurnFromSuffix(buffer.toString("utf8"), requestHash);
230
+ const suffix = buffer.toString("utf8");
231
+ if (anchor.version === 2) {
232
+ assertVirginRolloutHeader({
233
+ text: suffix,
234
+ nativeThreadId: expectedNativeThreadId,
235
+ capturedAt: anchor.captured_at
236
+ });
237
+ }
238
+ const accepted = acceptedCodexTurnFromSuffix(suffix, requestHash);
208
239
  if (!accepted) {
209
240
  return undefined;
210
241
  }
211
242
  const evidenceBase = {
212
243
  source: "codex_rollout",
213
244
  kind: "native_user_turn",
214
- nativeThreadId: anchor.native_thread_id,
245
+ nativeThreadId: expectedNativeThreadId,
215
246
  requestHash,
216
247
  acceptanceId: accepted.turnId,
217
248
  acceptedAt: accepted.userTimestamp ?? accepted.startedAt,
@@ -247,25 +278,32 @@ export function detectCodexBoundRolloutCompletion(options) {
247
278
  catch (error) {
248
279
  return codexCompletionFailure("invalid_anchor", error);
249
280
  }
250
- const baseDiagnostics = {
281
+ const initialDiagnostics = {
251
282
  detector: "codex_exact_bound_rollout",
252
- native_thread_id: anchor.native_thread_id,
253
283
  anchor_fingerprint: anchor.anchor_fingerprint,
254
284
  scan_start_offset_bytes: anchor.offset_bytes
255
285
  };
256
286
  let requestHash;
257
287
  let acceptance;
288
+ let expectedNativeThreadId;
258
289
  try {
259
290
  requestHash = sha256Value(options.requestHash, "terminal request hash");
291
+ expectedNativeThreadId = anchor.version === 1
292
+ ? anchor.native_thread_id
293
+ : exactNativeThreadId(options.acceptanceEvidence.nativeThreadId);
260
294
  acceptance = validateTerminalSubmissionAcceptanceEvidence(options.acceptanceEvidence, {
261
295
  source: "codex_rollout",
262
- nativeThreadId: anchor.native_thread_id,
296
+ nativeThreadId: expectedNativeThreadId,
263
297
  requestHash
264
298
  });
265
299
  }
266
300
  catch (error) {
267
- return codexCompletionFailure("invalid_acceptance_evidence", error, baseDiagnostics);
301
+ return codexCompletionFailure("invalid_acceptance_evidence", error, initialDiagnostics);
268
302
  }
303
+ const baseDiagnostics = {
304
+ ...initialDiagnostics,
305
+ native_thread_id: expectedNativeThreadId
306
+ };
269
307
  let acceptanceId;
270
308
  try {
271
309
  acceptanceId = exactNativeThreadId(acceptance.acceptanceId);
@@ -306,7 +344,7 @@ export function detectCodexBoundRolloutCompletion(options) {
306
344
  }
307
345
  const current = options.currentIdentity;
308
346
  try {
309
- if (exactNativeThreadId(current.sessionId) !== anchor.native_thread_id ||
347
+ if (exactNativeThreadId(current.sessionId) !== expectedNativeThreadId ||
310
348
  requiredString(current.processUuid, "Codex process UUID") !==
311
349
  anchor.process_uuid ||
312
350
  requiredString(current.processBirth, "Codex process birth") !==
@@ -408,7 +446,7 @@ export function detectCodexBoundRolloutCompletion(options) {
408
446
  metadata: {
409
447
  match: "bound_rollout_task_complete",
410
448
  turn_id: acceptanceId,
411
- native_thread_id: anchor.native_thread_id,
449
+ native_thread_id: expectedNativeThreadId,
412
450
  anchor_fingerprint: anchor.anchor_fingerprint,
413
451
  rollout_identity_fingerprint: rolloutDiagnostics.rollout_identity_fingerprint,
414
452
  scan_start_offset_bytes: anchor.offset_bytes,
@@ -633,17 +671,55 @@ function exactCodexUserResponseText(content) {
633
671
  ? item.text
634
672
  : undefined;
635
673
  }
674
+ function assertVirginRolloutHeader(options) {
675
+ const firstLine = options.text.split("\n").find((line) => line.trim() !== "");
676
+ if (!firstLine) {
677
+ throw new Error("virgin Codex rollout has no session metadata");
678
+ }
679
+ let record;
680
+ try {
681
+ record = JSON.parse(firstLine);
682
+ }
683
+ catch {
684
+ throw new Error("virgin Codex rollout starts with invalid session metadata");
685
+ }
686
+ const payload = isRecord(record) && record.type === "session_meta" &&
687
+ isRecord(record.payload)
688
+ ? record.payload
689
+ : undefined;
690
+ if (!payload ||
691
+ exactNativeThreadId(String(payload.id ?? "")) !== options.nativeThreadId ||
692
+ payload.originator !== "codex-tui" ||
693
+ payload.source !== "cli") {
694
+ throw new Error("virgin Codex rollout metadata does not identify the newly materialized CLI thread");
695
+ }
696
+ const materializedAt = isRecord(record) ? record.timestamp : undefined;
697
+ if (!validTimestamp(materializedAt) ||
698
+ Date.parse(String(materializedAt)) < Date.parse(options.capturedAt)) {
699
+ throw new Error("virgin Codex rollout predates its terminal submission anchor");
700
+ }
701
+ }
636
702
  function validateCodexRolloutAcceptanceAnchor(value) {
637
703
  if (!isRecord(value) ||
638
704
  value.schema !== "agent-knock-knock/codex-rollout-acceptance-anchor" ||
639
- value.version !== 1 ||
705
+ (value.version !== 1 && value.version !== 2) ||
640
706
  !["existing", "pre_materialization"].includes(String(value.mode)) ||
641
707
  !Number.isSafeInteger(value.offset_bytes) ||
642
708
  value.offset_bytes < 0 ||
643
709
  typeof value.file_existed !== "boolean") {
644
710
  throw new Error("Codex rollout acceptance anchor is invalid");
645
711
  }
646
- exactNativeThreadId(value.native_thread_id);
712
+ if (value.version === 1) {
713
+ exactNativeThreadId(value.native_thread_id);
714
+ if ("native_thread_binding" in value) {
715
+ throw new Error("bound Codex acceptance anchor has deferred binding state");
716
+ }
717
+ }
718
+ else if (value.mode !== "pre_materialization" ||
719
+ value.native_thread_binding !== "post_submission" ||
720
+ "native_thread_id" in value) {
721
+ throw new Error("virgin Codex acceptance anchor is inconsistent");
722
+ }
647
723
  requiredString(value.process_uuid, "Codex process UUID");
648
724
  requiredString(value.process_birth, "Codex process birth");
649
725
  if (!validTimestamp(value.captured_at)) {
@@ -654,18 +730,19 @@ function validateCodexRolloutAcceptanceAnchor(value) {
654
730
  if (fingerprint(base) !== value.anchor_fingerprint) {
655
731
  throw new Error("Codex rollout acceptance anchor fingerprint does not match");
656
732
  }
733
+ const rollout = "rollout" in value ? value.rollout : undefined;
657
734
  if (value.file_existed !== (value.mode === "existing") ||
658
- value.file_existed !== Boolean(value.rollout)) {
735
+ value.file_existed !== Boolean(rollout)) {
659
736
  throw new Error("Codex rollout acceptance anchor file state is inconsistent");
660
737
  }
661
- if (value.mode === "existing" && value.rollout) {
662
- normalizedRolloutIdentity(value.rollout);
738
+ if (value.mode === "existing" && rollout) {
739
+ normalizedRolloutIdentity(rollout);
663
740
  if (value.expected_empty_native_session !== undefined) {
664
741
  throw new Error("existing Codex acceptance anchor has pre-materialization state");
665
742
  }
666
743
  }
667
744
  else if (value.offset_bytes !== 0 ||
668
- value.rollout !== undefined ||
745
+ rollout !== undefined ||
669
746
  value.expected_empty_native_session !== true) {
670
747
  throw new Error("Codex pre-materialization acceptance anchor is inconsistent");
671
748
  }
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-submission-acceptance.js","sourceRoot":"","sources":["../../src/terminal-submission-acceptance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-submission-acceptance.js","sourceRoot":"","sources":["../../src/terminal-submission-acceptance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ # Quick Start with Herdr
2
+
3
+ AKK supports local Herdr `0.8.0` (socket protocol 19) as a terminal provider alongside tmux. AKK does not start Herdr or a coding agent.
4
+
5
+ Install and open Herdr, then start Codex or Claude Code in a pane:
6
+
7
+ ```bash
8
+ brew install herdr
9
+ herdr
10
+ ```
11
+
12
+ Inside a Herdr pane, run one of:
13
+
14
+ ```bash
15
+ codex --yolo
16
+ # or
17
+ claude
18
+ ```
19
+
20
+ Wait for the empty idle composer. After the AKK OpenClaw plugin is installed and its Gateway restarted, use:
21
+
22
+ ```text
23
+ /akk list
24
+ /akk inspect this repository and summarize it
25
+ ```
26
+
27
+ AKK enumerates every running local Herdr session, identifies a terminal by its session socket plus stable `terminal_id`, and treats the current `pane_id` only as a refreshable route. Moving a live pane does not silently rebind ownership. Every side effect revalidates the terminal resource, shell PID, agent PID, cwd, native-session evidence, and current composer first.
28
+
29
+ Herdr's raw `pane send-text` command is not used for task delivery. AKK uses the Unix-socket `pane.send_input` method so multiline text follows Herdr's bracketed-paste-aware path, persists the text-injected stage, resolves the stable terminal again, and then dispatches one separate Enter.
30
+
31
+ Current boundary:
32
+
33
+ - local Unix-domain sockets only;
34
+ - exact Herdr `0.8.0`, protocol 19;
35
+ - Codex and Claude Code versions listed in the main compatibility matrix;
36
+ - remote/SSH Herdr sessions and Windows named pipes are not yet supported;
37
+ - Herdr's agent status is diagnostic only—AKK's existing screen, transcript, rollout, and native identity fences remain authoritative.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "agent-knock-knock",
3
3
  "name": "Agent Knock Knock",
4
- "description": "Control local Codex and Claude Code through shared tmux terminals, with exact-version native status inspection, native-thread lifecycle controls, live monitoring, approvals, and human takeover.",
4
+ "description": "Control local Codex and Claude Code through shared tmux or Herdr terminals, with exact-version native status inspection, native-thread lifecycle controls, live monitoring, approvals, and human takeover.",
5
5
  "icon": "https://raw.githubusercontent.com/scotthuang/agent-knock-knock/main/docs/assets/agent-knock-knock-icon.png",
6
6
  "activation": {
7
7
  "onStartup": true,
@@ -92,7 +92,7 @@
92
92
  },
93
93
  "codexHome": {
94
94
  "type": "string",
95
- "description": "Optional CODEX_HOME path used to correlate Codex session metadata with eligible tmux terminals."
95
+ "description": "Optional CODEX_HOME path used to correlate Codex session metadata with eligible terminal panes."
96
96
  },
97
97
  "idleTimeoutMinutes": {
98
98
  "type": "number",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@scotthuang/agent-knock-knock",
3
- "version": "0.11.7",
4
- "description": "Control local Codex and Claude Code from OpenClaw through shared tmux terminals, with seamless human-agent handoff.",
3
+ "version": "0.12.1",
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",
7
7
  "homepage": "https://github.com/scotthuang/agent-knock-knock#readme",
@@ -58,6 +58,7 @@
58
58
  "templates",
59
59
  "docs/assets/agent-knock-knock-cover.jpg",
60
60
  "docs/assets/agent-knock-knock-icon.png",
61
+ "docs/quickstart-herdr.md",
61
62
  "docs/quickstart-tmux.md",
62
63
  "openclaw.plugin.json",
63
64
  "README.md",
@@ -76,6 +77,7 @@
76
77
  "test:fast": "npm run build && node scripts/run-test-tier.js fast",
77
78
  "test:integration": "npm run build && node scripts/run-test-tier.js integration",
78
79
  "test:full": "npm run build && node scripts/run-test-tier.js full",
80
+ "test:affected": "npm run build && node scripts/run-affected-tests.js",
79
81
  "test:profile": "npm run build && node scripts/profile-test-tier.js",
80
82
  "test:release": "node scripts/run-release-tests.js",
81
83
  "test:release:live": "node scripts/run-release-tests.js --live",
@@ -1,19 +1,19 @@
1
1
  ---
2
2
  name: agent-knock-knock
3
- description: Control local Codex and Claude Code through shared tmux terminals with Agent Knock Knock.
3
+ description: Control local Codex and Claude Code through shared tmux or Herdr terminals with Agent Knock Knock.
4
4
  ---
5
5
 
6
6
  # Agent Knock Knock
7
7
 
8
8
  Use this skill when the user explicitly invokes `AKK`, `akk`, or `Agent Knock Knock`, or asks OpenClaw to inspect or control a coding-agent terminal listed by AKK.
9
9
 
10
- AKK supports Codex and Claude Code that are already running inside tmux. It never launches a coding agent. OpenClaw, tmux, AKK, and the coding agent must run as the same OS user.
10
+ AKK supports Codex and Claude Code that are already running inside tmux or local Herdr `0.8.0`. It never launches a coding agent. OpenClaw, the terminal host, AKK, and the coding agent must run as the same OS user.
11
11
 
12
12
  Treat `AKK` and `akk` the same way.
13
13
 
14
14
  ## Role
15
15
 
16
- OpenClaw interprets the user's request, sends the requested work into the selected shared terminal, handles actionable callbacks, and reports the outcome. The coding agent performs the engineering work in its existing tmux terminal.
16
+ OpenClaw interprets the user's request, sends the requested work into the selected shared terminal, handles actionable callbacks, and reports the outcome. The coding agent performs the engineering work in its existing tmux or Herdr terminal.
17
17
 
18
18
  Keep the user's requested scope and approval boundaries. Do not expand a task, approve a permission, interrupt a process, or close a managed record unless the user request or an explicit trusted policy authorizes that action.
19
19
 
@@ -31,9 +31,9 @@ Core slash-command forms:
31
31
  - `/akk resume-thread <exact-terminal-id> [uuid|previous|number|@short-id|snapshot-handle]`: list candidates when the selection is omitted, or resume one exact snapshot-bound choice without creating a Turn. `previous` also accepts the human phrase `刚才那个`.
32
32
  - `/akk status [turn-selector]`: inspect one live terminal or exact managed Turn.
33
33
  - `/akk respond <turn-selector>: <answer>`: answer a coding-agent question inside a `waiting_for_openclaw` Turn.
34
- - `/akk cancel <turn-selector>`: interrupt the exact Turn without closing its tmux pane.
34
+ - `/akk cancel <turn-selector>`: interrupt the exact Turn without closing its terminal pane.
35
35
 
36
- 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. A natural-language tool call may preserve a selector explicitly named by the user; otherwise use a list-prefilled selector or omit it and require a unique pane. Never pass a selector as `session_id` or `turn_id`. Native-thread slash commands are stricter: copy the full `terminal_id` returned by `/akk list`, not its `@short-ref`. The slash handler reads a fresh lifecycle snapshot and immediately supplies its compare-and-swap binding token internally; the human never copies that token. Once an AKK session exists, plugin actions prefill the authoritative full `session_id` for ordinary send or `turn_id` for respond and managed controls. The same raw terminal row may advertise status, approval, cancellation, or orphan-close with its own prefilled `conversation_id` compatibility selector. Use only the exact returned action; never infer, copy, or reuse compatibility selectors. For every send, AKK must revalidate the selected agent PID and tmux pane identity, confirm that the process and pane working directories match, and verify the idle prompt.
36
+ 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. A natural-language tool call may preserve a selector explicitly named by the user; otherwise use a list-prefilled selector or omit it and require a unique pane. Never pass a selector as `session_id` or `turn_id`. Native-thread slash commands are stricter: copy the full `terminal_id` returned by `/akk list`, not its `@short-ref`. The slash handler reads a fresh lifecycle snapshot and immediately supplies its compare-and-swap binding token internally; the human never copies that token. Once an AKK session exists, plugin actions prefill the authoritative full `session_id` for ordinary send or `turn_id` for respond and managed controls. The same raw terminal row may advertise status, approval, cancellation, or orphan-close with its own prefilled `conversation_id` compatibility selector. Use only the exact returned action; never infer, copy, or reuse compatibility selectors. For every send, AKK must revalidate the selected agent PID and provider-owned terminal identity, confirm that the process and pane working directories match, and verify the idle prompt.
37
37
 
38
38
  AKK discovers eligible panes across workspaces. When more than one target matches, use a selector returned by `AKK list`; never guess based on a workspace name or path.
39
39
 
@@ -67,18 +67,18 @@ For ordinary send or an in-flight answer:
67
67
  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.
68
68
  4. Read the selected resource's `available_actions`. Use only an action present there, start with its prefilled authoritative arguments, supply every `missing_required` field, and consult the top-level v7 `action_contracts` for optional fields.
69
69
  5. For an existing managed Session, use `send` with its prefilled `session_id`; it creates a new Turn. For first attach only, use a discovery selector explicitly named by the user or the selected unmanaged raw-terminal row's prefilled `selector`. Never infer or reuse a selector. Use `respond` with its prefilled `turn_id` only when that Turn is explicitly `waiting_for_openclaw`; the answer stays in the same Turn. Add the text as `request`. Do not add timeout fields for ordinary use; `timeoutSeconds` is unsupported.
70
- 6. If multiple terminals match, show their `short_ref`, agent, and tmux target, then ask the user to choose. Never guess or send to a pane that AKK has not verified as idle.
70
+ 6. If multiple terminals match, show their `short_ref`, agent, provider, and terminal target, then ask the user to choose. Never guess or send to a pane that AKK has not verified as idle.
71
71
 
72
72
  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.
73
73
 
74
- Do not treat ordinary send as native clear, new-session, fork, branch, side thread, status probe, or resume. Do not send `/clear`, `/new`, `/resume`, `/status`, Codex `/fork`, `/side`, `/btw`, Claude `/branch`, or any other first-line native slash command as ordinary task or answer text. Dedicated native lifecycle and inspection tools own their closed commands, capability checks, serialization, identity verification, and binding fences; express other requests in natural language or leave unsupported native commands to a human in tmux. Each successful lifecycle transition creates no Turn, and native inspection creates no Session or Turn.
74
+ Do not treat ordinary send as native clear, new-session, fork, branch, side thread, status probe, or resume. Do not send `/clear`, `/new`, `/resume`, `/status`, Codex `/fork`, `/side`, `/btw`, Claude `/branch`, or any other first-line native slash command as ordinary task or answer text. Dedicated native lifecycle and inspection tools own their closed commands, capability checks, serialization, identity verification, and binding fences; express other requests in natural language or leave unsupported native commands to a human in the terminal UI. Each successful lifecycle transition creates no Turn, and native inspection creates no Session or Turn.
75
75
 
76
76
  For native status inspection:
77
77
 
78
78
  1. Use only a current `available_actions.native_inspect` entry. Its structured arguments are authoritative and complete; never construct or reuse them.
79
79
  2. Supported exact profiles are Codex 0.146.0/0.146.1/0.147.0 and Claude Code 2.1.218/2.1.226 `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.
80
80
  3. Treat this as terminal input even though the native command is read-only. AKK requires an idle empty composer, fresh binding token, exact PID/process/pane/cwd/version identity, and no conflicting Turn, transition, dispatch, approval, or owner.
81
- 4. 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 fall back to raw tmux.
81
+ 4. 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.
82
82
  5. Native inspection creates no AKK Session, Turn, receipt, monitor, callback, or response round.
83
83
 
84
84
  For native-thread lifecycle discovery or mutation:
@@ -108,12 +108,12 @@ Useful examples:
108
108
 
109
109
  ## Terminal Communication Contract
110
110
 
111
- All OpenClaw-to-agent task delivery must go through Agent Knock Knock plugin tools. Do not use OpenClaw internal session tools, raw tmux commands, shell commands, or another messaging path to bypass AKK's terminal checks.
111
+ All OpenClaw-to-agent task delivery must go through Agent Knock Knock plugin tools. Do not use OpenClaw internal session tools, raw terminal-provider commands, shell commands, or another messaging path to bypass AKK's terminal checks.
112
112
 
113
113
  AKK:
114
114
 
115
- 1. Resolves the authoritative AKK session to its selected Codex or Claude Code native session, process, and tmux pane.
116
- 2. Revalidates the expected agent PID and tmux pane identity, confirms that the process and pane working directories match, and verifies the idle prompt.
115
+ 1. Resolves the authoritative AKK session to its selected Codex or Claude Code native session, process, and terminal pane.
116
+ 2. Revalidates the expected agent PID and provider-owned terminal identity, confirms that the process and pane working directories match, and verifies the idle prompt.
117
117
  3. Types only the user-facing task into the shared terminal.
118
118
  4. Creates a unique managed `turn_id` bound to the AKK `session_id`, terminal incarnation, and message.
119
119
  5. Monitors reliable local evidence and sends callbacks to the originating OpenClaw session.
@@ -124,17 +124,17 @@ After an asynchronous send operation is accepted, end the OpenClaw turn. Wait fo
124
124
 
125
125
  ## Status
126
126
 
127
- For managed terminal entries, `agent_knock_knock_status` captures AKK Turn state plus a bounded terminal screen and returns `terminal_screen`. It does not actively execute the coding agent's native `/status`. Use `agent_knock_knock_native_inspect` only for a terminal row's advertised, version-scoped native status action. Do not inspect the pane with raw tmux or shell commands unless the relevant AKK inspection is unavailable or fails.
127
+ For managed terminal entries, `agent_knock_knock_status` captures AKK Turn state plus a bounded terminal screen and returns `terminal_screen`. It does not actively execute the coding agent's native `/status`. Use `agent_knock_knock_native_inspect` only for a terminal row's advertised, version-scoped native status action. Do not inspect the pane with raw provider or shell commands unless the relevant AKK inspection is unavailable or fails.
128
128
 
129
129
  ## Cancellation and Recovery
130
130
 
131
- `agent_knock_knock_cancel` uses the adapter's interrupt action—Control-C for Codex or Escape for Claude Code—and leaves the tmux pane open.
131
+ `agent_knock_knock_cancel` uses the adapter's interrupt action—Control-C for Codex or Escape for Claude Code—and leaves the terminal pane open.
132
132
 
133
133
  Use `agent_knock_knock_renew` only when AKK marked the same live terminal Turn `stalled`, the process and Turn remain in the same pane, and the user wants monitoring to continue without terminal input. The contextual slash form is `/akk renew @a1b2c3d4 30`.
134
134
 
135
135
  Use `agent_knock_knock_retry_callback` only for a `callback_failed` managed turn, for example `/akk retry-callback @a1b2c3d4`.
136
136
 
137
- 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 `/akk close <terminal-id> ...` recovery command it returns. That command contains exactly one fresh `--expected-message-id <id>` or `--expected-transition-id <id>` fence. Never invent, substitute, or reuse the fence. Closing a managed record does not close the coding agent or tmux pane.
137
+ 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 `/akk close <terminal-id> ...` recovery command it returns. That command contains exactly one fresh `--expected-message-id <id>` or `--expected-transition-id <id>` fence. Never invent, substitute, or reuse the fence. Closing a managed record does not close the coding agent or terminal pane.
138
138
 
139
139
  Use `/akk doctor` only for installation checks or troubleshooting.
140
140
 
@@ -153,19 +153,19 @@ The equivalent slash command must also include that fresh fingerprint:
153
153
  /akk approve @a1b2c3d4 --expected-approval-fingerprint <fresh-fingerprint>
154
154
  ```
155
155
 
156
- For hookless Claude Code, the callback intentionally omits the raw command. Require the user to inspect the named live tmux pane personally; never approve from a hash or summary alone. Claude manual approval accepts only the strictly recognized one-time **Yes** Bash dialog for the current managed turn. Codex approval also requires the current visible prompt.
156
+ For hookless Claude Code, the callback intentionally omits the raw command. Require the user to inspect the named live terminal pane personally; never approve from a hash or summary alone. Claude manual approval accepts only the strictly recognized one-time **Yes** Bash dialog for the current managed turn. Codex approval also requires the current visible prompt.
157
157
 
158
158
  Unknown, stale, expired, ambiguous, persistent-permission, replayed, or changed requests must not be approved. Deny or interrupt them with `agent_knock_knock_cancel`, or tell the user to resolve them directly in the terminal.
159
159
 
160
160
  A trusted, default-disabled plugin `autoApprove` policy may independently approve only an exact configured agent, command vector, and canonical root listed in `autoApprove.rules[].workspaces`, backed by current terminal evidence. A rule may list multiple workspace roots. These entries are the only workspace boundary for automatic approval; they do not limit pane discovery or manual control. The model cannot create or modify that policy.
161
161
 
162
- ## tmux Sessions
162
+ ## Terminal Sessions
163
163
 
164
164
  `agent_knock_knock_list` is terminal-first: every eligible already-running Codex or Claude Code pane appears once in `terminals[]`, even when retained managed Turns reference it. The resource chain is terminal → verified native session → managed AKK `session_id` → Turns. `process_state` reports process liveness and `activity_state` reports the parsed screen state. `managed.current_turn` is the authoritative active Turn for that terminal; otherwise `managed.recent_turn` shows the newest retained context. Request `all=true` only when older `managed.history` or retained unavailable history is needed. By default, `unavailable_managed_turns[]` contains attention-needed records whose terminal is unavailable.
165
165
 
166
166
  The top-level v7 `action_contracts` summarizes each tool's managed target and its narrow compatibility inputs; `available_actions` is the authoritative current-action source after listing. An existing managed Session's ordinary `send` targets `session_id` and starts a new managed Turn. On first attach only, `selector` may preserve a discovery target explicitly named by the user or the exact selector prefilled by an unmanaged raw-terminal row; it must never be passed as `session_id`. `respond` and every managed control target `turn_id`; `respond` is offered only for a Turn waiting on OpenClaw. The read-only `list_resumable_threads` action is advertised on the terminal row, requires only its full `terminal_id`, and returns a fresh `expected_binding_token` plus candidate rows. The `new_thread` mutation is advertised on the terminal row and requires that terminal ID and token; each resumable candidate row advertises its own `resume_thread` mutation with the same snapshot token, its complete `native_thread_id`, and its opaque `candidate_token`. A conflict-only `reconcile_binding` action may be advertised for one exact, idle binding conflict; it preserves the listed Session revision, binding token, and terminal token, then CAS-detaches the old binding without adopting the live thread, sending terminal input, or creating a Turn. A top-level `previous` block, when present, is the only authority for a “previous/刚才那个” request. Number, short ID, and snapshot handle fields are human-facing navigation only; never pass them to the exact resume tool. Lifecycle discovery and mutations never create a Turn. A raw terminal may be controlled only through the exact action that its own row advertises; prefilled compatibility selectors, lifecycle IDs, and tokens must never be inferred, copied from another row, or reused from another snapshot. Start with the prefilled full argument, supply all `missing_required` fields, and use a returned `@short-ref` only for human-facing ordinary-send selection. Availability is a snapshot, so AKK revalidates it before side effects.
167
167
 
168
- Before every terminal operation, AKK revalidates the expected agent PID and tmux pane identity, then confirms that the process and pane working directories match. Sending new work additionally requires a verified idle prompt. Humans can attach to the same tmux session and continue directly at any time.
168
+ Before every terminal operation, AKK revalidates the expected agent PID and provider-owned terminal identity, then confirms that the process and pane working directories match. Sending new work additionally requires a verified idle prompt. Humans can attach to the same tmux or Herdr session and continue directly at any time.
169
169
 
170
170
  Claude Code completion depends on a strictly correlated local transcript turn and fails closed for unknown schemas, background work, or ambiguous identity. Never report completion merely because the pane looks idle.
171
171