@akagilnc/pi-workflow-roles 0.1.5946 → 0.1.5955

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.
@@ -8623,15 +8623,15 @@ function withTerminatingOutputDeclarations(schema) {
8623
8623
  ...baseProperties ?? {},
8624
8624
  ...baseProperties?.ticketNumber === void 0 ? {
8625
8625
  ticketNumber: typebox_exports.Unknown({
8626
- description: "\u53EF\u9009\u672C\u7968\u53F7\u3002\u5C1A\u672A\u7ED1\u5B9A\u65F6\u7531\u89D2\u8272\u5728\u65E2\u6709\u56DE\u6267\u4E2D\u7533\u62A5\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF1B\u5F52\u4F4D\u53EA\u8BFB\u672C\u5B57\u6BB5\uFF09\u3002"
8626
+ description: "\u4EC5\u5C1A\u672A\u7ED1\u5B9A\u65F6\u586B\u672C\u7968\u53F7\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF1B\u5F52\u4F4D\u53EA\u8BFB\u672C\u5B57\u6BB5\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
8627
8627
  })
8628
8628
  } : {},
8629
8629
  ...baseProperties?.summary === void 0 ? {
8630
8630
  summary: typebox_exports.Unknown({
8631
- description: "\u672C\u5E2D\u81EA\u884C\u586B\u5199\u7684\u4E00\u4E24\u53E5\u300120\u201350 \u5B57\u7ED3\u8BBA\u6458\u8981\u3002\u53EF\u9009\uFF1B\u4E0D\u56E0\u7F3A\u5931\u6216\u8D85\u957F\u62D2\u6536\u3001\u622A\u65AD\u6216\u4EE3\u586B\u3002"
8631
+ description: "\u4EC5\u672C\u5E2D\u6709\u7ED3\u8BBA\u65F6\u586B\u4E00\u4E24\u53E5\u300120\u201350 \u5B57\u7ED3\u8BBA\u6458\u8981\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u4E0D\u56E0\u7F3A\u5931\u6216\u8D85\u957F\u62D2\u6536\u3001\u622A\u65AD\u6216\u4EE3\u586B\u3002"
8632
8632
  })
8633
8633
  } : {},
8634
- [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureDeclarationSchema.properties[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]
8634
+ [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureField
8635
8635
  };
8636
8636
  const object = typebox_exports.Object(properties, { additionalProperties: true });
8637
8637
  const incoming = schema.required;
@@ -8639,31 +8639,15 @@ function withTerminatingOutputDeclarations(schema) {
8639
8639
  object.required = preserved;
8640
8640
  return object;
8641
8641
  }
8642
- var INFRASTRUCTURE_FAILURE_DECLARATION_KEY, INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY, infrastructureFailureNested, infrastructureFailureDeclarationSchema;
8642
+ var INFRASTRUCTURE_FAILURE_DECLARATION_KEY, infrastructureFailureField;
8643
8643
  var init_terminating_infrastructure = __esm({
8644
8644
  "src/package-contracts/terminating-infrastructure.ts"() {
8645
8645
  "use strict";
8646
8646
  init_build();
8647
8647
  INFRASTRUCTURE_FAILURE_DECLARATION_KEY = "infrastructureFailure";
8648
- INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY = "diagnostic";
8649
- infrastructureFailureNested = typebox_exports.Object(
8650
- {
8651
- [INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY]: typebox_exports.Unknown({
8652
- description: "\u57FA\u7840\u8BBE\u65BD\u5931\u8D25\u8BCA\u65AD\u5B57\u7B26\u4E32\u3002"
8653
- })
8654
- },
8655
- {
8656
- additionalProperties: true,
8657
- description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u51FA\u73B0\u3002"
8658
- }
8659
- );
8660
- infrastructureFailureNested.required = [];
8661
- infrastructureFailureDeclarationSchema = typebox_exports.Object(
8662
- {
8663
- [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureNested
8664
- },
8665
- { additionalProperties: true }
8666
- );
8648
+ infrastructureFailureField = typebox_exports.Unknown({
8649
+ description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u586B {diagnostic}\uFF1B\u6CA1\u6709\u5C31\u586B null"
8650
+ });
8667
8651
  }
8668
8652
  });
8669
8653
 
@@ -8683,10 +8667,10 @@ var init_gatekeeper_output = __esm({
8683
8667
  description: "dispatch | pass"
8684
8668
  }),
8685
8669
  officer: typebox_exports.Unknown({
8686
- description: "status \u4E3A dispatch \u65F6\u4E3A inspector | notary"
8670
+ description: "\u4EC5 status \u4E3A dispatch \u65F6\u586B inspector | notary\uFF1B\u6CA1\u6709\u5C31\u586B null"
8687
8671
  }),
8688
8672
  findings: typebox_exports.Unknown({
8689
- description: "status \u4E3A pass \u65F6\u53EF\u9009 string[] findings"
8673
+ description: "\u4EC5 status \u4E3A pass \u65F6\u586B string[] findings\uFF1B\u6CA1\u6709\u5C31\u586B null"
8690
8674
  })
8691
8675
  })
8692
8676
  );
