@akagilnc/pi-workflow-roles 0.1.3648 → 0.1.3652
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 +2919 -1750
- package/dist/activation-ledger-session.js +105 -0
- package/dist/activation-ledger.js +139 -0
- package/dist/activation-trace.js +33 -0
- package/dist/agent-start-materials.js +11 -0
- package/dist/auditor-role.js +12 -0
- package/dist/canonical-skill-binding.js +64 -0
- package/dist/collector-identity.js +151 -0
- package/dist/collector-receipt.js +95 -0
- package/dist/collector-role.js +441 -0
- package/dist/countersign-role.js +28 -0
- package/dist/diarist-role.js +29 -0
- package/dist/doctor-role.js +74 -0
- package/dist/fixer-bash-seatbelt.js +13 -0
- package/dist/gatekeeper-pass-envelope.js +72 -0
- package/dist/gleaner-left-role.js +26 -0
- package/dist/inspector-role.js +29 -0
- package/dist/judge-role.js +106 -0
- package/dist/merger-role.js +66 -0
- package/dist/navigator-role.js +12 -0
- package/dist/notary-role.js +137 -0
- package/dist/oauth-keepalive.js +158 -0
- package/dist/package-contracts/terminating-tools.js +2 -16
- package/dist/packaged-role-registry.js +1 -18
- package/dist/pi/adapter.js +211 -0
- package/dist/pi/role-turn-host.js +0 -2
- package/dist/public-cli/instruction-seat-run.js +2 -6
- package/dist/public-cli/invocation.js +0 -7
- package/dist/public-cli/main.js +94 -191
- package/dist/public-cli/option-definitions.js +0 -14
- package/dist/public-cli/registry.js +1 -2
- package/dist/public-cli/run-lifecycle.js +1 -3
- package/dist/public-cli/settlement.js +0 -10
- package/dist/public-role-summons.js +0 -14
- package/dist/reviewer-child-executor.js +163 -70
- package/dist/reviewer-construction.js +2 -2
- package/dist/reviewer-role.js +159 -0
- package/dist/reviewer-settlement.js +66 -0
- package/dist/role-runtime.js +1394 -0
- package/dist/stderr-jsonl.js +26 -0
- package/dist/tool-execution-observation.js +141 -0
- package/dist/worker-role.js +343 -0
- package/dist/worker-submission-gates.js +305 -0
- package/extensions/role-runtime.ts +1 -2
- package/package.json +1 -1
- package/src/acp-host/production-host.ts +0 -1
- package/src/host-contracts.ts +0 -2
- package/src/package-contracts/terminating-tools.ts +1 -19
- package/src/packaged-role-registry.ts +1 -19
- package/src/pi/role-turn-host.ts +0 -2
- package/src/public-cli/cli.ts +1 -5
- package/src/public-cli/instruction-seat-run.ts +5 -14
- package/src/public-cli/invocation.ts +3 -21
- package/src/public-cli/option-definitions.ts +0 -16
- package/src/public-cli/registry.ts +1 -2
- package/src/public-cli/run-lifecycle.ts +0 -6
- package/src/public-cli/settlement.ts +0 -32
- package/src/public-cli/terminal.ts +0 -1
- package/src/public-role-summons.ts +0 -15
- package/src/reviewer-child-executor.ts +199 -98
- package/src/reviewer-construction.ts +3 -3
- package/src/role-runtime.ts +1 -33
- package/dist/package-contracts/evidence-child-output.js +0 -31
- package/souls/evidence-child.md +0 -1
- package/src/evidence-child-role.ts +0 -22
- package/src/package-contracts/evidence-child-output.ts +0 -46
package/dist/public-cli/main.js
CHANGED
|
@@ -15044,41 +15044,6 @@ var init_auditor_output = __esm({
|
|
|
15044
15044
|
}
|
|
15045
15045
|
});
|
|
15046
15046
|
|
|
15047
|
-
// src/package-contracts/evidence-child-output.ts
|
|
15048
|
-
function isRecord7(value) {
|
|
15049
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
15050
|
-
}
|
|
15051
|
-
function projectLawfulEvidenceChildOutput(value) {
|
|
15052
|
-
if (!isRecord7(value)) return void 0;
|
|
15053
|
-
return { report: Object.hasOwn(value, "report") ? value.report : value };
|
|
15054
|
-
}
|
|
15055
|
-
function validateRecordedEvidenceChildOutput(value) {
|
|
15056
|
-
const projected = projectLawfulEvidenceChildOutput(value);
|
|
15057
|
-
if (projected === void 0) {
|
|
15058
|
-
throw new Error("Evidence-child output is not an object");
|
|
15059
|
-
}
|
|
15060
|
-
return projected;
|
|
15061
|
-
}
|
|
15062
|
-
var EVIDENCE_CHILD_OUTPUT_TOOL_NAME, evidenceChildOutputSchema;
|
|
15063
|
-
var init_evidence_child_output = __esm({
|
|
15064
|
-
"src/package-contracts/evidence-child-output.ts"() {
|
|
15065
|
-
"use strict";
|
|
15066
|
-
init_build();
|
|
15067
|
-
init_open_tool_schema();
|
|
15068
|
-
init_terminating_infrastructure();
|
|
15069
|
-
EVIDENCE_CHILD_OUTPUT_TOOL_NAME = "ak_evidence_child_output";
|
|
15070
|
-
evidenceChildOutputSchema = withInfrastructureFailureDeclaration(
|
|
15071
|
-
openToolObject(
|
|
15072
|
-
typebox_exports.Object({
|
|
15073
|
-
report: typebox_exports.Unknown({
|
|
15074
|
-
description: "\u53D6\u8BC1\u62A5\u544A\u6B63\u6587 \u2014 \u5F62\u72B6\u6307\u5F15\uFF0C\u975E schema \u95F8"
|
|
15075
|
-
})
|
|
15076
|
-
})
|
|
15077
|
-
)
|
|
15078
|
-
);
|
|
15079
|
-
}
|
|
15080
|
-
});
|
|
15081
|
-
|
|
15082
15047
|
// src/diarist-contracts.ts
|
|
15083
15048
|
function validateRecordedDiaristOutput(value) {
|
|
15084
15049
|
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
@@ -15114,7 +15079,7 @@ var init_diarist_contracts = __esm({
|
|
|
15114
15079
|
function packagedRoleMetadata(role) {
|
|
15115
15080
|
return PACKAGED_ROLE_REGISTRY.find((entry) => entry.role === role);
|
|
15116
15081
|
}
|
|
15117
|
-
var NOTARY_SESSION_MATERIALS, INSPECTOR_SESSION_MATERIALS, AUDITOR_PUBLIC_SESSION_MATERIALS,
|
|
15082
|
+
var NOTARY_SESSION_MATERIALS, INSPECTOR_SESSION_MATERIALS, AUDITOR_PUBLIC_SESSION_MATERIALS, PUBLIC_ROLE_RECORDS, PACKAGED_ROLE_REGISTRY;
|
|
15118
15083
|
var init_packaged_role_registry = __esm({
|
|
15119
15084
|
"src/packaged-role-registry.ts"() {
|
|
15120
15085
|
"use strict";
|
|
@@ -15131,7 +15096,6 @@ var init_packaged_role_registry = __esm({
|
|
|
15131
15096
|
init_gleaner_left_contracts();
|
|
15132
15097
|
init_inspector_contracts();
|
|
15133
15098
|
init_auditor_output();
|
|
15134
|
-
init_evidence_child_output();
|
|
15135
15099
|
init_diarist_contracts();
|
|
15136
15100
|
NOTARY_SESSION_MATERIALS = [
|
|
15137
15101
|
"CLAUDE.md",
|
|
@@ -15153,12 +15117,6 @@ var init_packaged_role_registry = __esm({
|
|
|
15153
15117
|
"souls/audit-law.md",
|
|
15154
15118
|
"souls/quality-law.md"
|
|
15155
15119
|
];
|
|
15156
|
-
EVIDENCE_CHILD_SESSION_MATERIALS = [
|
|
15157
|
-
"CLAUDE.md",
|
|
15158
|
-
"souls/evidence-child.md",
|
|
15159
|
-
"souls/audit-law.md",
|
|
15160
|
-
"souls/quality-law.md"
|
|
15161
|
-
];
|
|
15162
15120
|
PUBLIC_ROLE_RECORDS = [
|
|
15163
15121
|
{
|
|
15164
15122
|
role: "judge",
|
|
@@ -15312,7 +15270,7 @@ var init_packaged_role_registry = __esm({
|
|
|
15312
15270
|
activationStage: "load-and-install",
|
|
15313
15271
|
sessionMaterials: ["CLAUDE.md", "souls/navigator.md"]
|
|
15314
15272
|
},
|
|
15315
|
-
// #675: 审刑院
|
|
15273
|
+
// #675: 审刑院 is a role like any other — public ak-role entry. (#744: evidence-child deleted)
|
|
15316
15274
|
{
|
|
15317
15275
|
role: "auditor",
|
|
15318
15276
|
phases: [null],
|
|
@@ -15322,15 +15280,6 @@ var init_packaged_role_registry = __esm({
|
|
|
15322
15280
|
activationStage: "load-and-install",
|
|
15323
15281
|
sessionMaterials: AUDITOR_PUBLIC_SESSION_MATERIALS
|
|
15324
15282
|
},
|
|
15325
|
-
{
|
|
15326
|
-
role: "evidence-child",
|
|
15327
|
-
phases: [null],
|
|
15328
|
-
outputTool: EVIDENCE_CHILD_OUTPUT_TOOL_NAME,
|
|
15329
|
-
inputFlag: void 0,
|
|
15330
|
-
phaseFlag: void 0,
|
|
15331
|
-
activationStage: "load-and-install",
|
|
15332
|
-
sessionMaterials: EVIDENCE_CHILD_SESSION_MATERIALS
|
|
15333
|
-
},
|
|
15334
15283
|
// #708 / ADR 0075 `diarist-is-role`: 起居郎 is a seat like any other. The
|
|
15335
15284
|
// frozen source catalog rides the shared input-flag seam; it is absent for a
|
|
15336
15285
|
// true-unbound summons (no ticket → no diary).
|
|
@@ -15458,9 +15407,8 @@ var init_registry2 = __esm({
|
|
|
15458
15407
|
{ provider: "openai-codex", model: "gpt-5.6-luna", thinking: "medium" },
|
|
15459
15408
|
{ provider: "xai", model: "grok-4.5", thinking: "high" }
|
|
15460
15409
|
],
|
|
15461
|
-
// #675: auditor
|
|
15410
|
+
// #675: auditor public seat — no package startup; caller configures.
|
|
15462
15411
|
auditor: [],
|
|
15463
|
-
"evidence-child": [],
|
|
15464
15412
|
// #708 `diarist-seat-default`: owner-set initial value; changed in the seat
|
|
15465
15413
|
// table like any other seat. No engine axis, package-default host.
|
|
15466
15414
|
diarist: [{ provider: "xai", model: "grok-4.5", thinking: "medium" }]
|
|
@@ -16198,7 +16146,7 @@ import {
|
|
|
16198
16146
|
writeFileSync
|
|
16199
16147
|
} from "node:fs";
|
|
16200
16148
|
import { basename as basename3, dirname as dirname5, join as join8, resolve as resolve3 } from "node:path";
|
|
16201
|
-
function
|
|
16149
|
+
function isRecord7(value) {
|
|
16202
16150
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
16203
16151
|
}
|
|
16204
16152
|
function errorCodeOf(error) {
|
|
@@ -16226,7 +16174,7 @@ function findIdentityPointer(recordFile, identity, kind, level) {
|
|
|
16226
16174
|
if (!trimmed) continue;
|
|
16227
16175
|
try {
|
|
16228
16176
|
const parsed = JSON.parse(trimmed);
|
|
16229
|
-
if (
|
|
16177
|
+
if (isRecord7(parsed) && parsed.identity === identity) {
|
|
16230
16178
|
return { identity, recordFile, kind, level };
|
|
16231
16179
|
}
|
|
16232
16180
|
} catch {
|
|
@@ -16414,7 +16362,7 @@ var init_sitian_appender = __esm({
|
|
|
16414
16362
|
// src/sitian-reader.ts
|
|
16415
16363
|
import { existsSync as existsSync5 } from "node:fs";
|
|
16416
16364
|
import { readFile as readFile2 } from "node:fs/promises";
|
|
16417
|
-
function
|
|
16365
|
+
function isRecord8(value) {
|
|
16418
16366
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
16419
16367
|
}
|
|
16420
16368
|
async function readSitianRecords(recordFile) {
|
|
@@ -16430,7 +16378,7 @@ async function readSitianRecords(recordFile) {
|
|
|
16430
16378
|
if (!line2.trim()) continue;
|
|
16431
16379
|
try {
|
|
16432
16380
|
const parsed = JSON.parse(line2);
|
|
16433
|
-
if (
|
|
16381
|
+
if (isRecord8(parsed)) {
|
|
16434
16382
|
records2.push(parsed);
|
|
16435
16383
|
} else {
|
|
16436
16384
|
const typeDesc = parsed === null ? "null" : Array.isArray(parsed) ? "array" : typeof parsed;
|
|
@@ -16567,8 +16515,6 @@ function buildActivationFlagArgs(activation) {
|
|
|
16567
16515
|
return ["--ak-role", "navigator"];
|
|
16568
16516
|
case "auditor":
|
|
16569
16517
|
return ["--ak-role", "auditor"];
|
|
16570
|
-
case "evidence-child":
|
|
16571
|
-
return ["--ak-role", "evidence-child"];
|
|
16572
16518
|
case "diarist":
|
|
16573
16519
|
return [
|
|
16574
16520
|
"--ak-role",
|
|
@@ -16939,14 +16885,12 @@ function validateAcceptedDetails(toolName, details) {
|
|
|
16939
16885
|
[GATEKEEPER_OUTPUT_TOOL_NAME]: ["dispatch", "pass"],
|
|
16940
16886
|
[NAVIGATOR_OUTPUT_TOOL_NAME]: ["advice"],
|
|
16941
16887
|
[AUDITOR_OUTPUT_TOOL_NAME]: ["pass", "bounce", "escalate"],
|
|
16942
|
-
[EVIDENCE_CHILD_OUTPUT_TOOL_NAME]: [],
|
|
16943
16888
|
[DIARIST_OUTPUT_TOOL_NAME]: ["completed"]
|
|
16944
16889
|
};
|
|
16945
16890
|
const collectorDiscriminator = toolName === COLLECTOR_OUTPUT_TOOL && Array.isArray(candidate?.groups);
|
|
16946
|
-
const evidenceChildDiscriminator = toolName === EVIDENCE_CHILD_OUTPUT_TOOL_NAME && candidate !== null && typeof candidate === "object" && !Array.isArray(candidate);
|
|
16947
16891
|
const baseDiscriminator = discriminator;
|
|
16948
16892
|
const runtimeBindingMissing = toolName === DOCTOR_OUTPUT_TOOL_NAME && baseDiscriminator === "completed" && !(candidate?.cost !== null && typeof candidate?.cost === "object") || toolName === REVIEWER_OUTPUT_TOOL_NAME && candidate?.version !== 2;
|
|
16949
|
-
if (runtimeBindingMissing || !collectorDiscriminator &&
|
|
16893
|
+
if (runtimeBindingMissing || !collectorDiscriminator && (typeof discriminator !== "string" || !lawfulStatuses[toolName].includes(baseDiscriminator))) {
|
|
16950
16894
|
throw new AcceptedDetailsContractError("terminating receipt has no recognized execution discriminator");
|
|
16951
16895
|
}
|
|
16952
16896
|
try {
|
|
@@ -16979,8 +16923,6 @@ function validateAcceptedDetails(toolName, details) {
|
|
|
16979
16923
|
return validateRecordedNavigatorOutput(details);
|
|
16980
16924
|
case AUDITOR_OUTPUT_TOOL_NAME:
|
|
16981
16925
|
return validateRecordedAuditorOutput(details);
|
|
16982
|
-
case EVIDENCE_CHILD_OUTPUT_TOOL_NAME:
|
|
16983
|
-
return validateRecordedEvidenceChildOutput(details);
|
|
16984
16926
|
case DIARIST_OUTPUT_TOOL_NAME:
|
|
16985
16927
|
return validateRecordedDiaristOutput(details);
|
|
16986
16928
|
}
|
|
@@ -17002,8 +16944,6 @@ function acceptedFacts(toolName, details) {
|
|
|
17002
16944
|
case NAVIGATOR_OUTPUT_TOOL_NAME:
|
|
17003
16945
|
case AUDITOR_OUTPUT_TOOL_NAME:
|
|
17004
16946
|
return { status: details.status };
|
|
17005
|
-
case EVIDENCE_CHILD_OUTPUT_TOOL_NAME:
|
|
17006
|
-
return { status: "report" };
|
|
17007
16947
|
case DIARIST_OUTPUT_TOOL_NAME:
|
|
17008
16948
|
return { status: details.status };
|
|
17009
16949
|
case JUDGE_OUTPUT_TOOL_NAME:
|
|
@@ -17032,7 +16972,6 @@ var init_terminating_tools = __esm({
|
|
|
17032
16972
|
init_gatekeeper_output();
|
|
17033
16973
|
init_navigator_output();
|
|
17034
16974
|
init_auditor_output();
|
|
17035
|
-
init_evidence_child_output();
|
|
17036
16975
|
init_merger_contracts();
|
|
17037
16976
|
init_notary_contracts();
|
|
17038
16977
|
init_countersign_contracts();
|
|
@@ -17055,7 +16994,6 @@ var init_terminating_tools = __esm({
|
|
|
17055
16994
|
GATEKEEPER_OUTPUT_TOOL_NAME,
|
|
17056
16995
|
NAVIGATOR_OUTPUT_TOOL_NAME,
|
|
17057
16996
|
AUDITOR_OUTPUT_TOOL_NAME,
|
|
17058
|
-
EVIDENCE_CHILD_OUTPUT_TOOL_NAME,
|
|
17059
16997
|
DIARIST_OUTPUT_TOOL_NAME
|
|
17060
16998
|
];
|
|
17061
16999
|
AcceptedDetailsContractError = class extends CorrectableSubmissionError {
|
|
@@ -17553,7 +17491,7 @@ async function readRoleRunStateDisk(runDirectory) {
|
|
|
17553
17491
|
if (typeof record4.runId !== "string" || record4.runId.trim() === "") {
|
|
17554
17492
|
return void 0;
|
|
17555
17493
|
}
|
|
17556
|
-
if (record4.role !== "judge" && record4.role !== "coder" && record4.role !== "fixer" && record4.role !== "collector" && record4.role !== "doctor" && record4.role !== "reviewer" && record4.role !== "merger" && record4.role !== "notary" && record4.role !== "countersign" && record4.role !== "gleaner-left" && record4.role !== "inspector" && record4.role !== "gatekeeper" && record4.role !== "navigator" && record4.role !== "auditor" && record4.role !== "
|
|
17494
|
+
if (record4.role !== "judge" && record4.role !== "coder" && record4.role !== "fixer" && record4.role !== "collector" && record4.role !== "doctor" && record4.role !== "reviewer" && record4.role !== "merger" && record4.role !== "notary" && record4.role !== "countersign" && record4.role !== "gleaner-left" && record4.role !== "inspector" && record4.role !== "gatekeeper" && record4.role !== "navigator" && record4.role !== "auditor" && record4.role !== "diarist") {
|
|
17557
17495
|
return void 0;
|
|
17558
17496
|
}
|
|
17559
17497
|
if (record4.state !== "admitted" && record4.state !== "running" && record4.state !== "resumable" && record4.state !== "terminal") {
|
|
@@ -18372,7 +18310,7 @@ async function loadResumableCountersignRun(home, runId, authority) {
|
|
|
18372
18310
|
}
|
|
18373
18311
|
async function loadResumableInstructionSeatRun(home, runId, authority) {
|
|
18374
18312
|
const loaded = await loadResumableRunRecord(home, runId, authority);
|
|
18375
|
-
if (loaded.run.role !== "gatekeeper" && loaded.run.role !== "navigator" && loaded.run.role !== "auditor"
|
|
18313
|
+
if (loaded.run.role !== "gatekeeper" && loaded.run.role !== "navigator" && loaded.run.role !== "auditor") {
|
|
18376
18314
|
throw new CliUsageError(
|
|
18377
18315
|
`role run ${runId} belongs to ${loaded.run.role}, not an instruction seat`
|
|
18378
18316
|
);
|
|
@@ -18964,7 +18902,7 @@ function renderHumanOwnerOptionLines(owner, locale2 = "en") {
|
|
|
18964
18902
|
}
|
|
18965
18903
|
return lines;
|
|
18966
18904
|
}
|
|
18967
|
-
var ANALYST_REQUIRE_ANY_OF, ANALYST_DEFAULT_MODE, REJECTED_PUBLIC_SPELLINGS, GLOBAL_OPTIONS, SHARED_PROJECT_SEMANTICS, SHARED_ATTACH_SEMANTICS, JUDGE_OPTIONS, GLEANER_LEFT_OPTIONS, INSPECTOR_OPTIONS, GATEKEEPER_OPTIONS, NAVIGATOR_OPTIONS, AUDITOR_OPTIONS,
|
|
18905
|
+
var ANALYST_REQUIRE_ANY_OF, ANALYST_DEFAULT_MODE, REJECTED_PUBLIC_SPELLINGS, GLOBAL_OPTIONS, SHARED_PROJECT_SEMANTICS, SHARED_ATTACH_SEMANTICS, JUDGE_OPTIONS, GLEANER_LEFT_OPTIONS, INSPECTOR_OPTIONS, GATEKEEPER_OPTIONS, NAVIGATOR_OPTIONS, AUDITOR_OPTIONS, COUNTERSIGN_OPTIONS, DIARIST_OPTIONS, CODER_OPTIONS, FIXER_OPTIONS, REVIEWER_OPTIONS, COLLECTOR_OPTIONS, DOCTOR_OPTIONS, NOTARY_OPTIONS, MERGER_OPTIONS, ANALYST_OPTIONS, PUBLIC_OPTION_TABLE, PUBLIC_NAVIGATOR_HELP_NOTE, TOP_LEVEL_HELP, ROLE_COMMAND_HELP, SUPPORT_COMMAND_HELP, PUBLIC_COMMAND_HELP;
|
|
18968
18906
|
var init_option_definitions = __esm({
|
|
18969
18907
|
"src/public-cli/option-definitions.ts"() {
|
|
18970
18908
|
"use strict";
|
|
@@ -19169,10 +19107,6 @@ var init_option_definitions = __esm({
|
|
|
19169
19107
|
}
|
|
19170
19108
|
}
|
|
19171
19109
|
];
|
|
19172
|
-
EVIDENCE_CHILD_OPTIONS = [
|
|
19173
|
-
bindOwner("evidence-child", SHARED_PROJECT_SEMANTICS),
|
|
19174
|
-
bindOwner("evidence-child", SHARED_ATTACH_SEMANTICS)
|
|
19175
|
-
];
|
|
19176
19110
|
COUNTERSIGN_OPTIONS = [
|
|
19177
19111
|
bindOwner("countersign", SHARED_PROJECT_SEMANTICS),
|
|
19178
19112
|
bindOwner("countersign", SHARED_ATTACH_SEMANTICS)
|
|
@@ -19527,7 +19461,6 @@ var init_option_definitions = __esm({
|
|
|
19527
19461
|
gatekeeper: GATEKEEPER_OPTIONS,
|
|
19528
19462
|
navigator: NAVIGATOR_OPTIONS,
|
|
19529
19463
|
auditor: AUDITOR_OPTIONS,
|
|
19530
|
-
"evidence-child": EVIDENCE_CHILD_OPTIONS,
|
|
19531
19464
|
diarist: DIARIST_OPTIONS,
|
|
19532
19465
|
analyst: ANALYST_OPTIONS
|
|
19533
19466
|
};
|
|
@@ -19656,14 +19589,6 @@ var init_option_definitions = __esm({
|
|
|
19656
19589
|
'ak-role auditor --subject doctor --source-run 01abc\u2026@doctor "\u5BA1\uFF1A\u592A\u533B\u5019\u9009\u662F\u5426\u5408\u89C4\u3002"'
|
|
19657
19590
|
]
|
|
19658
19591
|
},
|
|
19659
|
-
"evidence-child": {
|
|
19660
|
-
command: "evidence-child",
|
|
19661
|
-
summary: "Direct evidence-child fact gathering; submit one report.",
|
|
19662
|
-
usage: ["ak-role evidence-child [options] [instruction]"],
|
|
19663
|
-
examples: [
|
|
19664
|
-
'ak-role evidence-child "\u67E5\uFF1A\u672C\u5DE5\u4F5C\u6811 diff \u4E0E\u7968\u9762\u662F\u5426\u4E00\u81F4\u3002"'
|
|
19665
|
-
]
|
|
19666
|
-
},
|
|
19667
19592
|
diarist: {
|
|
19668
19593
|
command: "diarist",
|
|
19669
19594
|
summary: "Direct Diarist (\u8D77\u5C45\u90CE) pass: gather and organize this case's decision basis into its \u8D77\u5C45\u5F55.",
|
|
@@ -20082,9 +20007,6 @@ function parseNavigatorArgv(args) {
|
|
|
20082
20007
|
function parseAuditorArgv(args) {
|
|
20083
20008
|
return parseInstructionArgv(args, "auditor");
|
|
20084
20009
|
}
|
|
20085
|
-
function parseEvidenceChildArgv(args) {
|
|
20086
|
-
return parseInstructionArgv(args, "evidence-child");
|
|
20087
|
-
}
|
|
20088
20010
|
function parseDiaristArgv(args) {
|
|
20089
20011
|
return parseInstructionArgv(args, "diarist");
|
|
20090
20012
|
}
|
|
@@ -20310,9 +20232,6 @@ async function admitNavigatorInvocation(options) {
|
|
|
20310
20232
|
async function admitAuditorInvocation(options) {
|
|
20311
20233
|
return admitStandardMaterialInvocation("auditor", options);
|
|
20312
20234
|
}
|
|
20313
|
-
async function admitEvidenceChildInvocation(options) {
|
|
20314
|
-
return admitStandardMaterialInvocation("evidence-child", options);
|
|
20315
|
-
}
|
|
20316
20235
|
async function admitDiaristInvocation(options) {
|
|
20317
20236
|
return admitStandardMaterialInvocation("diarist", options);
|
|
20318
20237
|
}
|
|
@@ -21914,11 +21833,11 @@ function resolvePackagedMethodSkillRoot(packageRoot2, name) {
|
|
|
21914
21833
|
function resolvePackagedMethodSkillPath(packageRoot2, name) {
|
|
21915
21834
|
return join15(resolvePackagedMethodSkillRoot(packageRoot2, name), "SKILL.md");
|
|
21916
21835
|
}
|
|
21917
|
-
function
|
|
21836
|
+
function isRecord9(value) {
|
|
21918
21837
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
21919
21838
|
}
|
|
21920
21839
|
function parseProvenance(raw, expectedName) {
|
|
21921
|
-
if (!
|
|
21840
|
+
if (!isRecord9(raw)) {
|
|
21922
21841
|
throw new Error(`Packaged method provenance must be an object for ${expectedName}`);
|
|
21923
21842
|
}
|
|
21924
21843
|
if (raw.name !== expectedName) {
|
|
@@ -21932,7 +21851,7 @@ function parseProvenance(raw, expectedName) {
|
|
|
21932
21851
|
if (typeof raw.packageAdaptation !== "string" || raw.packageAdaptation.trim() === "") {
|
|
21933
21852
|
throw new Error(`Packaged method provenance packageAdaptation must be nonblank`);
|
|
21934
21853
|
}
|
|
21935
|
-
if (!
|
|
21854
|
+
if (!isRecord9(raw.upstream)) {
|
|
21936
21855
|
throw new Error(`Packaged method provenance upstream must be an object`);
|
|
21937
21856
|
}
|
|
21938
21857
|
const upstream = raw.upstream;
|
|
@@ -21959,12 +21878,12 @@ function parseProvenance(raw, expectedName) {
|
|
|
21959
21878
|
`Packaged method provenance upstream must include nonblank tag or version`
|
|
21960
21879
|
);
|
|
21961
21880
|
}
|
|
21962
|
-
if (!
|
|
21881
|
+
if (!isRecord9(raw.files)) {
|
|
21963
21882
|
throw new Error(`Packaged method provenance files must be an object`);
|
|
21964
21883
|
}
|
|
21965
21884
|
const files = {};
|
|
21966
21885
|
for (const [rel, entry] of Object.entries(raw.files)) {
|
|
21967
|
-
if (!
|
|
21886
|
+
if (!isRecord9(entry)) {
|
|
21968
21887
|
throw new Error(`Packaged method provenance file entry must be an object: ${rel}`);
|
|
21969
21888
|
}
|
|
21970
21889
|
if (typeof entry.sha256 !== "string" || !SHA256_RE.test(entry.sha256)) {
|
|
@@ -22123,7 +22042,7 @@ var init_method_skill = __esm({
|
|
|
22123
22042
|
|
|
22124
22043
|
// src/collector-github.ts
|
|
22125
22044
|
import { spawn as spawn3 } from "node:child_process";
|
|
22126
|
-
function
|
|
22045
|
+
function isRecord10(value) {
|
|
22127
22046
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
22128
22047
|
}
|
|
22129
22048
|
function requireString(value, label) {
|
|
@@ -22164,25 +22083,25 @@ function commentFailureCause(error) {
|
|
|
22164
22083
|
};
|
|
22165
22084
|
}
|
|
22166
22085
|
function requireUserLogin(raw) {
|
|
22167
|
-
if (!
|
|
22086
|
+
if (!isRecord10(raw) || typeof raw["login"] !== "string") {
|
|
22168
22087
|
throw new Error("GitHub payload missing user.login");
|
|
22169
22088
|
}
|
|
22170
22089
|
return raw["login"];
|
|
22171
22090
|
}
|
|
22172
22091
|
function optionalUserLogin(raw) {
|
|
22173
22092
|
if (raw === null) return null;
|
|
22174
|
-
if (!
|
|
22093
|
+
if (!isRecord10(raw) || typeof raw["login"] !== "string") {
|
|
22175
22094
|
throw new Error("GitHub payload missing user.login");
|
|
22176
22095
|
}
|
|
22177
22096
|
return raw["login"];
|
|
22178
22097
|
}
|
|
22179
22098
|
function machineIdentity(raw) {
|
|
22180
22099
|
const user = raw["user"];
|
|
22181
|
-
if (!
|
|
22100
|
+
if (!isRecord10(user) || typeof user["type"] !== "string" || typeof user["id"] !== "number") {
|
|
22182
22101
|
return null;
|
|
22183
22102
|
}
|
|
22184
22103
|
const app = raw["performed_via_github_app"];
|
|
22185
|
-
const appId =
|
|
22104
|
+
const appId = isRecord10(app) && typeof app["id"] === "number" ? app["id"] : void 0;
|
|
22186
22105
|
return {
|
|
22187
22106
|
userType: user["type"],
|
|
22188
22107
|
userId: user["id"],
|
|
@@ -22190,9 +22109,9 @@ function machineIdentity(raw) {
|
|
|
22190
22109
|
};
|
|
22191
22110
|
}
|
|
22192
22111
|
function normalizePullRequest(raw) {
|
|
22193
|
-
if (!
|
|
22112
|
+
if (!isRecord10(raw)) throw new Error("GitHub pull request payload must be an object");
|
|
22194
22113
|
const head = raw["head"];
|
|
22195
|
-
if (!
|
|
22114
|
+
if (!isRecord10(head) || typeof head["sha"] !== "string" || head["sha"].length === 0) {
|
|
22196
22115
|
throw new Error("GitHub pull request payload missing head.sha");
|
|
22197
22116
|
}
|
|
22198
22117
|
const number = requireNumber(raw["number"], "number");
|
|
@@ -22208,7 +22127,7 @@ function normalizePullRequest(raw) {
|
|
|
22208
22127
|
};
|
|
22209
22128
|
}
|
|
22210
22129
|
function normalizePullRequestReaction(raw) {
|
|
22211
|
-
if (!
|
|
22130
|
+
if (!isRecord10(raw)) throw new Error("GitHub reaction payload must be an object");
|
|
22212
22131
|
return {
|
|
22213
22132
|
id: requireNumber(raw["id"], "reaction.id"),
|
|
22214
22133
|
userLogin: optionalUserLogin(raw["user"]),
|
|
@@ -22219,7 +22138,7 @@ function normalizePullRequestReaction(raw) {
|
|
|
22219
22138
|
};
|
|
22220
22139
|
}
|
|
22221
22140
|
function normalizeReview(raw) {
|
|
22222
|
-
if (!
|
|
22141
|
+
if (!isRecord10(raw)) throw new Error("GitHub review payload must be an object");
|
|
22223
22142
|
return {
|
|
22224
22143
|
id: requireNumber(raw["id"], "review.id"),
|
|
22225
22144
|
...typeof raw["node_id"] === "string" ? { nodeId: raw["node_id"] } : {},
|
|
@@ -22234,7 +22153,7 @@ function normalizeReview(raw) {
|
|
|
22234
22153
|
};
|
|
22235
22154
|
}
|
|
22236
22155
|
function normalizeIssueComment(raw) {
|
|
22237
|
-
if (!
|
|
22156
|
+
if (!isRecord10(raw)) throw new Error("GitHub issue comment payload must be an object");
|
|
22238
22157
|
return {
|
|
22239
22158
|
id: requireNumber(raw["id"], "comment.id"),
|
|
22240
22159
|
userLogin: optionalUserLogin(raw["user"]),
|
|
@@ -22247,7 +22166,7 @@ function normalizeIssueComment(raw) {
|
|
|
22247
22166
|
};
|
|
22248
22167
|
}
|
|
22249
22168
|
function normalizeReviewComment(raw) {
|
|
22250
|
-
if (!
|
|
22169
|
+
if (!isRecord10(raw)) throw new Error("GitHub review comment payload must be an object");
|
|
22251
22170
|
return {
|
|
22252
22171
|
id: requireNumber(raw["id"], "review_comment.id"),
|
|
22253
22172
|
pullRequestReviewId: typeof raw["pull_request_review_id"] === "number" ? raw["pull_request_review_id"] : null,
|
|
@@ -22556,11 +22475,11 @@ function createGhCollectorGitHubTransport(runner = createGhApiRunner()) {
|
|
|
22556
22475
|
if (input.signal?.aborted) {
|
|
22557
22476
|
throw error;
|
|
22558
22477
|
}
|
|
22559
|
-
if (
|
|
22478
|
+
if (isRecord10(error) && error["ambiguousGhFailure"] === true) {
|
|
22560
22479
|
const cause = commentFailureCause(error);
|
|
22561
22480
|
return { kind: "ambiguous_loss", diagnostics: cause.message, cause };
|
|
22562
22481
|
}
|
|
22563
|
-
if (
|
|
22482
|
+
if (isRecord10(error) && error["name"] === "AbortError") {
|
|
22564
22483
|
throw error;
|
|
22565
22484
|
}
|
|
22566
22485
|
throw error;
|
|
@@ -22848,12 +22767,12 @@ function encodeClaudeProjectDir(cwd) {
|
|
|
22848
22767
|
const abs = cwd.startsWith("/") ? cwd : `/${cwd}`;
|
|
22849
22768
|
return abs.replace(/\//g, "-");
|
|
22850
22769
|
}
|
|
22851
|
-
function
|
|
22770
|
+
function isRecord11(value) {
|
|
22852
22771
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
22853
22772
|
}
|
|
22854
22773
|
function messageText(message) {
|
|
22855
22774
|
if (typeof message === "string") return message;
|
|
22856
|
-
if (!
|
|
22775
|
+
if (!isRecord11(message)) return "";
|
|
22857
22776
|
const content = message.content;
|
|
22858
22777
|
if (typeof content === "string") return content;
|
|
22859
22778
|
if (!Array.isArray(content)) return "";
|
|
@@ -22863,7 +22782,7 @@ function messageText(message) {
|
|
|
22863
22782
|
parts.push(part);
|
|
22864
22783
|
continue;
|
|
22865
22784
|
}
|
|
22866
|
-
if (!
|
|
22785
|
+
if (!isRecord11(part)) continue;
|
|
22867
22786
|
if (typeof part.text === "string") parts.push(part.text);
|
|
22868
22787
|
else if (typeof part.content === "string") parts.push(part.content);
|
|
22869
22788
|
}
|
|
@@ -22949,9 +22868,9 @@ function readCcSessionBlocks(options) {
|
|
|
22949
22868
|
{ cause: error }
|
|
22950
22869
|
);
|
|
22951
22870
|
}
|
|
22952
|
-
if (!
|
|
22871
|
+
if (!isRecord11(parsed)) continue;
|
|
22953
22872
|
const type = typeof parsed.type === "string" ? parsed.type : "";
|
|
22954
|
-
const queuedCommand = type === "attachment" &&
|
|
22873
|
+
const queuedCommand = type === "attachment" && isRecord11(parsed.attachment) && parsed.attachment.type === "queued_command" && isRecord11(parsed.attachment.origin) && parsed.attachment.origin.kind === "human" && typeof parsed.attachment.prompt === "string" ? parsed.attachment.prompt : void 0;
|
|
22955
22874
|
if (type !== "user" && type !== "assistant" && queuedCommand === void 0) {
|
|
22956
22875
|
continue;
|
|
22957
22876
|
}
|
|
@@ -23175,11 +23094,11 @@ var init_reviewer_pinned_git = __esm({
|
|
|
23175
23094
|
});
|
|
23176
23095
|
|
|
23177
23096
|
// src/ticket-provenance-contracts.ts
|
|
23178
|
-
function
|
|
23097
|
+
function isRecord12(value) {
|
|
23179
23098
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
23180
23099
|
}
|
|
23181
23100
|
function projectTicketProvenanceDiagnostic(value) {
|
|
23182
|
-
if (!
|
|
23101
|
+
if (!isRecord12(value)) return void 0;
|
|
23183
23102
|
if (value.recordClass !== TICKET_PROVENANCE_RECORD_CLASS_DIAGNOSTIC) {
|
|
23184
23103
|
return void 0;
|
|
23185
23104
|
}
|
|
@@ -23201,18 +23120,18 @@ function projectTicketProvenanceDiagnostic(value) {
|
|
|
23201
23120
|
};
|
|
23202
23121
|
}
|
|
23203
23122
|
function projectTicketProvenanceEntry(value) {
|
|
23204
|
-
if (!
|
|
23123
|
+
if (!isRecord12(value)) return void 0;
|
|
23205
23124
|
if (value.recordClass === TICKET_PROVENANCE_RECORD_CLASS_DIAGNOSTIC) {
|
|
23206
23125
|
return void 0;
|
|
23207
23126
|
}
|
|
23208
|
-
if (!
|
|
23127
|
+
if (!isRecord12(value.basis)) return void 0;
|
|
23209
23128
|
if (typeof value.basis.method !== "string" || !BASIS_METHODS.has(value.basis.method)) {
|
|
23210
23129
|
return void 0;
|
|
23211
23130
|
}
|
|
23212
23131
|
if (typeof value.sourceKind !== "string" || !SOURCE_KINDS.has(value.sourceKind)) {
|
|
23213
23132
|
return void 0;
|
|
23214
23133
|
}
|
|
23215
|
-
if (!
|
|
23134
|
+
if (!isRecord12(value.sourceRef)) return void 0;
|
|
23216
23135
|
if (typeof value.transcript !== "string" || value.transcript.length === 0) {
|
|
23217
23136
|
return void 0;
|
|
23218
23137
|
}
|
|
@@ -23820,7 +23739,7 @@ var init_compliance_transport = __esm({
|
|
|
23820
23739
|
|
|
23821
23740
|
// src/ledger-session-read.ts
|
|
23822
23741
|
import { readFile as readFile11 } from "node:fs/promises";
|
|
23823
|
-
function
|
|
23742
|
+
function isRecord13(value) {
|
|
23824
23743
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
23825
23744
|
}
|
|
23826
23745
|
async function readLedgerSessionJsonl(path) {
|
|
@@ -23844,7 +23763,7 @@ async function readLedgerSessionJsonl(path) {
|
|
|
23844
23763
|
}
|
|
23845
23764
|
break;
|
|
23846
23765
|
}
|
|
23847
|
-
if (!
|
|
23766
|
+
if (!isRecord13(row)) {
|
|
23848
23767
|
const kind = row === null ? "null" : Array.isArray(row) ? "array" : typeof row;
|
|
23849
23768
|
throw new LedgerSessionJsonlError(
|
|
23850
23769
|
`complete non-object JSONL record in ${path} at line ${index + 1}: expected object, got ${kind}`,
|
|
@@ -23881,7 +23800,7 @@ function extractSessionModelSequence(rows) {
|
|
|
23881
23800
|
if (row.type === "model_change" && typeof row.modelId === "string") {
|
|
23882
23801
|
push(row.modelId);
|
|
23883
23802
|
}
|
|
23884
|
-
const message =
|
|
23803
|
+
const message = isRecord13(row.message) ? row.message : void 0;
|
|
23885
23804
|
if (message?.role === "assistant" && typeof message.model === "string") {
|
|
23886
23805
|
push(message.model);
|
|
23887
23806
|
}
|
|
@@ -23897,11 +23816,11 @@ function extractSessionToolIntervals(rows) {
|
|
|
23897
23816
|
const openById = /* @__PURE__ */ new Map();
|
|
23898
23817
|
for (const row of rows) {
|
|
23899
23818
|
const rowTimestamp = typeof row.timestamp === "string" ? row.timestamp : void 0;
|
|
23900
|
-
const message =
|
|
23819
|
+
const message = isRecord13(row.message) ? row.message : void 0;
|
|
23901
23820
|
if (message?.role === "assistant" && Array.isArray(message.content)) {
|
|
23902
23821
|
const callTimestamp = typeof message.timestamp === "string" && message.timestamp ? message.timestamp : rowTimestamp;
|
|
23903
23822
|
for (const part of message.content) {
|
|
23904
|
-
if (!
|
|
23823
|
+
if (!isRecord13(part) || part.type !== "toolCall") continue;
|
|
23905
23824
|
if (typeof part.id !== "string" || part.id.length === 0) {
|
|
23906
23825
|
throw new Error("toolCall frame missing string id");
|
|
23907
23826
|
}
|
|
@@ -23914,7 +23833,7 @@ function extractSessionToolIntervals(rows) {
|
|
|
23914
23833
|
if (openById.has(part.id)) {
|
|
23915
23834
|
throw new Error(`duplicate toolCall id ${part.id}`);
|
|
23916
23835
|
}
|
|
23917
|
-
const args =
|
|
23836
|
+
const args = isRecord13(part.arguments) ? part.arguments : void 0;
|
|
23918
23837
|
const command = part.name === "bash" && args !== void 0 && typeof args.command === "string" ? bashCommandFirstLine(args.command) : void 0;
|
|
23919
23838
|
const interval = {
|
|
23920
23839
|
toolCallId: part.id,
|
|
@@ -24000,7 +23919,7 @@ var init_ledger_session_read = __esm({
|
|
|
24000
23919
|
// src/analyst-gate-cycles-read.ts
|
|
24001
23920
|
import { readdir as readdir3 } from "node:fs/promises";
|
|
24002
23921
|
import { join as join19 } from "node:path";
|
|
24003
|
-
function
|
|
23922
|
+
function isRecord14(value) {
|
|
24004
23923
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
24005
23924
|
}
|
|
24006
23925
|
function isParentAttemptBindingRow(row) {
|
|
@@ -24031,7 +23950,7 @@ function isGateTerminatingToolName(toolName) {
|
|
|
24031
23950
|
function acceptedGateReceiptIds(rows) {
|
|
24032
23951
|
const accepted = /* @__PURE__ */ new Set();
|
|
24033
23952
|
for (const row of rows) {
|
|
24034
|
-
const message =
|
|
23953
|
+
const message = isRecord14(row.message) ? row.message : void 0;
|
|
24035
23954
|
if (message?.role !== "toolResult") continue;
|
|
24036
23955
|
if (typeof message.toolCallId !== "string" || message.toolCallId.length === 0) continue;
|
|
24037
23956
|
if (message.isError === false) accepted.add(message.toolCallId);
|
|
@@ -24070,7 +23989,7 @@ function nearestAttemptBindingBefore(rows, beforeIndex) {
|
|
|
24070
23989
|
for (let i = beforeIndex - 1; i >= 0; i -= 1) {
|
|
24071
23990
|
const row = rows[i];
|
|
24072
23991
|
if (!isParentAttemptBindingRow(row)) continue;
|
|
24073
|
-
if (!
|
|
23992
|
+
if (!isRecord14(row.data) || !isRecord14(row.data.parent)) continue;
|
|
24074
23993
|
const id = row.data.parent.attemptEntryId;
|
|
24075
23994
|
const sessionFile = row.data.parent.sessionFile;
|
|
24076
23995
|
return {
|
|
@@ -24085,10 +24004,10 @@ function extractAllAcceptedGateToolCalls(rows) {
|
|
|
24085
24004
|
const out = [];
|
|
24086
24005
|
for (let rowIndex = 0; rowIndex < rows.length; rowIndex += 1) {
|
|
24087
24006
|
const row = rows[rowIndex];
|
|
24088
|
-
const message =
|
|
24007
|
+
const message = isRecord14(row.message) ? row.message : void 0;
|
|
24089
24008
|
if (message?.role !== "assistant" || !Array.isArray(message.content)) continue;
|
|
24090
24009
|
for (const part of message.content) {
|
|
24091
|
-
if (!
|
|
24010
|
+
if (!isRecord14(part) || part.type !== "toolCall") continue;
|
|
24092
24011
|
if (typeof part.id !== "string" || part.id.length === 0) continue;
|
|
24093
24012
|
if (typeof part.name !== "string" || part.name.length === 0) continue;
|
|
24094
24013
|
if (!isGateTerminatingToolName(part.name)) continue;
|
|
@@ -24096,7 +24015,7 @@ function extractAllAcceptedGateToolCalls(rows) {
|
|
|
24096
24015
|
const binding = nearestAttemptBindingBefore(rows, rowIndex);
|
|
24097
24016
|
out.push({
|
|
24098
24017
|
toolName: part.name,
|
|
24099
|
-
args:
|
|
24018
|
+
args: isRecord14(part.arguments) ? part.arguments : void 0,
|
|
24100
24019
|
accepted: true,
|
|
24101
24020
|
rowIndex,
|
|
24102
24021
|
...binding
|
|
@@ -24236,7 +24155,7 @@ async function resolveOfficerSessionFromPointerFile(pointerPath) {
|
|
|
24236
24155
|
{ cause: error }
|
|
24237
24156
|
);
|
|
24238
24157
|
}
|
|
24239
|
-
if (!
|
|
24158
|
+
if (!isRecord14(raw) || raw.kind !== "direct-officer-run-pointer" || raw.version !== 1) {
|
|
24240
24159
|
throw new Error(`direct officer run pointer has unknown shape in ${pointerPath}`);
|
|
24241
24160
|
}
|
|
24242
24161
|
const sessionFile = raw.sessionFile;
|
|
@@ -24327,14 +24246,14 @@ function isMissingPathError2(error) {
|
|
|
24327
24246
|
function errorText2(error) {
|
|
24328
24247
|
return error instanceof Error ? error.message : String(error);
|
|
24329
24248
|
}
|
|
24330
|
-
function
|
|
24249
|
+
function isRecord15(value) {
|
|
24331
24250
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
24332
24251
|
}
|
|
24333
24252
|
function readUsableTerminalArtifactBody(body) {
|
|
24334
24253
|
if (body === null) {
|
|
24335
24254
|
return { ok: false, reason: "terminal artifact JSON value is null" };
|
|
24336
24255
|
}
|
|
24337
|
-
if (!
|
|
24256
|
+
if (!isRecord15(body)) {
|
|
24338
24257
|
return {
|
|
24339
24258
|
ok: false,
|
|
24340
24259
|
reason: `terminal artifact JSON value is not a typed object (${Array.isArray(body) ? "array" : typeof body})`
|
|
@@ -25037,11 +24956,11 @@ var init_navigator_invocation_identity = __esm({
|
|
|
25037
24956
|
});
|
|
25038
24957
|
|
|
25039
24958
|
// src/receipt-delivery-policy.ts
|
|
25040
|
-
function
|
|
24959
|
+
function isRecord16(value) {
|
|
25041
24960
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
25042
24961
|
}
|
|
25043
24962
|
function parseNoReceiptLifecycleFacts(input) {
|
|
25044
|
-
if (!
|
|
24963
|
+
if (!isRecord16(input) || typeof input.terminalToolCalled !== "boolean" || input.deliveryTurns !== RECEIPT_DELIVERY_TURN_LIMIT || input.sessionCompletion !== "settled-without-accepted-receipt" || input.acceptedReceipt !== false || typeof input.runPointer !== "string" || input.runPointer.trim() === "" || typeof input.attemptPointer !== "string" || input.attemptPointer.trim() === "" || !Array.isArray(input.rejectedReceipts) || !input.rejectedReceipts.every((item) => isRecord16(item) && typeof item.reason === "string")) {
|
|
25045
24964
|
throw new TypeError("malformed no-receipt lifecycle facts");
|
|
25046
24965
|
}
|
|
25047
24966
|
return {
|
|
@@ -25607,7 +25526,7 @@ async function readSitianRetainedAuditorProviderStop(sessionFile) {
|
|
|
25607
25526
|
const { records: records2 } = await readSitianRecords(recordFile);
|
|
25608
25527
|
for (let i = records2.length - 1; i >= 0; i -= 1) {
|
|
25609
25528
|
const payload = records2[i]?.payload;
|
|
25610
|
-
if (!
|
|
25529
|
+
if (!isRecord17(payload) || !isRecord17(payload.response)) continue;
|
|
25611
25530
|
if (typeof payload.type === "string") continue;
|
|
25612
25531
|
const stop = sessionProviderStopFromAssistant(payload.response);
|
|
25613
25532
|
if (stop !== void 0) return stop;
|
|
@@ -25644,7 +25563,7 @@ async function readBoundEvidenceChildKnownFailure(sessionFile) {
|
|
|
25644
25563
|
throw sessionReadFailure(error, "failed to read discovered evidence-child session");
|
|
25645
25564
|
}
|
|
25646
25565
|
const header = entries.find((entry) => entry.type === "session");
|
|
25647
|
-
if (!
|
|
25566
|
+
if (!isRecord17(header) || header.parentSession !== sessionFile) continue;
|
|
25648
25567
|
const stop = extractSessionProviderStop(entries);
|
|
25649
25568
|
if (stop === void 0) continue;
|
|
25650
25569
|
const primary = knownFailureFromProviderStop(stop);
|
|
@@ -25676,12 +25595,12 @@ async function loadBoundAuditorVolumes(sessionFile) {
|
|
|
25676
25595
|
return firstLine === RESUME_ENVELOPE;
|
|
25677
25596
|
};
|
|
25678
25597
|
const isResumeEnvelope = (msg) => {
|
|
25679
|
-
if (!
|
|
25598
|
+
if (!isRecord17(msg) || msg.role !== "user") return false;
|
|
25680
25599
|
const text = typeof msg.text === "string" ? msg.text : typeof msg.content === "string" ? msg.content : void 0;
|
|
25681
25600
|
if (isResumeEnvelopeBytes(text)) return true;
|
|
25682
25601
|
const content = msg.content;
|
|
25683
25602
|
if (Array.isArray(content)) {
|
|
25684
|
-
return content.some((p) =>
|
|
25603
|
+
return content.some((p) => isRecord17(p) && (isResumeEnvelopeBytes(p.text) || isResumeEnvelopeBytes(p.content)));
|
|
25685
25604
|
}
|
|
25686
25605
|
return false;
|
|
25687
25606
|
};
|
|
@@ -25713,7 +25632,7 @@ async function loadBoundAuditorVolumes(sessionFile) {
|
|
|
25713
25632
|
throw sessionReadFailure(error, "failed to read discovered auditor session");
|
|
25714
25633
|
}
|
|
25715
25634
|
const header = entries.find((entry) => entry.type === "session");
|
|
25716
|
-
if (!
|
|
25635
|
+
if (!isRecord17(header)) continue;
|
|
25717
25636
|
const bindingIndexes = [];
|
|
25718
25637
|
for (let i = 0; i < entries.length; i += 1) {
|
|
25719
25638
|
const entry = entries[i];
|
|
@@ -25727,7 +25646,7 @@ async function loadBoundAuditorVolumes(sessionFile) {
|
|
|
25727
25646
|
end: idx + 1 < bindingIndexes.length ? bindingIndexes[idx + 1] : entries.length
|
|
25728
25647
|
})) : [{ entry: void 0, start: 0, end: entries.length }];
|
|
25729
25648
|
for (const { entry: bindingEntry, start, end } of bindingPasses) {
|
|
25730
|
-
const bindingParent = bindingEntry !== void 0 &&
|
|
25649
|
+
const bindingParent = bindingEntry !== void 0 && isRecord17(bindingEntry.data) && isRecord17(bindingEntry.data.parent) ? bindingEntry.data.parent : void 0;
|
|
25731
25650
|
const attemptEntryId = typeof bindingParent?.attemptEntryId === "string" ? bindingParent.attemptEntryId : void 0;
|
|
25732
25651
|
const attemptEntryIndex = attemptEntryId === void 0 ? -1 : parentEntries.findIndex((entry) => entry.id === attemptEntryId);
|
|
25733
25652
|
const boundSessionFile = typeof bindingParent?.sessionFile === "string" ? bindingParent.sessionFile : typeof header.parentSession === "string" ? header.parentSession : void 0;
|
|
@@ -25754,11 +25673,11 @@ function complianceFailureFromAuditorVolumes(volumes) {
|
|
|
25754
25673
|
if (stop === void 0) continue;
|
|
25755
25674
|
for (let i = entries.length - 1; i >= 0; i -= 1) {
|
|
25756
25675
|
const entry = entries[i];
|
|
25757
|
-
if (entry?.type !== "custom" || entry.customType !== AUDITOR_COMPLIANCE_FAILURE_ENTRY_TYPE || !
|
|
25758
|
-
const parent =
|
|
25759
|
-
const failure =
|
|
25676
|
+
if (entry?.type !== "custom" || entry.customType !== AUDITOR_COMPLIANCE_FAILURE_ENTRY_TYPE || !isRecord17(entry.data)) continue;
|
|
25677
|
+
const parent = isRecord17(entry.data.parent) ? entry.data.parent : void 0;
|
|
25678
|
+
const failure = isRecord17(entry.data.failure) ? entry.data.failure : void 0;
|
|
25760
25679
|
if (parent?.sessionId !== parentId || parent.sessionFile !== sessionFile || parent.attemptEntryId !== attemptEntryId || failure?.cause !== "provider" && failure?.cause !== "unrecognized") continue;
|
|
25761
|
-
const identity =
|
|
25680
|
+
const identity = isRecord17(failure.identity) ? failure.identity : void 0;
|
|
25762
25681
|
return {
|
|
25763
25682
|
cause: failure.cause === "provider" ? "provider" : "unrecognized",
|
|
25764
25683
|
...identity === void 0 ? {} : { identity: {
|
|
@@ -25766,7 +25685,7 @@ function complianceFailureFromAuditorVolumes(volumes) {
|
|
|
25766
25685
|
...typeof identity.code === "string" || typeof identity.code === "number" ? { code: identity.code } : {}
|
|
25767
25686
|
} },
|
|
25768
25687
|
...typeof failure.diagnostic === "string" ? { diagnostic: failure.diagnostic } : {},
|
|
25769
|
-
...
|
|
25688
|
+
...isRecord17(failure.details) ? { details: failure.details } : {}
|
|
25770
25689
|
};
|
|
25771
25690
|
}
|
|
25772
25691
|
}
|
|
@@ -25813,9 +25732,9 @@ function typedFailedTerminatingToolKnownFailure(entries) {
|
|
|
25813
25732
|
if (classification.kind !== "infrastructure") continue;
|
|
25814
25733
|
if (typeof message.toolCallId !== "string" || typeof message.toolName !== "string") continue;
|
|
25815
25734
|
if (boundRoleToolCallForResult(attemptEntries, i, message, message.toolName) === void 0) continue;
|
|
25816
|
-
const textPart = Array.isArray(message.content) ? message.content.find((part) =>
|
|
25817
|
-
const diagnostic =
|
|
25818
|
-
const details =
|
|
25735
|
+
const textPart = Array.isArray(message.content) ? message.content.find((part) => isRecord17(part) && part.type === "text" && typeof part.text === "string") : void 0;
|
|
25736
|
+
const diagnostic = isRecord17(textPart) ? textPart.text : void 0;
|
|
25737
|
+
const details = isRecord17(message.details) ? message.details : classification.fact;
|
|
25819
25738
|
return {
|
|
25820
25739
|
cause: "activation",
|
|
25821
25740
|
identity: { name: message.toolName, code: message.toolCallId },
|
|
@@ -25973,7 +25892,7 @@ function controlledFailureInputFromResolution(resolution) {
|
|
|
25973
25892
|
} : {}
|
|
25974
25893
|
};
|
|
25975
25894
|
}
|
|
25976
|
-
function
|
|
25895
|
+
function isRecord17(value) {
|
|
25977
25896
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
25978
25897
|
}
|
|
25979
25898
|
function safelyRead(object, key) {
|
|
@@ -26097,7 +26016,7 @@ function boundRoleToolCallForResult(entries, resultIndex, message, outputToolNam
|
|
|
26097
26016
|
const candidateMessage = entries[index]?.message;
|
|
26098
26017
|
if (candidateMessage?.role === "assistant" && Array.isArray(candidateMessage.content)) {
|
|
26099
26018
|
for (const part of candidateMessage.content) {
|
|
26100
|
-
if (!
|
|
26019
|
+
if (!isRecord17(part) || part.type !== "toolCall" || part.id !== callId) {
|
|
26101
26020
|
continue;
|
|
26102
26021
|
}
|
|
26103
26022
|
if (part.name !== outputToolName) return void 0;
|
|
@@ -26169,7 +26088,7 @@ function parseNavigatorAttendanceDetails(details) {
|
|
|
26169
26088
|
const advisoryDiagnostic = typeof details.routePlaybookReadFailure === "string" ? { advisoryDiagnostic: details.routePlaybookReadFailure } : {};
|
|
26170
26089
|
if (disposition === "recommendation") {
|
|
26171
26090
|
const next = details.next;
|
|
26172
|
-
if (!
|
|
26091
|
+
if (!isRecord17(next) || typeof next.role !== "string") {
|
|
26173
26092
|
return {
|
|
26174
26093
|
disposition: "unavailable",
|
|
26175
26094
|
source: "unknown",
|
|
@@ -26177,7 +26096,7 @@ function parseNavigatorAttendanceDetails(details) {
|
|
|
26177
26096
|
};
|
|
26178
26097
|
}
|
|
26179
26098
|
const reason = typeof details.reason === "string" ? details.reason : "";
|
|
26180
|
-
const route = Array.isArray(details.route) ? details.route.filter(
|
|
26099
|
+
const route = Array.isArray(details.route) ? details.route.filter(isRecord17).map((target) => ({
|
|
26181
26100
|
role: String(target.role),
|
|
26182
26101
|
phase: navigatorPhaseValue(target.phase)
|
|
26183
26102
|
})) : void 0;
|
|
@@ -26249,7 +26168,7 @@ async function extractGateFactFromSessionDirectory(sessionDirectory, options = {
|
|
|
26249
26168
|
}
|
|
26250
26169
|
async function withOptionalGateProjection(base, sessionDirectory, gateContext = {}) {
|
|
26251
26170
|
const secondaryEvidence = base.roleOutcome.kind === "failure" ? base.roleOutcome.decisiveFacts.secondaryEvidence : void 0;
|
|
26252
|
-
if (
|
|
26171
|
+
if (isRecord17(secondaryEvidence) && secondaryEvidence.kind === "role_infrastructure_failure" && (secondaryEvidence.stage === "gatekeeper" || secondaryEvidence.stage === "inspector" || secondaryEvidence.stage === "notary")) return base;
|
|
26253
26172
|
const gate = await extractGateFactFromSessionDirectory(sessionDirectory, gateContext);
|
|
26254
26173
|
return gate === void 0 ? base : { ...base, gate };
|
|
26255
26174
|
}
|
|
@@ -26289,7 +26208,7 @@ function extractNavigatorFact(entries) {
|
|
|
26289
26208
|
const entry = entries[i];
|
|
26290
26209
|
if (entry?.type === "custom_message" && entry.customType === "ak-navigator-attendance") {
|
|
26291
26210
|
const details = entry.message?.details ?? entry.details;
|
|
26292
|
-
if (!
|
|
26211
|
+
if (!isRecord17(details)) {
|
|
26293
26212
|
return {
|
|
26294
26213
|
disposition: "unavailable",
|
|
26295
26214
|
source: "unknown",
|
|
@@ -26687,7 +26606,7 @@ async function settleLawfulCollectorTerminalResult(admitted, authority) {
|
|
|
26687
26606
|
const residual = boundErroredToolCandidate(entries, index, message, COLLECTOR_WAIT_TOOL);
|
|
26688
26607
|
if (residual === void 0) continue;
|
|
26689
26608
|
const candidate = residual.candidate;
|
|
26690
|
-
const duration =
|
|
26609
|
+
const duration = isRecord17(candidate) ? candidate.durationMs : void 0;
|
|
26691
26610
|
if (Number.isSafeInteger(duration) && duration >= 1 && duration <= 9e5) {
|
|
26692
26611
|
continue;
|
|
26693
26612
|
}
|
|
@@ -26877,7 +26796,7 @@ async function settleLawfulSeatAcceptedTerminalResult(admitted, authority, spec,
|
|
|
26877
26796
|
spec.toolName
|
|
26878
26797
|
);
|
|
26879
26798
|
if (residual !== void 0) {
|
|
26880
|
-
const details =
|
|
26799
|
+
const details = isRecord17(residual.candidate) ? residual.candidate : { candidate: residual.candidate };
|
|
26881
26800
|
return settleFailureTerminalResult(admitted, {
|
|
26882
26801
|
cause: "output",
|
|
26883
26802
|
diagnostic: residual.diagnostic,
|
|
@@ -26971,15 +26890,6 @@ async function settleLawfulAuditorTerminalResult(admitted, authority, scope) {
|
|
|
26971
26890
|
async function trySettleAuditorTerminalResult(admitted, authority, scope) {
|
|
26972
26891
|
return settleLawfulAuditorTerminalResult(admitted, authority, scope);
|
|
26973
26892
|
}
|
|
26974
|
-
async function settleLawfulEvidenceChildTerminalResult(admitted, authority, scope) {
|
|
26975
|
-
return settleLawfulSeatAcceptedTerminalResult(admitted, authority, {
|
|
26976
|
-
role: "evidence-child",
|
|
26977
|
-
toolName: EVIDENCE_CHILD_OUTPUT_TOOL_NAME
|
|
26978
|
-
}, scope);
|
|
26979
|
-
}
|
|
26980
|
-
async function trySettleEvidenceChildTerminalResult(admitted, authority, scope) {
|
|
26981
|
-
return settleLawfulEvidenceChildTerminalResult(admitted, authority, scope);
|
|
26982
|
-
}
|
|
26983
26893
|
async function trySettleCoderTerminalResult(admitted, authority, options = {}) {
|
|
26984
26894
|
return settleLawfulCoderTerminalResult(admitted, authority, options);
|
|
26985
26895
|
}
|
|
@@ -27188,7 +27098,7 @@ async function settleLawfulMergerTerminalResult(admitted, authority, options) {
|
|
|
27188
27098
|
if (message?.role !== "toolResult") continue;
|
|
27189
27099
|
const residual = boundErroredToolCandidate(entries, index, message, MERGER_OUTPUT_TOOL_NAME);
|
|
27190
27100
|
if (residual === void 0) continue;
|
|
27191
|
-
const attemptId =
|
|
27101
|
+
const attemptId = isRecord17(residual.candidate) ? safelyRead(residual.candidate, "attemptId") : { readable: true, value: void 0 };
|
|
27192
27102
|
if (!attemptId.readable || attemptId.value !== admitted.runId) continue;
|
|
27193
27103
|
return {
|
|
27194
27104
|
roleOutcome: buildResidualIncompleteTerminalOutcome({
|
|
@@ -27563,7 +27473,6 @@ var init_settlement = __esm({
|
|
|
27563
27473
|
init_gatekeeper_output();
|
|
27564
27474
|
init_navigator_output();
|
|
27565
27475
|
init_auditor_output();
|
|
27566
|
-
init_evidence_child_output();
|
|
27567
27476
|
init_method_skill();
|
|
27568
27477
|
init_navigator_invocation_identity();
|
|
27569
27478
|
init_receipt_delivery_policy();
|
|
@@ -28828,8 +28737,6 @@ function instructionSeatAdapters(options) {
|
|
|
28828
28737
|
return trySettleNavigatorTerminalResult(admitted, authority, scope);
|
|
28829
28738
|
case "auditor":
|
|
28830
28739
|
return trySettleAuditorTerminalResult(admitted, authority, scope);
|
|
28831
|
-
case "evidence-child":
|
|
28832
|
-
return trySettleEvidenceChildTerminalResult(admitted, authority, scope);
|
|
28833
28740
|
}
|
|
28834
28741
|
},
|
|
28835
28742
|
// Accepted receipts and failure terminals both present via shared path.
|
|
@@ -28858,8 +28765,6 @@ async function admitInstructionSeat(role, options) {
|
|
|
28858
28765
|
return admitNavigatorInvocation(options);
|
|
28859
28766
|
case "auditor":
|
|
28860
28767
|
return admitAuditorInvocation(options);
|
|
28861
|
-
case "evidence-child":
|
|
28862
|
-
return admitEvidenceChildInvocation(options);
|
|
28863
28768
|
}
|
|
28864
28769
|
}
|
|
28865
28770
|
async function runPublicInstructionSeatResume(request, env, io) {
|
|
@@ -31246,7 +31151,7 @@ function isMissingPathError5(error) {
|
|
|
31246
31151
|
function errorText3(error) {
|
|
31247
31152
|
return error instanceof Error ? error.message : String(error);
|
|
31248
31153
|
}
|
|
31249
|
-
function
|
|
31154
|
+
function isRecord18(value) {
|
|
31250
31155
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
31251
31156
|
}
|
|
31252
31157
|
async function readExistingRunLifecycleState(runDirectory) {
|
|
@@ -31254,7 +31159,7 @@ async function readExistingRunLifecycleState(runDirectory) {
|
|
|
31254
31159
|
const raw = JSON.parse(
|
|
31255
31160
|
await readFile18(join31(runDirectory, "run-state.json"), "utf8")
|
|
31256
31161
|
);
|
|
31257
|
-
if (!
|
|
31162
|
+
if (!isRecord18(raw) || typeof raw.state !== "string") return void 0;
|
|
31258
31163
|
return raw.state;
|
|
31259
31164
|
} catch {
|
|
31260
31165
|
return void 0;
|
|
@@ -31290,7 +31195,7 @@ async function readInvocationScopeFields(runDirectory) {
|
|
|
31290
31195
|
throw error;
|
|
31291
31196
|
}
|
|
31292
31197
|
const parsed = JSON.parse(raw);
|
|
31293
|
-
if (!
|
|
31198
|
+
if (!isRecord18(parsed)) return void 0;
|
|
31294
31199
|
if (typeof parsed.projectRoot !== "string" || parsed.projectRoot.trim() === "") {
|
|
31295
31200
|
return void 0;
|
|
31296
31201
|
}
|
|
@@ -31318,7 +31223,7 @@ async function resolveSessionFile(runDirectory) {
|
|
|
31318
31223
|
try {
|
|
31319
31224
|
const raw = await readFile18(join31(runDirectory, "invocation.json"), "utf8");
|
|
31320
31225
|
const parsed = JSON.parse(raw);
|
|
31321
|
-
if (
|
|
31226
|
+
if (isRecord18(parsed) && typeof parsed.sessionFile === "string" && parsed.sessionFile.trim() !== "") {
|
|
31322
31227
|
return parsed.sessionFile;
|
|
31323
31228
|
}
|
|
31324
31229
|
} catch (error) {
|
|
@@ -31623,7 +31528,7 @@ var init_analyst_ledger = __esm({
|
|
|
31623
31528
|
});
|
|
31624
31529
|
|
|
31625
31530
|
// src/analyst-metric-families/acceptance-success-rework.ts
|
|
31626
|
-
function
|
|
31531
|
+
function isRecord19(value) {
|
|
31627
31532
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
31628
31533
|
}
|
|
31629
31534
|
function wallMsFromSpan(span) {
|
|
@@ -31632,21 +31537,21 @@ function wallMsFromSpan(span) {
|
|
|
31632
31537
|
function findCollectorGroups(body) {
|
|
31633
31538
|
if (Array.isArray(body.groups)) return body.groups;
|
|
31634
31539
|
const receipt = body.receipt;
|
|
31635
|
-
if (
|
|
31540
|
+
if (isRecord19(receipt) && Array.isArray(receipt.groups)) return receipt.groups;
|
|
31636
31541
|
const outcome = body.outcome;
|
|
31637
|
-
if (
|
|
31542
|
+
if (isRecord19(outcome)) {
|
|
31638
31543
|
const facts = outcome.decisiveFacts;
|
|
31639
|
-
if (
|
|
31544
|
+
if (isRecord19(facts) && Array.isArray(facts.groups)) return facts.groups;
|
|
31640
31545
|
}
|
|
31641
31546
|
return void 0;
|
|
31642
31547
|
}
|
|
31643
31548
|
function extractStatus(body) {
|
|
31644
31549
|
const outcome = body.outcome;
|
|
31645
|
-
if (
|
|
31550
|
+
if (isRecord19(outcome) && typeof outcome.status === "string" && outcome.status.trim() !== "") {
|
|
31646
31551
|
return outcome.status;
|
|
31647
31552
|
}
|
|
31648
31553
|
const receipt = body.receipt;
|
|
31649
|
-
if (
|
|
31554
|
+
if (isRecord19(receipt) && typeof receipt.status === "string" && receipt.status.trim() !== "") {
|
|
31650
31555
|
return receipt.status;
|
|
31651
31556
|
}
|
|
31652
31557
|
if (typeof body.status === "string" && body.status.trim() !== "") {
|
|
@@ -32271,21 +32176,21 @@ var init_leg_wall_clock = __esm({
|
|
|
32271
32176
|
});
|
|
32272
32177
|
|
|
32273
32178
|
// src/analyst-metric-families/round-timeline.ts
|
|
32274
|
-
function
|
|
32179
|
+
function isRecord20(value) {
|
|
32275
32180
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
32276
32181
|
}
|
|
32277
32182
|
function wallMsFromSpan2(startedAt, endedAt) {
|
|
32278
32183
|
return Date.parse(endedAt) - Date.parse(startedAt);
|
|
32279
32184
|
}
|
|
32280
32185
|
function readOutcomeStatus(body) {
|
|
32281
|
-
if (!
|
|
32186
|
+
if (!isRecord20(body.outcome)) return void 0;
|
|
32282
32187
|
const status = body.outcome.status;
|
|
32283
32188
|
if (typeof status !== "string" || status.trim() === "") return void 0;
|
|
32284
32189
|
return status;
|
|
32285
32190
|
}
|
|
32286
32191
|
function readClassCount(body) {
|
|
32287
|
-
if (!
|
|
32288
|
-
if (!
|
|
32192
|
+
if (!isRecord20(body.outcome)) return void 0;
|
|
32193
|
+
if (!isRecord20(body.outcome.decisiveFacts)) return void 0;
|
|
32289
32194
|
const classCount = body.outcome.decisiveFacts.classCount;
|
|
32290
32195
|
if (typeof classCount !== "number" || !Number.isFinite(classCount)) {
|
|
32291
32196
|
return void 0;
|
|
@@ -33925,7 +33830,7 @@ async function runAkRole(argv, env) {
|
|
|
33925
33830
|
...result2.terminal === void 0 ? {} : { terminal: result2.terminal }
|
|
33926
33831
|
};
|
|
33927
33832
|
}
|
|
33928
|
-
if (parsed.command === "gatekeeper" || parsed.command === "navigator" || parsed.command === "auditor"
|
|
33833
|
+
if (parsed.command === "gatekeeper" || parsed.command === "navigator" || parsed.command === "auditor") {
|
|
33929
33834
|
const agentDir = resolveAgentDir(env, home);
|
|
33930
33835
|
const cwd = env.cwd ?? process.cwd();
|
|
33931
33836
|
const config = await loadAndValidateConfig(home, env.packageRoot);
|
|
@@ -34027,7 +33932,6 @@ var init_cli = __esm({
|
|
|
34027
33932
|
gatekeeper: { seat: "gatekeeper", run: runPublicInstructionSeatResume },
|
|
34028
33933
|
navigator: { seat: "navigator", run: runPublicInstructionSeatResume },
|
|
34029
33934
|
auditor: { seat: "auditor", run: runPublicInstructionSeatResume },
|
|
34030
|
-
"evidence-child": { seat: "evidence-child", run: runPublicInstructionSeatResume },
|
|
34031
33935
|
diarist: { seat: "diarist", run: runPublicDiaristResume }
|
|
34032
33936
|
};
|
|
34033
33937
|
PUBLIC_ROLE_ARGV = {
|
|
@@ -34045,7 +33949,6 @@ var init_cli = __esm({
|
|
|
34045
33949
|
gatekeeper: { parse: parseGatekeeperArgv, options: optionsForOwner("gatekeeper") },
|
|
34046
33950
|
navigator: { parse: parseNavigatorArgv, options: optionsForOwner("navigator") },
|
|
34047
33951
|
auditor: { parse: parseAuditorArgv, options: optionsForOwner("auditor") },
|
|
34048
|
-
"evidence-child": { parse: parseEvidenceChildArgv, options: optionsForOwner("evidence-child") },
|
|
34049
33952
|
diarist: { parse: parseDiaristArgv, options: optionsForOwner("diarist") },
|
|
34050
33953
|
/** Deterministic analysis seat (#336) — argv parse only; no LLM admission. */
|
|
34051
33954
|
analyst: { parse: parseAnalystArgv, options: optionsForOwner("analyst") }
|