spec-controller 0.1.66 → 0.1.68

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.
Files changed (34) hide show
  1. package/dist/cli-balance/cli.d.ts +2 -1
  2. package/dist/cli-balance/cli.d.ts.map +1 -1
  3. package/dist/cli-balance/cli.js +28 -58
  4. package/dist/cli-balance/cli.js.map +1 -1
  5. package/dist/cli-balance/corpusDir.d.ts +1 -1
  6. package/dist/cli-balance/corpusDir.d.ts.map +1 -1
  7. package/dist/cli-balance/evidenceInputs.d.ts +2 -3
  8. package/dist/cli-balance/evidenceInputs.d.ts.map +1 -1
  9. package/dist/cli-balance/evidenceInputs.js +0 -6
  10. package/dist/cli-balance/evidenceInputs.js.map +1 -1
  11. package/dist/cli-balance/reRender.d.ts +1 -1
  12. package/dist/cli-balance/reRender.d.ts.map +1 -1
  13. package/dist/cli-balance/reRender.js +2 -2
  14. package/dist/cli-balance/reRender.js.map +1 -1
  15. package/dist/cli-balance/unreadableInputs.d.ts +41 -13
  16. package/dist/cli-balance/unreadableInputs.d.ts.map +1 -1
  17. package/dist/cli-balance/unreadableInputs.js +37 -64
  18. package/dist/cli-balance/unreadableInputs.js.map +1 -1
  19. package/dist/ingest/ingestQualityChecks.d.ts +11 -19
  20. package/dist/ingest/ingestQualityChecks.d.ts.map +1 -1
  21. package/dist/ingest/ingestQualityChecks.js +22 -67
  22. package/dist/ingest/ingestQualityChecks.js.map +1 -1
  23. package/dist/ingest/inputReading.d.ts +12 -0
  24. package/dist/ingest/inputReading.d.ts.map +1 -0
  25. package/dist/ingest/inputReading.js +28 -0
  26. package/dist/ingest/inputReading.js.map +1 -0
  27. package/dist/ingest/reportReading.d.ts +20 -0
  28. package/dist/ingest/reportReading.d.ts.map +1 -0
  29. package/dist/ingest/reportReading.js +28 -0
  30. package/dist/ingest/reportReading.js.map +1 -0
  31. package/dist/run-management/resolveRunInputs.d.ts.map +1 -1
  32. package/dist/run-management/resolveRunInputs.js +14 -1
  33. package/dist/run-management/resolveRunInputs.js.map +1 -1
  34. package/package.json +2 -2
@@ -1,6 +1,7 @@
1
+ import { type ReportsReading } from "./unreadableInputs.js";
1
2
  export declare function checkLegacyJson(args: Record<string, string>): string | null;
2
3
  export declare function sourceTarget(args: Record<string, string>): string;
3
4
  export declare function checkInputsExist(args: Record<string, string>, exists: (path: string) => boolean): string | null;
4
- export declare function checkInputsParse(args: Record<string, string>, read: (path: string) => string): string | null;
5
+ export declare function checkInputsParse(reports: ReportsReading): string | null;
5
6
  export declare function runBalance(argv: string[], ownRunDir?: string): boolean;
6
7
  //# sourceMappingURL=cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli-balance/cli.ts"],"names":[],"mappings":"AAwDA,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAK3E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAEjE;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAChC,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAC7B,MAAM,GAAG,IAAI,CAkBf;AAqBD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli-balance/cli.ts"],"names":[],"mappings":"AAkBA,OAAO,EAWL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AA2B/B,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAK3E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAEjE;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAChC,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAOvE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtE"}
@@ -1,7 +1,7 @@
1
- import { existsSync, readFileSync } from "node:fs";
1
+ import { existsSync } from "node:fs";
2
2
  import { dirname } from "node:path";
3
3
  import { runReconcile, readCorpus, readWorkflows, featureNamesOf, evidenceObligationsOf, } from "../ingest/ingestQualityChecks.js";
4
- import { EVIDENCE_INPUTS, inputPathsOf, reportsOf, runInputsOf } from "./evidenceInputs.js";
4
+ import { EVIDENCE_INPUTS, inputPathsOf, runInputsOf } from "./evidenceInputs.js";
5
5
  import { planOutput } from "./emit/format.js";
6
6
  import { writeOutputs } from "./emit/writer.js";
7
7
  import { namesStdout, refuse, settlingRefusal, stdoutIdentity } from "../outputLocation.js";
@@ -9,7 +9,8 @@ import { identifiedInputs, inputsReadBy, NODE_INPUT_READER } from "./inputsRead.
9
9
  import { DEFAULT_FEATURES_DIR } from "../defaultCorpus.js";
10
10
  import { corpusDirOf } from "./corpusDir.js";
11
11
  import { checkReRenderFlags } from "./reRender.js";
12
- import { checkInputPaths, checkWorkflowsParse, checkInputShapes, corpusDirRefusal, checkSavedReconciliation, jsonInputsOf, reasonOf, reRenderOrRefusal, } from "./unreadableInputs.js";
12
+ import { checkInputPaths, checkWorkflowsParse, checkInputShapes, corpusDirRefusal, checkSavedReconciliation, jsonInputsOf, readReports, reportRefusal, reRenderOrRefusal, savedReportRefusal, } from "./unreadableInputs.js";
13
+ import { readDocument } from "../ingest/reportReading.js";
13
14
  import { statusFor } from "./exitStatus.js";
14
15
  import { verdictCode, } from "@3f-consulting/spec-controller-core";
15
16
  import { resolveSourceSha, resolveTargetOrigin, resolveTargetRoot, resolveToolIdentity } from "../run-management/resolveRunInputs.js";
@@ -21,9 +22,6 @@ function collectFormatSpecs(argv) {
21
22
  // checkMissingValues has already refused a --format given no value.
22
23
  return argv.flatMap((token, i) => (token === "--format" ? [argv[i + 1]] : []));
23
24
  }