@@ -8708,13 +8692,13 @@ var init_navigator_output = __esm({
8708
8692
  NAVIGATOR_OUTPUT_TOOL_NAME = "ak_navigator_output";
8709
8693
  navigatorAdviceFields = {
8710
8694
  prose: typebox_exports.Unknown({
8711
- description: "\u5355\u6761\u6563\u6587\u5EFA\u8BAE\u3002\u65E0\u72B6\u6001\u5206\u53C9\u65F6\u4F7F\u7528\uFF1B\u539F\u6837\u5448\u73B0\u3002"
8695
+ description: "\u4EC5\u65E0\u72B6\u6001\u5206\u53C9\u65F6\u586B\u5355\u6761\u6563\u6587\u5EFA\u8BAE\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u539F\u6837\u5448\u73B0\u3002"
8712
8696
  }),
8713
8697
  byStatus: typebox_exports.Unknown({
8714
8698
  description: "\u6309\u4E3B\u8859\u95E8\u7ED3\u5C40 status \u9884\u5199\u7684\u6563\u6587\u5EFA\u8BAE\u3002\u952E\u4E3A status \u5B57\u9762\u91CF\uFF0C\u503C\u4E3A\u5EFA\u8BAE\u6B63\u6587\u3002\u7ED3\u7B97\u65F6\u4EE3\u7801\u53EA\u6309\u5B9E\u9645 status \u53D6\u5BF9\u5E94\u539F\u6587\uFF0C\u4E0D\u89E3\u6790\u5EFA\u8BAE\u8BED\u4E49\u3002"
8715
8699
  }),
8716
8700
  byRole: typebox_exports.Unknown({
8717
- description: "\u6574\u5F20\u8DEF\u7EBF\u8868\uFF1A\u952E\u4E3A\u8859\u95E8\u89D2\u8272\uFF0C\u503C\u4E3A\u8BE5\u8859\u95E8 status \u2192 \u5EFA\u8BAE\u3002\u76F4\u63A5\u5165\u53E3\u4E0D\u7ED9\u89D2\u8272\u65F6\u4F7F\u7528\u3002"
8701
+ description: "\u4EC5\u76F4\u63A5\u5165\u53E3\u4E0D\u7ED9\u89D2\u8272\u65F6\u586B\u6574\u5F20\u8DEF\u7EBF\u8868\uFF08\u952E\u4E3A\u8859\u95E8\u89D2\u8272\uFF0C\u503C\u4E3A\u8BE5\u8859\u95E8 status \u2192 \u5EFA\u8BAE\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
8718
8702
  })
8719
8703
  };
8720
8704
  navigatorAdviceBodySchema = openToolObject(typebox_exports.Object(navigatorAdviceFields));
@@ -8747,7 +8731,7 @@ var init_review_submission = __esm({
8747
8731
  reason: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
8748
8732
  violations: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
8749
8733
  conflicts: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
8750
- 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" })),
8734
+ fix: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u4EC5 continue \u65F6\u586B\u8865\u6551\u8BF4\u660E\uFF08\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null" })),
8751
8735
  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" })),
8752
8736
  note: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
8753
8737
  evidence: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
@@ -8838,7 +8822,7 @@ var init_reviewer_output = __esm({
8838
8822
  init_open_tool_schema();
8839
8823
  init_terminating_infrastructure();
8840
8824
  REVIEWER_OUTPUT_TOOL_NAME = "ak_reviewer_output";
8841
- REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\u663E\u5F0F\u5355\u8F74\u65F6\u53E6\u4E00\u8F74\u53EF\u7701\u7565\uFF08completeness / correctness\uFF09\u3002hard-stop\uFF0Fusage error \u4E3A refused \u65F6\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u5BF9\u5E94 lens \u5B57\u6BB5\u3002";
8825
+ REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\u5404\u8F74\uFF08completeness / correctness\uFF09\u4EC5\u6709\u5DF2\u4EA7\u51FA\u62A5\u544A\u65F6\u586B\u62A5\u544A\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002hard-stop\uFF0Fusage error \u4E3A refused \u65F6\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u5BF9\u5E94 lens \u5B57\u6BB5\u3002";
8842
8826
  REVIEWER_STATUS_DESCRIPTION = "completed | refused\u3002\u4E24\u79CD\u6B63\u5E38 lens verdict\uFF08completeness / correctness\uFF09\u5747 completed\uFF1Bhard-stop \u4E0E usage error \u4E3A refused\uFF08\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u8FDB\u6240\u9009 lens amendments\uFF09\u3002";
8843
8827
  reviewerOutputObject = typebox_exports.Object({
8844
8828
  status: typebox_exports.Unknown({ description: REVIEWER_STATUS_DESCRIPTION }),
@@ -8894,7 +8878,7 @@ var init_fixer_output = __esm({
8894
8878
  }),
8895
8879
  diffItems: diffItemsField,
8896
8880
  testEvidence: typebox_exports.Unknown({
8897
- description: "\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1Bdiff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u63D0\u4EA4\uFF1B\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
8881
+ description: "\u4EC5 diff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u586B\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
8898
8882
  })
8899
8883
  });
8900
8884
  fixerOutputSchema = withTerminatingOutputDeclarations(
@@ -8966,7 +8950,7 @@ var init_doctor_contracts = __esm({
8966
8950
  description: `\u9010\u6761\u8D44\u4EA7\u89C2\u5BDF\u4E0E\u5904\u65B9\uFF0C\u539F\u6837\u7559\u5B58\u3002\u4E00\u6761\u53EF\u542B targetKey\u3001targetKind\uFF08${DOCTOR_TARGET_KINDS.join(" | ")}\uFF09\u3001observation\u3001evidenceIds\u3001disposition\uFF08${DOCTOR_DISPOSITIONS.join(" | ")}\uFF09\u3001assetEvidence\uFF08targetKey\u3001targetKind\u3001evidenceId\uFF09\u3001guardrails\uFF08reproducibleFailure\u3001owningSeamOrInvariant\u3001deletionOrSimplificationSuffices\uFF0C\u5404\u9879\u53EF\u542B answer\u3001evidenceIds\u3001explanation\uFF09\u3001prescription\uFF08kind \u4E3A ${DOCTOR_PRESCRIPTION_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 recommendation\u3001necessityExplanation\uFF09\u3001lastRealBite\uFF08kind \u4E3A ${DOCTOR_BITE_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 targetKey\u3001evidenceId\u3001eligibleEvidenceIds\uFF09\u3002\u4E0D\u8981\u6C42\u4EFB\u4F55\u5904\u65B9\u6216\u53EF\u590D\u7528 finding\uFF1B\u7F3A\u53EF\u590D\u7528\u8D44\u4EA7\u6216 bounded-bite \u8BC1\u636E\u53EA\u6392\u9664\u5BF9\u5E94\u8D44\u4EA7\u5904\u65B9\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002`
8967
8951
  }),
8968
8952
  reason: typebox_exports.Unknown({
8969
- description: "\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u4EC5 refused \u65F6\u7528\u3002"
8953
+ description: "\u4EC5 refused \u65F6\u586B\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
8970
8954
  }),
8971
8955
  missingEvidence: typebox_exports.Unknown({
8972
8956
  description: "\u5982\u5B9E\u8BC1\u8BCD\u6240\u9700\u800C\u5C1A\u7F3A\u7684\u8BC1\u636E\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982\u6BCF\u9879 need\u3001targetKeys\uFF09\u3002"
@@ -9174,15 +9158,17 @@ var init_diarist_contracts = __esm({
9174
9158
  }),
9175
9159
  ticketNumber: typebox_exports.Optional(
9176
9160
  typebox_exports.Unknown({
9177
- description: "\u672C\u5EAD\u5BF9\u8C61\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\u6216 null/\u7701\u7565\uFF1D\u771F\u65E0\u7968\uFF1B\u4E0B\u6E38\u8D70 typed \u952E\uFF1B\u8BA4\u4E0D\u51FA\u7528 status=escalate\uFF0C\u4E0D\u6D17\u6210\u65E0\u5F55\u3002\u673A\u68B0\u5C42\u4E0D\u91CD\u5224\u3002"
9161
+ description: "\u4EC5\u6709\u672C\u5EAD\u5BF9\u8C61\u65F6\u586B\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null\uFF1D\u771F\u65E0\u7968\uFF1B\u4E0B\u6E38\u8D70 typed \u952E\uFF1B\u8BA4\u4E0D\u51FA\u7528 status=escalate\uFF0C\u4E0D\u6D17\u6210\u65E0\u5F55\u3002\u673A\u68B0\u5C42\u4E0D\u91CD\u5224\u3002"
9178
9162
  })
9179
9163
  ),
9180
9164
  reason: typebox_exports.Unknown({
9181
- description: "status \u4E3A escalate \u65F6\uFF1A\u4E0A\u5448\u7684\u539F\u56E0"
9165
+ description: "\u4EC5 status \u4E3A escalate \u65F6\u586B\u4E0A\u5448\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
9182
9166
  }),
9183
- sessions: typebox_exports.Optional(typebox_exports.Unknown({ description: DIARIST_SESSIONS_DESCRIPTION })),
9167
+ sessions: typebox_exports.Optional(typebox_exports.Unknown({
9168
+ description: `\u4EC5\u5355\u7968\u5EAD\u65F6\u586B\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002${DIARIST_SESSIONS_DESCRIPTION}`
9169
+ })),
9184
9170
  ticketSessions: typebox_exports.Unknown({
9185
- description: `\u591A\u7968\u5EAD\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002\u4E0E\u5355\u7968 sessions \u4E8C\u9009\u4E00\u3002`
9171
+ description: `\u4EC5\u591A\u7968\u5EAD\u65F6\u586B\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002`
9186
9172
  })
9187
9173
  })
9188
9174
  )
@@ -9737,7 +9723,7 @@ var init_collector_tool_schemas = __esm({
9737
9723
  description: "\u6309\u673A\u5668\u8EAB\u4EFD\u5F52\u7EC4\u7684\u51FA\u5E2D\u3001\u6750\u6599\u4E0E\u9010\u6761 findings\uFF08LLM \u81EA\u884C\u4ECE\u5BBF\u4E3B CLI \u53D6\u8BC1\u6574\u7406\uFF1B\u4EE3\u7801\u4E0D\u4EE3\u6536\u4E0D\u5F52\u5E76\uFF09\u3002"
9738
9724
  }),
9739
9725
  unfinishedReasons: typebox_exports.Unknown({
9740
- description: "\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u53D6\u8BC1\u53D7\u9650\u65F6\u5982\u5B9E\u62A5\u544A\u3002"
9726
+ description: "\u4EC5\u53D6\u8BC1\u53D7\u9650\u65F6\u586B\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
9741
9727
  })
9742
9728
  })
9743
9729
  );
@@ -22,7 +22,7 @@ const fixerOutputObject = Type.Object({
22
22
  }),
23
23
  diffItems: diffItemsField,
24
24
  testEvidence: Type.Unknown({
25
- description: "\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1Bdiff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u63D0\u4EA4\uFF1B\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
25
+ description: "\u4EC5 diff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u586B\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
26
26
  })
27
27
  });
28
28
  const fixerOutputSchema = withTerminatingOutputDeclarations(
@@ -9,10 +9,10 @@ const gatekeeperDecisionSchema = openToolObject(
9
9
  description: "dispatch | pass"
10
10
  }),
11
11
  officer: Type.Unknown({
12
- description: "status \u4E3A dispatch \u65F6\u4E3A inspector | notary"
12
+ description: "\u4EC5 status \u4E3A dispatch \u65F6\u586B inspector | notary\uFF1B\u6CA1\u6709\u5C31\u586B null"
13
13
  }),
14
14
  findings: Type.Unknown({
15
- description: "status \u4E3A pass \u65F6\u53EF\u9009 string[] findings"
15
+ description: "\u4EC5 status \u4E3A pass \u65F6\u586B string[] findings\uFF1B\u6CA1\u6709\u5C31\u586B null"
16
16
  })
17
17
  })
