@akagilnc/pi-workflow-roles 0.1.4802 → 0.1.4874
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 +19434 -18218
- package/dist/analyst-book-key.js +63 -0
- package/dist/analyst-cohort.js +167 -0
- package/dist/analyst-entry.js +320 -0
- package/dist/analyst-index.js +247 -0
- package/dist/analyst-ledger.js +561 -0
- package/dist/analyst-median.js +16 -0
- package/dist/analyst-metric-families/acceptance-success-rework.js +249 -0
- package/dist/analyst-metric-families/b2-frame-buckets-actions.js +189 -0
- package/dist/analyst-metric-families/gate-cycles.js +77 -0
- package/dist/analyst-metric-families/leg-wall-clock.js +56 -0
- package/dist/analyst-metric-families/round-timeline.js +126 -0
- package/dist/analyst-metric-families.js +23 -0
- package/dist/analyst-metric-family.js +11 -0
- package/dist/analyst-model-groups.js +135 -0
- package/dist/analyst-page.js +182 -0
- package/dist/atomic-write.js +23 -0
- package/dist/auditor-soul.js +1 -1
- package/dist/countersign-contracts.js +0 -2
- package/dist/diarist-contracts.js +0 -1
- package/dist/doctor-contracts.js +2 -2
- package/dist/gatekeeper-role.js +15 -16
- package/dist/gleaner-left-contracts.js +0 -2
- package/dist/headless-host/production-host.js +16967 -15749
- package/dist/host-contracts.js +0 -4
- package/dist/inspector-contracts.js +0 -2
- package/dist/institutional-resolution.js +4 -2
- package/dist/merger-contracts.js +0 -2
- package/dist/migrate-book-topology.js +3908 -3089
- package/dist/navigator-public-session.js +4 -3
- package/dist/notary-contracts.js +0 -2
- package/dist/package-contracts/auditor-output.js +0 -1
- package/dist/package-contracts/collector-output.js +0 -2
- package/dist/package-contracts/fixer-output.js +0 -2
- package/dist/package-contracts/gatekeeper-output.js +0 -2
- package/dist/package-contracts/judge-output.js +0 -2
- package/dist/package-contracts/navigator-output.js +0 -2
- package/dist/package-contracts/reviewer-output.js +0 -2
- package/dist/package-contracts/terminating-tools.js +32 -92
- package/dist/package-contracts/worker-output.js +0 -4
- package/dist/packaged-role-registry.js +518 -36
- package/dist/pi/role-turn-host.js +2 -1
- package/dist/public-cli/analyst-run.js +185 -0
- package/dist/public-cli/cli.js +885 -0
- package/dist/public-cli/config.js +12 -9
- package/dist/public-cli/countersign-run.js +4 -311
- package/dist/public-cli/instruction-seat-run.js +628 -158
- package/dist/public-cli/invocation.js +806 -1550
- package/dist/public-cli/main.js +6962 -9882
- package/dist/public-cli/option-definitions.js +51 -99
- package/dist/public-cli/post-admission.js +30 -2
- package/dist/public-cli/run-lifecycle.js +234 -353
- package/dist/public-cli/seat-ticket-binding.js +6 -0
- package/dist/public-cli/settlement.js +261 -675
- package/dist/public-cli/turn-request.js +76 -0
- package/dist/public-role-summons.js +38 -112
- package/dist/role-activation-flags.js +23 -45
- package/dist/secretariat-contracts.js +0 -2
- package/dist/session-identity.js +17 -8
- package/dist/session-opening-materials.js +3 -2
- package/extensions/role-runtime.ts +6 -80
- package/package.json +1 -1
- package/src/acp-host/role-turn-host.ts +4 -1
- package/src/analyst-metric-families/acceptance-success-rework.ts +3 -2
- package/src/auditor-role.ts +1 -2
- package/src/auditor-soul.ts +1 -1
- package/src/collector-role.ts +2 -2
- package/src/countersign-contracts.ts +0 -1
- package/src/countersign-role.ts +1 -1
- package/src/diarist-contracts.ts +0 -1
- package/src/diarist-role.ts +0 -1
- package/src/doctor-auditor.ts +1 -2
- package/src/doctor-contracts.ts +1 -1
- package/src/doctor-role.ts +3 -2
- package/src/external-host-turn-loop.ts +1 -1
- package/src/factory-board.ts +10 -7
- package/src/gatekeeper-role.ts +16 -10
- package/src/gleaner-left-contracts.ts +0 -1
- package/src/gleaner-left-role.ts +0 -1
- package/src/headless-host/role-turn-host.ts +7 -1
- package/src/host-contracts.ts +10 -6
- package/src/inspector-contracts.ts +0 -1
- package/src/inspector-role.ts +0 -2
- package/src/institutional-resolution.ts +6 -4
- package/src/judge-role.ts +3 -3
- package/src/merger-contracts.ts +0 -1
- package/src/merger-role.ts +2 -2
- package/src/navigator-public-session.ts +7 -6
- package/src/navigator-work-context.ts +6 -8
- package/src/notary-contracts.ts +0 -1
- package/src/notary-role.ts +2 -3
- package/src/package-contracts/auditor-output.ts +0 -1
- package/src/package-contracts/collector-output.ts +0 -1
- package/src/package-contracts/fixer-output.ts +0 -1
- package/src/package-contracts/gatekeeper-output.ts +0 -1
- package/src/package-contracts/judge-output.ts +0 -1
- package/src/package-contracts/navigator-output.ts +0 -1
- package/src/package-contracts/reviewer-output.ts +0 -1
- package/src/package-contracts/terminating-tools.ts +27 -99
- package/src/package-contracts/worker-output.ts +0 -2
- package/src/packaged-role-registry.ts +604 -35
- package/src/pi/role-turn-host.ts +2 -1
- package/src/public-cli/cli.ts +64 -259
- package/src/public-cli/config.ts +18 -10
- package/src/public-cli/countersign-run.ts +14 -449
- package/src/public-cli/instruction-seat-run.ts +758 -277
- package/src/public-cli/invocation.ts +1097 -2051
- package/src/public-cli/option-definitions.ts +62 -127
- package/src/public-cli/post-admission.ts +47 -2
- package/src/public-cli/run-lifecycle.ts +303 -613
- package/src/public-cli/seat-ticket-binding.ts +6 -0
- package/src/public-cli/settlement.ts +399 -1185
- package/src/public-cli/turn-request.ts +92 -1
- package/src/public-role-summons.ts +44 -128
- package/src/reviewer-role.ts +3 -2
- package/src/role-activation-flags.ts +20 -41
- package/src/role-runtime-dependencies.ts +25 -26
- package/src/role-runtime.ts +121 -232
- package/src/secretariat-contracts.ts +0 -1
- package/src/secretariat-role.ts +0 -2
- package/src/session-identity.ts +23 -8
- package/src/session-opening-materials.ts +2 -1
- package/src/worker-role.ts +3 -4
- package/dist/doctor-auditor.js +0 -25
- package/dist/public-cli/diarist-run.js +0 -130
- package/dist/public-cli/doctor-run.js +0 -87
- package/dist/public-cli/inspector-run.js +0 -151
- package/dist/public-cli/judge-run.js +0 -114
- package/dist/public-cli/notary-run.js +0 -174
- package/dist/public-cli/reviewer-run.js +0 -339
- package/src/public-cli/coder-run.ts +0 -255
- package/src/public-cli/collector-run.ts +0 -189
- package/src/public-cli/diarist-run.ts +0 -233
- package/src/public-cli/doctor-run.ts +0 -167
- package/src/public-cli/fixer-run.ts +0 -265
- package/src/public-cli/gleaner-left-run.ts +0 -167
- package/src/public-cli/inspector-run.ts +0 -261
- package/src/public-cli/judge-run.ts +0 -196
- package/src/public-cli/merger-run.ts +0 -294
- package/src/public-cli/notary-run.ts +0 -279
- package/src/public-cli/reviewer-run.ts +0 -480
- package/src/public-cli/secretariat-run.ts +0 -265
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
} from "./navigator-session-contracts.js";
|
|
10
10
|
import { runDirectoryFromHostContext } from "./host-contracts.js";
|
|
11
11
|
import { CliUsageError } from "./public-cli/cli-errors.js";
|
|
12
|
+
import { isNavigatorSeat } from "./packaged-role-registry.js";
|
|
12
13
|
async function resolveNavigatorLedgerHome(context) {
|
|
13
14
|
const { tryHomeFromAkRolesPath } = await import("./activation-ledger-topology.js");
|
|
14
15
|
const runDirectory = runDirectoryFromHostContext(context);
|
|
@@ -49,10 +50,10 @@ function readNavigatorHostRunPointer(entries) {
|
|
|
49
50
|
}
|
|
50
51
|
async function navigatorHostRunResumable(home, runId) {
|
|
51
52
|
const { piDurablePrincipalAuthority } = await import("./pi/durable-principal.js");
|
|
52
|
-
const {
|
|
53
|
+
const { loadResumablePublicRole } = await import("./public-cli/run-lifecycle.js");
|
|
53
54
|
try {
|
|
54
|
-
const loaded = await
|
|
55
|
-
return loaded.admitted.role
|
|
55
|
+
const loaded = await loadResumablePublicRole(home, runId, piDurablePrincipalAuthority);
|
|
56
|
+
return isNavigatorSeat(loaded.admitted.role);
|
|
56
57
|
} catch (error) {
|
|
57
58
|
if (error instanceof CliUsageError) return false;
|
|
58
59
|
throw error;
|
package/dist/notary-contracts.js
CHANGED
|
@@ -2,7 +2,6 @@ import { Type } from "typebox";
|
|
|
2
2
|
import { openToolObject } from "./open-tool-schema.js";
|
|
3
3
|
import { withTerminatingOutputDeclarations } from "./package-contracts/terminating-infrastructure.js";
|
|
4
4
|
const NOTARY_OUTPUT_TOOL_NAME = "ak_notary_output";
|
|
5
|
-
const NOTARY_ACCEPTED_TEXT = "\u7B26\u5B9D\u90CE\u56DE\u6267\u5DF2\u63A5\u53D7";
|
|
6
5
|
const NOTARY_SOURCE_RUN_FLAG = {
|
|
7
6
|
name: "ak-notary-source-run",
|
|
8
7
|
definition: {
|
|
@@ -54,7 +53,6 @@ function validateRecordedNotaryOutput(value) {
|
|
|
54
53
|
return value;
|
|
55
54
|
}
|
|
56
55
|
export {
|
|
57
|
-
NOTARY_ACCEPTED_TEXT,
|
|
58
56
|
NOTARY_FIXED_KICKOFF,
|
|
59
57
|
NOTARY_OUTPUT_TOOL_NAME,
|
|
60
58
|
NOTARY_SOURCE_RUN_FLAG,
|
|
@@ -6,7 +6,6 @@ import { Type } from "typebox";
|
|
|
6
6
|
import { openToolObject } from "../open-tool-schema.js";
|
|
7
7
|
import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.js";
|
|
8
8
|
export const AUDITOR_OUTPUT_TOOL_NAME = "ak_auditor_output";
|
|
9
|
-
export const AUDITOR_ACCEPTED_TEXT = "审刑院回执已接受";
|
|
10
9
|
export const auditorOutputSchema = withTerminatingOutputDeclarations(openToolObject(Type.Object({
|
|
11
10
|
status: Type.Unknown({
|
|
12
11
|
description: "pass | bounce | escalate — 形状指引,非 schema 闸",
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
const COLLECTOR_OUTPUT_TOOL = "ak_collector_output";
|
|
2
|
-
const COLLECTOR_ACCEPTED_TEXT = "\u901A\u8FDB\u53F8\u56DE\u6267\u5DF2\u63A5\u53D7";
|
|
3
2
|
const COLLECTOR_HOST = "github.com";
|
|
4
3
|
function safeGet(value, key) {
|
|
5
4
|
if (typeof value !== "object" && typeof value !== "function" || value === null) return void 0;
|
|
@@ -88,7 +87,6 @@ function projectSubmissionProjection(raw) {
|
|
|
88
87
|
return Object.keys(out).length > 0 ? out : void 0;
|
|
89
88
|
}
|
|
90
89
|
export {
|
|
91
|
-
COLLECTOR_ACCEPTED_TEXT,
|
|
92
90
|
COLLECTOR_HOST,
|
|
93
91
|
COLLECTOR_OUTPUT_TOOL,
|
|
94
92
|
validateAcceptedCollectorReceipt
|
|
@@ -2,7 +2,6 @@ import { Type } from "typebox";
|
|
|
2
2
|
import { openToolObjectFromUnion } from "../open-tool-schema.js";
|
|
3
3
|
import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.js";
|
|
4
4
|
const FIXER_OUTPUT_TOOL_NAME = "ak_fixer_output";
|
|
5
|
-
const FIXER_ACCEPTED_TEXT = "\u4FEE\u5185\u53F8\u56DE\u6267\u5DF2\u63A5\u53D7";
|
|
6
5
|
const transportString = Type.String();
|
|
7
6
|
const authorityBlockerSchema = Type.Object({ cause: Type.Optional(Type.Literal("authority_violation")), evidence: Type.Optional(transportString) });
|
|
8
7
|
const prerequisiteBlockerSchema = Type.Object({ cause: Type.Optional(Type.Literal("prerequisite_unmet")), prerequisiteId: Type.Optional(transportString), evidence: Type.Optional(transportString) });
|
|
@@ -44,7 +43,6 @@ function validateFixerOutput(value, _phase) {
|
|
|
44
43
|
return value;
|
|
45
44
|
}
|
|
46
45
|
export {
|
|
47
|
-
FIXER_ACCEPTED_TEXT,
|
|
48
46
|
FIXER_OUTPUT_TOOL_NAME,
|
|
49
47
|
fixerOutputSchema,
|
|
50
48
|
validateFixerOutput
|
|
@@ -2,7 +2,6 @@ import { Type } from "typebox";
|
|
|
2
2
|
import { openToolObject } from "../open-tool-schema.js";
|
|
3
3
|
import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.js";
|
|
4
4
|
const GATEKEEPER_OUTPUT_TOOL_NAME = "ak_gatekeeper_output";
|
|
5
|
-
const GATEKEEPER_ACCEPTED_TEXT = "\u95E8\u4E0B\u7701\u51B3\u8BAE\u5DF2\u53D7\u7406";
|
|
6
5
|
const gatekeeperDecisionSchema = openToolObject(
|
|
7
6
|
Type.Object({
|
|
8
7
|
status: Type.Unknown({
|
|
@@ -34,7 +33,6 @@ function validateRecordedGatekeeperOutput(value) {
|
|
|
34
33
|
return value;
|
|
35
34
|
}
|
|
36
35
|
export {
|
|
37
|
-
GATEKEEPER_ACCEPTED_TEXT,
|
|
38
36
|
GATEKEEPER_OUTPUT_TOOL_NAME,
|
|
39
37
|
gatekeeperDecisionSchema,
|
|
40
38
|
gatekeeperOutputSchema,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
const JUDGE_OUTPUT_TOOL_NAME = "ak_judge_output";
|
|
2
|
-
const JUDGE_ACCEPTED_TEXT = "\u5927\u7406\u5BFA\u56DE\u6267\u5DF2\u63A5\u53D7";
|
|
3
2
|
function validateAcceptedJudgeDetails(verdict) {
|
|
4
3
|
if (verdict === null || typeof verdict !== "object" || Array.isArray(verdict)) throw new Error("Judge verdict has no execution discriminator");
|
|
5
4
|
let judgeStatus;
|
|
@@ -17,7 +16,6 @@ function validateAcceptedJudgeDetails(verdict) {
|
|
|
17
16
|
throw new Error("Judge verdict has no execution discriminator");
|
|
18
17
|
}
|
|
19
18
|
export {
|
|
20
|
-
JUDGE_ACCEPTED_TEXT,
|
|
21
19
|
JUDGE_OUTPUT_TOOL_NAME,
|
|
22
20
|
validateAcceptedJudgeDetails
|
|
23
21
|
};
|
|
@@ -2,7 +2,6 @@ import { Type } from "typebox";
|
|
|
2
2
|
import { openToolObject } from "../open-tool-schema.js";
|
|
3
3
|
import { withTerminatingOutputDeclarations } from "./terminating-infrastructure.js";
|
|
4
4
|
const NAVIGATOR_OUTPUT_TOOL_NAME = "ak_navigator_output";
|
|
5
|
-
const NAVIGATOR_ACCEPTED_TEXT = "\u6E38\u5955\u4F7F\u5EFA\u8BAE\u5DF2\u53D7\u7406";
|
|
6
5
|
const navigatorOutputSchema = withTerminatingOutputDeclarations(
|
|
7
6
|
openToolObject(
|
|
8
7
|
Type.Object({
|
|
@@ -45,7 +44,6 @@ function navigatorProseFromUnknown(value) {
|
|
|
45
44
|
return trimmed === "" ? void 0 : projected.prose;
|
|
46
45
|
}
|
|
47
46
|
export {
|
|
48
|
-
NAVIGATOR_ACCEPTED_TEXT,
|
|
49
47
|
NAVIGATOR_OUTPUT_TOOL_NAME,
|
|
50
48
|
navigatorOutputSchema,
|
|
51
49
|
navigatorProseFromUnknown,
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
const REVIEWER_OUTPUT_TOOL_NAME = "ak_reviewer_output";
|
|
2
|
-
const REVIEWER_ACCEPTED_TEXT = "\u5FA1\u53F2\u53F0\u56DE\u6267\u5DF2\u63A5\u53D7";
|
|
3
2
|
function validateReviewerIntent(output) {
|
|
4
3
|
return output;
|
|
5
4
|
}
|
|
6
5
|
export {
|
|
7
|
-
REVIEWER_ACCEPTED_TEXT,
|
|
8
6
|
REVIEWER_OUTPUT_TOOL_NAME,
|
|
9
7
|
validateReviewerIntent
|
|
10
8
|
};
|
|
@@ -2,80 +2,28 @@
|
|
|
2
2
|
* Package-owned terminating tool registry.
|
|
3
3
|
* Package roles share these terminating leaves.
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { COLLECTOR_OUTPUT_TOOL, validateAcceptedCollectorReceipt, } from "./collector-output.js";
|
|
6
|
+
import { JUDGE_OUTPUT_TOOL_NAME, validateAcceptedJudgeDetails, } from "./judge-output.js";
|
|
7
|
+
import { REVIEWER_OUTPUT_TOOL_NAME, validateReviewerIntent, } from "./reviewer-output.js";
|
|
8
|
+
import { PACKAGED_ROLE_REGISTRY } from "../packaged-role-registry.js";
|
|
8
9
|
import { CorrectableSubmissionError } from "../submission-correctable-error.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
export {
|
|
22
|
-
export const TERMINATING_TOOL_NAMES =
|
|
23
|
-
CODER_OUTPUT_TOOL_NAME,
|
|
24
|
-
FIXER_OUTPUT_TOOL_NAME,
|
|
25
|
-
REVIEWER_OUTPUT_TOOL_NAME,
|
|
26
|
-
JUDGE_OUTPUT_TOOL_NAME,
|
|
27
|
-
COLLECTOR_OUTPUT_TOOL,
|
|
28
|
-
DOCTOR_OUTPUT_TOOL_NAME,
|
|
29
|
-
MERGER_OUTPUT_TOOL_NAME,
|
|
30
|
-
NOTARY_OUTPUT_TOOL_NAME,
|
|
31
|
-
COUNTERSIGN_OUTPUT_TOOL_NAME,
|
|
32
|
-
GLEANER_LEFT_OUTPUT_TOOL_NAME,
|
|
33
|
-
INSPECTOR_OUTPUT_TOOL_NAME,
|
|
34
|
-
GATEKEEPER_OUTPUT_TOOL_NAME,
|
|
35
|
-
NAVIGATOR_OUTPUT_TOOL_NAME,
|
|
36
|
-
AUDITOR_OUTPUT_TOOL_NAME,
|
|
37
|
-
DIARIST_OUTPUT_TOOL_NAME,
|
|
38
|
-
SECRETARIAT_OUTPUT_TOOL_NAME,
|
|
39
|
-
];
|
|
10
|
+
import { DOCTOR_OUTPUT_TOOL_NAME, validateDoctorSubmissionShape, validateRecordedDoctorOutput } from "../doctor-contracts.js";
|
|
11
|
+
import { GATEKEEPER_OUTPUT_TOOL_NAME, validateRecordedGatekeeperOutput } from "./gatekeeper-output.js";
|
|
12
|
+
import { NAVIGATOR_OUTPUT_TOOL_NAME, validateRecordedNavigatorOutput } from "./navigator-output.js";
|
|
13
|
+
import { AUDITOR_OUTPUT_TOOL_NAME, validateRecordedAuditorOutput } from "./auditor-output.js";
|
|
14
|
+
import { MERGER_OUTPUT_TOOL_NAME, validateMergerOutput } from "../merger-contracts.js";
|
|
15
|
+
import { NOTARY_OUTPUT_TOOL_NAME, validateRecordedNotaryOutput } from "../notary-contracts.js";
|
|
16
|
+
import { COUNTERSIGN_OUTPUT_TOOL_NAME, validateRecordedCountersignOutput } from "../countersign-contracts.js";
|
|
17
|
+
import { GLEANER_LEFT_OUTPUT_TOOL_NAME, validateRecordedGleanerLeftOutput } from "../gleaner-left-contracts.js";
|
|
18
|
+
import { INSPECTOR_OUTPUT_TOOL_NAME, validateRecordedInspectorOutput } from "../inspector-contracts.js";
|
|
19
|
+
import { DIARIST_OUTPUT_TOOL_NAME, validateRecordedDiaristOutput } from "../diarist-contracts.js";
|
|
20
|
+
import { SECRETARIAT_OUTPUT_TOOL_NAME } from "../secretariat-contracts.js";
|
|
21
|
+
import { CODER_OUTPUT_TOOL_NAME, FIXER_OUTPUT_TOOL_NAME, validateAcceptedWorkerDetails, } from "./worker-output.js";
|
|
22
|
+
export { CODER_OUTPUT_TOOL_NAME, COLLECTOR_OUTPUT_TOOL, FIXER_OUTPUT_TOOL_NAME, JUDGE_OUTPUT_TOOL_NAME, REVIEWER_OUTPUT_TOOL_NAME, MERGER_OUTPUT_TOOL_NAME, validateAcceptedCollectorReceipt, validateAcceptedJudgeDetails, validateReviewerIntent, validateAcceptedWorkerDetails, validateDoctorSubmissionShape, validateRecordedDoctorOutput, validateMergerOutput, validateRecordedNotaryOutput, validateRecordedCountersignOutput, validateRecordedGleanerLeftOutput, validateRecordedInspectorOutput, validateRecordedGatekeeperOutput, validateRecordedNavigatorOutput, validateRecordedAuditorOutput, validateRecordedDiaristOutput, };
|
|
23
|
+
export const TERMINATING_TOOL_NAMES = PACKAGED_ROLE_REGISTRY.map((entry) => entry.outputTool);
|
|
40
24
|
export function isTerminatingToolName(name) {
|
|
41
25
|
return TERMINATING_TOOL_NAMES.includes(name);
|
|
42
26
|
}
|
|
43
|
-
export function acceptedTextFor(toolName) {
|
|
44
|
-
switch (toolName) {
|
|
45
|
-
case CODER_OUTPUT_TOOL_NAME:
|
|
46
|
-
return CODER_ACCEPTED_TEXT;
|
|
47
|
-
case FIXER_OUTPUT_TOOL_NAME:
|
|
48
|
-
return FIXER_ACCEPTED_TEXT;
|
|
49
|
-
case REVIEWER_OUTPUT_TOOL_NAME:
|
|
50
|
-
return REVIEWER_ACCEPTED_TEXT;
|
|
51
|
-
case JUDGE_OUTPUT_TOOL_NAME:
|
|
52
|
-
return JUDGE_ACCEPTED_TEXT;
|
|
53
|
-
case COLLECTOR_OUTPUT_TOOL:
|
|
54
|
-
return COLLECTOR_ACCEPTED_TEXT;
|
|
55
|
-
case DOCTOR_OUTPUT_TOOL_NAME:
|
|
56
|
-
return DOCTOR_ACCEPTED_TEXT;
|
|
57
|
-
case MERGER_OUTPUT_TOOL_NAME:
|
|
58
|
-
return MERGER_ACCEPTED_TEXT;
|
|
59
|
-
case NOTARY_OUTPUT_TOOL_NAME:
|
|
60
|
-
return NOTARY_ACCEPTED_TEXT;
|
|
61
|
-
case COUNTERSIGN_OUTPUT_TOOL_NAME:
|
|
62
|
-
return COUNTERSIGN_ACCEPTED_TEXT;
|
|
63
|
-
case GLEANER_LEFT_OUTPUT_TOOL_NAME:
|
|
64
|
-
return GLEANER_LEFT_ACCEPTED_TEXT;
|
|
65
|
-
case INSPECTOR_OUTPUT_TOOL_NAME:
|
|
66
|
-
return INSPECTOR_ACCEPTED_TEXT;
|
|
67
|
-
case GATEKEEPER_OUTPUT_TOOL_NAME:
|
|
68
|
-
return GATEKEEPER_ACCEPTED_TEXT;
|
|
69
|
-
case NAVIGATOR_OUTPUT_TOOL_NAME:
|
|
70
|
-
return NAVIGATOR_ACCEPTED_TEXT;
|
|
71
|
-
case AUDITOR_OUTPUT_TOOL_NAME:
|
|
72
|
-
return AUDITOR_ACCEPTED_TEXT;
|
|
73
|
-
case DIARIST_OUTPUT_TOOL_NAME:
|
|
74
|
-
return DIARIST_ACCEPTED_TEXT;
|
|
75
|
-
case SECRETARIAT_OUTPUT_TOOL_NAME:
|
|
76
|
-
return SECRETARIAT_ACCEPTED_TEXT;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
27
|
export class AcceptedDetailsContractError extends CorrectableSubmissionError {
|
|
80
28
|
code = "accepted_details_contract";
|
|
81
29
|
constructor(message, options) {
|
|
@@ -103,28 +51,20 @@ export function validateAcceptedLifecycle(toolName, _argumentsValue, detailsValu
|
|
|
103
51
|
/** Read status/commit leaves the role wrote — never invent defaults (#836). */
|
|
104
52
|
export function acceptedFacts(toolName, details) {
|
|
105
53
|
const record = details;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
case COLLECTOR_OUTPUT_TOOL:
|
|
123
|
-
// Collector has no status leaf — do not invent "collected".
|
|
124
|
-
return typeof record.status === "string" ? { status: record.status } : {};
|
|
125
|
-
default:
|
|
126
|
-
return typeof record.status === "string" ? { status: record.status } : {};
|
|
127
|
-
}
|
|
54
|
+
const entry = PACKAGED_ROLE_REGISTRY.find((candidate) => candidate.outputTool === toolName);
|
|
55
|
+
const statusKey = entry !== undefined && "receiptStatusKey" in entry ? entry.receiptStatusKey : "status";
|
|
56
|
+
const status = typeof record[statusKey] === "string" ? record[statusKey] : undefined;
|
|
57
|
+
const commitKey = entry !== undefined && "receiptCommitKey" in entry ? entry.receiptCommitKey : undefined;
|
|
58
|
+
const commitWhen = entry !== undefined && "receiptCommitWhen" in entry ? entry.receiptCommitWhen : undefined;
|
|
59
|
+
const commit = commitKey !== undefined
|
|
60
|
+
&& status === commitWhen
|
|
61
|
+
&& typeof record[commitKey] === "string"
|
|
62
|
+
? record[commitKey]
|
|
63
|
+
: undefined;
|
|
64
|
+
return {
|
|
65
|
+
...(status === undefined ? {} : { status }),
|
|
66
|
+
...(commit === undefined ? {} : { commit }),
|
|
67
|
+
};
|
|
128
68
|
}
|
|
129
69
|
/** Deep structural equality for lifecycle agreement checks. */
|
|
130
70
|
export function deepEqual(a, b) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
FIXER_ACCEPTED_TEXT,
|
|
3
2
|
FIXER_OUTPUT_TOOL_NAME,
|
|
4
3
|
fixerOutputSchema,
|
|
5
4
|
validateFixerOutput
|
|
@@ -7,7 +6,6 @@ import {
|
|
|
7
6
|
import { fixerPrerequisiteSchema, fixerPrerequisitesSchema, parseFixerPrerequisites, validateFixerPrerequisites } from "./fixer-packet.js";
|
|
8
7
|
import { validateFixerOutput as validateFixerOutput2 } from "./fixer-output.js";
|
|
9
8
|
const CODER_OUTPUT_TOOL_NAME = "ak_coder_output";
|
|
10
|
-
const CODER_ACCEPTED_TEXT = "\u5C06\u4F5C\u76D1\u56DE\u6267\u5DF2\u63A5\u53D7";
|
|
11
9
|
function validateAcceptedCoderDetails(output) {
|
|
12
10
|
return output;
|
|
13
11
|
}
|
|
@@ -15,9 +13,7 @@ function validateAcceptedWorkerDetails(output, roleLabel = "Coder") {
|
|
|
15
13
|
return roleLabel === "Fixer" ? validateFixerOutput2(output) : validateAcceptedCoderDetails(output);
|
|
16
14
|
}
|
|
17
15
|
export {
|
|
18
|
-
CODER_ACCEPTED_TEXT,
|
|
19
16
|
CODER_OUTPUT_TOOL_NAME,
|
|
20
|
-
FIXER_ACCEPTED_TEXT,
|
|
21
17
|
FIXER_OUTPUT_TOOL_NAME,
|
|
22
18
|
fixerOutputSchema,
|
|
23
19
|
fixerPrerequisiteSchema,
|