@akagilnc/pi-workflow-roles 0.1.5068 → 0.1.5079

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.
@@ -1499,6 +1499,15 @@ ${serializeReceipt(result.submission)}`;
1499
1499
  }
1500
1500
  return `\u95E8\u4E0B\u7701 ${result.status}\uFF08${result.stage}\uFF09\uFF1A${result.reason}`;
1501
1501
  }
1502
+ function unreadableDiscriminatorNotice(field, received) {
1503
+ if (received === void 0) return `\u8BFB\u4E0D\u51FA ${field}`;
1504
+ return `\u8BFB\u4E0D\u51FA ${field}\uFF1A${readableGateItem(received)}`;
1505
+ }
1506
+ function receivedDiscriminator(receipt, field) {
1507
+ if (receipt === null || typeof receipt !== "object" || Array.isArray(receipt)) return void 0;
1508
+ if (!Object.hasOwn(receipt, field)) return void 0;
1509
+ return receipt[field];
1510
+ }
1502
1511
  var GatekeeperDecisionError, WorkerCommitReminderError, WorkerPrefixReminderError, WorkerUnfinishedReasonReminderError, ParentQueueReaskError;
1503
1512
  var init_submission_errors = __esm({
1504
1513
  "src/submission-errors.ts"() {
@@ -2475,7 +2484,10 @@ function openToolObjectFromUnion(schema) {
2475
2484
  }
2476
2485
  function openToolObject(schema) {
2477
2486
  const object = Type2.Object(
2478
- Object.fromEntries(Object.entries(schema.properties).map(([name, declaration]) => [name, Type2.Optional(described(name, declaration))])),
2487
+ Object.fromEntries(Object.entries(schema.properties).map(([name, declaration]) => [
2488
+ name,
2489
+ Type2.Optional(described(name, declaration))
2490
+ ])),
2479
2491
  { additionalProperties: true }
2480
2492
  );
2481
2493
  object.required = [];
@@ -2501,7 +2513,9 @@ function withTerminatingOutputDeclarations(schema) {
2501
2513
  [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureDeclarationSchema.properties[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]
2502
2514
  };
2503
2515
  const object = Type3.Object(properties, { additionalProperties: true });
2504
- object.required = [];
2516
+ const incoming = schema.required;
2517
+ const preserved = Array.isArray(incoming) ? incoming.filter((key) => typeof key === "string" && Object.hasOwn(properties, key)) : [];
2518
+ object.required = preserved;
2505
2519
  return object;
2506
2520
  }
2507
2521
  function isInfrastructureFailureDeclaration(parameters) {
@@ -2659,51 +2673,41 @@ var init_navigator_output = __esm({
2659
2673
 
2660
2674
  // src/review-submission.ts
2661
2675
  import { Type as Type6 } from "typebox";
2662
- var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, reviewSubmissionSchema;
2676
+ var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewSubmissionSchema;
2663
2677
  var init_review_submission = __esm({
2664
2678
  "src/review-submission.ts"() {
2665
2679
  "use strict";
2666
- init_open_tool_schema();
2667
2680
  init_terminating_infrastructure();
2668
2681
  REVIEW_SUBMISSION_OUTPUT_TOOL_NAME = "ak_submission_output";
2682
+ REVIEW_QUEUE_WORDS = ["converged", "continue", "escalate"];
2683
+ REVIEW_QUEUE_STATUSES = new Set(REVIEW_QUEUE_WORDS);
2669
2684
  reviewSubmissionSchema = withTerminatingOutputDeclarations(
2670
- openToolObject(
2671
- Type6.Object({
2672
- status: Type6.Optional(Type6.Unknown({
2673
- description: "converged | continue | escalate \u2014 \u975E\u4E09\u6001\u65F6\u8BF7\u91CD\u8BFB\u540E\u91CD\u4EA4\uFF0C\u52FF\u6539\u6807\u3002"
2674
- })),
2675
- findings: Type6.Optional(Type6.Unknown({ description: "\u5BA1\u6838\u53D1\u73B0\uFF0C\u539F\u6837\u7559\u5B58" })),
2676
- reason: Type6.Optional(Type6.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
2677
- violations: Type6.Optional(Type6.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
2678
- conflicts: Type6.Optional(Type6.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
2679
- fix: Type6.Optional(Type6.Unknown({ description: "continue \u65F6\u7684\u8865\u6551\u8BF4\u660E\uFF1B\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58" })),
2680
- classes: Type6.Optional(Type6.Unknown({ description: "\u5DF2\u88C1\u51B3 finding \u7C7B\uFF1B\u53EF\u8BF4\u660E name\u3001owner\u3001boundary\u3001disposition\uFF0C\u539F\u6837\u7559\u5B58" })),
2681
- note: Type6.Optional(Type6.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
2682
- evidence: Type6.Optional(Type6.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
2683
- decisionGate: Type6.Optional(Type6.Unknown({ description: "\u9700\u4EBA\u6743\u5A01\u5904\u7F6E\u7684\u95EE\u9898\u4E0E\u9009\u9879\uFF1B\u53EF\u8BF4\u660E question\u3001options\uFF0C\u539F\u6837\u7559\u5B58" }))
2684
- })
2685
- )
2685
+ Type6.Object({
2686
+ status: Type6.Union(
2687
+ [
2688
+ Type6.Literal(REVIEW_QUEUE_WORDS[0]),
2689
+ Type6.Literal(REVIEW_QUEUE_WORDS[1]),
2690
+ Type6.Literal(REVIEW_QUEUE_WORDS[2])
2691
+ ],
2692
+ {
2693
+ description: "\u5BA1\u6838\u961F\u5217\u4E09\u6001\u679A\u4E3E\uFF0C\u5FC5\u586B\u3002\u5BA1\u6838\u5E2D\u4ECD\u80FD\u4EA4\u5377\u800C\u5B8C\u6210\u5BA1\u6838\u6240\u9700\u7684\u5916\u90E8\u4F9D\u8D56\u53D1\u751F\u771F\u5B9E\u57FA\u7840\u8BBE\u65BD\u5931\u8D25\u65F6\uFF0Cstatus \u53D6 escalate\uFF0C\u7EC6\u8282\u5199\u5165 infrastructureFailure\u3002\u4E0D\u5F97\u7701\u7565 status\uFF0C\u4E0D\u5F97\u7528\u53E6\u4E24\u4E2A\u679A\u4E3E\u503C\u5145\u5F53\u653E\u884C\u6216\u5C01\u9A73\u3002\u5305\u4FA7\u4E0D\u56E0\u683C\u5F0F\u62D2\u6536\u3002"
2694
+ }
2695
+ ),
2696
+ findings: Type6.Optional(Type6.Unknown({ description: "\u5BA1\u6838\u53D1\u73B0\uFF0C\u539F\u6837\u7559\u5B58" })),
2697
+ reason: Type6.Optional(Type6.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
2698
+ violations: Type6.Optional(Type6.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
2699
+ conflicts: Type6.Optional(Type6.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
2700
+ fix: Type6.Optional(Type6.Unknown({ description: "continue \u65F6\u7684\u8865\u6551\u8BF4\u660E\uFF1B\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58" })),
2701
+ classes: Type6.Optional(Type6.Unknown({ description: "\u5DF2\u88C1\u51B3 finding \u7C7B\uFF1B\u53EF\u8BF4\u660E name\u3001owner\u3001boundary\u3001disposition\uFF0C\u539F\u6837\u7559\u5B58" })),
2702
+ note: Type6.Optional(Type6.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
2703
+ evidence: Type6.Optional(Type6.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
2704
+ decisionGate: Type6.Optional(Type6.Unknown({ description: "\u9700\u4EBA\u6743\u5A01\u5904\u7F6E\u7684\u95EE\u9898\u4E0E\u9009\u9879\uFF1B\u53EF\u8BF4\u660E question\u3001options\uFF0C\u539F\u6837\u7559\u5B58" }))
2705
+ }, { additionalProperties: true })
2686
2706
  );
2687
2707
  }
2688
2708
  });
2689
2709
 
2690
2710
  // src/package-contracts/judge-output.ts
2691
- function validateAcceptedJudgeDetails(verdict) {
2692
- if (verdict === null || typeof verdict !== "object" || Array.isArray(verdict)) throw new Error("Judge verdict has no execution discriminator");
2693
- let status;
2694
- try {
2695
- status = verdict.status;
2696
- } catch {
2697
- throw new Error("Judge verdict has no execution discriminator");
2698
- }
2699
- if (typeof status !== "string") {
2700
- throw new Error("Judge verdict has no execution discriminator");
2701
- }
2702
- if (["converged", "continue", "escalate"].includes(status)) {
2703
- return verdict;
2704
- }
2705
- throw new Error("Judge verdict has no execution discriminator");
2706
- }
2707
2711
  var JUDGE_OUTPUT_TOOL_NAME;
2708
2712
  var init_judge_output = __esm({
2709
2713
  "src/package-contracts/judge-output.ts"() {
@@ -4269,10 +4273,7 @@ function readRecord(value) {
4269
4273
  return value;
4270
4274
  }
4271
4275
  function reviewQueueStatus(status) {
4272
- if (status === "converged") return "converged";
4273
- if (status === "continue") return "continue";
4274
- if (status === "escalate") return "escalate";
4275
- return void 0;
4276
+ return REVIEW_QUEUE_STATUSES.has(status) ? status : void 0;
4276
4277
  }
4277
4278
  function projectOfficerDecision(officer, decision, fallbackStatus) {
4278
4279
  const receipt = retainedReceipt(decision);
@@ -4285,7 +4286,7 @@ function projectOfficerDecision(officer, decision, fallbackStatus) {
4285
4286
  if (queueStatus === "continue" || queueStatus === "escalate") {
4286
4287
  return { status: queueStatus, officer, receipt };
4287
4288
  }
4288
- return { status: "needs_reask", officer, receipt };
4289
+ return { status: "needs_reask", officer, receipt, receivedStatus: status };
4289
4290
  }
4290
4291
  function thisCourtOfficerPayloads(terminal) {
4291
4292
  const outcome = terminal?.roleOutcome;
@@ -4371,18 +4372,20 @@ function projectOfficerTerminal(officer, summoned) {
4371
4372
  summoned
4372
4373
  );
4373
4374
  }
4375
+ const receipt = thisCourt.length > 0 ? thisCourt[thisCourt.length - 1] : retainedReceipt(outcome);
4374
4376
  return withOfficerRunId(
4375
4377
  {
4376
4378
  status: "needs_reask",
4377
4379
  officer,
4378
4380
  // This-court receipt only (#879).
4379
- receipt: thisCourt.length > 0 ? thisCourt[thisCourt.length - 1] : retainedReceipt(outcome)
4381
+ receipt,
4382
+ receivedStatus: receivedDiscriminator(receipt, "status")
4380
4383
  },
4381
4384
  summoned
4382
4385
  );
4383
4386
  }
4384
- function officerConclusionReask(officer) {
4385
- return OFFICER_CONCLUSION_REASK;
4387
+ function officerConclusionReask(received) {
4388
+ return unreadableDiscriminatorNotice("status", received);
4386
4389
  }
4387
4390
  async function projectGatekeeperRun(options) {
4388
4391
  const officer = gateOfficerForSubject(options.subject);
@@ -4418,7 +4421,7 @@ async function projectGatekeeperRun(options) {
4418
4421
  summoned
4419
4422
  };
4420
4423
  }
4421
- var GATE_OFFICER_BY_SUBJECT, GATEKEEPER_TOOL_SPEC, OFFICER_CONCLUSION_REASK;
4424
+ var GATE_OFFICER_BY_SUBJECT, GATEKEEPER_TOOL_SPEC;
4422
4425
  var init_gatekeeper_role = __esm({
4423
4426
  "src/gatekeeper-role.ts"() {
4424
4427
  "use strict";
@@ -4444,7 +4447,6 @@ var init_gatekeeper_role = __esm({
4444
4447
  promptSnippet: "\u95E8\u4E0B\u7701\u51B3\u8BAE",
4445
4448
  parameters: gatekeeperOutputSchema
4446
4449
  };
4447
- OFFICER_CONCLUSION_REASK = "\u4E0A\u6B21\u4EA4\u5377\u7684 status \u4E0D\u662F converged\u3001continue\u3001escalate \u4E09\u6001\u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u8F93\u51FA\uFF0Cstatus \u5199\u660E\u5176\u4E00\uFF1Bcontinue \u6216 escalate \u7684\u8BDD\u5C31\u662F\u7ED9\u5BF9\u65B9\u770B\u7684\u539F\u6587\u3002";
4448
4450
  }
4449
4451
  });
4450
4452
 
@@ -13381,17 +13383,20 @@ function createSubmissionLedgerHost(host, outputTools, failInfrastructure2 = (er
13381
13383
  });
13382
13384
  let result;
13383
13385
  try {
13384
- failOnInfrastructureFailureDeclaration(
13385
- params,
13386
- {
13387
- failInfrastructure(error, ctx) {
13388
- failInfrastructure2(error, ctx);
13389
- }
13390
- },
13391
- context,
13392
- toolCallId,
13393
- tool.bounceInfrastructureDeclaration
13394
- );
13386
+ const reviewEscalate = tool.name === REVIEW_SUBMISSION_OUTPUT_TOOL_NAME && infrastructureFailureDiagnostic(params) !== void 0 && params !== null && typeof params === "object" && !Array.isArray(params) && params.status === "escalate";
13387
+ if (!reviewEscalate) {
13388
+ failOnInfrastructureFailureDeclaration(
13389
+ params,
13390
+ {
13391
+ failInfrastructure(error, ctx) {
13392
+ failInfrastructure2(error, ctx);
13393
+ }
13394
+ },
13395
+ context,
13396
+ toolCallId,
13397
+ tool.bounceInfrastructureDeclaration
13398
+ );
13399
+ }
13395
13400
  result = await tool.execute(toolCallId, params, signal, update, context);
13396
13401
  } catch (error) {
13397
13402
  if (isCorrectableExecuteError(error)) {
@@ -13470,6 +13475,7 @@ var init_submission_ledger = __esm({
13470
13475
  init_run_lifecycle();
13471
13476
  init_submission_correctable_error();
13472
13477
  init_terminating_infrastructure();
13478
+ init_review_submission();
13473
13479
  }
13474
13480
  });
13475
13481
 
@@ -22573,7 +22579,7 @@ async function runComplianceAudit(options) {
22573
22579
  const summoned = await summon(subject, runDirectory, options.signal, reask, submission);
22574
22580
  const decision = await projectAuditorTerminal(summoned);
22575
22581
  if (decision.status === "received") {
22576
- reask = OFFICER_CONCLUSION_REASK;
22582
+ reask = officerConclusionReask(receivedDiscriminator(decision.reply, "status"));
22577
22583
  continue;
22578
22584
  }
22579
22585
  return decision;
@@ -22585,6 +22591,7 @@ var init_compliance_transport = __esm({
22585
22591
  "use strict";
22586
22592
  init_auditor_dossier_tool();
22587
22593
  init_gatekeeper_role();
22594
+ init_submission_errors();
22588
22595
  init_terminal();
22589
22596
  init_readable_gate_item();
22590
22597
  AUDITOR_DOSSIER_PROMPT = "\u5377\u5B97\u6307\u9488\uFF1A";
@@ -25707,12 +25714,7 @@ init_submission_errors();
25707
25714
  init_audit_escalation();
25708
25715
  init_readable_gate_item();
25709
25716
  init_judge_output();
25710
- var JUDGE_QUEUE_STATUSES = /* @__PURE__ */ new Set(["converged", "continue", "escalate"]);
25711
- var JUDGE_STATUS_REASK = "status \u4E0D\u662F converged\u3001continue\u3001escalate \u4E09\u6001\u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u4EA4\u5377\uFF0Cstatus \u5199\u660E\u5176\u4E00\u3002";
25712
25717
  var judgeVerdictSchema = reviewSubmissionSchema;
25713
- function validateVerdict(verdict) {
25714
- return validateAcceptedJudgeDetails(verdict);
25715
- }
25716
25718
  function createJudgeRoleRuntime(pi, dependencies, hostActions) {
25717
25719
  let soul;
25718
25720
  let lifecycleRegistered = false;
@@ -25731,18 +25733,17 @@ function createJudgeRoleRuntime(pi, dependencies, hostActions) {
25731
25733
  async execute(toolCallId, parameters, signal, _onUpdate, ctx) {
25732
25734
  if (soul === void 0) throw new Error("\u5927\u7406\u5BFA\u804C\u5206\u672A\u88C5\u8F7D");
25733
25735
  const rawStatus = parameters !== null && typeof parameters === "object" && !Array.isArray(parameters) && typeof parameters.status === "string" ? parameters.status : void 0;
25734
- if (rawStatus === void 0 || !JUDGE_QUEUE_STATUSES.has(rawStatus)) {
25735
- throw new ParentQueueReaskError(JUDGE_STATUS_REASK);
25736
+ if (rawStatus === void 0 || !REVIEW_QUEUE_STATUSES.has(rawStatus)) {
25737
+ const received = parameters !== null && typeof parameters === "object" && !Array.isArray(parameters) ? parameters.status : void 0;
25738
+ throw new ParentQueueReaskError(unreadableDiscriminatorNotice("status", received));
25736
25739
  }
25737
25740
  if (rawStatus === "escalate") {
25738
- const verdict2 = validateVerdict(parameters);
25739
25741
  return {
25740
25742
  content: [],
25741
- details: verdict2,
25743
+ details: parameters,
25742
25744
  terminate: true
25743
25745
  };
25744
25746
  }
25745
- const verdict = validateVerdict(parameters);
25746
25747
  let draftPass;
25747
25748
  try {
25748
25749
  const obtainedDraftPass = await pi.requireSubmissionGate({
@@ -25758,7 +25759,7 @@ function createJudgeRoleRuntime(pi, dependencies, hostActions) {
25758
25759
  if (draftPass?.status === "continue") {
25759
25760
  return {
25760
25761
  content: [{ type: "text", text: readableGateItem(draftPass.receipt) }],
25761
- details: verdict,
25762
+ details: parameters,
25762
25763
  terminate: false
25763
25764
  };
25764
25765
  }
@@ -25775,18 +25776,18 @@ function createJudgeRoleRuntime(pi, dependencies, hostActions) {
25775
25776
  if (compliancePass?.status === "continue") {
25776
25777
  return {
25777
25778
  content: [draftPass, compliancePass].filter((pass) => pass !== void 0).map((pass) => ({ type: "text", text: readableGateItem(pass.receipt) })),
25778
- details: verdict,
25779
+ details: parameters,
25779
25780
  terminate: false
25780
25781
  };
25781
25782
  }
25782
25783
  return {
25783
25784
  content: [draftPass, compliancePass].filter((pass) => pass !== void 0).map((pass) => ({ type: "text", text: readableGateItem(pass.receipt) })),
25784
- details: verdict,
25785
+ details: parameters,
25785
25786
  terminate: true
25786
25787
  };
25787
25788
  } catch (error) {
25788
25789
  if (error instanceof GatekeeperDecisionError && error.result.status === "escalate") {
25789
- return projectGatekeeperEscalation(error.result, verdict);
25790
+ return projectGatekeeperEscalation(error.result, parameters);
25790
25791
  }
25791
25792
  throw error;
25792
25793
  }
@@ -26208,14 +26209,13 @@ var WORKER_ROUTING_STATUSES = /* @__PURE__ */ new Set([
26208
26209
  "partially_completed",
26209
26210
  "unfinished"
26210
26211
  ]);
26211
- var WORKER_STATUS_REASK = "status \u4E0D\u662F planned\u3001completed\u3001refused\u3001partially_completed\u3001unfinished \u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u4EA4\u5377\uFF0Cstatus \u5199\u660E\u5176\u4E00\u3002";
26212
26212
  function workerStatusOf(output) {
26213
26213
  return isRecord18(output) && typeof output.status === "string" ? output.status : void 0;
26214
26214
  }
26215
26215
  function requireReadableWorkerStatus(output) {
26216
26216
  const status = workerStatusOf(output);
26217
26217
  if (status === void 0 || !WORKER_ROUTING_STATUSES.has(status)) {
26218
- throw new ParentQueueReaskError(WORKER_STATUS_REASK);
26218
+ throw new ParentQueueReaskError(unreadableDiscriminatorNotice("status", isRecord18(output) ? output.status : void 0));
26219
26219
  }
26220
26220
  return status;
26221
26221
  }
@@ -26558,6 +26558,7 @@ ${JSON.stringify(admitted)}
26558
26558
  init_navigator_invocation_identity();
26559
26559
  init_gatekeeper_role();
26560
26560
  init_submission_errors();
26561
+ init_review_submission();
26561
26562
  init_doctor_contracts();
26562
26563
  init_doctor_evidence();
26563
26564
  init_engine_detour();
@@ -26976,7 +26977,6 @@ function readDiaristRunCoordinates(ctx) {
26976
26977
  }
26977
26978
  var DIARIST_BOUNDS_REASK = "\u8FB9\u754C\u65E0\u6CD5\u4F7F\u7528\u3002\u8BF7\u91CD\u4EA4 sessions\uFF1A\u6BCF\u5377 path + ranges\uFF0C\u6BCF\u7AEF\u4EE5\u539F\u751F id \u6216\u672C\u8F6E\u884C\u53F7\u4E8C\u9009\u4E00\u6307\u540D\u3002";
26978
26979
  var DIARIST_ROUTING_STATUSES = /* @__PURE__ */ new Set(["completed", "escalate"]);
26979
- var DIARIST_STATUS_REASK = "status \u4E0D\u662F completed\u3001escalate \u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u4EA4\u5377\uFF0Cstatus \u5199\u660E\u5176\u4E00\u3002";
26980
26980
  function createDiaristRoleRuntime(roleHost, dependencies) {
26981
26981
  return createFiledOfficerRuntime(
26982
26982
  roleHost,
@@ -26988,7 +26988,7 @@ function createDiaristRoleRuntime(roleHost, dependencies) {
26988
26988
  const submitted = parameters !== null && typeof parameters === "object" && !Array.isArray(parameters) ? parameters : void 0;
26989
26989
  const status = submitted?.status;
26990
26990
  if (typeof status !== "string" || !DIARIST_ROUTING_STATUSES.has(status)) {
26991
- throw new ParentQueueReaskError(DIARIST_STATUS_REASK);
26991
+ throw new ParentQueueReaskError(unreadableDiscriminatorNotice("status", submitted?.status));
26992
26992
  }
26993
26993
  if (status === "escalate") return parameters;
26994
26994
  const assertion = readDiaristTicketAssertion(submitted);
@@ -27028,10 +27028,7 @@ ${error.message}`
27028
27028
  dependencies
