@scotthuang/agent-knock-knock 0.2.50 → 0.3.0-beta.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.
@@ -473,22 +473,83 @@ export class TerminalAgentBridge {
473
473
  keys: recapturedInspection.approval.action.keys,
474
474
  runtime: options.runtime
475
475
  });
476
- await this.terminalProvider.sendKeys(verifiedForApproval.target, recapturedInspection.approval.action.keys, { socketPath: verifiedForApproval.socketPath });
476
+ let dispatchTerminalControl = verifiedForApproval;
477
+ let dispatchInspection = recapturedInspection;
478
+ if (options.beforeKeyDispatch) {
479
+ const afterReservation = await this.captureInspection(adapter, verifiedForApproval, options);
480
+ const afterReservationInspection = afterReservation.inspection;
481
+ if (!afterReservationInspection.approval.approvable) {
482
+ return {
483
+ approved: false,
484
+ blocked: true,
485
+ reason: "approval prompt is no longer approvable after dispatch reservation",
486
+ promptKind: afterReservationInspection.approval.promptKind,
487
+ command: afterReservationInspection.approval.command,
488
+ cwd: afterReservationInspection.approval.cwd,
489
+ toolName: afterReservationInspection.approval.toolName,
490
+ requestDetail: afterReservationInspection.approval.requestDetail,
491
+ screenExcerpt: afterReservationInspection.screenExcerpt
492
+ };
493
+ }
494
+ const afterReservationMode = afterReservationInspection.approval.action.mode ?? "keys";
495
+ const afterReservationFingerprint = terminalApprovalFingerprint(adapter.agent, afterReservation.terminalControl, afterReservationInspection, {
496
+ screen: afterReservation.screen,
497
+ runtime: options.runtime
498
+ });
499
+ if (afterReservationMode !== "keys" ||
500
+ afterReservationFingerprint !== recapturedFingerprint) {
501
+ return {
502
+ approved: false,
503
+ blocked: true,
504
+ reason: "approval fingerprint changed after dispatch reservation",
505
+ key: afterReservationInspection.approval.action.keys.length === 1
506
+ ? afterReservationInspection.approval.action.keys[0]
507
+ : undefined,
508
+ keys: afterReservationInspection.approval.action.keys,
509
+ label: afterReservationInspection.approval.action.label,
510
+ promptKind: afterReservationInspection.approval.promptKind,
511
+ command: afterReservationInspection.approval.command,
512
+ cwd: afterReservationInspection.approval.cwd,
513
+ toolName: afterReservationInspection.approval.toolName,
514
+ requestDetail: afterReservationInspection.approval.requestDetail,
515
+ fingerprint: afterReservationFingerprint,
516
+ screenExcerpt: afterReservationInspection.screenExcerpt,
517
+ decisionMode: afterReservationMode,
518
+ requestId: afterReservationInspection.approval.action.requestId
519
+ };
520
+ }
521
+ dispatchTerminalControl = afterReservation.terminalControl;
522
+ dispatchInspection = afterReservationInspection;
523
+ }
524
+ if (!dispatchInspection.approval.approvable) {
525
+ return {
526
+ approved: false,
527
+ blocked: true,
528
+ reason: "approval prompt lost its approvable state before terminal dispatch",
529
+ screenExcerpt: dispatchInspection.screenExcerpt
530
+ };
531
+ }
532
+ const dispatchApproval = dispatchInspection.approval;
533
+ const verifiedImmediatelyBeforeSend = await this.verifyTerminalIdentity(adapter.agent, dispatchTerminalControl, options.runtime);
534
+ if (!sameTerminalControlIdentity(dispatchTerminalControl, verifiedImmediatelyBeforeSend)) {
535
+ throw new Error("terminal control identity changed after the final approval capture");
536
+ }
537
+ await this.terminalProvider.sendKeys(verifiedImmediatelyBeforeSend.target, dispatchApproval.action.keys, { socketPath: verifiedImmediatelyBeforeSend.socketPath });
477
538
  return {
478
539
  approved: true,
479
540
  blocked: false,
480
- key: recapturedInspection.approval.action.keys.length === 1
481
- ? recapturedInspection.approval.action.keys[0]
541
+ key: dispatchApproval.action.keys.length === 1
542
+ ? dispatchApproval.action.keys[0]
482
543
  : undefined,
483
- keys: recapturedInspection.approval.action.keys,
484
- label: recapturedInspection.approval.action.label,
485
- promptKind: recapturedInspection.approval.promptKind,
486
- command: recapturedInspection.approval.command,
487
- cwd: recapturedInspection.approval.cwd,
544
+ keys: dispatchApproval.action.keys,
545
+ label: dispatchApproval.action.label,
546
+ promptKind: dispatchApproval.promptKind,
547
+ command: dispatchApproval.command,
548
+ cwd: dispatchApproval.cwd,
488
549
  fingerprint: recapturedFingerprint,
489
- screenExcerpt: recapturedInspection.screenExcerpt,
550
+ screenExcerpt: dispatchInspection.screenExcerpt,
490
551
  decisionMode: recapturedDecisionMode,
491
- requestId: recapturedInspection.approval.action.requestId
552
+ requestId: dispatchApproval.action.requestId
492
553
  };
