@scotthuang/agent-knock-knock 0.14.15 → 0.14.17
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 +20 -0
- package/CONTRIBUTING.md +43 -0
- package/README.md +6 -6
- package/connectors/deepseek-harness/README.md +41 -17
- package/connectors/pi/README.md +40 -8
- package/dist/src/codex-async-question-adapter.d.ts +1 -1
- package/dist/src/codex-async-question-adapter.js +37 -7
- package/dist/src/codex-async-question-adapter.js.map +1 -1
- package/dist/src/codex-fullscreen-composer-proof.d.ts +2 -0
- package/dist/src/codex-fullscreen-composer-proof.js +9 -2
- package/dist/src/codex-fullscreen-composer-proof.js.map +1 -1
- package/dist/src/codex-lifecycle-compatibility.d.ts +1 -1
- package/dist/src/codex-lifecycle-compatibility.js +5 -3
- package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
- package/dist/src/codex-native-public-projection.d.ts +191 -0
- package/dist/src/codex-native-public-projection.js +7 -0
- package/dist/src/codex-native-public-projection.js.map +1 -1
- package/dist/src/codex-permission-surface.js +3 -3
- package/dist/src/codex-permission-surface.js.map +1 -1
- package/dist/src/codex-terminal-agent-adapter.js +1 -1
- package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
- package/dist/src/conversation-list-presentation.d.ts +8 -0
- package/dist/src/conversation-list-presentation.js +65 -4
- package/dist/src/conversation-list-presentation.js.map +1 -1
- package/dist/src/conversation-list.d.ts +8 -0
- package/dist/src/semantic-tool-command-helpers.js +7 -1
- package/dist/src/semantic-tool-command-helpers.js.map +1 -1
- package/dist/src/semantic-tool-list-projection.js +17 -3
- package/dist/src/semantic-tool-list-projection.js.map +1 -1
- package/dist/src/terminal-model-control-profile.d.ts +2 -1
- package/dist/src/terminal-model-control-profile.js +5 -2
- package/dist/src/terminal-model-control-profile.js.map +1 -1
- package/dist/src/terminal-model-control-surface.js +1 -1
- package/dist/src/terminal-model-control-surface.js.map +1 -1
- package/dist/src/terminal-native-inspection-profile.js +2 -0
- package/dist/src/terminal-native-inspection-profile.js.map +1 -1
- package/dist/src/terminal-native-inspection-proof.js +1 -1
- package/dist/src/terminal-native-inspection-proof.js.map +1 -1
- package/dist/src/terminal-permission-control.js +1 -1
- package/dist/src/terminal-permission-control.js.map +1 -1
- package/dist/src/terminal-questionnaire-adapter.js +6 -3
- package/dist/src/terminal-questionnaire-adapter.js.map +1 -1
- package/docs/codex-0.164.0-compatibility.md +122 -0
- package/docs/codex-cli-native-compatibility.md +4 -0
- package/docs/list-output.md +23 -0
- package/docs/pi-dsh-compatibility.md +59 -4
- package/docs/testing.md +1 -1
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +3 -3
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Codex CLI 0.164.0 compatibility
|
|
2
|
+
|
|
3
|
+
AKK 0.14.17 includes this compatibility update. Publishing the package does not
|
|
4
|
+
upgrade an existing local installation. The reviewed combination is
|
|
5
|
+
macOS Codex CLI **0.164.0** with app-server **0.164.0**. It is a tested
|
|
6
|
+
combination, not a numeric minimum for [direct control](codex-cli-native-compatibility.md).
|
|
7
|
+
|
|
8
|
+
## Terminal changes
|
|
9
|
+
|
|
10
|
+
The real 0.164.0 terminal can show `GPT-6.1-Sol default` in its model footer.
|
|
11
|
+
It can also put the model, directory and warning on one contextual footer row,
|
|
12
|
+
without a separate `? for shortcuts` row. The previous closed composer grammar
|
|
13
|
+
rejected these surfaces, preventing native status or controls even when the
|
|
14
|
+
original session was idle.
|
|
15
|
+
|
|
16
|
+
The adapter recognizes the observed `default` label and the version-specific
|
|
17
|
+
single-row composer layout. The label does **not** prove an effective reasoning
|
|
18
|
+
effort such as `low`. Process, pane, native-thread, styled empty-input, approval,
|
|
19
|
+
busy-state and input-ownership checks remain necessary before terminal input.
|
|
20
|
+
An accepted footer alone does not prove that a task is idle.
|
|
21
|
+
|
|
22
|
+
The centered Full Access confirmation can overlap this footer. Its geometry
|
|
23
|
+
parser now accepts the observed single-column `›`, `»` and `·` background
|
|
24
|
+
glyphs; it still requires the exact styled rectangle, warning and choices.
|
|
25
|
+
|
|
26
|
+
Asynchronous question titles are now rendered as Markdown. The terminal
|
|
27
|
+
adapter accepts only single-line plain titles whose rendering is provably
|
|
28
|
+
unchanged, against the full native question identity. If any candidate contains
|
|
29
|
+
Markdown-sensitive syntax, a character reference or a line break, the expanded
|
|
30
|
+
surface remains ambiguous; it cannot be discarded to select another question.
|
|
31
|
+
Two requests with the same visible title also remain unproven. These terminal
|
|
32
|
+
restrictions do not apply to the backend's structured question response.
|
|
33
|
+
|
|
34
|
+
The status, model, permission and question profiles are reviewed separately.
|
|
35
|
+
Terminal paginated interaction writes add the audited **0.164.0/0.164.0** pair;
|
|
36
|
+
other existing pairs retain their own checks. Unknown or mixed versions do not
|
|
37
|
+
inherit this pair's terminal write authority. Direct-backend controls continue
|
|
38
|
+
to validate live methods and response contracts independently of that table.
|
|
39
|
+
|
|
40
|
+
## Native protocol
|
|
41
|
+
|
|
42
|
+
Official binaries generated 888 experimental TypeScript schema files for
|
|
43
|
+
0.162.1 and 904 for 0.164.0: 24 changed, 16 added and none removed. The 30
|
|
44
|
+
reviewed schemas used by AKK for initialization, native identity, paged history,
|
|
45
|
+
subscription, settings, interactions and responses are byte-identical.
|
|
46
|
+
|
|
47
|
+
`ThreadReadResponse.readState` is additive relative to 0.162.1 and was already
|
|
48
|
+
present in 0.163.0. It records reading position, not task execution, acceptance
|
|
49
|
+
or completion. Regression coverage verifies that an all-read marker or an
|
|
50
|
+
unread marker for another turn cannot change the exact selected task.
|
|
51
|
+
`turn/start` and `turn/steer` add optional `responsesapiClientMetadataPatch`;
|
|
52
|
+
AKK's existing requests remain valid without that field.
|
|
53
|
+
|
|
54
|
+
Upstream now preserves saved settings during resume. AKK's existing loaded
|
|
55
|
+
thread subscription sends only `threadId` and `excludeTurns`, without overriding
|
|
56
|
+
model, sandbox or service tier. No backend parser or request workaround was
|
|
57
|
+
needed for these changes. Schema agreement is separate from live validation.
|
|
58
|
+
|
|
59
|
+
## Verification boundaries
|
|
60
|
+
|
|
61
|
+
Live checks use dedicated CLI processes launched through the existing proxy
|
|
62
|
+
wrapper, private Codex homes and isolated AKK storage. User work sessions,
|
|
63
|
+
Gateway, Desktop and the shared production daemon are not restarted. A local
|
|
64
|
+
callback receipt proves acceptance only at that receiver, not delivery to
|
|
65
|
+
OpenClaw or WeChat.
|
|
66
|
+
|
|
67
|
+
The backend harness uses the production public CLI dispatcher, native runtime,
|
|
68
|
+
Store, response service and callback outbox. It substitutes a local receiver
|
|
69
|
+
and performs reconciliation in the harness process. It does not establish a
|
|
70
|
+
new independent-monitor-process or messaging-channel end-to-end result.
|
|
71
|
+
|
|
72
|
+
| Check | Evidence and result |
|
|
73
|
+
| --- | --- |
|
|
74
|
+
| Installed backend read contract | Read-only initialization and reads succeeded for all 13 loaded threads observed at the time. This is read evidence, not 13 independent task or Send verifications. |
|
|
75
|
+
| Native Send and exact Watch | Two real tasks in one dedicated CLI/backend pair completed through AKK's public CLI dispatcher. The first started with no materialized history. Each produced one local completion receipt. |
|
|
76
|
+
| Public progress and task isolation | Captured public commentary and a bounded tool-status summary while active. The old Watch kept its original turn when the next task started. |
|
|
77
|
+
| Monitoring and idempotency | Actual default deadline was 720 minutes. Repeated Send kept the original receipt and native turn; observer reconnection and repeated reads did not duplicate completion notifications. |
|
|
78
|
+
| Native permission settings | Public permission options and Default/Read Only round trips confirmed effective settings. The isolated launch initially had custom read-only settings without a profile ID; the check established the explicit Read Only profile and left it restrictive before cleanup. It did not claim byte-identical restoration of that private initial setting. |
|
|
79
|
+
| Native command approval | A real pending approval was matched to its exact thread, turn and fixture command. Public approve-once caused exactly one file append and one completion receipt; repeating the same response did not execute it again. |
|
|
80
|
+
| Native blocking question | A dedicated native Plan-mode turn produced one real single-choice request. AKK's public Watch, Status and Respond operations selected the exact opaque question/option IDs; the final answer confirmed the selection and one local completion receipt. Repeating the response retained one dispatch. Native setup is not evidence of an AKK Plan-mode setter. |
|
|
81
|
+
| Terminal status/model/permissions | Exercised the real native menus in a separate private CLI, including session-only High effort and Full Access followed by restoration to Read Only. The built AKK parsers accepted the saved exact status, styled popups, model/effort menus and permission confirmation; they rejected the history viewer. This is native UI exercise plus production-parser replay, **not** a full AKK terminal transaction end-to-end result. |
|
|
82
|
+
| Development gates | Final `npm run test:fast`: **3,099 passed, zero failures**. `npm run typecheck`, `npm run build`, `npm run validate:architecture`, Skill consistency and `git diff --check` passed. |
|
|
83
|
+
| Cleanup | Both dedicated frontends and their private backend/tmux hosts stopped; copied authentication files and owned sockets removed. Existing user processes and installed AKK were unchanged. |
|
|
84
|
+
|
|
85
|
+
The asynchronous-question rendering change is supported by official source
|
|
86
|
+
review and synthetic regressions, not a new live asynchronous-question run.
|
|
87
|
+
The live approval check covers one command approval; it does not add a new
|
|
88
|
+
file-patch approval or rejection matrix.
|
|
89
|
+
|
|
90
|
+
The formal publication gate runs `npm run test:release` (connector checks, full
|
|
91
|
+
regressions, isolated OpenClaw compatibility and ClawHub validation/dry-run),
|
|
92
|
+
type checking, architecture validation and package-content checks. Its actual
|
|
93
|
+
results are recorded in the release PR, separately from the development and
|
|
94
|
+
live evidence above. No new external-channel delivery is implied by that gate.
|
|
95
|
+
|
|
96
|
+
## Retained limits
|
|
97
|
+
|
|
98
|
+
- CLI native new/clear/resume lifecycle controls remain unavailable for these
|
|
99
|
+
paginated versions. Discovering a loaded thread is not permission to cold-load
|
|
100
|
+
another process or substitute a conversation.
|
|
101
|
+
- Direct CLI model changes and cancellation still require an eligible terminal
|
|
102
|
+
route; a version profile does not add backend methods to AKK.
|
|
103
|
+
- When the terminal reports only `default` effort, AKK cannot prove the current
|
|
104
|
+
effective effort from that footer. Model catalog/control can still reject
|
|
105
|
+
this ambiguous state. The adapter does not silently turn `default` into `low`.
|
|
106
|
+
- Public progress keeps its 800-code-point, redacted, grapheme-safe budget and
|
|
107
|
+
exact turn. Read receipts, idle state and partial answers are not completion
|
|
108
|
+
authority.
|
|
109
|
+
- Monitoring retains the shared 720-minute hard deadline, managed-terminal
|
|
110
|
+
60-minute inactivity window, immutable existing deadlines and notification
|
|
111
|
+
deduplication. Replaying Send returns its original receipt; use Status for
|
|
112
|
+
current acceptance and completion evidence.
|
|
113
|
+
- No new Desktop, Linux or Windows live compatibility claim is made. Previously
|
|
114
|
+
supported CLI versions are retained through regression and source evidence,
|
|
115
|
+
not new old-version live sessions.
|
|
116
|
+
|
|
117
|
+
## Sources
|
|
118
|
+
|
|
119
|
+
- [Official 0.164.0 release](https://github.com/openai/codex/releases/tag/rust-v0.164.0), published 2026-10-23.
|
|
120
|
+
- [Official app-server protocol](https://learn.chatgpt.com/docs/app-server#protocol).
|
|
121
|
+
- [Saved settings during resume](https://github.com/openai/codex/pull/55923).
|
|
122
|
+
- [Earlier 0.162.1 operation matrix](codex-0.162.1-compatibility.md#verification-record).
|
|
@@ -98,6 +98,9 @@ and terminal records needing attention or management recovery remain visible.
|
|
|
98
98
|
Direct-only and terminal-only CLIs remain listed. `terminalDebug: true` /
|
|
99
99
|
`list --terminal-debug` expands all connections. Raw CLI discovery arrays also
|
|
100
100
|
remain available for diagnosis.
|
|
101
|
+
AKK `0.14.16` adds display-only folding of unstarted, unnamed
|
|
102
|
+
candidates beside an established conversation. Exact-ID first Send remains
|
|
103
|
+
available; see [candidate selection and its frontend-identity limits](list-output.md#conversation-selection).
|
|
101
104
|
|
|
102
105
|
Actual routing association still requires the exact current thread, verified
|
|
103
106
|
Codex home and physical process incarnation. A configured home, matching cwd,
|
|
@@ -199,6 +202,7 @@ permit automatic replay of `sent` or `uncertain` responses.
|
|
|
199
202
|
| Live-tested combination, 2026-10-09 | **macOS: Codex CLI 0.160.0 + shared app-server 0.162.0**; production-adapter operations and limits are recorded below. |
|
|
200
203
|
| Additional targeted live proof, 2026-10-10 | **macOS: Codex CLI 0.162.1 + shared app-server 0.162.1**. Verified public Status progress while a task was in progress through the running OpenClaw plugin, an actual 720-minute Send deadline, one isolated local completion acknowledgement, and repeated Send retaining the original task/deadline. No new WeChat delivery or full native-operation matrix is claimed. |
|
|
201
204
|
| 0.14.2 compatibility review, 2026-10-10 | **macOS: Codex CLI 0.162.1 + shared app-server 0.162.1**. Expanded dedicated-session validation, native UI fixes and retained limits are recorded in the [operation matrix](codex-0.162.1-compatibility.md#verification-record). |
|
|
205
|
+
| 0.14.17 review, 2026-10-23 | **macOS: Codex CLI 0.164.0 + app-server 0.164.0**. Dedicated native-task checks and version-specific terminal changes are recorded in the [0.164.0 review](codex-0.164.0-compatibility.md). The release includes the corresponding terminal adaptation. |
|
|
202
206
|
| Runtime admission | A loaded main CLI thread, the selected local Codex home, valid stable `x.y.z` backend metadata, and the required live protocol shapes/methods. There is **no established numeric minimum** or exact version allowlist for direct control. |
|
|
203
207
|
| Platform evidence | The live proof was on macOS. It does not establish a Linux/Windows direct-control validation matrix. |
|
|
204
208
|
|
package/docs/list-output.md
CHANGED
|
@@ -22,6 +22,29 @@ display grouping alone does not copy terminal permissions or redirect selectors.
|
|
|
22
22
|
Multiple candidates, conflicts and terminals needing management recovery remain
|
|
23
23
|
visible. Rows and connections are not a count of independent tasks.
|
|
24
24
|
|
|
25
|
+
Starting in AKK `0.14.16`, default List also folds unnamed, unstarted Codex
|
|
26
|
+
candidates when there is exactly one established conversation in the same Codex
|
|
27
|
+
home and project, no conflicting identity, and no evidence of multiple physical
|
|
28
|
+
terminals. This uses an explicitly unmaterialized native history, not an empty
|
|
29
|
+
title or an unavailable read alone. Named threads, sole new sessions, exact
|
|
30
|
+
terminal aliases, active/blocked resources and multiple established threads
|
|
31
|
+
remain visible. An omitted candidate remains in the raw native discovery array
|
|
32
|
+
and `terminalDebug: true` / `list --terminal-debug`, with its original ID and
|
|
33
|
+
first-Send capability. The default view reports `unstarted_candidates_omitted`
|
|
34
|
+
and a diagnostic query. Starting its first task restores ordinary presentation
|
|
35
|
+
on the next List; nothing is unloaded, deleted, migrated or redirected.
|
|
36
|
+
|
|
37
|
+
This is display folding, **not proof of an abandoned or duplicate thread**.
|
|
38
|
+
The native loaded-list API does not expose which frontend is currently attached;
|
|
39
|
+
`startup-thread-start` also creates legitimate new sessions. Consequently, a
|
|
40
|
+
second unnamed empty frontend in the same project may require the diagnostic
|
|
41
|
+
view when no exact frontend identity is available. Empty candidates without an
|
|
42
|
+
exact terminal alias report backend reachability and unverified frontend presence,
|
|
43
|
+
rather than claiming a separate confirmed online CLI. Counts are not task counts.
|
|
44
|
+
List still does not scan persisted Watches: an uncertain first Send may have no
|
|
45
|
+
native task history yet and can remain folded. Inspect its original Watch or
|
|
46
|
+
`watches`; folding never proves that a request was not submitted or permits a retry.
|
|
47
|
+
|
|
25
48
|
Host List uses `agent-knock-knock/host-list-compact` v4. Follow
|
|
26
49
|
`pagination.next_args` while `has_more` is true. `listLimit` defaults to 40 and
|
|
27
50
|
accepts 1–100. Pages are fresh discoveries, not a frozen snapshot; restart if
|
|
@@ -1,10 +1,65 @@
|
|
|
1
1
|
# Pi and DeepSeek Harness connector compatibility
|
|
2
2
|
|
|
3
3
|
These are independently versioned controller connectors. Installing an AKK
|
|
4
|
-
core/OpenClaw release does not update an already installed connector.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
core/OpenClaw release does not update an already installed connector. Select
|
|
5
|
+
npm `next` or the exact connector version below; their `latest` tags remain
|
|
6
|
+
unchanged. Neither connector update requires a new core release.
|
|
7
|
+
|
|
8
|
+
## Core 0.14.16 alignment — 2026-10-23
|
|
9
|
+
|
|
10
|
+
| Connector | Release (`next`) | Exact core dependency | Host scope |
|
|
11
|
+
| --- | --- | --- | --- |
|
|
12
|
+
| Pi | `0.1.0-poc.5` | `0.14.16` | Pi `1.2.0` and `0.84.4` |
|
|
13
|
+
| DeepSeek Harness | `0.1.0-rc.8` | `0.14.16` | Existing reviewed DSH/Cordis sets, including `0.2.1-rc.2` / `4.0.5` |
|
|
14
|
+
|
|
15
|
+
Both connectors inherit the bounded List candidate-folding fix and unchanged
|
|
16
|
+
exact Send/Watch identity rules. Core and both connectors now form one release
|
|
17
|
+
set; see [the release procedure](../CONTRIBUTING.md). The connectors remain
|
|
18
|
+
prereleases on `next`: installing without that tag may select an older `latest`.
|
|
19
|
+
Upgrading a standalone core does not change a connector's installed dependency.
|
|
20
|
+
This alignment adds no new Host compatibility claim or tclaude preview support.
|
|
21
|
+
|
|
22
|
+
## Core 0.14.15 alignment — 2026-10-21
|
|
23
|
+
|
|
24
|
+
| Connector | Version on `next` | Exact core dependency | Retained Host boundary |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
| Pi | `0.1.0-poc.4` | `0.14.15` | Pi `1.2.0` and `0.84.4` |
|
|
27
|
+
| DeepSeek Harness | `0.1.0-rc.7` | `0.14.15` | DSH `0.2.1-rc.2` / Cordis `4.0.5`; earlier reviewed RC/alpha/legacy sets below |
|
|
28
|
+
|
|
29
|
+
This update aligns manifests, lockfiles, runtime version constants and
|
|
30
|
+
regression checks with the published core. Both connectors dynamically
|
|
31
|
+
register all **27 tools**, including `agent_knock_knock_watches`, and verify
|
|
32
|
+
the bundled canonical Skill against the actual runtime capability handshake.
|
|
33
|
+
The HostAdapter and handshake APIs remain compatible; this update does not
|
|
34
|
+
broaden the supported Host versions or change callback admission policy.
|
|
35
|
+
|
|
36
|
+
`/akk list` now returns discoverable conversations only. Use `/akk watches`
|
|
37
|
+
for the separate, paginated observation inventory (recent 24 hours by default;
|
|
38
|
+
older active or unresolved records remain visible). The core's lifecycle
|
|
39
|
+
maintenance removes eligible healthy completed observations after 48 hours,
|
|
40
|
+
while preserving unresolved records and deduplication receipts. Existing
|
|
41
|
+
absolute deadlines, Store locations and callback routes are not migrated.
|
|
42
|
+
The DSH-specific Store and Pi's existing Store configuration remain in effect.
|
|
43
|
+
Core `0.14.13` introduced Store writer protocol 10; an older writer cannot
|
|
44
|
+
continue writing that Store after activation. A downgrade requires a coherent
|
|
45
|
+
backup or a compatible writer, rather than only changing the connector version.
|
|
46
|
+
|
|
47
|
+
Validation uses the actual pinned core and real Host SDK dependencies in
|
|
48
|
+
isolated installations: typecheck, connector fast tests (Pi 30; DSH 40),
|
|
49
|
+
package/Skill parity, 27-tool registration and List/Watches command/schema
|
|
50
|
+
checks. Pi `1.2.0` also passed an isolated real RPC startup and `/akk`
|
|
51
|
+
registration check without a model task. Publication
|
|
52
|
+
repeats each connector's own release gate on clean synchronized `main`, followed
|
|
53
|
+
by a clean install of the public artifacts. The checks do not send tasks to
|
|
54
|
+
business sessions or external chat channels. Full live task/model-consumption
|
|
55
|
+
results below are dated historical evidence, not repeated claims for this
|
|
56
|
+
core-only update. Daily Host installations are not upgraded by publication.
|
|
57
|
+
|
|
58
|
+
## Historical verification
|
|
59
|
+
|
|
60
|
+
The following dated records describe the Host compatibility work behind the
|
|
61
|
+
retained support boundary. Their connector/core versions and test counts are
|
|
62
|
+
kept as recorded at the time.
|
|
8
63
|
|
|
9
64
|
## DSH 0.2.1-rc.2 compatibility — 2026-10-17
|
|
10
65
|
|
package/docs/testing.md
CHANGED
|
@@ -27,7 +27,7 @@ synchronization have explicit non-regression budgets. See
|
|
|
27
27
|
| `npm run test:affected` | Complete fast tier plus mapped integration tests; unknown or shared-core changes run the full tier | Maintainer/release diagnostics only; not an ordinary development command |
|
|
28
28
|
| `npm run test:full` | The exact union of fast and integration tests | Immediate pre-publication gate for an actual npm or ClawHub release |
|
|
29
29
|
| `npm test` | Compatibility alias for `test:full` | Same release-only boundary as `test:full` |
|
|
30
|
-
| `npm run test:release` |
|
|
30
|
+
| `npm run test:release` | Coordinated core/Pi/DSH version preflight and connector gates, full suite, isolated current-build OpenClaw compatibility check, ClawHub runtime validation, and ClawHub publish dry-run | Immediate pre-publication gate for an actual npm or ClawHub release |
|
|
31
31
|
| `npm run test:release:live` | The release tier plus credentialed native Codex and Claude lifecycle smoke/attestation | Optional release-time diagnostic with dedicated prepared tmux panes |
|
|
32
32
|
| `npm run compat:openclaw` | Full minimum/current/API-boundary OpenClaw compatibility matrix | Periodic maintainer check and any change to declared compatibility floors; not required for every package release |
|
|
33
33
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scotthuang/agent-knock-knock",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.17",
|
|
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",
|
|
@@ -23,7 +23,7 @@ Keep the user's requested scope and approval boundaries. Do not expand a task, a
|
|
|
23
23
|
|
|
24
24
|
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.
|
|
25
25
|
|
|
26
|
-
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.
|
|
26
|
+
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. Unnamed, unstarted Codex candidates beside an established same-project conversation may be folded for display; `conversation_presentation.unstarted_candidates_omitted` reports their count and `diagnostic_query` expands them. This does not prove abandonment or an exact alias. If the requested new empty session is missing, use that query and its original exact ID; never substitute the established conversation. Sole or exactly associated new sessions remain visible, and a first task restores ordinary display.
|
|
27
27
|
|
|
28
28
|
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.
|
|
29
29
|
|
|
@@ -204,7 +204,7 @@ success; never retry an uncertain repair automatically.
|
|
|
204
204
|
For native status inspection:
|
|
205
205
|
|
|
206
206
|
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.
|
|
207
|
-
2. Regression-tested profiles are Codex 0.146.0/0.146.1/0.147.0/0.148.0/0.149.1/0.150.1/0.151.0/0.153.0/0.153.4/0.154.0/0.155.1/0.158.0/0.159.0/0.159.2/0.159.3/0.160.0/0.162.1 and Claude Code 2.1.218/2.1.226/2.1.237/2.1.251/2.1.259/2.1.263/2.1.266/2.1.267/2.1.285 `inspection="status"`. Other complete `x.y.z` versions remain callable through the generic runtime profile and add a compatibility warning; actual incompatible UI or schema evidence fails at runtime and is not automatically retried. Claude success includes parsing and safely dismissing the newly opened Status panel. The inspection tool does not accept `/status` text or any arbitrary command string. `/usage`, `/cost`, `/stats`, `/usage-credits`, raw `/model`, `/compact`, and arbitrary slash commands remain unavailable; model changes use only the typed model-control tools above. Never automate bare Codex `/usage`: it opens an interactive menu whose later Enter can select an account-side usage-limit reset.
|
|
207
|
+
2. Regression-tested profiles are Codex 0.146.0/0.146.1/0.147.0/0.148.0/0.149.1/0.150.1/0.151.0/0.153.0/0.153.4/0.154.0/0.155.1/0.158.0/0.159.0/0.159.2/0.159.3/0.160.0/0.162.1/0.164.0 and Claude Code 2.1.218/2.1.226/2.1.237/2.1.251/2.1.259/2.1.263/2.1.266/2.1.267/2.1.285 `inspection="status"`. Other complete `x.y.z` versions remain callable through the generic runtime profile and add a compatibility warning; actual incompatible UI or schema evidence fails at runtime and is not automatically retried. Claude success includes parsing and safely dismissing the newly opened Status panel. The inspection tool does not accept `/status` text or any arbitrary command string. `/usage`, `/cost`, `/stats`, `/usage-credits`, raw `/model`, `/compact`, and arbitrary slash commands remain unavailable; model changes use only the typed model-control tools above. Never automate bare Codex `/usage`: it opens an interactive menu whose later Enter can select an account-side usage-limit reset.
|
|
208
208
|
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.
|
|
209
209
|
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. Legacy terminal-scoped ordinary tasks may send once and bind from exact native acceptance afterward without running `/status` or failing merely because the pane is narrow. Codex paginated read-contract candidates attempt their separate closed `/status` binding before physical Send. If an exact callback Watch cannot be prepared safely, AKK may prepare terminal-activity observation; report the receipt's actual callback mode and limitation.
|
|
210
210
|
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.
|
|
@@ -314,7 +314,7 @@ Action-name glossary:
|
|
|
314
314
|
|
|
315
315
|
- `status`: inspect one terminal, Turn, or Watch; it sends no native slash command.
|
|
316
316
|
- `send`: deliver a new request, or perform the separately advertised immutable `retry_submission` form.
|
|
317
|
-
- `watch` / `unwatch`: create or stop durable terminal observation; Codex 0.158.0/0.159.0/0.159.2/0.159.3/0.160.0/0.162.1 exact creation performs the closed `/status` transaction, while subsequent observation is read-only.
|
|
317
|
+
- `watch` / `unwatch`: create or stop durable terminal observation; Codex 0.158.0/0.159.0/0.159.2/0.159.3/0.160.0/0.162.1/0.164.0 exact creation performs the closed `/status` transaction, while subsequent observation is read-only.
|
|
318
318
|
- `list_resumable_threads`, `new_thread`, and `resume_thread`: inspect or change native thread context through their closed lifecycle protocols.
|
|
319
319
|
- `native_inspect`: run only an advertised closed native inspection such as `status`.
|
|
320
320
|
- `model_options`, `repair_model_control`, and `set_model`: discover the current native catalog, clear only a proven model-control residue, or consume one catalog offer.
|