@scotthuang/agent-knock-knock 0.13.0 → 0.13.2

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/src/claude-lifecycle-compatibility.js +49 -2
  3. package/dist/src/claude-lifecycle-compatibility.js.map +1 -1
  4. package/dist/src/claude-terminal-agent-adapter.d.ts +1 -1
  5. package/dist/src/claude-terminal-agent-adapter.js +2 -2
  6. package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
  7. package/dist/src/codex-lifecycle-compatibility.js +2 -1
  8. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  9. package/dist/src/native-thread-transition-verification-adapter.js +1 -0
  10. package/dist/src/native-thread-transition-verification-adapter.js.map +1 -1
  11. package/dist/src/openclaw-plugin-command-adapter.js +3 -3
  12. package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
  13. package/dist/src/openclaw-plugin-schemas.js +1 -1
  14. package/dist/src/openclaw-plugin-schemas.js.map +1 -1
  15. package/dist/src/terminal-agent-bridge.d.ts +11 -0
  16. package/dist/src/terminal-agent-bridge.js +248 -2
  17. package/dist/src/terminal-agent-bridge.js.map +1 -1
  18. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +63 -1
  19. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
  20. package/dist/src/terminal-dispatch-recovery-service.d.ts +1 -0
  21. package/dist/src/terminal-dispatch-recovery-service.js +7 -0
  22. package/dist/src/terminal-dispatch-recovery-service.js.map +1 -1
  23. package/dist/src/terminal-monitor-state-reconciliation-service.js +15 -1
  24. package/dist/src/terminal-monitor-state-reconciliation-service.js.map +1 -1
  25. package/dist/src/terminal-questionnaire-adapter.d.ts +6 -2
  26. package/dist/src/terminal-questionnaire-adapter.js +61 -40
  27. package/dist/src/terminal-questionnaire-adapter.js.map +1 -1
  28. package/dist/src/terminal-watch-store.js +135 -9
  29. package/dist/src/terminal-watch-store.js.map +1 -1
  30. package/docs/quickstart-tmux.md +2 -2
  31. package/package.json +1 -1
  32. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +4 -4
@@ -1,10 +1,30 @@
1
1
  import { createHash } from "node:crypto";
2
+ export const CLAUDE_NATIVE_QUESTIONNAIRE_PROFILES = Object.freeze({
3
+ "2.1.263": "claude-code/2.1.263/ask-user-question-v1",
4
+ "2.1.266": "claude-code/2.1.266/ask-user-question-v1",
5
+ "2.1.267": "claude-code/2.1.267/ask-user-question-v1"
6
+ });
7
+ export const CODEX_NATIVE_QUESTIONNAIRE_PROFILES = Object.freeze({
8
+ "0.153.4": "codex/0.153.4/request-user-input-v3",
9
+ "0.154.0": "codex/0.154.0/request-user-input-v3"
10
+ });
2
11
  export const NATIVE_QUESTIONNAIRE_PROFILES = Object.freeze({
3
- claude: "claude-code/2.1.263/ask-user-question-v1",
4
- codex: "codex/0.153.4/request-user-input-v3"
12
+ // Compatibility export for the original questionnaire profile. New Claude
13
+ // versions resolve through claudeNativeQuestionnaireProfile so their
14
+ // fingerprints and durable interaction ids stay version-bound.
15
+ claude: CLAUDE_NATIVE_QUESTIONNAIRE_PROFILES["2.1.263"],
16
+ codex: CODEX_NATIVE_QUESTIONNAIRE_PROFILES["0.153.4"]
5
17
  });
6
- const CLAUDE_VERSION = "2.1.263";
7
- const CODEX_VERSION = "0.153.4";
18
+ export function claudeNativeQuestionnaireProfile(version) {
19
+ return Object.hasOwn(CLAUDE_NATIVE_QUESTIONNAIRE_PROFILES, version)
20
+ ? CLAUDE_NATIVE_QUESTIONNAIRE_PROFILES[version]
21
+ : undefined;
22
+ }
23
+ export function codexNativeQuestionnaireProfile(version) {
24
+ return Object.hasOwn(CODEX_NATIVE_QUESTIONNAIRE_PROFILES, version)
25
+ ? CODEX_NATIVE_QUESTIONNAIRE_PROFILES[version]
26
+ : undefined;
27
+ }
8
28
  const MAX_CAPTURE_CHARACTERS = 128 * 1024;