27029
27029
  );
27030
27030
  }
27031
- var COUNTERSIGN_QUEUE_STATUSES = /* @__PURE__ */ new Set(["converged", "continue", "escalate"]);
27032
- var COUNTERSIGN_STATUS_REASK = "status \u4E0D\u662F converged\u3001continue\u3001escalate \u4E09\u6001\u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u4EA4\u5377\uFF0Cstatus \u5199\u660E\u5176\u4E00\u3002";
27033
27031
  var SECRETARIAT_QUEUE_STATUSES = /* @__PURE__ */ new Set(["converged", "escalate"]);
27034
- var SECRETARIAT_STATUS_REASK = "secretariatStatus \u4E0D\u662F converged\u3001escalate \u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u4EA4\u5377\uFF0Cstatus \u5199\u660E\u5176\u4E00\u3002";
27035
27032
  function createSecretariatRoleRuntime(roleHost, dependencies, hostActions) {
27036
27033
  const beforeAccept = hostActions !== void 0 ? async ({ toolCallId, parameters, signal, ctx }) => {
27037
27034
  if (roleHost.requireSubmissionGate === void 0) {
@@ -27042,7 +27039,9 @@ function createSecretariatRoleRuntime(roleHost, dependencies, hostActions) {
27042
27039
  const record4 = parameters !== null && typeof parameters === "object" && !Array.isArray(parameters) ? parameters : void 0;
27043
27040
  const status = record4 !== void 0 && typeof record4.secretariatStatus === "string" ? record4.secretariatStatus : void 0;
27044
27041
  if (status === void 0 || !SECRETARIAT_QUEUE_STATUSES.has(status)) {
27045
- throw new ParentQueueReaskError(SECRETARIAT_STATUS_REASK);
27042
+ throw new ParentQueueReaskError(
27043
+ unreadableDiscriminatorNotice("secretariatStatus", record4?.secretariatStatus)
27044
+ );
27046
27045
  }
27047
27046
  if (status === "escalate") {
27048
27047
  return void 0;
@@ -27136,8 +27135,8 @@ function createCountersignRoleRuntime(roleHost, dependencies, hostActions) {
27136
27135
  const beforeAccept = hostActions !== void 0 ? async ({ toolCallId, parameters, signal, ctx }) => {
27137
27136
  const record4 = parameters !== null && typeof parameters === "object" && !Array.isArray(parameters) ? parameters : void 0;
27138
27137
  const status = record4 !== void 0 && typeof record4.status === "string" ? record4.status : void 0;
27139
- if (status === void 0 || !COUNTERSIGN_QUEUE_STATUSES.has(status)) {
27140
- throw new ParentQueueReaskError(COUNTERSIGN_STATUS_REASK);
27138
+ if (status === void 0 || !REVIEW_QUEUE_STATUSES.has(status)) {
27139
+ throw new ParentQueueReaskError(unreadableDiscriminatorNotice("status", record4?.status));
27141
27140
  }
27142
27141
  if (status === "escalate") {
27143
27142
  return void 0;
@@ -28167,7 +28166,7 @@ async function requireSubmissionGate(options) {
28167
28166
  };
28168
28167
  }
28169
28168
  if (gatekeeper.status === "needs_reask") {
28170
- reask = officerConclusionReask(projected.officer);
28169
+ reask = officerConclusionReask(gatekeeper.receivedStatus);
28171
28170
  continue;
28172
28171
  }
28173
28172
  if (gatekeeper.status === "transport_failure") {
@@ -1,4 +1,4 @@
1
- import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "./review-submission.js";
1
+ import { REVIEW_QUEUE_STATUSES, REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "./review-submission.js";
2
2
  const INSPECTOR_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
3
3
  const INSPECTOR_SOURCE_RUN_FLAG = {
4
4
  name: "ak-inspector-source-run",
@@ -17,7 +17,10 @@ function validateRecordedInspectorOutput(value) {
17
17
  } catch {
18
18
  throw new Error("Inspector output has no execution discriminator");
19
19
  }
20
- if (status === "converged" || status === "continue" || status === "escalate") {
20
+ if (typeof status !== "string") {
21
+ throw new Error("Inspector output has no execution discriminator");
22
+ }
23
+ if (REVIEW_QUEUE_STATUSES.has(status)) {
21
24
  return value;
22
25
  }
23
26
  throw new Error("Inspector output has no execution discriminator");
@@ -8176,7 +8176,10 @@ function openToolObjectFromUnion(schema) {
8176
8176
  }
8177
8177
  function openToolObject(schema) {
8178
8178
  const object = typebox_exports.Object(
8179
- Object.fromEntries(Object.entries(schema.properties).map(([name, declaration]) => [name, typebox_exports.Optional(described(name, declaration))])),
8179
+ Object.fromEntries(Object.entries(schema.properties).map(([name, declaration]) => [
8180
+ name,
8181
+ typebox_exports.Optional(described(name, declaration))
8182
+ ])),
8180
8183
  { additionalProperties: true }
8181
8184
  );
8182
8185
  object.required = [];
@@ -8202,7 +8205,9 @@ function withTerminatingOutputDeclarations(schema) {
8202
8205
  [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureDeclarationSchema.properties[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]
8203
8206
  };
8204
8207
  const object = typebox_exports.Object(properties, { additionalProperties: true });
8205
- object.required = [];
8208
+ const incoming = schema.required;
8209
+ const preserved = Array.isArray(incoming) ? incoming.filter((key) => typeof key === "string" && Object.hasOwn(properties, key)) : [];
8210
+ object.required = preserved;
8206
8211
  return object;
8207
8212
  }
8208
8213
  var INFRASTRUCTURE_FAILURE_DECLARATION_KEY, INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY, infrastructureFailureNested, infrastructureFailureDeclarationSchema;
@@ -8283,31 +8288,37 @@ var init_navigator_output = __esm({
8283
8288
  });
8284
8289
 
8285
8290
  // src/review-submission.ts
8286
- var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, reviewSubmissionSchema;
8291
+ var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewSubmissionSchema;
8287
8292
  var init_review_submission = __esm({
8288
8293
  "src/review-submission.ts"() {
8289
8294
  "use strict";
8290
8295
  init_build();
8291
- init_open_tool_schema();
8292
8296
  init_terminating_infrastructure();
8293
8297
  REVIEW_SUBMISSION_OUTPUT_TOOL_NAME = "ak_submission_output";
8298
+ REVIEW_QUEUE_WORDS = ["converged", "continue", "escalate"];
8299
+ REVIEW_QUEUE_STATUSES = new Set(REVIEW_QUEUE_WORDS);
8294
8300
  reviewSubmissionSchema = withTerminatingOutputDeclarations(
8295
- openToolObject(
8296
- typebox_exports.Object({
8297
- status: typebox_exports.Optional(typebox_exports.Unknown({
8298
- description: "converged | continue | escalate \u2014 \u975E\u4E09\u6001\u65F6\u8BF7\u91CD\u8BFB\u540E\u91CD\u4EA4\uFF0C\u52FF\u6539\u6807\u3002"
8299
- })),
8300
- findings: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5BA1\u6838\u53D1\u73B0\uFF0C\u539F\u6837\u7559\u5B58" })),
8301
- reason: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
8302
- violations: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
8303
- conflicts: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
8304
- fix: typebox_exports.Optional(typebox_exports.Unknown({ description: "continue \u65F6\u7684\u8865\u6551\u8BF4\u660E\uFF1B\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58" })),
8305
- classes: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5DF2\u88C1\u51B3 finding \u7C7B\uFF1B\u53EF\u8BF4\u660E name\u3001owner\u3001boundary\u3001disposition\uFF0C\u539F\u6837\u7559\u5B58" })),
8306
- note: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
8307
- evidence: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
8308
- decisionGate: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u9700\u4EBA\u6743\u5A01\u5904\u7F6E\u7684\u95EE\u9898\u4E0E\u9009\u9879\uFF1B\u53EF\u8BF4\u660E question\u3001options\uFF0C\u539F\u6837\u7559\u5B58" }))
8309
- })
8310
- )
8301
+ typebox_exports.Object({
8302
+ status: typebox_exports.Union(
8303
+ [
8304
+ typebox_exports.Literal(REVIEW_QUEUE_WORDS[0]),
8305
+ typebox_exports.Literal(REVIEW_QUEUE_WORDS[1]),
8306
+ typebox_exports.Literal(REVIEW_QUEUE_WORDS[2])
8307
+ ],
8308
+ {
8309
+ description: "\u5BA1\u6838\u961F\u5217\u4E09\u6001\u679A\u4E3E\uFF0C\u5FC5\u586B\u3002\u5BA1\u6838\u5E2D\u4ECD\u80FD\u4EA4\u5377\u800C\u5B8C\u6210\u5BA1\u6838\u6240\u9700\u7684\u5916\u90E8\u4F9D\u8D56\u53D1\u751F\u771F\u5B9E\u57FA\u7840\u8BBE\u65BD\u5931\u8D25\u65F6\uFF0Cstatus \u53D6 escalate\uFF0C\u7EC6\u8282\u5199\u5165 infrastructureFailure\u3002\u4E0D\u5F97\u7701\u7565 status\uFF0C\u4E0D\u5F97\u7528\u53E6\u4E24\u4E2A\u679A\u4E3E\u503C\u5145\u5F53\u653E\u884C\u6216\u5C01\u9A73\u3002\u5305\u4FA7\u4E0D\u56E0\u683C\u5F0F\u62D2\u6536\u3002"
8310
+ }
8311
+ ),
8312
+ findings: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5BA1\u6838\u53D1\u73B0\uFF0C\u539F\u6837\u7559\u5B58" })),
8313
+ reason: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
8314
+ violations: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
8315
+ conflicts: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
8316
+ fix: typebox_exports.Optional(typebox_exports.Unknown({ description: "continue \u65F6\u7684\u8865\u6551\u8BF4\u660E\uFF1B\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58" })),
8317
+ classes: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5DF2\u88C1\u51B3 finding \u7C7B\uFF1B\u53EF\u8BF4\u660E name\u3001owner\u3001boundary\u3001disposition\uFF0C\u539F\u6837\u7559\u5B58" })),
8318
+ note: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
8319
+ evidence: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
8320
+ decisionGate: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u9700\u4EBA\u6743\u5A01\u5904\u7F6E\u7684\u95EE\u9898\u4E0E\u9009\u9879\uFF1B\u53EF\u8BF4\u660E question\u3001options\uFF0C\u539F\u6837\u7559\u5B58" }))
8321
+ }, { additionalProperties: true })
8311
8322
  );
8312
8323
  }
8313
8324
  });
@@ -14515,6 +14526,7 @@ var init_compliance_transport = __esm({
14515
14526
  "use strict";
14516
14527
  init_auditor_dossier_tool();
14517
14528
  init_gatekeeper_role();
14529
+ init_submission_errors();
14518
14530
  init_terminal();
14519
14531
  init_readable_gate_item();
14520
14532
  AUDITOR_PARENT_ATTEMPT_BINDING_ENTRY_TYPE = "ak_auditor_parent_attempt_binding";
@@ -28,7 +28,10 @@ function openToolObjectFromUnion(schema) {
28
28
  }
29
29
  function openToolObject(schema) {
30
30
  const object = Type.Object(
31
- Object.fromEntries(Object.entries(schema.properties).map(([name, declaration]) => [name, Type.Optional(described(name, declaration))])),
31
+ Object.fromEntries(Object.entries(schema.properties).map(([name, declaration]) => [
32
+ name,
33
+ Type.Optional(described(name, declaration))
34
+ ])),
32
35
  { additionalProperties: true }
33
36
  );
34
37
  object.required = [];
@@ -1,4 +1,4 @@
1
- import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "../review-submission.js";
1
+ import { REVIEW_QUEUE_STATUSES, REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "../review-submission.js";
2
2
  const JUDGE_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
3
3
  function validateAcceptedJudgeDetails(verdict) {
4
4
  if (verdict === null || typeof verdict !== "object" || Array.isArray(verdict)) throw new Error("Judge verdict has no execution discriminator");
@@ -11,7 +11,7 @@ function validateAcceptedJudgeDetails(verdict) {
11
11
  if (typeof status !== "string") {
12
12
  throw new Error("Judge verdict has no execution discriminator");
13
13
  }
14
- if (["converged", "continue", "escalate"].includes(status)) {
14
+ if (REVIEW_QUEUE_STATUSES.has(status)) {
15
15
  return verdict;
16
16
  }
17
17
  throw new Error("Judge verdict has no execution discriminator");
@@ -31,7 +31,9 @@ function withTerminatingOutputDeclarations(schema) {
31
31
  [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureDeclarationSchema.properties[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]
32
32
  };
33
33
  const object = Type.Object(properties, { additionalProperties: true });
34
- object.required = [];
34
+ const incoming = schema.required;
35
+ const preserved = Array.isArray(incoming) ? incoming.filter((key) => typeof key === "string" && Object.hasOwn(properties, key)) : [];
36
+ object.required = preserved;
35
37
  return object;
36
38
  }
37
39
  function isInfrastructureFailureDeclaration(parameters) {
@@ -75,5 +77,6 @@ export {
75
77
  INFRASTRUCTURE_FAILURE_DECLARATION_KEY,
76
78
  INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY,
77
79
  failOnInfrastructureFailureDeclaration,
80
+ infrastructureFailureDiagnostic,
78
81
  withTerminatingOutputDeclarations
79
82
  };
@@ -8775,7 +8775,10 @@ function openToolObjectFromUnion(schema) {
8775
8775
  }
8776
8776
  function openToolObject(schema) {
8777
8777
  const object = typebox_exports.Object(
8778
- Object.fromEntries(Object.entries(schema.properties).map(([name, declaration]) => [name, typebox_exports.Optional(described(name, declaration))])),
8778
+ Object.fromEntries(Object.entries(schema.properties).map(([name, declaration]) => [
8779
+ name,
8780
+ typebox_exports.Optional(described(name, declaration))
8781
+ ])),
8779
8782
  { additionalProperties: true }
8780
8783
  );
8781
8784
  object.required = [];
@@ -8801,7 +8804,9 @@ function withTerminatingOutputDeclarations(schema) {
8801
8804
  [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureDeclarationSchema.properties[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]
8802
8805
  };
8803
8806
  const object = typebox_exports.Object(properties, { additionalProperties: true });
8804
- object.required = [];
8807
+ const incoming = schema.required;
8808
+ const preserved = Array.isArray(incoming) ? incoming.filter((key) => typeof key === "string" && Object.hasOwn(properties, key)) : [];
8809
+ object.required = preserved;
8805
8810
  return object;
8806
8811
  }
8807
8812
  var INFRASTRUCTURE_FAILURE_DECLARATION_KEY, INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY, infrastructureFailureNested, infrastructureFailureDeclarationSchema;
@@ -8882,31 +8887,37 @@ var init_navigator_output = __esm({
8882
8887
  });
8883
8888
 
8884
8889
  // src/review-submission.ts
8885
- var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, reviewSubmissionSchema;
8890
+ var REVIEW_SUBMISSION_OUTPUT_TOOL_NAME, REVIEW_QUEUE_WORDS, REVIEW_QUEUE_STATUSES, reviewSubmissionSchema;
8886
8891
  var init_review_submission = __esm({
8887
8892
  "src/review-submission.ts"() {
8888
8893
  "use strict";
8889
8894
  init_build();
8890
- init_open_tool_schema();
8891
8895
  init_terminating_infrastructure();
8892
8896
  REVIEW_SUBMISSION_OUTPUT_TOOL_NAME = "ak_submission_output";
8897
+ REVIEW_QUEUE_WORDS = ["converged", "continue", "escalate"];
8898
+ REVIEW_QUEUE_STATUSES = new Set(REVIEW_QUEUE_WORDS);
8893
8899
  reviewSubmissionSchema = withTerminatingOutputDeclarations(
8894
- openToolObject(
8895
- typebox_exports.Object({
8896
- status: typebox_exports.Optional(typebox_exports.Unknown({
8897
- description: "converged | continue | escalate \u2014 \u975E\u4E09\u6001\u65F6\u8BF7\u91CD\u8BFB\u540E\u91CD\u4EA4\uFF0C\u52FF\u6539\u6807\u3002"
8898
- })),
8899
- findings: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5BA1\u6838\u53D1\u73B0\uFF0C\u539F\u6837\u7559\u5B58" })),
8900
- reason: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
8901
- violations: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
8902
- conflicts: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
8903
- fix: typebox_exports.Optional(typebox_exports.Unknown({ description: "continue \u65F6\u7684\u8865\u6551\u8BF4\u660E\uFF1B\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58" })),
8904
- classes: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5DF2\u88C1\u51B3 finding \u7C7B\uFF1B\u53EF\u8BF4\u660E name\u3001owner\u3001boundary\u3001disposition\uFF0C\u539F\u6837\u7559\u5B58" })),
8905
- note: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
8906
- evidence: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
8907
- decisionGate: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u9700\u4EBA\u6743\u5A01\u5904\u7F6E\u7684\u95EE\u9898\u4E0E\u9009\u9879\uFF1B\u53EF\u8BF4\u660E question\u3001options\uFF0C\u539F\u6837\u7559\u5B58" }))
8908
- })
8909
- )
8900
+ typebox_exports.Object({
8901
+ status: typebox_exports.Union(
8902
+ [
8903
+ typebox_exports.Literal(REVIEW_QUEUE_WORDS[0]),
8904
+ typebox_exports.Literal(REVIEW_QUEUE_WORDS[1]),
8905
+ typebox_exports.Literal(REVIEW_QUEUE_WORDS[2])
8906
+ ],
8907
+ {
8908
+ description: "\u5BA1\u6838\u961F\u5217\u4E09\u6001\u679A\u4E3E\uFF0C\u5FC5\u586B\u3002\u5BA1\u6838\u5E2D\u4ECD\u80FD\u4EA4\u5377\u800C\u5B8C\u6210\u5BA1\u6838\u6240\u9700\u7684\u5916\u90E8\u4F9D\u8D56\u53D1\u751F\u771F\u5B9E\u57FA\u7840\u8BBE\u65BD\u5931\u8D25\u65F6\uFF0Cstatus \u53D6 escalate\uFF0C\u7EC6\u8282\u5199\u5165 infrastructureFailure\u3002\u4E0D\u5F97\u7701\u7565 status\uFF0C\u4E0D\u5F97\u7528\u53E6\u4E24\u4E2A\u679A\u4E3E\u503C\u5145\u5F53\u653E\u884C\u6216\u5C01\u9A73\u3002\u5305\u4FA7\u4E0D\u56E0\u683C\u5F0F\u62D2\u6536\u3002"
8909
+ }
8910
+ ),
8911
+ findings: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5BA1\u6838\u53D1\u73B0\uFF0C\u539F\u6837\u7559\u5B58" })),
8912
+ reason: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
8913
+ violations: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
8914
+ conflicts: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
8915
+ fix: typebox_exports.Optional(typebox_exports.Unknown({ description: "continue \u65F6\u7684\u8865\u6551\u8BF4\u660E\uFF1B\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58" })),
8916
+ classes: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5DF2\u88C1\u51B3 finding \u7C7B\uFF1B\u53EF\u8BF4\u660E name\u3001owner\u3001boundary\u3001disposition\uFF0C\u539F\u6837\u7559\u5B58" })),
8917
+ note: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
8918
+ evidence: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
8919
+ decisionGate: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u9700\u4EBA\u6743\u5A01\u5904\u7F6E\u7684\u95EE\u9898\u4E0E\u9009\u9879\uFF1B\u53EF\u8BF4\u660E question\u3001options\uFF0C\u539F\u6837\u7559\u5B58" }))
8920
+ }, { additionalProperties: true })
8910
8921
  );
8911
8922
  }
8912
8923
  });
@@ -18131,6 +18142,7 @@ var init_compliance_transport = __esm({
18131
18142
  "use strict";
18132
18143
  init_auditor_dossier_tool();
18133
18144
  init_gatekeeper_role();
18145
+ init_submission_errors();
18134
18146
  init_terminal();
18135
18147
  init_readable_gate_item();
18136
18148
  AUDITOR_PARENT_ATTEMPT_BINDING_ENTRY_TYPE = "ak_auditor_parent_attempt_binding";
@@ -23654,6 +23666,7 @@ var init_submission_ledger = __esm({
23654
23666
  init_run_lifecycle();
23655
23667
  init_submission_correctable_error();
23656
23668
  init_terminating_infrastructure();
23669
+ init_review_submission();
23657
23670
  }
23658
23671
  });
23659
23672