@scotthuang/agent-knock-knock 0.6.1 → 0.7.0

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.
@@ -6,6 +6,7 @@ import { AKK_CALLBACK_METHOD, akkUsageText, buildAkkCommandCliArgs, formatAkkLis
6
6
  import { attemptAutoApproval } from "./approval-policy.js";
7
7
  const CALLBACK_METHOD = AKK_CALLBACK_METHOD;
8
8
  const defaultBinPath = fileURLToPath(new URL("./cli.js", import.meta.url));
9
+ const relayPathByApi = new WeakMap();
9
10
  const sendParameters = {
10
11
  type: "object",
11
12
  additionalProperties: false,
@@ -25,7 +26,7 @@ const sendParameters = {
25
26
  },
26
27
  idleTimeoutMinutes: {
27
28
  type: "number",
28
- description: "Minutes an idle AKK session remains open before lazy cleanup closes it."
29
+ description: "Minutes an idle AKK session remains open before controlled reconciliation closes its managed task record."
29
30
  },
30
31
  agentTimeoutMinutes: {
31
32
  type: "number",
@@ -160,171 +161,178 @@ const approveParameters = {
160
161
  }
161
162
  }
162
163
  };
163
- const plugin = definePluginEntry({
164
- id: "agent-knock-knock",
165
- name: "Agent Knock Knock",
166
- description: "Agent Knock Knock (AKK/akk) lets OpenClaw operate local Codex and Claude Code through shared tmux terminals, with visible monitoring, approvals, callbacks, cancellation, and seamless human takeover.",
167
- register(api) {
168
- api.registerGatewayMethod(CALLBACK_METHOD, async ({ params, respond }) => {
164
+ function createPlugin(relayPath) {
165
+ return definePluginEntry({
166
+ id: "agent-knock-knock",
167
+ name: "Agent Knock Knock",
168
+ description: "Agent Knock Knock (AKK/akk) lets OpenClaw operate local Codex and Claude Code through shared tmux terminals, with visible monitoring, approvals, callbacks, cancellation, and seamless human takeover.",
169
+ register(api) {
170
+ relayPathByApi.set(api, relayPath);
171
+ api.registerGatewayMethod(CALLBACK_METHOD, async ({ params, respond }) => {
172
+ try {
173
+ const result = await handleCallback(api, params);
174
+ respond(true, result);
175
+ }
176
+ catch (error) {
177
+ const message = error instanceof Error ? error.message : String(error);
178
+ api.logger.warn?.(`agent-knock-knock callback failed: ${message}`);
179
+ respond(false, undefined, {
180
+ code: "AGENT_KNOCK_KNOCK_CALLBACK_FAILED",
181
+ message
182
+ });
183
+ }
184
+ }, { scope: "operator.write" });
169
185
  try {
170
- const result = await handleCallback(api, params);
171
- respond(true, result);
186
+ api.registerService?.({
187
+ id: "agent-knock-knock-monitor-reconciliation",
188
+ start() {
189
+ try {
190
+ const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
191
+ const args = ["reconcile-monitors"];
192
+ pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
193
+ const result = runCli(api, args);
194
+ api.logger.info?.("agent-knock-knock monitor reconciliation: " +
195
+ `checked=${result.checked ?? 0} launched=${result.launched ?? 0} ` +
196
+ `already_running=${result.already_running ?? 0} skipped=${result.skipped ?? 0} ` +
197
+ `errors=${result.errors ?? 0}`);
198
+ }
199
+ catch (error) {
200
+ const message = error instanceof Error ? error.message : String(error);
201
+ api.logger.warn?.(`agent-knock-knock monitor reconciliation skipped after startup error: ${message}`);
202
+ }
203
+ }
204
+ });
172
205
  }
173
206
  catch (error) {
174
207
  const message = error instanceof Error ? error.message : String(error);
175
- api.logger.warn?.(`agent-knock-knock callback failed: ${message}`);
176
- respond(false, undefined, {
177
- code: "AGENT_KNOCK_KNOCK_CALLBACK_FAILED",
178
- message
179
- });
208
+ api.logger.warn?.(`agent-knock-knock monitor reconciliation service was not registered: ${message}`);
180
209
  }
181
- }, { scope: "operator.write" });
182
- try {
183
- api.registerService?.({
184
- id: "agent-knock-knock-monitor-reconciliation",
185
- start() {
186
- try {
187
- const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
188
- const args = ["reconcile-monitors"];
189
- pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
190
- const result = runCli(api, args);
191
- api.logger.info?.("agent-knock-knock monitor reconciliation: " +
192
- `checked=${result.checked ?? 0} launched=${result.launched ?? 0} ` +
193
- `already_running=${result.already_running ?? 0} skipped=${result.skipped ?? 0} ` +
194
- `errors=${result.errors ?? 0}`);
210
+ api.registerCommand?.({
211
+ name: "akk",
212
+ description: "Send coding work through existing Codex or Claude Code tmux terminals, inspect tasks, approve exact prompts, and cancel running work.",
213
+ acceptsArgs: true,
214
+ requireAuth: true,
215
+ nativeProgressMessages: {
216
+ default: "AKK is handling the request..."
217
+ },
218
+ agentPromptGuidance: [
219
+ "Use /akk <task> when exactly one eligible idle coding-agent tmux pane should receive new work. Use /akk codex: <task>, /akk claude: <task>, or another selector returned by /akk list to target an existing pane. AKK never starts a coding agent."
220
+ ],
221
+ handler: async (ctx) => handleAkkCommand(api, ctx)
222
+ });
223
+ registerCliTool(api, {
224
+ name: "agent_knock_knock_list",
225
+ description: "List AKK-managed work and existing Codex or Claude Code tmux terminals. Rows in delegated and terminal_controlled include available_actions with the exact tool name and authoritative prefilled target arguments for safe sending, inspection, approval, cancellation, and recovery. Use only actions present in that snapshot; AKK revalidates them before side effects. AKK never starts a coding agent.",
226
+ parameters: listParameters,
227
+ buildArgs: (params) => {
228
+ const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
229
+ const args = ["list", "--reconcile"];
230
+ pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
231
+ pushOptional(args, "--idle-timeout-minutes", numberString(params.idleTimeoutMinutes) ?? numberString(api.pluginConfig?.idleTimeoutMinutes));
232
+ pushOptional(args, "--agent", stringValue(params.agent));
233
+ pushOptional(args, "--status", stringValue(params.status));
234
+ if (params.all === true) {
235
+ args.push("--all");
195
236
  }
196
- catch (error) {
197
- const message = error instanceof Error ? error.message : String(error);
198
- api.logger.warn?.(`agent-knock-knock monitor reconciliation skipped after startup error: ${message}`);
237
+ if (params.managedOnly === true) {
238
+ args.push("--managed-only");
239
+ }
240
+ if (params.noApprovalScan === true) {
241
+ args.push("--no-approval-scan");
242
+ }
243
+ if (params.terminalDebug === true) {
244
+ args.push("--terminal-debug");
199
245
  }
246
+ return args;
200
247
  }
201
248
  });
202
- }
203
- catch (error) {
204
- const message = error instanceof Error ? error.message : String(error);
205
- api.logger.warn?.(`agent-knock-knock monitor reconciliation service was not registered: ${message}`);
206
- }
207
- api.registerCommand?.({
208
- name: "akk",
209
- description: "Send coding work through existing Codex or Claude Code tmux terminals, inspect tasks, approve exact prompts, and cancel running work.",
210
- acceptsArgs: true,
211
- requireAuth: true,
212
- nativeProgressMessages: {
213
- default: "AKK is handling the request..."
214
- },
215
- agentPromptGuidance: [
216
- "Use /akk <task> when exactly one eligible idle coding-agent tmux pane should receive new work. Use /akk codex: <task>, /akk claude: <task>, or another selector returned by /akk list to target an existing pane. AKK never starts a coding agent."
217
- ],
218
- handler: async (ctx) => handleAkkCommand(api, ctx)
219
- });
220
- registerCliTool(api, {
221
- name: "agent_knock_knock_list",
222
- description: "List AKK-managed work and existing Codex or Claude Code tmux terminals. Rows in delegated and terminal_controlled include available_actions with the exact tool name and authoritative prefilled target arguments for safe sending, inspection, approval, cancellation, and recovery. Use only actions present in that snapshot; AKK revalidates them before side effects. AKK never starts a coding agent.",
223
- parameters: listParameters,
224
- buildArgs: (params) => {
225
- const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
226
- const args = ["list"];
227
- pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
228
- pushOptional(args, "--idle-timeout-minutes", numberString(params.idleTimeoutMinutes) ?? numberString(api.pluginConfig?.idleTimeoutMinutes));
229
- pushOptional(args, "--agent", stringValue(params.agent));
230
- pushOptional(args, "--status", stringValue(params.status));
231
- if (params.all === true) {
232
- args.push("--all");
249
+ api.registerTool((_toolContext) => ({
250
+ label: "AKK Status",
251
+ name: "agent_knock_knock_status",
252
+ description: "Inspect one AKK-managed turn or existing coding-agent tmux terminal. Returns live state, a bounded terminal screen, and available purpose/context with confidence and limitations. AKK never starts a coding agent.",
253
+ parameters: statusParameters,
254
+ async execute(_toolCallId, params) {
255
+ const result = runCli(api, buildStatusCliArgs(api, isRecord(params) ? params : {}));
256
+ return toolResult(result);
233
257
  }
234
- if (params.managedOnly === true) {
235
- args.push("--managed-only");
258
+ }), { name: "agent_knock_knock_status", optional: true });
259
+ api.registerTool((toolContext) => ({
260
+ label: "AKK Send",
261
+ name: "agent_knock_knock_send",
262
+ description: "Send a new task or follow-up through an existing Codex or Claude Code tmux terminal. Omit selector only when AKK should require one unique eligible idle pane; otherwise pass codex, claude, only, latest, an @short-ref from AKK list, or an authoritative full id. For ordinary use pass only request and, when targeting, selector; 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.",
263
+ parameters: sendParameters,
264
+ async execute(_toolCallId, params) {
265
+ const result = await runSendRequest(api, isRecord(params) ? params : {}, toolContext);
266
+ return toolResult(result);
236
267
  }
237
- if (params.noApprovalScan === true) {
238
- args.push("--no-approval-scan");
268
+ }), { name: "agent_knock_knock_send", optional: true });
269
+ registerCliTool(api, {
270
+ name: "agent_knock_knock_approve",
271
+ description: "Manually approve the current AKK terminal permission request only after the user reviews and explicitly confirms it. Claude Code uses no Hooks: this manual path accepts only an exact one-time Bash permission screen for the current managed turn, 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.",
272
+ parameters: approveParameters,
273
+ buildArgs: (params) => {
274
+ const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
275
+ const args = ["approve", "--conversation", requiredString(params.conversation_id, "conversation_id")];
276
+ pushOptional(args, "--expected-approval-fingerprint", requiredString(params.expected_approval_fingerprint, "expected_approval_fingerprint"));
277
+ pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
278
+ return args;
239
279
  }
240
- if (params.terminalDebug === true) {
241
- args.push("--terminal-debug");
280
+ });
281
+ registerCliTool(api, {
282
+ name: "agent_knock_knock_renew",
283
+ description: "Renew monitoring for a stalled AKK-managed terminal bridge task without sending text or keys to the coding agent. Use this when the user wants a still-live long-running terminal task to keep monitoring after an inactivity stall.",
284
+ parameters: renewParameters,
285
+ buildArgs: (params) => {
286
+ const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
287
+ const args = ["renew", "--conversation", requiredString(params.conversation_id, "conversation_id")];
288
+ pushOptional(args, "--minutes", numberString(params.minutes) ?? numberString(config.agentTimeoutMinutes));
289
+ pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
290
+ return args;
242
291
  }
243
- return args;
244
- }
245
- });
246
- api.registerTool((_toolContext) => ({
247
- label: "AKK Status",
248
- name: "agent_knock_knock_status",
249
- description: "Inspect one AKK-managed turn or existing coding-agent tmux terminal. Returns live state, a bounded terminal screen, and available purpose/context with confidence and limitations. AKK never starts a coding agent.",
250
- parameters: statusParameters,
251
- async execute(_toolCallId, params) {
252
- const result = runCli(api, buildStatusCliArgs(api, isRecord(params) ? params : {}));
253
- return toolResult(result);
254
- }
255
- }), { name: "agent_knock_knock_status", optional: true });
256
- api.registerTool((toolContext) => ({
257
- label: "AKK Send",
258
- name: "agent_knock_knock_send",
259
- description: "Send a new task or follow-up through an existing Codex or Claude Code tmux terminal. Omit selector only when AKK should require one unique eligible idle pane; otherwise pass codex, claude, only, latest, an @short-ref from AKK list, or an authoritative full id. For ordinary use pass only request and, when targeting, selector; 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.",
260
- parameters: sendParameters,
261
- async execute(_toolCallId, params) {
262
- const result = await runSendRequest(api, isRecord(params) ? params : {}, toolContext);
263
- return toolResult(result);
264
- }
265
- }), { name: "agent_knock_knock_send", optional: true });
266
- registerCliTool(api, {
267
- name: "agent_knock_knock_approve",
268
- description: "Manually approve the current AKK terminal permission request only after the user reviews and explicitly confirms it. Claude Code uses no Hooks: this manual path accepts only an exact one-time Bash permission screen for the current managed turn, 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.",
269
- parameters: approveParameters,
270
- buildArgs: (params) => {
271
- const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
272
- const args = ["approve", "--conversation", requiredString(params.conversation_id, "conversation_id")];
273
- pushOptional(args, "--expected-approval-fingerprint", requiredString(params.expected_approval_fingerprint, "expected_approval_fingerprint"));
274
- pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
275
- return args;
276
- }
277
- });
278
- registerCliTool(api, {
279
- name: "agent_knock_knock_renew",
280
- description: "Renew monitoring for a stalled AKK-managed terminal bridge task without sending text or keys to the coding agent. Use this when the user wants a still-live long-running terminal task to keep monitoring after an inactivity stall.",
281
- parameters: renewParameters,
282
- buildArgs: (params) => {
283
- const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
284
- const args = ["renew", "--conversation", requiredString(params.conversation_id, "conversation_id")];
285
- pushOptional(args, "--minutes", numberString(params.minutes) ?? numberString(config.agentTimeoutMinutes));
286
- pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
287
- return args;
288
- }
289
- });
290
- registerCliTool(api, {
291
- name: "agent_knock_knock_retry_callback",
292
- description: "Retry a persisted AKK callback that failed before reaching OpenClaw. The original callback message id is reused for idempotent delivery; a completed terminal task remains available for follow-up until idle cleanup.",
293
- parameters: retryCallbackParameters,
294
- buildArgs: (params) => {
295
- const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
296
- const args = ["retry-callback", "--conversation", requiredString(params.conversation_id, "conversation_id")];
297
- pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
298
- return args;
299
- }
300
- });
301
- registerCliTool(api, {
302
- name: "agent_knock_knock_cancel",
303
- description: "Interrupt an existing Agent Knock Knock Codex or Claude Code tmux task. Claude sends Escape; Codex uses its declared interrupt key. The shared tmux pane remains open for human takeover.",
304
- parameters: cancelParameters,
305
- buildArgs: (params) => {
306
- const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
307
- const args = ["cancel", "--conversation", requiredString(params.conversation_id, "conversation_id")];
308
- pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
309
- pushOptional(args, "--idle-timeout-minutes", numberString(params.idleTimeoutMinutes) ?? numberString(config.idleTimeoutMinutes));
310
- return args;
311
- }
312
- });
313
- registerCliTool(api, {
314
- name: "agent_knock_knock_close",
315
- description: "Close an AKK-managed task record without terminating the shared tmux pane. For an orphaned terminal dispatch only, the user must explicitly request recovery and provide the exact expected_message_id reported by AKK list.",
316
- parameters: closeParameters,
317
- buildArgs: (params) => {
318
- const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
319
- const args = ["close", "--conversation", requiredString(params.conversation_id, "conversation_id")];
320
- pushOptional(args, "--reason", stringValue(params.reason));
321
- pushOptional(args, "--expected-message-id", stringValue(params.expected_message_id));
322
- pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
323
- return args;
324
- }
325
- });
326
- }
327
- });
292
+ });
293
+ registerCliTool(api, {
294
+ name: "agent_knock_knock_retry_callback",
295
+ description: "Retry a persisted AKK callback that failed before reaching OpenClaw. The original callback message id is reused for idempotent delivery; a completed terminal task remains available for follow-up until its idle retention is reconciled.",
296
+ parameters: retryCallbackParameters,
297
+ buildArgs: (params) => {
298
+ const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
299
+ const args = ["retry-callback", "--conversation", requiredString(params.conversation_id, "conversation_id")];
300
+ pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
301
+ return args;
302
+ }
303
+ });
304
+ registerCliTool(api, {
305
+ name: "agent_knock_knock_cancel",
306
+ description: "Interrupt an existing Agent Knock Knock Codex or Claude Code tmux task. Claude sends Escape; Codex uses its declared interrupt key. The shared tmux pane remains open for human takeover.",
307
+ parameters: cancelParameters,
308
+ buildArgs: (params) => {
309
+ const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
310
+ const args = ["cancel", "--conversation", requiredString(params.conversation_id, "conversation_id")];
311
+ pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
312
+ pushOptional(args, "--idle-timeout-minutes", numberString(params.idleTimeoutMinutes) ?? numberString(config.idleTimeoutMinutes));
313
+ return args;
314
+ }
315
+ });
316
+ registerCliTool(api, {
317
+ name: "agent_knock_knock_close",
318
+ description: "Close an AKK-managed task record without terminating the shared tmux pane. For an orphaned terminal dispatch only, the user must explicitly request recovery and provide the exact expected_message_id reported by AKK list.",
319
+ parameters: closeParameters,
320
+ buildArgs: (params) => {
321
+ const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
322
+ const args = ["close", "--conversation", requiredString(params.conversation_id, "conversation_id")];
323
+ pushOptional(args, "--reason", stringValue(params.reason));
324
+ pushOptional(args, "--expected-message-id", stringValue(params.expected_message_id));
325
+ pushOptional(args, "--store-dir", resolvePluginStoreDir(config));
326
+ return args;
327
+ }
328
+ });
329
+ }
330
+ });
331
+ }
332
+ const plugin = createPlugin(defaultBinPath);
333
+ export function createOpenClawPluginForTest(relayPath) {
334
+ return createPlugin(relayPath);
335
+ }
328
336
  export default plugin;
329
337
  async function handleAkkCommand(api, ctx) {
330
338
  try {
@@ -572,6 +580,7 @@ function buildStatusCliArgs(api, params) {
572
580
  const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
573
581
  const args = [
574
582
  "status",
583
+ "--reconcile",
575
584
  "--conversation",
576
585
  requiredString(params.conversation_id, "conversation_id")
577
586
  ];
@@ -752,8 +761,7 @@ function toolLabel(name) {
752
761
  return `AKK ${action || "Tool"}`;
753
762
  }
754
763
  function runCli(api, cliArgs, { cwd = process.cwd(), allowNonzeroJson = false } = {}) {
755
- const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
756
- const binPath = stringValue(config.binPath) ?? defaultBinPath;
764
+ const binPath = relayPathForApi(api);
757
765
  const spawned = spawnSync(process.execPath, [binPath, ...cliArgs], {
758
766
  encoding: "utf8",
759
767
  maxBuffer: 1024 * 1024 * 10,
@@ -771,8 +779,7 @@ function runCli(api, cliArgs, { cwd = process.cwd(), allowNonzeroJson = false }
771
779
  return parseJson(spawned.stdout);
772
780
  }
773
781
  function runCliAsync(api, cliArgs, { cwd = process.cwd(), allowNonzeroJson = false, timeoutMs = 90_000 } = {}) {
774
- const config = isRecord(api.pluginConfig) ? api.pluginConfig : {};
775
- const binPath = stringValue(config.binPath) ?? defaultBinPath;
782
+ const binPath = relayPathForApi(api);
776
783
  const maxBuffer = 10 * 1024 * 1024;
777
784
  return new Promise((resolve, reject) => {
778
785
  const child = spawn(process.execPath, [binPath, ...cliArgs], {
@@ -843,6 +850,9 @@ function runCliAsync(api, cliArgs, { cwd = process.cwd(), allowNonzeroJson = fal
843
850
  });
844
851
  });
845
852
  }
853
+ function relayPathForApi(api) {
854
+ return relayPathByApi.get(api) ?? defaultBinPath;
855
+ }
846
856
  async function handleCallback(api, params) {
847
857
  if (!isRecord(params)) {
848
858
  throw new Error("callback params must be an object");
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw-plugin.js","sourceRoot":"","sources":["../../src/openclaw-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openclaw-plugin.js","sourceRoot":"","sources":["../../src/openclaw-plugin.ts"],"names":[],"mappings":"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"}