@scotthuang/agent-knock-knock 0.14.2 → 0.14.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +233 -108
- package/dist/src/backend-callback-public-projection.d.ts +27 -0
- package/dist/src/backend-callback-public-projection.js +58 -0
- package/dist/src/backend-callback-public-projection.js.map +1 -0
- package/dist/src/backend-public-progress.d.ts +2 -0
- package/dist/src/backend-public-progress.js +4 -1
- package/dist/src/backend-public-progress.js.map +1 -1
- package/dist/src/backend-recovery-semantic.js +5 -4
- package/dist/src/backend-recovery-semantic.js.map +1 -1
- package/dist/src/callback-transport.d.ts +1 -1
- package/dist/src/callback-transport.js +2 -2
- package/dist/src/callback-transport.js.map +1 -1
- package/dist/src/claude-conversation-routing-cli-adapter.d.ts +2 -0
- package/dist/src/claude-conversation-routing-cli-adapter.js +127 -0
- package/dist/src/claude-conversation-routing-cli-adapter.js.map +1 -0
- package/dist/src/claude-conversation-routing-identity.d.ts +11 -0
- package/dist/src/claude-conversation-routing-identity.js +46 -0
- package/dist/src/claude-conversation-routing-identity.js.map +1 -0
- package/dist/src/claude-native-cli-adapter.d.ts +18 -0
- package/dist/src/claude-native-cli-adapter.js +159 -0
- package/dist/src/claude-native-cli-adapter.js.map +1 -0
- package/dist/src/claude-native-client.d.ts +57 -0
- package/dist/src/claude-native-client.js +197 -0
- package/dist/src/claude-native-client.js.map +1 -0
- package/dist/src/claude-native-discovery.d.ts +20 -0
- package/dist/src/claude-native-discovery.js +111 -0
- package/dist/src/claude-native-discovery.js.map +1 -0
- package/dist/src/claude-native-identity.d.ts +29 -0
- package/dist/src/claude-native-identity.js +54 -0
- package/dist/src/claude-native-identity.js.map +1 -0
- package/dist/src/claude-native-monitor.d.ts +13 -0
- package/dist/src/claude-native-monitor.js +123 -0
- package/dist/src/claude-native-monitor.js.map +1 -0
- package/dist/src/claude-native-observation.d.ts +54 -0
- package/dist/src/claude-native-observation.js +418 -0
- package/dist/src/claude-native-observation.js.map +1 -0
- package/dist/src/claude-native-outbox.d.ts +16 -0
- package/dist/src/claude-native-outbox.js +122 -0
- package/dist/src/claude-native-outbox.js.map +1 -0
- package/dist/src/claude-native-peer-helper.d.ts +2 -0
- package/dist/src/claude-native-peer-helper.js +121 -0
- package/dist/src/claude-native-peer-helper.js.map +1 -0
- package/dist/src/claude-native-public-projection.d.ts +605 -0
- package/dist/src/claude-native-public-projection.js +98 -0
- package/dist/src/claude-native-public-projection.js.map +1 -0
- package/dist/src/claude-native-runtime.d.ts +25 -0
- package/dist/src/claude-native-runtime.js +74 -0
- package/dist/src/claude-native-runtime.js.map +1 -0
- package/dist/src/claude-native-state-store.d.ts +49 -0
- package/dist/src/claude-native-state-store.js +96 -0
- package/dist/src/claude-native-state-store.js.map +1 -0
- package/dist/src/claude-native-task-service.d.ts +70 -0
- package/dist/src/claude-native-task-service.js +327 -0
- package/dist/src/claude-native-task-service.js.map +1 -0
- package/dist/src/cli-core.js +2 -1
- package/dist/src/cli-core.js.map +1 -1
- package/dist/src/cli-runtime-context.d.ts +2 -0
- package/dist/src/cli-runtime-context.js.map +1 -1
- package/dist/src/codex-native-outbox.js +7 -5
- package/dist/src/codex-native-outbox.js.map +1 -1
- package/dist/src/codex-native-public-projection.d.ts +17 -7
- package/dist/src/codex-native-public-projection.js +4 -4
- package/dist/src/codex-native-public-projection.js.map +1 -1
- package/dist/src/codex-native-semantic.js +15 -5
- package/dist/src/codex-native-semantic.js.map +1 -1
- package/dist/src/conversation-list.js +8 -2
- package/dist/src/conversation-list.js.map +1 -1
- package/dist/src/conversation-routing-cli-adapter.d.ts +2 -7
- package/dist/src/conversation-routing-cli-adapter.js +4 -2
- package/dist/src/conversation-routing-cli-adapter.js.map +1 -1
- package/dist/src/conversation-routing-commands.d.ts +5 -0
- package/dist/src/conversation-routing-commands.js.map +1 -1
- package/dist/src/desktop-command-presentation.js +3 -1
- package/dist/src/desktop-command-presentation.js.map +1 -1
- package/dist/src/desktop-public-projection.js +3 -6
- package/dist/src/desktop-public-projection.js.map +1 -1
- package/dist/src/desktop-task-service.js +10 -3
- package/dist/src/desktop-task-service.js.map +1 -1
- package/dist/src/durable-notification-kernel.d.ts +10 -0
- package/dist/src/durable-notification-kernel.js +18 -1
- package/dist/src/durable-notification-kernel.js.map +1 -1
- package/dist/src/host-monitor-reconciliation.js +9 -1
- package/dist/src/host-monitor-reconciliation.js.map +1 -1
- package/dist/src/host-profile-runtime.js +3 -1
- package/dist/src/host-profile-runtime.js.map +1 -1
- package/dist/src/local-codex-cli-adapter.js +4 -3
- package/dist/src/local-codex-cli-adapter.js.map +1 -1
- package/dist/src/openclaw-callback-evidence.d.ts +17 -0
- package/dist/src/openclaw-callback-evidence.js +75 -0
- package/dist/src/openclaw-callback-evidence.js.map +1 -0
- package/dist/src/openclaw-callback-transport.js +90 -9
- package/dist/src/openclaw-callback-transport.js.map +1 -1
- package/dist/src/semantic-conversation-target.js +1 -1
- package/dist/src/semantic-conversation-target.js.map +1 -1
- package/dist/src/semantic-tool-command-helpers.d.ts +0 -1
- package/dist/src/semantic-tool-command-helpers.js +27 -17
- package/dist/src/semantic-tool-command-helpers.js.map +1 -1
- package/dist/src/semantic-tool-descriptions.js +3 -3
- package/dist/src/semantic-tool-descriptions.js.map +1 -1
- package/dist/src/semantic-tool-list-projection.js +11 -4
- package/dist/src/semantic-tool-list-projection.js.map +1 -1
- package/dist/src/semantic-tool-presentation.js +17 -3
- package/dist/src/semantic-tool-presentation.js.map +1 -1
- package/dist/src/semantic-tool-runtime.js +8 -1
- package/dist/src/semantic-tool-runtime.js.map +1 -1
- package/dist/src/semantic-tool-schemas.js +15 -15
- package/dist/src/semantic-tool-schemas.js.map +1 -1
- package/dist/src/terminal-list-cli-adapter.js +5 -1
- package/dist/src/terminal-list-cli-adapter.js.map +1 -1
- package/dist/src/terminal-list-ownership-service.js +1 -1
- package/dist/src/terminal-list-ownership-service.js.map +1 -1
- package/docs/backend-task-recovery.md +43 -0
- package/docs/claude-cli-direct.md +60 -0
- package/package.json +2 -2
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +14 -4
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-knock-knock
|
|
3
|
-
description:
|
|
3
|
+
description: Use Agent Knock Knock to discover, send tasks to, and observe existing Codex CLI, Codex Desktop, or Claude Code conversations through their supported direct or terminal connections.
|
|
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 a supported controller Host to inspect or control a coding-agent conversation listed by AKK.
|
|
9
9
|
|
|
10
|
-
AKK supports loaded local Codex CLI threads through their shared backend, existing local Codex Desktop conversations, and Codex or Claude Code already running inside tmux or local Herdr `0.8.0`. It never launches a replacement coding agent. The controller Host, AKK, the coding agent, and its Desktop app or terminal host must run as the same OS user.
|
|
10
|
+
AKK supports loaded local Codex CLI threads through their shared backend, existing local Codex Desktop conversations, compatible already-open Claude Code CLIs through their native inbox, and Codex or Claude Code already running inside tmux or local Herdr `0.8.0`. It never launches a replacement coding agent. The controller Host, AKK, the coding agent, and its Desktop app or terminal host must run as the same OS user.
|
|
11
11
|
|
|
12
12
|
Treat `AKK` and `akk` the same way.
|
|
13
13
|
|
|
@@ -19,9 +19,9 @@ Keep the user's requested scope and approval boundaries. Do not expand a task, a
|
|
|
19
19
|
|
|
20
20
|
## Choose a conversation
|
|
21
21
|
|
|
22
|
-
Use `conversations[]` from List as the primary collection and select by title, project and current identity. Choose the row's exact conversation and advertised operation; AKK chooses the route, including Status, Send, Watch and permission controls. Callers do not select between a backend and a terminal. For a proven terminal/backend match, `terminal_controls[]` preserves that terminal’s managed Turns, recovery and capability-specific actions inside the conversation row; these are controls for the same conversation, not extra tasks. The raw CLI retains `terminals[]`, `codex_cli_sessions[]` and `desktop_sessions[]` for compatibility and private authority, but do not present these again as extra conversations when `conversations[]` exists.
|
|
22
|
+
Use `conversations[]` from List as the primary collection and select by title, project and current identity. Choose the row's exact conversation and advertised operation; AKK chooses the route, including Status, Send, Watch and permission controls. Callers do not select between a backend and a terminal. For a proven terminal/backend match, `terminal_controls[]` preserves that terminal’s managed Turns, recovery and capability-specific actions inside the conversation row; these are controls for the same conversation, not extra tasks. The raw CLI retains `terminals[]`, `codex_cli_sessions[]`, `claude_cli_sessions[]` and `desktop_sessions[]` for compatibility and private authority, but do not present these again as extra conversations when `conversations[]` exists.
|
|
23
23
|
|
|
24
|
-
AKK prefers
|
|
24
|
+
AKK prefers a reachable direct connection only when it proves the exact current native session and process or thread. A terminal and backend row merge only with exact identity evidence, never matching cwd, title, newest history or version alone. Unresolved representations may remain separate; do not assume they are different tasks or send twice. The routing diagnostics describe available evidence, not authority to skip a guard. An unavailable backend may retain an eligible terminal path; a busy, blocked or mismatched native task is not an excuse to try terminal input. For a selected physical terminal without a proven native anchor, targeted conversation operations, including Status, may run an advertised idle-only `/status` identity inspection when backend candidates exist. This can display a native status card but submits no user task; a working or blocked terminal is not interrupted. List sends no terminal input. If a dispatch is uncertain, keep its receipt and inspect it instead of retrying another route.
|
|
25
25
|
|
|
26
26
|
Use the returned `watch_id` or `turn_id` for that task's follow-up. Existing Watches and pending interactions keep their task and route. After a question or approval callback, refresh that exact Status and copy the current interaction action; do not translate its IDs to another transport. Permission operations prefer the verified backend. Backend task recovery retains the original task identity and provider. Terminal binding/menu recovery, model and lifecycle operations retain their separately advertised capability; the caller does not pick a transport. The route-specific guidance below explains those capabilities and result boundaries, not an additional route-selection step.
|
|
27
27
|
|
|
@@ -49,6 +49,16 @@ A `conversations[]` row with `source="codex_cli"` uses an exact `codex-cli:v1:..
|
|
|
49
49
|
|
|
50
50
|
Use AKK's advertised actions and read the actual operation result after backend upgrades. A missing backend method fails that operation with an unsupported-capability diagnostic; it does not justify sending UI input to a guessed terminal. Existing terminal and Desktop capabilities retain their own limits. Model selection and native thread lifecycle operations are not added to this direct route.
|
|
51
51
|
|
|
52
|
+
## Direct Claude Code
|
|
53
|
+
|
|
54
|
+
Rows with `source="claude_cli"` use `claude-cli:v1:...` IDs for an already-running native CLI. This path is live-tested on macOS with Claude Code `2.1.296` and peer protocol `1`; Python 3 is required on the AKK side. It needs no Claude plugin, hook, special launch arguments or replacement process. Use actual advertised capabilities after upgrades, not a version number alone.
|
|
55
|
+
|
|
56
|
+
- Send to a verified idle conversation. Keep its `claude-cli-watch:...` receipt: Send already creates completion monitoring with the shared 720-minute hard deadline. Do not add another Watch for that Send. Busy/blocked, held/refused or uncertain delivery must not be retried through terminal input.
|
|
57
|
+
- Status on the conversation reads its latest input; Status on the Watch reads its original exact `native_input_id`. This is an input UUID, not a native turn ID. Public progress and tool-action summaries are bounded to 800 code points; List has no progress body. `agent_acceptance: proven` requires exact native sender/message/input evidence, not merely a socket write.
|
|
58
|
+
- Watch a manually started active task using the conversation action. Keep the returned Watch through task changes. Idle is not success; `exited` means the original process ended without proof of completion. A new process resuming the same history is not silently substituted.
|
|
59
|
+
- Use the advertised Recover, Unwatch, Close and retry-callback actions on the original task. Explicit Renew requires that same input still active; settled or exited tasks cannot renew. Accepted or uncertain callbacks are not replayed. Callback acceptance proves delivery to the controller, not to a downstream chat channel.
|
|
60
|
+
- Direct approvals, question answers, models, permissions, cancellation and lifecycle commands are unavailable. Registry waiting hints may indicate manual attention, but `pending_interaction_count: null` means unknown and interaction notification is not guaranteed. Report `manual_required` and return to the original Claude terminal. If an exact eligible tmux/Herdr counterpart exists, AKK retains its advertised special controls automatically; their original version and safety limits still apply.
|
|
61
|
+
|
|
52
62
|
## Codex Desktop
|
|
53
63
|
|
|
54
64
|
Desktop rows in `conversations[]` have `source="codex_desktop"` and a full `desktop:v1:...` conversation ID. Their owner identity is separate from terminal selectors, managed Sessions, and managed Turns. The terminal-specific instructions below do not grant Desktop input authority.
|