@scotthuang/agent-knock-knock 0.12.5 → 0.12.7
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 +38 -0
- package/README.md +14 -10
- package/dist/src/agent-session-provider.d.ts +34 -0
- package/dist/src/cli-core.js +3154 -821
- package/dist/src/cli-core.js.map +1 -1
- package/dist/src/codex-local-session-provider.d.ts +3 -1
- package/dist/src/codex-local-session-provider.js +6 -0
- package/dist/src/codex-local-session-provider.js.map +1 -1
- package/dist/src/codex-store-adapter.d.ts +18 -1
- package/dist/src/codex-store-adapter.js +135 -16
- package/dist/src/codex-store-adapter.js.map +1 -1
- package/dist/src/deferred-foreground-transfer.d.ts +22 -4
- package/dist/src/deferred-foreground-transfer.js +106 -5
- package/dist/src/deferred-foreground-transfer.js.map +1 -1
- package/dist/src/openclaw-plugin.js +22 -4
- package/dist/src/openclaw-plugin.js.map +1 -1
- package/dist/src/store.d.ts +1 -1
- package/dist/src/store.js +96 -6
- package/dist/src/store.js.map +1 -1
- package/dist/src/terminal-submission-acceptance.d.ts +51 -1
- package/dist/src/terminal-submission-acceptance.js +361 -71
- package/dist/src/terminal-submission-acceptance.js.map +1 -1
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +8 -8
|
@@ -5,7 +5,8 @@ import { assertManagedSessionId, assertManagedSessionState, isExactNativeThreadI
|
|
|
5
5
|
import { terminalEndpointIdentityFromEvidence } from "./terminal-control-ref.js";
|
|
6
6
|
import { assertStoreReadable, ensureDir, STORE_DEFERRED_FOREGROUND_TRANSFERS_DIRECTORY, withStoreWriterLease } from "./store.js";
|
|
7
7
|
export const DEFERRED_FOREGROUND_TRANSFER_SCHEMA = "agent-knock-knock/deferred-foreground-transfer";
|
|
8
|
-
export const DEFERRED_FOREGROUND_TRANSFER_VERSION =
|
|
8
|
+
export const DEFERRED_FOREGROUND_TRANSFER_VERSION = 2;
|
|
9
|
+
export const DEFERRED_FOREGROUND_TRANSFER_LEGACY_VERSION = 1;
|
|
9
10
|
const TRANSFER_STATE_FILE = "state.json";
|
|
10
11
|
const PRIVATE_FILE_MODE = 0o600;
|
|
11
12
|
const NO_FOLLOW_FLAG = typeof fs.constants.O_NOFOLLOW === "number"
|
|
@@ -62,6 +63,10 @@ export function assertDeferredForegroundTransfer(value, expectedTransferId, opti
|
|
|
62
63
|
"source_binding_token",
|
|
63
64
|
"source_previous_last_transition_id",
|
|
64
65
|
"source_before_binding",
|
|
66
|
+
"source_kind",
|
|
67
|
+
"source_turn_history",
|
|
68
|
+
"source_rollout_authority",
|
|
69
|
+
"source_abandonment_fingerprint",
|
|
65
70
|
"target_session_id",
|
|
66
71
|
"target_expected_revision",
|
|
67
72
|
"previous_dispatch_status",
|
|
@@ -119,7 +124,10 @@ export function assertDeferredForegroundTransfer(value, expectedTransferId, opti
|
|
|
119
124
|
"do_not_retry"
|
|
120
125
|
], "deferred foreground transfer");
|
|
121
126
|
if (value.schema !== DEFERRED_FOREGROUND_TRANSFER_SCHEMA ||
|
|
122
|
-
|
|
127
|
+
![
|
|
128
|
+
DEFERRED_FOREGROUND_TRANSFER_LEGACY_VERSION,
|
|
129
|
+
DEFERRED_FOREGROUND_TRANSFER_VERSION
|
|
130
|
+
].includes(value.version)) {
|
|
123
131
|
throw new Error("deferred foreground transfer has an unsupported schema or version");
|
|
124
132
|
}
|
|
125
133
|
assertRecordId(value.transfer_id, "deferred foreground transfer id");
|
|
@@ -156,6 +164,79 @@ export function assertDeferredForegroundTransfer(value, expectedTransferId, opti
|
|
|
156
164
|
assertSha256(value.source_binding_token, "deferred transfer source binding token");
|
|
157
165
|
assertOptionalNonEmptyString(value.source_previous_last_transition_id, "deferred transfer source previous transition");
|
|
158
166
|
assertBinding(value.source_before_binding, "deferred transfer source binding");
|
|
167
|
+
const sourceKind = value.version === DEFERRED_FOREGROUND_TRANSFER_LEGACY_VERSION
|
|
168
|
+
? "status_card_only"
|
|
169
|
+
: value.source_kind;
|
|
170
|
+
if (value.version === DEFERRED_FOREGROUND_TRANSFER_LEGACY_VERSION
|
|
171
|
+
? value.source_kind !== undefined || value.source_turn_history !== undefined
|
|
172
|
+
: !["status_card_only", "candidate_rollout_quiescent"].includes(String(sourceKind))) {
|
|
173
|
+
throw new Error("deferred transfer source kind is invalid");
|
|
174
|
+
}
|
|
175
|
+
const sourceTurnHistory = value.source_turn_history;
|
|
176
|
+
if (sourceKind === "candidate_rollout_quiescent") {
|
|
177
|
+
if (!Array.isArray(sourceTurnHistory) ||
|
|
178
|
+
sourceTurnHistory.length > 128) {
|
|
179
|
+
throw new Error("candidate-rollout deferred source requires exact Turn history authority");
|
|
180
|
+
}
|
|
181
|
+
const seenTurnIds = new Set();
|
|
182
|
+
for (const turn of sourceTurnHistory) {
|
|
183
|
+
if (!isRecord(turn) ||
|
|
184
|
+
Object.keys(turn).sort().join(",") !== [
|
|
185
|
+
"binding_generation",
|
|
186
|
+
"binding_id",
|
|
187
|
+
"native_thread_id",
|
|
188
|
+
"status",
|
|
189
|
+
"turn_fingerprint",
|
|
190
|
+
"turn_id",
|
|
191
|
+
"updated_at"
|
|
192
|
+
].join(",") ||
|
|
193
|
+
!isSafeRecordId(turn.turn_id) ||
|
|
194
|
+
!["idle", "failed", "closed", "cancelled"].includes(String(turn.status)) ||
|
|
195
|
+
!isValidTimestamp(turn.updated_at) ||
|
|
196
|
+
!isSafeRecordId(turn.binding_id) ||
|
|
197
|
+
!isPositiveSafeInteger(turn.binding_generation) ||
|
|
198
|
+
!isExactNativeThreadId(turn.native_thread_id) ||
|
|
199
|
+
turn.binding_id !== value.source_before_binding.binding_id ||
|
|
200
|
+
turn.binding_generation !== value.source_before_binding.generation ||
|
|
201
|
+
turn.native_thread_id !== value.source_before_binding.native_thread_id ||
|
|
202
|
+
typeof turn.turn_fingerprint !== "string" ||
|
|
203
|
+
!/^[0-9a-f]{64}$/u.test(turn.turn_fingerprint) ||
|
|
204
|
+
seenTurnIds.has(String(turn.turn_id))) {
|
|
205
|
+
throw new Error("candidate-rollout deferred source Turn history is invalid");
|
|
206
|
+
}
|
|
207
|
+
seenTurnIds.add(String(turn.turn_id));
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
else if (sourceTurnHistory !== undefined) {
|
|
211
|
+
throw new Error("status-card deferred source cannot carry Turn history authority");
|
|
212
|
+
}
|
|
213
|
+
const sourceRolloutAuthority = sourceKind === "candidate_rollout_quiescent"
|
|
214
|
+
? value.source_rollout_authority ?? "present"
|
|
215
|
+
: undefined;
|
|
216
|
+
if (sourceKind !== "candidate_rollout_quiescent"
|
|
217
|
+
? value.source_rollout_authority !== undefined ||
|
|
218
|
+
value.source_abandonment_fingerprint !== undefined
|
|
219
|
+
: ![
|
|
220
|
+
"present",
|
|
221
|
+
"explicitly_abandoned_predecessor"
|
|
222
|
+
].includes(String(sourceRolloutAuthority))) {
|
|
223
|
+
throw new Error("deferred transfer source rollout authority is invalid");
|
|
224
|
+
}
|
|
225
|
+
if (sourceRolloutAuthority === "explicitly_abandoned_predecessor") {
|
|
226
|
+
if (!Array.isArray(sourceTurnHistory) ||
|
|
227
|
+
sourceTurnHistory.length === 0 ||
|
|
228
|
+
!sourceTurnHistory.some((turn) => turn.status === "closed") ||
|
|
229
|
+
value.previous_dispatch_status !== "resolved" ||
|
|
230
|
+
typeof value.source_abandonment_fingerprint !== "string" ||
|
|
231
|
+
!/^[0-9a-f]{64}$/u.test(value.source_abandonment_fingerprint)) {
|
|
232
|
+
throw new Error("explicitly abandoned predecessor requires exact resolved abandonment authority");
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else if (value.source_abandonment_fingerprint !== undefined) {
|
|
236
|
+
throw new Error("present deferred source rollout cannot carry abandonment authority");
|
|
237
|
+
}
|
|
238
|
+
const statusCardSource = sourceKind === "status_card_only";
|
|
239
|
+
const candidateRolloutSource = sourceKind === "candidate_rollout_quiescent";
|
|
159
240
|
if (value.source_before_binding.native_process.pid !== value.process_pid ||
|
|
160
241
|
value.source_before_binding.native_process.process_uuid !==
|
|
161
242
|
value.process_uuid ||
|
|
@@ -165,9 +246,13 @@ export function assertDeferredForegroundTransfer(value, expectedTransferId, opti
|
|
|
165
246
|
JSON.stringify(value.source_before_binding.terminal_endpoint) !==
|
|
166
247
|
JSON.stringify(value.terminal_endpoint) ||
|
|
167
248
|
!isExactNativeThreadId(value.source_before_binding.native_thread_id) ||
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
249
|
+
(statusCardSource &&
|
|
250
|
+
(value.source_before_binding.native_process.rollout !== undefined ||
|
|
251
|
+
!value.source_before_binding.native_process.evidence.includes("codex_status_card"))) ||
|
|
252
|
+
(candidateRolloutSource &&
|
|
253
|
+
value.source_before_binding.native_process.rollout === undefined) ||
|
|
254
|
+
(statusCardSource &&
|
|
255
|
+
value.source_previous_last_transition_id !== undefined) ||
|
|
171
256
|
managedSessionBindingToken({
|
|
172
257
|
session_id: value.source_session_id,
|
|
173
258
|
status: "bound",
|
|
@@ -640,6 +725,10 @@ function assertTransferAdvance(current, candidate) {
|
|
|
640
725
|
"source_binding_token",
|
|
641
726
|
"source_previous_last_transition_id",
|
|
642
727
|
"source_before_binding",
|
|
728
|
+
"source_kind",
|
|
729
|
+
"source_turn_history",
|
|
730
|
+
"source_rollout_authority",
|
|
731
|
+
"source_abandonment_fingerprint",
|
|
643
732
|
"target_session_id",
|
|
644
733
|
"target_expected_revision",
|
|
645
734
|
"previous_dispatch_status",
|
|
@@ -940,6 +1029,18 @@ function assertRecordId(value, label) {
|
|
|
940
1029
|
throw new Error(`${label} is not safe for storage: ${String(value)}`);
|
|
941
1030
|
}
|
|
942
1031
|
}
|
|
1032
|
+
function isSafeRecordId(value) {
|
|
1033
|
+
try {
|
|
1034
|
+
assertRecordId(value, "record id");
|
|
1035
|
+
return true;
|
|
1036
|
+
}
|
|
1037
|
+
catch {
|
|
1038
|
+
return false;
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
function isValidTimestamp(value) {
|
|
1042
|
+
return typeof value === "string" && Number.isFinite(Date.parse(value));
|
|
1043
|
+
}
|
|
943
1044
|
function assertContained(candidate, root, label) {
|
|
944
1045
|
const relative = path.relative(path.resolve(root), path.resolve(candidate));
|
|
945
1046
|
if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred-foreground-transfer.js","sourceRoot":"","sources":["../../src/deferred-foreground-transfer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deferred-foreground-transfer.js","sourceRoot":"","sources":["../../src/deferred-foreground-transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -376,6 +376,12 @@ const approveParameters = {
|
|
|
376
376
|
{ required: ["turn_id"] },
|
|
377
377
|
{ required: ["conversation_id"] }
|
|
378
378
|
],
|
|
379
|
+
allOf: [
|
|
380
|
+
{
|
|
381
|
+
if: { required: ["expected_terminal_token"] },
|
|
382
|
+
then: { required: ["conversation_id"] }
|
|
383
|
+
}
|
|
384
|
+
],
|
|
379
385
|
properties: {
|
|
380
386
|
turn_id: {
|
|
381
387
|
type: "string",
|
|
@@ -389,6 +395,10 @@ const approveParameters = {
|
|
|
389
395
|
expected_approval_fingerprint: {
|
|
390
396
|
type: "string",
|
|
391
397
|
description: "Exact approval fingerprint returned by the latest status or approval-required callback. The prompt is captured again and must still match before keys are sent."
|
|
398
|
+
},
|
|
399
|
+
expected_terminal_token: {
|
|
400
|
+
type: "string",
|
|
401
|
+
description: "Only for a terminal-scoped manual Codex approval prefilled by the latest AKK list action. Preserve it exactly with that action's full conversation_id; never construct, reuse, or use it for automatic approval."
|
|
392
402
|
}
|
|
393
403
|
}
|
|
394
404
|
};
|
|
@@ -430,13 +440,13 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
|
|
|
430
440
|
default: "AKK is handling the request..."
|
|
431
441
|
},
|
|
432
442
|
agentPromptGuidance: [
|
|
433
|
-
"Use /akk <task> when exactly one eligible idle coding-agent terminal pane should receive new work. Use /akk codex: <task>, /akk claude: <task>, or another selector returned by /akk list to target an existing pane. A session_id send is strict to that Session's native context; an exact list-prefilled terminal selector plus expected_terminal_token is a terminal-scoped follow-current action that may safely absorb a verified quiescent human thread switch
|
|
443
|
+
"Use /akk <task> when exactly one eligible idle coding-agent terminal pane should receive new work. Use /akk codex: <task>, /akk claude: <task>, or another selector returned by /akk list to target an existing pane. A session_id send is strict to that Session's native context; an exact list-prefilled terminal selector plus expected_terminal_token is a terminal-scoped follow-current action that may safely absorb a verified quiescent human thread switch or defer Codex foreground attribution within a complete exact rollout inventory. It sends the ordinary task once and binds only the uniquely accepting native thread. Never infer or reuse its token. Use /akk threads, /akk new-thread or clear-thread, and /akk resume-thread only with an exact full terminal_id returned by /akk list; these switch native context without creating a Turn. Resume numbers and short IDs are bound to the last displayed snapshot, while previous is available only from the latest verified committed transition. For native Codex or Claude status, use only an advertised agent_knock_knock_native_inspect action; agent_knock_knock_status inspects AKK Turn state and does not execute /status. AKK never starts a coding-agent process."
|
|
434
444
|
],
|
|
435
445
|
handler: async (ctx) => handleAkkCommand(api, ctx, displayedResumeSnapshots)
|
|
436
446
|
});
|
|
437
447
|
registerCliTool(api, {
|
|
438
448
|
name: "agent_knock_knock_list",
|
|
439
|
-
description: "List existing Codex and Claude Code tmux or Herdr panes as the primary terminals[] resources. Each terminal may include managed.current_turn or managed.recent_turn; all=true also includes older managed.history and retained unavailable history. By default, unavailable_managed_turns contains attention-needed records whose pane is unavailable. A live human thread switch remains management_state=conflict and exposes handoff_state as adoptable or blocked without mutating the Store. Use only each row's available_actions and authoritative prefilled arguments, except for two explicit-confirmation nested recovery paths: handoff_decision.choices.take_over_current.action and blocking_turns[].recovery_action. The latter is only for collateral blockers; an active handoff source Turn remains exclusively snapshot-fenced by handoff_decision. Refresh list immediately after either nested action. A session-scoped send targets session_id strictly and never redirects to the pane's replacement context; a terminal-scoped follow-current send preserves that row's exact selector and expected_terminal_token
|
|
449
|
+
description: "List existing Codex and Claude Code tmux or Herdr panes as the primary terminals[] resources. Each terminal may include managed.current_turn or managed.recent_turn; all=true also includes older managed.history and retained unavailable history. By default, unavailable_managed_turns contains attention-needed records whose pane is unavailable. A live human thread switch remains management_state=conflict and exposes handoff_state as adoptable or blocked without mutating the Store. Use only each row's available_actions and authoritative prefilled arguments, except for two explicit-confirmation nested recovery paths: handoff_decision.choices.take_over_current.action and blocking_turns[].recovery_action. The latter is only for collateral blockers; an active handoff source Turn remains exclusively snapshot-fenced by handoff_decision. Refresh list immediately after either nested action. A session-scoped send targets session_id strictly and never redirects to the pane's replacement context; a terminal-scoped follow-current send preserves that row's exact selector and expected_terminal_token, then may either absorb a verified quiescent handoff or defer Codex foreground attribution within a complete exact rollout inventory while sending the task only once; legacy discovery sends remain compatible. respond targets the exact in-flight turn; native_inspect runs only a closed, exact-version Codex or Claude status profile with the current terminal/binding token; read-only thread listing targets the exact terminal, while new/resume mutations also require the current binding token and create no Turn; reconcile_binding remains a low-level conflict recovery action; managed controls target the exact turn; a raw terminal row may prefill its own compatibility selector for status or recovery controls. Never construct identifiers or tokens. AKK revalidates every terminal side effect and never starts a coding-agent process.",
|
|
440
450
|
parameters: listParameters,
|
|
441
451
|
buildArgs: (params) => {
|
|
442
452
|
const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
|
|
@@ -585,7 +595,7 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
|
|
|
585
595
|
api.registerTool((toolContext) => ({
|
|
586
596
|
label: "AKK Send",
|
|
587
597
|
name: "agent_knock_knock_send",
|
|
588
|
-
description: "Start a new AKK Turn. A session-scoped send uses the exact session_id from list or a prior send, preserves that Session's native context, and never redirects to a thread the human selected later in the pane. A terminal-scoped follow-current send uses only one exact list-prefilled full terminal selector together with its fresh expected_terminal_token; AKK may then atomically adopt a verified quiescent human handoff before
|
|
598
|
+
description: "Start a new AKK Turn. A session-scoped send uses the exact session_id from list or a prior send, preserves that Session's native context, and never redirects to a thread the human selected later in the pane. A terminal-scoped follow-current send uses only one exact list-prefilled full terminal selector together with its fresh expected_terminal_token; AKK may then atomically adopt a verified quiescent human handoff or send once before Codex foreground attribution and bind only the unique exact rollout that accepts that request. Preserve both values exactly and never infer, copy, or reuse the token. Legacy selector discovery remains supported, and both target fields may be omitted only when AKK should require one unique eligible idle pane. Never pass a turn id or selector as session_id. To answer an in-flight question, use agent_knock_knock_respond instead. For ordinary use omit monitoring timeouts unless the user explicitly asks to change them. timeoutSeconds is unsupported. AKK never starts a coding agent. This is asynchronous: after acceptance, yield and wait for the callback or a later explicit status request.",
|
|
589
599
|
parameters: sendParameters,
|
|
590
600
|
async execute(toolCallId, params) {
|
|
591
601
|
const result = await runSendRequest(api, isRecord(params) ? params : {}, toolContext, terminalMessageIdForToolCall({
|
|
@@ -624,13 +634,21 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
|
|
|
624
634
|
});
|
|
625
635
|
registerCliTool(api, {
|
|
626
636
|
name: "agent_knock_knock_approve",
|
|
627
|
-
description: "Manually approve a permission request only after the user reviews and explicitly confirms it. Managed approval uses exact turn_id
|
|
637
|
+
description: "Manually approve a permission request only after the user reviews and explicitly confirms it. Managed approval uses exact turn_id. An unmanaged raw terminal, or a managed Codex pane whose current prompt has no usable AKK Turn owner, may be approved only through its own latest list-prefilled action; preserve its full conversation_id and expected_terminal_token exactly. Terminal-scoped approval never enters automatic approval, never changes managed Turn or Session binding, and has no durable dispatch receipt: if its result is interrupted, refresh status and inspect the live prompt instead of retrying blindly. Claude Code uses no Hooks: this manual path accepts only an exact one-time Bash permission screen, then recaptures its short-lived evidence and process identity before sending Enter. Separately, trusted default-disabled plugin configuration can auto-approve an exact Claude command/workspace match without exposing policy control to the model. Hook-free durable completion is independently verified from the local Claude transcript.",
|
|
628
638
|
parameters: approveParameters,
|
|
629
639
|
buildArgs: (params) => {
|
|
630
640
|
const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
|
|
631
641
|
const args = ["approve"];
|
|
632
642
|
pushTurnTarget(args, params);
|
|
633
643
|
pushOptional(args, "--expected-approval-fingerprint", requiredString(params.expected_approval_fingerprint, "expected_approval_fingerprint"));
|
|
644
|
+
const expectedTerminalToken = Object.hasOwn(params, "expected_terminal_token")
|
|
645
|
+
? requiredString(params.expected_terminal_token, "expected_terminal_token")
|
|
646
|
+
: undefined;
|
|
647
|
+
if (expectedTerminalToken &&
|
|
648
|
+
!Object.hasOwn(params, "conversation_id")) {
|
|
649
|
+
throw new Error("expected_terminal_token requires the exact list-prefilled conversation_id");
|
|
650
|
+
}
|
|
651
|
+
pushOptional(args, "--expected-terminal-token", expectedTerminalToken);
|
|
634
652
|
pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
|
|
635
653
|
return args;
|
|
636
654
|
}
|