18
18
  );
@@ -5,13 +5,13 @@ import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.
5
5
  const NAVIGATOR_OUTPUT_TOOL_NAME = "ak_navigator_output";
6
6
  const navigatorAdviceFields = {
7
7
  prose: Type.Unknown({
8
- description: "\u5355\u6761\u6563\u6587\u5EFA\u8BAE\u3002\u65E0\u72B6\u6001\u5206\u53C9\u65F6\u4F7F\u7528\uFF1B\u539F\u6837\u5448\u73B0\u3002"
8
+ description: "\u4EC5\u65E0\u72B6\u6001\u5206\u53C9\u65F6\u586B\u5355\u6761\u6563\u6587\u5EFA\u8BAE\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u539F\u6837\u5448\u73B0\u3002"
9
9
  }),
10
10
  byStatus: Type.Unknown({
11
11
  description: "\u6309\u4E3B\u8859\u95E8\u7ED3\u5C40 status \u9884\u5199\u7684\u6563\u6587\u5EFA\u8BAE\u3002\u952E\u4E3A status \u5B57\u9762\u91CF\uFF0C\u503C\u4E3A\u5EFA\u8BAE\u6B63\u6587\u3002\u7ED3\u7B97\u65F6\u4EE3\u7801\u53EA\u6309\u5B9E\u9645 status \u53D6\u5BF9\u5E94\u539F\u6587\uFF0C\u4E0D\u89E3\u6790\u5EFA\u8BAE\u8BED\u4E49\u3002"
12
12
  }),
13
13
  byRole: Type.Unknown({
14
- description: "\u6574\u5F20\u8DEF\u7EBF\u8868\uFF1A\u952E\u4E3A\u8859\u95E8\u89D2\u8272\uFF0C\u503C\u4E3A\u8BE5\u8859\u95E8 status \u2192 \u5EFA\u8BAE\u3002\u76F4\u63A5\u5165\u53E3\u4E0D\u7ED9\u89D2\u8272\u65F6\u4F7F\u7528\u3002"
14
+ description: "\u4EC5\u76F4\u63A5\u5165\u53E3\u4E0D\u7ED9\u89D2\u8272\u65F6\u586B\u6574\u5F20\u8DEF\u7EBF\u8868\uFF08\u952E\u4E3A\u8859\u95E8\u89D2\u8272\uFF0C\u503C\u4E3A\u8BE5\u8859\u95E8 status \u2192 \u5EFA\u8BAE\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
15
15
  })
16
16
  };
17
17
  const navigatorAdviceBodySchema = openToolObject(Type.Object(navigatorAdviceFields));
@@ -2,7 +2,7 @@ import { Type } from "typebox";
2
2
  import { openToolObject } from "../open-tool-schema.js";