493
554
  }
494
555
  async monitorPoll(options) {
@@ -498,7 +559,10 @@ export class TerminalAgentBridge {
498
559
  if (adapter.capabilities.screenStatus &&
499
560
  options.terminalControl.capabilities.includes("screen_status")) {
500
561
  try {
501
- const captured = await this.captureInspection(adapter, options.terminalControl, options.screenOptions);
562
+ const captured = await this.captureInspection(adapter, options.terminalControl, {
563
+ ...options.screenOptions,
564
+ managedRequest: options.durableRequest
565
+ });
502
566
  inspection = captured.inspection;
503
567
  status = statusFromInspection(adapter, captured.terminalControl, inspection, {
504
568
  screen: captured.screen,
@@ -555,7 +619,8 @@ export class TerminalAgentBridge {
555
619
  requestText: options.requestText,
556
620
  screenChangedSinceSend: options.screenChangedSinceSend,
557
621
  maxExcerptLength: options.maxExcerptLength,
558
- runtime: options.runtime
622
+ runtime: options.runtime,
623
+ managedRequest: options.managedRequest
559
624
  })
560
625
  };
561
626
  }
@@ -574,6 +639,15 @@ export class TerminalAgentBridge {
574
639
  return result?.terminalControl ?? terminalControl;
575
640
  }
576
641
  }
642
+ function sameTerminalControlIdentity(left, right) {
643
+ return left.kind === right.kind &&
644
+ left.target === right.target &&
645
+ left.socketPath === right.socketPath &&
646
+ left.session === right.session &&
647
+ left.window === right.window &&
648
+ left.pane === right.pane &&
649
+ left.panePid === right.panePid;
650
+ }
577
651
  export function terminalApprovalFingerprint(agent, terminalControl, inspection, options = {}) {
578
652
  if (!inspection.approval.approvable) {
579
653
  return undefined;
@@ -609,6 +683,16 @@ export function terminalApprovalFingerprint(agent, terminalControl, inspection,
609
683
  cwd: inspection.approval.cwd,
610
684
  tool_name: inspection.approval.toolName,
611
685
  request_detail: inspection.approval.requestDetail,
686
+ policy_evidence: inspection.approval.policyEvidence
687
+ ? {
688
+ source: inspection.approval.policyEvidence.source,
689
+ kind: inspection.approval.policyEvidence.kind,
690
+ command_sha256: inspection.approval.policyEvidence.commandSha256,
691
+ evidence_fingerprint: inspection.approval.policyEvidence.evidenceFingerprint,
692
+ request_id: inspection.approval.policyEvidence.requestId,
693
+ metadata: inspection.approval.policyEvidence.metadata
694
+ }
695
+ : undefined,
612
696
  raw_screen_sha256: rawScreenDigest,
613
697
  decision_mode: decisionMode,
614
698
  request_id: inspection.approval.action.requestId
@@ -643,7 +727,16 @@ function statusFromInspection(adapter, terminalControl, inspection, options = {}
643
727
  reason: approval.approvable ? undefined : approval.reason,
644
728
  fingerprint,
645
729
  decision_mode: approval.approvable ? approval.action.mode ?? "keys" : undefined,
646
- request_id: approval.approvable ? approval.action.requestId : undefined
730
+ request_id: approval.approvable ? approval.action.requestId : undefined,
731
+ policy_evidence: approval.approvable && approval.policyEvidence
732
+ ? {
733
+ source: approval.policyEvidence.source,
734
+ kind: approval.policyEvidence.kind,
735
+ command_sha256: approval.policyEvidence.commandSha256,
736
+ evidence_fingerprint: approval.policyEvidence.evidenceFingerprint,
737
+ request_id: approval.policyEvidence.requestId
738
+ }
739
+ : undefined
647
740
  },
648
741
  screen: {
649
742
  excerpt: inspection.screenExcerpt,
@@ -697,6 +790,15 @@ function approvalOutput(approval) {
697
790
  cwd: approval.cwd,
698
791
  toolName: approval.toolName,
699
792
  requestDetail: approval.requestDetail,
793
+ policyEvidence: approval.policyEvidence
794
+ ? {
795
+ source: approval.policyEvidence.source,
796
+ kind: approval.policyEvidence.kind,
797
+ commandSha256: approval.policyEvidence.commandSha256,
798
+ evidenceFingerprint: approval.policyEvidence.evidenceFingerprint,
799
+ requestId: approval.policyEvidence.requestId
800
+ }
801
+ : undefined,
700
802
  decisionMode: approval.action.mode ?? "keys",
701
803
  requestId: approval.action.requestId
702
804
  };
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-agent-bridge.js","sourceRoot":"","sources":["../../src/terminal-agent-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-agent-bridge.js","sourceRoot":"","sources":["../../src/terminal-agent-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,19 @@
1
1
  {
2
2
  "id": "agent-knock-knock",
3
3
  "name": "Agent Knock Knock",
4
- "description": "Agent Knock Knock (AKK/akk) delegates OpenClaw coding work to local Codex, Claude, or Cursor agents. Use this plugin when the user says AKK, akk, Agent Knock Knock, asks to hand work to Codex, Claude, or Cursor, asks what agent tasks are running, asks what an AKK, Codex, or Claude session is about, sends a follow-up to an agent task, renews monitoring for a stalled terminal task, recovers an unavailable agent session, cancels a running agent task, or closes an agent task. Default delegation target comes from plugin config defaultAgent and falls back to Codex when unset; explicit user agent requests override it.",
4
+ "description": "Delegate OpenClaw coding tasks to local Codex, Claude Code, or Cursor agents, then take over the same live terminal session.",
5
+ "icon": "https://raw.githubusercontent.com/scotthuang/agent-knock-knock/main/docs/assets/agent-knock-knock-icon.png",
5
6
  "activation": {
6
- "onStartup": true
7
+ "onStartup": true,
8
+ "onCommands": ["akk"]
7
9
  },
10
+ "commandAliases": [
11
+ {
12
+ "name": "akk",
13
+ "kind": "runtime-slash"
14
+ }
15
+ ],
8
16
  "contracts": {
9
- "commands": [
10
- "akk"
11
- ],
12
17
  "tools": [
13
18
  "agent_knock_knock_delegate",
14
19
  "agent_knock_knock_list",
@@ -21,7 +26,6 @@
21
26
  "agent_knock_knock_recover",
22
27
  "agent_knock_knock_close",
23
28
  "agent_knock_knock_approve",
24
- "agent_knock_knock_agent_discover",
25
29
  "agent_knock_knock_agent_takeover"
26
30
  ]
27
31
  },
@@ -59,13 +63,13 @@
59
63
  "agent_knock_knock_approve": {
60
64
  "optional": true
61
65
  },
62
- "agent_knock_knock_agent_discover": {
63
- "optional": true
64
- },
65
66
  "agent_knock_knock_agent_takeover": {
66
67
  "optional": true
67
68
  }
68
69
  },
70
+ "skills": [
71
+ "templates/openclaw-skills/agent-knock-knock"
72
+ ],
69
73
  "configSchema": {
70
74
  "type": "object",
71
75
  "additionalProperties": false,
@@ -151,6 +155,10 @@
151
155
  "type": "string",
152
156
  "description": "Path to the OpenClaw CLI used by callback delivery. Defaults to PATH plus common user install locations."
153
157
  },
158
+ "codexHome": {
159
+ "type": "string",
160
+ "description": "Optional CODEX_HOME path used when resolving native Codex sessions for agent takeover."
161
+ },
154
162
  "callbackCommand": {
155
163
  "type": "string",
156
164
  "description": "Optional callback command template. {statePath} and {state_path} are replaced with the shell-quoted state path."
@@ -171,7 +179,7 @@
171
179
  "autoApprove": {
172
180
  "type": "object",
173
181
  "additionalProperties": false,
174
- "description": "Deterministic Codex terminal approval policy. Disabled by default and never exposed as model-controlled tool parameters.",
182
+ "description": "Deterministic, default-disabled exact command-vector and workspace policy for terminal-controlled Codex and hookless Claude. Claude auto-approval also requires a current managed one-time Bash prompt with matching local transcript evidence. Policy configuration is trusted and never exposed as model-controlled tool parameters.",
175
183
  "properties": {
176
184
  "enabled": {
177
185
  "type": "boolean",
@@ -193,7 +201,7 @@
193
201
  "minItems": 1,
194
202
  "items": {
195
203
  "type": "string",
196
- "enum": ["codex"]
204
+ "enum": ["codex", "claude"]
197
205
  }
198
206
  },
199
207
  "workspaces": {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@scotthuang/agent-knock-knock",
3
- "version": "0.2.50",
4
- "description": "Local-first OpenClaw orchestration for coding agents through shared tmux sessions or ACPX/ACP.",
3
+ "version": "0.3.0-beta.1",
4
+ "description": "Control local Codex and Claude Code from OpenClaw, take over the same live tmux session, and run managed ACP tasks through ACPX with Cursor support.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "homepage": "https://github.com/scotthuang/agent-knock-knock#readme",
@@ -29,9 +29,26 @@
29
29
  "extensions": [
30
30
  "./dist/src/openclaw-plugin.js"
31
31
  ],
32
+ "runtimeExtensions": [
33
+ "./dist/src/openclaw-plugin.js"
34
+ ],
35
+ "install": {
36
+ "clawhubSpec": "clawhub:@scotthuang/agent-knock-knock",
37
+ "npmSpec": "@scotthuang/agent-knock-knock",
38
+ "defaultChoice": "clawhub",
39
+ "minHostVersion": ">=2026.7.1-2"
40
+ },
32
41
  "compat": {
33
- "pluginApi": ">=2026.3.24-beta.2",
34
- "minGatewayVersion": "2026.3.24-beta.2"
42
+ "pluginApi": ">=2026.7.1-2",
43
+ "minGatewayVersion": "2026.7.1-2"
44
+ },
45
+ "build": {
46
+ "openclawVersion": "2026.7.1-2",
47
+ "pluginSdkVersion": "2026.7.1-2"
48
+ },
49
+ "release": {
50
+ "publishToClawHub": true,
51
+ "publishToNpm": true
35
52
  }
36
53
  },
37
54
  "bin": {
@@ -41,6 +58,7 @@
41
58
  "dist/src",
42
59
  "templates",
43
60
  "docs/assets/agent-knock-knock-cover.jpg",
61
+ "docs/assets/agent-knock-knock-icon.png",
44
62
  "openclaw.plugin.json",
45
63
  "README.md",
46
64
  "LICENSE",
@@ -55,6 +73,8 @@
55
73
  "prepack": "npm run build",
56
74
  "typecheck": "tsc -p tsconfig.json --noEmit",
57
75
  "test": "npm run build && node --test dist/test/*.test.js",
76
+ "clawhub:validate": "npm run build && clawhub package validate . --out .clawhub-validation --openclaw node_modules/openclaw --runtime --allow-execute --no-mock-sdk",
77
+ "clawhub:dry-run": "npm run build && clawhub package publish . --family code-plugin --owner scotthuang --tags beta --dry-run",
58
78
  "simulate:architecture": "node scripts/two-claude-weather-test.js --scenario architecture-questions",
59
79
  "simulate:weather": "node scripts/two-claude-weather-test.js --scenario weather",
60
80
  "transcript": "node dist/src/cli.js transcript"
@@ -62,8 +82,18 @@
62
82
  "engines": {
63
83
  "node": ">=22.14.0"
64
84
  },
85
+ "peerDependencies": {
86
+ "openclaw": ">=2026.7.1-2"
87
+ },
88
+ "peerDependenciesMeta": {
89
+ "openclaw": {
90
+ "optional": true
91
+ }
92
+ },
65
93
  "devDependencies": {
66
94
  "@types/node": "^22.20.1",
95
+ "clawhub": "0.23.1",
96
+ "openclaw": "2026.7.1-2",
67
97
  "typescript": "^7.0.2"
68
98
  }
69
99
  }
@@ -57,7 +57,7 @@ Natural-language forms:
57
57
  - `AKK close <conversation-id>`: call `agent_knock_knock_close`.
58
58
  - `AKK takeover Codex <session-id>` or requests to take over an active Codex CLI session: call `agent_knock_knock_agent_takeover` with `agent="codex"` and `strategy="terminate_then_resume"`.
59
59
  - `AKK terminal takeover Codex <session-id>` or requests to take over a Codex CLI that is running inside a controllable terminal provider without stopping it: call `agent_knock_knock_agent_takeover` with `agent="codex"` and `strategy="terminal_control"`.
60
- - `AKK approve <conversation-id>` or requests to approve a terminal-controlled permission or command prompt: first call `agent_knock_knock_status` and show the detected request details to the user. Only after the user explicitly approves that exact request, call `agent_knock_knock_approve` with its `approval_state.fingerprint` as `expected_approval_fingerprint`. Codex and Claude Code both use the current visible prompt; Claude screen approval is limited to a strict one-time `Yes` Bash dialog in the current AKK-managed turn and never uses automatic approval. If an AKK callback says a terminal bridge session is waiting for approval, pass its fingerprint the same way; deny it with `agent_knock_knock_cancel`. Unknown, stale, expired, ambiguous, persistent-permission, or changed requests must never be approved. Codex visible-prompt approval can also work without managed state; Claude requires the managed conversation returned by a prior background send.
60
+ - `AKK approve <conversation-id>` or requests to approve a terminal-controlled permission or command prompt: this is the manual path. First call `agent_knock_knock_status` and show the detected request details to the user. For hookless Claude, the callback intentionally omits the raw command; require the user to personally inspect the named live tmux pane and never approve from a hash or summary alone. Only after the user explicitly approves that exact request, call `agent_knock_knock_approve` with its `approval_state.fingerprint` as `expected_approval_fingerprint`. Codex and Claude Code both use the current visible prompt; Claude manual approval is limited to a strict one-time `Yes` Bash dialog in the current AKK-managed turn. A trusted, default-disabled plugin `autoApprove` policy may act independently when the Claude command, workspace, screen, and local transcript evidence match exactly; the model cannot configure that policy. If an AKK callback says a terminal bridge session is waiting for approval, pass its fingerprint the same way; deny it with `agent_knock_knock_cancel`. Unknown, stale, expired, ambiguous, persistent-permission, or changed requests must never be approved. Codex visible-prompt approval can also work without managed state; Claude requires the managed conversation returned by a prior background send.
61
61
  - `AKK takeover Codex <session-id> with fork`, `AKK fork takeover Codex <session-id>`, or requests to take over without stopping the original Codex CLI: call `agent_knock_knock_agent_takeover` with `agent="codex"` and `strategy="fork"`.
62
62
 
63
63
  Session reuse rule:
@@ -147,7 +147,7 @@ Use `agent_knock_knock_agent_takeover` when the user wants AKK to take over an e
147
147
  - `terminal_control`: use when the target Codex CLI is running inside a controllable terminal provider and the user wants AKK to operate the existing TUI without stopping or resuming it. The first call is side-effect-free. If the result is `requires_confirmation`, show the exact terminal target, pid, cwd, and current terminal-control metadata. Only after explicit user confirmation, call again with `strategy="terminal_control"`, `createConversation=true`, `confirmTerminal=true`, and `terminalTarget=<confirmed target>`. Follow-up `AKK send` messages will be typed into the terminal pane as concise user-facing task text; AKK monitors the Codex rollout/terminal state and sends the callback to OpenClaw itself. `AKK cancel` sends Control-C to the controlled terminal pane. Terminal-controlled entries from `AKK list` can be sent to, cancelled, approved, and inspected directly with their `id`; use `agent_knock_knock_status` to inspect the current terminal screen or execution result. Before `agent_knock_knock_approve`, show the user the latest terminal excerpt and pass its fingerprint as `expected_approval_fingerprint`.
148
148
  - `fork`: use when the user wants to avoid stopping the original Codex CLI. First call returns a bounded context package plus `summaryPrompt` and `nextAction`; use that prompt to summarize as OpenClaw, ask the user to confirm, and do not inject raw full rollout history directly. After the user confirms the summary, call `agent_knock_knock_agent_takeover` again with `strategy="fork"`, `createConversation=true`, and `forkSummary=<approved summary>` to create the forked AKK-managed session. Then use the returned `conversation_id` with `AKK send` for follow-up work.
149
149
 
150
- Claude Code terminal entries are controlled directly by their `terminal:v2:tmux:claude:...` ids; do not offer Codex-only stop/resume or fork strategies for them. AKK does not install or require Claude hooks. A background send creates a managed turn that can report a strictly recognized, one-time Bash approval prompt; show the redacted excerpt and require the exact fingerprint plus explicit user confirmation. Claude screen approval is best-effort terminal automation, expires quickly, is revalidated immediately before Enter, and never participates in automatic approval. Hook-free completion comes from a strictly correlated, local Claude transcript turn and may fail closed for unknown schemas, background work, or ambiguous identity. Never report completion merely because the pane looks idle; rely on the AKK callback or use `status` and inspect the terminal when monitoring becomes `stalled`.
150
+ Claude Code terminal entries are controlled directly by their `terminal:v2:tmux:claude:...` ids; do not offer Codex-only stop/resume or fork strategies for them. AKK does not install or require Claude hooks. A background send creates a managed turn that can report a strictly recognized, one-time Bash approval prompt. On the manual path, require the user to inspect the named live tmux pane, pass the exact fingerprint, and explicitly confirm the request. A trusted, default-disabled plugin policy may automatically approve only an exact command/workspace match backed by the same current screen and local transcript evidence. Claude approval expires quickly; AKK re-evaluates policy, reserves the one-shot dispatch, recaptures the prompt and evidence, and revalidates pane/process identity before Enter. Hook-free completion comes from a strictly correlated local Claude transcript turn and may fail closed for unknown schemas, background work, or ambiguous identity. Never report completion merely because the pane looks idle; rely on the AKK callback or use `status` and inspect the terminal when monitoring becomes `stalled`.
151
151
 
152
152
  Do not present `fork` as a standalone command or standalone feature. It is a takeover strategy.
153
153