@scotthuang/agent-knock-knock 0.6.2 → 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.
@@ -136,10 +136,11 @@ export function buildAkkCommandCliArgs(command, config, context = {}) {
136
136
  const idleTimeoutMinutes = finiteNumberString(config.idleTimeoutMinutes);
137
137
  switch (command.action) {
138
138
  case "list":
139
- return withOptionalArgs(["list"], ["--store-dir", storeDir], ["--idle-timeout-minutes", idleTimeoutMinutes]);
139
+ return withOptionalArgs(["list", "--reconcile"], ["--store-dir", storeDir], ["--idle-timeout-minutes", idleTimeoutMinutes]);
140
140
  case "status":
141
141
  return withOptionalArgs([
142
142
  "status",
143
+ "--reconcile",
143
144
  ...(command.conversationId
144
145
  ? ["--conversation", command.conversationId]
145
146
  : [])
@@ -1 +1 @@
1
- {"version":3,"file":"openclaw-plugin-helpers.js","sourceRoot":"","sources":["../../src/openclaw-plugin-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openclaw-plugin-helpers.js","sourceRoot":"","sources":["../../src/openclaw-plugin-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { type OpenClawPluginDefinition } from "openclaw/plugin-sdk/plugin-entry";
2
2
  declare const plugin: OpenClawPluginDefinition;
3
+ export declare function createOpenClawPluginForTest(relayPath: string): OpenClawPluginDefinition;
3
4
  export default plugin;
@@ -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");