@scotthuang/agent-knock-knock 0.14.10 → 0.14.12

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 (31) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/src/cli-core.js +10 -2
  3. package/dist/src/cli-core.js.map +1 -1
  4. package/dist/src/conversation-list-presentation.d.ts +1 -1
  5. package/dist/src/conversation-list-presentation.js +23 -4
  6. package/dist/src/conversation-list-presentation.js.map +1 -1
  7. package/dist/src/conversation-route-dispatch.d.ts +2 -0
  8. package/dist/src/conversation-route-dispatch.js +14 -1
  9. package/dist/src/conversation-route-dispatch.js.map +1 -1
  10. package/dist/src/conversation-route-store.d.ts +13 -1
  11. package/dist/src/conversation-route-store.js +46 -5
  12. package/dist/src/conversation-route-store.js.map +1 -1
  13. package/dist/src/conversation-routing-cli-adapter.js +8 -2
  14. package/dist/src/conversation-routing-cli-adapter.js.map +1 -1
  15. package/dist/src/conversation-routing-commands.d.ts +2 -0
  16. package/dist/src/conversation-routing-commands.js +8 -0
  17. package/dist/src/conversation-routing-commands.js.map +1 -1
  18. package/dist/src/conversation-runtime-route-store.js +23 -4
  19. package/dist/src/conversation-runtime-route-store.js.map +1 -1
  20. package/dist/src/semantic-tool-descriptions.js +2 -2
  21. package/dist/src/semantic-tool-descriptions.js.map +1 -1
  22. package/dist/src/semantic-tool-list-budget.d.ts +1 -1
  23. package/dist/src/semantic-tool-list-budget.js +6 -3
  24. package/dist/src/semantic-tool-list-budget.js.map +1 -1
  25. package/dist/src/semantic-tool-list-projection.js +10 -1
  26. package/dist/src/semantic-tool-list-projection.js.map +1 -1
  27. package/docs/codex-cli-native-compatibility.md +9 -9
  28. package/docs/list-output.md +26 -0
  29. package/docs/operator-guide.md +9 -7
  30. package/package.json +1 -1
  31. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scotthuang/agent-knock-knock",
3
- "version": "0.14.10",
3
+ "version": "0.14.12",
4
4
  "description": "Delegate to existing Codex CLI, Codex Desktop, and Claude Code sessions from OpenClaw or compatible controller Hosts, with native direct control and supported terminal fallbacks.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,7 +21,7 @@ Keep the user's requested scope and approval boundaries. Do not expand a task, a
21
21
 
22
22
  Present `conversations[]` as **CLI** or **Desktop** using `surface`, and keep Codex/Claude Code as the agent type. Select the displayed `conversation_id` and its advertised operation; AKK chooses the connection internally. Do not make separate user-facing backend and terminal lists, repeat raw discovery arrays, or count Watches as additional conversations or tasks. Preserve unavailable actions, current questions/approvals, and management/recovery records. Scoped controls, when present, are operations on exact targets within a row, not extra conversations.
23
23
 
24
- Default CLI presentation folds one same-agent, same-project terminal/backend candidate pair into the original terminal row. This is display grouping only: the candidate contributes no identity, status or permissions, and does not authorize backend dispatch. Known conflicts or multiple candidates remain separate. Backend-only CLI conversations remain discoverable. If a particular connection is missing or ambiguous, use `terminalDebug: true` (CLI `list --terminal-debug`) to expand every unassociated connection and routing detail. A same-project embedded CLI and an independent direct CLI can share a default display row when their identities are unknown; the expanded view preserves both. Display entry counts are not proof of unique native tasks.
24
+ Default CLI presentation prefers the verified backend entry for a one-to-one same-agent/project discovery pair without known identity conflicts. Use that returned conversation ID and its actions directly; do not search for or choose an alternative transport. Its title, state and actions belong to the selected backend. Presentation preference does not prove a terminal alias, copy terminal permissions, or redirect a previously selected terminal ID. Multiple candidates, conflicts and terminal attention/recovery records remain visible. Proven exact aliases still combine verified controls. Use `terminalDebug: true` (CLI `list --terminal-debug`) only when connection diagnostics are needed, not as a routine selection step.
25
25
 
