@scotthuang/agent-knock-knock 0.12.1 → 0.12.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 +28 -0
- package/README.md +12 -9
- package/dist/src/cli-core.js +1726 -79
- package/dist/src/cli-core.js.map +1 -1
- package/dist/src/managed-session.d.ts +30 -2
- package/dist/src/managed-session.js +70 -6
- package/dist/src/managed-session.js.map +1 -1
- package/dist/src/openclaw-plugin.js +60 -11
- package/dist/src/openclaw-plugin.js.map +1 -1
- package/dist/src/session-store.d.ts +1 -0
- package/dist/src/session-store.js +32 -4
- package/dist/src/session-store.js.map +1 -1
- package/dist/src/terminal-agent-bridge.d.ts +21 -3
- package/dist/src/terminal-agent-bridge.js +80 -21
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +12 -11
|
@@ -233,13 +233,15 @@ export class TerminalAgentBridge {
|
|
|
233
233
|
async send(agent, terminalControl, text, options = {}) {
|
|
234
234
|
const adapter = this.registry.require(agent);
|
|
235
235
|
const multiline = /[\r\n]/u.test(text.trimEnd());
|
|
236
|
+
const requireExactComposer = (adapter.agent === "codex" && multiline) ||
|
|
237
|
+
options.requireExactComposerBeforeEnter === true;
|
|
236
238
|
try {
|
|
237
239
|
assertTerminalMutationCapabilities({
|
|
238
240
|
provider: this.terminalProvider,
|
|
239
241
|
terminal: this.terminalProvider.endpoint(terminalControl),
|
|
240
242
|
semantic: [
|
|
241
243
|
"send_keys",
|
|
242
|
-
...(
|
|
244
|
+
...(requireExactComposer
|
|
243
245
|
? ["screen_status"]
|
|
244
246
|
: [])
|
|
245
247
|
],
|
|
@@ -247,7 +249,7 @@ export class TerminalAgentBridge {
|
|
|
247
249
|
"stable_resource_resolution",
|
|
248
250
|
"text_delivery",
|
|
249
251
|
"key_delivery",
|
|
250
|
-
...(
|
|
252
|
+
...(requireExactComposer
|
|
251
253
|
? ["screen_capture"]
|
|
252
254
|
: [])
|
|
253
255
|
]
|
|
@@ -267,10 +269,21 @@ export class TerminalAgentBridge {
|
|
|
267
269
|
catch (error) {
|
|
268
270
|
throw new TerminalInputNotStartedError(error instanceof Error ? error.message : String(error), { cause: error });
|
|
269
271
|
}
|
|
272
|
+
if (!verifiedForText.capabilities.includes("send_keys")) {
|
|
273
|
+
throw new TerminalInputNotStartedError(`${adapter.displayName} terminal input capability changed before injection`);
|
|
274
|
+
}
|
|
275
|
+
try {
|
|
276
|
+
await options.beforeText?.({
|
|
277
|
+
agent: adapter.agent,
|
|
278
|
+
terminalControl: verifiedForText,
|
|
279
|
+
multiline,
|
|
280
|
+
text: normalized
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
throw new TerminalInputNotStartedError(error instanceof Error ? error.message : String(error), { cause: error });
|
|
285
|
+
}
|
|
270
286
|
try {
|
|
271
|
-
if (!verifiedForText.capabilities.includes("send_keys")) {
|
|
272
|
-
throw new TerminalControlInputNotSentError(`${adapter.displayName} terminal input capability changed before injection`);
|
|
273
|
-
}
|
|
274
287
|
await this.terminalProvider.sendText(this.terminalProvider.endpoint(verifiedForText), normalized);
|
|
275
288
|
}
|
|
276
289
|
catch (error) {
|
|
@@ -292,9 +305,12 @@ export class TerminalAgentBridge {
|
|
|
292
305
|
// leaves the injected draft untouched because cleanup is also terminal
|
|
293
306
|
// input and cannot safely use a stale route.
|
|
294
307
|
let verifiedForEnter;
|
|
295
|
-
if (adapter.agent === "codex" &&
|
|
308
|
+
if (adapter.agent === "codex" && requireExactComposer) {
|
|
296
309
|
verifiedForEnter = await this.settleCodexMultilineComposer(adapter, terminalControl, normalized, options.runtime);
|
|
297
310
|
}
|
|
311
|
+
else if (requireExactComposer) {
|
|
312
|
+
verifiedForEnter = await this.verifyExactComposerBeforeEnter(adapter, terminalControl, normalized, options.runtime);
|
|
313
|
+
}
|
|
298
314
|
else {
|
|
299
315
|
try {
|
|
300
316
|
verifiedForEnter = await this.verifyTerminalIdentity(adapter.agent, terminalControl, options.runtime);
|
|
@@ -303,6 +319,24 @@ export class TerminalAgentBridge {
|
|
|
303
319
|
throw error;
|
|
304
320
|
}
|
|
305
321
|
}
|
|
322
|
+
await options.beforeEnter?.({
|
|
323
|
+
agent: adapter.agent,
|
|
324
|
+
terminalControl: verifiedForEnter,
|
|
325
|
+
multiline,
|
|
326
|
+
text: normalized
|
|
327
|
+
});
|
|
328
|
+
// `beforeEnter` may await Store and terminal identity fences. The human can
|
|
329
|
+
// still edit the composer or change the native thread while that callback
|
|
330
|
+
// is pending, so its successful return is not authority to press Enter.
|
|
331
|
+
// Recapture the exact draft and process identity at the final boundary.
|
|
332
|
+
if (requireExactComposer) {
|
|
333
|
+
verifiedForEnter = adapter.agent === "codex"
|
|
334
|
+
? await this.settleCodexMultilineComposer(adapter, terminalControl, normalized, options.runtime)
|
|
335
|
+
: await this.verifyExactComposerBeforeEnter(adapter, terminalControl, normalized, options.runtime);
|
|
336
|
+
}
|
|
337
|
+
else if (options.beforeEnter) {
|
|
338
|
+
verifiedForEnter = await this.verifyTerminalIdentity(adapter.agent, terminalControl, options.runtime);
|
|
339
|
+
}
|
|
306
340
|
await this.terminalProvider.sendKeys(this.terminalProvider.endpoint(verifiedForEnter), ["C-m"]);
|
|
307
341
|
await options.onTransportStage?.({
|
|
308
342
|
stage: "enter_dispatched",
|
|
@@ -317,6 +351,23 @@ export class TerminalAgentBridge {
|
|
|
317
351
|
multiline
|
|
318
352
|
};
|
|
319
353
|
}
|
|
354
|
+
async verifyExactComposerBeforeEnter(adapter, terminalControl, expectedText, runtime) {
|
|
355
|
+
const captured = await this.captureInspection(adapter, terminalControl, {
|
|
356
|
+
runtime,
|
|
357
|
+
scrollbackLines: CODEX_MULTILINE_SETTLE_SCROLLBACK_LINES
|
|
358
|
+
});
|
|
359
|
+
const exactComposer = exactTerminalComposerCapture(adapter.agent, captured.screen, expectedText);
|
|
360
|
+
if (captured.inspection.approval.blocked ||
|
|
361
|
+
!["idle", "unknown"].includes(captured.inspection.activity.state) ||
|
|
362
|
+
!exactComposer) {
|
|
363
|
+
throw new Error(`${adapter.displayName} composer was not exact and idle immediately before Enter`);
|
|
364
|
+
}
|
|
365
|
+
const verifiedImmediatelyBeforeEnter = await this.verifyTerminalIdentity(adapter.agent, captured.terminalControl, runtime);
|
|
366
|
+
if (!sameTerminalControlIdentity(captured.terminalControl, verifiedImmediatelyBeforeEnter)) {
|
|
367
|
+
throw new Error("terminal control identity changed after the final exact composer capture");
|
|
368
|
+
}
|
|
369
|
+
return verifiedImmediatelyBeforeEnter;
|
|
370
|
+
}
|
|
320
371
|
/**
|
|
321
372
|
* Submit one closed, adapter-owned native inspection command.
|
|
322
373
|
*
|
|
@@ -1290,7 +1341,7 @@ function exactCodexNativeInspectionComposerCapture(screen, plan) {
|
|
|
1290
1341
|
};
|
|
1291
1342
|
}
|
|
1292
1343
|
function exactClaudeNativeInspectionComposerCapture(screen, plan) {
|
|
1293
|
-
const frame =
|
|
1344
|
+
const frame = exactClaudeComposerFrame(screen);
|
|
1294
1345
|
if (!frame) {
|
|
1295
1346
|
return undefined;
|
|
1296
1347
|
}
|
|
@@ -1358,12 +1409,12 @@ function closedClaudeNativeStatusSuggestionsMatch(observed, expected) {
|
|
|
1358
1409
|
});
|
|
1359
1410
|
}
|
|
1360
1411
|
/**
|
|
1361
|
-
* Prove
|
|
1362
|
-
*
|
|
1363
|
-
*
|
|
1412
|
+
* Prove Claude Code's exact current idle input frame. This is shared by every
|
|
1413
|
+
* automated-input path: a loose or historical `❯` prompt is not authority to
|
|
1414
|
+
* inject text into the terminal.
|
|
1364
1415
|
*/
|
|
1365
|
-
export function
|
|
1366
|
-
const frame =
|
|
1416
|
+
export function isExactClaudeIdleComposer(screen) {
|
|
1417
|
+
const frame = exactClaudeComposerFrame(screen);
|
|
1367
1418
|
if (!frame) {
|
|
1368
1419
|
return false;
|
|
1369
1420
|
}
|
|
@@ -1372,7 +1423,14 @@ export function isExactClaudeNativeInspectionIdleComposer(screen) {
|
|
|
1372
1423
|
(frame.trailing.length === 0 ||
|
|
1373
1424
|
claudeNativeInspectionTrailingIsFooter(frame.trailing)));
|
|
1374
1425
|
}
|
|
1375
|
-
|
|
1426
|
+
/**
|
|
1427
|
+
* Compatibility export retained for callers that adopted the native-status
|
|
1428
|
+
* name before the same exact-frame proof was reused by lifecycle handoff.
|
|
1429
|
+
*/
|
|
1430
|
+
export function isExactClaudeNativeInspectionIdleComposer(screen) {
|
|
1431
|
+
return isExactClaudeIdleComposer(screen);
|
|
1432
|
+
}
|
|
1433
|
+
function exactClaudeComposerFrame(screen) {
|
|
1376
1434
|
const lines = screen.replace(/\r\n?/gu, "\n").replace(/\u00a0/gu, " ")
|
|
1377
1435
|
.split("\n");
|
|
1378
1436
|
const dividerIndexes = lines
|
|
@@ -1420,7 +1478,7 @@ function exactCodexComposerCapture(screen, expectedText) {
|
|
|
1420
1478
|
...region.slice(1).map((line) => line.startsWith(" ") ? line.slice(2) : line)
|
|
1421
1479
|
];
|
|
1422
1480
|
const comparable = composerComparableText(bodyRows.join("\n"));
|
|
1423
|
-
const exactVisibleDraft =
|
|
1481
|
+
const exactVisibleDraft = terminalComposerRowsMatchExpected(bodyRows, expectedComparable);
|
|
1424
1482
|
const exactLargePastePlaceholder = expectedCharacterCount > CODEX_LARGE_PASTE_CHAR_THRESHOLD &&
|
|
1425
1483
|
comparable === largePasteComparable;
|
|
1426
1484
|
if (!exactVisibleDraft && !exactLargePastePlaceholder) {
|
|
@@ -1438,9 +1496,10 @@ function exactCodexComposerCapture(screen, expectedText) {
|
|
|
1438
1496
|
return matches[0];
|
|
1439
1497
|
}
|
|
1440
1498
|
/**
|
|
1441
|
-
*
|
|
1442
|
-
* cannot distinguish a visual wrap from an authored
|
|
1443
|
-
* against the exact text AKK injected instead of
|
|
1499
|
+
* Terminal UIs paint wrapped composer content as independent screen rows, so
|
|
1500
|
+
* a provider capture cannot distinguish a visual wrap from an authored
|
|
1501
|
+
* newline. Align the rows against the exact text AKK injected instead of
|
|
1502
|
+
* joining every row with `\n`.
|
|
1444
1503
|
*
|
|
1445
1504
|
* Only row boundaries are ambiguous: they may consume an authored newline, an
|
|
1446
1505
|
* omitted run of ASCII spaces at a word wrap, or no character at a CJK/token
|
|
@@ -1448,7 +1507,7 @@ function exactCodexComposerCapture(screen, expectedText) {
|
|
|
1448
1507
|
* empty row can only advance through an authored newline (plus terminal-trimmed
|
|
1449
1508
|
* spaces before it), so blank-line structure is preserved.
|
|
1450
1509
|
*/
|
|
1451
|
-
function
|
|
1510
|
+
function terminalComposerRowsMatchExpected(rows, expectedText) {
|
|
1452
1511
|
const expected = composerComparableText(expectedText);
|
|
1453
1512
|
if (rows.length === 0) {
|
|
1454
1513
|
return expected.length === 0;
|
|
@@ -1519,11 +1578,11 @@ function exactClaudeComposerCapture(screen, expectedText) {
|
|
|
1519
1578
|
if (region.length === 0 || !/^\s*❯(?:\s|$)/u.test(region[0])) {
|
|
1520
1579
|
return undefined;
|
|
1521
1580
|
}
|
|
1522
|
-
const
|
|
1581
|
+
const bodyRows = [
|
|
1523
1582
|
region[0].replace(/^\s*❯\s?/u, ""),
|
|
1524
1583
|
...region.slice(1).map((line) => line.startsWith(" ") ? line.slice(2) : line)
|
|
1525
|
-
]
|
|
1526
|
-
if (
|
|
1584
|
+
];
|
|
1585
|
+
if (!terminalComposerRowsMatchExpected(bodyRows, expectedText)) {
|
|
1527
1586
|
return undefined;
|
|
1528
1587
|
}
|
|
1529
1588
|
return {
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scotthuang/agent-knock-knock",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.3",
|
|
4
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",
|
|
@@ -33,7 +33,7 @@ Core slash-command forms:
|
|
|
33
33
|
- `/akk respond <turn-selector>: <answer>`: answer a coding-agent question inside a `waiting_for_openclaw` Turn.
|
|
34
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
|
|
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 action or omit the target and require a unique pane. Never pass a selector as `session_id` or `turn_id`. A send action with `session_id` is session-scoped and must remain pinned to that exact native context. A listed follow-current send is terminal-scoped: preserve its exact full terminal `selector` and fresh `expected_terminal_token` together so AKK can safely absorb a verified, quiescent human thread switch. Never add that token to `session_id`, infer it, copy it to another row, or reuse it after another terminal action. 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. Plugin actions prefill the authoritative arguments for ordinary send and the exact `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
|
|
|
@@ -43,20 +43,21 @@ Natural-language forms:
|
|
|
43
43
|
- `AKK Codex: <task>`: call `agent_knock_knock_send` with `request=<task>` and `selector="codex"`.
|
|
44
44
|
- `AKK Claude: <task>`: call `agent_knock_knock_send` with `request=<task>` and `selector="claude"`.
|
|
45
45
|
- Requests to list AKK or local coding-agent work: call `agent_knock_knock_list`.
|
|
46
|
+
- Requests to continue in the current terminal context after the human may have run `/clear`, `/new`, `/resume`, or an equivalent native operation: first call `agent_knock_knock_list`, then use only that exact terminal row's advertised `send`. Preserve its full `selector` and `expected_terminal_token`, add the user's text as `request`, and do not substitute the stale `session_id`.
|
|
46
47
|
- Requests for the coding agent's native Codex status card or Claude Status panel: first call `agent_knock_knock_list`, then call `agent_knock_knock_native_inspect` only when the exact terminal row advertises `native_inspect`. Preserve its complete `terminal_id`, `inspection="status"`, and `expected_binding_token`; do not substitute AKK Turn status or ordinary send.
|
|
47
48
|
- Requests to list resumable native threads for an exact terminal: call `agent_knock_knock_list_resumable_threads` with the terminal row's prefilled `terminal_id`.
|
|
48
49
|
- Explicit requests to start a new thread or clear context: call `agent_knock_knock_new_thread` only from an advertised `new_thread` action, preserving its exact `terminal_id` and `expected_binding_token`.
|
|
49
|
-
- Explicit requests
|
|
50
|
+
- Explicit requests for low-level recovery of a listed binding conflict: call `agent_knock_knock_reconcile_binding` only from that terminal row's advertised `reconcile_binding` action, preserving its exact terminal, Session revision, binding token, and terminal token. This detaches the stale/conflicting binding without adopting the live thread; refresh the list before any later control. Do not use it in place of an advertised terminal-scoped `send` when the user simply wants to continue in the human-selected current context.
|
|
50
51
|
- Explicit requests to resume prior native context: first call `agent_knock_knock_list_resumable_threads`; then call `agent_knock_knock_resume_thread` with the same exact `terminal_id`, the complete UUID and opaque `candidate_token` from one `resumable=true` row, and the `expected_binding_token` from that same result. For “previous” / “刚才那个”, proceed only when that fresh result contains `previous.available_actions.resume_thread`, and use that exact action; never substitute the newest row.
|
|
51
52
|
- Requests to inspect current output or ask what a task is doing: call `agent_knock_knock_status`.
|
|
52
|
-
- A later request for an existing listed AKK session: call `agent_knock_knock_send` with its authoritative `session_id` and `request=<message>`; this creates a new Turn in
|
|
53
|
-
- Requests to continue the current
|
|
53
|
+
- A later request for an existing listed AKK session: call `agent_knock_knock_send` with its authoritative `session_id` and `request=<message>`; this creates a new Turn in that exact native context and never follows a different thread now visible in its pane.
|
|
54
|
+
- Requests to continue the current terminal context are ordinary terminal-scoped sends, not lifecycle actions. Use only a freshly advertised action carrying the exact terminal selector and token when a human-driven switch is present.
|
|
54
55
|
- An answer to a coding-agent question in a `waiting_for_openclaw` Turn: call `agent_knock_knock_respond` with its authoritative `turn_id` and `request=<answer>`.
|
|
55
56
|
- Requests to stop current work: call `agent_knock_knock_cancel`.
|
|
56
57
|
|
|
57
58
|
## Sessions and Turns
|
|
58
59
|
|
|
59
|
-
AKK's identity hierarchy is terminal → native Codex or Claude Code session → AKK session → Turns.
|
|
60
|
+
AKK's identity hierarchy is terminal → native Codex or Claude Code session → AKK session → Turns. A `session_id` is the strict ordinary-send target for one exact native context. A terminal-scoped follow-current action is deliberately different: its exact `selector` plus `expected_terminal_token` lets the user hand the pane's currently verified context back to AKK after a safe human-driven switch. Each accepted send creates a distinct `turn_id` without clearing the native agent context. A `turn_id` is only for history, callbacks, respond, status, approval, cancellation, renewal, callback retry, and close.
|
|
60
61
|
|
|
61
62
|
Use `agent_knock_knock_send` with `request` and neither `session_id` nor `selector` only when the target is unspecified. AKK must resolve exactly one eligible Codex or Claude Code pane across all workspaces, attach or discover its AKK session, and verify that it is idle immediately before writing the request. If no eligible pane exists, report AKK's setup guidance; do not substitute another execution path.
|
|
62
63
|
|
|
@@ -65,9 +66,9 @@ For ordinary send or an in-flight answer:
|
|
|
65
66
|
1. Reuse an AKK session only when the user's reference uniquely identifies its verified native session and terminal incarnation.
|
|
66
67
|
2. If no ID is supplied and more than one eligible pane may exist, call `agent_knock_knock_list`.
|
|
67
68
|
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
|
-
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
|
|
69
|
-
5. For an existing managed Session, use `send` with its prefilled `session_id`; it creates a new Turn.
|
|
70
|
-
6. If multiple terminals match, show their `short_ref`, agent, provider, and terminal target, then ask the user to choose.
|
|
69
|
+
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 v8 `action_contracts` for optional fields. The sole additional action source is a terminal row's `handoff_decision.choices.take_over_current.action`: use it only after explicit user confirmation, preserve the complete action unchanged, and refresh the list immediately afterward.
|
|
70
|
+
5. For an existing managed Session, use `send` with its prefilled `session_id`; it creates a new Turn strictly in that Session's native context. If the selected row instead advertises a follow-current `send`, preserve its full terminal `selector` and `expected_terminal_token` exactly and add the text as `request`; this action may adopt a safe human-driven handoff before creating the Turn. Legacy first attach may 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 or token. Use `respond` with its prefilled `turn_id` only when that Turn is explicitly `waiting_for_openclaw`; the answer stays in the same Turn. Do not add timeout fields for ordinary use; `timeoutSeconds` is unsupported.
|
|
71
|
+
6. If multiple terminals match, show their `short_ref`, agent, provider, and terminal target, then ask the user to choose. If a human switch has an unresolved Turn, ambiguous ownership, or unverifiable identity and no follow-current send is advertised, report that blocker and ask the user which context to resolve; never guess, supersede active work, or bypass the fence.
|
|
71
72
|
|
|
72
73
|
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
74
|
|
|
@@ -134,7 +135,7 @@ Use `agent_knock_knock_renew` only when AKK marked the same live terminal Turn `
|
|
|
134
135
|
|
|
135
136
|
Use `agent_knock_knock_retry_callback` only for a `callback_failed` managed turn, for example `/akk retry-callback @a1b2c3d4`.
|
|
136
137
|
|
|
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
|
+
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. If a verified human native-thread switch conflicts with one active Turn, do not redirect or close it automatically. Present `handoff_decision` to the user. Only after the user chooses takeover may you invoke the complete nested `take_over_current.action`, including its exact `turn_id`, `reason="superseded_by_human_context_switch"`, and `expected_handoff_token`. This snapshot-bound close sends no terminal input. Refresh `agent_knock_knock_list` afterward and use only its new follow-current send. If the user keeps the source Turn, make no AKK mutation; ask them to restore its native thread in the TUI and then refresh. Closing a managed record does not close the coding agent or terminal pane.
|
|
138
139
|
|
|
139
140
|
Use `/akk doctor` only for installation checks or troubleshooting.
|
|
140
141
|
|
|
@@ -161,9 +162,9 @@ A trusted, default-disabled plugin `autoApprove` policy may independently approv
|
|
|
161
162
|
|
|
162
163
|
## Terminal Sessions
|
|
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
|
+
`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. 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` or retained unavailable history is needed. By default, `unavailable_managed_turns[]` contains attention-needed records whose terminal is unavailable.
|
|
165
166
|
|
|
166
|
-
The top-level
|
|
167
|
+
The top-level v8 `action_contracts` summarizes each tool's managed target and its narrow compatibility inputs; `available_actions` is the authoritative current-action source after listing except for the explicitly modeled, nested `handoff_decision.choices.take_over_current.action`. That decision action is authoritative only after explicit user confirmation, is snapshot-bound, and must be followed by a fresh list. An existing managed Session's strict `send` targets `session_id` and starts a new managed Turn without following a replacement context in the pane. An adoptable human handoff instead advertises `send` with the exact terminal `selector` and fresh `expected_terminal_token`; preserving both expresses terminal-scoped follow-current intent and allows adoption only inside that fenced send. Legacy first attach may still use a discovery selector explicitly named by the user or the exact selector prefilled by an unmanaged raw-terminal row; no selector may 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 remains available as low-level recovery for one safely detachable exact binding; 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
168
|
|
|
168
169
|
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
170
|
|