@scotthuang/agent-knock-knock 0.10.3 → 0.11.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.
@@ -43,21 +43,22 @@ export function parseAkkCommand(args) {
43
43
  return { action: "new-thread", terminalId };
44
44
  }
45
45
  if (action === "resume-thread") {
46
- const usage = "Usage: /akk resume-thread <exact-terminal-id> [native-thread-uuid]";
46
+ const usage = "Usage: /akk resume-thread <exact-terminal-id> " +
47
+ "[native-thread-uuid|previous|刚才那个|number|@short-id|snapshot-handle]";
47
48
  const { token: terminalId, rest: nativeInput } = takeRequiredToken(rest, usage);
48
49
  assertExactTerminalId(terminalId, usage);
49
- const { token: nativeThreadId, rest: extra } = takeToken(nativeInput);
50
+ const { token: selectionInput, rest: extra } = takeToken(nativeInput);
50
51
  if (extra.trim()) {
51
52
  throw new Error(usage);
52
53
  }
53
- if (nativeThreadId && !isExactNativeThreadId(nativeThreadId)) {
54
- throw new Error(`${usage}; native-thread-uuid must be the complete UUID returned by /akk threads`);
55
- }
54
+ const selection = selectionInput
55
+ ? parseAkkResumeSelection(selectionInput, usage)
56
+ : undefined;
56
57
  return {
57
58
  action: "resume-thread",
58
59
  terminalId,
59
- ...(nativeThreadId
60
- ? { nativeThreadId: nativeThreadId.toLowerCase() }
60
+ ...(selection
61
+ ? { selection }
61
62
  : {})
62
63
  };
63
64
  }
@@ -160,7 +161,7 @@ export function akkUsageText() {
160
161
  "/akk threads <exact-terminal-id>",
161
162
  "/akk new-thread <exact-terminal-id>",
162
163
  "/akk clear-thread <exact-terminal-id>",
163
- "/akk resume-thread <exact-terminal-id> [native-thread-uuid]",
164
+ "/akk resume-thread <exact-terminal-id> [uuid|previous|number|@short-id|snapshot-handle]",
164
165
  "/akk doctor",
165
166
  "/akk status [turn-selector]",
166
167
  "/akk respond <turn-selector>: <answer>",
@@ -334,8 +335,14 @@ export function formatAkkThreadsCommandResult(result) {
334
335
  const currentNativeThreadId = nonEmptyString(result.current_native_thread_id);
335
336
  const threads = arrayValue(result.threads);
336
337
  const resumableCount = threads.filter((thread) => thread.resumable === true).length;
338
+ const previous = recordValue(result.previous);
339
+ const previousNativeThreadId = nonEmptyString(previous?.native_thread_id);
340
+ const selectionSnapshot = recordValue(result.selection_snapshot);
337
341
  const threadLines = threads.slice(0, 30).flatMap((thread) => {
338
342
  const nativeThreadId = nonEmptyString(thread.native_thread_id) ?? "unknown";
343
+ const selectionNumber = finiteNumber(thread.selection_number);
344
+ const shortId = nonEmptyString(thread.short_id);
345
+ const selectionHandle = nonEmptyString(thread.selection_handle);
339
346
  const status = thread.resumable === true
340
347
  ? "resumable"
341
348
  : nonEmptyString(thread.unavailable_reason) ?? "unavailable";
@@ -343,8 +350,19 @@ export function formatAkkThreadsCommandResult(result) {
343
350
  nonEmptyString(thread.title),
344
351
  nonEmptyString(thread.preview)
345
352
  ].filter((value) => Boolean(value)).join(" · ");
353
+ const selector = selectionNumber !== undefined || shortId || selectionHandle
354
+ ? [
355
+ selectionNumber !== undefined ? `${selectionNumber}.` : undefined,
356
+ shortId,
357
+ selectionHandle ? `[${selectionHandle}]` : undefined
358
+ ].filter(Boolean).join(" ")
359
+ : `- ${nativeThreadId}`;
360
+ const previousMarker = nativeThreadId === previousNativeThreadId
361
+ ? " | previous / 刚才那个"
362
+ : "";
346
363
  return [
347
- `- ${nativeThreadId} | ${status}`,
364
+ `${selector} | ${status}${previousMarker}`,
365
+ ` full UUID: ${nativeThreadId}`,
348
366
  ...(nonEmptyString(thread.updated_at)
349
367
  ? [` updated: ${nonEmptyString(thread.updated_at)}`]
350
368
  : []),
@@ -356,12 +374,20 @@ export function formatAkkThreadsCommandResult(result) {
356
374
  `terminal: ${terminalId}`,
357
375
  `current session: ${currentSessionId ?? "none"}`,
358
376
  `current native thread: ${currentNativeThreadId ?? "none"}`,
377
+ ...(nonEmptyString(selectionSnapshot?.expires_at)
378
+ ? [`selection expires: ${nonEmptyString(selectionSnapshot?.expires_at)}`]
379
+ : []),
359
380
  ...(threadLines.length > 0
360
381
  ? ["threads:", ...threadLines]
361
382
  : ["threads: none"]),
362
383
  ...(resumableCount > 0
363
384
  ? [
364
- `next: /akk resume-thread ${terminalId} <native-thread-uuid>`
385
+ `next: /akk resume-thread ${terminalId} <native-thread-uuid>`,
386
+ `shortcuts: /akk resume-thread ${terminalId} <number|@short-id|snapshot-handle>`,
387
+ ...(previousNativeThreadId
388
+ ? [`previous: /akk resume-thread ${terminalId} previous`]
389
+ : []),
390
+ "Numbers and short IDs refer only to this displayed snapshot; relist after expiry or any terminal change."
365
391
  ]
366
392
  : []),
367
393
  "Listing or switching native threads does not create an AKK Turn."
@@ -435,7 +461,7 @@ export function buildAkkCommandCliArgs(command, config, context = {}) {
435
461
  "list-resumable-threads",
436
462
  "--terminal",
437
463
  command.terminalId
438
- ], ["--store-dir", storeDir]);
464
+ ], ["--store-dir", storeDir], ["--selection-scope", nonEmptyString(context.selectionScope)]);
439
465
  case "new-thread":
440
466
  return withOptionalArgs([
441
467
  "new-thread",
@@ -445,11 +471,48 @@ export function buildAkkCommandCliArgs(command, config, context = {}) {
445
471
  requiredExpectedBindingToken(context.expectedBindingToken)
446
472
  ], ["--store-dir", storeDir]);
447
473
  case "resume-thread":
448
- if (!command.nativeThreadId) {
474
+ if (!command.selection || command.selection.kind === "previous") {
449
475
  return withOptionalArgs([
450
476
  "list-resumable-threads",
451
477
  "--terminal",
452
478
  command.terminalId
479
+ ], ["--store-dir", storeDir], ["--selection-scope", nonEmptyString(context.selectionScope)]);
480
+ }
481
+ if (command.selection.kind === "number") {
482
+ return withOptionalArgs([
483
+ "resume-thread",
484
+ "--terminal",
485
+ command.terminalId,
486
+ "--selection-snapshot",
487
+ requiredSelectionSnapshotId(context.selectionSnapshotId),
488
+ "--selection-number",
489
+ String(command.selection.selectionNumber),
490
+ "--selection-scope",
491
+ requiredSelectionScope(context.selectionScope)
492
+ ], ["--store-dir", storeDir]);
493
+ }
494
+ if (command.selection.kind === "short-id") {
495
+ return withOptionalArgs([
496
+ "resume-thread",
497
+ "--terminal",
498
+ command.terminalId,
499
+ "--selection-snapshot",
500
+ requiredSelectionSnapshotId(context.selectionSnapshotId),
501
+ "--selection-short-id",
502
+ command.selection.shortId,
503
+ "--selection-scope",
504
+ requiredSelectionScope(context.selectionScope)
505
+ ], ["--store-dir", storeDir]);
506
+ }
507
+ if (command.selection.kind === "snapshot-handle") {
508
+ return withOptionalArgs([
509
+ "resume-thread",
510
+ "--terminal",
511
+ command.terminalId,
512
+ "--selection-handle",
513
+ command.selection.selectionHandle,
514
+ "--selection-scope",
515
+ requiredSelectionScope(context.selectionScope)
453
516
  ], ["--store-dir", storeDir]);
454
517
  }
455
518
  return withOptionalArgs([
@@ -457,7 +520,7 @@ export function buildAkkCommandCliArgs(command, config, context = {}) {
457
520
  "--terminal",
458
521
  command.terminalId,
459
522
  "--native-thread",
460
- command.nativeThreadId,
523
+ command.selection.nativeThreadId,
461
524
  "--expected-binding-token",
462
525
  requiredExpectedBindingToken(context.expectedBindingToken),
463
526
  "--candidate-token",
@@ -550,6 +613,28 @@ function assertExactTerminalId(value, usage) {
550
613
  function isExactNativeThreadId(value) {
551
614
  return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu.test(value);
552
615
  }
616
+ function parseAkkResumeSelection(value, usage) {
617
+ const normalized = value.toLowerCase();
618
+ if (normalized === "previous" || normalized === "prev" || value === "刚才那个") {
619
+ return { kind: "previous" };
620
+ }
621
+ if (isExactNativeThreadId(value)) {
622
+ return { kind: "exact", nativeThreadId: normalized };
623
+ }
624
+ if (/^[1-9][0-9]*$/u.test(value)) {
625
+ const selectionNumber = Number(value);
626
+ if (Number.isSafeInteger(selectionNumber)) {
627
+ return { kind: "number", selectionNumber };
628
+ }
629
+ }
630
+ if (/^@[a-f0-9]{8,32}$/u.test(normalized)) {
631
+ return { kind: "short-id", shortId: normalized };
632
+ }
633
+ if (/^rs_[A-Za-z0-9_-]{22}:[1-9][0-9]*$/u.test(value)) {
634
+ return { kind: "snapshot-handle", selectionHandle: value };
635
+ }
636
+ throw new Error(`${usage}; use a complete UUID or a selection exactly returned by /akk threads`);
637
+ }
553
638
  function requiredExpectedBindingToken(value) {
554
639
  const token = nonEmptyString(value);
555
640
  if (!token) {
@@ -564,6 +649,20 @@ function requiredCandidateToken(value) {
564
649
  }
565
650
  return token;
566
651
  }
652
+ function requiredSelectionScope(value) {
653
+ const scope = nonEmptyString(value);
654
+ if (!scope) {
655
+ throw new Error("snapshot-bound resume requires the current OpenClaw session scope; run /akk threads again");
656
+ }
657
+ return scope;
658
+ }
659
+ function requiredSelectionSnapshotId(value) {
660
+ const snapshotId = nonEmptyString(value);
661
+ if (!snapshotId) {
662
+ throw new Error("snapshot-bound resume requires the last displayed snapshot; run /akk threads again");
663
+ }
664
+ return snapshotId;
665
+ }
567
666
  export function resolvePluginStoreDir(config, gatewayCwd = process.cwd()) {
568
667
  const configured = nonEmptyString(config.storeDir);
569
668
  if (!configured) {
@@ -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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"}
@@ -7,6 +7,7 @@ import { AKK_CALLBACK_METHOD, akkUsageText, buildAkkCommandCliArgs, formatAkkLis
7
7
  import { attemptAutoApproval } from "./approval-policy.js";
8
8
  const CALLBACK_METHOD = AKK_CALLBACK_METHOD;
9
9
  const MONITOR_SUPERVISOR_INTERVAL_MS = 5_000;
10
+ const MAX_DISPLAYED_RESUME_SNAPSHOTS = 512;
10
11
  const defaultBinPath = fileURLToPath(new URL("./cli.js", import.meta.url));
11
12
  const relayPathByApi = new WeakMap();
12
13
  const sendParameters = {
@@ -313,6 +314,7 @@ const approveParameters = {
313
314
  }
314
315
  };
315
316
  function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVISOR_INTERVAL_MS } = {}) {
317
+ const displayedResumeSnapshots = new Map();
316
318
  return definePluginEntry({
317
319
  id: "agent-knock-knock",
318
320
  name: "Agent Knock Knock",
@@ -349,9 +351,9 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
349
351
  default: "AKK is handling the request..."
350
352
  },
351
353
  agentPromptGuidance: [
352
- "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. Ordinary sends preserve native context. 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. AKK never starts a coding-agent process."
354
+ "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. Ordinary sends preserve native context. 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. AKK never starts a coding-agent process."
353
355
  ],
354
- handler: async (ctx) => handleAkkCommand(api, ctx)
356
+ handler: async (ctx) => handleAkkCommand(api, ctx, displayedResumeSnapshots)
355
357
  });
356
358
  registerCliTool(api, {
357
359
  name: "agent_knock_knock_list",
@@ -378,7 +380,7 @@ function createPlugin(relayPath, { monitorSupervisorIntervalMs = MONITOR_SUPERVI
378
380
  });
379
381
  registerCliTool(api, {
380
382
  name: "agent_knock_knock_list_resumable_threads",
381
- description: "List verified native Codex or Claude Code threads for one exact terminal. Call this only from that terminal row's available list_resumable_threads action. The result includes the current native identity, a fresh expected_binding_token, and exact candidate UUIDs with opaque candidate_token fingerprints; resume only a row with resumable=true and preserve both tokens from that same result. This is read-only and creates no AKK Turn.",
383
+ description: "List verified native Codex or Claude Code threads for one exact terminal. Call this only from that terminal row's available list_resumable_threads action. The result includes the current native identity, a fresh expected_binding_token, exact candidate UUIDs with opaque candidate_token fingerprints, and an exact previous action only when the latest committed transition has one uniquely resumable source. Resume only a row with resumable=true or that previous action, preserving all full prefilled arguments from the same result. Number/short/handle fields are human display aids, never exact tool arguments. This is read-only for Session/Turn state and creates no AKK Turn.",
382
384
  parameters: listResumableThreadsParameters,
383
385
  normalizeTurnIdentity: false,
384
386
  buildArgs: (params) => {
@@ -640,7 +642,46 @@ export function createOpenClawPluginForTest(relayPath, options = {}) {
640
642
  return createPlugin(relayPath, options);
641
643
  }
642
644
  export default plugin;
643
- async function handleAkkCommand(api, ctx) {
645
+ function resumeSelectionScope(sessionKey, sessionId) {
646
+ const key = requiredString(sessionKey, "OpenClaw session identity is required for snapshot-bound Resume");
647
+ const incarnation = stringValue(sessionId) ?? null;
648
+ return `openclaw:${createHash("sha256")
649
+ .update(JSON.stringify([key, incarnation]))
650
+ .digest("hex")}`;
651
+ }
652
+ function resumeSnapshotCacheKey(sessionKey, sessionId, terminalId) {
653
+ const key = requiredString(sessionKey, "OpenClaw session identity is required for snapshot-bound Resume");
654
+ return JSON.stringify([key, stringValue(sessionId) ?? null, terminalId]);
655
+ }
656
+ function rememberDisplayedResumeSnapshot(snapshots, key, snapshotId, expiresAtMs) {
657
+ const now = Date.now();
658
+ for (const [candidateKey, value] of snapshots) {
659
+ if (value.expiresAtMs <= now) {
660
+ snapshots.delete(candidateKey);
661
+ }
662
+ }
663
+ snapshots.delete(key);
664
+ while (snapshots.size >= MAX_DISPLAYED_RESUME_SNAPSHOTS) {
665
+ const oldestKey = snapshots.keys().next().value;
666
+ if (typeof oldestKey !== "string") {
667
+ break;
668
+ }
669
+ snapshots.delete(oldestKey);
670
+ }
671
+ snapshots.set(key, { snapshotId, expiresAtMs });
672
+ }
673
+ function currentDisplayedResumeSnapshotId(snapshots, key) {
674
+ const value = snapshots.get(key);
675
+ if (!value) {
676
+ return undefined;
677
+ }
678
+ if (value.expiresAtMs <= Date.now()) {
679
+ snapshots.delete(key);
680
+ return undefined;
681
+ }
682
+ return value.snapshotId;
683
+ }
684
+ async function handleAkkCommand(api, ctx, displayedResumeSnapshots) {
644
685
  try {
645
686
  const parsed = parseAkkCommand(ctx.args);
646
687
  if (parsed.action === "help") {
@@ -661,40 +702,111 @@ async function handleAkkCommand(api, ctx) {
661
702
  if (parsed.action === "list-resumable-threads" ||
662
703
  parsed.action === "new-thread" ||
663
704
  parsed.action === "resume-thread") {
705
+ const selectionScope = resumeSelectionScope(ctx.sessionKey, ctx.sessionId);
706
+ const snapshotCacheKey = resumeSnapshotCacheKey(ctx.sessionKey, ctx.sessionId, parsed.terminalId);
707
+ if (parsed.action === "resume-thread" &&
708
+ parsed.selection &&
709
+ ["number", "short-id", "snapshot-handle"].includes(parsed.selection.kind)) {
710
+ const mutationArgs = buildAkkCommandCliArgs(parsed, config, {
711
+ sessionKey: ctx.sessionKey,
712
+ selectionScope,
713
+ selectionSnapshotId: parsed.selection.kind === "snapshot-handle"
714
+ ? undefined
715
+ : currentDisplayedResumeSnapshotId(displayedResumeSnapshots, snapshotCacheKey)
716
+ });
717
+ if (!mutationArgs) {
718
+ throw new Error("could not build snapshot-bound resume command");
719
+ }
720
+ const transitionResult = runCli(api, mutationArgs);
721
+ if (isAkkThreadTransitionSuccess(transitionResult)) {
722
+ displayedResumeSnapshots.delete(snapshotCacheKey);
723
+ }
724
+ return {
725
+ text: formatAkkThreadTransitionCommandResult(transitionResult),
726
+ isError: !isAkkThreadTransitionSuccess(transitionResult)
727
+ };
728
+ }
664
729
  const discoveryArgs = buildAkkCommandCliArgs({
665
730
  action: "list-resumable-threads",
666
731
  terminalId: parsed.terminalId
667
- }, config);
732
+ }, config, { selectionScope });
668
733
  if (!discoveryArgs) {
669
734
  throw new Error("could not build native-thread discovery command");
670
735
  }
671
736
  const discovery = runCli(api, discoveryArgs);
672
737
  if (parsed.action === "list-resumable-threads" ||
673
738
  (parsed.action === "resume-thread" &&
674
- !parsed.nativeThreadId)) {
739
+ !parsed.selection)) {
740
+ const snapshotId = isRecord(discovery.selection_snapshot)
741
+ ? stringValue(discovery.selection_snapshot.snapshot_id)
742
+ : undefined;
743
+ const expiresAt = isRecord(discovery.selection_snapshot)
744
+ ? Date.parse(String(discovery.selection_snapshot.expires_at ?? ""))
745
+ : Number.NaN;
746
+ if (snapshotId && Number.isFinite(expiresAt) && expiresAt > Date.now()) {
747
+ rememberDisplayedResumeSnapshot(displayedResumeSnapshots, snapshotCacheKey, snapshotId, expiresAt);
748
+ }
749
+ else {
750
+ displayedResumeSnapshots.delete(snapshotCacheKey);
751
+ }
675
752
  return { text: formatAkkThreadsCommandResult(discovery) };
676
753
  }
677
- const expectedBindingToken = requiredString(discovery.expected_binding_token, "expected_binding_token from lifecycle discovery");
754
+ let expectedBindingToken = requiredString(discovery.expected_binding_token, "expected_binding_token from lifecycle discovery");
678
755
  let candidateToken;
756
+ let mutationCommand = parsed;
679
757
  if (parsed.action === "resume-thread") {
680
- const candidate = Array.isArray(discovery.threads)
681
- ? discovery.threads.find((thread) => isRecord(thread) &&
682
- stringValue(thread.native_thread_id) === parsed.nativeThreadId)
683
- : undefined;
684
- if (!isRecord(candidate) || candidate.resumable !== true) {
685
- throw new Error(`native thread ${parsed.nativeThreadId} is not resumable in the current lifecycle snapshot`);
758
+ let nativeThreadId;
759
+ if (parsed.selection?.kind === "previous") {
760
+ const previous = isRecord(discovery.previous)
761
+ ? discovery.previous
762
+ : undefined;
763
+ const action = isRecord(previous?.available_actions) &&
764
+ isRecord(previous.available_actions.resume_thread)
765
+ ? previous.available_actions.resume_thread
766
+ : undefined;
767
+ const actionArguments = isRecord(action?.arguments)
768
+ ? action.arguments
769
+ : undefined;
770
+ nativeThreadId = requiredString(actionArguments?.native_thread_id, "no verified previous native thread is available; run /akk threads");
771
+ if (stringValue(actionArguments?.terminal_id) !== parsed.terminalId) {
772
+ throw new Error("previous resume action belongs to another terminal");
773
+ }
774
+ expectedBindingToken = requiredString(actionArguments?.expected_binding_token, "expected_binding_token from the previous resume action");
775
+ candidateToken = requiredString(actionArguments?.candidate_token, "candidate_token from the previous resume action");
686
776
  }
687
- candidateToken = requiredString(candidate.candidate_token, "candidate_token from the selected resumable thread");
777
+ else {
778
+ if (parsed.selection?.kind !== "exact") {
779
+ throw new Error("resume selection could not be resolved");
780
+ }
781
+ nativeThreadId = parsed.selection.nativeThreadId;
782
+ const candidate = Array.isArray(discovery.threads)
783
+ ? discovery.threads.find((thread) => isRecord(thread) &&
784
+ stringValue(thread.native_thread_id) === nativeThreadId)
785
+ : undefined;
786
+ if (!isRecord(candidate) || candidate.resumable !== true) {
787
+ throw new Error(`native thread ${nativeThreadId} is not resumable in the current lifecycle snapshot`);
788
+ }
789
+ candidateToken = requiredString(candidate.candidate_token, "candidate_token from the selected resumable thread");
790
+ }
791
+ mutationCommand = {
792
+ action: "resume-thread",
793
+ terminalId: parsed.terminalId,
794
+ selection: { kind: "exact", nativeThreadId }
795
+ };
688
796
  }
689
- const mutationArgs = buildAkkCommandCliArgs(parsed, config, {
797
+ const mutationArgs = buildAkkCommandCliArgs(mutationCommand, config, {
690
798
  sessionKey: ctx.sessionKey,
691
799
  expectedBindingToken,
692
- candidateToken
800
+ candidateToken,
801
+ selectionScope
693
802
  });
694
803
  if (!mutationArgs) {
695
804
  throw new Error("could not build native-thread lifecycle command");
696
805
  }
697
806
  const transitionResult = runCli(api, mutationArgs);
807
+ if (isAkkThreadTransitionSuccess(transitionResult)) {
808
+ displayedResumeSnapshots.delete(snapshotCacheKey);
809
+ }
698
810
  return {
699
811
  text: formatAkkThreadTransitionCommandResult(transitionResult),
700
812
  isError: !isAkkThreadTransitionSuccess(transitionResult)