@interf/compiler 0.5.1 → 0.6.3
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 +160 -201
- package/builtin-workflows/interf/README.md +22 -10
- package/builtin-workflows/interf/compile/stages/shape/SKILL.md +8 -5
- package/builtin-workflows/interf/compile/stages/structure/SKILL.md +3 -0
- package/builtin-workflows/interf/compile/stages/summarize/SKILL.md +18 -2
- package/builtin-workflows/interf/improve/SKILL.md +4 -4
- package/builtin-workflows/interf/use/query/SKILL.md +1 -1
- package/builtin-workflows/interf/workflow.json +19 -5
- package/builtin-workflows/interf/{compiled.schema.json → workflow.schema.json} +10 -3
- package/dist/bin.js +2 -28
- package/dist/{commands → cli/commands}/check-draft.d.ts +2 -2
- package/dist/{commands → cli/commands}/check-draft.js +13 -13
- package/dist/{commands → cli/commands}/compile-controller.d.ts +3 -3
- package/dist/{commands → cli/commands}/compile-controller.js +39 -44
- package/dist/cli/commands/compile.d.ts +33 -0
- package/dist/{commands → cli/commands}/compile.js +107 -33
- package/dist/{commands → cli/commands}/compiled-flow.d.ts +3 -4
- package/dist/{commands → cli/commands}/compiled-flow.js +9 -14
- package/dist/{commands → cli/commands}/create-workflow-wizard.d.ts +20 -2
- package/dist/cli/commands/create-workflow-wizard.js +288 -0
- package/dist/{commands → cli/commands}/create.d.ts +2 -2
- package/dist/cli/commands/create.js +166 -0
- package/dist/cli/commands/dataset-selection.d.ts +6 -0
- package/dist/cli/commands/dataset-selection.js +11 -0
- package/dist/{commands → cli/commands}/default.js +5 -5
- package/dist/{commands → cli/commands}/doctor.js +12 -13
- package/dist/{commands → cli/commands}/executor-flow.d.ts +2 -2
- package/dist/{commands → cli/commands}/executor-flow.js +17 -17
- package/dist/cli/commands/init.d.ts +11 -0
- package/dist/{commands → cli/commands}/init.js +202 -109
- package/dist/{commands → cli/commands}/list.js +9 -6
- package/dist/{commands → cli/commands}/reset.js +5 -5
- package/dist/{commands → cli/commands}/source-config-wizard.d.ts +10 -5
- package/dist/{commands → cli/commands}/source-config-wizard.js +202 -95
- package/dist/{commands → cli/commands}/status.js +20 -11
- package/dist/{commands → cli/commands}/test-flow.d.ts +13 -4
- package/dist/{commands → cli/commands}/test-flow.js +30 -26
- package/dist/cli/commands/test.d.ts +14 -0
- package/dist/{commands → cli/commands}/test.js +48 -40
- package/dist/{commands → cli/commands}/verify.js +4 -4
- package/dist/cli/index.d.ts +21 -0
- package/dist/cli/index.js +33 -0
- package/dist/index.d.ts +22 -11
- package/dist/index.js +15 -6
- package/dist/lib/agent-args.d.ts +1 -3
- package/dist/lib/agent-args.js +1 -42
- package/dist/lib/agent-constants.d.ts +1 -5
- package/dist/lib/agent-constants.js +1 -28
- package/dist/lib/agent-detection.d.ts +1 -7
- package/dist/lib/agent-detection.js +1 -65
- package/dist/lib/agent-execution.d.ts +1 -2
- package/dist/lib/agent-execution.js +1 -242
- package/dist/lib/agent-logs.d.ts +1 -2
- package/dist/lib/agent-logs.js +1 -17
- package/dist/lib/agent-preflight.d.ts +1 -7
- package/dist/lib/agent-preflight.js +1 -76
- package/dist/lib/agent-render.d.ts +1 -8
- package/dist/lib/agent-render.js +1 -218
- package/dist/lib/agent-shells.d.ts +1 -44
- package/dist/lib/agent-shells.js +1 -847
- package/dist/lib/agent-status.d.ts +1 -3
- package/dist/lib/agent-status.js +1 -58
- package/dist/lib/agent-types.d.ts +1 -30
- package/dist/lib/agent-types.js +1 -1
- package/dist/lib/agents.d.ts +1 -6
- package/dist/lib/agents.js +1 -5
- package/dist/lib/builtin-compiled-workflow.d.ts +1 -129
- package/dist/lib/builtin-compiled-workflow.js +1 -153
- package/dist/lib/compiled-compile.d.ts +1 -52
- package/dist/lib/compiled-compile.js +1 -274
- package/dist/lib/compiled-paths.d.ts +1 -39
- package/dist/lib/compiled-paths.js +3 -103
- package/dist/lib/compiled-raw.d.ts +1 -49
- package/dist/lib/compiled-raw.js +3 -102
- package/dist/lib/compiled-reset.d.ts +1 -1
- package/dist/lib/compiled-reset.js +3 -44
- package/dist/lib/compiled-schema.d.ts +1 -27
- package/dist/lib/compiled-schema.js +1 -110
- package/dist/lib/discovery.d.ts +1 -1
- package/dist/lib/discovery.js +2 -2
- package/dist/lib/execution-profile.d.ts +1 -17
- package/dist/lib/execution-profile.js +1 -84
- package/dist/lib/executors.d.ts +1 -32
- package/dist/lib/executors.js +1 -43
- package/dist/lib/interf-bootstrap.d.ts +1 -3
- package/dist/lib/interf-bootstrap.js +3 -18
- package/dist/lib/interf-detect.d.ts +1 -33
- package/dist/lib/interf-detect.js +3 -176
- package/dist/lib/interf-scaffold.d.ts +1 -2
- package/dist/lib/interf-scaffold.js +3 -121
- package/dist/lib/interf-workflow-package.d.ts +1 -20
- package/dist/lib/interf-workflow-package.js +1 -276
- package/dist/lib/interf.d.ts +1 -5
- package/dist/lib/interf.js +3 -4
- package/dist/lib/local-workflows.d.ts +1 -53
- package/dist/lib/local-workflows.js +1 -399
- package/dist/lib/package-root.d.ts +1 -0
- package/dist/lib/package-root.js +1 -0
- package/dist/lib/project-paths.d.ts +1 -11
- package/dist/lib/project-paths.js +3 -32
- package/dist/lib/runtime-acceptance.d.ts +1 -9
- package/dist/lib/runtime-acceptance.js +1 -257
- package/dist/lib/runtime-contracts.d.ts +1 -2
- package/dist/lib/runtime-contracts.js +1 -47
- package/dist/lib/runtime-inventory.d.ts +1 -7
- package/dist/lib/runtime-inventory.js +1 -29
- package/dist/lib/runtime-paths.d.ts +1 -7
- package/dist/lib/runtime-paths.js +1 -23
- package/dist/lib/runtime-prompt.d.ts +1 -2
- package/dist/lib/runtime-prompt.js +1 -46
- package/dist/lib/runtime-reconcile.d.ts +1 -2
- package/dist/lib/runtime-reconcile.js +1 -156
- package/dist/lib/runtime-runs.d.ts +1 -11
- package/dist/lib/runtime-runs.js +1 -250
- package/dist/lib/runtime-types.d.ts +1 -43
- package/dist/lib/runtime-types.js +1 -1
- package/dist/lib/runtime.d.ts +1 -6
- package/dist/lib/runtime.js +1 -5
- package/dist/lib/schema.d.ts +4 -1016
- package/dist/lib/schema.js +6 -539
- package/dist/lib/source-config.d.ts +1 -39
- package/dist/lib/source-config.js +3 -293
- package/dist/lib/state-artifacts.d.ts +1 -8
- package/dist/lib/state-artifacts.js +1 -13
- package/dist/lib/state-health.d.ts +1 -4
- package/dist/lib/state-health.js +1 -132
- package/dist/lib/state-io.d.ts +1 -10
- package/dist/lib/state-io.js +1 -76
- package/dist/lib/state-paths.d.ts +1 -4
- package/dist/lib/state-paths.js +1 -13
- package/dist/lib/state-view.d.ts +1 -4
- package/dist/lib/state-view.js +1 -103
- package/dist/lib/state.d.ts +1 -6
- package/dist/lib/state.js +1 -5
- package/dist/lib/test-execution.d.ts +1 -14
- package/dist/lib/test-execution.js +3 -525
- package/dist/lib/test-matrices.d.ts +1 -90
- package/dist/lib/test-matrices.js +3 -96
- package/dist/lib/test-paths.d.ts +1 -12
- package/dist/lib/test-paths.js +3 -59
- package/dist/lib/test-profile-presets.d.ts +1 -57
- package/dist/lib/test-profile-presets.js +3 -50
- package/dist/lib/test-sandbox.d.ts +1 -11
- package/dist/lib/test-sandbox.js +3 -105
- package/dist/lib/test-specs.d.ts +1 -7
- package/dist/lib/test-specs.js +3 -114
- package/dist/lib/test-targets.d.ts +1 -5
- package/dist/lib/test-targets.js +3 -38
- package/dist/lib/test-types.d.ts +1 -17
- package/dist/lib/test-types.js +3 -1
- package/dist/lib/test.d.ts +1 -4
- package/dist/lib/test.js +3 -3
- package/dist/lib/validate-compiled.d.ts +1 -27
- package/dist/lib/validate-compiled.js +1 -238
- package/dist/lib/validate-helpers.d.ts +1 -12
- package/dist/lib/validate-helpers.js +1 -41
- package/dist/lib/validate.d.ts +1 -19
- package/dist/lib/validate.js +1 -256
- package/dist/lib/workflow-authoring.d.ts +1 -0
- package/dist/lib/workflow-authoring.js +1 -0
- package/dist/lib/workflow-definitions.d.ts +1 -68
- package/dist/lib/workflow-definitions.js +1 -206
- package/dist/lib/workflow-edit-session.d.ts +1 -0
- package/dist/lib/workflow-edit-session.js +1 -0
- package/dist/lib/workflow-edit-utils.d.ts +1 -0
- package/dist/lib/workflow-edit-utils.js +1 -0
- package/dist/lib/workflow-helpers.d.ts +1 -38
- package/dist/lib/workflow-helpers.js +1 -167
- package/dist/lib/workflow-improvement.d.ts +1 -22
- package/dist/lib/workflow-improvement.js +1 -396
- package/dist/lib/workflow-primitives.d.ts +1 -2
- package/dist/lib/workflow-primitives.js +1 -5
- package/dist/lib/workflow-review-paths.d.ts +1 -10
- package/dist/lib/workflow-review-paths.js +1 -27
- package/dist/lib/workflow-stage-policy.d.ts +1 -0
- package/dist/lib/workflow-stage-policy.js +1 -0
- package/dist/lib/workflow-stage-runner.d.ts +1 -41
- package/dist/lib/workflow-stage-runner.js +1 -109
- package/dist/lib/workflows.d.ts +1 -15
- package/dist/lib/workflows.js +1 -31
- package/dist/packages/agents/index.d.ts +17 -0
- package/dist/packages/agents/index.js +15 -0
- package/dist/packages/agents/lib/agents.d.ts +6 -0
- package/dist/packages/agents/lib/agents.js +5 -0
- package/dist/packages/agents/lib/args.d.ts +4 -0
- package/dist/packages/agents/lib/args.js +52 -0
- package/dist/packages/agents/lib/constants.d.ts +5 -0
- package/dist/packages/agents/lib/constants.js +28 -0
- package/dist/packages/agents/lib/detection.d.ts +7 -0
- package/dist/packages/agents/lib/detection.js +65 -0
- package/dist/packages/agents/lib/execution-profile.d.ts +17 -0
- package/dist/packages/agents/lib/execution-profile.js +84 -0
- package/dist/packages/agents/lib/execution.d.ts +2 -0
- package/dist/packages/agents/lib/execution.js +243 -0
- package/dist/packages/agents/lib/executors.d.ts +32 -0
- package/dist/packages/agents/lib/executors.js +45 -0
- package/dist/packages/agents/lib/logs.d.ts +2 -0
- package/dist/packages/agents/lib/logs.js +17 -0
- package/dist/packages/agents/lib/preflight.d.ts +7 -0
- package/dist/packages/agents/lib/preflight.js +77 -0
- package/dist/packages/agents/lib/render.d.ts +8 -0
- package/dist/packages/agents/lib/render.js +218 -0
- package/dist/packages/agents/lib/schema.d.ts +8 -0
- package/dist/packages/agents/lib/schema.js +7 -0
- package/dist/packages/agents/lib/shells.d.ts +69 -0
- package/dist/packages/agents/lib/shells.js +1021 -0
- package/dist/packages/agents/lib/status.d.ts +3 -0
- package/dist/packages/agents/lib/status.js +58 -0
- package/dist/packages/agents/lib/types.d.ts +30 -0
- package/dist/packages/agents/lib/types.js +1 -0
- package/dist/{lib → packages/agents/lib}/user-config.d.ts +1 -0
- package/dist/{lib → packages/agents/lib}/user-config.js +3 -2
- package/dist/packages/compiler/compiled-compile.d.ts +48 -0
- package/dist/packages/compiler/compiled-compile.js +256 -0
- package/dist/packages/compiler/compiled-schema.d.ts +31 -0
- package/dist/packages/compiler/compiled-schema.js +141 -0
- package/dist/packages/compiler/index.d.ts +24 -0
- package/dist/packages/compiler/index.js +23 -0
- package/dist/packages/compiler/lib/schema.d.ts +684 -0
- package/dist/packages/compiler/lib/schema.js +361 -0
- package/dist/packages/compiler/runtime-acceptance.d.ts +9 -0
- package/dist/packages/compiler/runtime-acceptance.js +269 -0
- package/dist/packages/compiler/runtime-contracts.d.ts +2 -0
- package/dist/packages/compiler/runtime-contracts.js +48 -0
- package/dist/packages/compiler/runtime-inventory.d.ts +7 -0
- package/dist/packages/compiler/runtime-inventory.js +29 -0
- package/dist/packages/compiler/runtime-paths.d.ts +8 -0
- package/dist/packages/compiler/runtime-paths.js +26 -0
- package/dist/packages/compiler/runtime-prompt.d.ts +2 -0
- package/dist/packages/compiler/runtime-prompt.js +48 -0
- package/dist/packages/compiler/runtime-reconcile.d.ts +2 -0
- package/dist/packages/compiler/runtime-reconcile.js +193 -0
- package/dist/packages/compiler/runtime-runs.d.ts +11 -0
- package/dist/packages/compiler/runtime-runs.js +262 -0
- package/dist/packages/compiler/runtime-types.d.ts +43 -0
- package/dist/packages/compiler/runtime-types.js +1 -0
- package/dist/packages/compiler/runtime.d.ts +6 -0
- package/dist/packages/compiler/runtime.js +5 -0
- package/dist/packages/compiler/state-artifacts.d.ts +8 -0
- package/dist/packages/compiler/state-artifacts.js +13 -0
- package/dist/packages/compiler/state-health.d.ts +4 -0
- package/dist/packages/compiler/state-health.js +132 -0
- package/dist/packages/compiler/state-io.d.ts +10 -0
- package/dist/packages/compiler/state-io.js +76 -0
- package/dist/packages/compiler/state-paths.d.ts +4 -0
- package/dist/packages/compiler/state-paths.js +13 -0
- package/dist/packages/compiler/state-view.d.ts +4 -0
- package/dist/packages/compiler/state-view.js +103 -0
- package/dist/packages/compiler/state.d.ts +7 -0
- package/dist/packages/compiler/state.js +12 -0
- package/dist/packages/compiler/validate-compiled.d.ts +27 -0
- package/dist/packages/compiler/validate-compiled.js +241 -0
- package/dist/packages/compiler/validate-helpers.d.ts +12 -0
- package/dist/packages/compiler/validate-helpers.js +41 -0
- package/dist/packages/compiler/validate.d.ts +21 -0
- package/dist/packages/compiler/validate.js +249 -0
- package/dist/packages/compiler/workflow-primitives.d.ts +2 -0
- package/dist/packages/compiler/workflow-primitives.js +5 -0
- package/dist/packages/compiler/workflows.d.ts +15 -0
- package/dist/packages/compiler/workflows.js +31 -0
- package/dist/packages/project-model/compiled-paths.d.ts +40 -0
- package/dist/packages/project-model/compiled-paths.js +106 -0
- package/dist/packages/project-model/compiled-raw.d.ts +49 -0
- package/dist/packages/project-model/compiled-raw.js +102 -0
- package/dist/packages/project-model/compiled-reset.d.ts +2 -0
- package/dist/packages/project-model/compiled-reset.js +72 -0
- package/dist/packages/project-model/index.d.ts +11 -0
- package/dist/packages/project-model/index.js +10 -0
- package/dist/packages/project-model/interf-bootstrap.d.ts +3 -0
- package/dist/packages/project-model/interf-bootstrap.js +18 -0
- package/dist/packages/project-model/interf-detect.d.ts +33 -0
- package/dist/packages/project-model/interf-detect.js +176 -0
- package/dist/packages/project-model/interf-scaffold.d.ts +2 -0
- package/dist/packages/project-model/interf-scaffold.js +124 -0
- package/dist/packages/project-model/interf.d.ts +5 -0
- package/dist/packages/project-model/interf.js +4 -0
- package/dist/packages/project-model/lib/schema.d.ts +125 -0
- package/dist/packages/project-model/lib/schema.js +62 -0
- package/dist/packages/project-model/project-paths.d.ts +11 -0
- package/dist/packages/project-model/project-paths.js +32 -0
- package/dist/packages/project-model/source-config.d.ts +38 -0
- package/dist/packages/project-model/source-config.js +297 -0
- package/dist/packages/testing/index.d.ts +13 -0
- package/dist/packages/testing/index.js +10 -0
- package/dist/packages/testing/lib/schema.d.ts +261 -0
- package/dist/packages/testing/lib/schema.js +119 -0
- package/dist/packages/testing/test-execution.d.ts +14 -0
- package/dist/packages/testing/test-execution.js +525 -0
- package/dist/packages/testing/test-matrices.d.ts +90 -0
- package/dist/packages/testing/test-matrices.js +96 -0
- package/dist/packages/testing/test-paths.d.ts +12 -0
- package/dist/packages/testing/test-paths.js +59 -0
- package/dist/packages/testing/test-profile-presets.d.ts +57 -0
- package/dist/packages/testing/test-profile-presets.js +50 -0
- package/dist/packages/testing/test-sandbox.d.ts +11 -0
- package/dist/packages/testing/test-sandbox.js +105 -0
- package/dist/packages/testing/test-specs.d.ts +7 -0
- package/dist/packages/testing/test-specs.js +114 -0
- package/dist/packages/testing/test-targets.d.ts +5 -0
- package/dist/packages/testing/test-targets.js +38 -0
- package/dist/packages/testing/test-types.d.ts +16 -0
- package/dist/packages/testing/test-types.js +1 -0
- package/dist/packages/testing/test.d.ts +4 -0
- package/dist/packages/testing/test.js +3 -0
- package/dist/packages/workflow-authoring/index.d.ts +4 -0
- package/dist/packages/workflow-authoring/index.js +4 -0
- package/dist/packages/workflow-authoring/lib/workflow-edit-utils.d.ts +10 -0
- package/dist/packages/workflow-authoring/lib/workflow-edit-utils.js +39 -0
- package/dist/packages/workflow-authoring/workflow-authoring.d.ts +26 -0
- package/dist/packages/workflow-authoring/workflow-authoring.js +120 -0
- package/dist/packages/workflow-authoring/workflow-edit-session.d.ts +16 -0
- package/dist/packages/workflow-authoring/workflow-edit-session.js +57 -0
- package/dist/packages/workflow-authoring/workflow-improvement.d.ts +23 -0
- package/dist/packages/workflow-authoring/workflow-improvement.js +209 -0
- package/dist/packages/workflow-package/builtin-compiled-workflow.d.ts +38 -0
- package/dist/packages/workflow-package/builtin-compiled-workflow.js +94 -0
- package/dist/packages/workflow-package/index.d.ts +9 -0
- package/dist/packages/workflow-package/index.js +9 -0
- package/dist/packages/workflow-package/interf-workflow-package.d.ts +25 -0
- package/dist/packages/workflow-package/interf-workflow-package.js +342 -0
- package/dist/{lib/config.d.ts → packages/workflow-package/lib/package-root.d.ts} +0 -1
- package/dist/packages/workflow-package/lib/package-root.js +6 -0
- package/dist/packages/workflow-package/local-workflows.d.ts +54 -0
- package/dist/packages/workflow-package/local-workflows.js +422 -0
- package/dist/packages/workflow-package/workflow-definitions.d.ts +78 -0
- package/dist/packages/workflow-package/workflow-definitions.js +203 -0
- package/dist/packages/workflow-package/workflow-helpers.d.ts +38 -0
- package/dist/packages/workflow-package/workflow-helpers.js +167 -0
- package/dist/packages/workflow-package/workflow-review-paths.d.ts +10 -0
- package/dist/packages/workflow-package/workflow-review-paths.js +27 -0
- package/dist/packages/workflow-package/workflow-stage-policy.d.ts +5 -0
- package/dist/packages/workflow-package/workflow-stage-policy.js +31 -0
- package/dist/packages/workflow-package/workflow-stage-runner.d.ts +41 -0
- package/dist/packages/workflow-package/workflow-stage-runner.js +109 -0
- package/package.json +44 -21
- package/dist/commands/compile.d.ts +0 -15
- package/dist/commands/create-workflow-wizard.js +0 -125
- package/dist/commands/create.js +0 -162
- package/dist/commands/init.d.ts +0 -3
- package/dist/commands/test.d.ts +0 -9
- package/dist/lib/compiled-home.d.ts +0 -5
- package/dist/lib/compiled-home.js +0 -32
- package/dist/lib/config.js +0 -9
- package/dist/lib/obsidian.d.ts +0 -1
- package/dist/lib/obsidian.js +0 -15
- package/dist/lib/summarize-plan.d.ts +0 -17
- package/dist/lib/summarize-plan.js +0 -120
- /package/dist/{commands → cli/commands}/default.d.ts +0 -0
- /package/dist/{commands → cli/commands}/doctor.d.ts +0 -0
- /package/dist/{commands → cli/commands}/list.d.ts +0 -0
- /package/dist/{commands → cli/commands}/reset.d.ts +0 -0
- /package/dist/{commands → cli/commands}/status.d.ts +0 -0
- /package/dist/{commands → cli/commands}/verify.d.ts +0 -0
package/dist/lib/test-targets.js
CHANGED
|
@@ -1,38 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return `${target.name}\u0000${target.workflow}`;
|
|
5
|
-
}
|
|
6
|
-
export function listCompiledTestTargets(sourcePath) {
|
|
7
|
-
return listCompiledDatasetsForSourceFolder(sourcePath)
|
|
8
|
-
.map(({ path, config }) => createCompiledTestTarget(path, config.name, config.workflow ?? "interf"))
|
|
9
|
-
.sort((left, right) => summarizeTargetSortKey(left).localeCompare(summarizeTargetSortKey(right)));
|
|
10
|
-
}
|
|
11
|
-
export function createCompiledTestTarget(compiledPath, compiledName, workflowId = "interf") {
|
|
12
|
-
const health = computeCompiledHealth(compiledPath);
|
|
13
|
-
return {
|
|
14
|
-
type: "compiled",
|
|
15
|
-
name: compiledName,
|
|
16
|
-
path: compiledPath,
|
|
17
|
-
workflow: workflowId,
|
|
18
|
-
status: health.status,
|
|
19
|
-
stage: health.stage,
|
|
20
|
-
summary: health.summary,
|
|
21
|
-
eligible: health.status === "compiled",
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export function createRawTestTarget(sourcePath) {
|
|
25
|
-
return {
|
|
26
|
-
type: "raw",
|
|
27
|
-
name: "raw",
|
|
28
|
-
path: sourcePath,
|
|
29
|
-
workflow: "raw",
|
|
30
|
-
status: "compiled",
|
|
31
|
-
stage: "raw",
|
|
32
|
-
summary: "Run the saved truth checks against an isolated sandbox of the raw files.",
|
|
33
|
-
eligible: true,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
export function listTestTargets(sourcePath) {
|
|
37
|
-
return listCompiledTestTargets(sourcePath);
|
|
38
|
-
}
|
|
1
|
+
// Compatibility shim for historical `src/lib/test-targets.ts` imports.
|
|
2
|
+
// Source of truth: `src/packages/testing/test-targets.ts`.
|
|
3
|
+
export * from "../packages/testing/test-targets.js";
|
package/dist/lib/test-types.d.ts
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export type { TestCaseExpect, TestCase, TestSpec, TestCheckResult, TestCaseResult, TestTargetResult, TestTargetRun, } from "./schema.js";
|
|
3
|
-
export type TestTargetType = "compiled" | "raw";
|
|
4
|
-
export interface LoadedTestSpec extends TestSpec {
|
|
5
|
-
id: string;
|
|
6
|
-
filePath: string;
|
|
7
|
-
}
|
|
8
|
-
export interface TestTargetCandidate {
|
|
9
|
-
type: TestTargetType;
|
|
10
|
-
name: string;
|
|
11
|
-
path: string;
|
|
12
|
-
workflow: string;
|
|
13
|
-
status: "idle" | "running" | "compiled" | "stale" | "failed";
|
|
14
|
-
stage: string;
|
|
15
|
-
summary: string;
|
|
16
|
-
eligible: boolean;
|
|
17
|
-
}
|
|
1
|
+
export * from "../packages/testing/test-types.js";
|
package/dist/lib/test-types.js
CHANGED
package/dist/lib/test.d.ts
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { listTestSpecs, loadTestSpec, loadTestSpecFromFile, writeTestSpec, } from "./test-specs.js";
|
|
3
|
-
export { createRawTestTarget, createCompiledTestTarget, listCompiledTestTargets, listTestTargets, } from "./test-targets.js";
|
|
4
|
-
export { runTargetTests, runTargetTestsWithJudge, runTargetTestsAuto, saveTargetTestRun, } from "./test-execution.js";
|
|
1
|
+
export * from "../packages/testing/test.js";
|
package/dist/lib/test.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
1
|
+
// Compatibility shim for historical `src/lib/test.ts` imports.
|
|
2
|
+
// Source of truth: `src/packages/testing/test.ts`.
|
|
3
|
+
export * from "../packages/testing/test.js";
|
|
@@ -1,27 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
config_present: boolean;
|
|
3
|
-
config_valid: boolean;
|
|
4
|
-
config_type_match: boolean;
|
|
5
|
-
workflow_present: boolean;
|
|
6
|
-
workflow_valid: boolean;
|
|
7
|
-
schema_present: boolean;
|
|
8
|
-
schema_valid: boolean;
|
|
9
|
-
}
|
|
10
|
-
export interface CompiledStageValidation {
|
|
11
|
-
ok: boolean;
|
|
12
|
-
required: boolean;
|
|
13
|
-
stage: string;
|
|
14
|
-
summary: string;
|
|
15
|
-
counts: Record<string, number>;
|
|
16
|
-
checks: Record<string, boolean>;
|
|
17
|
-
errors: string[];
|
|
18
|
-
}
|
|
19
|
-
export interface CompiledWorkflowValidation extends CompiledStageValidation {
|
|
20
|
-
stage_results: Record<string, boolean>;
|
|
21
|
-
}
|
|
22
|
-
export declare function validateCompiled(dirPath: string): CompiledValidationSummary;
|
|
23
|
-
export declare function validateCompiledStage(dirPath: string, stageId: string): CompiledStageValidation;
|
|
24
|
-
export declare function validateCompiledWorkflow(dirPath: string): CompiledWorkflowValidation;
|
|
25
|
-
export declare function validateCompiledSummarize(dirPath: string): CompiledStageValidation;
|
|
26
|
-
export declare function validateCompiledStructure(dirPath: string): CompiledStageValidation;
|
|
27
|
-
export declare function validateCompiledCompile(dirPath: string): CompiledWorkflowValidation;
|
|
1
|
+
export * from "../packages/compiler/validate-compiled.js";
|
|
@@ -1,238 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { discoverSourceFiles } from "./discovery.js";
|
|
4
|
-
import { compiledZoneAbsolutePath, findCompiledSchemaZone, readCompiledSchemaFile, } from "./compiled-schema.js";
|
|
5
|
-
import { resolveSourceFolderPath } from "./interf.js";
|
|
6
|
-
import { compiledInterfConfigPath, workflowPackagePathForCompiled } from "./compiled-paths.js";
|
|
7
|
-
import { readCompiledConfig } from "./validate.js";
|
|
8
|
-
import { loadState } from "./state.js";
|
|
9
|
-
import { validateResolvedStageAcceptance, stageRecordFromState } from "./runtime-acceptance.js";
|
|
10
|
-
import { getActiveCompiledWorkflow, resolveRequiredCompiledWorkflowFromConfig, } from "./workflow-definitions.js";
|
|
11
|
-
import { listFilesRecursive } from "./filesystem.js";
|
|
12
|
-
function countZoneArtifacts(compiledPath, zonePath, kind) {
|
|
13
|
-
const absolutePath = compiledZoneAbsolutePath(compiledPath, { path: zonePath });
|
|
14
|
-
if (!existsSync(absolutePath))
|
|
15
|
-
return 0;
|
|
16
|
-
if (kind === "file")
|
|
17
|
-
return 1;
|
|
18
|
-
return listFilesRecursive(absolutePath).length;
|
|
19
|
-
}
|
|
20
|
-
function readWorkflowContext(dirPath) {
|
|
21
|
-
const config = readCompiledConfig(dirPath);
|
|
22
|
-
const workflowId = config.valid
|
|
23
|
-
? resolveRequiredCompiledWorkflowFromConfig(config.value, `.interf/interf.json for ${dirPath}`)
|
|
24
|
-
: null;
|
|
25
|
-
let workflow = null;
|
|
26
|
-
if (workflowId) {
|
|
27
|
-
try {
|
|
28
|
-
workflow = getActiveCompiledWorkflow(dirPath, workflowId);
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
workflow = null;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
const schema = readCompiledSchemaFile(workflowPackagePathForCompiled(dirPath));
|
|
35
|
-
const state = loadState(dirPath);
|
|
36
|
-
const sourceTotal = config.valid
|
|
37
|
-
? discoverSourceFiles(resolveSourceFolderPath(dirPath, config.value), dirPath).totalCount
|
|
38
|
-
: 0;
|
|
39
|
-
return {
|
|
40
|
-
config,
|
|
41
|
-
workflow,
|
|
42
|
-
schema,
|
|
43
|
-
state,
|
|
44
|
-
sourceTotal,
|
|
45
|
-
workflowId,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function stageRequired(sourceTotal, writeCounts, stageRecordPresent) {
|
|
49
|
-
return sourceTotal > 0 || writeCounts > 0 || stageRecordPresent;
|
|
50
|
-
}
|
|
51
|
-
function zoneWriteCount(compiledPath, schema, stage) {
|
|
52
|
-
const zoneCounts = {};
|
|
53
|
-
let total = 0;
|
|
54
|
-
for (const zoneId of stage.writes) {
|
|
55
|
-
const zone = findCompiledSchemaZone(schema, zoneId);
|
|
56
|
-
if (!zone)
|
|
57
|
-
continue;
|
|
58
|
-
const count = countZoneArtifacts(compiledPath, zone.path, zone.kind);
|
|
59
|
-
zoneCounts[zoneId] = count;
|
|
60
|
-
total += count;
|
|
61
|
-
}
|
|
62
|
-
return { total, zoneCounts };
|
|
63
|
-
}
|
|
64
|
-
function mergeValidationCounts(sourceTotal, stageRecord, zoneCounts) {
|
|
65
|
-
const merged = {
|
|
66
|
-
source_total: sourceTotal,
|
|
67
|
-
...zoneCounts,
|
|
68
|
-
};
|
|
69
|
-
const stageCounts = stageRecord?.counts;
|
|
70
|
-
if (stageCounts && typeof stageCounts === "object" && !Array.isArray(stageCounts)) {
|
|
71
|
-
for (const [key, value] of Object.entries(stageCounts)) {
|
|
72
|
-
if (typeof value === "number" && Number.isFinite(value)) {
|
|
73
|
-
merged[key] = value;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return merged;
|
|
78
|
-
}
|
|
79
|
-
export function validateCompiled(dirPath) {
|
|
80
|
-
const context = readWorkflowContext(dirPath);
|
|
81
|
-
return {
|
|
82
|
-
config_present: context.config.present,
|
|
83
|
-
config_valid: context.config.valid,
|
|
84
|
-
config_type_match: context.config.typeMatch(),
|
|
85
|
-
workflow_present: existsSync(join(dirPath, ".interf", "workflow", "workflow.json")),
|
|
86
|
-
workflow_valid: context.workflow !== null,
|
|
87
|
-
schema_present: existsSync(join(dirPath, ".interf", "workflow", "compiled.schema.json")),
|
|
88
|
-
schema_valid: context.schema !== null,
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
export function validateCompiledStage(dirPath, stageId) {
|
|
92
|
-
const context = readWorkflowContext(dirPath);
|
|
93
|
-
const checks = {
|
|
94
|
-
config_present: context.config.present,
|
|
95
|
-
config_valid: context.config.valid,
|
|
96
|
-
config_type_match: context.config.typeMatch(),
|
|
97
|
-
workflow_present: existsSync(join(dirPath, ".interf", "workflow", "workflow.json")),
|
|
98
|
-
workflow_valid: context.workflow !== null,
|
|
99
|
-
schema_present: existsSync(join(dirPath, ".interf", "workflow", "compiled.schema.json")),
|
|
100
|
-
schema_valid: context.schema !== null,
|
|
101
|
-
};
|
|
102
|
-
const errors = [];
|
|
103
|
-
if (!checks.config_present)
|
|
104
|
-
errors.push(`Missing ${compiledInterfConfigPath(dirPath)}.`);
|
|
105
|
-
else if (!checks.config_valid)
|
|
106
|
-
errors.push(`Could not parse ${compiledInterfConfigPath(dirPath)}.`);
|
|
107
|
-
else if (!checks.config_type_match)
|
|
108
|
-
errors.push("Config is not a compiled dataset.");
|
|
109
|
-
if (!checks.workflow_present)
|
|
110
|
-
errors.push("Missing .interf/workflow/workflow.json.");
|
|
111
|
-
else if (!checks.workflow_valid)
|
|
112
|
-
errors.push("Could not load the active workflow package.");
|
|
113
|
-
if (!checks.schema_present)
|
|
114
|
-
errors.push("Missing .interf/workflow/compiled.schema.json.");
|
|
115
|
-
else if (!checks.schema_valid)
|
|
116
|
-
errors.push("Could not parse .interf/workflow/compiled.schema.json.");
|
|
117
|
-
const workflowStage = context.workflow?.stages.find((stage) => stage.id === stageId) ?? null;
|
|
118
|
-
checks.stage_present = workflowStage !== null;
|
|
119
|
-
if (!checks.stage_present) {
|
|
120
|
-
errors.push(`Workflow does not declare stage "${stageId}".`);
|
|
121
|
-
}
|
|
122
|
-
const stageRecord = stageRecordFromState(context.state, stageId);
|
|
123
|
-
checks.stage_record_present = stageRecord !== null;
|
|
124
|
-
checks.stage_finished = Boolean(stageRecord?.finished_at);
|
|
125
|
-
checks.stage_succeeded = stageRecord?.status === "succeeded";
|
|
126
|
-
const writeCounts = workflowStage && context.schema
|
|
127
|
-
? zoneWriteCount(dirPath, context.schema, workflowStage)
|
|
128
|
-
: { total: 0, zoneCounts: {} };
|
|
129
|
-
const acceptanceCounts = mergeValidationCounts(context.sourceTotal, stageRecord, writeCounts.zoneCounts);
|
|
130
|
-
const required = stageRequired(context.sourceTotal, writeCounts.total, checks.stage_record_present);
|
|
131
|
-
let acceptanceErrors = [];
|
|
132
|
-
if (workflowStage && context.schema) {
|
|
133
|
-
const acceptanceValidation = validateResolvedStageAcceptance(dirPath, {
|
|
134
|
-
stageId,
|
|
135
|
-
acceptance: workflowStage.acceptance,
|
|
136
|
-
counts: acceptanceCounts,
|
|
137
|
-
});
|
|
138
|
-
checks.acceptance_ok = acceptanceValidation.ok;
|
|
139
|
-
acceptanceErrors = acceptanceValidation.failures;
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
checks.acceptance_ok = false;
|
|
143
|
-
}
|
|
144
|
-
if (required && checks.stage_record_present && !checks.stage_finished) {
|
|
145
|
-
errors.push(`Stage "${stageId}" has no finished_at proof in runtime state.`);
|
|
146
|
-
}
|
|
147
|
-
if (required && checks.stage_record_present && !checks.stage_succeeded) {
|
|
148
|
-
errors.push(`Stage "${stageId}" is not marked succeeded in runtime state.`);
|
|
149
|
-
}
|
|
150
|
-
if (required) {
|
|
151
|
-
errors.push(...acceptanceErrors);
|
|
152
|
-
}
|
|
153
|
-
const ok = required ? errors.length === 0 : errors.length === 0;
|
|
154
|
-
const summary = !required
|
|
155
|
-
? `Stage "${stageId}" is not required yet.`
|
|
156
|
-
: ok
|
|
157
|
-
? `Stage "${stageId}" verified.`
|
|
158
|
-
: `Stage "${stageId}" failed — ${errors[0] ?? "acceptance not satisfied."}`;
|
|
159
|
-
return {
|
|
160
|
-
ok,
|
|
161
|
-
required,
|
|
162
|
-
stage: stageId,
|
|
163
|
-
summary,
|
|
164
|
-
counts: {
|
|
165
|
-
...acceptanceCounts,
|
|
166
|
-
write_artifacts: writeCounts.total,
|
|
167
|
-
declared_write_zones: workflowStage?.writes.length ?? 0,
|
|
168
|
-
},
|
|
169
|
-
checks,
|
|
170
|
-
errors,
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
export function validateCompiledWorkflow(dirPath) {
|
|
174
|
-
const context = readWorkflowContext(dirPath);
|
|
175
|
-
const checks = {
|
|
176
|
-
config_present: context.config.present,
|
|
177
|
-
config_valid: context.config.valid,
|
|
178
|
-
config_type_match: context.config.typeMatch(),
|
|
179
|
-
workflow_present: existsSync(join(dirPath, ".interf", "workflow", "workflow.json")),
|
|
180
|
-
workflow_valid: context.workflow !== null,
|
|
181
|
-
schema_present: existsSync(join(dirPath, ".interf", "workflow", "compiled.schema.json")),
|
|
182
|
-
schema_valid: context.schema !== null,
|
|
183
|
-
};
|
|
184
|
-
if (!context.workflow) {
|
|
185
|
-
const errors = ["Could not load the active workflow package."];
|
|
186
|
-
return {
|
|
187
|
-
ok: false,
|
|
188
|
-
required: true,
|
|
189
|
-
stage: "workflow",
|
|
190
|
-
summary: `Compiled workflow failed — ${errors[0]}`,
|
|
191
|
-
counts: { source_total: context.sourceTotal, stage_total: 0, completed_stages: 0 },
|
|
192
|
-
checks,
|
|
193
|
-
errors,
|
|
194
|
-
stage_results: {},
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
const stageResults = {};
|
|
198
|
-
const errors = [];
|
|
199
|
-
let completedStages = 0;
|
|
200
|
-
let failedStage = "compiled";
|
|
201
|
-
for (const stage of context.workflow.stages) {
|
|
202
|
-
const validation = validateCompiledStage(dirPath, stage.id);
|
|
203
|
-
stageResults[stage.id] = validation.ok;
|
|
204
|
-
if (validation.ok) {
|
|
205
|
-
completedStages += 1;
|
|
206
|
-
continue;
|
|
207
|
-
}
|
|
208
|
-
failedStage = stage.id;
|
|
209
|
-
errors.push(...validation.errors);
|
|
210
|
-
break;
|
|
211
|
-
}
|
|
212
|
-
const ok = errors.length === 0;
|
|
213
|
-
return {
|
|
214
|
-
ok,
|
|
215
|
-
required: context.sourceTotal > 0,
|
|
216
|
-
stage: failedStage,
|
|
217
|
-
summary: ok
|
|
218
|
-
? `Compiled workflow verified — ${completedStages}/${context.workflow.stages.length} stages satisfied.`
|
|
219
|
-
: `Compiled workflow failed — ${errors[0] ?? "stage acceptance not satisfied."}`,
|
|
220
|
-
counts: {
|
|
221
|
-
source_total: context.sourceTotal,
|
|
222
|
-
stage_total: context.workflow.stages.length,
|
|
223
|
-
completed_stages: completedStages,
|
|
224
|
-
},
|
|
225
|
-
checks,
|
|
226
|
-
errors,
|
|
227
|
-
stage_results: stageResults,
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
export function validateCompiledSummarize(dirPath) {
|
|
231
|
-
return validateCompiledStage(dirPath, "summarize");
|
|
232
|
-
}
|
|
233
|
-
export function validateCompiledStructure(dirPath) {
|
|
234
|
-
return validateCompiledStage(dirPath, "structure");
|
|
235
|
-
}
|
|
236
|
-
export function validateCompiledCompile(dirPath) {
|
|
237
|
-
return validateCompiledWorkflow(dirPath);
|
|
238
|
-
}
|
|
1
|
+
export * from "../packages/compiler/validate-compiled.js";
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function asRejectedEntries(value: unknown): Array<{
|
|
3
|
-
path: string;
|
|
4
|
-
reason: string;
|
|
5
|
-
}>;
|
|
6
|
-
export declare function asFileEntries(value: unknown): Array<{
|
|
7
|
-
file: string;
|
|
8
|
-
}>;
|
|
9
|
-
export declare function isSubset(left: Set<string>, right: Set<string>): boolean;
|
|
10
|
-
export declare function setsEqual(left: Set<string>, right: Set<string>): boolean;
|
|
11
|
-
export declare function setIntersectionSize(left: Set<string>, right: Set<string>): number;
|
|
12
|
-
export declare function dedupeStrings(values: string[]): string[];
|
|
1
|
+
export * from "../packages/compiler/validate-helpers.js";
|
|
@@ -1,41 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
if (!Array.isArray(value))
|
|
3
|
-
return [];
|
|
4
|
-
return value.filter((item) => typeof item === "string");
|
|
5
|
-
}
|
|
6
|
-
export function asRejectedEntries(value) {
|
|
7
|
-
if (!Array.isArray(value))
|
|
8
|
-
return [];
|
|
9
|
-
return value.filter((item) => !!item &&
|
|
10
|
-
typeof item === "object" &&
|
|
11
|
-
typeof item.path === "string" &&
|
|
12
|
-
typeof item.reason === "string");
|
|
13
|
-
}
|
|
14
|
-
export function asFileEntries(value) {
|
|
15
|
-
if (!Array.isArray(value))
|
|
16
|
-
return [];
|
|
17
|
-
return value.filter((item) => !!item &&
|
|
18
|
-
typeof item === "object" &&
|
|
19
|
-
typeof item.file === "string");
|
|
20
|
-
}
|
|
21
|
-
export function isSubset(left, right) {
|
|
22
|
-
for (const item of left) {
|
|
23
|
-
if (!right.has(item))
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
export function setsEqual(left, right) {
|
|
29
|
-
return left.size === right.size && isSubset(left, right);
|
|
30
|
-
}
|
|
31
|
-
export function setIntersectionSize(left, right) {
|
|
32
|
-
let count = 0;
|
|
33
|
-
for (const item of left) {
|
|
34
|
-
if (right.has(item))
|
|
35
|
-
count += 1;
|
|
36
|
-
}
|
|
37
|
-
return count;
|
|
38
|
-
}
|
|
39
|
-
export function dedupeStrings(values) {
|
|
40
|
-
return Array.from(new Set(values));
|
|
41
|
-
}
|
|
1
|
+
export * from "../packages/compiler/validate-helpers.js";
|
package/dist/lib/validate.d.ts
CHANGED
|
@@ -1,19 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function readCompiledConfig(dirPath: string): {
|
|
3
|
-
present: boolean;
|
|
4
|
-
valid: boolean;
|
|
5
|
-
value: ReturnType<typeof readInterfConfig>;
|
|
6
|
-
typeMatch(): boolean;
|
|
7
|
-
};
|
|
8
|
-
export declare function validateSynthFiles(files: string[]): {
|
|
9
|
-
invalid_frontmatter: number;
|
|
10
|
-
short_abstracts: number;
|
|
11
|
-
};
|
|
12
|
-
export declare function countBrokenWikilinks(compiledRoot: string, noteIndexRoots: string[], linkScanRoots: string[]): number;
|
|
13
|
-
export declare function asNumber(value: unknown): number;
|
|
14
|
-
export declare function isOutputMarkdownFile(filePath: string): boolean;
|
|
15
|
-
export declare function safeReadText(filePath: string): string | null;
|
|
16
|
-
export declare function extractSynthAbstract(frontmatter: Record<string, unknown>, body: string): string | null;
|
|
17
|
-
export declare function countSynthAbstractWords(frontmatter: Record<string, unknown>, body: string): number;
|
|
18
|
-
export { validateCompiled, validateCompiledStage, validateCompiledWorkflow, validateCompiledSummarize, validateCompiledStructure, validateCompiledCompile, } from "./validate-compiled.js";
|
|
19
|
-
export type { CompiledValidationSummary, CompiledStageValidation, CompiledWorkflowValidation, } from "./validate-compiled.js";
|
|
1
|
+
export * from "../packages/compiler/validate.js";
|