9
29
  const MAX_CAPTURE_LINES = 240;
10
30
  const MAX_TEXT_ANSWER_CHARACTERS = 4_096;
@@ -157,13 +177,14 @@ function inspectClaudeQuestionnaire(options, screen) {
157
177
  return { status: "none", agent: "claude", reason: "no_questionnaire_surface" };
158
178
  }
159
179
  const bounds = candidateBounds(screen.lines, (line) => /^← [☐☒]/u.test(line) || /^ [☐☒] \S/u.test(line));
160
- if (options.version !== CLAUDE_VERSION) {
180
+ const profile = claudeNativeQuestionnaireProfile(options.version);
181
+ if (!profile) {
161
182
  return manualCandidate("claude", `claude-code/${options.version}/unsupported-questionnaire`, screen.lines, bounds, "unsupported_version");
162
183
  }
163
184
  if (screen.hadUnsafeControl) {
164
- return manualCandidate("claude", NATIVE_QUESTIONNAIRE_PROFILES.claude, screen.lines, bounds, "changed_shape");
185
+ return manualCandidate("claude", profile, screen.lines, bounds, "changed_shape");
165
186
  }
166
- const finalReview = parseClaudeFinalReview(screen.lines);
187
+ const finalReview = parseClaudeFinalReview(screen.lines, profile);
167
188
  if (finalReview) {
168
189
  return options.secret === true ||
169
190
  SECRET_INPUT_PATTERN.test(finalReview.prompt_evidence.exact_region)
@@ -175,7 +196,7 @@ function inspectClaudeQuestionnaire(options, screen) {
175
196
  }
176
197
  : finalReview;
177
198
  }
178
- const customTextEdit = parseClaudeCustomTextEdit(screen.lines);
199
+ const customTextEdit = parseClaudeCustomTextEdit(screen.lines, profile);
179
200
  if (customTextEdit) {
180
201
  return isSecretQuestion(options.secret, customTextEdit.question)
181
202
  ? {
@@ -188,9 +209,9 @@ function inspectClaudeQuestionnaire(options, screen) {
188
209
  }
189
210
  const choiceRegion = parseClaudeChoiceRegion(screen.lines);
190
211
  if (!choiceRegion) {
191
- return manualCandidate("claude", NATIVE_QUESTIONNAIRE_PROFILES.claude, screen.lines, bounds, "changed_shape");
212
+ return manualCandidate("claude", profile, screen.lines, bounds, "changed_shape");
192
213
  }
193
- return claudeChoiceInspection(choiceRegion, screen.lines, options.secret);
214
+ return claudeChoiceInspection(choiceRegion, screen.lines, options.secret, profile);
194
215
  }
195
216
  function parseClaudeHeader(line) {
196
217
  const single = /^ ☐ (\S.*)$/u.exec(line);
@@ -331,21 +352,21 @@ function normalizedOptions(profile, prompt, rows) {
331
352
  ...(row.description === undefined ? {} : { description: row.description })
332
353
  }));
333
354
  }
