@akagilnc/pi-workflow-roles 0.1.5375 → 0.1.5382
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 +479 -425
- package/dist/collector-tool-schemas.js +18 -0
- package/dist/diarist-contracts.js +26 -0
- package/dist/filed-submission.js +28 -0
- package/dist/gatekeeper-role.js +6 -10
- package/dist/gleaner-left-contracts.js +16 -0
- package/dist/headless-host/production-host.js +495 -441
- package/dist/judge-role.js +8 -16
- package/dist/migrate-book-topology.js +262 -7
- package/dist/package-contracts/reviewer-output.js +16 -0
- package/dist/package-contracts/worker-output.js +18 -2
- package/dist/public-cli/instruction-seat-run.js +9 -12
- package/dist/public-cli/main.js +283 -26
- package/dist/role-submission-declarations.js +131 -0
- package/dist/secretariat-contracts.js +23 -1
- package/dist/submission-gate.js +5 -8
- package/package.json +1 -1
- package/src/auditor-role.ts +2 -8
- package/src/collector-role.ts +5 -28
- package/src/countersign-role.ts +2 -7
- package/src/diarist-contracts.ts +37 -0
- package/src/diarist-role.ts +4 -44
- package/src/doctor-role.ts +16 -11
- package/src/filed-submission.ts +44 -0
- package/src/gatekeeper-role.ts +6 -14
- package/src/gleaner-left-contracts.ts +26 -1
- package/src/gleaner-left-role.ts +4 -32
- package/src/inspector-role.ts +2 -7
- package/src/judge-role.ts +12 -24
- package/src/merger-role.ts +5 -8
- package/src/navigator-role.ts +2 -8
- package/src/notary-role.ts +5 -20
- package/src/package-contracts/reviewer-output.ts +25 -0
- package/src/package-contracts/worker-output.ts +43 -5
- package/src/public-cli/instruction-seat-run.ts +10 -13
- package/src/reviewer-role.ts +7 -35
- package/src/role-runtime.ts +7 -35
- package/src/role-submission-declarations.ts +143 -0
- package/src/secretariat-contracts.ts +35 -0
- package/src/secretariat-role.ts +4 -40
- package/src/submission-gate.ts +8 -9
- package/src/worker-role.ts +62 -79
- package/src/worker-submission-gates.ts +3 -0
|
@@ -518,16 +518,31 @@ var init_judge_output = __esm({
|
|
|
518
518
|
});
|
|
519
519
|
|
|
520
520
|
// src/package-contracts/reviewer-output.ts
|
|
521
|
-
|
|
521
|
+
import { Type as Type6 } from "typebox";
|
|
522
|
+
var REVIEWER_OUTPUT_TOOL_NAME, REVIEWER_AMENDMENTS_DESCRIPTION, REVIEWER_STATUS_DESCRIPTION, reviewerOutputObject, reviewerOutputSchema;
|
|
522
523
|
var init_reviewer_output = __esm({
|
|
523
524
|
"src/package-contracts/reviewer-output.ts"() {
|
|
524
525
|
"use strict";
|
|
526
|
+
init_open_tool_schema();
|
|
527
|
+
init_terminating_infrastructure();
|
|
525
528
|
REVIEWER_OUTPUT_TOOL_NAME = "ak_reviewer_output";
|
|
529
|
+
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";
|
|
530
|
+
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";
|
|
531
|
+
reviewerOutputObject = Type6.Object({
|
|
532
|
+
status: Type6.Unknown({ description: REVIEWER_STATUS_DESCRIPTION }),
|
|
533
|
+
amendments: Type6.Unknown({ description: REVIEWER_AMENDMENTS_DESCRIPTION }),
|
|
534
|
+
diagnostic: Type6.Unknown({
|
|
535
|
+
description: "\u62D2\u7EDD\u8BCA\u65AD\u8BF4\u660E\uFF1Bhard-stop\uFF0Fusage error \u539F\u56E0\u8FDB\u6B64\u5B57\u6BB5\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u53E6\u7167\u5F55 amendments"
|
|
536
|
+
})
|
|
537
|
+
});
|
|
538
|
+
reviewerOutputSchema = withTerminatingOutputDeclarations(
|
|
539
|
+
openToolObject(reviewerOutputObject)
|
|
540
|
+
);
|
|
526
541
|
}
|
|
527
542
|
});
|
|
528
543
|
|
|
529
544
|
// src/package-contracts/fixer-output.ts
|
|
530
|
-
import { Type as
|
|
545
|
+
import { Type as Type7 } from "typebox";
|
|
531
546
|
function validateFixerOutput(value, _phase) {
|
|
532
547
|
return value;
|
|
533
548
|
}
|
|
@@ -540,22 +555,22 @@ var init_fixer_output = __esm({
|
|
|
540
555
|
FIXER_OUTPUT_TOOL_NAME = "ak_fixer_output";
|
|
541
556
|
PARTIALLY_COMPLETED_DEFINITION = "partially_completed \u53EA\u80FD\u5728\u6709\u5408\u6CD5\u62D2\u7EDD\u9879\uFF08\u5B8C\u6210\u9879\u4E0E\u5408\u6CD5\u62D2\u7EDD\u9879\u5E76\u5B58\uFF09\u65F6\u7528\uFF0C\u522B\u7684\u60C5\u51B5\u4E0D\u51C6\u7528\u3002";
|
|
542
557
|
FIXER_STATUS_DESCRIPTION = `planned | completed | refused | unfinished | partially_completed\u3002unfinished \u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u65F6\u53EF\u7528\uFF0C\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
543
|
-
fixerOutputObject =
|
|
544
|
-
status:
|
|
545
|
-
report:
|
|
546
|
-
remainingScope:
|
|
558
|
+
fixerOutputObject = Type7.Object({
|
|
559
|
+
status: Type7.Unknown({ description: FIXER_STATUS_DESCRIPTION }),
|
|
560
|
+
report: Type7.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
561
|
+
remainingScope: Type7.Unknown({
|
|
547
562
|
description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C\uFF1B\u4F9D\u6CD5\u4E0D\u80FD\u5B8C\u6210\u7684\u8303\u56F4\u4E5F\u5199\u6B64\u5904\u3002"
|
|
548
563
|
}),
|
|
549
|
-
blocker:
|
|
564
|
+
blocker: Type7.Unknown({
|
|
550
565
|
description: "\u5408\u6CD5\u963B\u65AD\u5B8C\u6210\u7684 blocker\uFF0C\u539F\u6837\u7559\u5B58\u3002\u53EF\u5199 cause\uFF08authority_violation \u6216 prerequisite_unmet\uFF09\u3001evidence\uFF1Bprerequisite_unmet \u8FD8\u53EF\u5199 prerequisiteId\u3002"
|
|
551
566
|
}),
|
|
552
|
-
reason:
|
|
567
|
+
reason: Type7.Unknown({
|
|
553
568
|
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
554
569
|
}),
|
|
555
|
-
classResults:
|
|
570
|
+
classResults: Type7.Unknown({
|
|
556
571
|
description: "\u5404\u7C7B class \u7ED3\u7B97\uFF0C\u539F\u6837\u7559\u5B58\u3002\u5B8C\u6210\u9879\u7684 disposition \u4E3A completed\uFF0C\u53EF\u5199 name\u3001searchScope\u3001exceptions\uFF08where\u3001reason\uFF09\u3001commitSha\u3002\u62D2\u7EDD\u9879\u7684 disposition \u4E3A refused\uFF0C\u53EF\u5199 name\u3001remainingScope\u3001blocker\u3002"
|
|
557
572
|
}),
|
|
558
|
-
testEvidence:
|
|
573
|
+
testEvidence: Type7.Unknown({
|
|
559
574
|
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"
|
|
560
575
|
})
|
|
561
576
|
});
|
|
@@ -566,7 +581,7 @@ var init_fixer_output = __esm({
|
|
|
566
581
|
});
|
|
567
582
|
|
|
568
583
|
// src/package-contracts/fixer-packet.ts
|
|
569
|
-
import { Type as
|
|
584
|
+
import { Type as Type8 } from "typebox";
|
|
570
585
|
import { Value } from "typebox/value";
|
|
571
586
|
function causeMessage(cause) {
|
|
572
587
|
if (cause instanceof Error) return cause.message;
|
|
@@ -623,11 +638,11 @@ var init_fixer_packet = __esm({
|
|
|
623
638
|
"use strict";
|
|
624
639
|
init_unknown_value();
|
|
625
640
|
FIXER_PREREQUISITE_ID_PATTERN = "^[A-Za-z0-9][A-Za-z0-9._-]*$";
|
|
626
|
-
fixerPrerequisiteSchema =
|
|
627
|
-
id:
|
|
628
|
-
requirement:
|
|
641
|
+
fixerPrerequisiteSchema = Type8.Object({
|
|
642
|
+
id: Type8.String({ pattern: FIXER_PREREQUISITE_ID_PATTERN }),
|
|
643
|
+
requirement: Type8.String({ pattern: "\\S" })
|
|
629
644
|
});
|
|
630
|
-
fixerPrerequisitesSchema =
|
|
645
|
+
fixerPrerequisitesSchema = Type8.Array(fixerPrerequisiteSchema);
|
|
631
646
|
FixerPacketValidationError = class extends Error {
|
|
632
647
|
code = "AK_INVALID_FIX_PACKET";
|
|
633
648
|
constructor(cause) {
|
|
@@ -643,20 +658,34 @@ var init_fixer_packet = __esm({
|
|
|
643
658
|
});
|
|
644
659
|
|
|
645
660
|
// src/package-contracts/worker-output.ts
|
|
661
|
+
import { Type as Type9 } from "typebox";
|
|
646
662
|
function validateAcceptedCoderDetails(output) {
|
|
647
663
|
return output;
|
|
648
664
|
}
|
|
649
665
|
function validateAcceptedWorkerDetails(output, roleLabel = "Coder") {
|
|
650
666
|
return roleLabel === "Fixer" ? validateFixerOutput(output) : validateAcceptedCoderDetails(output);
|
|
651
667
|
}
|
|
652
|
-
var CODER_OUTPUT_TOOL_NAME;
|
|
668
|
+
var CODER_OUTPUT_TOOL_NAME, CODER_STATUS_DESCRIPTION, coderOutputObject, coderOutputSchema;
|
|
653
669
|
var init_worker_output = __esm({
|
|
654
670
|
"src/package-contracts/worker-output.ts"() {
|
|
655
671
|
"use strict";
|
|
672
|
+
init_open_tool_schema();
|
|
656
673
|
init_fixer_output();
|
|
657
674
|
init_fixer_packet();
|
|
658
|
-
|
|
675
|
+
init_terminating_infrastructure();
|
|
659
676
|
CODER_OUTPUT_TOOL_NAME = "ak_coder_output";
|
|
677
|
+
CODER_STATUS_DESCRIPTION = `planned | completed | refused | partially_completed | unfinished\u3002unfinished\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u81F4\u672C\u5C40\u672A\u5B8C\u6210\u3002${PARTIALLY_COMPLETED_DEFINITION}`;
|
|
678
|
+
coderOutputObject = Type9.Object({
|
|
679
|
+
status: Type9.Unknown({ description: CODER_STATUS_DESCRIPTION }),
|
|
680
|
+
report: Type9.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
681
|
+
remainingScope: Type9.Unknown({ description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C" }),
|
|
682
|
+
reason: Type9.Unknown({
|
|
683
|
+
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
684
|
+
})
|
|
685
|
+
});
|
|
686
|
+
coderOutputSchema = withTerminatingOutputDeclarations(
|
|
687
|
+
openToolObject(coderOutputObject)
|
|
688
|
+
);
|
|
660
689
|
}
|
|
661
690
|
});
|
|
662
691
|
|
|
@@ -668,7 +697,7 @@ var init_canonical_json = __esm({
|
|
|
668
697
|
});
|
|
669
698
|
|
|
670
699
|
// src/doctor-contracts.ts
|
|
671
|
-
import { Type as
|
|
700
|
+
import { Type as Type10 } from "typebox";
|
|
672
701
|
function validateDoctorSubmissionShape(value) {
|
|
673
702
|
return value;
|
|
674
703
|
}
|
|
@@ -694,25 +723,25 @@ var init_doctor_contracts = __esm({
|
|
|
694
723
|
biteNone = "noRealBite";
|
|
695
724
|
DOCTOR_BITE_KINDS = [biteActual, biteNone];
|
|
696
725
|
DOCTOR_STATUS_DESCRIPTION = "completed | refused\u3002completed \u5141\u8BB8\u7A7A findings\uFF1Brefused \u4EC5\u5F53\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u6848\u8BC1\u8BCD";
|
|
697
|
-
doctorSubmissionObject =
|
|
698
|
-
status:
|
|
699
|
-
case:
|
|
726
|
+
doctorSubmissionObject = Type10.Object({
|
|
727
|
+
status: Type10.Unknown({ description: DOCTOR_STATUS_DESCRIPTION }),
|
|
728
|
+
case: Type10.Unknown({
|
|
700
729
|
description: "\u7559\u5B58\u592A\u533B\u7F72\u6848\u8EAB\u4EFD\uFF0C\u539F\u6837\u7559\u5B58\uFF08\u5982 issueNumber\u3001runsPath\uFF09\u3002\u673A\u68B0\u5C42\u53E6\u6309\u7ED1\u5B9A run \u6295\u5F71\u6848\u8EAB\u4EFD\uFF0C\u4E0D\u5728\u672C\u5B57\u6BB5\u91CD\u5224\u3002"
|
|
701
730
|
}),
|
|
702
|
-
findings:
|
|
731
|
+
findings: Type10.Unknown({
|
|
703
732
|
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`
|
|
704
733
|
}),
|
|
705
|
-
reason:
|
|
734
|
+
reason: Type10.Unknown({
|
|
706
735
|
description: "\u8BC1\u636E\u4E0D\u8DB3\u4EE5\u652F\u6491\u5982\u5B9E\u8BC1\u8BCD\u7684\u539F\u56E0\uFF1B\u4EC5 refused \u65F6\u7528\u3002"
|
|
707
736
|
}),
|
|
708
|
-
missingEvidence:
|
|
737
|
+
missingEvidence: Type10.Unknown({
|
|
709
738
|
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"
|
|
710
739
|
})
|
|
711
740
|
});
|
|
712
741
|
doctorSubmissionSchema = withTerminatingOutputDeclarations(
|
|
713
742
|
openToolObject(doctorSubmissionObject)
|
|
714
743
|
);
|
|
715
|
-
doctorEvidenceReadSchema =
|
|
744
|
+
doctorEvidenceReadSchema = Type10.Object({ evidenceId: Type10.String({ minLength: 1, description: "\u5F85\u8BFB\u7559\u5B58\u8BC1\u636E\u6807\u8BC6" }), offset: Type10.Optional(Type10.Integer({ minimum: 0, description: "\u8D77\u59CB\u5B57\u8282\u504F\u79FB\uFF08\u4ECE 0 \u8BA1\uFF09" })), limit: Type10.Optional(Type10.Integer({ minimum: 1, description: "\u8FD4\u56DE\u5B57\u8282\u6570\uFF08\u65E0\u4E0A\u9650\uFF09" })) }, { additionalProperties: true });
|
|
716
745
|
DoctorEvidenceStore = class {
|
|
717
746
|
constructor(patient) {
|
|
718
747
|
this.patient = patient;
|
|
@@ -781,7 +810,7 @@ var init_exact_utf8 = __esm({
|
|
|
781
810
|
});
|
|
782
811
|
|
|
783
812
|
// src/merger-contracts.ts
|
|
784
|
-
import { Type as
|
|
813
|
+
import { Type as Type11 } from "typebox";
|
|
785
814
|
function fail2(message = "Merger input violates its exact contract") {
|
|
786
815
|
throw new MergerInputContractError(message);
|
|
787
816
|
}
|
|
@@ -812,24 +841,24 @@ var init_merger_contracts = __esm({
|
|
|
812
841
|
init_open_tool_schema();
|
|
813
842
|
init_terminating_infrastructure();
|
|
814
843
|
init_unknown_value();
|
|
815
|
-
materialSchema =
|
|
816
|
-
checkSchema =
|
|
817
|
-
mergerInputSchema =
|
|
818
|
-
attemptId:
|
|
819
|
-
targetObjectId:
|
|
820
|
-
sourceObjectId:
|
|
821
|
-
materials:
|
|
822
|
-
expectedConflictPaths:
|
|
823
|
-
resolutionScope:
|
|
824
|
-
authorizedChecks:
|
|
844
|
+
materialSchema = Type11.Object({ bytesBase64: Type11.String(), sha256: Type11.String() });
|
|
845
|
+
checkSchema = Type11.Object({ name: Type11.String({ minLength: 1 }), argv: Type11.Array(Type11.String({ minLength: 1 }), { minItems: 1 }) });
|
|
846
|
+
mergerInputSchema = Type11.Object({
|
|
847
|
+
attemptId: Type11.String({ minLength: 1, description: "\u5BF9\u8D26 attempt \u8EAB\u4EFD\uFF08transport\uFF09" }),
|
|
848
|
+
targetObjectId: Type11.String({ description: "\u6750\u6599\uFF1Atarget parent OID\uFF1B\u53EF\u7A7A" }),
|
|
849
|
+
sourceObjectId: Type11.String({ description: "\u6750\u6599\uFF1Asource parent OID\uFF1B\u53EF\u7A7A" }),
|
|
850
|
+
materials: Type11.Object({ task: materialSchema, authority: materialSchema, targetIntent: materialSchema, sourceIntent: materialSchema }),
|
|
851
|
+
expectedConflictPaths: Type11.Array(Type11.String(), { description: "\u6750\u6599\uFF1A\u5F53\u524D\u672A\u5408\u5E76\u8DEF\u5F84\uFF1B\u53EF\u7A7A" }),
|
|
852
|
+
resolutionScope: Type11.Array(Type11.String(), { description: "\u6750\u6599\uFF1A\u89E3\u6790\u8303\u56F4\u63D0\u793A\uFF1B\u53EF\u7A7A" }),
|
|
853
|
+
authorizedChecks: Type11.Array(checkSchema)
|
|
825
854
|
});
|
|
826
855
|
MERGER_STATUS_DESCRIPTION = "completed | escalate";
|
|
827
|
-
mergerOutputObject =
|
|
828
|
-
status:
|
|
829
|
-
attemptId:
|
|
830
|
-
report:
|
|
831
|
-
mergeCommitId:
|
|
832
|
-
diagnosis:
|
|
856
|
+
mergerOutputObject = Type11.Object({
|
|
857
|
+
status: Type11.Unknown({ description: MERGER_STATUS_DESCRIPTION }),
|
|
858
|
+
attemptId: Type11.Unknown({ description: "\u5DF2\u53D7\u7406\u5408\u5E76 attempt \u8EAB\u4EFD" }),
|
|
859
|
+
report: Type11.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
860
|
+
mergeCommitId: Type11.Unknown({ description: "\u5B8C\u6210\u5408\u5E76 commit object ID" }),
|
|
861
|
+
diagnosis: Type11.Unknown({
|
|
833
862
|
description: "\u5408\u5E76\u65E0\u6CD5\u6216\u4E0D\u5E94\u7531\u672C\u5E2D\u5B8C\u6210\u7684\u539F\u56E0\uFF08\u542B\u65E0\u8FDB\u884C\u4E2D\u5408\u5E76\u3001\u65E0\u6D3B\u53EF\u5E72\u3001\u9700\u65B0\u7684\u4EA7\u54C1/\u6743\u529B\u51B3\u5B9A\uFF09"
|
|
834
863
|
})
|
|
835
864
|
});
|
|
@@ -848,7 +877,7 @@ var init_merger_contracts = __esm({
|
|
|
848
877
|
});
|
|
849
878
|
|
|
850
879
|
// src/notary-contracts.ts
|
|
851
|
-
var NOTARY_OUTPUT_TOOL_NAME, NOTARY_SOURCE_RUN_FLAG, NOTARY_TICKET_FLAG
|
|
880
|
+
var NOTARY_OUTPUT_TOOL_NAME, NOTARY_SOURCE_RUN_FLAG, NOTARY_TICKET_FLAG;
|
|
852
881
|
var init_notary_contracts = __esm({
|
|
853
882
|
"src/notary-contracts.ts"() {
|
|
854
883
|
"use strict";
|
|
@@ -869,7 +898,6 @@ var init_notary_contracts = __esm({
|
|
|
869
898
|
type: "string"
|
|
870
899
|
}
|
|
871
900
|
};
|
|
872
|
-
notaryOutputSchema = reviewSubmissionSchema;
|
|
873
901
|
}
|
|
874
902
|
});
|
|
875
903
|
|
|
@@ -885,12 +913,27 @@ var init_countersign_contracts = __esm({
|
|
|
885
913
|
});
|
|
886
914
|
|
|
887
915
|
// src/gleaner-left-contracts.ts
|
|
888
|
-
|
|
916
|
+
import { Type as Type12 } from "typebox";
|
|
917
|
+
var GLEANER_LEFT_OUTPUT_TOOL_NAME, gleanerLeftOutputSchema, GLEANER_LEFT_BASE_FLAG;
|
|
889
918
|
var init_gleaner_left_contracts = __esm({
|
|
890
919
|
"src/gleaner-left-contracts.ts"() {
|
|
891
920
|
"use strict";
|
|
921
|
+
init_open_tool_schema();
|
|
922
|
+
init_terminating_infrastructure();
|
|
892
923
|
init_unknown_value();
|
|
893
924
|
GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
|
|
925
|
+
gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
|
|
926
|
+
openToolObject(
|
|
927
|
+
Type12.Object({
|
|
928
|
+
status: Type12.Unknown({
|
|
929
|
+
description: "completed"
|
|
930
|
+
}),
|
|
931
|
+
findings: Type12.Unknown({
|
|
932
|
+
description: "\u5F39\u7AE0\u5217\u8868\uFF1B\u6BCF\u6761\u53EF\u542B pointer\uFF08\u6587\u4EF6/\u884C\u6307\u9488\uFF09\u4E0E statement\uFF08\u7591\u70B9\u9648\u8FF0\uFF09\uFF0C\u539F\u6837\u7559\u5B58\u3002\u7A7A\u5217\u8868\u5408\u6CD5\u5B8C\u5C40\uFF1B\u673A\u5668\u4E0D\u5224\u5F39\u7AE0\u662F\u5426\u6210\u7ACB\u3002"
|
|
933
|
+
})
|
|
934
|
+
})
|
|
935
|
+
)
|
|
936
|
+
);
|
|
894
937
|
GLEANER_LEFT_BASE_FLAG = {
|
|
895
938
|
name: "ak-gleaner-left-base",
|
|
896
939
|
definition: {
|
|
@@ -920,14 +963,13 @@ var init_inspector_contracts = __esm({
|
|
|
920
963
|
});
|
|
921
964
|
|
|
922
965
|
// src/package-contracts/auditor-output.ts
|
|
923
|
-
var AUDITOR_OUTPUT_TOOL_NAME
|
|
966
|
+
var AUDITOR_OUTPUT_TOOL_NAME;
|
|
924
967
|
var init_auditor_output = __esm({
|
|
925
968
|
"src/package-contracts/auditor-output.ts"() {
|
|
926
969
|
"use strict";
|
|
927
970
|
init_review_submission();
|
|
928
971
|
init_unknown_value();
|
|
929
972
|
AUDITOR_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
|
|
930
|
-
auditorOutputSchema = reviewSubmissionSchema;
|
|
931
973
|
}
|
|
932
974
|
});
|
|
933
975
|
|
|
@@ -1054,6 +1096,7 @@ var init_run_ticket_number = __esm({
|
|
|
1054
1096
|
});
|
|
1055
1097
|
|
|
1056
1098
|
// src/diarist-contracts.ts
|
|
1099
|
+
import { Type as Type13 } from "typebox";
|
|
1057
1100
|
function projectDiaristSessions(value) {
|
|
1058
1101
|
const raw = value?.sessions;
|
|
1059
1102
|
if (raw === void 0) return [];
|
|
@@ -1073,23 +1116,68 @@ function projectDiaristTicketSessions(value) {
|
|
|
1073
1116
|
}
|
|
1074
1117
|
return Array.from(perTicket, ([ticketNumber, sessions]) => ({ ticketNumber, sessions }));
|
|
1075
1118
|
}
|
|
1076
|
-
var DIARIST_OUTPUT_TOOL_NAME;
|
|
1119
|
+
var DIARIST_OUTPUT_TOOL_NAME, DIARIST_SESSIONS_DESCRIPTION, diaristOutputSchema;
|
|
1077
1120
|
var init_diarist_contracts = __esm({
|
|
1078
1121
|
"src/diarist-contracts.ts"() {
|
|
1079
1122
|
"use strict";
|
|
1123
|
+
init_open_tool_schema();
|
|
1124
|
+
init_terminating_infrastructure();
|
|
1080
1125
|
init_ticket_provenance_contracts();
|
|
1081
1126
|
init_run_ticket_number();
|
|
1082
1127
|
init_unknown_value();
|
|
1083
1128
|
DIARIST_OUTPUT_TOOL_NAME = "ak_diarist_output";
|
|
1129
|
+
DIARIST_SESSIONS_DESCRIPTION = "\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B\u8D77\u70B9\u4E0E\u7EC8\u70B9\u5404\u5199 id\uFF08\u539F\u751F id\uFF09\u6216 line\uFF08\u672C\u8F6E\u884C\u53F7\uFF09\uFF0C\u4E8C\u9009\u4E00\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002";
|
|
1130
|
+
diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
1131
|
+
openToolObject(
|
|
1132
|
+
Type13.Object({
|
|
1133
|
+
status: Type13.Unknown({
|
|
1134
|
+
description: "completed | escalate"
|
|
1135
|
+
}),
|
|
1136
|
+
ticketNumber: Type13.Optional(
|
|
1137
|
+
Type13.Unknown({
|
|
1138
|
+
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"
|
|
1139
|
+
})
|
|
1140
|
+
),
|
|
1141
|
+
reason: Type13.Unknown({
|
|
1142
|
+
description: "status \u4E3A escalate \u65F6\uFF1A\u8BA4\u4E0D\u51FA\u672C\u5EAD\u5BF9\u8C61\u7684\u539F\u56E0"
|
|
1143
|
+
}),
|
|
1144
|
+
sessions: Type13.Optional(Type13.Unknown({ description: DIARIST_SESSIONS_DESCRIPTION })),
|
|
1145
|
+
ticketSessions: Type13.Unknown({
|
|
1146
|
+
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`
|
|
1147
|
+
})
|
|
1148
|
+
})
|
|
1149
|
+
)
|
|
1150
|
+
);
|
|
1084
1151
|
}
|
|
1085
1152
|
});
|
|
1086
1153
|
|
|
1087
1154
|
// src/secretariat-contracts.ts
|
|
1088
|
-
|
|
1155
|
+
import { Type as Type14 } from "typebox";
|
|
1156
|
+
var SECRETARIAT_OUTPUT_TOOL_NAME, secretariatVerdictSchema, SECRETARIAT_GATE_OFFICER_ENTRY_TYPE, SECRETARIAT_COUNTERSIGN_TERMINAL_FACT_KEY;
|
|
1089
1157
|
var init_secretariat_contracts = __esm({
|
|
1090
1158
|
"src/secretariat-contracts.ts"() {
|
|
1091
1159
|
"use strict";
|
|
1160
|
+
init_terminating_infrastructure();
|
|
1092
1161
|
SECRETARIAT_OUTPUT_TOOL_NAME = "ak_secretariat_output";
|
|
1162
|
+
secretariatVerdictSchema = withTerminatingOutputDeclarations(
|
|
1163
|
+
Type14.Object(
|
|
1164
|
+
{
|
|
1165
|
+
secretariatStatus: Type14.Unknown({
|
|
1166
|
+
description: "converged | escalate"
|
|
1167
|
+
}),
|
|
1168
|
+
ticketNumber: Type14.Optional(
|
|
1169
|
+
Type14.Unknown({ description: "\u672C\u7968\u53F7\uFF1B\u7F72\u65F6\u6307\u5411\u6700\u7EC8\u6B63\u6587\u6240\u5728\u7968" })
|
|
1170
|
+
),
|
|
1171
|
+
note: Type14.Unknown({ description: "\u9644\u6CE8" }),
|
|
1172
|
+
evidence: Type14.Optional(Type14.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
|
|
1173
|
+
decisionGate: Type14.Unknown({
|
|
1174
|
+
description: "\u9700\u965B\u4E0B\u5904\u7F6E\u7684\u95EE\u9898\u4E0E\u9009\u9879\uFF1B\u53EF\u5199 question \u4E0E options\uFF0C\u539F\u6837\u7559\u5B58\u3002"
|
|
1175
|
+
})
|
|
1176
|
+
},
|
|
1177
|
+
{ additionalProperties: true }
|
|
1178
|
+
)
|
|
1179
|
+
);
|
|
1180
|
+
secretariatVerdictSchema.required = [];
|
|
1093
1181
|
SECRETARIAT_GATE_OFFICER_ENTRY_TYPE = "ak-secretariat-gate-officer";
|
|
1094
1182
|
SECRETARIAT_COUNTERSIGN_TERMINAL_FACT_KEY = "countersignTerminal";
|
|
1095
1183
|
}
|
|
@@ -2827,7 +2915,7 @@ __export(auditor_dossier_tool_exports, {
|
|
|
2827
2915
|
createAuditorDossierTool: () => createAuditorDossierTool
|
|
2828
2916
|
});
|
|
2829
2917
|
import { dirname as dirname5, join as join8, resolve as resolve3 } from "node:path";
|
|
2830
|
-
import { Type as
|
|
2918
|
+
import { Type as Type15 } from "typebox";
|
|
2831
2919
|
function auditorRunDirectory(context) {
|
|
2832
2920
|
const sessionFile = context.sessionManager?.getSessionFile?.();
|
|
2833
2921
|
if (sessionFile === void 0) return void 0;
|
|
@@ -2839,7 +2927,7 @@ function createAuditorDossierTool(runDirectory) {
|
|
|
2839
2927
|
description: "\u5B9A\u4F4D\u672C\u5BA1\u8BA1\u5E2D\u7ED1\u5B9A\u7684 run \u5377\u5B97\u53CA\u5176\u8BC1\u636E\u5165\u53E3\u3002",
|
|
2840
2928
|
// #836 r16 class 3: execute() ignores `_params` entirely — a closed root
|
|
2841
2929
|
// only rejects the role for saying more.
|
|
2842
|
-
parameters:
|
|
2930
|
+
parameters: Type15.Object({}, { additionalProperties: true }),
|
|
2843
2931
|
async execute(_id, _params) {
|
|
2844
2932
|
if (runDirectory === void 0) {
|
|
2845
2933
|
return {
|
|
@@ -2957,6 +3045,161 @@ var init_submission_errors = __esm({
|
|
|
2957
3045
|
}
|
|
2958
3046
|
});
|
|
2959
3047
|
|
|
3048
|
+
// src/collector-tool-schemas.ts
|
|
3049
|
+
import { Type as Type16 } from "typebox";
|
|
3050
|
+
var collectorOutputBaseSchema, collectorOutputArgsSchema;
|
|
3051
|
+
var init_collector_tool_schemas = __esm({
|
|
3052
|
+
"src/collector-tool-schemas.ts"() {
|
|
3053
|
+
"use strict";
|
|
3054
|
+
init_open_tool_schema();
|
|
3055
|
+
init_terminating_infrastructure();
|
|
3056
|
+
collectorOutputBaseSchema = openToolObject(
|
|
3057
|
+
Type16.Object({
|
|
3058
|
+
groups: Type16.Unsafe({
|
|
3059
|
+
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"
|
|
3060
|
+
}),
|
|
3061
|
+
unfinishedReasons: Type16.Unknown({
|
|
3062
|
+
description: "\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u53D6\u8BC1\u53D7\u9650\u65F6\u5982\u5B9E\u62A5\u544A\u3002"
|
|
3063
|
+
})
|
|
3064
|
+
})
|
|
3065
|
+
);
|
|
3066
|
+
collectorOutputArgsSchema = withTerminatingOutputDeclarations(
|
|
3067
|
+
collectorOutputBaseSchema
|
|
3068
|
+
);
|
|
3069
|
+
}
|
|
3070
|
+
});
|
|
3071
|
+
|
|
3072
|
+
// src/role-submission-declarations.ts
|
|
3073
|
+
function roleSubmissionDeclaration(role) {
|
|
3074
|
+
const name = packagedRoleOutputTool(role);
|
|
3075
|
+
if (name === void 0) throw new Error(`${role} output tool is not declared`);
|
|
3076
|
+
const face = SUBMISSION_FACE[role];
|
|
3077
|
+
return {
|
|
3078
|
+
role,
|
|
3079
|
+
name,
|
|
3080
|
+
label: face.label,
|
|
3081
|
+
description: face.description,
|
|
3082
|
+
..."promptSnippet" in face ? { promptSnippet: face.promptSnippet } : {},
|
|
3083
|
+
parameters: face.parameters
|
|
3084
|
+
};
|
|
3085
|
+
}
|
|
3086
|
+
var SUBMISSION_FACE;
|
|
3087
|
+
var init_role_submission_declarations = __esm({
|
|
3088
|
+
"src/role-submission-declarations.ts"() {
|
|
3089
|
+
"use strict";
|
|
3090
|
+
init_packaged_role_registry();
|
|
3091
|
+
init_review_submission();
|
|
3092
|
+
init_collector_tool_schemas();
|
|
3093
|
+
init_diarist_contracts();
|
|
3094
|
+
init_doctor_contracts();
|
|
3095
|
+
init_fixer_output();
|
|
3096
|
+
init_gatekeeper_output();
|
|
3097
|
+
init_gleaner_left_contracts();
|
|
3098
|
+
init_merger_contracts();
|
|
3099
|
+
init_navigator_output();
|
|
3100
|
+
init_reviewer_output();
|
|
3101
|
+
init_secretariat_contracts();
|
|
3102
|
+
init_worker_output();
|
|
3103
|
+
SUBMISSION_FACE = {
|
|
3104
|
+
judge: {
|
|
3105
|
+
label: "\u5927\u7406\u5BFA\u8F93\u51FA",
|
|
3106
|
+
description: "\u63D0\u4EA4\u5927\u7406\u5BFA\u7EC8\u5C40\u5224\u8BCD\uFF1B\u4EA4\u5377\u8C03\u7528\u7ED3\u675F\u540E\uFF0C\u7531\u516C\u5F00\u8C03\u7528\u63A5\u7F1D\u6309\u5224\u8BCD\u72B6\u6001\u6267\u884C\u9002\u7528\u5BA1\u6838\u3002",
|
|
3107
|
+
promptSnippet: "\u63D0\u4EA4\u5927\u7406\u5BFA\u7EC8\u5C40\u5224\u8BCD",
|
|
3108
|
+
parameters: reviewSubmissionSchema
|
|
3109
|
+
},
|
|
3110
|
+
fixer: {
|
|
3111
|
+
label: "\u4FEE\u5185\u53F8\u8F93\u51FA",
|
|
3112
|
+
description: "\u63D0\u4EA4\u4FEE\u5185\u53F8\u7EC8\u5C40\u56DE\u6267\u3002",
|
|
3113
|
+
promptSnippet: "\u63D0\u4EA4\u4FEE\u5185\u53F8\u7EC8\u5C40\u56DE\u6267",
|
|
3114
|
+
parameters: fixerOutputSchema
|
|
3115
|
+
},
|
|
3116
|
+
coder: {
|
|
3117
|
+
label: "\u5C06\u4F5C\u76D1\u8F93\u51FA",
|
|
3118
|
+
description: "\u63D0\u4EA4\u5C06\u4F5C\u76D1\u7EC8\u5C40\u56DE\u6267\u3002",
|
|
3119
|
+
promptSnippet: "\u63D0\u4EA4\u5C06\u4F5C\u76D1\u7EC8\u5C40\u56DE\u6267",
|
|
3120
|
+
parameters: coderOutputSchema
|
|
3121
|
+
},
|
|
3122
|
+
reviewer: {
|
|
3123
|
+
label: "\u5FA1\u53F2\u53F0\u8F93\u51FA",
|
|
3124
|
+
description: "\u63D0\u4EA4\u5FA1\u53F2\u53F0\u7EC8\u5C40\u56DE\u6267\u3002",
|
|
3125
|
+
promptSnippet: "\u63D0\u4EA4\u5FA1\u53F2\u53F0\u7EC8\u5C40\u56DE\u6267",
|
|
3126
|
+
parameters: reviewerOutputSchema
|
|
3127
|
+
},
|
|
3128
|
+
collector: {
|
|
3129
|
+
label: "\u901A\u8FDB\u53F8\u8F93\u51FA",
|
|
3130
|
+
description: "\u63D0\u4EA4\u901A\u8FDB\u53F8\u56DE\u6267\u3002",
|
|
3131
|
+
promptSnippet: "\u63D0\u4EA4\u901A\u8FDB\u53F8\u56DE\u6267",
|
|
3132
|
+
parameters: collectorOutputArgsSchema
|
|
3133
|
+
},
|
|
3134
|
+
doctor: {
|
|
3135
|
+
label: "\u592A\u533B\u7F72\u8F93\u51FA",
|
|
3136
|
+
description: DOCTOR_OUTPUT_TOOL_DESCRIPTION,
|
|
3137
|
+
parameters: doctorSubmissionSchema
|
|
3138
|
+
},
|
|
3139
|
+
merger: {
|
|
3140
|
+
label: "\u5408\u5E76\u8F93\u51FA",
|
|
3141
|
+
description: "\u63D0\u4EA4\u5408\u5E76\u7ED3\u679C\uFF1B\u8F93\u51FA\u5206\u652F\u4E3A completed \u4E0E escalate\u3002",
|
|
3142
|
+
promptSnippet: "\u63D0\u4EA4\u5408\u5E76\u7ED3\u679C",
|
|
3143
|
+
parameters: mergerOutputSchema
|
|
3144
|
+
},
|
|
3145
|
+
notary: {
|
|
3146
|
+
label: "\u7B26\u5B9D\u90CE\u8F93\u51FA",
|
|
3147
|
+
description: "\u63D0\u4EA4\u5F15\u6587\u4FDD\u771F\u4E0E\u7968\u9762\u5BF9\u9F50\u7684 converged/continue/escalate \u51B3\u8BAE\u3002",
|
|
3148
|
+
promptSnippet: "\u63D0\u4EA4\u7B26\u5B9D\u90CE\u51B3\u8BAE",
|
|
3149
|
+
parameters: reviewSubmissionSchema
|
|
3150
|
+
},
|
|
3151
|
+
countersign: {
|
|
3152
|
+
label: "\u7ED9\u4E8B\u4E2D\u8F93\u51FA",
|
|
3153
|
+
description: "\u7ED9\u4E8B\u4E2D\u51B3\u8BAE\u3002",
|
|
3154
|
+
promptSnippet: "\u7ED9\u4E8B\u4E2D\u51B3\u8BAE",
|
|
3155
|
+
parameters: reviewSubmissionSchema
|
|
3156
|
+
},
|
|
3157
|
+
secretariat: {
|
|
3158
|
+
label: "\u4E2D\u4E66\u7701\u8F93\u51FA",
|
|
3159
|
+
description: "\u4E2D\u4E66\u7701\u7EC8\u5C40\u56DE\u6267\u3002",
|
|
3160
|
+
promptSnippet: "\u4E2D\u4E66\u7701\u7EC8\u5C40\u56DE\u6267",
|
|
3161
|
+
parameters: secretariatVerdictSchema
|
|
3162
|
+
},
|
|
3163
|
+
"gleaner-left": {
|
|
3164
|
+
label: "\u5DE6\u62FE\u9057\u8F93\u51FA",
|
|
3165
|
+
description: "\u5DE6\u62FE\u9057\u5F39\u7AE0\u3002",
|
|
3166
|
+
promptSnippet: "\u5DE6\u62FE\u9057\u5F39\u7AE0",
|
|
3167
|
+
parameters: gleanerLeftOutputSchema
|
|
3168
|
+
},
|
|
3169
|
+
inspector: {
|
|
3170
|
+
label: "\u53F0\u9662\u8F93\u51FA",
|
|
3171
|
+
description: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267\uFF0C\u72B6\u6001\u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
3172
|
+
promptSnippet: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
3173
|
+
parameters: reviewSubmissionSchema
|
|
3174
|
+
},
|
|
3175
|
+
gatekeeper: {
|
|
3176
|
+
label: "\u95E8\u4E0B\u7701\u51B3\u8BAE",
|
|
3177
|
+
description: "\u95E8\u4E0B\u7701\u7EC8\u5C40\u51B3\u8BAE\u3002status \u4E3A dispatch \u6216 pass\u3002",
|
|
3178
|
+
promptSnippet: "\u95E8\u4E0B\u7701\u51B3\u8BAE",
|
|
3179
|
+
parameters: gatekeeperOutputSchema
|
|
3180
|
+
},
|
|
3181
|
+
navigator: {
|
|
3182
|
+
label: "\u6E38\u5955\u4F7F\u5EFA\u8BAE",
|
|
3183
|
+
description: "\u6E38\u5955\u4F7F\u7EC8\u5C40\u56DE\u6267\uFF1A\u6563\u6587\u5EFA\u8BAE\uFF0C\u539F\u6837\u5448\u73B0\u3002",
|
|
3184
|
+
promptSnippet: "\u6E38\u5955\u4F7F\u5EFA\u8BAE",
|
|
3185
|
+
parameters: navigatorOutputSchema
|
|
3186
|
+
},
|
|
3187
|
+
auditor: {
|
|
3188
|
+
label: "\u5BA1\u5211\u9662\u8F93\u51FA",
|
|
3189
|
+
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
3190
|
+
promptSnippet: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
3191
|
+
parameters: reviewSubmissionSchema
|
|
3192
|
+
},
|
|
3193
|
+
diarist: {
|
|
3194
|
+
label: "\u8D77\u5C45\u90CE\u8F93\u51FA",
|
|
3195
|
+
description: "\u8D77\u5C45\u90CE\u4EA4\u5355\u7968 sessions \u6216\u591A\u7968\u9010\u7968 ticketSessions \u8FB9\u754C\uFF1B\u8BA4\u4E0D\u51FA\u672C\u5EAD\u5BF9\u8C61\u5219 escalate\u3002",
|
|
3196
|
+
promptSnippet: "\u8D77\u5C45\u90CE\u4EA4\u8FB9\u754C",
|
|
3197
|
+
parameters: diaristOutputSchema
|
|
3198
|
+
}
|
|
3199
|
+
};
|
|
3200
|
+
}
|
|
3201
|
+
});
|
|
3202
|
+
|
|
2960
3203
|
// src/gatekeeper-role.ts
|
|
2961
3204
|
function gateSeatLabel(stage) {
|
|
2962
3205
|
return packagedGateStageLabel(stage) ?? stage;
|
|
@@ -2977,7 +3220,7 @@ function reviewQueueStatus(status) {
|
|
|
2977
3220
|
function projectOfficerDecision(officer, decision, fallbackStatus) {
|
|
2978
3221
|
const receipt = retainedReceipt(decision);
|
|
2979
3222
|
const record = isRecord(decision) ? decision : void 0;
|
|
2980
|
-
const status =
|
|
3223
|
+
const status = record !== void 0 && Object.hasOwn(record, "status") ? receivedDiscriminator(record, "status") : fallbackStatus;
|
|
2981
3224
|
const queueStatus = typeof status === "string" ? reviewQueueStatus(status) : void 0;
|
|
2982
3225
|
if (queueStatus === "converged") {
|
|
2983
3226
|
return { status: "converged", officer, receipt };
|
|
@@ -3130,6 +3373,7 @@ var init_gatekeeper_role = __esm({
|
|
|
3130
3373
|
init_inspector_contracts();
|
|
3131
3374
|
init_review_submission();
|
|
3132
3375
|
init_gatekeeper_output();
|
|
3376
|
+
init_role_submission_declarations();
|
|
3133
3377
|
init_run_terminal_artifacts();
|
|
3134
3378
|
init_unknown_value();
|
|
3135
3379
|
init_submission_errors();
|
|
@@ -3140,13 +3384,7 @@ var init_gatekeeper_role = __esm({
|
|
|
3140
3384
|
countersign_verdict: "notary",
|
|
3141
3385
|
secretariat_verdict: "countersign"
|
|
3142
3386
|
};
|
|
3143
|
-
GATEKEEPER_TOOL_SPEC =
|
|
3144
|
-
name: GATEKEEPER_OUTPUT_TOOL_NAME,
|
|
3145
|
-
label: "\u95E8\u4E0B\u7701\u51B3\u8BAE",
|
|
3146
|
-
description: "\u95E8\u4E0B\u7701\u7EC8\u5C40\u51B3\u8BAE\u3002status \u4E3A dispatch \u6216 pass\u3002",
|
|
3147
|
-
promptSnippet: "\u95E8\u4E0B\u7701\u51B3\u8BAE",
|
|
3148
|
-
parameters: gatekeeperOutputSchema
|
|
3149
|
-
};
|
|
3387
|
+
GATEKEEPER_TOOL_SPEC = roleSubmissionDeclaration("gatekeeper");
|
|
3150
3388
|
}
|
|
3151
3389
|
});
|
|
3152
3390
|
|
|
@@ -11677,16 +11915,43 @@ var init_doctor_auditor = __esm({
|
|
|
11677
11915
|
}
|
|
11678
11916
|
});
|
|
11679
11917
|
|
|
11918
|
+
// src/filed-submission.ts
|
|
11919
|
+
function registerFiledSubmissionTool(roleHost, tool, options) {
|
|
11920
|
+
roleHost.registerTool({
|
|
11921
|
+
name: tool.name,
|
|
11922
|
+
label: tool.label,
|
|
11923
|
+
description: tool.description,
|
|
11924
|
+
...tool.promptSnippet === void 0 ? {} : { promptSnippet: tool.promptSnippet },
|
|
11925
|
+
parameters: tool.parameters,
|
|
11926
|
+
async execute(toolCallId, parameters, signal, _onUpdate, ctx) {
|
|
11927
|
+
const blocked = options.readyError();
|
|
11928
|
+
if (blocked !== void 0) throw new Error(blocked);
|
|
11929
|
+
const projected = options.beforeAccept === void 0 ? void 0 : await options.beforeAccept({ toolCallId, parameters, signal, ctx });
|
|
11930
|
+
return {
|
|
11931
|
+
content: [],
|
|
11932
|
+
details: projected === void 0 ? parameters : projected,
|
|
11933
|
+
terminate: true
|
|
11934
|
+
};
|
|
11935
|
+
}
|
|
11936
|
+
});
|
|
11937
|
+
}
|
|
11938
|
+
var init_filed_submission = __esm({
|
|
11939
|
+
"src/filed-submission.ts"() {
|
|
11940
|
+
"use strict";
|
|
11941
|
+
}
|
|
11942
|
+
});
|
|
11943
|
+
|
|
11680
11944
|
// src/judge-role.ts
|
|
11681
11945
|
async function runJudgeGates(input) {
|
|
11682
11946
|
const passes = [];
|
|
11683
11947
|
for (const subject of JUDGE_GATES) {
|
|
11684
11948
|
if (await input.gateAlreadyConverged(subject)) continue;
|
|
11685
11949
|
const pass = await input.runGate(subject);
|
|
11686
|
-
const
|
|
11687
|
-
if (pass === void 0 ||
|
|
11950
|
+
const received = pass?.status;
|
|
11951
|
+
if (pass === void 0 || typeof received !== "string" || !REVIEW_QUEUE_STATUSES.has(received)) {
|
|
11688
11952
|
throw new Error("judge gate returned no conclusion");
|
|
11689
11953
|
}
|
|
11954
|
+
const status = received;
|
|
11690
11955
|
passes.push({
|
|
11691
11956
|
subject,
|
|
11692
11957
|
status,
|
|
@@ -11707,16 +11972,8 @@ function createJudgeRoleRuntime(pi, dependencies) {
|
|
|
11707
11972
|
if (soul.length === 0) throw new Error("Judge soul is empty");
|
|
11708
11973
|
if (!lifecycleRegistered) {
|
|
11709
11974
|
lifecycleRegistered = true;
|
|
11710
|
-
pi
|
|
11711
|
-
|
|
11712
|
-
label: "\u5927\u7406\u5BFA\u8F93\u51FA",
|
|
11713
|
-
description: "\u63D0\u4EA4\u5927\u7406\u5BFA\u7EC8\u5C40\u5224\u8BCD\uFF1B\u4EA4\u5377\u8C03\u7528\u7ED3\u675F\u540E\uFF0C\u7531\u516C\u5F00\u8C03\u7528\u63A5\u7F1D\u6309\u5224\u8BCD\u72B6\u6001\u6267\u884C\u9002\u7528\u5BA1\u6838\u3002",
|
|
11714
|
-
promptSnippet: "\u63D0\u4EA4\u5927\u7406\u5BFA\u7EC8\u5C40\u5224\u8BCD",
|
|
11715
|
-
parameters: judgeVerdictSchema,
|
|
11716
|
-
async execute(toolCallId, parameters, signal, _onUpdate, ctx) {
|
|
11717
|
-
if (soul === void 0) throw new Error("\u5927\u7406\u5BFA\u804C\u5206\u672A\u88C5\u8F7D");
|
|
11718
|
-
return { content: [], details: parameters, terminate: true };
|
|
11719
|
-
}
|
|
11975
|
+
registerFiledSubmissionTool(pi, roleSubmissionDeclaration("judge"), {
|
|
11976
|
+
readyError: () => soul === void 0 ? "\u5927\u7406\u5BFA\u804C\u5206\u672A\u88C5\u8F7D" : void 0
|
|
11720
11977
|
});
|
|
11721
11978
|
pi.on("before_agent_start", (event) => {
|
|
11722
11979
|
if (soul === void 0) throw new Error("\u5927\u7406\u5BFA\u804C\u5206\u672A\u88C5\u8F7D");
|
|
@@ -11732,19 +11989,20 @@ ${soul}
|
|
|
11732
11989
|
}
|
|
11733
11990
|
};
|
|
11734
11991
|
}
|
|
11735
|
-
var JUDGE_GATES
|
|
11992
|
+
var JUDGE_GATES;
|
|
11736
11993
|
var init_judge_role = __esm({
|
|
11737
11994
|
"src/judge-role.ts"() {
|
|
11738
11995
|
"use strict";
|
|
11739
11996
|
init_host_contracts();
|
|
11740
11997
|
init_review_submission();
|
|
11998
|
+
init_filed_submission();
|
|
11999
|
+
init_role_submission_declarations();
|
|
11741
12000
|
init_gatekeeper_role();
|
|
11742
12001
|
init_judge_output();
|
|
11743
12002
|
JUDGE_GATES = [
|
|
11744
12003
|
{ kind: "judge_draft" },
|
|
11745
12004
|
{ kind: "judge_compliance" }
|
|
11746
12005
|
];
|
|
11747
|
-
judgeVerdictSchema = reviewSubmissionSchema;
|
|
11748
12006
|
}
|
|
11749
12007
|
});
|
|
11750
12008
|
|
|
@@ -11767,11 +12025,10 @@ function latestQueueStatus(terminal) {
|
|
|
11767
12025
|
if (outcome.kind === "audit_escalation") return "escalate";
|
|
11768
12026
|
if (outcome.kind !== "accepted") return void 0;
|
|
11769
12027
|
const latest = outcome.payloads?.[outcome.payloads.length - 1];
|
|
11770
|
-
if (isRecord(latest)) {
|
|
11771
|
-
|
|
11772
|
-
if (typeof status === "string" && status.trim() !== "") return status;
|
|
12028
|
+
if (isRecord(latest) && Object.hasOwn(latest, "status")) {
|
|
12029
|
+
return receivedDiscriminator(latest, "status");
|
|
11773
12030
|
}
|
|
11774
|
-
return
|
|
12031
|
+
return outcome.status;
|
|
11775
12032
|
}
|
|
11776
12033
|
function latestQueuePayload(terminal) {
|
|
11777
12034
|
const outcome = terminal?.roleOutcome;
|
|
@@ -11888,6 +12145,7 @@ var init_submission_gate = __esm({
|
|
|
11888
12145
|
"use strict";
|
|
11889
12146
|
init_archivist_record_pointer();
|
|
11890
12147
|
init_gatekeeper_role();
|
|
12148
|
+
init_submission_errors();
|
|
11891
12149
|
init_session_assistant_usage();
|
|
11892
12150
|
init_unknown_value();
|
|
11893
12151
|
}
|
|
@@ -13964,8 +14222,8 @@ function unreadablePostSubmissionStatus(admitted, terminal) {
|
|
|
13964
14222
|
const route = POST_SUBMISSION_ROUTING[admitted.role];
|
|
13965
14223
|
if (route === void 0) return void 0;
|
|
13966
14224
|
const payload = terminal.roleOutcome.payloads?.at(-1);
|
|
13967
|
-
const status =
|
|
13968
|
-
return typeof status === "string" && route.statuses.has(status) ? void 0 : route.reask;
|
|
14225
|
+
const status = receivedDiscriminator(payload, "status");
|
|
14226
|
+
return typeof status === "string" && route.statuses.has(status) ? void 0 : route.reask ?? officerConclusionReask(status);
|
|
13969
14227
|
}
|
|
13970
14228
|
async function reaskUnreadablePostSubmissionStatus(admitted, terminal, env, io) {
|
|
13971
14229
|
const message = unreadablePostSubmissionStatus(admitted, terminal);
|
|
@@ -14582,7 +14840,7 @@ async function queueConclusionFromChild(child, env, io) {
|
|
|
14582
14840
|
void 0
|
|
14583
14841
|
);
|
|
14584
14842
|
const status = latestQueueStatus(terminal);
|
|
14585
|
-
if (terminal !== void 0 && status
|
|
14843
|
+
if (terminal !== void 0 && typeof status === "string" && REVIEW_QUEUE_STATUSES.has(status)) {
|
|
14586
14844
|
return { admitted: current, terminal, status };
|
|
14587
14845
|
}
|
|
14588
14846
|
const reasked = await runPublicInstructionSeatResume({
|
|
@@ -14593,7 +14851,7 @@ async function queueConclusionFromChild(child, env, io) {
|
|
|
14593
14851
|
return { stop: reasked };
|
|
14594
14852
|
}
|
|
14595
14853
|
const reaskedStatus = latestQueueStatus(reasked.terminal);
|
|
14596
|
-
if (reaskedStatus
|
|
14854
|
+
if (typeof reaskedStatus === "string" && REVIEW_QUEUE_STATUSES.has(reaskedStatus)) {
|
|
14597
14855
|
return { admitted: reasked.admitted, terminal: reasked.terminal, status: reaskedStatus };
|
|
14598
14856
|
}
|
|
14599
14857
|
if (latestPayloadEscalated(reasked.terminal.roleOutcome)) return { stop: reasked };
|
|
@@ -14640,9 +14898,9 @@ async function auditSubmittedRole(turn, env, io, passedOfficer, passedReceipt, p
|
|
|
14640
14898
|
io
|
|
14641
14899
|
);
|
|
14642
14900
|
}
|
|
14643
|
-
if (admitted.role === "countersign" && (typeof status !== "string" || !
|
|
14901
|
+
if (admitted.role === "countersign" && (typeof status !== "string" || !REVIEW_QUEUE_STATUSES.has(status))) {
|
|
14644
14902
|
return runPublicInstructionSeatResume(
|
|
14645
|
-
{ runId: admitted.runId, message:
|
|
14903
|
+
{ runId: admitted.runId, message: officerConclusionReask(status) },
|
|
14646
14904
|
{ ...env, autoResumeLimit: 0 },
|
|
14647
14905
|
io
|
|
14648
14906
|
);
|
|
@@ -14819,7 +15077,7 @@ async function auditSubmittedRole(turn, env, io, passedOfficer, passedReceipt, p
|
|
|
14819
15077
|
io.stdout(formatTerminalResult(terminal));
|
|
14820
15078
|
return turn;
|
|
14821
15079
|
}
|
|
14822
|
-
var AUDITED_ROLES, SECRETARIAT_STATUS_REASK,
|
|
15080
|
+
var AUDITED_ROLES, SECRETARIAT_STATUS_REASK, WORKER_ROUTING_STATUSES, WORKER_STATUS_REASK, DOCTOR_ROUTING_STATUSES, DOCTOR_STATUS_REASK, POST_SUBMISSION_ROUTING, GATE_CHILD_ROLES;
|
|
14823
15081
|
var init_instruction_seat_run = __esm({
|
|
14824
15082
|
"src/public-cli/instruction-seat-run.ts"() {
|
|
14825
15083
|
"use strict";
|
|
@@ -14828,6 +15086,8 @@ var init_instruction_seat_run = __esm({
|
|
|
14828
15086
|
init_archivist_record_pointer();
|
|
14829
15087
|
init_doctor_auditor();
|
|
14830
15088
|
init_gatekeeper_role();
|
|
15089
|
+
init_submission_errors();
|
|
15090
|
+
init_review_submission();
|
|
14831
15091
|
init_judge_role();
|
|
14832
15092
|
init_worker_submission_contracts();
|
|
14833
15093
|
init_secretariat_contracts();
|
|
@@ -14856,7 +15116,6 @@ var init_instruction_seat_run = __esm({
|
|
|
14856
15116
|
init_unknown_value();
|
|
14857
15117
|
AUDITED_ROLES = /* @__PURE__ */ new Set(["judge", "fixer", "coder", "secretariat", "countersign", "doctor"]);
|
|
14858
15118
|
SECRETARIAT_STATUS_REASK = "secretariatStatus \u4E0D\u662F converged\u3001escalate \u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u4EA4\u5377\uFF0CsecretariatStatus \u5199\u660E\u5176\u4E00\u3002";
|
|
14859
|
-
COUNTERSIGN_STATUS_REASK = "status \u4E0D\u662F converged\u3001continue\u3001escalate \u4E09\u6001\u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u4EA4\u5377\uFF0Cstatus \u5199\u660E\u5176\u4E00\u3002";
|
|
14860
15119
|
WORKER_ROUTING_STATUSES = /* @__PURE__ */ new Set([
|
|
14861
15120
|
"planned",
|
|
14862
15121
|
"completed",
|
|
@@ -14869,8 +15128,7 @@ var init_instruction_seat_run = __esm({
|
|
|
14869
15128
|
DOCTOR_STATUS_REASK = "status \u4E0D\u662F completed\u3001refused \u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u4EA4\u5377\uFF0Cstatus \u5199\u660E\u5176\u4E00\u3002";
|
|
14870
15129
|
POST_SUBMISSION_ROUTING = {
|
|
14871
15130
|
judge: {
|
|
14872
|
-
statuses:
|
|
14873
|
-
reask: "status \u4E0D\u662F converged\u3001continue\u3001escalate \u4E09\u6001\u4E4B\u4E00\u3002\u8BF7\u91CD\u65B0\u4EA4\u5377\uFF0Cstatus \u5199\u660E\u5176\u4E00\u3002"
|
|
15131
|
+
statuses: REVIEW_QUEUE_STATUSES
|
|
14874
15132
|
},
|
|
14875
15133
|
coder: {
|
|
14876
15134
|
statuses: WORKER_ROUTING_STATUSES,
|
|
@@ -14891,7 +15149,6 @@ var init_instruction_seat_run = __esm({
|
|
|
14891
15149
|
reask: DOCTOR_STATUS_REASK
|
|
14892
15150
|
}
|
|
14893
15151
|
};
|
|
14894
|
-
QUEUE_CONCLUSIONS = /* @__PURE__ */ new Set(["converged", "continue", "escalate"]);
|
|
14895
15152
|
GATE_CHILD_ROLES = /* @__PURE__ */ new Set(["notary", "auditor", "inspector", "countersign"]);
|
|
14896
15153
|
}
|
|
14897
15154
|
});
|
|
@@ -16623,7 +16880,7 @@ var init_analyst_model_groups = __esm({
|
|
|
16623
16880
|
|
|
16624
16881
|
// src/analyst-entry.ts
|
|
16625
16882
|
import { readFile as readFile19 } from "node:fs/promises";
|
|
16626
|
-
import { Type as
|
|
16883
|
+
import { Type as Type17 } from "typebox";
|
|
16627
16884
|
function cachedPageMatchesRequestedScope(page, input) {
|
|
16628
16885
|
if (page.bookKey !== input.bookKey) return false;
|
|
16629
16886
|
const requestedTicket = input.ticketNumber ?? input.issueNumber;
|
|
@@ -16828,16 +17085,16 @@ var init_analyst_entry = __esm({
|
|
|
16828
17085
|
}
|
|
16829
17086
|
}
|
|
16830
17087
|
};
|
|
16831
|
-
analystSweepModeInputSchema =
|
|
17088
|
+
analystSweepModeInputSchema = Type17.Object(
|
|
16832
17089
|
{
|
|
16833
|
-
mode:
|
|
16834
|
-
mergedPullRequests:
|
|
16835
|
-
|
|
17090
|
+
mode: Type17.Literal("sweep"),
|
|
17091
|
+
mergedPullRequests: Type17.Array(
|
|
17092
|
+
Type17.Object(
|
|
16836
17093
|
{
|
|
16837
|
-
projectRoot:
|
|
17094
|
+
projectRoot: Type17.String(),
|
|
16838
17095
|
/** 排除后改动行数 — omit or 0 → typed 空缺; finite ≥ 0 only. */
|
|
16839
|
-
changedLines:
|
|
16840
|
-
|
|
17096
|
+
changedLines: Type17.Optional(
|
|
17097
|
+
Type17.Number({ minimum: 0, maximum: Number.MAX_VALUE })
|
|
16841
17098
|
)
|
|
16842
17099
|
}
|
|
16843
17100
|
)
|
|
@@ -20626,24 +20883,25 @@ import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
|
20626
20883
|
init_host_contracts();
|
|
20627
20884
|
init_sitian_facade();
|
|
20628
20885
|
init_submission_ledger();
|
|
20886
|
+
init_filed_submission();
|
|
20629
20887
|
import { randomUUID as randomUUID8 } from "node:crypto";
|
|
20630
20888
|
import { readFileSync as readFileSync6, writeSync as writeSync2 } from "node:fs";
|
|
20631
20889
|
import { join as join43 } from "node:path";
|
|
20632
20890
|
import { Value as Value4 } from "typebox/value";
|
|
20633
20891
|
|
|
20634
20892
|
// src/activation-trace.ts
|
|
20635
|
-
import { Type as
|
|
20636
|
-
var causeSchema =
|
|
20637
|
-
identity:
|
|
20638
|
-
name:
|
|
20639
|
-
message:
|
|
20640
|
-
evidenceId:
|
|
20893
|
+
import { Type as Type18 } from "typebox";
|
|
20894
|
+
var causeSchema = Type18.Object({
|
|
20895
|
+
identity: Type18.String({ minLength: 1 }),
|
|
20896
|
+
name: Type18.String({ minLength: 1 }),
|
|
20897
|
+
message: Type18.String(),
|
|
20898
|
+
evidenceId: Type18.Optional(Type18.String({ minLength: 1 }))
|
|
20641
20899
|
}, { additionalProperties: false });
|
|
20642
|
-
var activationTraceRecordSchema =
|
|
20643
|
-
role:
|
|
20644
|
-
stageId:
|
|
20645
|
-
status:
|
|
20646
|
-
timestamp:
|
|
20900
|
+
var activationTraceRecordSchema = Type18.Object({
|
|
20901
|
+
role: Type18.String({ minLength: 1 }),
|
|
20902
|
+
stageId: Type18.String({ pattern: "^[a-z][a-z0-9-]*$" }),
|
|
20903
|
+
status: Type18.Literal("failed"),
|
|
20904
|
+
timestamp: Type18.String({ format: "date-time" }),
|
|
20647
20905
|
cause: causeSchema
|
|
20648
20906
|
}, { additionalProperties: false });
|
|
20649
20907
|
var activationCauseEvidence = 0;
|
|
@@ -20807,10 +21065,10 @@ init_engine_material();
|
|
|
20807
21065
|
init_engine_detour();
|
|
20808
21066
|
init_engine_detour_usage();
|
|
20809
21067
|
init_run_terminal_artifacts();
|
|
20810
|
-
import { Type as
|
|
20811
|
-
var engineDetourArgsSchema =
|
|
21068
|
+
import { Type as Type19 } from "typebox";
|
|
21069
|
+
var engineDetourArgsSchema = Type19.Object(
|
|
20812
21070
|
{
|
|
20813
|
-
argv:
|
|
21071
|
+
argv: Type19.Array(Type19.String({ minLength: 1 }), {
|
|
20814
21072
|
minItems: 1,
|
|
20815
21073
|
description: "\u9996\u9879\u4E3A PATH \u4E2D\u7684\u53EF\u6267\u884C\u6587\u4EF6\uFF0C\u5176\u4F59\u9879\u4E3A\u53C2\u6570\u3002"
|
|
20816
21074
|
})
|
|
@@ -20944,28 +21202,10 @@ function registerEngineDetourTool(roleHost, hostActions) {
|
|
|
20944
21202
|
init_receipt_delivery_policy();
|
|
20945
21203
|
|
|
20946
21204
|
// src/collector-role.ts
|
|
21205
|
+
init_filed_submission();
|
|
21206
|
+
init_role_submission_declarations();
|
|
20947
21207
|
init_collector_config();
|
|
20948
21208
|
init_collector_output();
|
|
20949
|
-
|
|
20950
|
-
// src/collector-tool-schemas.ts
|
|
20951
|
-
init_open_tool_schema();
|
|
20952
|
-
init_terminating_infrastructure();
|
|
20953
|
-
import { Type as Type14 } from "typebox";
|
|
20954
|
-
var collectorOutputBaseSchema = openToolObject(
|
|
20955
|
-
Type14.Object({
|
|
20956
|
-
groups: Type14.Unsafe({
|
|
20957
|
-
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"
|
|
20958
|
-
}),
|
|
20959
|
-
unfinishedReasons: Type14.Unknown({
|
|
20960
|
-
description: "\u672A\u5B8C\u6210\u539F\u56E0\uFF1B\u53D6\u8BC1\u53D7\u9650\u65F6\u5982\u5B9E\u62A5\u544A\u3002"
|
|
20961
|
-
})
|
|
20962
|
-
})
|
|
20963
|
-
);
|
|
20964
|
-
var collectorOutputArgsSchema = withTerminatingOutputDeclarations(
|
|
20965
|
-
collectorOutputBaseSchema
|
|
20966
|
-
);
|
|
20967
|
-
|
|
20968
|
-
// src/collector-role.ts
|
|
20969
21209
|
var COLLECTOR_REQUIRED_TOOLS = [COLLECTOR_OUTPUT_TOOL];
|
|
20970
21210
|
var COLLECTOR_CONSTRUCTION_TOOLS = Object.freeze(["write", "edit"]);
|
|
20971
21211
|
var COLLECTOR_TRANSPORT_FLAGS = Object.freeze([
|
|
@@ -20991,7 +21231,6 @@ var COLLECTOR_TRANSPORT_FLAGS = Object.freeze([
|
|
|
20991
21231
|
})
|
|
20992
21232
|
})
|
|
20993
21233
|
]);
|
|
20994
|
-
var outputSchema = collectorOutputArgsSchema;
|
|
20995
21234
|
function buildMethodContext(activation) {
|
|
20996
21235
|
const lines = [
|
|
20997
21236
|
"<collector_method>",
|
|
@@ -21063,27 +21302,16 @@ function createCollectorRoleRuntime(pi, dependencies) {
|
|
|
21063
21302
|
registerBusinessTools(getActivation) {
|
|
21064
21303
|
if (toolsRegistered) return;
|
|
21065
21304
|
toolsRegistered = true;
|
|
21066
|
-
pi
|
|
21067
|
-
|
|
21068
|
-
label: "\u901A\u8FDB\u53F8\u8F93\u51FA",
|
|
21069
|
-
description: "\u63D0\u4EA4\u901A\u8FDB\u53F8\u56DE\u6267\u3002",
|
|
21070
|
-
promptSnippet: "\u63D0\u4EA4\u901A\u8FDB\u53F8\u56DE\u6267",
|
|
21071
|
-
parameters: outputSchema,
|
|
21072
|
-
async execute(_toolCallId, params, _signal, _onUpdate, _ctx) {
|
|
21073
|
-
const activation = getActivation();
|
|
21074
|
-
if (activation === void 0) throw new Error("\u901A\u8FDB\u53F8\u672A\u6FC0\u6D3B");
|
|
21075
|
-
return {
|
|
21076
|
-
content: [],
|
|
21077
|
-
details: params,
|
|
21078
|
-
terminate: true
|
|
21079
|
-
};
|
|
21080
|
-
}
|
|
21305
|
+
registerFiledSubmissionTool(pi, roleSubmissionDeclaration("collector"), {
|
|
21306
|
+
readyError: () => getActivation() === void 0 ? "\u901A\u8FDB\u53F8\u672A\u6FC0\u6D3B" : void 0
|
|
21081
21307
|
});
|
|
21082
21308
|
}
|
|
21083
21309
|
};
|
|
21084
21310
|
}
|
|
21085
21311
|
|
|
21086
21312
|
// src/doctor-role.ts
|
|
21313
|
+
init_filed_submission();
|
|
21314
|
+
init_role_submission_declarations();
|
|
21087
21315
|
init_compliance_transport();
|
|
21088
21316
|
init_dossier_resolution();
|
|
21089
21317
|
init_doctor_contracts();
|
|
@@ -21130,17 +21358,20 @@ function createDoctorRoleRuntime(pi, dependencies, host) {
|
|
|
21130
21358
|
const details = activation.store.read(params.evidenceId, params.offset, params.limit);
|
|
21131
21359
|
return { content: [{ type: "text", text: JSON.stringify(details) }], details };
|
|
21132
21360
|
} });
|
|
21133
|
-
pi
|
|
21134
|
-
|
|
21135
|
-
|
|
21136
|
-
|
|
21137
|
-
|
|
21138
|
-
|
|
21139
|
-
|
|
21140
|
-
|
|
21361
|
+
registerFiledSubmissionTool(pi, roleSubmissionDeclaration("doctor"), {
|
|
21362
|
+
readyError: () => activation === void 0 ? "\u592A\u533B\u7F72\u672A\u6FC0\u6D3B" : void 0,
|
|
21363
|
+
beforeAccept: async ({ toolCallId, parameters, ctx }) => {
|
|
21364
|
+
if (activation === void 0) throw new Error("\u592A\u533B\u7F72\u672A\u6FC0\u6D3B");
|
|
21365
|
+
const active2 = activation;
|
|
21366
|
+
const testimony = validateDoctorOutput(parameters, active2.patient, active2.store);
|
|
21367
|
+
try {
|
|
21368
|
+
appendCandidate(ctx, { version: 1, testimony, cost: active2.patient.cost, readRecord: active2.store.readRecord(), patientIdentity: active2.patient.identity });
|
|
21369
|
+
} catch (error) {
|
|
21370
|
+
host.failInfrastructure(error, ctx, toolCallId);
|
|
21371
|
+
}
|
|
21372
|
+
return testimony;
|
|
21141
21373
|
}
|
|
21142
|
-
|
|
21143
|
-
} });
|
|
21374
|
+
});
|
|
21144
21375
|
pi.on("before_agent_start", (event) => {
|
|
21145
21376
|
if (!activation) throw new Error("\u592A\u533B\u7F72\u672A\u6FC0\u6D3B");
|
|
21146
21377
|
const catalog = { version: activation.patient.version, identity: activation.patient.identity, admittedMetrics: { cost: activation.patient.cost }, lawfulTargetKeys: ["case", ...activation.patient.cost.invocations.sources], evidence: activation.patient.evidence.map(({ id, kind, sha256, byteLength, contentLength }) => ({ id, kind, sha256, byteLength, contentLength })) };
|
|
@@ -21165,6 +21396,8 @@ ${JSON.stringify(catalog)}
|
|
|
21165
21396
|
}
|
|
21166
21397
|
|
|
21167
21398
|
// src/notary-role.ts
|
|
21399
|
+
init_filed_submission();
|
|
21400
|
+
init_role_submission_declarations();
|
|
21168
21401
|
init_notary_contracts();
|
|
21169
21402
|
function readNotaryTicketFlag(flag) {
|
|
21170
21403
|
if (flag === void 0) return void 0;
|
|
@@ -21232,22 +21465,8 @@ function createNotaryRoleRuntime(pi, dependencies, host) {
|
|
|
21232
21465
|
};
|
|
21233
21466
|
if (!registered) {
|
|
21234
21467
|
registered = true;
|
|
21235
|
-
pi
|
|
21236
|
-
|
|
21237
|
-
label: "\u7B26\u5B9D\u90CE\u8F93\u51FA",
|
|
21238
|
-
description: "\u63D0\u4EA4\u5F15\u6587\u4FDD\u771F\u4E0E\u7968\u9762\u5BF9\u9F50\u7684 converged/continue/escalate \u51B3\u8BAE\u3002",
|
|
21239
|
-
promptSnippet: "\u63D0\u4EA4\u7B26\u5B9D\u90CE\u51B3\u8BAE",
|
|
21240
|
-
parameters: notaryOutputSchema,
|
|
21241
|
-
async execute(toolCallId, parameters, _signal, _onUpdate, ctx) {
|
|
21242
|
-
if (activation === void 0) {
|
|
21243
|
-
throw new Error("\u7B26\u5B9D\u90CE\u672A\u6FC0\u6D3B");
|
|
21244
|
-
}
|
|
21245
|
-
return {
|
|
21246
|
-
content: [],
|
|
21247
|
-
details: parameters,
|
|
21248
|
-
terminate: true
|
|
21249
|
-
};
|
|
21250
|
-
}
|
|
21468
|
+
registerFiledSubmissionTool(pi, roleSubmissionDeclaration("notary"), {
|
|
21469
|
+
readyError: () => activation === void 0 ? "\u7B26\u5B9D\u90CE\u672A\u6FC0\u6D3B" : void 0
|
|
21251
21470
|
});
|
|
21252
21471
|
pi.on("before_agent_start", (event) => {
|
|
21253
21472
|
if (activation === void 0) {
|
|
@@ -21280,128 +21499,41 @@ init_notary_contracts();
|
|
|
21280
21499
|
|
|
21281
21500
|
// src/countersign-role.ts
|
|
21282
21501
|
init_review_submission();
|
|
21502
|
+
init_role_submission_declarations();
|
|
21283
21503
|
init_countersign_contracts();
|
|
21284
21504
|
init_countersign_contracts();
|
|
21285
|
-
var
|
|
21286
|
-
var COUNTERSIGN_TOOL_SPEC = {
|
|
21287
|
-
name: COUNTERSIGN_OUTPUT_TOOL_NAME,
|
|
21288
|
-
label: "\u7ED9\u4E8B\u4E2D\u8F93\u51FA",
|
|
21289
|
-
description: "\u7ED9\u4E8B\u4E2D\u51B3\u8BAE\u3002",
|
|
21290
|
-
promptSnippet: "\u7ED9\u4E8B\u4E2D\u51B3\u8BAE",
|
|
21291
|
-
parameters: countersignVerdictSchema
|
|
21292
|
-
};
|
|
21505
|
+
var COUNTERSIGN_TOOL_SPEC = roleSubmissionDeclaration("countersign");
|
|
21293
21506
|
|
|
21294
21507
|
// src/gleaner-left-role.ts
|
|
21295
|
-
init_open_tool_schema();
|
|
21296
|
-
init_terminating_infrastructure();
|
|
21297
21508
|
init_gleaner_left_contracts();
|
|
21509
|
+
init_role_submission_declarations();
|
|
21298
21510
|
init_gleaner_left_contracts();
|
|
21299
|
-
|
|
21300
|
-
var gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
|
|
21301
|
-
openToolObject(
|
|
21302
|
-
Type15.Object({
|
|
21303
|
-
status: Type15.Unknown({
|
|
21304
|
-
description: "completed"
|
|
21305
|
-
}),
|
|
21306
|
-
findings: Type15.Unknown({
|
|
21307
|
-
description: "\u5F39\u7AE0\u5217\u8868\uFF1B\u6BCF\u6761\u53EF\u542B pointer\uFF08\u6587\u4EF6/\u884C\u6307\u9488\uFF09\u4E0E statement\uFF08\u7591\u70B9\u9648\u8FF0\uFF09\uFF0C\u539F\u6837\u7559\u5B58\u3002\u7A7A\u5217\u8868\u5408\u6CD5\u5B8C\u5C40\uFF1B\u673A\u5668\u4E0D\u5224\u5F39\u7AE0\u662F\u5426\u6210\u7ACB\u3002"
|
|
21308
|
-
})
|
|
21309
|
-
})
|
|
21310
|
-
)
|
|
21311
|
-
);
|
|
21312
|
-
var GLEANER_LEFT_TOOL_SPEC = {
|
|
21313
|
-
name: GLEANER_LEFT_OUTPUT_TOOL_NAME,
|
|
21314
|
-
label: "\u5DE6\u62FE\u9057\u8F93\u51FA",
|
|
21315
|
-
description: "\u5DE6\u62FE\u9057\u5F39\u7AE0\u3002",
|
|
21316
|
-
promptSnippet: "\u5DE6\u62FE\u9057\u5F39\u7AE0",
|
|
21317
|
-
parameters: gleanerLeftOutputSchema
|
|
21318
|
-
};
|
|
21511
|
+
var GLEANER_LEFT_TOOL_SPEC = roleSubmissionDeclaration("gleaner-left");
|
|
21319
21512
|
|
|
21320
21513
|
// src/role-runtime.ts
|
|
21321
21514
|
init_gleaner_left_contracts();
|
|
21322
21515
|
|
|
21323
21516
|
// src/inspector-role.ts
|
|
21324
21517
|
init_review_submission();
|
|
21518
|
+
init_role_submission_declarations();
|
|
21325
21519
|
init_inspector_contracts();
|
|
21326
|
-
var
|
|
21327
|
-
var INSPECTOR_TOOL_SPEC = {
|
|
21328
|
-
name: INSPECTOR_OUTPUT_TOOL_NAME,
|
|
21329
|
-
label: "\u53F0\u9662\u8F93\u51FA",
|
|
21330
|
-
description: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267\uFF0C\u72B6\u6001\u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
21331
|
-
promptSnippet: "\u53F0\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
21332
|
-
parameters: inspectorOutputSchema
|
|
21333
|
-
};
|
|
21520
|
+
var INSPECTOR_TOOL_SPEC = roleSubmissionDeclaration("inspector");
|
|
21334
21521
|
|
|
21335
21522
|
// src/role-runtime.ts
|
|
21336
21523
|
init_inspector_contracts();
|
|
21337
21524
|
|
|
21338
21525
|
// src/diarist-role.ts
|
|
21339
|
-
init_open_tool_schema();
|
|
21340
|
-
init_terminating_infrastructure();
|
|
21341
21526
|
init_diarist_contracts();
|
|
21527
|
+
init_role_submission_declarations();
|
|
21342
21528
|
init_diarist_contracts();
|
|
21343
|
-
|
|
21344
|
-
var DIARIST_SESSIONS_DESCRIPTION = "\u5BF9\u8BDD\u8FB9\u754C\u3002\u6BCF\u5377\u542B path\uFF08\u4F1A\u8BDD\u5377\u7EDD\u5BF9\u6216\u53EF\u8BFB\u8DEF\u5F84\uFF09\u4E0E ranges\uFF08\u672C\u5377\u672C\u8F6E\u5404\u533A\u95F4\uFF09\u3002\u6BCF\u6BB5\u533A\u95F4\u542B from / to\uFF1B\u8D77\u70B9\u4E0E\u7EC8\u70B9\u5404\u5199 id\uFF08\u539F\u751F id\uFF09\u6216 line\uFF08\u672C\u8F6E\u884C\u53F7\uFF09\uFF0C\u4E8C\u9009\u4E00\u3002\u7A7A\u5217\u8868\uFF1D\u672C\u8F6E\u65E0\u5BF9\u8BDD\u53EF\u5212\u3002\u7AEF\u70B9\u65E0\u6CD5\u6307\u540D\u65F6\u8D70 reask\uFF0C\u4E0D\u4E2D\u6B62\u3002";
|
|
21345
|
-
var diaristOutputSchema = withTerminatingOutputDeclarations(
|
|
21346
|
-
openToolObject(
|
|
21347
|
-
Type16.Object({
|
|
21348
|
-
status: Type16.Unknown({
|
|
21349
|
-
description: "completed | escalate"
|
|
21350
|
-
}),
|
|
21351
|
-
ticketNumber: Type16.Optional(
|
|
21352
|
-
Type16.Unknown({
|
|
21353
|
-
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"
|
|
21354
|
-
})
|
|
21355
|
-
),
|
|
21356
|
-
reason: Type16.Unknown({
|
|
21357
|
-
description: "status \u4E3A escalate \u65F6\uFF1A\u8BA4\u4E0D\u51FA\u672C\u5EAD\u5BF9\u8C61\u7684\u539F\u56E0"
|
|
21358
|
-
}),
|
|
21359
|
-
sessions: Type16.Optional(Type16.Unknown({ description: DIARIST_SESSIONS_DESCRIPTION })),
|
|
21360
|
-
ticketSessions: Type16.Unknown({
|
|
21361
|
-
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`
|
|
21362
|
-
})
|
|
21363
|
-
})
|
|
21364
|
-
)
|
|
21365
|
-
);
|
|
21366
|
-
var DIARIST_TOOL_SPEC = {
|
|
21367
|
-
name: DIARIST_OUTPUT_TOOL_NAME,
|
|
21368
|
-
label: "\u8D77\u5C45\u90CE\u8F93\u51FA",
|
|
21369
|
-
description: "\u8D77\u5C45\u90CE\u4EA4\u5355\u7968 sessions \u6216\u591A\u7968\u9010\u7968 ticketSessions \u8FB9\u754C\uFF1B\u8BA4\u4E0D\u51FA\u672C\u5EAD\u5BF9\u8C61\u5219 escalate\u3002",
|
|
21370
|
-
promptSnippet: "\u8D77\u5C45\u90CE\u4EA4\u8FB9\u754C",
|
|
21371
|
-
parameters: diaristOutputSchema
|
|
21372
|
-
};
|
|
21529
|
+
var DIARIST_TOOL_SPEC = roleSubmissionDeclaration("diarist");
|
|
21373
21530
|
|
|
21374
21531
|
// src/secretariat-role.ts
|
|
21375
|
-
init_terminating_infrastructure();
|
|
21376
21532
|
init_secretariat_contracts();
|
|
21533
|
+
init_role_submission_declarations();
|
|
21377
21534
|
init_secretariat_contracts();
|
|
21378
|
-
|
|
21379
|
-
var
|
|
21380
|
-
Type17.Object(
|
|
21381
|
-
{
|
|
21382
|
-
secretariatStatus: Type17.Unknown({
|
|
21383
|
-
description: "converged | escalate"
|
|
21384
|
-
}),
|
|
21385
|
-
ticketNumber: Type17.Optional(
|
|
21386
|
-
Type17.Unknown({ description: "\u672C\u7968\u53F7\uFF1B\u7F72\u65F6\u6307\u5411\u6700\u7EC8\u6B63\u6587\u6240\u5728\u7968" })
|
|
21387
|
-
),
|
|
21388
|
-
note: Type17.Unknown({ description: "\u9644\u6CE8" }),
|
|
21389
|
-
evidence: Type17.Optional(Type17.Unknown({ description: "\u7559\u5B58\u8BC1\u636E" })),
|
|
21390
|
-
decisionGate: Type17.Unknown({
|
|
21391
|
-
description: "\u9700\u965B\u4E0B\u5904\u7F6E\u7684\u95EE\u9898\u4E0E\u9009\u9879\uFF1B\u53EF\u5199 question \u4E0E options\uFF0C\u539F\u6837\u7559\u5B58\u3002"
|
|
21392
|
-
})
|
|
21393
|
-
},
|
|
21394
|
-
{ additionalProperties: true }
|
|
21395
|
-
)
|
|
21396
|
-
);
|
|
21397
|
-
secretariatVerdictSchema.required = [];
|
|
21398
|
-
var SECRETARIAT_OUTPUT_TOOL_SPEC = {
|
|
21399
|
-
name: SECRETARIAT_OUTPUT_TOOL_NAME,
|
|
21400
|
-
label: "\u4E2D\u4E66\u7701\u8F93\u51FA",
|
|
21401
|
-
description: "\u4E2D\u4E66\u7701\u7EC8\u5C40\u56DE\u6267\u3002",
|
|
21402
|
-
promptSnippet: "\u4E2D\u4E66\u7701\u7EC8\u5C40\u56DE\u6267",
|
|
21403
|
-
parameters: secretariatVerdictSchema
|
|
21404
|
-
};
|
|
21535
|
+
init_secretariat_contracts();
|
|
21536
|
+
var SECRETARIAT_OUTPUT_TOOL_SPEC = roleSubmissionDeclaration("secretariat");
|
|
21405
21537
|
|
|
21406
21538
|
// src/role-runtime.ts
|
|
21407
21539
|
init_secretariat_contracts();
|
|
@@ -21419,24 +21551,13 @@ init_invocation();
|
|
|
21419
21551
|
init_gatekeeper_role();
|
|
21420
21552
|
|
|
21421
21553
|
// src/navigator-role.ts
|
|
21422
|
-
|
|
21423
|
-
var NAVIGATOR_TOOL_SPEC =
|
|
21424
|
-
name: NAVIGATOR_OUTPUT_TOOL_NAME,
|
|
21425
|
-
label: "\u6E38\u5955\u4F7F\u5EFA\u8BAE",
|
|
21426
|
-
description: "\u6E38\u5955\u4F7F\u7EC8\u5C40\u56DE\u6267\uFF1A\u6563\u6587\u5EFA\u8BAE\uFF0C\u539F\u6837\u5448\u73B0\u3002",
|
|
21427
|
-
promptSnippet: "\u6E38\u5955\u4F7F\u5EFA\u8BAE",
|
|
21428
|
-
parameters: navigatorOutputSchema
|
|
21429
|
-
};
|
|
21554
|
+
init_role_submission_declarations();
|
|
21555
|
+
var NAVIGATOR_TOOL_SPEC = roleSubmissionDeclaration("navigator");
|
|
21430
21556
|
|
|
21431
21557
|
// src/auditor-role.ts
|
|
21432
21558
|
init_auditor_output();
|
|
21433
|
-
|
|
21434
|
-
|
|
21435
|
-
label: "\u5BA1\u5211\u9662\u8F93\u51FA",
|
|
21436
|
-
description: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267\uFF0Cstatus \u4E3A converged\u3001continue \u6216 escalate\u3002",
|
|
21437
|
-
promptSnippet: "\u5BA1\u5211\u9662\u7EC8\u5C40\u56DE\u6267",
|
|
21438
|
-
parameters: auditorOutputSchema
|
|
21439
|
-
};
|
|
21559
|
+
init_role_submission_declarations();
|
|
21560
|
+
var AUDITOR_TOOL_SPEC = roleSubmissionDeclaration("auditor");
|
|
21440
21561
|
|
|
21441
21562
|
// src/navigator-attendance.ts
|
|
21442
21563
|
init_navigator_invocation_identity();
|
|
@@ -21444,7 +21565,7 @@ init_packaged_role_registry();
|
|
|
21444
21565
|
init_activation_ledger_topology();
|
|
21445
21566
|
import { resolve as resolve18 } from "node:path";
|
|
21446
21567
|
import "@earendil-works/pi-coding-agent";
|
|
21447
|
-
import { Type as
|
|
21568
|
+
import { Type as Type21 } from "typebox";
|
|
21448
21569
|
|
|
21449
21570
|
// src/navigator-public-session.ts
|
|
21450
21571
|
init_sitian_facade();
|
|
@@ -21453,7 +21574,7 @@ import { basename as basename11 } from "node:path";
|
|
|
21453
21574
|
|
|
21454
21575
|
// src/navigator-session-contracts.ts
|
|
21455
21576
|
init_unknown_value();
|
|
21456
|
-
import { Type as
|
|
21577
|
+
import { Type as Type20 } from "typebox";
|
|
21457
21578
|
import { Value as Value3 } from "typebox/value";
|
|
21458
21579
|
var NAVIGATOR_PREPARE_TOOL_NAME = "ak_navigator_prepare";
|
|
21459
21580
|
var NAVIGATOR_UNAVAILABLE_KEYS = /* @__PURE__ */ new Set([
|
|
@@ -21558,26 +21679,26 @@ function navigatorProviderFailureFromPublicTerminal(outcome) {
|
|
|
21558
21679
|
if (typed !== void 0) return { source: typed, cause: typed };
|
|
21559
21680
|
return { source: "unknown", cause: "unknown" };
|
|
21560
21681
|
}
|
|
21561
|
-
var navigatorProviderFailureSchema =
|
|
21562
|
-
source:
|
|
21563
|
-
|
|
21564
|
-
|
|
21565
|
-
|
|
21566
|
-
|
|
21567
|
-
|
|
21568
|
-
|
|
21569
|
-
|
|
21570
|
-
|
|
21682
|
+
var navigatorProviderFailureSchema = Type20.Object({
|
|
21683
|
+
source: Type20.Union([
|
|
21684
|
+
Type20.Literal("context"),
|
|
21685
|
+
Type20.Literal("session"),
|
|
21686
|
+
Type20.Literal("model"),
|
|
21687
|
+
Type20.Literal("thinking"),
|
|
21688
|
+
Type20.Literal("auth"),
|
|
21689
|
+
Type20.Literal("quota"),
|
|
21690
|
+
Type20.Literal("transport"),
|
|
21691
|
+
Type20.Literal("unknown")
|
|
21571
21692
|
]),
|
|
21572
|
-
cause:
|
|
21573
|
-
|
|
21574
|
-
|
|
21575
|
-
|
|
21576
|
-
|
|
21577
|
-
|
|
21578
|
-
|
|
21579
|
-
|
|
21580
|
-
|
|
21693
|
+
cause: Type20.Union([
|
|
21694
|
+
Type20.Literal("context"),
|
|
21695
|
+
Type20.Literal("session"),
|
|
21696
|
+
Type20.Literal("model"),
|
|
21697
|
+
Type20.Literal("thinking"),
|
|
21698
|
+
Type20.Literal("auth"),
|
|
21699
|
+
Type20.Literal("quota"),
|
|
21700
|
+
Type20.Literal("transport"),
|
|
21701
|
+
Type20.Literal("unknown")
|
|
21581
21702
|
])
|
|
21582
21703
|
}, { additionalProperties: false });
|
|
21583
21704
|
function parseNavigatorModelSetting(value) {
|
|
@@ -21959,8 +22080,8 @@ function resolveNavigatorAuthorityMaterial(roleInput, fileAuthority) {
|
|
|
21959
22080
|
return void 0;
|
|
21960
22081
|
}
|
|
21961
22082
|
var NAVIGATOR_TARGETS = PACKAGED_ROLE_REGISTRY.map(({ role, phases }) => ({ role, phases }));
|
|
21962
|
-
var prepareSchema =
|
|
21963
|
-
prose:
|
|
22083
|
+
var prepareSchema = Type21.Object({
|
|
22084
|
+
prose: Type21.Optional(Type21.Unknown({
|
|
21964
22085
|
description: "\u6E38\u5955\u4F7F\u6563\u6587\u5EFA\u8BAE\uFF0C\u539F\u6837\u5448\u73B0\u3002\u4E0D\u8981\u6C42 candidates/next \u7ED3\u6784\u3002"
|
|
21965
22086
|
}))
|
|
21966
22087
|
}, { additionalProperties: true });
|
|
@@ -22402,22 +22523,9 @@ init_packaged_role_registry();
|
|
|
22402
22523
|
init_judge_role();
|
|
22403
22524
|
|
|
22404
22525
|
// src/reviewer-role.ts
|
|
22405
|
-
|
|
22406
|
-
|
|
22526
|
+
init_filed_submission();
|
|
22527
|
+
init_role_submission_declarations();
|
|
22407
22528
|
init_reviewer_output();
|
|
22408
|
-
import { Type as Type20 } from "typebox";
|
|
22409
|
-
var 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";
|
|
22410
|
-
var 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";
|
|
22411
|
-
var reviewerOutputObject = Type20.Object({
|
|
22412
|
-
status: Type20.Unknown({ description: REVIEWER_STATUS_DESCRIPTION }),
|
|
22413
|
-
amendments: Type20.Unknown({ description: REVIEWER_AMENDMENTS_DESCRIPTION }),
|
|
22414
|
-
diagnostic: Type20.Unknown({
|
|
22415
|
-
description: "\u62D2\u7EDD\u8BCA\u65AD\u8BF4\u660E\uFF1Bhard-stop\uFF0Fusage error \u539F\u56E0\u8FDB\u6B64\u5B57\u6BB5\uFF0C\u5DF2\u4EA7\u51FA\u62A5\u544A\u53E6\u7167\u5F55 amendments"
|
|
22416
|
-
})
|
|
22417
|
-
});
|
|
22418
|
-
var reviewerOutputSchema = withTerminatingOutputDeclarations(
|
|
22419
|
-
openToolObject(reviewerOutputObject)
|
|
22420
|
-
);
|
|
22421
22529
|
function createReviewerRoleRuntime(pi, dependencies, _hostActions) {
|
|
22422
22530
|
let soul;
|
|
22423
22531
|
let registered = false;
|
|
@@ -22429,20 +22537,8 @@ function createReviewerRoleRuntime(pi, dependencies, _hostActions) {
|
|
|
22429
22537
|
fixedBaseRevision = admitted.baseRevision;
|
|
22430
22538
|
if (!registered) {
|
|
22431
22539
|
registered = true;
|
|
22432
|
-
pi
|
|
22433
|
-
|
|
22434
|
-
label: "\u5FA1\u53F2\u53F0\u8F93\u51FA",
|
|
22435
|
-
description: "\u63D0\u4EA4\u5FA1\u53F2\u53F0\u7EC8\u5C40\u56DE\u6267\u3002",
|
|
22436
|
-
promptSnippet: "\u63D0\u4EA4\u5FA1\u53F2\u53F0\u7EC8\u5C40\u56DE\u6267",
|
|
22437
|
-
parameters: reviewerOutputSchema,
|
|
22438
|
-
async execute(_id, parameters) {
|
|
22439
|
-
if (!soul) throw new Error("\u5FA1\u53F2\u53F0\u8F93\u5165\u672A\u88C5\u8F7D");
|
|
22440
|
-
return {
|
|
22441
|
-
content: [],
|
|
22442
|
-
details: parameters,
|
|
22443
|
-
terminate: true
|
|
22444
|
-
};
|
|
22445
|
-
}
|
|
22540
|
+
registerFiledSubmissionTool(pi, roleSubmissionDeclaration("reviewer"), {
|
|
22541
|
+
readyError: () => soul === void 0 || soul.length === 0 ? "\u5FA1\u53F2\u53F0\u8F93\u5165\u672A\u88C5\u8F7D" : void 0
|
|
22446
22542
|
});
|
|
22447
22543
|
}
|
|
22448
22544
|
const activatedSoul = soul;
|
|
@@ -22456,12 +22552,11 @@ function createReviewerRoleRuntime(pi, dependencies, _hostActions) {
|
|
|
22456
22552
|
}
|
|
22457
22553
|
|
|
22458
22554
|
// src/worker-role.ts
|
|
22459
|
-
init_open_tool_schema();
|
|
22460
|
-
init_terminating_infrastructure();
|
|
22461
22555
|
init_worker_output();
|
|
22462
22556
|
init_fixer_output();
|
|
22557
|
+
init_filed_submission();
|
|
22558
|
+
init_role_submission_declarations();
|
|
22463
22559
|
init_fixer_packet();
|
|
22464
|
-
import { Type as Type21 } from "typebox";
|
|
22465
22560
|
|
|
22466
22561
|
// src/worker-submission-gates.ts
|
|
22467
22562
|
init_archivist_record_entry();
|
|
@@ -22734,18 +22829,7 @@ function fixerBashSeatbeltDenyReason(matched) {
|
|
|
22734
22829
|
|
|
22735
22830
|
// src/worker-role.ts
|
|
22736
22831
|
init_unknown_value();
|
|
22737
|
-
|
|
22738
|
-
var coderOutputObject = Type21.Object({
|
|
22739
|
-
status: Type21.Unknown({ description: CODER_STATUS_DESCRIPTION }),
|
|
22740
|
-
report: Type21.Unknown({ description: "\u5982\u5B9E\u7ED3\u679C\u62A5\u544A" }),
|
|
22741
|
-
remainingScope: Type21.Unknown({ description: "\u672C\u5C40\u540E\u5269\u4F59\u5DE5\u4F5C" }),
|
|
22742
|
-
reason: Type21.Unknown({
|
|
22743
|
-
description: "\u963B\u65AD\u539F\u56E0\uFF1A\u7F3A\u524D\u7F6E\u6216\u8FDD\u5BAA\u7EA6\u675F\u3002\u7F3A\u5F85\u51B3 owner \u51B3\u5B9A\u6216\u7B54\u590D\u5C5E\u7F3A\u524D\u7F6E\u3002"
|
|
22744
|
-
})
|
|
22745
|
-
});
|
|
22746
|
-
var coderOutputSchema = withTerminatingOutputDeclarations(
|
|
22747
|
-
openToolObject(coderOutputObject)
|
|
22748
|
-
);
|
|
22832
|
+
init_worker_output();
|
|
22749
22833
|
var FIXER_FLAG_DEFINITIONS = {
|
|
22750
22834
|
packet: {
|
|
22751
22835
|
name: "ak-fix-packet",
|
|
@@ -22785,6 +22869,28 @@ function validateWorkerOutput(output, phase, roleLabel) {
|
|
|
22785
22869
|
if (roleLabel === "Fixer") return validateFixerOutput(output, phase);
|
|
22786
22870
|
return validateAcceptedWorkerDetails(output, "Coder");
|
|
22787
22871
|
}
|
|
22872
|
+
function registerWorkerSubmission(pi, role, options) {
|
|
22873
|
+
registerFiledSubmissionTool(pi, roleSubmissionDeclaration(role), {
|
|
22874
|
+
readyError: () => options.ready() ? void 0 : options.notReady,
|
|
22875
|
+
beforeAccept: async ({ toolCallId, parameters, ctx }) => {
|
|
22876
|
+
const phase = options.phase();
|
|
22877
|
+
if (phase === void 0) throw new Error(options.notReady);
|
|
22878
|
+
const output = options.project(parameters, phase);
|
|
22879
|
+
const status = workerStatusOf(output);
|
|
22880
|
+
if (status !== void 0) {
|
|
22881
|
+
assertAcceptableThroughHost(
|
|
22882
|
+
options.submissionGate,
|
|
22883
|
+
status,
|
|
22884
|
+
output,
|
|
22885
|
+
options.hostActions,
|
|
22886
|
+
ctx,
|
|
22887
|
+
toolCallId
|
|
22888
|
+
);
|
|
22889
|
+
}
|
|
22890
|
+
return output;
|
|
22891
|
+
}
|
|
22892
|
+
});
|
|
22893
|
+
}
|
|
22788
22894
|
function assertAcceptableThroughHost(submissionGate, status, details, hostActions, ctx, toolCallId) {
|
|
22789
22895
|
try {
|
|
22790
22896
|
submissionGate.assertAcceptable(status, details);
|
|
@@ -22846,30 +22952,13 @@ function createFixerRoleRuntime(pi, dependencies, hostActions) {
|
|
|
22846
22952
|
packet = Object.freeze({ instructions, prerequisites });
|
|
22847
22953
|
if (!lifecycleRegistered) {
|
|
22848
22954
|
lifecycleRegistered = true;
|
|
22849
|
-
pi
|
|
22850
|
-
|
|
22851
|
-
|
|
22852
|
-
|
|
22853
|
-
|
|
22854
|
-
|
|
22855
|
-
|
|
22856
|
-
if (packet === void 0 || phase === void 0) {
|
|
22857
|
-
throw new Error("\u4FEE\u5185\u53F8\u4FEE\u7406\u5305\u4E0E\u9636\u6BB5\u672A\u88C5\u8F7D");
|
|
22858
|
-
}
|
|
22859
|
-
const output = deepFreeze2(validateFixerOutput(parameters, phase));
|
|
22860
|
-
const status = workerStatusOf(output);
|
|
22861
|
-
if (status !== void 0) {
|
|
22862
|
-
assertAcceptableThroughHost(
|
|
22863
|
-
submissionGate,
|
|
22864
|
-
status,
|
|
22865
|
-
output,
|
|
22866
|
-
hostActions,
|
|
22867
|
-
ctx,
|
|
22868
|
-
toolCallId
|
|
22869
|
-
);
|
|
22870
|
-
}
|
|
22871
|
-
return { content: [], details: output, terminate: true };
|
|
22872
|
-
}
|
|
22955
|
+
registerWorkerSubmission(pi, "fixer", {
|
|
22956
|
+
notReady: "\u4FEE\u5185\u53F8\u4FEE\u7406\u5305\u4E0E\u9636\u6BB5\u672A\u88C5\u8F7D",
|
|
22957
|
+
ready: () => packet !== void 0 && phase !== void 0,
|
|
22958
|
+
phase: () => phase,
|
|
22959
|
+
project: (parameters, current) => deepFreeze2(validateFixerOutput(parameters, current)),
|
|
22960
|
+
submissionGate,
|
|
22961
|
+
hostActions
|
|
22873
22962
|
});
|
|
22874
22963
|
pi.on("tool_call", (event) => {
|
|
22875
22964
|
if (event.toolName !== "bash") return;
|
|
@@ -22946,30 +23035,13 @@ function createCoderRoleRuntime(pi, dependencies, hostActions) {
|
|
|
22946
23035
|
if (task.length === 0) throw new Error("Coder task is empty");
|
|
22947
23036
|
if (!lifecycleRegistered) {
|
|
22948
23037
|
lifecycleRegistered = true;
|
|
22949
|
-
pi
|
|
22950
|
-
|
|
22951
|
-
|
|
22952
|
-
|
|
22953
|
-
|
|
22954
|
-
|
|
22955
|
-
|
|
22956
|
-
if (task === void 0 || phase === void 0) {
|
|
22957
|
-
throw new Error("\u5C06\u4F5C\u76D1\u4EFB\u52A1\u4E0E\u9636\u6BB5\u672A\u88C5\u8F7D");
|
|
22958
|
-
}
|
|
22959
|
-
const output = validateWorkerOutput(parameters, phase, "Coder");
|
|
22960
|
-
const status = workerStatusOf(output);
|
|
22961
|
-
if (status !== void 0) {
|
|
22962
|
-
assertAcceptableThroughHost(
|
|
22963
|
-
submissionGate,
|
|
22964
|
-
status,
|
|
22965
|
-
output,
|
|
22966
|
-
hostActions,
|
|
22967
|
-
ctx2,
|
|
22968
|
-
toolCallId
|
|
22969
|
-
);
|
|
22970
|
-
}
|
|
22971
|
-
return { content: [], details: output, terminate: true };
|
|
22972
|
-
}
|
|
23038
|
+
registerWorkerSubmission(pi, "coder", {
|
|
23039
|
+
notReady: "\u5C06\u4F5C\u76D1\u4EFB\u52A1\u4E0E\u9636\u6BB5\u672A\u88C5\u8F7D",
|
|
23040
|
+
ready: () => task !== void 0 && phase !== void 0,
|
|
23041
|
+
phase: () => phase,
|
|
23042
|
+
project: (parameters, current) => validateWorkerOutput(parameters, current, "Coder"),
|
|
23043
|
+
submissionGate,
|
|
23044
|
+
hostActions
|
|
22973
23045
|
});
|
|
22974
23046
|
pi.on("before_agent_start", (event, ctx2) => {
|
|
22975
23047
|
if (soul === void 0) throw new Error("\u5C06\u4F5C\u76D1\u804C\u5206\u672A\u88C5\u8F7D");
|
|
@@ -23005,6 +23077,8 @@ init_merger_contracts();
|
|
|
23005
23077
|
|
|
23006
23078
|
// src/merger-role.ts
|
|
23007
23079
|
init_merger_contracts();
|
|
23080
|
+
init_filed_submission();
|
|
23081
|
+
init_role_submission_declarations();
|
|
23008
23082
|
init_exact_utf8();
|
|
23009
23083
|
var MERGER_INPUT_FLAG = { name: "ak-merger-input", definition: { description: "Path to Merger assignment materials JSON", type: "string" } };
|
|
23010
23084
|
function materialText(input, key) {
|
|
@@ -23024,16 +23098,8 @@ function createMergerRoleRuntime(pi, dependencies) {
|
|
|
23024
23098
|
activation = { soul, input };
|
|
23025
23099
|
if (!registered) {
|
|
23026
23100
|
registered = true;
|
|
23027
|
-
pi
|
|
23028
|
-
|
|
23029
|
-
label: "\u5408\u5E76\u8F93\u51FA",
|
|
23030
|
-
description: "\u63D0\u4EA4\u5408\u5E76\u7ED3\u679C\uFF1B\u8F93\u51FA\u5206\u652F\u4E3A completed \u4E0E escalate\u3002",
|
|
23031
|
-
promptSnippet: "\u63D0\u4EA4\u5408\u5E76\u7ED3\u679C",
|
|
23032
|
-
parameters: mergerOutputSchema,
|
|
23033
|
-
async execute(_id, params, _signal, _update, _ctx) {
|
|
23034
|
-
if (!activation) throw new Error("\u6821\u4E66\u90CE\u672A\u6FC0\u6D3B");
|
|
23035
|
-
return { content: [], details: params, terminate: true };
|
|
23036
|
-
}
|
|
23101
|
+
registerFiledSubmissionTool(pi, roleSubmissionDeclaration("merger"), {
|
|
23102
|
+
readyError: () => activation === void 0 ? "\u6821\u4E66\u90CE\u672A\u6FC0\u6D3B" : void 0
|
|
23037
23103
|
});
|
|
23038
23104
|
pi.on("before_agent_start", (event) => {
|
|
23039
23105
|
if (!activation) throw new Error("\u6821\u4E66\u90CE\u672A\u6FC0\u6D3B");
|
|
@@ -23302,21 +23368,9 @@ function createFiledOfficerRuntime(roleHost, spec, dependencies) {
|
|
|
23302
23368
|
soul = loaded;
|
|
23303
23369
|
if (!registered) {
|
|
23304
23370
|
registered = true;
|
|
23305
|
-
roleHost.
|
|
23306
|
-
|
|
23307
|
-
|
|
23308
|
-
description: spec.tool.description,
|
|
23309
|
-
promptSnippet: spec.tool.promptSnippet,
|
|
23310
|
-
parameters: spec.tool.parameters,
|
|
23311
|
-
async execute(toolCallId, parameters, signal, _onUpdate, ctx) {
|
|
23312
|
-
if (soul === void 0) throw new Error(`${spec.role} \u804C\u5206\u672A\u88C5\u8F7D`);
|
|
23313
|
-
const projected = spec.beforeAccept === void 0 ? void 0 : await spec.beforeAccept({ toolCallId, parameters, signal, ctx });
|
|
23314
|
-
return {
|
|
23315
|
-
content: [],
|
|
23316
|
-
details: projected === void 0 ? parameters : projected,
|
|
23317
|
-
terminate: true
|
|
23318
|
-
};
|
|
23319
|
-
}
|
|
23371
|
+
registerFiledSubmissionTool(roleHost, spec.tool, {
|
|
23372
|
+
readyError: () => soul === void 0 ? `${spec.role} \u804C\u5206\u672A\u88C5\u8F7D` : void 0,
|
|
23373
|
+
...spec.beforeAccept === void 0 ? {} : { beforeAccept: spec.beforeAccept }
|
|
23320
23374
|
});
|
|
23321
23375
|
roleHost.on("before_agent_start", (event) => {
|
|
23322
23376
|
if (soul === void 0) throw new Error(`${spec.role} \u804C\u5206\u672A\u88C5\u8F7D`);
|