@akagilnc/pi-workflow-roles 0.1.5955 → 0.1.6014
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/README.md +1 -1
- package/dist/acp-host/production-host.js +5 -47
- package/dist/countersign-contracts.js +2 -22
- package/dist/countersign-role.js +0 -8
- package/dist/doctor-contracts.js +0 -1
- package/dist/gleaner-left-contracts.js +1 -18
- package/dist/gleaner-left-role.js +1 -2
- package/dist/headless-host/production-host.js +8 -50
- package/dist/inspector-role.js +0 -2
- package/dist/judge-role.js +1 -7
- package/dist/migrate-book-topology.js +0 -16
- package/dist/navigator-route-table.js +0 -1
- package/dist/notary-contracts.js +1 -16
- package/dist/package-contracts/auditor-output.js +1 -2
- package/dist/package-contracts/gatekeeper-output.js +0 -4
- package/dist/package-contracts/terminating-tools.js +1 -3
- package/dist/package-resources/engine-material.js +1 -8
- package/dist/pi/role-turn-host.js +0 -3
- package/dist/public-cli/cli.js +1 -23
- package/dist/public-cli/config.js +0 -4
- package/dist/public-cli/invocation.js +0 -4
- package/dist/public-cli/main.js +1 -41
- package/dist/public-cli/option-definitions.js +0 -8
- package/package.json +1 -1
- package/scripts/build-package.mjs +0 -1
- package/souls/design-law.md +1 -0
- package/souls/quality-law.md +2 -1
- package/src/countersign-contracts.ts +1 -21
- package/src/countersign-role.ts +1 -8
- package/src/doctor-contracts.ts +0 -1
- package/src/gleaner-left-contracts.ts +0 -17
- package/src/gleaner-left-role.ts +0 -2
- package/src/inspector-role.ts +1 -3
- package/src/judge-role.ts +1 -3
- package/src/navigator-route-table.ts +0 -2
- package/src/notary-contracts.ts +1 -26
- package/src/package-contracts/auditor-output.ts +1 -3
- package/src/package-contracts/gatekeeper-output.ts +0 -10
- package/src/package-contracts/terminating-tools.ts +2 -4
- package/src/package-resources/engine-material.ts +1 -16
- package/src/pi/role-turn-host.ts +0 -3
- package/src/public-cli/cli.ts +0 -24
- package/src/public-cli/config.ts +2 -8
- package/src/public-cli/invocation.ts +0 -28
- package/src/public-cli/option-definitions.ts +1 -10
- package/dist/canonical-json.js +0 -75
- package/dist/judge-recording-anti-forge.js +0 -39
- package/src/canonical-json.ts +0 -74
- package/src/judge-recording-anti-forge.ts +0 -53
package/README.md
CHANGED
|
@@ -145,7 +145,7 @@ Tests run on Vitest ([ADR 0090](docs/adr/0090-tests-run-on-vitest-fixtures-and-h
|
|
|
145
145
|
```bash
|
|
146
146
|
pnpm exec vitest run --project unit-contract
|
|
147
147
|
pnpm exec vitest run --project integration test/integration/public-cli-bin-startup.test.ts
|
|
148
|
-
pnpm exec vitest run --project package test/package/
|
|
148
|
+
pnpm exec vitest run --project package test/package/npm-identity-metadata.test.ts
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
Progress uses the dot reporter; the full structured report is `.vitest/results.json`.
|
|
@@ -1897,13 +1897,6 @@ var init_worker_output = __esm({
|
|
|
1897
1897
|
}
|
|
1898
1898
|
});
|
|
1899
1899
|
|
|
1900
|
-
// src/canonical-json.ts
|
|
1901
|
-
var init_canonical_json = __esm({
|
|
1902
|
-
"src/canonical-json.ts"() {
|
|
1903
|
-
"use strict";
|
|
1904
|
-
}
|
|
1905
|
-
});
|
|
1906
|
-
|
|
1907
1900
|
// src/doctor-contracts.ts
|
|
1908
1901
|
import { Type as Type10 } from "typebox";
|
|
1909
1902
|
function validateDoctorSubmissionShape(value) {
|
|
@@ -1916,7 +1909,6 @@ var DOCTOR_EVIDENCE_TOOL_NAME, DOCTOR_OUTPUT_TOOL_NAME, DOCTOR_AUDIT_TOOL_NAME,
|
|
|
1916
1909
|
var init_doctor_contracts = __esm({
|
|
1917
1910
|
"src/doctor-contracts.ts"() {
|
|
1918
1911
|
"use strict";
|
|
1919
|
-
init_canonical_json();
|
|
1920
1912
|
init_open_tool_schema();
|
|
1921
1913
|
init_terminating_infrastructure();
|
|
1922
1914
|
init_unknown_value();
|
|
@@ -2119,7 +2111,6 @@ var init_countersign_contracts = __esm({
|
|
|
2119
2111
|
"src/countersign-contracts.ts"() {
|
|
2120
2112
|
"use strict";
|
|
2121
2113
|
init_review_submission();
|
|
2122
|
-
init_unknown_value();
|
|
2123
2114
|
COUNTERSIGN_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
|
|
2124
2115
|
}
|
|
2125
2116
|
});
|
|
@@ -2132,7 +2123,6 @@ var init_gleaner_left_contracts = __esm({
|
|
|
2132
2123
|
"use strict";
|
|
2133
2124
|
init_open_tool_schema();
|
|
2134
2125
|
init_terminating_infrastructure();
|
|
2135
|
-
init_unknown_value();
|
|
2136
2126
|
GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
|
|
2137
2127
|
gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
|
|
2138
2128
|
openToolObject(
|
|
@@ -4458,8 +4448,6 @@ var init_terminating_tools = __esm({
|
|
|
4458
4448
|
init_auditor_output();
|
|
4459
4449
|
init_merger_contracts();
|
|
4460
4450
|
init_notary_contracts();
|
|
4461
|
-
init_countersign_contracts();
|
|
4462
|
-
init_gleaner_left_contracts();
|
|
4463
4451
|
init_inspector_contracts();
|
|
4464
4452
|
init_diarist_contracts();
|
|
4465
4453
|
init_secretariat_contracts();
|
|
@@ -10731,7 +10719,6 @@ function createPiRoleTurnHost(config) {
|
|
|
10731
10719
|
else env.AK_ROLE_INVOCATION_SCOPE = request.invocationScopeId;
|
|
10732
10720
|
if (request.host === void 0 || request.host.trim() === "") delete env.AK_ROLE_HOST;
|
|
10733
10721
|
else env.AK_ROLE_HOST = request.host.trim();
|
|
10734
|
-
delete env.AK_ROLE_SUMMONS_INSTRUCTION;
|
|
10735
10722
|
if (request.deliveryRequestLimit === void 0) delete env[RECEIPT_DELIVERY_LIMIT_ENV];
|
|
10736
10723
|
else env[RECEIPT_DELIVERY_LIMIT_ENV] = String(request.deliveryRequestLimit);
|
|
10737
10724
|
applyEngineChildEnv(env, request.engine);
|
|
@@ -10864,7 +10851,7 @@ var init_role_turn_host = __esm({
|
|
|
10864
10851
|
});
|
|
10865
10852
|
|
|
10866
10853
|
// src/package-resources/engine-material.ts
|
|
10867
|
-
import { existsSync as existsSync8,
|
|
10854
|
+
import { existsSync as existsSync8, readFileSync as readFileSync3 } from "node:fs";
|
|
10868
10855
|
import { join as join14 } from "node:path";
|
|
10869
10856
|
function pickEngineAxis(source) {
|
|
10870
10857
|
return {
|
|
@@ -11051,7 +11038,6 @@ var init_institutional_resolution = __esm({
|
|
|
11051
11038
|
// src/public-cli/config.ts
|
|
11052
11039
|
var config_exports = {};
|
|
11053
11040
|
__export(config_exports, {
|
|
11054
|
-
GATE_OFFICER_SEATS: () => GATE_OFFICER_SEATS,
|
|
11055
11041
|
buildSeatModelCliArgs: () => buildSeatModelCliArgs2,
|
|
11056
11042
|
clearPersistentSeatConfig: () => clearPersistentSeatConfig,
|
|
11057
11043
|
credentialProvidersFromAuthData: () => credentialProvidersFromAuthData,
|
|
@@ -11558,7 +11544,6 @@ async function loadCredentialProviders(agentDir) {
|
|
|
11558
11544
|
throw error;
|
|
11559
11545
|
}
|
|
11560
11546
|
}
|
|
11561
|
-
var GATE_OFFICER_SEATS;
|
|
11562
11547
|
var init_config = __esm({
|
|
11563
11548
|
"src/public-cli/config.ts"() {
|
|
11564
11549
|
"use strict";
|
|
@@ -11568,9 +11553,6 @@ var init_config = __esm({
|
|
|
11568
11553
|
init_packaged_role_registry();
|
|
11569
11554
|
init_registry();
|
|
11570
11555
|
init_unknown_value();
|
|
11571
|
-
GATE_OFFICER_SEATS = PUBLIC_ROLE_RECORDS.flatMap(
|
|
11572
|
-
(record) => "provinceConfig" in record && record.provinceConfig === true ? [record.role] : []
|
|
11573
|
-
);
|
|
11574
11556
|
}
|
|
11575
11557
|
});
|
|
11576
11558
|
|
|
@@ -18308,7 +18290,6 @@ __export(cli_exports, {
|
|
|
18308
18290
|
buildExplicitInternalActivationArgs: () => buildExplicitInternalActivationArgs,
|
|
18309
18291
|
commandNeedsProcessCancel: () => commandNeedsProcessCancel,
|
|
18310
18292
|
helpDocument: () => helpDocument,
|
|
18311
|
-
helpDocumentForCommand: () => helpDocumentForCommand,
|
|
18312
18293
|
projectConfigDisplaySeats: () => projectConfigDisplaySeats,
|
|
18313
18294
|
projectConfigSeatDisplay: () => projectConfigSeatDisplay,
|
|
18314
18295
|
resolveInternalRoleEntrypoint: () => resolveInternalRoleEntrypoint,
|
|
@@ -18589,31 +18570,10 @@ function loadAndValidateConfig(home, packageRoot) {
|
|
|
18589
18570
|
}
|
|
18590
18571
|
function helpDocument() {
|
|
18591
18572
|
return {
|
|
18592
|
-
executable: "ak-role",
|
|
18593
18573
|
capabilities: listHelpCapabilities(),
|
|
18594
|
-
internalEntrypoint: INTERNAL_ROLE_ENTRYPOINT_RELATIVE
|
|
18595
|
-
/** #342 structured global options from the sole option table. */
|
|
18596
|
-
globalOptions: projectOwnerOptions("global")
|
|
18574
|
+
internalEntrypoint: INTERNAL_ROLE_ENTRYPOINT_RELATIVE
|
|
18597
18575
|
};
|
|
18598
18576
|
}
|
|
18599
|
-
function helpDocumentForCommand(command) {
|
|
18600
|
-
if (command === "global") {
|
|
18601
|
-
return {
|
|
18602
|
-
command: "global",
|
|
18603
|
-
kind: "global",
|
|
18604
|
-
options: projectOwnerOptions("global")
|
|
18605
|
-
};
|
|
18606
|
-
}
|
|
18607
|
-
if (command in PUBLIC_ROLE_ARGV) {
|
|
18608
|
-
const owner = command;
|
|
18609
|
-
return {
|
|
18610
|
-
command: owner,
|
|
18611
|
-
kind: owner === "analyst" ? "deterministic" : "role",
|
|
18612
|
-
options: projectOwnerOptions(owner)
|
|
18613
|
-
};
|
|
18614
|
-
}
|
|
18615
|
-
return void 0;
|
|
18616
|
-
}
|
|
18617
18577
|
function appendUsageAndExamples(lines, topic) {
|
|
18618
18578
|
const facts = projectCommandHelp(topic);
|
|
18619
18579
|
if (facts === void 0) return;
|
|
@@ -21715,10 +21675,8 @@ function createNotaryRoleRuntime(pi, dependencies, host) {
|
|
|
21715
21675
|
init_notary_contracts();
|
|
21716
21676
|
|
|
21717
21677
|
// src/countersign-role.ts
|
|
21718
|
-
init_review_submission();
|
|
21719
21678
|
init_role_submission_declarations();
|
|
21720
21679
|
init_countersign_contracts();
|
|
21721
|
-
init_countersign_contracts();
|
|
21722
21680
|
var COUNTERSIGN_TOOL_SPEC = roleSubmissionDeclaration("countersign");
|
|
21723
21681
|
|
|
21724
21682
|
// src/gleaner-left-role.ts
|
|
@@ -22003,7 +21961,7 @@ init_unknown_value();
|
|
|
22003
21961
|
init_submission_errors();
|
|
22004
21962
|
init_worker_submission_contracts();
|
|
22005
21963
|
import { execFileSync as execFileSync3 } from "node:child_process";
|
|
22006
|
-
import { existsSync as existsSync14, lstatSync as lstatSync3, readdirSync as
|
|
21964
|
+
import { existsSync as existsSync14, lstatSync as lstatSync3, readdirSync as readdirSync3, readFileSync as readFileSync5, rmdirSync, rmSync as rmSync4 } from "node:fs";
|
|
22007
21965
|
import { resolve as resolve15 } from "node:path";
|
|
22008
21966
|
var WORKER_COMMIT_BASELINE_ENTRY_TYPE = "commit-baseline";
|
|
22009
21967
|
var WORKER_COMMIT_REMINDER_BOUNCE_ENTRY_TYPE = "commit-reminder-bounce";
|
|
@@ -22070,12 +22028,12 @@ function rmOwnedDir(dir) {
|
|
|
22070
22028
|
const hookPath = resolve15(dir, HOOK_FILE);
|
|
22071
22029
|
if (!ownedHook(hookPath)) return;
|
|
22072
22030
|
rmSync4(hookPath, { force: true });
|
|
22073
|
-
if (existsSync14(dir) &&
|
|
22031
|
+
if (existsSync14(dir) && readdirSync3(dir).length === 0) rmdirSync(dir);
|
|
22074
22032
|
}
|
|
22075
22033
|
function linkedGitDirs(commonDir) {
|
|
22076
22034
|
const root = resolve15(commonDir, "worktrees");
|
|
22077
22035
|
if (!existsSync14(root)) return [];
|
|
22078
|
-
return
|
|
22036
|
+
return readdirSync3(root).map((name) => resolve15(root, name)).filter((dir) => lstatSync3(dir).isDirectory());
|
|
22079
22037
|
}
|
|
22080
22038
|
function uninstallPackageWorkerHooks(cwd) {
|
|
22081
22039
|
let inside;
|
|
@@ -1,25 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { isRecord } from "./unknown-value.js";
|
|
1
|
+
import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "./review-submission.js";
|
|
3
2
|
const COUNTERSIGN_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
|
|
4
|
-
function validateRecordedCountersignOutput(verdict) {
|
|
5
|
-
if (!isRecord(verdict)) {
|
|
6
|
-
throw new Error("Countersign verdict has no execution discriminator");
|
|
7
|
-
}
|
|
8
|
-
let status;
|
|
9
|
-
try {
|
|
10
|
-
status = verdict.status;
|
|
11
|
-
} catch {
|
|
12
|
-
throw new Error("Countersign verdict has no execution discriminator");
|
|
13
|
-
}
|
|
14
|
-
if (typeof status !== "string") {
|
|
15
|
-
throw new Error("Countersign verdict has no execution discriminator");
|
|
16
|
-
}
|
|
17
|
-
if (REVIEW_QUEUE_STATUSES.has(status)) {
|
|
18
|
-
return verdict;
|
|
19
|
-
}
|
|
20
|
-
throw new Error("Countersign verdict has no execution discriminator");
|
|
21
|
-
}
|
|
22
3
|
export {
|
|
23
|
-
COUNTERSIGN_OUTPUT_TOOL_NAME
|
|
24
|
-
validateRecordedCountersignOutput
|
|
4
|
+
COUNTERSIGN_OUTPUT_TOOL_NAME
|
|
25
5
|
};
|
package/dist/countersign-role.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import { reviewSubmissionSchema } from "./review-submission.js";
|
|
2
1
|
import { roleSubmissionDeclaration } from "./role-submission-declarations.js";
|
|
3
|
-
import { COUNTERSIGN_OUTPUT_TOOL_NAME, validateRecordedCountersignOutput, } from "./countersign-contracts.js";
|
|
4
2
|
export { COUNTERSIGN_OUTPUT_TOOL_NAME } from "./countersign-contracts.js";
|
|
5
|
-
// #836 r16 class 1: fix/note/decisionGate are LLM/human-read narrative content —
|
|
6
|
-
// no code branches on their length or nested presence. `status` alone is the
|
|
7
|
-
// machine discriminator the queue reads.
|
|
8
|
-
// #1055: the three-state field is an enum+required host generation constraint.
|
|
9
|
-
/** 给事中票庭审读五问的交卷形状(ADR 0074);形状指引,非 schema 闸。 */
|
|
10
|
-
export const countersignVerdictSchema = reviewSubmissionSchema;
|
|
11
3
|
/**
|
|
12
4
|
* 决定工具规格。生命周期装配(注册、activate、prompt 注入、singleton 检查、
|
|
13
5
|
* terminate)归注册信封 owner——src/role-runtime.ts(ADR 0018 / #572 R2 判词)。
|
package/dist/doctor-contracts.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Type } from "typebox";
|
|
2
|
-
import { canonicalJson } from "./canonical-json.js";
|
|
3
2
|
import { openToolObject } from "./open-tool-schema.js";
|
|
4
3
|
import { withTerminatingOutputDeclarations } from "./package-contracts/terminating-infrastructure.js";
|
|
5
4
|
import { isRecord } from "./unknown-value.js";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Type } from "typebox";
|
|
2
2
|
import { openToolObject } from "./open-tool-schema.js";
|
|
3
3
|
import { withTerminatingOutputDeclarations } from "./package-contracts/terminating-infrastructure.js";
|
|
4
|
-
import { isRecord } from "./unknown-value.js";
|
|
5
4
|
const GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
|
|
6
5
|
const gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
|
|
7
6
|
openToolObject(
|
|
@@ -22,24 +21,8 @@ const GLEANER_LEFT_BASE_FLAG = {
|
|
|
22
21
|
type: "string"
|
|
23
22
|
}
|
|
24
23
|
};
|
|
25
|
-
function validateRecordedGleanerLeftOutput(value) {
|
|
26
|
-
if (!isRecord(value)) {
|
|
27
|
-
throw new Error("Gleaner-left output has no execution discriminator");
|
|
28
|
-
}
|
|
29
|
-
let status;
|
|
30
|
-
try {
|
|
31
|
-
status = value.status;
|
|
32
|
-
} catch {
|
|
33
|
-
throw new Error("Gleaner-left output has no execution discriminator");
|
|
34
|
-
}
|
|
35
|
-
if (status === "completed") {
|
|
36
|
-
return value;
|
|
37
|
-
}
|
|
38
|
-
throw new Error("Gleaner-left output has no execution discriminator");
|
|
39
|
-
}
|
|
40
24
|
export {
|
|
41
25
|
GLEANER_LEFT_BASE_FLAG,
|
|
42
26
|
GLEANER_LEFT_OUTPUT_TOOL_NAME,
|
|
43
|
-
gleanerLeftOutputSchema
|
|
44
|
-
validateRecordedGleanerLeftOutput
|
|
27
|
+
gleanerLeftOutputSchema
|
|
45
28
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { GLEANER_LEFT_OUTPUT_TOOL_NAME, gleanerLeftOutputSchema,
|
|
1
|
+
import { GLEANER_LEFT_OUTPUT_TOOL_NAME, gleanerLeftOutputSchema, } from "./gleaner-left-contracts.js";
|
|
2
2
|
import { roleSubmissionDeclaration } from "./role-submission-declarations.js";
|
|
3
3
|
export { GLEANER_LEFT_OUTPUT_TOOL_NAME, gleanerLeftOutputSchema, } from "./gleaner-left-contracts.js";
|
|
4
|
-
export { validateRecordedGleanerLeftOutput };
|
|
5
4
|
/**
|
|
6
5
|
* 决定工具规格。生命周期装配归注册信封 owner——src/role-runtime.ts(ADR 0018)。
|
|
7
6
|
*/
|
|
@@ -853,13 +853,6 @@ var init_worker_output = __esm({
|
|
|
853
853
|
}
|
|
854
854
|
});
|
|
855
855
|
|
|
856
|
-
// src/canonical-json.ts
|
|
857
|
-
var init_canonical_json = __esm({
|
|
858
|
-
"src/canonical-json.ts"() {
|
|
859
|
-
"use strict";
|
|
860
|
-
}
|
|
861
|
-
});
|
|
862
|
-
|
|
863
856
|
// src/doctor-contracts.ts
|
|
864
857
|
import { Type as Type10 } from "typebox";
|
|
865
858
|
function validateDoctorSubmissionShape(value) {
|
|
@@ -872,7 +865,6 @@ var DOCTOR_EVIDENCE_TOOL_NAME, DOCTOR_OUTPUT_TOOL_NAME, DOCTOR_AUDIT_TOOL_NAME,
|
|
|
872
865
|
var init_doctor_contracts = __esm({
|
|
873
866
|
"src/doctor-contracts.ts"() {
|
|
874
867
|
"use strict";
|
|
875
|
-
init_canonical_json();
|
|
876
868
|
init_open_tool_schema();
|
|
877
869
|
init_terminating_infrastructure();
|
|
878
870
|
init_unknown_value();
|
|
@@ -1075,7 +1067,6 @@ var init_countersign_contracts = __esm({
|
|
|
1075
1067
|
"src/countersign-contracts.ts"() {
|
|
1076
1068
|
"use strict";
|
|
1077
1069
|
init_review_submission();
|
|
1078
|
-
init_unknown_value();
|
|
1079
1070
|
COUNTERSIGN_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
|
|
1080
1071
|
}
|
|
1081
1072
|
});
|
|
@@ -1088,7 +1079,6 @@ var init_gleaner_left_contracts = __esm({
|
|
|
1088
1079
|
"use strict";
|
|
1089
1080
|
init_open_tool_schema();
|
|
1090
1081
|
init_terminating_infrastructure();
|
|
1091
|
-
init_unknown_value();
|
|
1092
1082
|
GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
|
|
1093
1083
|
gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
|
|
1094
1084
|
openToolObject(
|
|
@@ -2975,8 +2965,6 @@ var init_terminating_tools = __esm({
|
|
|
2975
2965
|
init_auditor_output();
|
|
2976
2966
|
init_merger_contracts();
|
|
2977
2967
|
init_notary_contracts();
|
|
2978
|
-
init_countersign_contracts();
|
|
2979
|
-
init_gleaner_left_contracts();
|
|
2980
2968
|
init_inspector_contracts();
|
|
2981
2969
|
init_diarist_contracts();
|
|
2982
2970
|
init_secretariat_contracts();
|
|
@@ -4791,7 +4779,7 @@ var init_gatekeeper_role = __esm({
|
|
|
4791
4779
|
});
|
|
4792
4780
|
|
|
4793
4781
|
// src/package-resources/engine-material.ts
|
|
4794
|
-
import { existsSync as existsSync2,
|
|
4782
|
+
import { existsSync as existsSync2, readFileSync as readFileSync2 } from "node:fs";
|
|
4795
4783
|
import { join as join8 } from "node:path";
|
|
4796
4784
|
function pickEngineAxis(source) {
|
|
4797
4785
|
return {
|
|
@@ -4953,7 +4941,6 @@ var init_institutional_resolution = __esm({
|
|
|
4953
4941
|
// src/public-cli/config.ts
|
|
4954
4942
|
var config_exports = {};
|
|
4955
4943
|
__export(config_exports, {
|
|
4956
|
-
GATE_OFFICER_SEATS: () => GATE_OFFICER_SEATS,
|
|
4957
4944
|
buildSeatModelCliArgs: () => buildSeatModelCliArgs,
|
|
4958
4945
|
clearPersistentSeatConfig: () => clearPersistentSeatConfig,
|
|
4959
4946
|
credentialProvidersFromAuthData: () => credentialProvidersFromAuthData,
|
|
@@ -5460,7 +5447,6 @@ async function loadCredentialProviders(agentDir) {
|
|
|
5460
5447
|
throw error;
|
|
5461
5448
|
}
|
|
5462
5449
|
}
|
|
5463
|
-
var GATE_OFFICER_SEATS;
|
|
5464
5450
|
var init_config = __esm({
|
|
5465
5451
|
"src/public-cli/config.ts"() {
|
|
5466
5452
|
"use strict";
|
|
@@ -5470,9 +5456,6 @@ var init_config = __esm({
|
|
|
5470
5456
|
init_packaged_role_registry();
|
|
5471
5457
|
init_registry();
|
|
5472
5458
|
init_unknown_value();
|
|
5473
|
-
GATE_OFFICER_SEATS = PUBLIC_ROLE_RECORDS.flatMap(
|
|
5474
|
-
(record) => "provinceConfig" in record && record.provinceConfig === true ? [record.role] : []
|
|
5475
|
-
);
|
|
5476
5459
|
}
|
|
5477
5460
|
});
|
|
5478
5461
|
|
|
@@ -5962,7 +5945,7 @@ import {
|
|
|
5962
5945
|
existsSync as existsSync3,
|
|
5963
5946
|
mkdirSync as mkdirSync3,
|
|
5964
5947
|
readFileSync as readFileSync3,
|
|
5965
|
-
readdirSync as
|
|
5948
|
+
readdirSync as readdirSync2,
|
|
5966
5949
|
rmSync as rmSync3,
|
|
5967
5950
|
writeFileSync as writeFileSync2
|
|
5968
5951
|
} from "node:fs";
|
|
@@ -5994,7 +5977,7 @@ function readTicketProgressLines(subjectDirectory) {
|
|
|
5994
5977
|
const runsDir = join11(subjectDirectory, "runs");
|
|
5995
5978
|
if (!existsSync3(runsDir)) return [];
|
|
5996
5979
|
const out = [];
|
|
5997
|
-
for (const name of
|
|
5980
|
+
for (const name of readdirSync2(runsDir).sort()) {
|
|
5998
5981
|
out.push(...readProgressFile(join11(runsDir, name, LEG_PROGRESS_FILENAME)));
|
|
5999
5982
|
}
|
|
6000
5983
|
return out;
|
|
@@ -6025,7 +6008,7 @@ function nextLegReceiptIndex(runDirectory) {
|
|
|
6025
6008
|
const dir = join11(runDirectory, RECEIPTS_DIRNAME);
|
|
6026
6009
|
if (!existsSync3(dir)) return 1;
|
|
6027
6010
|
let max = 0;
|
|
6028
|
-
for (const name of
|
|
6011
|
+
for (const name of readdirSync2(dir)) {
|
|
6029
6012
|
const match = /^(\d+)\.json$/.exec(name);
|
|
6030
6013
|
if (match === null) continue;
|
|
6031
6014
|
const n = Number(match[1]);
|
|
@@ -12703,7 +12686,6 @@ function createPiRoleTurnHost(config) {
|
|
|
12703
12686
|
else env.AK_ROLE_INVOCATION_SCOPE = request.invocationScopeId;
|
|
12704
12687
|
if (request.host === void 0 || request.host.trim() === "") delete env.AK_ROLE_HOST;
|
|
12705
12688
|
else env.AK_ROLE_HOST = request.host.trim();
|
|
12706
|
-
delete env.AK_ROLE_SUMMONS_INSTRUCTION;
|
|
12707
12689
|
if (request.deliveryRequestLimit === void 0) delete env[RECEIPT_DELIVERY_LIMIT_ENV];
|
|
12708
12690
|
else env[RECEIPT_DELIVERY_LIMIT_ENV] = String(request.deliveryRequestLimit);
|
|
12709
12691
|
applyEngineChildEnv(env, request.engine);
|
|
@@ -19656,7 +19638,6 @@ __export(cli_exports, {
|
|
|
19656
19638
|
buildExplicitInternalActivationArgs: () => buildExplicitInternalActivationArgs,
|
|
19657
19639
|
commandNeedsProcessCancel: () => commandNeedsProcessCancel,
|
|
19658
19640
|
helpDocument: () => helpDocument,
|
|
19659
|
-
helpDocumentForCommand: () => helpDocumentForCommand,
|
|
19660
19641
|
projectConfigDisplaySeats: () => projectConfigDisplaySeats,
|
|
19661
19642
|
projectConfigSeatDisplay: () => projectConfigSeatDisplay,
|
|
19662
19643
|
resolveInternalRoleEntrypoint: () => resolveInternalRoleEntrypoint,
|
|
@@ -19937,31 +19918,10 @@ function loadAndValidateConfig(home, packageRoot) {
|
|
|
19937
19918
|
}
|
|
19938
19919
|
function helpDocument() {
|
|
19939
19920
|
return {
|
|
19940
|
-
executable: "ak-role",
|
|
19941
19921
|
capabilities: listHelpCapabilities(),
|
|
19942
|
-
internalEntrypoint: INTERNAL_ROLE_ENTRYPOINT_RELATIVE
|
|
19943
|
-
/** #342 structured global options from the sole option table. */
|
|
19944
|
-
globalOptions: projectOwnerOptions("global")
|
|
19922
|
+
internalEntrypoint: INTERNAL_ROLE_ENTRYPOINT_RELATIVE
|
|
19945
19923
|
};
|
|
19946
19924
|
}
|
|
19947
|
-
function helpDocumentForCommand(command) {
|
|
19948
|
-
if (command === "global") {
|
|
19949
|
-
return {
|
|
19950
|
-
command: "global",
|
|
19951
|
-
kind: "global",
|
|
19952
|
-
options: projectOwnerOptions("global")
|
|
19953
|
-
};
|
|
19954
|
-
}
|
|
19955
|
-
if (command in PUBLIC_ROLE_ARGV) {
|
|
19956
|
-
const owner = command;
|
|
19957
|
-
return {
|
|
19958
|
-
command: owner,
|
|
19959
|
-
kind: owner === "analyst" ? "deterministic" : "role",
|
|
19960
|
-
options: projectOwnerOptions(owner)
|
|
19961
|
-
};
|
|
19962
|
-
}
|
|
19963
|
-
return void 0;
|
|
19964
|
-
}
|
|
19965
19925
|
function appendUsageAndExamples(lines, topic) {
|
|
19966
19926
|
const facts = projectCommandHelp(topic);
|
|
19967
19927
|
if (facts === void 0) return;
|
|
@@ -21861,10 +21821,8 @@ function createNotaryRoleRuntime(pi, dependencies, host) {
|
|
|
21861
21821
|
init_notary_contracts();
|
|
21862
21822
|
|
|
21863
21823
|
// src/countersign-role.ts
|
|
21864
|
-
init_review_submission();
|
|
21865
21824
|
init_role_submission_declarations();
|
|
21866
21825
|
init_countersign_contracts();
|
|
21867
|
-
init_countersign_contracts();
|
|
21868
21826
|
var COUNTERSIGN_TOOL_SPEC = roleSubmissionDeclaration("countersign");
|
|
21869
21827
|
|
|
21870
21828
|
// src/gleaner-left-role.ts
|
|
@@ -21970,7 +21928,7 @@ init_unknown_value();
|
|
|
21970
21928
|
init_submission_errors();
|
|
21971
21929
|
init_worker_submission_contracts();
|
|
21972
21930
|
import { execFileSync as execFileSync3 } from "node:child_process";
|
|
21973
|
-
import { existsSync as existsSync14, lstatSync as lstatSync3, readdirSync as
|
|
21931
|
+
import { existsSync as existsSync14, lstatSync as lstatSync3, readdirSync as readdirSync3, readFileSync as readFileSync5, rmdirSync, rmSync as rmSync4 } from "node:fs";
|
|
21974
21932
|
import { resolve as resolve15 } from "node:path";
|
|
21975
21933
|
var WORKER_COMMIT_BASELINE_ENTRY_TYPE = "commit-baseline";
|
|
21976
21934
|
var WORKER_COMMIT_REMINDER_BOUNCE_ENTRY_TYPE = "commit-reminder-bounce";
|
|
@@ -22037,12 +21995,12 @@ function rmOwnedDir(dir) {
|
|
|
22037
21995
|
const hookPath = resolve15(dir, HOOK_FILE);
|
|
22038
21996
|
if (!ownedHook(hookPath)) return;
|
|
22039
21997
|
rmSync4(hookPath, { force: true });
|
|
22040
|
-
if (existsSync14(dir) &&
|
|
21998
|
+
if (existsSync14(dir) && readdirSync3(dir).length === 0) rmdirSync(dir);
|
|
22041
21999
|
}
|
|
22042
22000
|
function linkedGitDirs(commonDir) {
|
|
22043
22001
|
const root = resolve15(commonDir, "worktrees");
|
|
22044
22002
|
if (!existsSync14(root)) return [];
|
|
22045
|
-
return
|
|
22003
|
+
return readdirSync3(root).map((name) => resolve15(root, name)).filter((dir) => lstatSync3(dir).isDirectory());
|
|
22046
22004
|
}
|
|
22047
22005
|
function uninstallPackageWorkerHooks(cwd) {
|
|
22048
22006
|
let inside;
|
package/dist/inspector-role.js
CHANGED
|
@@ -4,8 +4,6 @@ import { INSPECTOR_OUTPUT_TOOL_NAME, validateRecordedInspectorOutput, } from "./
|
|
|
4
4
|
export { INSPECTOR_OUTPUT_TOOL_NAME, };
|
|
5
5
|
export { INSPECTOR_OUTPUT_TOOL_NAME as INSPECTOR_OUTPUT_TOOL };
|
|
6
6
|
export { validateRecordedInspectorOutput };
|
|
7
|
-
/** 台院事后察举交卷形状。 */
|
|
8
|
-
export const inspectorOutputSchema = inspectorSubmissionSchema;
|
|
9
7
|
/**
|
|
10
8
|
* 决定工具规格。生命周期装配归注册信封 owner——src/role-runtime.ts(ADR 0018)。
|
|
11
9
|
*/
|
package/dist/judge-role.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {} from "./host-contracts.js";
|
|
2
|
-
import { REVIEW_QUEUE_STATUSES
|
|
2
|
+
import { REVIEW_QUEUE_STATUSES } from "./review-submission.js";
|
|
3
3
|
import { registerFiledSubmissionTool } from "./filed-submission.js";
|
|
4
4
|
import { roleSubmissionDeclaration } from "./role-submission-declarations.js";
|
|
5
5
|
import {} from "./gatekeeper-role.js";
|
|
@@ -64,12 +64,6 @@ export async function runJudgeGates(input) {
|
|
|
64
64
|
}
|
|
65
65
|
return { status: "converged", passes };
|
|
66
66
|
}
|
|
67
|
-
// #836 r16 class 1: fix/classes/note/decisionGate are LLM/human-read narrative
|
|
68
|
-
// content — 符宝郎/审刑院 read the raw receipt, no code branches on their length
|
|
69
|
-
// or nested presence. `status` alone is the machine discriminator the
|
|
70
|
-
// queue reads to pick converged/continue/escalate (below).
|
|
71
|
-
// The shared open schema preserves role-specific prose without adding another contract.
|
|
72
|
-
export const judgeVerdictSchema = reviewSubmissionSchema;
|
|
73
67
|
export function createJudgeRoleRuntime(pi, dependencies) {
|
|
74
68
|
let soul;
|
|
75
69
|
let lifecycleRegistered = false;
|
|
@@ -8914,20 +8914,12 @@ var init_worker_output = __esm({
|
|
|
8914
8914
|
}
|
|
8915
8915
|
});
|
|
8916
8916
|
|
|
8917
|
-
// src/canonical-json.ts
|
|
8918
|
-
var init_canonical_json = __esm({
|
|
8919
|
-
"src/canonical-json.ts"() {
|
|
8920
|
-
"use strict";
|
|
8921
|
-
}
|
|
8922
|
-
});
|
|
8923
|
-
|
|
8924
8917
|
// src/doctor-contracts.ts
|
|
8925
8918
|
var DOCTOR_OUTPUT_TOOL_NAME, DOCTOR_AUDIT_TOOL_NAME, DOCTOR_OUTPUT_TOOL_DESCRIPTION, DOCTOR_TARGET_KINDS, DOCTOR_DISPOSITIONS, DOCTOR_PRESCRIPTION_KINDS, biteActual, biteNone, DOCTOR_BITE_KINDS, DOCTOR_STATUS_DESCRIPTION, doctorSubmissionObject, doctorSubmissionSchema, doctorEvidenceReadSchema;
|
|
8926
8919
|
var init_doctor_contracts = __esm({
|
|
8927
8920
|
"src/doctor-contracts.ts"() {
|
|
8928
8921
|
"use strict";
|
|
8929
8922
|
init_build();
|
|
8930
|
-
init_canonical_json();
|
|
8931
8923
|
init_open_tool_schema();
|
|
8932
8924
|
init_terminating_infrastructure();
|
|
8933
8925
|
init_unknown_value();
|
|
@@ -9026,7 +9018,6 @@ var init_countersign_contracts = __esm({
|
|
|
9026
9018
|
"src/countersign-contracts.ts"() {
|
|
9027
9019
|
"use strict";
|
|
9028
9020
|
init_review_submission();
|
|
9029
|
-
init_unknown_value();
|
|
9030
9021
|
COUNTERSIGN_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
|
|
9031
9022
|
}
|
|
9032
9023
|
});
|
|
@@ -9039,7 +9030,6 @@ var init_gleaner_left_contracts = __esm({
|
|
|
9039
9030
|
init_build();
|
|
9040
9031
|
init_open_tool_schema();
|
|
9041
9032
|
init_terminating_infrastructure();
|
|
9042
|
-
init_unknown_value();
|
|
9043
9033
|
GLEANER_LEFT_OUTPUT_TOOL_NAME = "ak_gleaner_left_output";
|
|
9044
9034
|
gleanerLeftOutputSchema = withTerminatingOutputDeclarations(
|
|
9045
9035
|
openToolObject(
|
|
@@ -10020,7 +10010,6 @@ var init_institutional_resolution = __esm({
|
|
|
10020
10010
|
});
|
|
10021
10011
|
|
|
10022
10012
|
// src/public-cli/config.ts
|
|
10023
|
-
var GATE_OFFICER_SEATS;
|
|
10024
10013
|
var init_config2 = __esm({
|
|
10025
10014
|
"src/public-cli/config.ts"() {
|
|
10026
10015
|
"use strict";
|
|
@@ -10030,9 +10019,6 @@ var init_config2 = __esm({
|
|
|
10030
10019
|
init_packaged_role_registry();
|
|
10031
10020
|
init_registry();
|
|
10032
10021
|
init_unknown_value();
|
|
10033
|
-
GATE_OFFICER_SEATS = PUBLIC_ROLE_RECORDS.flatMap(
|
|
10034
|
-
(record) => "provinceConfig" in record && record.provinceConfig === true ? [record.role] : []
|
|
10035
|
-
);
|
|
10036
10022
|
}
|
|
10037
10023
|
});
|
|
10038
10024
|
|
|
@@ -10367,8 +10353,6 @@ var init_terminating_tools = __esm({
|
|
|
10367
10353
|
init_auditor_output();
|
|
10368
10354
|
init_merger_contracts();
|
|
10369
10355
|
init_notary_contracts();
|
|
10370
|
-
init_countersign_contracts();
|
|
10371
|
-
init_gleaner_left_contracts();
|
|
10372
10356
|
init_inspector_contracts();
|
|
10373
10357
|
init_diarist_contracts();
|
|
10374
10358
|
init_secretariat_contracts();
|
package/dist/notary-contracts.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME
|
|
1
|
+
import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "./review-submission.js";
|
|
2
2
|
import { isRecord } from "./unknown-value.js";
|
|
3
3
|
const NOTARY_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
|
|
4
4
|
const NOTARY_SOURCE_RUN_FLAG = {
|
|
@@ -15,18 +15,6 @@ const NOTARY_TICKET_FLAG = {
|
|
|
15
15
|
type: "string"
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
const notaryOutputSchema = notaryReviewSubmissionSchema;
|
|
19
|
-
function projectLawfulNotaryOutput(value) {
|
|
20
|
-
return isRecord(value) ? value : void 0;
|
|
21
|
-
}
|
|
22
|
-
function retainNotarySubmission(value) {
|
|
23
|
-
if (value === void 0) return { missing: "arguments" };
|
|
24
|
-
try {
|
|
25
|
-
return structuredClone(value);
|
|
26
|
-
} catch {
|
|
27
|
-
return value;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
18
|
function validateRecordedNotaryOutput(value) {
|
|
31
19
|
if (!isRecord(value)) {
|
|
32
20
|
throw new Error("Notary output is not an object");
|
|
@@ -37,8 +25,5 @@ export {
|
|
|
37
25
|
NOTARY_OUTPUT_TOOL_NAME,
|
|
38
26
|
NOTARY_SOURCE_RUN_FLAG,
|
|
39
27
|
NOTARY_TICKET_FLAG,
|
|
40
|
-
notaryOutputSchema,
|
|
41
|
-
projectLawfulNotaryOutput,
|
|
42
|
-
retainNotarySubmission,
|
|
43
28
|
validateRecordedNotaryOutput
|
|
44
29
|
};
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* Public Auditor (审刑院) terminating receipt contracts (#675 / #754).
|
|
3
3
|
* Lawful explicit releases: converged | continue | escalate.
|
|
4
4
|
*/
|
|
5
|
-
import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME
|
|
5
|
+
import { REVIEW_SUBMISSION_OUTPUT_TOOL_NAME } from "../review-submission.js";
|
|
6
6
|
import { isRecord } from "../unknown-value.js";
|
|
7
7
|
export const AUDITOR_OUTPUT_TOOL_NAME = REVIEW_SUBMISSION_OUTPUT_TOOL_NAME;
|
|
8
|
-
export const auditorOutputSchema = reviewSubmissionSchema;
|
|
9
8
|
/** #836: no field drop — original object is the receipt. */
|
|
10
9
|
export function projectLawfulAuditorOutput(value) {
|
|
11
10
|
return isRecord(value) ? value : undefined;
|
|
@@ -23,9 +23,6 @@ function asStringArray(value) {
|
|
|
23
23
|
if (!Array.isArray(value)) return [];
|
|
24
24
|
return value.filter((item) => typeof item === "string");
|
|
25
25
|
}
|
|
26
|
-
function projectLawfulGatekeeperOutput(value) {
|
|
27
|
-
return isRecord(value) ? value : void 0;
|
|
28
|
-
}
|
|
29
26
|
function validateRecordedGatekeeperOutput(value) {
|
|
30
27
|
if (!isRecord(value)) throw new Error("Gatekeeper output is not an object");
|
|
31
28
|
return value;
|
|
@@ -34,6 +31,5 @@ export {
|
|
|
34
31
|
GATEKEEPER_OUTPUT_TOOL_NAME,
|
|
35
32
|
gatekeeperDecisionSchema,
|
|
36
33
|
gatekeeperOutputSchema,
|
|
37
|
-
projectLawfulGatekeeperOutput,
|
|
38
34
|
validateRecordedGatekeeperOutput
|
|
39
35
|
};
|
|
@@ -13,14 +13,12 @@ import { NAVIGATOR_OUTPUT_TOOL_NAME, validateRecordedNavigatorOutput } from "./n
|
|
|
13
13
|
import { AUDITOR_OUTPUT_TOOL_NAME, validateRecordedAuditorOutput } from "./auditor-output.js";
|
|
14
14
|
import { MERGER_OUTPUT_TOOL_NAME, validateMergerOutput } from "../merger-contracts.js";
|
|
15
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
16
|
import { INSPECTOR_OUTPUT_TOOL_NAME, validateRecordedInspectorOutput } from "../inspector-contracts.js";
|
|
19
17
|
import { DIARIST_OUTPUT_TOOL_NAME, validateRecordedDiaristOutput } from "../diarist-contracts.js";
|
|
20
18
|
import { SECRETARIAT_OUTPUT_TOOL_NAME } from "../secretariat-contracts.js";
|
|
21
19
|
import { CODER_OUTPUT_TOOL_NAME, FIXER_OUTPUT_TOOL_NAME, validateAcceptedWorkerDetails, } from "./worker-output.js";
|
|
22
20
|
import { isRecord } from "../unknown-value.js";
|
|
23
|
-
export { CODER_OUTPUT_TOOL_NAME, COLLECTOR_OUTPUT_TOOL, FIXER_OUTPUT_TOOL_NAME, JUDGE_OUTPUT_TOOL_NAME, REVIEWER_OUTPUT_TOOL_NAME, MERGER_OUTPUT_TOOL_NAME, validateReviewerIntent, validateAcceptedWorkerDetails, validateDoctorSubmissionShape, validateRecordedDoctorOutput, validateMergerOutput, validateRecordedNotaryOutput,
|
|
21
|
+
export { CODER_OUTPUT_TOOL_NAME, COLLECTOR_OUTPUT_TOOL, FIXER_OUTPUT_TOOL_NAME, JUDGE_OUTPUT_TOOL_NAME, REVIEWER_OUTPUT_TOOL_NAME, MERGER_OUTPUT_TOOL_NAME, validateReviewerIntent, validateAcceptedWorkerDetails, validateDoctorSubmissionShape, validateRecordedDoctorOutput, validateMergerOutput, validateRecordedNotaryOutput, validateRecordedInspectorOutput, validateRecordedGatekeeperOutput, validateRecordedNavigatorOutput, validateRecordedAuditorOutput, validateRecordedDiaristOutput, };
|
|
24
22
|
export const TERMINATING_TOOL_NAMES = [...new Set([
|
|
25
23
|
...PACKAGED_ROLE_REGISTRY.map((entry) => entry.outputTool),
|
|
26
24
|
...LEGACY_REVIEW_OUTPUT_ROLES.keys(),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { existsSync,
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
const ENGINE_MATERIAL_RELATIVE_ROOT = "resources/engines";
|
|
4
4
|
const ENGINE_DISPATCH_RELATIVE_PATH = "resources/engine-dispatch.md";
|
|
@@ -30,12 +30,6 @@ function resolveEngineMaterialDirectory(packageRoot) {
|
|
|
30
30
|
function resolveEngineDispatchMaterialPath(packageRoot) {
|
|
31
31
|
return join(packageRoot, ENGINE_DISPATCH_RELATIVE_PATH);
|
|
32
32
|
}
|
|
33
|
-
function listEngineMaterialNames(packageRoot) {
|
|
34
|
-
const dir = resolveEngineMaterialDirectory(packageRoot);
|
|
35
|
-
if (!existsSync(dir)) return Object.freeze([]);
|
|
36
|
-
const names = readdirSync(dir).filter((entry) => entry.endsWith(".md")).map((entry) => entry.slice(0, -".md".length)).filter((stem) => isEngineNameSyntax(stem)).sort();
|
|
37
|
-
return Object.freeze([...names]);
|
|
38
|
-
}
|
|
39
33
|
function resolveEngineMaterialPath(packageRoot, name) {
|
|
40
34
|
const legal = assertLegalEngineName(name);
|
|
41
35
|
return join(resolveEngineMaterialDirectory(packageRoot), `${legal}.md`);
|
|
@@ -80,7 +74,6 @@ export {
|
|
|
80
74
|
engineSessionMaterialFromOptions,
|
|
81
75
|
engineSessionReadingMaterial,
|
|
82
76
|
isEngineNameSyntax,
|
|
83
|
-
listEngineMaterialNames,
|
|
84
77
|
pickEngineAxis,
|
|
85
78
|
resolveEngineDispatchMaterialPath,
|
|
86
79
|
resolveEngineMaterialDirectory,
|