334
- function claudeChoiceInspection(region, lines, explicitSecret) {
355
+ function claudeChoiceInspection(region, lines, explicitSecret, profile) {
335
356
  const multiSelect = region.options.every((option) => /^\[(?: |\u2714)\] /u.test(option.label));
336
357
  const mixedKinds = !multiSelect && region.options.some((option) => /^\[[^\]]*\] /u.test(option.label));
337
- const options = normalizedOptions(NATIVE_QUESTIONNAIRE_PROFILES.claude, region.prompt, region.options);
358
+ const options = normalizedOptions(profile, region.prompt, region.options);
338
359
  const question = {
339
- question_id: semanticId("question", NATIVE_QUESTIONNAIRE_PROFILES.claude, region.prompt, region.header.currentStep),
360
+ question_id: semanticId("question", profile, region.prompt, region.header.currentStep),
340
361
  prompt: region.prompt,
341
362
  response_kind: multiSelect ? "multi_select" : "single_select",
342
363
  required: true,
343
364
  options
344
365
  };
345
- const evidence = promptEvidence(NATIVE_QUESTIONNAIRE_PROFILES.claude, lines, region.start, region.end, region.footer);
366
+ const evidence = promptEvidence(profile, lines, region.start, region.end, region.footer);
346
367
  const base = {
347
368
  agent: "claude",
348
- profile: NATIVE_QUESTIONNAIRE_PROFILES.claude,
369
+ profile,
349
370
  current_step: region.header.currentStep,
350
371
  total_steps: region.header.totalSteps,
351
372
  question,
@@ -378,7 +399,7 @@ function claudeChoiceInspection(region, lines, explicitSecret) {
378
399
  }
379
400
  };
380
401
  }
