@akagilnc/pi-workflow-roles 0.1.5941 → 0.1.5949
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.
- package/dist/acp-host/production-host.js +81 -70
- package/dist/collector-tool-schemas.js +1 -1
- package/dist/diarist-contracts.js +8 -6
- package/dist/doctor-contracts.js +1 -1
- package/dist/headless-host/production-host.js +73 -62
- package/dist/migrate-book-topology.js +22 -36
- package/dist/package-contracts/fixer-output.js +1 -1
- package/dist/package-contracts/gatekeeper-output.js +2 -2
- package/dist/package-contracts/navigator-output.js +2 -2
- package/dist/package-contracts/reviewer-output.js +1 -1
- package/dist/package-contracts/terminating-infrastructure.js +6 -23
- package/dist/public-cli/instruction-seat-run.js +2 -1
- package/dist/public-cli/main.js +74 -63
- package/dist/public-cli/run-lifecycle.js +1 -1
- package/dist/public-cli/seat-ticket-binding.js +45 -17
- package/dist/review-submission.js +1 -1
- package/package.json +1 -1
- package/src/collector-tool-schemas.ts +1 -1
- package/src/diarist-contracts.ts +10 -8
- package/src/doctor-contracts.ts +1 -1
- package/src/package-contracts/fixer-output.ts +1 -1
- package/src/package-contracts/gatekeeper-output.ts +2 -2
- package/src/package-contracts/navigator-output.ts +2 -2
- package/src/package-contracts/reviewer-output.ts +1 -1
- package/src/package-contracts/terminating-infrastructure.ts +10 -35
- package/src/public-cli/instruction-seat-run.ts +2 -1
- package/src/public-cli/run-lifecycle.ts +1 -1
- package/src/public-cli/seat-ticket-binding.ts +43 -16
- package/src/review-submission.ts +1 -1
|
@@ -452,15 +452,15 @@ function withTerminatingOutputDeclarations(schema) {
|
|
|
452
452
|
...baseProperties ?? {},
|
|
453
453
|
...baseProperties?.ticketNumber === void 0 ? {
|
|
454
454
|
ticketNumber: Type.Unknown({
|
|
455
|
-
description: "\
|
|
455
|
+
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"
|
|
456
456
|
})
|
|
457
457
|
} : {},
|
|
458
458
|
...baseProperties?.summary === void 0 ? {
|
|
459
459
|
summary: Type.Unknown({
|
|
460
|
-
description: "\u672C\u5E2D\
|
|
460
|
+
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"
|
|
461
461
|
})
|
|
462
462
|
} : {},
|
|
463
|
-
[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]:
|
|
463
|
+
[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureField
|
|
464
464
|
};
|
|
465
465
|
const object = Type.Object(properties, { additionalProperties: true });
|
|
466
466
|
const incoming = schema.required;
|
|
@@ -468,30 +468,14 @@ function withTerminatingOutputDeclarations(schema) {
|
|
|
468
468
|
object.required = preserved;
|
|
469
469
|
return object;
|
|
470
470
|
}
|
|
471
|
-
var INFRASTRUCTURE_FAILURE_DECLARATION_KEY,
|
|
471
|
+
var INFRASTRUCTURE_FAILURE_DECLARATION_KEY, infrastructureFailureField;
|
|
472
472
|
var init_terminating_infrastructure = __esm({
|
|
473
473
|
"src/package-contracts/terminating-infrastructure.ts"() {
|
|
474
474
|
"use strict";
|
|
475
475
|
INFRASTRUCTURE_FAILURE_DECLARATION_KEY = "infrastructureFailure";
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
[INFRASTRUCTURE_FAILURE_DIAGNOSTIC_KEY]: Type.Unknown({
|
|
480
|
-
description: "\u57FA\u7840\u8BBE\u65BD\u5931\u8D25\u8BCA\u65AD\u5B57\u7B26\u4E32\u3002"
|
|
481
|
-
})
|
|
482
|
-
},
|
|
483
|
-
{
|
|
484
|
-
additionalProperties: true,
|
|
485
|
-
description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u51FA\u73B0\u3002"
|
|
486
|
-
}
|
|
487
|
-
);
|
|
488
|
-
infrastructureFailureNested.required = [];
|
|
489
|
-
infrastructureFailureDeclarationSchema = Type.Object(
|
|
490
|
-
{
|
|
491
|
-
[INFRASTRUCTURE_FAILURE_DECLARATION_KEY]: infrastructureFailureNested
|
|
492
|
-
},
|
|
493
|
-
{ additionalProperties: true }
|
|
494
|
-
);
|
|
476
|
+
infrastructureFailureField = Type.Unknown({
|
|
477
|
+
description: "\u4EC5\u57FA\u7840\u8BBE\u65BD\u771F\u5B9E\u5931\u8D25\u65F6\u586B {diagnostic}\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
478
|
+
});
|
|
495
479
|
}
|
|
496
480
|
});
|
|
497
481
|
|
|
@@ -520,7 +504,7 @@ var init_review_submission = __esm({
|
|
|
520
504
|
reason: Type2.Optional(Type2.Unknown({ description: "\u4E0A\u5448\u7406\u7531" })),
|
|
521
505
|
violations: Type2.Optional(Type2.Unknown({ description: "\u8FDD\u89C4\u6761\u76EE" })),
|
|
522
506
|
conflicts: Type2.Optional(Type2.Unknown({ description: "\u5F85\u51B3\u51B2\u7A81" })),
|
|
523
|
-
fix: Type2.Optional(Type2.Unknown({ description: "continue \u65F6\
|
|
507
|
+
fix: Type2.Optional(Type2.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" })),
|
|
524
508
|
classes: Type2.Optional(Type2.Unknown({ description: "\u5DF2\u88C1\u51B3 finding \u7C7B\uFF1B\u53EF\u8BF4\u660E name\u3001owner\u3001boundary\u3001disposition\uFF0C\u539F\u6837\u7559\u5B58" })),
|
|
525
509
|
note: Type2.Optional(Type2.Unknown({ description: "\u88C1\u51B3\u9644\u6CE8" })),
|
|
526
510
|
evidence: Type2.Optional(Type2.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
|
|
@@ -634,7 +618,7 @@ var init_reviewer_output = __esm({
|
|
|
634
618
|
init_open_tool_schema();
|
|
635
619
|
init_terminating_infrastructure();
|
|
636
620
|
REVIEWER_OUTPUT_TOOL_NAME = "ak_reviewer_output";
|
|
637
|
-
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\
|
|
621
|
+
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";
|
|
638
622
|
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";
|
|
639
623
|
reviewerOutputObject = Type4.Object({
|
|
640
624
|
status: Type4.Unknown({ description: REVIEWER_STATUS_DESCRIPTION }),
|
|
@@ -665,10 +649,10 @@ var init_gatekeeper_output = __esm({
|
|
|
665
649
|
description: "dispatch | pass"
|
|
666
650
|
}),
|
|
667
651
|
officer: Type5.Unknown({
|
|
668
|
-
description: "status \u4E3A dispatch \u65F6\
|
|
652
|
+
description: "\u4EC5 status \u4E3A dispatch \u65F6\u586B inspector | notary\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
669
653
|
}),
|
|
670
654
|
findings: Type5.Unknown({
|
|
671
|
-
description: "status \u4E3A pass \u65F6\
|
|
655
|
+
description: "\u4EC5 status \u4E3A pass \u65F6\u586B string[] findings\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
672
656
|
})
|
|
673
657
|
})
|
|
674
658
|
);
|
|
@@ -769,13 +753,13 @@ var init_navigator_output = __esm({
|
|
|
769
753
|
NAVIGATOR_OUTPUT_TOOL_NAME = "ak_navigator_output";
|
|
770
754
|
navigatorAdviceFields = {
|
|
771
755
|
prose: Type6.Unknown({
|
|
772
|
-
description: "\u5355\u6761\u6563\u6587\u5EFA\u8BAE\
|
|
756
|
+
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"
|
|
773
757
|
}),
|
|
774
758
|
byStatus: Type6.Unknown({
|
|
775
759
|
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"
|
|
776
760
|
}),
|
|
777
761
|
byRole: Type6.Unknown({
|
|
778
|
-
description: "\u6574\u5F20\u8DEF\u7EBF\u8868\
|
|
762
|
+
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"
|
|
779
763
|
})
|
|
780
764
|
};
|
|
781
765
|
navigatorAdviceBodySchema = openToolObject(Type6.Object(navigatorAdviceFields));
|
|
@@ -827,7 +811,7 @@ var init_fixer_output = __esm({
|
|
|
827
811
|
}),
|
|
828
812
|
diffItems: diffItemsField,
|
|
829
813
|
testEvidence: Type8.Unknown({
|
|
830
|
-
description: "\
|
|
814
|
+
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"
|
|
831
815
|
})
|
|
832
816
|
});
|
|
833
817
|
fixerOutputSchema = withTerminatingOutputDeclarations(
|
|
@@ -912,7 +896,7 @@ var init_doctor_contracts = __esm({
|
|
|
912
896
|
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`
|
|
913
897
|
}),
|
|
914
898
|
reason: Type10.Unknown({
|
|
915
|
-
description: "\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\
|
|
899
|
+
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"
|
|
916
900
|
}),
|
|
917
901
|
missingEvidence: Type10.Unknown({
|
|
918
902
|
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"
|
|
@@ -2117,7 +2101,7 @@ var init_ticket_provenance_contracts = __esm({
|
|
|
2117
2101
|
import { Type as Type13 } from "typebox";
|
|
2118
2102
|
function projectDiaristSessions(value) {
|
|
2119
2103
|
const raw = value?.sessions;
|
|
2120
|
-
if (raw
|
|
2104
|
+
if (raw == null) return [];
|
|
2121
2105
|
return projectTicketProvenanceSessions(raw);
|
|
2122
2106
|
}
|
|
2123
2107
|
function projectDiaristTicketSessions(value) {
|
|
@@ -2154,15 +2138,17 @@ var init_diarist_contracts = __esm({
|
|
|
2154
2138
|
}),
|
|
2155
2139
|
ticketNumber: Type13.Optional(
|
|
2156
2140
|
Type13.Unknown({
|
|
2157
|
-
description: "\u672C\u5EAD\u5BF9\u8C61\u7968\u53F7\uFF08\u6B63\u6574\u6570\uFF09\
|
|
2141
|
+
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"
|
|
2158
2142
|
})
|
|
2159
2143
|
),
|
|
2160
2144
|
reason: Type13.Unknown({
|
|
2161
|
-
description: "status \u4E3A escalate \u65F6\
|
|
2145
|
+
description: "\u4EC5 status \u4E3A escalate \u65F6\u586B\u4E0A\u5448\u7684\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
2162
2146
|
}),
|
|
2163
|
-
sessions: Type13.Optional(Type13.Unknown({
|
|
2147
|
+
sessions: Type13.Optional(Type13.Unknown({
|
|
2148
|
+
description: `\u4EC5\u5355\u7968\u5EAD\u65F6\u586B\u5BF9\u8BDD\u8FB9\u754C\uFF1B\u6CA1\u6709\u5C31\u586B null\u3002${DIARIST_SESSIONS_DESCRIPTION}`
|
|
2149
|
+
})),
|
|
2164
2150
|
ticketSessions: Type13.Unknown({
|
|
2165
|
-
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
|
|
2151
|
+
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`
|
|
2166
2152
|
})
|
|
2167
2153
|
})
|
|
2168
2154
|
)
|
|
@@ -4382,7 +4368,7 @@ var init_collector_tool_schemas = __esm({
|
|
|
4382
4368
|
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"
|
|
4383
4369
|
}),
|
|
4384
4370
|
unfinishedReasons: Type15.Unknown({
|
|
4385
|
-
description: "\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\
|
|
4371
|
+
description: "\u4EC5\u53D6\u8BC1\u53D7\u9650\u65F6\u586B\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u6CA1\u6709\u5C31\u586B null"
|
|
4386
4372
|
})
|
|
4387
4373
|
})
|
|
4388
4374
|
);
|
|
@@ -9390,6 +9376,7 @@ var run_lifecycle_exports = {};
|
|
|
9390
9376
|
__export(run_lifecycle_exports, {
|
|
9391
9377
|
AUTO_RESUME_LIMIT: () => AUTO_RESUME_LIMIT,
|
|
9392
9378
|
RunWriterLeaseHeldError: () => RunWriterLeaseHeldError,
|
|
9379
|
+
WRITER_LOCK_FILE: () => WRITER_LOCK_FILE,
|
|
9393
9380
|
acquireRunWriterLease: () => acquireRunWriterLease,
|
|
9394
9381
|
autopsyWriterLock: () => autopsyWriterLock,
|
|
9395
9382
|
clearCurrentCourt: () => clearCurrentCourt,
|
|
@@ -15580,24 +15567,48 @@ var init_post_admission = __esm({
|
|
|
15580
15567
|
});
|
|
15581
15568
|
|
|
15582
15569
|
// src/public-cli/seat-ticket-binding.ts
|
|
15570
|
+
import { join as join24 } from "node:path";
|
|
15571
|
+
function resumedSessionIdMissing(result, runId) {
|
|
15572
|
+
if (typeof result !== "object" || result === null) return false;
|
|
15573
|
+
const terminal = result.terminal;
|
|
15574
|
+
if (typeof terminal !== "object" || terminal === null) return false;
|
|
15575
|
+
if (terminal.runId !== runId) return false;
|
|
15576
|
+
const outcome = terminal.roleOutcome;
|
|
15577
|
+
if (typeof outcome !== "object" || outcome === null) return false;
|
|
15578
|
+
if (outcome.kind !== "failure") return false;
|
|
15579
|
+
const facts = outcome.decisiveFacts;
|
|
15580
|
+
if (typeof facts !== "object" || facts === null) return false;
|
|
15581
|
+
return facts.errorCode === SESSION_ID_MISSING;
|
|
15582
|
+
}
|
|
15583
|
+
async function writerLockBlocksFreshSummons(runDirectory) {
|
|
15584
|
+
const autopsy = await autopsyWriterLock(join24(runDirectory, WRITER_LOCK_FILE));
|
|
15585
|
+
return autopsy.verdict === "alive" || autopsy.verdict === "unknown";
|
|
15586
|
+
}
|
|
15583
15587
|
async function tryResumeSameTicketSeatRun(input) {
|
|
15584
15588
|
if (input.freshSummons === true) return void 0;
|
|
15585
15589
|
if (input.parentRunPath.trim() === "") return void 0;
|
|
15590
|
+
const bookKey = resolveBookKeyFromGit(input.projectRoot);
|
|
15586
15591
|
const previous = await findLatestRunForSeatTicket({
|
|
15587
15592
|
home: input.home,
|
|
15588
|
-
bookKey
|
|
15593
|
+
bookKey,
|
|
15589
15594
|
role: input.role,
|
|
15590
15595
|
parentRunPath: input.parentRunPath,
|
|
15591
15596
|
...input.ticketNumber === void 0 ? {} : { ticketNumber: input.ticketNumber }
|
|
15592
15597
|
});
|
|
15593
15598
|
if (previous === void 0) return void 0;
|
|
15594
|
-
|
|
15599
|
+
const resumed = await input.resume(previous.runId, input.summons, previous.runDirectory);
|
|
15600
|
+
if (!resumedSessionIdMissing(resumed, previous.runId)) return resumed;
|
|
15601
|
+
const live = await resolveLiveRunDirectoryPath(previous.runDirectory, input.home, bookKey);
|
|
15602
|
+
if (live !== void 0 && await writerLockBlocksFreshSummons(live)) return resumed;
|
|
15603
|
+
return void 0;
|
|
15595
15604
|
}
|
|
15605
|
+
var SESSION_ID_MISSING;
|
|
15596
15606
|
var init_seat_ticket_binding = __esm({
|
|
15597
15607
|
"src/public-cli/seat-ticket-binding.ts"() {
|
|
15598
15608
|
"use strict";
|
|
15599
15609
|
init_activation_ledger_git();
|
|
15600
15610
|
init_run_lifecycle();
|
|
15611
|
+
SESSION_ID_MISSING = "session-id-missing";
|
|
15601
15612
|
}
|
|
15602
15613
|
});
|
|
15603
15614
|
|
|
@@ -17256,10 +17267,10 @@ var init_analyst_book_key = __esm({
|
|
|
17256
17267
|
// src/atomic-write.ts
|
|
17257
17268
|
import { randomUUID as randomUUID7 } from "node:crypto";
|
|
17258
17269
|
import { rename as rename2, rm, writeFile as writeFile4 } from "node:fs/promises";
|
|
17259
|
-
import { dirname as dirname15, join as
|
|
17270
|
+
import { dirname as dirname15, join as join25 } from "node:path";
|
|
17260
17271
|
async function writeFileAtomically(destination, contents, options) {
|
|
17261
17272
|
const parent = dirname15(destination);
|
|
17262
|
-
const temporary =
|
|
17273
|
+
const temporary = join25(parent, `.atomic-write-${randomUUID7()}.tmp`);
|
|
17263
17274
|
try {
|
|
17264
17275
|
await writeFile4(temporary, contents, options);
|
|
17265
17276
|
await rename2(temporary, destination);
|
|
@@ -17276,12 +17287,12 @@ var init_atomic_write = __esm({
|
|
|
17276
17287
|
|
|
17277
17288
|
// src/analyst-index.ts
|
|
17278
17289
|
import { open as open2, readFile as readFile11, unlink as unlink2 } from "node:fs/promises";
|
|
17279
|
-
import { dirname as dirname16, join as
|
|
17290
|
+
import { dirname as dirname16, join as join26 } from "node:path";
|
|
17280
17291
|
import { setTimeout as sleep } from "node:timers/promises";
|
|
17281
17292
|
async function withAnalystLibraryIndexLock(ledgerHome, fn) {
|
|
17282
17293
|
const indexPath = analystLibraryIndexPath(ledgerHome);
|
|
17283
17294
|
ensureRealDirectoryTree(ledgerHome, dirname16(indexPath));
|
|
17284
|
-
const lockPath =
|
|
17295
|
+
const lockPath = join26(dirname16(indexPath), LIBRARY_INDEX_LOCK_NAME);
|
|
17285
17296
|
assertLedgerFileInsideHome(lockPath, ledgerHome);
|
|
17286
17297
|
const startedAt = Date.now();
|
|
17287
17298
|
while (true) {
|
|
@@ -17308,7 +17319,7 @@ async function withAnalystLibraryIndexLock(ledgerHome, fn) {
|
|
|
17308
17319
|
}
|
|
17309
17320
|
}
|
|
17310
17321
|
function analystLibraryIndexPath(ledgerHome) {
|
|
17311
|
-
return
|
|
17322
|
+
return join26(ledgerHome, "analyst", "library-index.json");
|
|
17312
17323
|
}
|
|
17313
17324
|
function rowFromIssueMetricsPage(page) {
|
|
17314
17325
|
return {
|
|
@@ -17602,7 +17613,7 @@ var init_analyst_cohort = __esm({
|
|
|
17602
17613
|
});
|
|
17603
17614
|
|
|
17604
17615
|
// src/archivist-record-pointer.ts
|
|
17605
|
-
import { basename as basename12, join as
|
|
17616
|
+
import { basename as basename12, join as join27 } from "node:path";
|
|
17606
17617
|
async function resolveOfficerPointer(raw, parentRunDirectory) {
|
|
17607
17618
|
const where = `${parentRunDirectory} officers`;
|
|
17608
17619
|
if (!isRecord(raw) || raw.kind !== DIRECT_OFFICER_RUN_POINTER_KIND || raw.version !== 1) {
|
|
@@ -17635,7 +17646,7 @@ async function resolveOfficerPointer(raw, parentRunDirectory) {
|
|
|
17635
17646
|
};
|
|
17636
17647
|
}
|
|
17637
17648
|
async function readBookedOfficerPointers(parentRunDirectory) {
|
|
17638
|
-
const { records, diagnostics } = await readSitianRecords(
|
|
17649
|
+
const { records, diagnostics } = await readSitianRecords(join27(parentRunDirectory, RUN_HISTORY_FILE));
|
|
17639
17650
|
if (diagnostics.length > 0) {
|
|
17640
17651
|
throw new Error(
|
|
17641
17652
|
`${RUN_HISTORY_FILE} has ${diagnostics.length} malformed row(s); officer pointers unreadable: ${parentRunDirectory}`
|
|
@@ -17918,7 +17929,7 @@ var init_analyst_gate_cycles_read = __esm({
|
|
|
17918
17929
|
|
|
17919
17930
|
// src/analyst-ledger.ts
|
|
17920
17931
|
import { readdir as readdir4 } from "node:fs/promises";
|
|
17921
|
-
import { basename as basename13, join as
|
|
17932
|
+
import { basename as basename13, join as join28 } from "node:path";
|
|
17922
17933
|
async function readExistingRunLifecycleState(runDirectory) {
|
|
17923
17934
|
return (await readRoleRunIdentity(runDirectory))?.state;
|
|
17924
17935
|
}
|
|
@@ -17938,7 +17949,7 @@ function ghostLeaseCheckFromAutopsy(autopsy) {
|
|
|
17938
17949
|
}
|
|
17939
17950
|
}
|
|
17940
17951
|
async function classifyGhostCandidate(input) {
|
|
17941
|
-
const autopsy = await autopsyWriterLock(
|
|
17952
|
+
const autopsy = await autopsyWriterLock(join28(input.runDirectory, "writer.lock"));
|
|
17942
17953
|
const leaseCheck = ghostLeaseCheckFromAutopsy(autopsy);
|
|
17943
17954
|
if (leaseCheck === void 0) return { kind: "live" };
|
|
17944
17955
|
return {
|
|
@@ -18228,7 +18239,7 @@ async function classifyScopedRun(input) {
|
|
|
18228
18239
|
async function scanAnalystIssueRuns(input) {
|
|
18229
18240
|
const ledgerHome = resolveActivationLedgerHome(input.home);
|
|
18230
18241
|
const scopeTicketNumber = input.ticketNumber;
|
|
18231
|
-
const booksRoot =
|
|
18242
|
+
const booksRoot = join28(ledgerHome, "books");
|
|
18232
18243
|
let wholeBook = false;
|
|
18233
18244
|
let scopeRootIdentity;
|
|
18234
18245
|
let bookNames;
|
|
@@ -18261,7 +18272,7 @@ async function scanAnalystIssueRuns(input) {
|
|
|
18261
18272
|
const ghostLegs = [];
|
|
18262
18273
|
const scopeConflicts = [];
|
|
18263
18274
|
for (const book of bookNames) {
|
|
18264
|
-
const bookDir =
|
|
18275
|
+
const bookDir = join28(booksRoot, book);
|
|
18265
18276
|
let runDirectories;
|
|
18266
18277
|
try {
|
|
18267
18278
|
runDirectories = await listBookRunDirectories(bookDir);
|
|
@@ -19007,7 +19018,7 @@ var init_analyst_metric_family = __esm({
|
|
|
19007
19018
|
});
|
|
19008
19019
|
|
|
19009
19020
|
// src/analyst-page.ts
|
|
19010
|
-
import { dirname as dirname17, join as
|
|
19021
|
+
import { dirname as dirname17, join as join29 } from "node:path";
|
|
19011
19022
|
function analystIssuePageKey(address) {
|
|
19012
19023
|
const parts = ["book", address.bookKey];
|
|
19013
19024
|
if (address.issueNumber !== void 0) {
|
|
@@ -19018,7 +19029,7 @@ function analystIssuePageKey(address) {
|
|
|
19018
19029
|
return sha256Hex(parts.join("\0")).slice(0, 32);
|
|
19019
19030
|
}
|
|
19020
19031
|
function analystIssuePagePath(ledgerHome, address) {
|
|
19021
|
-
return
|
|
19032
|
+
return join29(ledgerHome, "analyst", "issues", `${analystIssuePageKey(address)}.json`);
|
|
19022
19033
|
}
|
|
19023
19034
|
function analystIssuePageAddressFromPage(page) {
|
|
19024
19035
|
return {
|
|
@@ -20582,7 +20593,7 @@ __export(public_role_summons_exports, {
|
|
|
20582
20593
|
import { execFile as execFile3 } from "node:child_process";
|
|
20583
20594
|
import { existsSync as existsSync13 } from "node:fs";
|
|
20584
20595
|
import { realpath as realpath6 } from "node:fs/promises";
|
|
20585
|
-
import { join as
|
|
20596
|
+
import { join as join30 } from "node:path";
|
|
20586
20597
|
import { promisify as promisify3 } from "node:util";
|
|
20587
20598
|
function createCapturingIo() {
|
|
20588
20599
|
const chunks = [];
|
|
@@ -20606,7 +20617,7 @@ function parentDir(path) {
|
|
|
20606
20617
|
function walkPackageRoot(start) {
|
|
20607
20618
|
let dir = start;
|
|
20608
20619
|
for (let i = 0; i < 12; i += 1) {
|
|
20609
|
-
if (existsSync13(
|
|
20620
|
+
if (existsSync13(join30(dir, "package.json")) && existsSync13(join30(dir, "souls"))) {
|
|
20610
20621
|
return dir;
|
|
20611
20622
|
}
|
|
20612
20623
|
const parent = parentDir(dir);
|
|
@@ -21214,7 +21225,7 @@ init_submission_ledger();
|
|
|
21214
21225
|
init_filed_submission();
|
|
21215
21226
|
init_report_ticket_tool();
|
|
21216
21227
|
import { writeSync as writeSync2 } from "node:fs";
|
|
21217
|
-
import { join as
|
|
21228
|
+
import { join as join31 } from "node:path";
|
|
21218
21229
|
import { Value as Value2 } from "typebox/value";
|
|
21219
21230
|
|
|
21220
21231
|
// src/activation-trace.ts
|
|
@@ -22832,7 +22843,7 @@ function readRoleRunCoordinates(ctx, label) {
|
|
|
22832
22843
|
if (runDirectory === void 0) throw new Error(`${label} requires AK_ROLE_RUN_DIR`);
|
|
22833
22844
|
const admitted = readPageSync(runDirectory, "admitted");
|
|
22834
22845
|
if (typeof admitted?.projectRoot !== "string" || admitted.projectRoot.trim() === "") {
|
|
22835
|
-
throw new Error(`${label} state.jsonl admitted-request row missing projectRoot (${
|
|
22846
|
+
throw new Error(`${label} state.jsonl admitted-request row missing projectRoot (${join31(runDirectory, RUN_STATE_FILE)})`);
|
|
22836
22847
|
}
|
|
22837
22848
|
return {
|
|
22838
22849
|
runDirectory,
|
|
@@ -24225,7 +24236,7 @@ import { randomUUID as randomUUID10 } from "node:crypto";
|
|
|
24225
24236
|
import { existsSync as existsSync15 } from "node:fs";
|
|
24226
24237
|
import { mkdtemp, rm as rm2, writeFile as writeFile6 } from "node:fs/promises";
|
|
24227
24238
|
import { tmpdir } from "node:os";
|
|
24228
|
-
import { dirname as dirname19, isAbsolute as isAbsolute11, join as
|
|
24239
|
+
import { dirname as dirname19, isAbsolute as isAbsolute11, join as join32, resolve as resolve16 } from "node:path";
|
|
24229
24240
|
|
|
24230
24241
|
// src/agent-start-materials.ts
|
|
24231
24242
|
function renderAgentStartMaterials(body, materials) {
|
|
@@ -24611,7 +24622,7 @@ function formatCodexFailurePayload(payload) {
|
|
|
24611
24622
|
function cwdIsGitWorkTree(cwd) {
|
|
24612
24623
|
let dir = cwd;
|
|
24613
24624
|
for (; ; ) {
|
|
24614
|
-
if (existsSync15(
|
|
24625
|
+
if (existsSync15(join32(dir, ".git"))) return true;
|
|
24615
24626
|
const parent = dirname19(dir);
|
|
24616
24627
|
if (parent === dir) return false;
|
|
24617
24628
|
dir = parent;
|
|
@@ -24828,8 +24839,8 @@ function createHeadlessRoleTurnHost(config) {
|
|
|
24828
24839
|
}
|
|
24829
24840
|
const env = { ...process.env, ...config.env ?? {} };
|
|
24830
24841
|
const liveSessionParent = () => config.sessionIdentity.resolveSessionFile(request.principal);
|
|
24831
|
-
const inputsDirectory = await mkdtemp(
|
|
24832
|
-
const systemPromptPath =
|
|
24842
|
+
const inputsDirectory = await mkdtemp(join32(tmpdir(), "ak-role-headless-"));
|
|
24843
|
+
const systemPromptPath = join32(inputsDirectory, "system-prompt.txt");
|
|
24833
24844
|
let mcpConfigPath;
|
|
24834
24845
|
let outputSchemaPath;
|
|
24835
24846
|
let startedWithSchema;
|
|
@@ -24837,12 +24848,12 @@ function createHeadlessRoleTurnHost(config) {
|
|
|
24837
24848
|
await writeFile6(systemPromptPath, systemPrompt, "utf8");
|
|
24838
24849
|
let deliveredSchema;
|
|
24839
24850
|
if (codex) {
|
|
24840
|
-
outputSchemaPath =
|
|
24851
|
+
outputSchemaPath = join32(inputsDirectory, "output-schema.json");
|
|
24841
24852
|
deliveredSchema = closeJsonSchemaForCodex(prepared.jsonSchema);
|
|
24842
24853
|
await writeFile6(outputSchemaPath, `${JSON.stringify(deliveredSchema, null, 2)}
|
|
24843
24854
|
`, "utf8");
|
|
24844
24855
|
} else {
|
|
24845
|
-
mcpConfigPath =
|
|
24856
|
+
mcpConfigPath = join32(inputsDirectory, "mcp-config.json");
|
|
24846
24857
|
await writeFile6(
|
|
24847
24858
|
mcpConfigPath,
|
|
24848
24859
|
`${JSON.stringify(headlessMcpConfigDocument(prepared.mcpServers), null, 2)}
|
|
@@ -8623,15 +8623,15 @@ function withTerminatingOutputDeclarations(schema) {
|
|
|
8623
8623
|
...baseProperties ?? {},
|
|
8624
8624
|
...baseProperties?.ticketNumber === void 0 ? {
|
|
8625
8625
|
ticketNumber: typebox_exports.Unknown({
|
|
8626
|
-
description: "\
|
|
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\
|
|
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]:
|
|
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,
|
|
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
|
-
|
|
8649
|
-
|
|
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\
|
|
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\
|
|
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\
|
|
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\
|
|
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\
|
|
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\
|
|
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: "\
|
|
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\
|
|
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\
|
|
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\
|
|
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({
|
|
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
|
|
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\
|
|
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: "\
|
|
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\
|
|
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\
|
|
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\
|
|
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\
|
|
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\
|
|
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 }),
|