24
- function readText(path) {
25
- return readFileSync(path, "utf8");
26
- }
27
25
  export function checkLegacyJson(args) {
28
26
  if (args["json"] !== undefined) {
29
27
  return APP_MESSAGES[AppMessage.LegacyJsonRemoved]();
@@ -42,36 +40,13 @@ export function checkInputsExist(args, exists) {
42
40
  }
43
41
  return null;
44
42
  }
45
- export function checkInputsParse(args, read) {
46
- for (const { flag, report } of EVIDENCE_INPUTS) {
47
- const path = args[flag];
48
- if (path === undefined || report?.format !== "json")
43
+ export function checkInputsParse(reports) {
44
+ for (const file of reports.files) {
45
+ const { reading } = file;
46
+ if (!file.flagged || file.report.format !== "json")
49
47
  continue;
50
- let text;
51
- try {
52
- text = read(path);
53
- }
54
- catch (err) {
55
- return APP_MESSAGES[AppMessage.CouldNotBeReadAt](APP_MESSAGES[AppMessage.FlaggedFile](`--${flag}`), path, reasonOf(err));
56
- }
57
- try {
58
- JSON.parse(text);
59
- }
60
- catch (err) {
61
- return APP_MESSAGES[AppMessage.NotValidJson](APP_MESSAGES[AppMessage.FlaggedReport](`--${flag}`), path, reasonOf(err));
62
- }
63
- }
64
- return null;
65
- }
66
- function checkRenderFromJson(args, read) {
67
- const path = args["render-from-json"];
68
- if (path === undefined)
69
- return null;
70
- try {
71
- JSON.parse(read(path));
72
- }
73
- catch (err) {
74
- return APP_MESSAGES[AppMessage.CouldNotBeReadAt](APP_MESSAGES[AppMessage.FlaggedSavedReport]("--render-from-json"), path, reasonOf(err));
48
+ if (reading.kind === "read-fault" || reading.kind === "unparseable")
49
+ return reportRefusal({ ...file, reading });
75
50
  }
76
51
  return null;
77
52
  }
@@ -107,10 +82,10 @@ function reconcile(argv, ownRunDir) {
107
82
  refuse(missingValueError);
108
83
  if (renderSavedReport(args))
109
84
  return true;
110
- const { corpus, workflows } = refuseUnreadableInputs(args);
85
+ const { corpus, workflows, reports } = refuseUnreadableInputs(args);
111
86
  const inputs = inputPathsOf(args);
112
87
  const root = resolveTargetRoot({ features: inputs.features });
113
- const balance = runReconcile(reportsOf(inputs), root, corpus, workflows);
88
+ const balance = runReconcile(reports, root, corpus, workflows);
114
89
  const ctx = runContextOf(args, inputs, runStart, root);
115
90
  const planResult = planOutput(collectFormatSpecs(argv), namesStdout);
116
91
  if (!planResult.ok)
@@ -126,17 +101,16 @@ function renderSavedReport(args) {
126
101
  const ignoredFlagError = checkReRenderFlags(args);
127
102
  if (ignoredFlagError)
128
103
  refuse(ignoredFlagError);
129
- const unreadableSavedReportError = checkRenderFromJson(args, readText);
130
- if (unreadableSavedReportError)
131
- refuse(unreadableSavedReportError);
132
104
  const rehydratePath = args["render-from-json"];
133
105
  if (rehydratePath === undefined)
134
106
  return false;
135
- const savedJson = readText(rehydratePath);
136
- const notSavedError = checkSavedReconciliation(rehydratePath, savedJson);
107
+ const savedReading = readDocument(rehydratePath, "json");
108
+ if (savedReading.kind !== "parsed")
109
+ refuse(savedReportRefusal(rehydratePath, savedReading));
110
+ const notSavedError = checkSavedReconciliation(rehydratePath, savedReading.document);
137
111
  if (notSavedError)
138
112
  refuse(notSavedError);
139
- const saved = reRenderOrRefusal(rehydratePath, savedJson, args["strict"] !== undefined);
113
+ const saved = reRenderOrRefusal(rehydratePath, savedReading.document, args["strict"] !== undefined);
140
114
  if (typeof saved === "string")
141
115
  refuse(saved);
142
116
  process.stdout.write(saved.markdown + "\n");
@@ -148,7 +122,8 @@ function refuseUnreadableInputs(args) {
148
122
  const missingInputError = checkInputsExist(args, existsSync);
149
123
  if (missingInputError)
150
124
  refuse(missingInputError);
151
- const unparseableInputError = checkInputsParse(args, readText);
125
+ const reportsReading = readReports(jsonInputsOf(args, existsSync));
126
+ const unparseableInputError = checkInputsParse(reportsReading);
152
127
  if (unparseableInputError)
153
128
  refuse(unparseableInputError);
154
129
  const corpusDir = corpusDirOf(args);
@@ -156,25 +131,20 @@ function refuseUnreadableInputs(args) {
156
131
  refuse(corpusDirRefusal(corpusDir));
157
132
  const corpusReading = readCorpus(corpusDir);
158
133
  const workflowReading = readWorkflows(args["ci"]);
159
- const unreadablePathError = checkInputPaths(args, corpusReading, workflowReading);
160
- if (unreadablePathError)
161
- refuse(unreadablePathError);
162
- const unparseableWorkflowError = checkWorkflowsParse(args, workflowReading);
163
- if (unparseableWorkflowError)
164
- refuse(unparseableWorkflowError);
165
- const misshapenInputError = checkInputShapes(jsonInputsOf(args, existsSync), readText);
166
- if (misshapenInputError)
167
- refuse(misshapenInputError);
134
+ if (corpusReading.kind === "read-fault")
135
+ refuse(checkInputPaths(args, corpusReading, workflowReading));
136
+ if (workflowReading.kind === "read-fault")
137
+ refuse(checkInputPaths(args, corpusReading, workflowReading));
138
+ if (workflowReading.kind === "unparseable")
139
+ refuse(checkWorkflowsParse(args, workflowReading));
140
+ if (reportsReading.kind === "faulty")
141
+ refuse(checkInputShapes(reportsReading));
168
142
  if (corpusReading.kind === "unparseable") {
169
143
  refuse(corpusReading.faults
170
144
  .map(({ file, message }) => APP_MESSAGES[AppMessage.CorpusFileUnparseable](APP_MESSAGES[AppMessage.FlaggedCorpus]("--features"), file, message))
171
145
  .join("\n"));
172
146
  }
173
- // A read fault was refused by checkInputPaths above, and a parse fault by the checks after it, so both were read.
174
- return {
175
- corpus: corpusReading.kind === "read" ? corpusReading.corpus : [],
176
- workflows: workflowReading.kind === "read" ? workflowReading.workflows : [],
177
- };
147
+ return { corpus: corpusReading.corpus, workflows: workflowReading.workflows, reports: reportsReading.reports };
178
148
  }
179
149
  function runContextOf(args, inputs, runStart, root) {
180
150
  const targetDir = args["features"] !== undefined ? dirname(args["features"]) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli-balance/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli-balance/cli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { InputReadFault } from "../ingest/ingestQualityChecks.js";
1
+ import type { InputReadFault } from "../ingest/inputReading.js";
2
2
  export declare function corpusDirOf(args: Record<string, string>): string | InputReadFault;
3
3
  //# sourceMappingURL=corpusDir.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"corpusDir.d.ts","sourceRoot":"","sources":["../../src/cli-balance/corpusDir.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,cAAc,CAQjF"}
1
+ {"version":3,"file":"corpusDir.d.ts","sourceRoot":"","sources":["../../src/cli-balance/corpusDir.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,cAAc,CAQjF"}
@@ -1,8 +1,8 @@
1
1
  import { AppMessage, type PlainAppMessage } from "../messages.js";
2
2
  import { type Shape } from "../ingest/inputShapes.js";
3
- import type { EvidenceReader, EvidenceReport } from "../ingest/ingestQualityChecks.js";
3
+ import type { EvidenceReader } from "../ingest/ingestQualityChecks.js";
4
+ import type { ReportFormat } from "../ingest/reportReading.js";
4
5
  import type { RunInput, RunInputName } from "@3f-consulting/spec-controller-core";
5
- export type ReportFormat = "json" | "json-naming-its-shape" | "junit-xml" | "junit-xml-or-one-suite";
6
6
  export interface ReportInput {
7
7
  readonly reader: EvidenceReader;
8
8
  readonly format: ReportFormat;
@@ -132,6 +132,5 @@ export type InputPaths = Readonly<Partial<Record<InputKey, string>>>;
132
132
  export declare function inputPathsOf(args: Readonly<Record<string, string>>): InputPaths;
133
133
  export declare const INPUT_NAMES: readonly RunInputName[];
134
134
  export declare function runInputsOf(paths: InputPaths): RunInput[];
135
- export declare function reportsOf(paths: InputPaths): EvidenceReport[];
136
135
  export {};
137
136
  //# sourceMappingURL=evidenceInputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evidenceInputs.d.ts","sourceRoot":"","sources":["../../src/cli-balance/evidenceInputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAOL,KAAK,KAAK,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAElF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,uBAAuB,GAAG,WAAW,GAAG,wBAAwB,CAAC;AAErG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC;IACnG,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAID,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4G+B,CAAC;AAE9C,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAAa,CAAC;AAElE,KAAK,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAErE,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAE/E;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,YAAY,EAA+E,CAAC;AAE/H,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,EAAE,CAKzD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,EAAE,CAK7D"}
1
+ {"version":3,"file":"evidenceInputs.d.ts","sourceRoot":"","sources":["../../src/cli-balance/evidenceInputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAOL,KAAK,KAAK,EACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAElF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC;IACnG,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAID,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4G+B,CAAC;AAE9C,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAAa,CAAC;AAElE,KAAK,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAErE,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,UAAU,CAE/E;AAED,eAAO,MAAM,WAAW,EAAE,SAAS,YAAY,EAA+E,CAAC;AAE/H,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,EAAE,CAKzD"}
@@ -122,10 +122,4 @@ export function runInputsOf(paths) {
122
122
  return path === undefined ? input : { ...input, path };
123
123
  });
124
124
  }
125
- export function reportsOf(paths) {
126
- return EVIDENCE_INPUTS.flatMap((input) => {
127
- const path = paths[input.key];
128
- return input.report === undefined || path === undefined ? [] : [{ reader: input.report.reader, path }];
129
- });
130
- }
131
125
  //# sourceMappingURL=evidenceInputs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evidenceInputs.js","sourceRoot":"","sources":["../../src/cli-balance/evidenceInputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evidenceInputs.js","sourceRoot":"","sources":["../../src/cli-balance/evidenceInputs.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ export interface ReRendered {
3
3
  readonly markdown: string;
4
4
  readonly code: VerdictCode;
5
5
  }
6
- export declare function reRender(savedJson: string, strictGiven: boolean): ReRendered;
6
+ export declare function reRender(document: unknown, strictGiven: boolean): ReRendered;
7
7
  export declare function checkReRenderFlags(args: Record<string, string>): string | null;
8
8
  //# sourceMappingURL=reRender.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reRender.d.ts","sourceRoot":"","sources":["../../src/cli-balance/reRender.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAIpF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,CAQ5E;AAID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAK9E"}
1
+ {"version":3,"file":"reRender.d.ts","sourceRoot":"","sources":["../../src/cli-balance/reRender.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAIpF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,CAQ5E;AAID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAK9E"}
@@ -1,8 +1,8 @@
1
1
  import { renderReport, verdictCode } from "@3f-consulting/spec-controller-core";
2
2
  import { APP_MESSAGES, AppMessage } from "../messages.js";
3
3
  import { INPUT_NAMES } from "./evidenceInputs.js";
4
- export function reRender(savedJson, strictGiven) {
5
- const saved = JSON.parse(savedJson);
4
+ export function reRender(document, strictGiven) {
5
+ const saved = document;
6
6
  const strict = saved.runProvenance.strict === true || strictGiven;
7
7
  const report = { ...saved, runProvenance: { ...saved.runProvenance, strict } };
8
8
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"reRender.js","sourceRoot":"","sources":["../../src/cli-balance/reRender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOlD,MAAM,UAAU,QAAQ,CAAC,SAAiB,EAAE,WAAoB;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAgB,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,IAAI,WAAW,CAAC;IAClE,MAAM,MAAM,GAAgB,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAC5F,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC;QAC3C,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;KACpG,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAEtG,MAAM,UAAU,kBAAkB,CAAC,IAA4B;IAC7D,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"reRender.js","sourceRoot":"","sources":["../../src/cli-balance/reRender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOlD,MAAM,UAAU,QAAQ,CAAC,QAAiB,EAAE,WAAoB;IAC9D,MAAM,KAAK,GAAG,QAAuB,CAAC;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,IAAI,WAAW,CAAC;IAClE,MAAM,MAAM,GAAgB,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE,GAAG,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;IAC5F,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC;QAC3C,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;KACpG,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAEtG,MAAM,UAAU,kBAAkB,CAAC,IAA4B;IAC7D,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;AACpE,CAAC"}
@@ -1,24 +1,52 @@
1
- import { type CorpusReading, type InputReadFault, type WorkflowReading } from "../ingest/ingestQualityChecks.js";
2
- import { type Shape } from "../ingest/inputShapes.js";
1
+ import { type CorpusReading, type EvidenceReport, type WorkflowReading } from "../ingest/ingestQualityChecks.js";
2
+ import { type InputReadFault, type ReadFault } from "../ingest/inputReading.js";
3
+ import { type DocumentReading, type ReportReading } from "../ingest/reportReading.js";
3
4
  import { type ReRendered } from "./reRender.js";
4
- interface Syntax {
5
- readonly parse: (text: string) => unknown;
6
- readonly notValid: (subject: string, writer: string, path: string, reason: string) => string;
7
- }
5
+ import { type ReportInput } from "./evidenceInputs.js";
8
6
  export interface JsonInput {
9
7
  readonly subject: string;
10
8
  readonly path: string;
11
- readonly shape: Shape;
12
- readonly writer: string;
13
- readonly syntax: Syntax;
9
+ readonly report: ReportInput;
10
+ readonly flagged: boolean;
14
11
  }
15
12
  export declare function jsonInputsOf(args: Record<string, string>, exists: (path: string) => boolean): JsonInput[];
16
- export declare function reasonOf(err: unknown): string;
17
- export declare function checkInputShapes(inputs: readonly JsonInput[], read: (path: string) => string): string | null;
13
+ interface ReadReport extends JsonInput {
14
+ readonly reading: ReportReading;
15
+ }
16
+ export type FaultyReport = ReadReport & {
17
+ readonly reading: Exclude<ReportReading, {
18
+ kind: "parsed";
19
+ }>;
20
+ };
21
+ export type ReportsReading = {
22
+ readonly kind: "read";
23
+ readonly files: readonly ReadReport[];
24
+ readonly reports: readonly EvidenceReport[];
25
+ } | {
26
+ readonly kind: "faulty";
27
+ readonly files: readonly ReadReport[];
28
+ readonly first: FaultyReport;
29
+ };
30
+ type FaultyReports = Extract<ReportsReading, {
31
+ kind: "faulty";
32
+ }>;
33
+ export declare function readReports(inputs: readonly JsonInput[], read?: (path: string) => string): ReportsReading;
34
+ export declare function reportRefusal({ subject, path, report, reading }: FaultyReport): string;
35
+ export declare function checkInputShapes(reports: FaultyReports): string;
36
+ export declare function checkInputShapes(reports: ReportsReading): string | null;
18
37
  export declare function corpusDirRefusal(fault: InputReadFault): string;
38
+ export declare function checkInputPaths(args: Record<string, string>, corpusReading: ReadFault, workflowReading: WorkflowReading): string;
39
+ export declare function checkInputPaths(args: Record<string, string>, corpusReading: CorpusReading, workflowReading: ReadFault): string;
19
40
  export declare function checkInputPaths(args: Record<string, string>, corpusReading: CorpusReading, workflowReading: WorkflowReading): string | null;
20
- export declare function checkSavedReconciliation(path: string, savedJson: string): string | null;
21
- export declare function reRenderOrRefusal(path: string, savedJson: string, strict: boolean): ReRendered | string;
41
+ export declare function savedReportRefusal(path: string, reading: Exclude<DocumentReading, {
42
+ kind: "parsed";
43
+ }>): string;
44
+ export declare function checkSavedReconciliation(path: string, saved: unknown): string | null;
45
+ export declare function reRenderOrRefusal(path: string, saved: unknown, strict: boolean): ReRendered | string;
46
+ type UnparseableWorkflows = Extract<WorkflowReading, {
47
+ kind: "unparseable";
48
+ }>;
49
+ export declare function checkWorkflowsParse(args: Record<string, string>, workflowReading: UnparseableWorkflows): string;
22
50
  export declare function checkWorkflowsParse(args: Record<string, string>, workflowReading: WorkflowReading): string | null;
23
51
  export {};
24
52
  //# sourceMappingURL=unreadableInputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unreadableInputs.d.ts","sourceRoot":"","sources":["../../src/cli-balance/unreadableInputs.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAsC,KAAK,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAG1F,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAI1D,UAAU,MAAM;IACd,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9F;AAsBD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAmBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,EAAE,CASzG;AA4BD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE7C;AAoBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,CAM5G;AAMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAE9D;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,GAC/B,MAAM,GAAG,IAAI,CAaf;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIvF;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAUvG;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAIjH"}
1
+ {"version":3,"file":"unreadableInputs.d.ts","sourceRoot":"","sources":["../../src/cli-balance/unreadableInputs.ts"],"names":[],"mappings":"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"}
@@ -1,42 +1,18 @@
1
1
  import { statSync } from "node:fs";
2
2
  import { DEFAULT_PACKAGE_JSON, } from "../ingest/ingestQualityChecks.js";
3
+ import { readUtf8, reasonOf } from "../ingest/inputReading.js";
3
4
  import { SAVED_RECONCILIATION, shapeFaultIn } from "../ingest/inputShapes.js";
4
5
  import { junitReportPathsOf } from "../ingest/junitReportPaths.js";
5
- import { parseJunitXml, parseJunitXmlLiftingBareSuite } from "../ingest/junitXml.js";
6
+ import { readReport } from "../ingest/reportReading.js";
6
7
  import { reRender } from "./reRender.js";
7
8
  import { APP_MESSAGES, AppMessage } from "../messages.js";
8
9
  import { EVIDENCE_INPUTS } from "./evidenceInputs.js";
9
- const JSON_SYNTAX = {
10
- parse: (text) => JSON.parse(text),
11
- notValid: (subject, _writer, path, reason) => APP_MESSAGES[AppMessage.NotValidJson](subject, path, reason),
10
+ const NOT_VALID_IN = {
11
+ json: (subject, _writer, path, reason) => APP_MESSAGES[AppMessage.NotValidJson](subject, path, reason),
12
+ "json-naming-its-shape": APP_MESSAGES[AppMessage.NotValidJsonInShape],
13
+ "junit-xml": APP_MESSAGES[AppMessage.NotValidXml],
14
+ "junit-xml-or-one-suite": APP_MESSAGES[AppMessage.NotValidXml],
12
15
  };
13
- const JSON_SYNTAX_NAMING_SHAPE = {
14
- parse: (text) => JSON.parse(text),
15
- notValid: APP_MESSAGES[AppMessage.NotValidJsonInShape],
16
- };
17
- const XML_SYNTAX = {
18
- parse: parseJunitXml,
19
- notValid: APP_MESSAGES[AppMessage.NotValidXml],
20
- };
21
- const XML_SYNTAX_LIFTING_BARE_SUITE = {
22
- parse: parseJunitXmlLiftingBareSuite,
23
- notValid: APP_MESSAGES[AppMessage.NotValidXml],
24
- };
25
- const SYNTAX_OF = {
26
- json: JSON_SYNTAX,
27
- "json-naming-its-shape": JSON_SYNTAX_NAMING_SHAPE,
28
- "junit-xml": XML_SYNTAX,
29
- "junit-xml-or-one-suite": XML_SYNTAX_LIFTING_BARE_SUITE,
30
- };
31
- function jsonInputOf(report, subject, path) {
32
- return {
33
- subject,
34
- path,
35
- shape: report.shape,
36
- writer: APP_MESSAGES[report.writer](),
37
- syntax: SYNTAX_OF[report.format],
38
- };
39
- }
40
16
  export function jsonInputsOf(args, exists) {
41
17
  const given = EVIDENCE_INPUTS.flatMap(({ flag, report }) => {
42
18
  const path = args[flag];
@@ -44,13 +20,13 @@ export function jsonInputsOf(args, exists) {
44
20
  return [];
45
21
  const paths = report.takesADirectory === true && isDirectory(path) ? reportFilesIn(path) : [path];
46
22
  const subject = APP_MESSAGES[report.subject](`--${flag}`);
47
- return paths.map((file) => jsonInputOf(report, subject, file));
23
+ return paths.map((file) => ({ subject, path: file, report, flagged: true }));
48
24
  });
49
25
  return [...given, ...manifestReadByDefault(args, exists)];
50
26
  }
51
27
  function manifestReadByDefault(args, exists) {
52
28
  return EVIDENCE_INPUTS.flatMap(({ flag, report }) => report?.reader === "package-manifest" && args[flag] === undefined && exists(DEFAULT_PACKAGE_JSON)
53
- ? [jsonInputOf(report, APP_MESSAGES[AppMessage.DefaultPackageJson](), DEFAULT_PACKAGE_JSON)]
29
+ ? [{ subject: APP_MESSAGES[AppMessage.DefaultPackageJson](), path: DEFAULT_PACKAGE_JSON, report, flagged: false }]
54
30
  : []);
55
31
  }
56
32
  function isDirectory(path) {
@@ -71,36 +47,30 @@ function reportFilesIn(directory) {
71
47
  return [directory];
72
48
  }
73
49
  }
74
- export function reasonOf(err) {
75
- return err instanceof Error ? err.message : String(err);
76
- }
77
- function jsonInputFault(input, read) {
78
- let text;
79
- try {
80
- text = read(input.path);
81
- }
82
- catch (err) {
83
- return APP_MESSAGES[AppMessage.CouldNotBeReadAt](input.subject, input.path, reasonOf(err));
50
+ export function readReports(inputs, read = readUtf8) {
51
+ const files = inputs.map((input) => ({ ...input, reading: readReport(input.path, input.report.format, input.report.shape, read) }));
52
+ const reports = [];
53
+ for (const file of files) {
54
+ const { reading } = file;
55
+ if (reading.kind !== "parsed")
56
+ return { kind: "faulty", files, first: { ...file, reading } };
57
+ reports.push({ reader: file.report.reader, document: reading.document });
84
58
  }
85
- let document;
86
- try {
87
- document = input.syntax.parse(text);
88
- }
89
- catch (err) {
90
- return input.syntax.notValid(input.subject, input.writer, input.path, reasonOf(err));
91
- }
92
- const fault = shapeFaultIn(document, input.shape);
93
- if (fault === null)
94
- return null;
95
- return APP_MESSAGES[AppMessage.NotInShape](input.subject, input.writer, input.path, fault);
59
+ return { kind: "read", files, reports };
96
60
  }
97
- export function checkInputShapes(inputs, read) {
98
- for (const input of inputs) {
99
- const fault = jsonInputFault(input, read);
100
- if (fault !== null)
101
- return fault;
61
+ export function reportRefusal({ subject, path, report, reading }) {
62
+ const writer = APP_MESSAGES[report.writer]();
63
+ switch (reading.kind) {
64
+ case "read-fault":
65
+ return APP_MESSAGES[AppMessage.CouldNotBeReadAt](subject, path, reading.fault.reason);
66
+ case "unparseable":
67
+ return NOT_VALID_IN[report.format](subject, writer, path, reading.reason);
68
+ case "misshapen":
69
+ return APP_MESSAGES[AppMessage.NotInShape](subject, writer, path, reading.fault);
102
70
  }
103
- return null;
71
+ }
72
+ export function checkInputShapes(reports) {
73
+ return reports.kind === "faulty" ? reportRefusal(reports.first) : null;
104
74
  }
105
75
  function pathRefusal(subject, fault) {
106
76
  return APP_MESSAGES[AppMessage.CouldNotBeReadAt](subject, fault.path, fault.reason);
@@ -119,15 +89,18 @@ export function checkInputPaths(args, corpusReading, workflowReading) {
119
89
  }
120
90
  return null;
121
91
  }
122
- export function checkSavedReconciliation(path, savedJson) {
123
- const fault = shapeFaultIn(JSON.parse(savedJson), SAVED_RECONCILIATION);
92
+ export function savedReportRefusal(path, reading) {
93
+ return APP_MESSAGES[AppMessage.CouldNotBeReadAt](APP_MESSAGES[AppMessage.FlaggedSavedReport]("--render-from-json"), path, reading.kind === "read-fault" ? reading.fault.reason : reading.reason);
94
+ }
95
+ export function checkSavedReconciliation(path, saved) {
96
+ const fault = shapeFaultIn(saved, SAVED_RECONCILIATION);
124
97
  if (fault === null)
125
98
  return null;
126
99
  return APP_MESSAGES[AppMessage.NotASavedReconciliation](APP_MESSAGES[AppMessage.FlaggedFile]("--render-from-json"), path, fault);
127
100
  }
128
- export function reRenderOrRefusal(path, savedJson, strict) {
101
+ export function reRenderOrRefusal(path, saved, strict) {
129
102
  try {
130
- return reRender(savedJson, strict);
103
+ return reRender(saved, strict);
131
104
  }
132
105
  catch (err) {
133
106
  return APP_MESSAGES[AppMessage.NotRenderableAsSaved](APP_MESSAGES[AppMessage.FlaggedFile]("--render-from-json"), path, reasonOf(err));
@@ -1 +1 @@
1
- {"version":3,"file":"unreadableInputs.js","sourceRoot":"","sources":["../../src/cli-balance/unreadableInputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unreadableInputs.js","sourceRoot":"","sources":["../../src/cli-balance/unreadableInputs.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ReadFault } from "./inputReading.js";
1
2
  import { type ParsedFeatureFile, type ParsedWorkflow, type SourceFault } from "@3f-consulting/spec-controller-core";
2
3
  import { type EvidenceObligations } from "@3f-consulting/spec-controller-core";
3
4
  import type { EvidenceObservation, EvidenceReconciliation } from "@3f-consulting/spec-controller-core";
@@ -10,41 +11,32 @@ type ParsedCorpus = {
10
11
  readonly kind: "read";
11
12
  readonly corpus: readonly ParsedFeatureFile[];
12
13
  };
13
- export type CorpusReading = ParsedCorpus | {
14
- readonly kind: "read-fault";
15
- readonly fault: InputReadFault;
16
- };
14
+ export type CorpusReading = ParsedCorpus | ReadFault;
17
15
  export declare function readCorpus(featuresDir: string): CorpusReading;
18
- export interface InputReadFault {
19
- readonly path: string;
20
- readonly reason: string;
21
- }
22
- export type WorkflowReading = {
23
- readonly kind: "read-fault";
24
- readonly fault: InputReadFault;
25
- } | {
16
+ type ParsedWorkflows = {
26
17
  readonly kind: "unparseable";
27
18
  readonly faults: readonly SourceFault[];
28
19
  } | {
29
20
  readonly kind: "read";
30
21
  readonly workflows: readonly ParsedWorkflow[];
31
22
  };
23
+ export type WorkflowReading = ParsedWorkflows | ReadFault;
32
24
  export declare function readWorkflows(ciPath: string | undefined, read?: (path: string) => string): WorkflowReading;
33
25
  export declare function featureNamesOf(corpus: readonly ParsedFeatureFile[]): Map<string, string>;
34
26
  export declare function evidenceObligationsOf(corpus: readonly ParsedFeatureFile[]): EvidenceObligations;
35
27
  declare const OBSERVATION_READERS: {
36
- vitest: (path: string, root: string) => EvidenceObservation[];
37
- pytest: (path: string) => EvidenceObservation[];
38
- jest: (path: string, root: string) => EvidenceObservation[];
39
- junit: (path: string) => EvidenceObservation[];
40
- rspec: (path: string, root: string) => EvidenceObservation[];
41
- cucumber: (path: string, root: string) => EvidenceObservation[];
28
+ vitest: (report: unknown, root: string) => EvidenceObservation[];
29
+ pytest: (report: unknown) => EvidenceObservation[];
30
+ jest: (report: unknown, root: string) => EvidenceObservation[];
31
+ junit: (report: unknown) => EvidenceObservation[];
32
+ rspec: (report: unknown, root: string) => EvidenceObservation[];
33
+ cucumber: (report: unknown, root: string) => EvidenceObservation[];
42
34
  };
43
35
  type ObservationReader = keyof typeof OBSERVATION_READERS;
44
36
  export type EvidenceReader = ObservationReader | "package-manifest" | "ci-step-record";
45
37
  export interface EvidenceReport {
46
38
  readonly reader: EvidenceReader;
47
- readonly path: string;
39
+ readonly document: unknown;
48
40
  }
49
41
  export declare function runReconcile(reports: readonly EvidenceReport[], root: string, corpus: readonly ParsedFeatureFile[], workflows: readonly ParsedWorkflow[]): EvidenceReconciliation;
50
42
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ingestQualityChecks.d.ts","sourceRoot":"","sources":["../../src/ingest/ingestQualityChecks.ts"],"names":[],"mappings":"AAMA,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEnB,KAAK,WAAW,EACjB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,qCAAqC,CAAC;AAoB7C,OAAO,KAAK,EAEV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,qCAAqC,CAAC;AAW7C,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AA8BnD,KAAK,YAAY,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,CAAC;AAE7E,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAAC;AAW3G,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAU7D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAQD,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,CAAC;AAgB7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAiB,GAAG,eAAe,CAgBpH;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,mBAAmB,CAE/F;AAMD,QAAA,MAAM,mBAAmB;;;;;;;CAakE,CAAC;AAE5F,KAAK,iBAAiB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAsBD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,iBAAiB,EAAE,EACpC,SAAS,EAAE,SAAS,cAAc,EAAE,GACnC,sBAAsB,CAexB"}
1
+ {"version":3,"file":"ingestQualityChecks.d.ts","sourceRoot":"","sources":["../../src/ingest/ingestQualityChecks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEnB,KAAK,WAAW,EACjB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,qCAAqC,CAAC;AAoB7C,OAAO,KAAK,EAEV,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,qCAAqC,CAAC;AAW7C,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAWnD,KAAK,YAAY,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,CAAC;AAE7E,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,CAAC;AAWrD,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAE7D;AAED,KAAK,eAAe,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,CAAC;AAE7E,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,SAAS,CAAC;AA6B1D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAiB,GAAG,eAAe,CAGpH;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,mBAAmB,CAE/F;AAED,QAAA,MAAM,mBAAmB;;;;;;;CAOqE,CAAC;AAE/F,KAAK,iBAAiB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAsBD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,iBAAiB,EAAE,EACpC,SAAS,EAAE,SAAS,cAAc,EAAE,GACnC,sBAAsB,CAexB"}
@@ -1,8 +1,6 @@
1
- import { readFileSync, existsSync } from "node:fs";
2
1
  import { basename } from "node:path";
3
2
  import { ciSourcePathsOf } from "./ciSourcePaths.js";
4
- import { junitReportPathsOf } from "./junitReportPaths.js";
5
- import { parseJunitXml, parseJunitXmlLiftingBareSuite } from "./junitXml.js";
3
+ import { readingOf, readUtf8 } from "./inputReading.js";
6
4
  import { corpusPathOf, MissingFeatureCorpusError, readFeatureSources, slugOf } from "./ingestScenarios.js";
7
5
  import { featureCountsOf, parseFeatureCorpus, untaggedScenariosOf, parseWorkflows, untaggedScenarioId, } from "@3f-consulting/spec-controller-core";
8
6
  import { BUILT_IN_DEFERRAL_TAGS, corpusCountsOf, } from "@3f-consulting/spec-controller-core";
@@ -20,22 +18,6 @@ const CUCUMBER_QUALITY_CHECK = "integration";
20
18
  const RECONCILER_INVOCATION = "spec-controller balance";
21
19
  export const DEFAULT_CI_PATH = ".github/workflows";
22
20
  export const DEFAULT_PACKAGE_JSON = "package.json";
23
- function readJsonIfPresent(path) {
24
- if (!path || !existsSync(path))
25
- return undefined;
26
- return JSON.parse(readFileSync(path, "utf8"));
27
- }
28
- function readJunitXmlIfPresent(path, parse) {
29
- if (!path || !existsSync(path))
30
- return undefined;
31
- return parse(readFileSync(path, "utf8"));
32
- }
33
- function readJunitReportsIfPresent(path) {
34
- if (!path)
35
- return undefined;
36
- const reports = junitReportPathsOf(path).map((report) => parseJunitXmlLiftingBareSuite(readFileSync(report, "utf8")));
37
- return { testsuites: { testsuite: reports.flatMap((report) => report.testsuites?.testsuite ?? []) } };
38
- }
39
21
  function sourcesOf(featuresDir) {
40
22
  try {
41
23
  return readFeatureSources(featuresDir);
@@ -56,26 +38,7 @@ function parsedCorpusOf(featuresDir, files) {
56
38
  };
57
39
  }
58
40
  export function readCorpus(featuresDir) {
59
- let files;
60
- try {
61
- files = sourcesOf(featuresDir);
62
- }
63
- catch (err) {
64
- const fault = readFaultOf(err, featuresDir);
65
- if (fault === null)
66
- throw err;
67
- return { kind: "read-fault", fault };
68
- }
69
- return parsedCorpusOf(featuresDir, files);
70
- }
71
- function readFaultOf(err, path) {
72
- const errno = err;
73
- if (!(err instanceof Error) || typeof errno.code !== "string")
74
- return null;
75
- return { path: errno.path ?? path, reason: err.message };
76
- }
77
- function readUtf8(path) {
78
- return readFileSync(path, "utf8");
41
+ return readingOf(featuresDir, () => sourcesOf(featuresDir), (files) => parsedCorpusOf(featuresDir, files));
79
42
  }
80
43
  function readWorkflowSource(path, read) {
81
44
  try {
@@ -87,26 +50,21 @@ function readWorkflowSource(path, read) {
87
50
  throw err;
88
51
  }
89
52
  }
90
- export function readWorkflows(ciPath, read = readUtf8) {
91
- const path = ciPath ?? DEFAULT_CI_PATH;
92
- let paths;
93
- let sources;
94
- try {
95
- paths = ciSourcePathsOf(path);
96
- sources = paths.map((source) => readWorkflowSource(source, read));
97
- }
98
- catch (err) {
99
- const fault = readFaultOf(err, path);
100
- if (fault === null)
101
- throw err;
102
- return { kind: "read-fault", fault };
103
- }
53
+ function workflowSourcesOf(path, read) {
54
+ const paths = ciSourcePathsOf(path);
55
+ return { paths, sources: paths.map((source) => readWorkflowSource(source, read)) };
56
+ }
57
+ function parsedWorkflowsOf({ paths, sources }) {
104
58
  const parse = parseWorkflows(sources);
105
59
  if (parse.kind === "parsed")
106
60
  return { kind: "read", workflows: parse.parsed };
107
61
  const pathOf = new Map(paths.map((read) => [basename(read), read]));
108
62
  return { kind: "unparseable", faults: parse.faults.map(({ file, message }) => ({ file: pathOf.get(file) ?? file, message })) };
109
63
  }
64
+ export function readWorkflows(ciPath, read = readUtf8) {
65
+ const path = ciPath ?? DEFAULT_CI_PATH;
66
+ return readingOf(path, () => workflowSourcesOf(path, read), parsedWorkflowsOf);
67
+ }
110
68
  export function featureNamesOf(corpus) {
111
69
  const map = new Map();
112
70
  for (const { featureCode, file } of corpus) {
@@ -118,34 +76,31 @@ export function featureNamesOf(corpus) {
118
76
  export function evidenceObligationsOf(corpus) {
119
77
  return corpusCountsOf(corpus.map((parsed) => ({ feature: parsed.file, ...featureCountsOf(parsed) })));
120
78
  }
121
- function observedIn(report, parse) {
122
- return report === undefined ? [] : parse(report);
123
- }
124
79
  const OBSERVATION_READERS = {
125
- vitest: (path, root) => observedIn(readJsonIfPresent(path), (report) => parseVitestEvidenceObservations(report, VITEST_QUALITY_CHECK, root)),
126
- pytest: (path) => observedIn(readJunitXmlIfPresent(path, parseJunitXml), (report) => parsePytestEvidenceObservations(report, PYTEST_QUALITY_CHECK)),
127
- jest: (path, root) => observedIn(readJsonIfPresent(path), (report) => parseVitestEvidenceObservations(report, JEST_QUALITY_CHECK, root)),
128
- junit: (path) => observedIn(readJunitReportsIfPresent(path), (report) => parseJunitEvidenceObservations(report, JUNIT_QUALITY_CHECK)),
129
- rspec: (path, root) => observedIn(readJsonIfPresent(path), (report) => parseRspecEvidenceObservations(report, RSPEC_QUALITY_CHECK, root)),
130
- cucumber: (path, root) => observedIn(readJsonIfPresent(path), (report) => parseCucumberEvidenceObservations(report, CUCUMBER_QUALITY_CHECK, root)),
80
+ vitest: (report, root) => parseVitestEvidenceObservations(report, VITEST_QUALITY_CHECK, root),
81
+ pytest: (report) => parsePytestEvidenceObservations(report, PYTEST_QUALITY_CHECK),
82
+ jest: (report, root) => parseVitestEvidenceObservations(report, JEST_QUALITY_CHECK, root),
83
+ junit: (report) => parseJunitEvidenceObservations(report, JUNIT_QUALITY_CHECK),
84
+ rspec: (report, root) => parseRspecEvidenceObservations(report, RSPEC_QUALITY_CHECK, root),
85
+ cucumber: (report, root) => parseCucumberEvidenceObservations(report, CUCUMBER_QUALITY_CHECK, root),
131
86
  };
132
87
  function isObservationReader(reader) {
133
88
  return Object.hasOwn(OBSERVATION_READERS, reader);
134
89
  }
135
90
  function observationsOf(reports, root) {
136
- return reports.flatMap(({ reader, path }) => (isObservationReader(reader) ? OBSERVATION_READERS[reader](path, root) : []));
91
+ return reports.flatMap(({ reader, document }) => (isObservationReader(reader) ? OBSERVATION_READERS[reader](document, root) : []));
137
92
  }
138
- function pathReadBy(reports, reader) {
139
- return reports.find((report) => report.reader === reader)?.path;
93
+ function documentReadBy(reports, reader) {
94
+ return reports.find((report) => report.reader === reader)?.document;
140
95
  }
141
96
  export function runReconcile(reports, root, corpus, workflows) {
142
- const packageJson = readJsonIfPresent(pathReadBy(reports, "package-manifest") ?? DEFAULT_PACKAGE_JSON) ?? {};
97
+ const packageJson = documentReadBy(reports, "package-manifest") ?? {};
143
98
  return evidenceReconciliationFromSources({
144
99
  features: corpus,
145
100
  untaggedScenarios: corpus.flatMap((parsed) => untaggedScenariosOf(parsed).map((scenario) => untaggedScenarioId({ feature: parsed.file, scenario }))),
146
101
  packageJson,
147
102
  ciWorkflows: workflows,
148
- ciStepRecord: readJsonIfPresent(pathReadBy(reports, "ci-step-record")),
103
+ ciStepRecord: documentReadBy(reports, "ci-step-record"),
149
104
  behaviouralObservations: observationsOf(reports, root),
150
105
  deferralTags: BUILT_IN_DEFERRAL_TAGS,
151
106
  reconcilerInvocation: RECONCILER_INVOCATION,
@@ -1 +1 @@
1
- {"version":3,"file":"ingestQualityChecks.js","sourceRoot":"","sources":["../../src/ingest/ingestQualityChecks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingestQualityChecks.js","sourceRoot":"","sources":["../../src/ingest/ingestQualityChecks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface InputReadFault {
2
+ readonly path: string;
3
+ readonly reason: string;
4
+ }
5
+ export interface ReadFault {
6
+ readonly kind: "read-fault";
7
+ readonly fault: InputReadFault;
8
+ }
9
+ export declare function readingOf<S, R>(path: string, read: () => S, parse: (sources: S) => R): R | ReadFault;
10
+ export declare function readUtf8(path: string): string;
11
+ export declare function reasonOf(err: unknown): string;
12
+ //# sourceMappingURL=inputReading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputReading.d.ts","sourceRoot":"","sources":["../../src/ingest/inputReading.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC;AASD,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAUpG;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE7C"}
@@ -0,0 +1,28 @@
1
+ import { readFileSync } from "node:fs";
2
+ function readFaultOf(err, path) {
3
+ const errno = err;
4
+ if (!(err instanceof Error) || typeof errno.code !== "string")
5
+ return null;
6
+ return { path: errno.path ?? path, reason: err.message };
7
+ }
8
+ // A read the file system refuses is the input's fault, returned as data; any other throw is spec-controller's own.
9
+ export function readingOf(path, read, parse) {
10
+ let sources;
11
+ try {
12
+ sources = read();
13
+ }
14
+ catch (err) {
15
+ const fault = readFaultOf(err, path);
16
+ if (fault === null)
17
+ throw err;
18
+ return { kind: "read-fault", fault };
19
+ }
20
+ return parse(sources);
21
+ }
22
+ export function readUtf8(path) {
23
+ return readFileSync(path, "utf8");
24
+ }
25
+ export function reasonOf(err) {
26
+ return err instanceof Error ? err.message : String(err);
27
+ }
28
+ //# sourceMappingURL=inputReading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputReading.js","sourceRoot":"","sources":["../../src/ingest/inputReading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAYvC,SAAS,WAAW,CAAC,GAAY,EAAE,IAAY;IAC7C,MAAM,KAAK,GAAG,GAA4B,CAAC;IAC3C,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3E,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,SAAS,CAAO,IAAY,EAAE,IAAa,EAAE,KAAwB;IACnF,IAAI,OAAU,CAAC;IACf,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,GAAG,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAY;IACnC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type Shape } from "./inputShapes.js";
2
+ import { type ReadFault } from "./inputReading.js";
3
+ export type ReportFormat = "json" | "json-naming-its-shape" | "junit-xml" | "junit-xml-or-one-suite";
4
+ interface Unparseable {
5
+ readonly kind: "unparseable";
6
+ readonly reason: string;
7
+ }
8
+ interface ParsedDocument {
9
+ readonly kind: "parsed";
10
+ readonly document: unknown;
11
+ }
12
+ export type DocumentReading = ReadFault | Unparseable | ParsedDocument;
13
+ export type ReportReading = DocumentReading | {
14
+ readonly kind: "misshapen";
15
+ readonly fault: string;
16
+ };
17
+ export declare function readDocument(path: string, format: ReportFormat, read?: (path: string) => string): DocumentReading;
18
+ export declare function readReport(path: string, format: ReportFormat, shape: Shape, read?: (path: string) => string): ReportReading;
19
+ export {};
20
+ //# sourceMappingURL=reportReading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportReading.d.ts","sourceRoot":"","sources":["../../src/ingest/reportReading.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAElF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,uBAAuB,GAAG,WAAW,GAAG,wBAAwB,CAAC;AASrG,UAAU,WAAW;IACnB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAUrG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAiB,GAAG,eAAe,CAE3H;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,KAAK,EACZ,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAiB,GACxC,aAAa,CAKf"}
@@ -0,0 +1,28 @@
1
+ import { parseJunitXml, parseJunitXmlLiftingBareSuite } from "./junitXml.js";
2
+ import { shapeFaultIn } from "./inputShapes.js";
3
+ import { readingOf, readUtf8, reasonOf } from "./inputReading.js";
4
+ const PARSER_OF = {
5
+ json: (text) => JSON.parse(text),
6
+ "json-naming-its-shape": (text) => JSON.parse(text),
7
+ "junit-xml": parseJunitXml,
8
+ "junit-xml-or-one-suite": parseJunitXmlLiftingBareSuite,
9
+ };
10
+ function documentOf(text, parse) {
11
+ try {
12
+ return { kind: "parsed", document: parse(text) };
13
+ }
14
+ catch (err) {
15
+ return { kind: "unparseable", reason: reasonOf(err) };
16
+ }
17
+ }
18
+ export function readDocument(path, format, read = readUtf8) {
19
+ return readingOf(path, () => read(path), (text) => documentOf(text, PARSER_OF[format]));
20
+ }
21
+ export function readReport(path, format, shape, read = readUtf8) {
22
+ const reading = readDocument(path, format, read);
23
+ if (reading.kind !== "parsed")
24
+ return reading;
25
+ const fault = shapeFaultIn(reading.document, shape);
26
+ return fault === null ? reading : { kind: "misshapen", fault };
27
+ }
28
+ //# sourceMappingURL=reportReading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportReading.js","sourceRoot":"","sources":["../../src/ingest/reportReading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAc,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAkB,MAAM,mBAAmB,CAAC;AAIlF,MAAM,SAAS,GAA8D;IAC3E,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAChC,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACnD,WAAW,EAAE,aAAa;IAC1B,wBAAwB,EAAE,6BAA6B;CACxD,CAAC;AAgBF,SAAS,UAAU,CAAC,IAAY,EAAE,KAAgC;IAChE,IAAI,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAoB,EAAE,OAAiC,QAAQ;IACxG,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,MAAoB,EACpB,KAAY,EACZ,OAAiC,QAAQ;IAEzC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AACjE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRunInputs.d.ts","sourceRoot":"","sources":["../../src/run-management/resolveRunInputs.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAKhG;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAEhF;AAMD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,YAAY,CAQ3G;AAgCD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAMrE"}
1
+ {"version":3,"file":"resolveRunInputs.d.ts","sourceRoot":"","sources":["../../src/run-management/resolveRunInputs.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAKhG;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGhF;AAoBD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,YAAY,CAQ3G;AAgCD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAMrE"}
@@ -9,7 +9,20 @@ export function resolveSourceSha(opts) {
9
9
  return readGit(targetDirOf(opts.targetDir), ["rev-parse", "HEAD"]);
10
10
  }
11
11
  export function resolveTargetOrigin(targetDir) {
12
- return readGit(targetDirOf(targetDir), ["remote", "get-url", "origin"]);
12
+ const remote = readGit(targetDirOf(targetDir), ["remote", "get-url", "origin"]);
13
+ return remote === null ? null : targetOriginName(remote);
14
+ }
15
+ const URL_REMOTE = /^(?:https|ssh):\/\/[^/]+\/(.+)$/;
16
+ const SCP_REMOTE = /^[^/@:]+@[^/:]+:(.+)$/;
17
+ const URL_USERINFO = /^([a-z][a-z0-9+.-]*:\/\/)[^/@]*@/i;
18
+ /**
19
+ * Names a remote URL by its last two path segments, owner/repo. A remote of any other
20
+ * shape is named as given, less any user and password, which the report must not print.
21
+ */
22
+ function targetOriginName(remote) {
23
+ const path = (URL_REMOTE.exec(remote) ?? SCP_REMOTE.exec(remote))?.[1];
24
+ const segments = path === undefined ? [] : (path.endsWith(".git") ? path.slice(0, -".git".length) : path).split("/");
25
+ return segments.length >= 2 ? segments.slice(-2).join("/") : remote.replace(URL_USERINFO, "$1");
13
26
  }
14
27
  function targetDirOf(targetDir) {
15
28
  return targetDir !== undefined && targetDir.trim() !== "" ? targetDir : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRunInputs.js","sourceRoot":"","sources":["../../src/run-management/resolveRunInputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveRunInputs.js","sourceRoot":"","sources":["../../src/run-management/resolveRunInputs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-controller",
3
- "version": "0.1.66",
3
+ "version": "0.1.68",
4
4
  "description": "Reconcile the behaviour your scenarios name against the evidence that actually ran — the deterministic `balance` CLI.",
5
5
  "keywords": [
6
6
  "reconciliation",
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "fast-xml-parser": "^5.11.2",
26
26
  "yaml": "^2.9.0",
27
- "@3f-consulting/spec-controller-core": "0.1.66"
27
+ "@3f-consulting/spec-controller-core": "0.1.68"
28
28
  },
29
29
  "publishConfig": {
30
30
  "access": "public"