3
3
  import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.js";
4
4
  const REVIEWER_OUTPUT_TOOL_NAME = "ak_reviewer_output";
5
- const REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\u663E\u5F0F\u5355\u8F74\u65F6\u53E6\u4E00\u8F74\u53EF\u7701\u7565\uFF08completeness / correctness\uFF09\u3002hard-stop\uFF0Fusage error \u4E3A refused \u65F6\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u5BF9\u5E94 lens \u5B57\u6BB5\u3002";
5
+ const REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\u5404\u8F74\uFF08completeness / correctness\uFF09\u4EC5\u6709\u5DF2\u4EA7\u51FA\u62A5\u544A\u65F6\u586B\u62A5\u544A\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002hard-stop\uFF0Fusage error \u4E3A refused \u65F6\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u5BF9\u5E94 lens \u5B57\u6BB5\u3002";
6
6
  const REVIEWER_STATUS_DESCRIPTION = "completed | refused\u3002\u4E24\u79CD\u6B63\u5E38 lens verdict\uFF08completeness / correctness\uFF09\u5747 completed\uFF1Bhard-stop \u4E0E usage error \u4E3A refused\uFF08\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u8FDB\u6240\u9009 lens amendments\uFF09\u3002";
7
7
  const reviewerOutputObject = Type.Object({
8
8
  status: Type.Unknown({ description: REVIEWER_STATUS_DESCRIPTION }),
@@ -1,39 +1,23 @@
1
1
  import { Type } from "typebox";
2
2
  const INFRASTRUCTURE_FAILURE_DECLARATION_KEY = "infrastructureFailure";
3
- const INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY = "diagnostic";
4
- const infrastructureFailureNested = Type.Object(
5
- {
6
- [INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY]: Type.Unknown({
7
- description: "\u57FA\u7840\u8BBE\u65BD\u5931\u8D25\u8BCA\u65AD\u5B57\u7B26\u4E32\u3002"
8
- })
9
- },
10
- {
11
- additionalProperties: true,
12
- description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u51FA\u73B0\u3002"
13
- }
14
- );
15
- infrastructureFailureNested.required = [];
16
- const infrastructureFailureDeclarationSchema = Type.Object(
17
- {
18
- [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureNested
19
- },
20
- { additionalProperties: true }
21
- );
3
+ const infrastructureFailureField = Type.Unknown({
4
+ description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u586B {diagnostic}\uFF1B\u6CA1\u6709\u5C31\u586B null"
5
+ });
22
6
  function withTerminatingOutputDeclarations(schema) {
23
7
  const baseProperties = schema.properties;
24
8
  const properties = {
25
9
  ...baseProperties ?? {},
26
10
  ...baseProperties?.ticketNumber === void 0 ? {
27
11
  ticketNumber: Type.Unknown({
28
- description: "\u53EF\u9009\u672C\u7968\u53F7\u3002\u5C1A\u672A\u7ED1\u5B9A\u65F6\u7531\u89D2\u8272\u5728\u65E2\u6709\u56DE\u6267\u4E2D\u7533\u62A5\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF1B\u5F52\u4F4D\u53EA\u8BFB\u672C\u5B57\u6BB5\uFF09\u3002"
12
+ description: "\u4EC5\u5C1A\u672A\u7ED1\u5B9A\u65F6\u586B\u672C\u7968\u53F7\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF1B\u5F52\u4F4D\u53EA\u8BFB\u672C\u5B57\u6BB5\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
29
13
  })
30
14
  } : {},
31
15
  ...baseProperties?.summary === void 0 ? {
32
16
  summary: Type.Unknown({
33
- description: "\u672C\u5E2D\u81EA\u884C\u586B\u5199\u7684\u4E00\u4E24\u53E5\u300120\u201350 \u5B57\u7ED3\u8BBA\u6458\u8981\u3002\u53EF\u9009\uFF1B\u4E0D\u56E0\u7F3A\u5931\u6216\u8D85\u957F\u62D2\u6536\u3001\u622A\u65AD\u6216\u4EE3\u586B\u3002"
17
+ description: "\u4EC5\u672C\u5E2D\u6709\u7ED3\u8BBA\u65F6\u586B\u4E00\u4E24\u53E5\u300120\u201350 \u5B57\u7ED3\u8BBA\u6458\u8981\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u4E0D\u56E0\u7F3A\u5931\u6216\u8D85\u957F\u62D2\u6536\u3001\u622A\u65AD\u6216\u4EE3\u586B\u3002"
34
18
  })
35
19
  } : {},
36
- [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureDeclarationSchema.properties[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]
20
+ [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureField
37
21
  };
38
22
  const object = Type.Object(properties, { additionalProperties: true });
39
23
  const incoming = schema.required;
@@ -43,6 +27,5 @@ function withTerminatingOutputDeclarations(schema) {
43
27
  }
44
28
  export {
45
29
  INFRASTRUCTURE_FAILURE_DECLARATION_KEY,
46
- INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY,
47
30
  withTerminatingOutputDeclarations
48
31
  };
@@ -9113,15 +9113,15 @@ function withTerminatingOutputDeclarations(schema) {
9113
9113
  ...baseProperties ?? {},
9114
9114
  ...baseProperties?.ticketNumber === void 0 ? {
9115
9115
  ticketNumber: typebox_exports.Unknown({
9116
- description: "\u53EF\u9009\u672C\u7968\u53F7\u3002\u5C1A\u672A\u7ED1\u5B9A\u65F6\u7531\u89D2\u8272\u5728\u65E2\u6709\u56DE\u6267\u4E2D\u7533\u62A5\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF1B\u5F52\u4F4D\u53EA\u8BFB\u672C\u5B57\u6BB5\uFF09\u3002"
9116
+ description: "\u4EC5\u5C1A\u672A\u7ED1\u5B9A\u65F6\u586B\u672C\u7968\u53F7\uFF08\u6B63\u6574\u6570\u3001\u6570\u5B57\u4E32\u6216\u524D\u5BFC #N\uFF1B\u5F52\u4F4D\u53EA\u8BFB\u672C\u5B57\u6BB5\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
9117
9117
  })
9118
9118
  } : {},
9119
9119
  ...baseProperties?.summary === void 0 ? {
9120
9120
  summary: typebox_exports.Unknown({
9121
- description: "\u672C\u5E2D\u81EA\u884C\u586B\u5199\u7684\u4E00\u4E24\u53E5\u300120\u201350 \u5B57\u7ED3\u8BBA\u6458\u8981\u3002\u53EF\u9009\uFF1B\u4E0D\u56E0\u7F3A\u5931\u6216\u8D85\u957F\u62D2\u6536\u3001\u622A\u65AD\u6216\u4EE3\u586B\u3002"
9121
+ description: "\u4EC5\u672C\u5E2D\u6709\u7ED3\u8BBA\u65F6\u586B\u4E00\u4E24\u53E5\u300120\u201350 \u5B57\u7ED3\u8BBA\u6458\u8981\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u4E0D\u56E0\u7F3A\u5931\u6216\u8D85\u957F\u62D2\u6536\u3001\u622A\u65AD\u6216\u4EE3\u586B\u3002"
9122
9122
  })
9123
9123
  } : {},
9124
- [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureDeclarationSchema.properties[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]
9124
+ [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureField
9125
9125
  };
9126
9126
  const object = typebox_exports.Object(properties, { additionalProperties: true });
9127
9127
  const incoming = schema.required;
@@ -9129,31 +9129,15 @@ function withTerminatingOutputDeclarations(schema) {
9129
9129
  object.required = preserved;
9130
9130
  return object;
9131
9131
  }
9132
- var INFRASTRUCTURE_FAILURE_DECLARATION_KEY, INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY, infrastructureFailureNested, infrastructureFailureDeclarationSchema;
9132
+ var INFRASTRUCTURE_FAILURE_DECLARATION_KEY, infrastructureFailureField;
9133
9133
  var init_terminating_infrastructure = __esm({
9134
9134
  "src/package-contracts/terminating-infrastructure.ts"() {
9135
9135
  "use strict";
9136
9136
  init_build();
9137
9137
  INFRASTRUCTURE_FAILURE_DECLARATION_KEY = "infrastructureFailure";
9138
- INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY = "diagnostic";
9139
- infrastructureFailureNested = typebox_exports.Object(
9140
- {
9141
- [INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY]: typebox_exports.Unknown({
9142
- description: "\u57FA\u7840\u8BBE\u65BD\u5931\u8D25\u8BCA\u65AD\u5B57\u7B26\u4E32\u3002"
9143
- })
9144
- },
9145
- {
9146
- additionalProperties: true,
9147
- description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u51FA\u73B0\u3002"
9148
- }
9149
- );
9150
- infrastructureFailureNested.required = [];
9151
- infrastructureFailureDeclarationSchema = typebox_exports.Object(
9152
- {
9153
- [INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureNested
9154
- },
9155
- { additionalProperties: true }
9156
- );
9138
+ infrastructureFailureField = typebox_exports.Unknown({
9139
+ description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u586B {diagnostic}\uFF1B\u6CA1\u6709\u5C31\u586B null"
9140
+ });
9157
9141
  }
9158
9142
  });
9159
9143
 
@@ -9173,10 +9157,10 @@ var init_gatekeeper_output = __esm({
9173
9157
  description: "dispatch | pass"
9174
9158
  }),
9175
9159
  officer: typebox_exports.Unknown({
9176
- description: "status \u4E3A dispatch \u65F6\u4E3A inspector | notary"
9160
+ description: "\u4EC5 status \u4E3A dispatch \u65F6\u586B inspector | notary\uFF1B\u6CA1\u6709\u5C31\u586B null"
9177
9161
  }),
9178
9162
  findings: typebox_exports.Unknown({
9179
- description: "status \u4E3A pass \u65F6\u53EF\u9009 string[] findings"
9163
+ description: "\u4EC5 status \u4E3A pass \u65F6\u586B string[] findings\uFF1B\u6CA1\u6709\u5C31\u586B null"
9180
9164
  })
9181
9165
  })
9182
9166
  );
@@ -9198,13 +9182,13 @@ var init_navigator_output = __esm({
9198
9182
  NAVIGATOR_OUTPUT_TOOL_NAME = "ak_navigator_output";
9199
9183
  navigatorAdviceFields = {
9200
9184
  prose: typebox_exports.Unknown({
9201
- description: "\u5355\u6761\u6563\u6587\u5EFA\u8BAE\u3002\u65E0\u72B6\u6001\u5206\u53C9\u65F6\u4F7F\u7528\uFF1B\u539F\u6837\u5448\u73B0\u3002"
9185
+ description: "\u4EC5\u65E0\u72B6\u6001\u5206\u53C9\u65F6\u586B\u5355\u6761\u6563\u6587\u5EFA\u8BAE\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u539F\u6837\u5448\u73B0\u3002"
9202
9186
  }),
9203
9187
  byStatus: typebox_exports.Unknown({
9204
9188
  description: "\u6309\u4E3B\u8859\u95E8\u7ED3\u5C40 status \u9884\u5199\u7684\u6563\u6587\u5EFA\u8BAE\u3002\u952E\u4E3A status \u5B57\u9762\u91CF\uFF0C\u503C\u4E3A\u5EFA\u8BAE\u6B63\u6587\u3002\u7ED3\u7B97\u65F6\u4EE3\u7801\u53EA\u6309\u5B9E\u9645 status \u53D6\u5BF9\u5E94\u539F\u6587\uFF0C\u4E0D\u89E3\u6790\u5EFA\u8BAE\u8BED\u4E49\u3002"
9205
9189
  }),
9206
9190
  byRole: typebox_exports.Unknown({
9207
- description: "\u6574\u5F20\u8DEF\u7EBF\u8868\uFF1A\u952E\u4E3A\u8859\u95E8\u89D2\u8272\uFF0C\u503C\u4E3A\u8BE5\u8859\u95E8 status \u2192 \u5EFA\u8BAE\u3002\u76F4\u63A5\u5165\u53E3\u4E0D\u7ED9\u89D2\u8272\u65F6\u4F7F\u7528\u3002"
9191
+ description: "\u4EC5\u76F4\u63A5\u5165\u53E3\u4E0D\u7ED9\u89D2\u8272\u65F6\u586B\u6574\u5F20\u8DEF\u7EBF\u8868\uFF08\u952E\u4E3A\u8859\u95E8\u89D2\u8272\uFF0C\u503C\u4E3A\u8BE5\u8859\u95E8 status \u2192 \u5EFA\u8BAE\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null"
9208
9192
  })
9209
9193
  };
9210
9194
  navigatorAdviceBodySchema = openToolObject(typebox_exports.Object(navigatorAdviceFields));
@@ -9237,7 +9221,7 @@ var init_review_submission = __esm({
9237
9221
  reason: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
9238
9222
  violations: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
9239
9223
  conflicts: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
9240
- 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" })),
9224
+ fix: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u4EC5 continue \u65F6\u586B\u8865\u6551\u8BF4\u660E\uFF08\u53EF\u5199 summary \u6458\u8981\uFF0C\u5176\u4F59\u5185\u5BB9\u539F\u6837\u7559\u5B58\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null" })),
9241
9225
  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" })),
9242
9226
  note: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
9243
9227
  evidence: typebox_exports.Optional(typebox_exports.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
@@ -9328,7 +9312,7 @@ var init_reviewer_output = __esm({
9328
9312
  init_open_tool_schema();
9329
9313
  init_terminating_infrastructure();
9330
9314
  REVIEWER_OUTPUT_TOOL_NAME = "ak_reviewer_output";
9331
- REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\u663E\u5F0F\u5355\u8F74\u65F6\u53E6\u4E00\u8F74\u53EF\u7701\u7565\uFF08completeness / correctness\uFF09\u3002hard-stop\uFF0Fusage error \u4E3A refused \u65F6\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u5BF9\u5E94 lens \u5B57\u6BB5\u3002";
9315
+ REVIEWER_AMENDMENTS_DESCRIPTION = "\u5DF2\u8FD0\u884C lens \u7684 amendments \u627F\u8F7D candidates\u3001\u9010\u6761\u5904\u7F6E\u4E0E verdict \u7684\u5B8C\u6574\u62A5\u544A\uFF08\u975E\u4EC5 verdict \u884C\uFF09\uFF1B\u5404\u8F74\uFF08completeness / correctness\uFF09\u4EC5\u6709\u5DF2\u4EA7\u51FA\u62A5\u544A\u65F6\u586B\u62A5\u544A\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002hard-stop\uFF0Fusage error \u4E3A refused \u65F6\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u5BF9\u5E94 lens \u5B57\u6BB5\u3002";
9332
9316
  REVIEWER_STATUS_DESCRIPTION = "completed | refused\u3002\u4E24\u79CD\u6B63\u5E38 lens verdict\uFF08completeness / correctness\uFF09\u5747 completed\uFF1Bhard-stop \u4E0E usage error \u4E3A refused\uFF08\u5DF2\u4EA7\u51FA\u62A5\u544A\u4ECD\u7167\u5F55\u8FDB\u6240\u9009 lens amendments\uFF09\u3002";
9333
9317
  reviewerOutputObject = typebox_exports.Object({
9334
9318
  status: typebox_exports.Unknown({ description: REVIEWER_STATUS_DESCRIPTION }),
@@ -9384,7 +9368,7 @@ var init_fixer_output = __esm({
9384
9368
  }),
9385
9369
  diffItems: diffItemsField,
9386
9370
  testEvidence: typebox_exports.Unknown({
9387
- description: "\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1Bdiff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u63D0\u4EA4\uFF1B\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
9371
+ description: "\u4EC5 diff \u542B\u6D4B\u8BD5\u6539\u52A8\u65F6\u586B\u6D4B\u8BD5\u8BC1\u636E\u6761\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002\u53EF\u5199 contract\uFF08\u6D4B\u8BD5\u6539\u52A8\u6240\u8BC1\u660E\u7684\u5951\u7EA6\uFF09\u3001minimumNecessaryCost\uFF08\u6D4B\u8BD5\u6539\u52A8\u7684\u4E00\u884C\u6700\u5C0F\u5FC5\u8981\u6210\u672C\uFF09\u3001measuredDuration\uFF08\u805A\u7126\u9A8C\u8BC1\u5B9E\u6D4B\u65F6\u957F\uFF09\u3002"
9388
9372
  })
9389
9373
  });
9390
9374
  fixerOutputSchema = withTerminatingOutputDeclarations(
@@ -9456,7 +9440,7 @@ var init_doctor_contracts = __esm({
9456
9440
  description: `\u9010\u6761\u8D44\u4EA7\u89C2\u5BDF\u4E0E\u5904\u65B9\uFF0C\u539F\u6837\u7559\u5B58\u3002\u4E00\u6761\u53EF\u542B targetKey\u3001targetKind\uFF08${DOCTOR_TARGET_KINDS.join(" | ")}\uFF09\u3001observation\u3001evidenceIds\u3001disposition\uFF08${DOCTOR_DISPOSITIONS.join(" | ")}\uFF09\u3001assetEvidence\uFF08targetKey\u3001targetKind\u3001evidenceId\uFF09\u3001guardrails\uFF08reproducibleFailure\u3001owningSeamOrInvariant\u3001deletionOrSimplificationSuffices\uFF0C\u5404\u9879\u53EF\u542B answer\u3001evidenceIds\u3001explanation\uFF09\u3001prescription\uFF08kind \u4E3A ${DOCTOR_PRESCRIPTION_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 recommendation\u3001necessityExplanation\uFF09\u3001lastRealBite\uFF08kind \u4E3A ${DOCTOR_BITE_KINDS.join(" | ")}\uFF0C\u53E6\u53EF\u5199 targetKey\u3001evidenceId\u3001eligibleEvidenceIds\uFF09\u3002\u4E0D\u8981\u6C42\u4EFB\u4F55\u5904\u65B9\u6216\u53EF\u590D\u7528 finding\uFF1B\u7F3A\u53EF\u590D\u7528\u8D44\u4EA7\u6216 bounded-bite \u8BC1\u636E\u53EA\u6392\u9664\u5BF9\u5E94\u8D44\u4EA7\u5904\u65B9\u3002\u673A\u5668\u4E0D\u6838\u9A8C\u3002`
9457
9441
  }),
9458
9442
  reason: typebox_exports.Unknown({
9459
- description: "\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u4EC5 refused \u65F6\u7528\u3002"
9443
+ description: "\u4EC5 refused \u65F6\u586B\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
9460
9444
  }),
9461
9445
  missingEvidence: typebox_exports.Unknown({
9462
9446
  description: "\u5982\u5B9E\u8BC1\u8BCD\u6240\u9700\u800C\u5C1A\u7F3A\u7684\u8BC1\u636E\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982\u6BCF\u9879 need\u3001targetKeys\uFF09\u3002"
@@ -9660,15 +9644,17 @@ var init_diarist_contracts = __esm({
9660
9644
  }),
9661
9645
  ticketNumber: typebox_exports.Optional(
9662
9646
  typebox_exports.Unknown({
9663
- description: "\u672C\u5EAD\u5BF9\u8C61\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\u6216 null/\u7701\u7565\uFF1D\u771F\u65E0\u7968\uFF1B\u4E0B\u6E38\u8D70 typed \u952E\uFF1B\u8BA4\u4E0D\u51FA\u7528 status=escalate\uFF0C\u4E0D\u6D17\u6210\u65E0\u5F55\u3002\u673A\u68B0\u5C42\u4E0D\u91CD\u5224\u3002"
9647
+ description: "\u4EC5\u6709\u672C\u5EAD\u5BF9\u8C61\u65F6\u586B\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\uFF1B\u6CA1\u6709\u5C31\u586B null\uFF1D\u771F\u65E0\u7968\uFF1B\u4E0B\u6E38\u8D70 typed \u952E\uFF1B\u8BA4\u4E0D\u51FA\u7528 status=escalate\uFF0C\u4E0D\u6D17\u6210\u65E0\u5F55\u3002\u673A\u68B0\u5C42\u4E0D\u91CD\u5224\u3002"
9664
9648
  })
9665
9649
  ),
9666
9650
  reason: typebox_exports.Unknown({
9667
- description: "status \u4E3A escalate \u65F6\uFF1A\u4E0A\u5448\u7684\u539F\u56E0"
9651
+ description: "\u4EC5 status \u4E3A escalate \u65F6\u586B\u4E0A\u5448\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
9668
9652
  }),
9669
- sessions: typebox_exports.Optional(typebox_exports.Unknown({ description: DIARIST_SESSIONS_DESCRIPTION })),
9653
+ sessions: typebox_exports.Optional(typebox_exports.Unknown({
9654
+ description: `\u4EC5\u5355\u7968\u5EAD\u65F6\u586B\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002${DIARIST_SESSIONS_DESCRIPTION}`
9655
+ })),
9670
9656
  ticketSessions: typebox_exports.Unknown({
9671
- description: `\u591A\u7968\u5EAD\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002\u4E0E\u5355\u7968 sessions \u4E8C\u9009\u4E00\u3002`
9657
+ description: `\u4EC5\u591A\u7968\u5EAD\u65F6\u586B\u9010\u7968\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002\u6BCF\u7968\u542B ticketNumber\uFF08\u672C\u6761\u8FB9\u754C\u6240\u5F52\u7968\u53F7\uFF0C\u6B63\u6574\u6570\uFF09\u4E0E sessions\uFF08${DIARIST_SESSIONS_DESCRIPTION}\uFF09\u3002\u4E00\u6B21\u4EA4\u5377\u5404\u7968\u5404\u81EA\u5206\u5F55\u3002`
9672
9658
  })
9673
9659
  })
9674
9660
  )
@@ -11482,7 +11468,7 @@ var init_collector_tool_schemas = __esm({
11482
11468
  description: "\u6309\u673A\u5668\u8EAB\u4EFD\u5F52\u7EC4\u7684\u51FA\u5E2D\u3001\u6750\u6599\u4E0E\u9010\u6761 findings\uFF08LLM \u81EA\u884C\u4ECE\u5BBF\u4E3B CLI \u53D6\u8BC1\u6574\u7406\uFF1B\u4EE3\u7801\u4E0D\u4EE3\u6536\u4E0D\u5F52\u5E76\uFF09\u3002"
11483
11469
  }),
11484
11470
  unfinishedReasons: typebox_exports.Unknown({
11485
- description: "\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u53D6\u8BC1\u53D7\u9650\u65F6\u5982\u5B9E\u62A5\u544A\u3002"
11471
+ description: "\u4EC5\u53D6\u8BC1\u53D7\u9650\u65F6\u586B\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
11486
11472
  })
11487
11473
  })
11488
11474
  );
@@ -13544,20 +13530,20 @@ function isCodexOwnerResponseItemUser(message) {
13544
13530
  if (kinds === void 0) return false;
13545
13531
  return kinds.some((kind) => kind.startsWith("user."));
13546
13532
  }
13547
- function fromQueueEvent(row) {
13548
- if (row.type !== "queue-operation" || row.operation !== "enqueue") return [];
13549
- const content = row.content;
13550
- if (typeof content !== "string" || content === "") return [];
13551
- const id = nativeEventId(row);
13552
- return [{ speaker: "owner", text: content, ...id === void 0 ? {} : { id } }];
13553
- }
13554
13533
  function hasFixedOpenTagPrefix(content, tag) {
13555
13534
  if (!content.startsWith(tag)) return false;
13556
13535
  const next = content.charAt(tag.length);
13557
13536
  return next === "" || next === ">" || next === " " || next === " " || next === "\n" || next === "\r";
13558
13537
  }
13559
- function isFixedNonOwnerEnqueueShape(content) {
13560
- return hasFixedOpenTagPrefix(content, TASK_NOTIFICATION_OPEN_TAG);
13538
+ function fromQueuedCommandAttachment(row) {
13539
+ if (!isRecord(row.attachment) || row.attachment.type !== "queued_command") return [];
13540
+ const kind = materializationOriginKind(row.attachment);
13541
+ if (isNonOwnerOriginKind(kind)) return [];
13542
+ const text = textParts(row.attachment.prompt).join("");
13543
+ if (text === "") return [];
13544
+ if (kind === void 0 && hasFixedOpenTagPrefix(text, TASK_NOTIFICATION_OPEN_TAG)) return [];
13545
+ const id = nativeEventId(row);
13546
+ return [{ speaker: "owner", text, ...id === void 0 ? {} : { id } }];
13561
13547
  }
13562
13548
  function materializationOriginKind(row) {
13563
13549
  if (!isRecord(row.origin)) return void 0;
@@ -13587,13 +13573,10 @@ function fromMessageEvent(row) {
13587
13573
  function adaptSessionDialogue(rows) {
13588
13574
  return rows.map((row) => {
13589
13575
  if (row === void 0) return [];
13576
+ if (row.type === "queue-operation" || row.type === "api-request-blob") return [];
13577
+ if (row.type === "attachment") return fromQueuedCommandAttachment(row);
13590
13578
  const originKind = materializationOriginKind(row);
13591
13579
  if (isNonOwnerOriginKind(originKind)) return [];
13592
- if (row.type === "queue-operation" && row.operation === "enqueue" && typeof row.content === "string" && isFixedNonOwnerEnqueueShape(row.content)) {
13593
- return [];
13594
- }
13595
- const queued = fromQueueEvent(row);
13596
- if (queued.length > 0) return queued;
13597
13580
  return fromMessageEvent(row);
13598
13581
  });
13599
13582
  }
@@ -18,7 +18,7 @@ const reviewNarrativeFields = {
18
18
  reason: Type.Optional(Type.Unknown({ description: "上呈理由" })),
19
19
  violations: Type.Optional(Type.Unknown({ description: "违规条目" })),
20
20
  conflicts: Type.Optional(Type.Unknown({ description: "待决冲突" })),
21
- fix: Type.Optional(Type.Unknown({ description: "continue 时的补救说明;可写 summary 摘要,其余内容原样留存" })),
21
+ fix: Type.Optional(Type.Unknown({ description: "仅 continue 时填补救说明(可写 summary 摘要,其余内容原样留存);没有就填 null" })),
22
22
  classes: Type.Optional(Type.Unknown({ description: "已裁决 finding 类;可说明 name、owner、boundary、disposition,原样留存" })),
23
23
  note: Type.Optional(Type.Unknown({ description: "裁决附注" })),
24
24
  evidence: Type.Optional(Type.Unknown({ description: "留存证据" })),
@@ -89,26 +89,12 @@ function isCodexOwnerResponseItemUser(message) {
89
89
  return false;
90
90
  return kinds.some((kind) => kind.startsWith("user."));
91
91
  }
92
- /**
93
- * 入队事件适配:人类这次输入经队列的来源。
94
- * 被吸收的插话靠入队事件入录(无独立消息记录,#901 用户故事 11)。
95
- * 机器入队由整卷适配层排除(#918);本函数不读正文、不自判机器。
96
- */
97
- function fromQueueEvent(row) {
98
- if (row.type !== "queue-operation" || row.operation !== "enqueue")
99
- return [];
100
- const content = row.content;
101
- if (typeof content !== "string" || content === "")
102
- return [];
103
- const id = nativeEventId(row);
104
- return [{ speaker: "owner", text: content, ...(id === undefined ? {} : { id }) }];
105
- }
106
92
  /**
107
93
  * 票面 #918 准许的唯一固定起始形状:`<task-notification`。
108
94
  * 其它标签不在御裁射程内——不得扩表,不得伪造 decision key / 「陛下拍定」。
109
95
  * 开标签后可直接 `>`(无属性)、EOF 或空白再接属性;其它字符不成立。
110
96
  *
111
- * 机器 enqueue 的完整判据=结构化来源(origin.kind)/本固定形状/真实因果与位置;
97
+ * 无 origin 的 `queued_command` 只靠本固定形状排除;不得扩表。
112
98
  * 用可变载荷正文(全等或子串)做 identity join 仍为锚定宪法所禁。
113
99
  */
114
100
  const TASK_NOTIFICATION_OPEN_TAG = "<task-notification";
@@ -123,9 +109,24 @@ function hasFixedOpenTagPrefix(content, tag) {
123
109
  next === "\n" ||
124
110
  next === "\r");
125
111
  }
126
- /** enqueue.content 是否以票面准许的 `<task-notification` 固定开标签起头。 */
127
- function isFixedNonOwnerEnqueueShape(content) {
128
- return hasFixedOpenTagPrefix(content, TASK_NOTIFICATION_OPEN_TAG);
112
+ /**
113
+ * 被吸收的中途插话取 `queued_command` 附件原文(#1260)。
114
+ * 来源按附件 `origin.kind` 判;缺 origin 就当真人,只排除固定开头。
115
+ * 入队行不再是来源,本函数不读入队行、不做正文比对。
116
+ */
117
+ function fromQueuedCommandAttachment(row) {
118
+ if (!isRecord(row.attachment) || row.attachment.type !== "queued_command")
119
+ return [];
120
+ const kind = materializationOriginKind(row.attachment);
121
+ if (isNonOwnerOriginKind(kind))
122
+ return [];
123
+ const text = textParts(row.attachment.prompt).join("");
124
+ if (text === "")
125
+ return [];
126
+ if (kind === undefined && hasFixedOpenTagPrefix(text, TASK_NOTIFICATION_OPEN_TAG))
127
+ return [];
128
+ const id = nativeEventId(row);
129
+ return [{ speaker: "owner", text, ...(id === undefined ? {} : { id }) }];
129
130
  }
130
131
  /**
131
132
  * 物化 user 行上的结构化来源 kind(CC top-level `origin.kind`)。不读正文。
@@ -149,7 +150,7 @@ function isNonOwnerOriginKind(kind) {
149
150
  return kind !== "human";
150
151
  }
151
152
  /**
152
- * 消息事件适配:助手回话,以及未经入队事件记录的人类输入。
153
+ * 消息事件适配:助手回话,以及 `type=user` 的人类输入。
153
154
  * 思考块、工具调用块、工具结果块按块排除;同消息的说话人 text 保留
154
155
  * (#901 排除按来源不按正文;混合块不得整条丢弃)。
155
156
  * Codex response_item user:仅 `content_item_kinds` 含 `user.*` 时入录。
@@ -181,26 +182,21 @@ function fromMessageEvent(row) {
181
182
  /**
182
183
  * 整卷适配:返回与入参行等长的对话事实数组(该行不是对话则为空数组)。
183
184
  *
185
+ * 说话来源只取 `type=user` 行与 `queued_command` 附件。入队行与 `api-request-blob`
186
+ * 不投。有原生 id 则带上,不另编。不做正文比对或 id 去重。
184
187
  * 物化 user 只消费自身的 typed `origin.kind`:human 保留,具名非 human 排除。
185
- * enqueue 没有与物化 user 的 typed 关联,故不得以位置把某个 user 来源反扣给它;
186
- * 仅票面准许的 `<task-notification` 固定形状可直接排除,其余维持既有投影。
187
188
  */
188
189
  export function adaptSessionDialogue(rows) {
189
190
  return rows.map((row) => {
190
191
  if (row === undefined)
191
192
  return [];
193
+ if (row.type === "queue-operation" || row.type === "api-request-blob")
194
+ return [];
195
+ if (row.type === "attachment")
196
+ return fromQueuedCommandAttachment(row);
192
197
  const originKind = materializationOriginKind(row);
193
198
  if (isNonOwnerOriginKind(originKind))
194
199
  return [];
195
- if (row.type === "queue-operation" &&
196
- row.operation === "enqueue" &&
197
- typeof row.content === "string" &&
198
- isFixedNonOwnerEnqueueShape(row.content)) {
199
- return [];
200
- }
201
- const queued = fromQueueEvent(row);
202
- if (queued.length > 0)
203
- return queued;
204
200
  return fromMessageEvent(row);
205
201
  });
206
202
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akagilnc/pi-workflow-roles",
3
- "version": "0.1.5946",
3
+ "version": "0.1.5955",
4
4
  "description": "Soul-bound workflow roles for Pi",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -14,7 +14,7 @@ export const collectorOutputBaseSchema = openToolObject(
14
14
  "按机器身份归组的出席、材料与逐条 findings(LLM 自行从宿主 CLI 取证整理;代码不代收不归并)。",
15
15
  }),
16
16
  unfinishedReasons: Type.Unknown({
17
- description: "未完成原因;取证受限时如实报告。",
17
+ description: "仅取证受限时填未完成原因;没有就填 null",
18
18
  }),
19
19
  }),
20
20
  );