381
- function parseClaudeFinalReview(lines) {
402
+ function parseClaudeFinalReview(lines, profile) {
382
403
  const readyIndex = lastIndexMatching(lines, (line) => line === "Ready to submit your answers?");
383
404
  const afterReady = lines.slice(readyIndex + 1).filter((line) => line !== "");
384
405
  if (readyIndex < 2 ||
@@ -403,7 +424,7 @@ function parseClaudeFinalReview(lines) {
403
424
  }
404
425
  const end = lines.length - 1;
405
426
  const question = {
406
- question_id: semanticId("question", NATIVE_QUESTIONNAIRE_PROFILES.claude, "final-review", header.totalSteps),
427
+ question_id: semanticId("question", profile, "final-review", header.totalSteps),
407
428
  prompt: "Ready to submit your answers?",
408
429
  response_kind: "confirm",
409
430
  required: true
@@ -411,11 +432,11 @@ function parseClaudeFinalReview(lines) {
411
432
  return {
412
433
  status: "actionable",
413
434
  agent: "claude",
414
- profile: NATIVE_QUESTIONNAIRE_PROFILES.claude,
435
+ profile,
415
436
  current_step: header.currentStep,
416
437
  total_steps: header.totalSteps,
417
438
  question,
418
- prompt_evidence: promptEvidence(NATIVE_QUESTIONNAIRE_PROFILES.claude, lines, start, end),
439
+ prompt_evidence: promptEvidence(profile, lines, start, end),
419
440
  action_plan: {
420
441
  kind: "confirm",
421
442
  confirm_stages: [{ kind: "key", key: "1" }],
@@ -423,7 +444,7 @@ function parseClaudeFinalReview(lines) {
423
444
  }
424
445
  };
425
446
  }
426
- function parseClaudeCustomTextEdit(lines) {
447
+ function parseClaudeCustomTextEdit(lines, profile) {
427
448
  const editIndex = lastIndexMatching(lines, (line) => line.includes("ctrl+g to edit in Vim"));
428
449
  if (editIndex < 0 ||
429
450
  editIndex !== lines.length - 1 ||
@@ -456,7 +477,7 @@ function parseClaudeCustomTextEdit(lines) {
456
477
  return undefined;
457
478
  }
458
479
  const question = {
459
- question_id: semanticId("question", NATIVE_QUESTIONNAIRE_PROFILES.claude, prompt, "custom-text"),
480
+ question_id: semanticId("question", profile, prompt, "custom-text"),
460
481
  prompt,
461
482
  response_kind: "free_text",
462
483
  required: true
@@ -464,11 +485,11 @@ function parseClaudeCustomTextEdit(lines) {
464
485
  return {
465
486
  status: "actionable",
466
487
  agent: "claude",
467
- profile: NATIVE_QUESTIONNAIRE_PROFILES.claude,
488
+ profile,
468
489
  current_step: header.currentStep,
469
490
  total_steps: header.totalSteps,
470
491
  question,
471
- prompt_evidence: promptEvidence(NATIVE_QUESTIONNAIRE_PROFILES.claude, lines, start, editIndex),
492
+ prompt_evidence: promptEvidence(profile, lines, start, editIndex),
472
493
  action_plan: {
473
494
  kind: "free_text",
474
495
  stages: [
@@ -488,13 +509,14 @@ function inspectCodexQuestionnaire(options, screen) {
488
509
  }
489
510
  const bounds = candidateBounds(screen.lines, (line) => /^ Question \d+\/\d+ \(/u.test(line) ||
490
511
  line === " Submit with unanswered questions?");
491
- if (options.version !== CODEX_VERSION) {
512
+ const profile = codexNativeQuestionnaireProfile(options.version);
513
+ if (!profile) {
492
514
  return manualCandidate("codex", `codex/${options.version}/unsupported-questionnaire`, screen.lines, bounds, "unsupported_version");
493
515
  }
494
516
  if (screen.hadUnsafeControl) {
495
- return manualCandidate("codex", NATIVE_QUESTIONNAIRE_PROFILES.codex, screen.lines, bounds, "changed_shape");
517
+ return manualCandidate("codex", profile, screen.lines, bounds, "changed_shape");
496
518
  }
497
- const unanswered = parseCodexUnansweredConfirmation(screen.lines);
519
+ const unanswered = parseCodexUnansweredConfirmation(screen.lines, profile);
498
520
  if (unanswered) {
499
521
  return options.secret
500
522
  ? { ...unanswered, status: "manual_required", reason: "secret_input", action_plan: { kind: "manual_only" } }
@@ -502,9 +524,9 @@ function inspectCodexQuestionnaire(options, screen) {
502
524
  }
503
525
  const region = parseCodexQuestionRegion(screen.lines);
504
526
  if (!region) {
505
- return manualCandidate("codex", NATIVE_QUESTIONNAIRE_PROFILES.codex, screen.lines, bounds, "changed_shape");
527
+ return manualCandidate("codex", profile, screen.lines, bounds, "changed_shape");
506
528
  }
507
- return codexQuestionInspection(region, screen.lines, options.secret);
529
+ return codexQuestionInspection(region, screen.lines, options.secret, profile);
508
530
  }
509
531
  function parseCodexHeader(line) {
510
532
  const match = /^ Question ([1-3])\/([1-3]) \(([0-3]+) unanswered\)$/u.exec(line);
@@ -647,8 +669,7 @@ function codexOpenCustomTextStages(options) {
647
669
  { kind: "key", key: "C-m" }
648
670
  ];
649
671
  }
650
- function codexProjectedChoices(prompt, options) {
651
- const profile = NATIVE_QUESTIONNAIRE_PROFILES.codex;
672
+ function codexProjectedChoices(prompt, options, profile) {
652
673
  const normalized = normalizedOptions(profile, prompt, options);
653
674
  const nativeChoices = normalized.map((option, index) => {
654
675
  const customText = isCodexCustomTextOption(options[index], index, options);
@@ -788,17 +809,17 @@ function parseCodexQuestionRegion(lines) {
788
809
  }
789
810
  : undefined;
790
811
  }
791
- function codexQuestionInspection(region, lines, explicitSecret) {
812
+ function codexQuestionInspection(region, lines, explicitSecret, profile) {
792
813
  const nativeNormalized = region.options
793
- ? normalizedOptions(NATIVE_QUESTIONNAIRE_PROFILES.codex, region.prompt, region.options)
814
+ ? normalizedOptions(profile, region.prompt, region.options)
794
815
  : undefined;
795
816
  const projectedChoices = region.mode === "options" && region.options
796
- ? codexProjectedChoices(region.prompt, region.options)
817
+ ? codexProjectedChoices(region.prompt, region.options, profile)
797
818
  : undefined;
798
819
  const publicOptions = projectedChoices?.map((choice) => choice.option);
799
820
  const textMode = region.mode !== "options";
800
821
  const question = {
801
- question_id: semanticId("question", NATIVE_QUESTIONNAIRE_PROFILES.codex, region.prompt, region.header.currentStep, ...(region.mode === "custom_text"
822
+ question_id: semanticId("question", profile, region.prompt, region.header.currentStep, ...(region.mode === "custom_text"
802
823
  ? ["custom-text", region.customTextOption?.number, region.customTextOption?.label]
803
824
  : [])),
804
825
  prompt: region.prompt,
@@ -810,11 +831,11 @@ function codexQuestionInspection(region, lines, explicitSecret) {
810
831
  };
811
832
  const base = {
812
833
  agent: "codex",
813
- profile: NATIVE_QUESTIONNAIRE_PROFILES.codex,
834
+ profile,
814
835
  current_step: region.header.currentStep,
815
836
  total_steps: region.header.totalSteps,
816
837
  question,
817
- prompt_evidence: promptEvidence(NATIVE_QUESTIONNAIRE_PROFILES.codex, lines, region.start, region.end, region.footer)
838
+ prompt_evidence: promptEvidence(profile, lines, region.start, region.end, region.footer)
818
839
  };
819
840
  const secretProbe = nativeNormalized === undefined
820
841
  ? question
@@ -853,7 +874,7 @@ function codexQuestionInspection(region, lines, explicitSecret) {
853
874
  }
854
875
  };
855
876
  }
856
- function parseCodexUnansweredConfirmation(lines) {
877
+ function parseCodexUnansweredConfirmation(lines, profile) {
857
878
  const end = lines.length - 1;
858
879
  if (lines[end] !== CODEX_UNANSWERED_FOOTER) {
859
880
  return undefined;
@@ -874,16 +895,16 @@ function parseCodexUnansweredConfirmation(lines) {
874
895
  return {
875
896
  status: "actionable",
876
897
  agent: "codex",
877
- profile: NATIVE_QUESTIONNAIRE_PROFILES.codex,
898
+ profile,
878
899
  current_step: 1,
879
900
  total_steps: 1,
880
901
  question: {
881
- question_id: semanticId("question", NATIVE_QUESTIONNAIRE_PROFILES.codex, prompt, countMatch[1]),
902
+ question_id: semanticId("question", profile, prompt, countMatch[1]),
882
903
  prompt,
883
904
  response_kind: "confirm",
884
905
  required: true
885
906
  },
886
- prompt_evidence: promptEvidence(NATIVE_QUESTIONNAIRE_PROFILES.codex, lines, start, end, CODEX_UNANSWERED_FOOTER),
907
+ prompt_evidence: promptEvidence(profile, lines, start, end, CODEX_UNANSWERED_FOOTER),
887
908
  action_plan: {
888
909
  kind: "confirm",
889
910
  confirm_stages: [{ kind: "key", key: "C-m" }],
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-questionnaire-adapter.js","sourceRoot":"","sources":["../../src/terminal-questionnaire-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-questionnaire-adapter.js","sourceRoot":"","sources":["../../src/terminal-questionnaire-adapter.ts"],"names":[],"mappings":"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"}
@@ -307,6 +307,114 @@ export function terminalWatchCallbackMessage(input) {
307
307
  : [])
308
308
  ].join("\n");
309
309
  }
310
+ /**
311
+ * v1 and early-v2 Watches persisted the complete callback envelope before the
312
+ * callback presentation gained `watch_origin`, `watch_mode`, and `confidence`.
313
+ * Keep the two exact predecessor presentations readable: the route, delivery
314
+ * identity, Watch/terminal source, event identity, and response bit remain
315
+ * validated separately and are never inferred or relaxed.
316
+ *
317
+ * Do not reuse `terminalWatchCallbackMessage` here. This is intentionally a
318
+ * frozen compatibility projection for envelopes already persisted by
319
+ * 8d0db82 (human-started Watch) and 23fe415 (user-explicit fallback Watch).
320
+ */
321
+ function predecessorTerminalWatchCallbackEnvelope(watch, notification, route) {
322
+ if (notification.kind === "interaction_required" ||
323
+ notification.kind === "interaction_manual_required" ||
324
+ isTerminalActivityWatch(watch)) {
325
+ return undefined;
326
+ }
327
+ const humanStarted = watch.anchor.schema ===
328
+ "agent-knock-knock/codex-human-started-active-task-anchor" ||
329
+ watch.anchor.schema ===
330
+ "agent-knock-knock/claude-human-started-active-task-anchor";
331
+ const userExplicitFallback = isUserExplicitFallbackWatch(watch);
332
+ if (!humanStarted && !userExplicitFallback)
333
+ return undefined;
334
+ const event = notification.kind === "approval"
335
+ ? "approval_required"
336
+ : notification.kind;
337
+ const reasonCode = notification.kind === "approval"
338
+ ? notification.reason_code
339
+ : notification.reason_code ?? watch.settlement?.reason_code;
340
+ const eventInstruction = event === "approval_required"
341
+ ? "Tell the user that the observed TUI task is waiting for approval and ask the human to inspect and decide in the named live TUI. Do not call any AKK approval tool or action, do not send approval keys, and do not use autoApprove."
342
+ : event === "completed"
343
+ ? userExplicitFallback
344
+ ? "Tell the user that the request delivered through AKK's user-explicit unmanaged fallback completed and summarize only the bounded completion text below."
345
+ : "Tell the user that the human-started TUI task completed and summarize only the bounded completion text below."
346
+ : "Tell the user that Terminal Watch stopped without a verified successful completion and explain the exact reason below.";
347
+ const completionText = notification.kind === "completed" ||
348
+ notification.kind === "failed"
349
+ ? watch.settlement?.completion_text
350
+ : undefined;
351
+ const body = [
352
+ "Continue this controller conversation from the Agent Knock Knock Terminal Watch event below.",
353
+ userExplicitFallback
354
+ ? "AKK delivered this exact request through terminal_user_explicit unmanaged fallback and then attached Terminal Watch. It is not a managed AKK Turn."
355
+ : "This is an observation of a task started by the human directly in Codex or Claude Code. It is not an AKK Turn and AKK did not send terminal input.",
356
+ eventInstruction,
357
+ "Do not poll files, processes, terminal panes, stdout, or stderr. Use only this structured event.",
358
+ "",
359
+ `[AKK Terminal Watch: ${event}]`,
360
+ `Watch: ${watch.watch_id}`,
361
+ `Terminal: ${watch.terminal.terminal_id}`,
362
+ `Agent: ${watch.agent}`,
363
+ ...(reasonCode ? [`Detail: ${reasonCode}`] : []),
364
+ ...(completionText
365
+ ? ["", "Bounded completion text:", completionText]
366
+ : [])
367
+ ].join("\n");
368
+ return createCallbackEnvelope({
369
+ route,
370
+ deliveryId: notification.notification_id,
371
+ idempotencyKey: notification.idempotency_key,
372
+ source: {
373
+ kind: "terminal_watch",
374
+ watch_id: watch.watch_id,
375
+ terminal_id: watch.terminal.terminal_id
376
+ },
377
+ event: {
378
+ id: notification.notification_id,
379
+ type: event,
380
+ body,
381
+ requires_response: true,
382
+ metadata: {
383
+ agent: watch.agent,
384
+ ...(reasonCode ? { reason_code: reasonCode } : {}),
385
+ ...(completionText ? { completion_text: completionText } : {})
386
+ }
387
+ }
388
+ });
389
+ }
390
+ /**
391
+ * A predecessor file is validated against its exact historical presentation
392
+ * before this in-memory migration runs. Returning the current deterministic
393
+ * envelope keeps all public validation and every subsequently-saved v3 record
394
+ * strict; merely reading a legacy file does not rewrite Store history.
395
+ */
396
+ function upgradePredecessorCallbackPresentations(watch) {
397
+ let changed = false;
398
+ const notificationOutbox = watch.notification_outbox.map((notification) => {
399
+ if (notification.callback_route === undefined ||
400
+ notification.callback_envelope === undefined) {
401
+ return notification;
402
+ }
403
+ const route = parseCallbackRoute(notification.callback_route);
404
+ const predecessor = predecessorTerminalWatchCallbackEnvelope(watch, notification, route);
405
+ if (predecessor === undefined ||
406
+ canonicalJson(notification.callback_envelope) !==
407
+ canonicalJson(predecessor)) {
408
+ return notification;
409
+ }
410
+ changed = true;
411
+ return {
412
+ ...notification,
413
+ callback_envelope: terminalWatchCallbackEnvelope(watch, notification, route)
414
+ };
415
+ });
416
+ return changed ? { ...watch, notification_outbox: notificationOutbox } : watch;
417
+ }
310
418
  export class TerminalWatchConflictError extends Error {
311
419
  code = "AKK_TERMINAL_WATCH_CONFLICT";
312
420
  watchId;
@@ -570,6 +678,9 @@ const NOTIFICATION_SHAPES = {
570
678
  superseded: [0, ["superseded_at"]]
571
679
  };
572
680
  export function assertTerminalWatch(value, expectedWatchId, options = {}) {
681
+ assertTerminalWatchRecord(value, expectedWatchId, options);
682
+ }
683
+ function assertTerminalWatchRecord(value, expectedWatchId, options) {
573
684
  assertStrictRecord(value, "terminal Watch", WATCH_FIELDS);
574
685
  if (expectedWatchId !== undefined && value.watch_id !== expectedWatchId) {
575
686
  throw new Error(`terminal Watch id ${String(value.watch_id)} does not match ${expectedWatchId}`);
@@ -642,7 +753,7 @@ export function assertTerminalWatch(value, expectedWatchId, options = {}) {
642
753
  Date.parse(watch.updated_at)))) {
643
754
  throw new Error("terminal Watch settlement cannot be newer than its state");
644
755
  }
645
- assertNotificationOutbox(watch);
756
+ assertNotificationOutbox(watch, options.allowPredecessorCallbackPresentation === true);
646
757
  }
647
758
  export function saveTerminalWatch(storeDir, watch, options) {
648
759
  assertTerminalWatch(watch, undefined, { allowMissingRevision: true });
@@ -770,11 +881,18 @@ function scanTerminalWatchDirectory(storeDir, isolateInvalidRecord) {
770
881
  function decodeTerminalWatch(value, expectedWatchId) {
771
882
  const sourceVersion = isRecord(value) ? value.version : undefined;
772
883
  const normalized = normalizeLegacyTerminalWatch(value);
773
- assertTerminalWatch(normalized, expectedWatchId);
884
+ const predecessorPresentation = sourceVersion === 1 || sourceVersion === 2;
885
+ assertTerminalWatchRecord(normalized, expectedWatchId, {
886
+ allowPredecessorCallbackPresentation: predecessorPresentation
887
+ });
888
+ const presentationUpgraded = predecessorPresentation
889
+ ? upgradePredecessorCallbackPresentations(normalized)
890
+ : normalized;
891
+ assertTerminalWatch(presentationUpgraded, expectedWatchId);
774
892
  const repaired = sourceVersion === 2 ||
775
893
  sourceVersion === TERMINAL_WATCH_VERSION
776
- ? repairMisroutedUserExplicitFallbackCallback(normalized)
777
- : normalized;
894
+ ? repairMisroutedUserExplicitFallbackCallback(presentationUpgraded)
895
+ : presentationUpgraded;
778
896
  assertTerminalWatch(repaired, expectedWatchId);
779
897
  return repaired;
780
898
  }
@@ -1146,12 +1264,12 @@ function assertSettlement(value, status) {
1146
1264
  throw new Error("only completed or failed terminal Watches may carry completion output");
1147
1265
  }
1148
1266
  }
1149
- function assertNotificationOutbox(watch) {
1267
+ function assertNotificationOutbox(watch, allowPredecessorCallbackPresentation = false) {
1150
1268
  const seenIds = new Set();
1151
1269
  const seenEvidence = new Set();
1152
1270
  let previousCreatedAt = Date.parse(watch.created_at);
1153
1271
  for (const notification of watch.notification_outbox) {
1154
- assertNotification(notification, watch);
1272
+ assertNotification(notification, watch, allowPredecessorCallbackPresentation);
1155
1273
  if (seenIds.has(notification.notification_id)) {
1156
1274
  throw new Error("terminal Watch notification ids must be unique");
1157
1275
  }
@@ -1182,7 +1300,7 @@ function assertNotificationOutbox(watch) {
1182
1300
  throw new Error("an active terminal Watch cannot have an outcome notification");
1183
1301
  }
1184
1302
  }
1185
- function assertNotification(value, watch) {
1303
+ function assertNotification(value, watch, allowPredecessorCallbackPresentation) {
1186
1304
  assertStrictRecord(value, "terminal Watch notification", NOTIFICATION_FIELDS);
1187
1305
  const notification = value;
1188
1306
  if (notification.kind === "interaction_manual_required") {
@@ -1199,7 +1317,7 @@ function assertNotification(value, watch) {
1199
1317
  }
1200
1318
  const [minimumAttempts, receiptFields] = NOTIFICATION_SHAPES[notification.status];
1201
1319
  assertNotificationShape(value, minimumAttempts, receiptFields);
1202
- terminalWatchNotificationCallbackSnapshot(watch, notification);
1320
+ parseTerminalWatchNotificationCallbackSnapshot(watch, notification, allowPredecessorCallbackPresentation);
1203
1321
  }
1204
1322
  export function assertTerminalWatchManualInteractionSummary(value) {
1205
1323
  assertStrictRecord(value, "terminal Watch manual interaction", {
@@ -1330,6 +1448,9 @@ function assertBoundedInteractionText(value, label, maxCharacters) {
1330
1448
  * fields; a partial or malformed snapshot is never treated as legacy.
1331
1449
  */
1332
1450
  export function terminalWatchNotificationCallbackSnapshot(watch, notification) {
1451
+ return parseTerminalWatchNotificationCallbackSnapshot(watch, notification, false);
1452
+ }
1453
+ function parseTerminalWatchNotificationCallbackSnapshot(watch, notification, allowPredecessorCallbackPresentation) {
1333
1454
  const hasRoute = Object.hasOwn(notification, "callback_route");
1334
1455
  const hasEnvelope = Object.hasOwn(notification, "callback_envelope");
1335
1456
  if (hasRoute !== hasEnvelope) {
@@ -1365,6 +1486,11 @@ export function terminalWatchNotificationCallbackSnapshot(watch, notification) {
1365
1486
  ? "approval_required"
1366
1487
  : notification.kind;
1367
1488
  const expectedEnvelope = terminalWatchCallbackEnvelope(watch, notification, expectedRoute);
1489
+ const predecessorEnvelope = predecessorTerminalWatchCallbackEnvelope(watch, notification, expectedRoute);
1490
+ const hasKnownPresentation = canonicalJson(envelope) === canonicalJson(expectedEnvelope) ||
1491
+ (allowPredecessorCallbackPresentation &&
1492
+ predecessorEnvelope !== undefined &&
1493
+ canonicalJson(envelope) === canonicalJson(predecessorEnvelope));
1368
1494
  const watchRoute = watch.callback_route === undefined
1369
1495
  ? undefined
1370
1496
  : parseCallbackRoute(watch.callback_route);
@@ -1385,7 +1511,7 @@ export function terminalWatchNotificationCallbackSnapshot(watch, notification) {
1385
1511
  envelope.event.id !== notification.notification_id ||
1386
1512
  envelope.event.type !== expectedEvent ||
1387
1513
  envelope.event.requires_response !== true ||
1388
- canonicalJson(envelope) !== canonicalJson(expectedEnvelope)) {
1514
+ !hasKnownPresentation) {
1389
1515
  throw new Error("terminal Watch notification callback snapshot does not match its immutable identity");
1390
1516
  }
1391
1517
  return { route, envelope };