26
26
  AKK prefers a reachable direct connection only after proving the exact selected native session and process or thread. An unavailable backend may retain an eligible terminal path; busy/blocked state or identity conflict cannot authorize bypass. Targeted operations on an idle terminal can use the existing advertised `/status` inspection to learn its identity; working or blocked terminals are not interrupted. List itself sends no terminal input. Keep an uncertain dispatch receipt and inspect it instead of retrying through another connection.
27
27
 
@@ -292,7 +292,7 @@ A trusted, default-disabled plugin `autoApprove` policy may independently approv
292
292
 
293
293
  ## Terminal Sessions
294
294
 
295
- The model-facing `agent_knock_knock_list` presents `conversations[]` once. Exact matched Codex terminal/backend representations are coalesced; unproven matches remain separate, and unconnected Desktop candidates stay visible. Raw CLI output retains the provider arrays for diagnostics. Terminal-backed rows still include retained managed context without duplicating the pane. The terminal resource chain is terminal → verified native session → managed AKK `session_id` → Turns; independent terminal observation records appear in `terminal_watches[]` and are addressed only by `watch_id`. `process_state` reports process liveness. Read `screen_state` as bounded live-TUI evidence, `native_identity_state` as foreground native-session resolution, and `durable_activity_state` as exact artifact-backed task activity. The legacy `activity_state` is a conservative compatibility projection and may remain `unknown` while `screen_state="idle"`; none of these diagnostic fields replaces `available_actions` authority. `managed.current_turn` is the authoritative active Turn for that terminal; otherwise `managed.recent_turn` shows the newest retained context. A human-driven thread mismatch remains `management_state="conflict"`; `handoff_state="external_handoff_adoptable"` authorizes only the exact fenced `send` advertised on that row, while `external_handoff_blocked` means do not send or guess a recovery. Listing itself never adopts the new context. Request `all=true` only when older `managed.history`, settled Watches, or retained unavailable history is needed; Host results remain paginated, not an unlimited dump. By default, `unavailable_managed_turns[]` contains attention-needed records whose terminal is unavailable.
295
+ The model-facing `agent_knock_knock_list` presents `conversations[]` once. Exact matched Codex terminal/backend representations are coalesced. A unique nonconflicting project pair prefers its backend entry without claiming an exact alias; ambiguous or attention-needed terminal records and unconnected Desktop candidates stay visible. Raw CLI output retains the provider arrays for diagnostics. Terminal-backed rows still include retained managed context without duplicating the pane. The terminal resource chain is terminal → verified native session → managed AKK `session_id` → Turns; independent terminal observation records appear in `terminal_watches[]` and are addressed only by `watch_id`. `process_state` reports process liveness. Read `screen_state` as bounded live-TUI evidence, `native_identity_state` as foreground native-session resolution, and `durable_activity_state` as exact artifact-backed task activity. The legacy `activity_state` is a conservative compatibility projection and may remain `unknown` while `screen_state="idle"`; none of these diagnostic fields replaces `available_actions` authority. `managed.current_turn` is the authoritative active Turn for that terminal; otherwise `managed.recent_turn` shows the newest retained context. A human-driven thread mismatch remains `management_state="conflict"`; `handoff_state="external_handoff_adoptable"` authorizes only the exact fenced `send` advertised on that row, while `external_handoff_blocked` means do not send or guess a recovery. Listing itself never adopts the new context. Request `all=true` only when older `managed.history`, settled Watches, or retained unavailable history is needed; Host results remain paginated, not an unlimited dump. By default, `unavailable_managed_turns[]` contains attention-needed records whose terminal is unavailable.
296
296
 
297
297
  ### Compact controller-Host List projection
298
298