@interf/compiler 0.6.1 → 0.6.4
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 +106 -80
- package/builtin-workflows/interf/README.md +5 -5
- package/builtin-workflows/interf/compile/stages/shape/SKILL.md +4 -4
- package/builtin-workflows/interf/improve/SKILL.md +2 -2
- package/builtin-workflows/interf/use/query/SKILL.md +1 -1
- package/builtin-workflows/interf/workflow.json +6 -6
- package/builtin-workflows/interf/workflow.schema.json +1 -1
- 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 +16 -16
- package/dist/{commands → cli/commands}/compile-controller.d.ts +3 -3
- package/dist/{commands → cli/commands}/compile-controller.js +37 -35
- package/dist/{commands → cli/commands}/compile.d.ts +2 -2
- package/dist/{commands → cli/commands}/compile.js +15 -11
- 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 +3 -3
- package/dist/{commands → cli/commands}/create-workflow-wizard.js +64 -37
- package/dist/{commands → cli/commands}/create.d.ts +1 -1
- package/dist/{commands → cli/commands}/create.js +15 -18
- package/dist/{commands → cli/commands}/dataset-selection.d.ts +1 -1
- package/dist/{commands → cli/commands}/default.js +3 -3
- package/dist/{commands → cli/commands}/doctor.js +5 -6
- package/dist/{commands → cli/commands}/executor-flow.d.ts +1 -1
- package/dist/{commands → cli/commands}/executor-flow.js +13 -16
- package/dist/{commands → cli/commands}/init.d.ts +4 -1
- package/dist/{commands → cli/commands}/init.js +162 -77
- package/dist/{commands → cli/commands}/list.js +6 -6
- package/dist/{commands → cli/commands}/reset.js +4 -4
- package/dist/{commands → cli/commands}/source-config-wizard.d.ts +9 -4
- package/dist/{commands → cli/commands}/source-config-wizard.js +168 -94
- 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 +52 -48
- package/dist/cli/commands/test.d.ts +14 -0
- package/dist/{commands → cli/commands}/test.js +40 -24
- 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 -4
- package/dist/lib/agent-args.js +1 -52
- 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 -243
- 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 -77
- 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 -69
- package/dist/lib/agent-shells.js +1 -1021
- 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 -38
- package/dist/lib/builtin-compiled-workflow.js +1 -94
- package/dist/lib/chart-guidance.d.ts +1 -1
- package/dist/lib/chart-guidance.js +1 -8
- package/dist/lib/compiled-compile.d.ts +1 -48
- package/dist/lib/compiled-compile.js +1 -255
- package/dist/lib/compiled-paths.d.ts +1 -40
- package/dist/lib/compiled-paths.js +3 -106
- 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 -2
- package/dist/lib/compiled-reset.js +3 -72
- package/dist/lib/compiled-schema.d.ts +1 -31
- package/dist/lib/compiled-schema.js +1 -141
- package/dist/lib/discovery.d.ts +1 -7
- package/dist/lib/discovery.js +1 -84
- 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/filesystem.d.ts +1 -2
- package/dist/lib/filesystem.js +1 -55
- 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 -114
- package/dist/lib/interf-workflow-package.d.ts +1 -25
- package/dist/lib/interf-workflow-package.js +1 -342
- package/dist/lib/interf.d.ts +1 -5
- package/dist/lib/interf.js +3 -4
- package/dist/lib/local-workflows.d.ts +1 -54
- package/dist/lib/local-workflows.js +1 -422
- package/dist/lib/logger.d.ts +1 -3
- package/dist/lib/logger.js +1 -10
- package/dist/lib/package-root.d.ts +1 -0
- package/dist/lib/package-root.js +1 -0
- package/dist/lib/parse.d.ts +1 -8
- package/dist/lib/parse.js +1 -145
- 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 -269
- package/dist/lib/runtime-contracts.d.ts +1 -2
- package/dist/lib/runtime-contracts.js +1 -48
- 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 -8
- package/dist/lib/runtime-paths.js +1 -26
- package/dist/lib/runtime-prompt.d.ts +1 -2
- package/dist/lib/runtime-prompt.js +1 -48
- package/dist/lib/runtime-reconcile.d.ts +1 -2
- package/dist/lib/runtime-reconcile.js +1 -193
- package/dist/lib/runtime-runs.d.ts +1 -11
- package/dist/lib/runtime-runs.js +1 -262
- 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 -1073
- package/dist/lib/schema.js +6 -542
- 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 -7
- package/dist/lib/state.js +1 -12
- 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/util.d.ts +1 -4
- package/dist/lib/util.js +1 -25
- package/dist/lib/validate-compiled.d.ts +1 -27
- package/dist/lib/validate-compiled.js +1 -241
- package/dist/lib/validate-helpers.d.ts +1 -12
- package/dist/lib/validate-helpers.js +1 -41
- package/dist/lib/validate.d.ts +1 -21
- package/dist/lib/validate.js +1 -249
- package/dist/lib/workflow-authoring.d.ts +1 -26
- package/dist/lib/workflow-authoring.js +1 -119
- package/dist/lib/workflow-definitions.d.ts +1 -78
- package/dist/lib/workflow-definitions.js +1 -203
- package/dist/lib/workflow-edit-session.d.ts +1 -16
- package/dist/lib/workflow-edit-session.js +1 -57
- package/dist/lib/workflow-edit-utils.d.ts +1 -10
- package/dist/lib/workflow-edit-utils.js +1 -39
- 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 -209
- 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 -5
- package/dist/lib/workflow-stage-policy.js +1 -31
- 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 +18 -0
- package/dist/packages/agents/index.js +16 -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/chart-guidance.d.ts +1 -0
- package/dist/packages/agents/lib/chart-guidance.js +8 -0
- package/dist/packages/agents/lib/compiled-bootstrap.d.ts +3 -0
- package/dist/packages/agents/lib/compiled-bootstrap.js +18 -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 +71 -0
- package/dist/packages/agents/lib/shells.js +1023 -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 +4 -0
- package/dist/packages/compiler/compiled-compile.js +4 -0
- package/dist/packages/compiler/compiled-paths.d.ts +40 -0
- package/dist/packages/compiler/compiled-paths.js +106 -0
- package/dist/packages/compiler/compiled-pipeline.d.ts +39 -0
- package/dist/packages/compiler/compiled-pipeline.js +134 -0
- package/dist/packages/compiler/compiled-schema.d.ts +31 -0
- package/dist/packages/compiler/compiled-schema.js +141 -0
- package/dist/packages/compiler/compiled-stage-plan.d.ts +15 -0
- package/dist/packages/compiler/compiled-stage-plan.js +79 -0
- package/dist/packages/compiler/compiled-stage-runner.d.ts +10 -0
- package/dist/packages/compiler/compiled-stage-runner.js +46 -0
- package/dist/packages/compiler/compiled-target.d.ts +11 -0
- package/dist/packages/compiler/compiled-target.js +16 -0
- package/dist/packages/compiler/discovery.d.ts +7 -0
- package/dist/packages/compiler/discovery.js +80 -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 +363 -0
- package/dist/packages/compiler/raw-snapshot.d.ts +49 -0
- package/dist/packages/compiler/raw-snapshot.js +102 -0
- package/dist/packages/compiler/reset.d.ts +2 -0
- package/dist/packages/compiler/reset.js +72 -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 +1 -0
- package/dist/packages/project-model/compiled-paths.js +1 -0
- package/dist/packages/project-model/compiled-raw.d.ts +1 -0
- package/dist/packages/project-model/compiled-raw.js +1 -0
- package/dist/packages/project-model/compiled-reset.d.ts +1 -0
- package/dist/packages/project-model/compiled-reset.js +1 -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 +1 -0
- package/dist/packages/project-model/interf-bootstrap.js +1 -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 +298 -0
- package/dist/packages/shared/file-types.d.ts +1 -0
- package/dist/packages/shared/file-types.js +4 -0
- package/dist/packages/shared/filesystem.d.ts +2 -0
- package/dist/packages/shared/filesystem.js +55 -0
- package/dist/packages/shared/index.d.ts +7 -0
- package/dist/packages/shared/index.js +7 -0
- package/dist/packages/shared/logger.d.ts +3 -0
- package/dist/packages/shared/logger.js +10 -0
- package/dist/packages/shared/naming.d.ts +1 -0
- package/dist/packages/shared/naming.js +8 -0
- package/dist/packages/shared/parse.d.ts +8 -0
- package/dist/packages/shared/parse.js +145 -0
- package/dist/packages/shared/path-guards.d.ts +2 -0
- package/dist/packages/shared/path-guards.js +14 -0
- package/dist/packages/shared/util.d.ts +3 -0
- package/dist/packages/shared/util.js +3 -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 +121 -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 +210 -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/context-interface.d.ts +96 -0
- package/dist/packages/workflow-package/context-interface.js +146 -0
- package/dist/packages/workflow-package/index.d.ts +11 -0
- package/dist/packages/workflow-package/index.js +11 -0
- package/dist/packages/workflow-package/interf-workflow-package.d.ts +25 -0
- package/dist/packages/workflow-package/interf-workflow-package.js +389 -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 +57 -0
- package/dist/packages/workflow-package/local-workflows.js +424 -0
- package/dist/packages/workflow-package/workflow-definitions.d.ts +82 -0
- package/dist/packages/workflow-package/workflow-definitions.js +210 -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 +43 -19
- package/dist/commands/test.d.ts +0 -3
- 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/{commands → cli/commands}/dataset-selection.js +0 -0
- /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
|
@@ -1,84 +1 @@
|
|
|
1
|
-
|
|
2
|
-
"claude-code": {
|
|
3
|
-
model: "claude-sonnet-4-6",
|
|
4
|
-
effort: "low",
|
|
5
|
-
},
|
|
6
|
-
codex: {
|
|
7
|
-
model: "gpt-5.4-mini",
|
|
8
|
-
effort: "low",
|
|
9
|
-
},
|
|
10
|
-
};
|
|
11
|
-
function readAgentName(agent) {
|
|
12
|
-
if (!agent)
|
|
13
|
-
return null;
|
|
14
|
-
return typeof agent === "string" ? agent : agent.name;
|
|
15
|
-
}
|
|
16
|
-
function normalizeOptionalString(value) {
|
|
17
|
-
if (typeof value !== "string")
|
|
18
|
-
return null;
|
|
19
|
-
const trimmed = value.trim();
|
|
20
|
-
return trimmed.length > 0 ? trimmed : null;
|
|
21
|
-
}
|
|
22
|
-
function normalizeOptionalTimeout(value) {
|
|
23
|
-
if (value === undefined || value === null || value === "")
|
|
24
|
-
return null;
|
|
25
|
-
const parsed = typeof value === "number" ? value : Number.parseInt(String(value), 10);
|
|
26
|
-
if (!Number.isFinite(parsed) || parsed <= 0) {
|
|
27
|
-
throw new Error(`Invalid timeout: ${String(value)}`);
|
|
28
|
-
}
|
|
29
|
-
return parsed;
|
|
30
|
-
}
|
|
31
|
-
export function addExecutionProfileOptions(yargs) {
|
|
32
|
-
return yargs
|
|
33
|
-
.option("model", {
|
|
34
|
-
type: "string",
|
|
35
|
-
describe: "Override the local executor model for this run",
|
|
36
|
-
})
|
|
37
|
-
.option("profile", {
|
|
38
|
-
type: "string",
|
|
39
|
-
describe: "Executor-specific profile override for this run",
|
|
40
|
-
})
|
|
41
|
-
.option("effort", {
|
|
42
|
-
type: "string",
|
|
43
|
-
describe: "Override the model reasoning effort for this run",
|
|
44
|
-
})
|
|
45
|
-
.option("timeout-ms", {
|
|
46
|
-
type: "number",
|
|
47
|
-
describe: "Interrupt the local executor after this much inactivity",
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
export function executionProfileFromArgv(argv) {
|
|
51
|
-
return {
|
|
52
|
-
model: normalizeOptionalString(argv.model),
|
|
53
|
-
profile: normalizeOptionalString(argv.profile),
|
|
54
|
-
effort: normalizeOptionalString(argv.effort),
|
|
55
|
-
timeoutMs: normalizeOptionalTimeout(argv.timeoutMs ?? argv["timeout-ms"]),
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
export function applyInternalAcceptanceExecutionProfileDefaults(agent, overrides = {}) {
|
|
59
|
-
const defaults = INTERNAL_ACCEPTANCE_DEFAULTS[readAgentName(agent) ?? ""];
|
|
60
|
-
const profile = overrides.profile ?? null;
|
|
61
|
-
const explicitEffort = overrides.effort ?? null;
|
|
62
|
-
return {
|
|
63
|
-
model: overrides.model ?? defaults?.model ?? null,
|
|
64
|
-
profile,
|
|
65
|
-
effort: explicitEffort ?? (profile ? null : defaults?.effort ?? null),
|
|
66
|
-
timeoutMs: overrides.timeoutMs ?? null,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
export function hasWorkflowExecutionProfile(profile) {
|
|
70
|
-
return Boolean(profile?.model ||
|
|
71
|
-
profile?.profile ||
|
|
72
|
-
profile?.effort ||
|
|
73
|
-
profile?.timeoutMs);
|
|
74
|
-
}
|
|
75
|
-
export function formatWorkflowExecutionProfile(profile) {
|
|
76
|
-
if (!hasWorkflowExecutionProfile(profile))
|
|
77
|
-
return null;
|
|
78
|
-
return JSON.stringify({
|
|
79
|
-
...(profile?.model ? { model: profile.model } : {}),
|
|
80
|
-
...(profile?.profile ? { profile: profile.profile } : {}),
|
|
81
|
-
...(profile?.effort ? { effort: profile.effort } : {}),
|
|
82
|
-
...(profile?.timeoutMs ? { timeout_ms: profile.timeoutMs } : {}),
|
|
83
|
-
});
|
|
84
|
-
}
|
|
1
|
+
export * from "../packages/agents/lib/execution-profile.js";
|
package/dist/lib/executors.d.ts
CHANGED
|
@@ -1,32 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import type { RuntimeExecutorInfo } from "./schema.js";
|
|
3
|
-
export type WorkflowExecutorKind = "local-agent" | "connected-provider" | "managed";
|
|
4
|
-
export interface WorkflowExecutionProfile {
|
|
5
|
-
model?: string | null;
|
|
6
|
-
effort?: string | null;
|
|
7
|
-
profile?: string | null;
|
|
8
|
-
timeoutMs?: number | null;
|
|
9
|
-
}
|
|
10
|
-
export interface WorkflowExecuteOptions {
|
|
11
|
-
eventLogPath?: string | null;
|
|
12
|
-
statusLogPath?: string | null;
|
|
13
|
-
completionCheck?: (() => boolean) | null;
|
|
14
|
-
}
|
|
15
|
-
export interface WorkflowExecutor {
|
|
16
|
-
kind: WorkflowExecutorKind;
|
|
17
|
-
name: string;
|
|
18
|
-
displayName: string;
|
|
19
|
-
command?: string | null;
|
|
20
|
-
executionProfile?: WorkflowExecutionProfile;
|
|
21
|
-
execute(rootPath: string, prompt: string, options?: WorkflowExecuteOptions): Promise<number>;
|
|
22
|
-
}
|
|
23
|
-
export type { RuntimeExecutorInfo } from "./schema.js";
|
|
24
|
-
export declare function buildRuntimeExecutorInfo(executor: WorkflowExecutor): RuntimeExecutorInfo;
|
|
25
|
-
export declare function createLocalAgentExecutor(agent: Agent, executionProfile?: WorkflowExecutionProfile): WorkflowExecutor;
|
|
26
|
-
export declare function resolveLocalExecutor(options?: {
|
|
27
|
-
preflight?: boolean;
|
|
28
|
-
executionProfile?: WorkflowExecutionProfile;
|
|
29
|
-
}): {
|
|
30
|
-
executor: WorkflowExecutor | null;
|
|
31
|
-
error?: string;
|
|
32
|
-
};
|
|
1
|
+
export * from "../packages/agents/lib/executors.js";
|
package/dist/lib/executors.js
CHANGED
|
@@ -1,43 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export function buildRuntimeExecutorInfo(executor) {
|
|
3
|
-
return {
|
|
4
|
-
kind: executor.kind,
|
|
5
|
-
name: executor.name,
|
|
6
|
-
display_name: executor.displayName,
|
|
7
|
-
command: executor.command ?? null,
|
|
8
|
-
model: executor.executionProfile?.model ?? null,
|
|
9
|
-
effort: executor.executionProfile?.effort ?? null,
|
|
10
|
-
profile: executor.executionProfile?.profile ?? null,
|
|
11
|
-
timeout_ms: executor.executionProfile?.timeoutMs ?? null,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export function createLocalAgentExecutor(agent, executionProfile = {}) {
|
|
15
|
-
return {
|
|
16
|
-
kind: "local-agent",
|
|
17
|
-
name: agent.name,
|
|
18
|
-
displayName: agent.displayName,
|
|
19
|
-
command: agent.command,
|
|
20
|
-
executionProfile,
|
|
21
|
-
execute(rootPath, prompt, options) {
|
|
22
|
-
return spawnAgent(agent, rootPath, prompt, {
|
|
23
|
-
eventLogPath: options?.eventLogPath,
|
|
24
|
-
statusLogPath: options?.statusLogPath,
|
|
25
|
-
executionProfile,
|
|
26
|
-
completionCheck: options?.completionCheck,
|
|
27
|
-
});
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
export function resolveLocalExecutor(options = {}) {
|
|
32
|
-
const { agent, error } = resolveAgent();
|
|
33
|
-
if (!agent) {
|
|
34
|
-
return { executor: null, error };
|
|
35
|
-
}
|
|
36
|
-
if (options.preflight !== false) {
|
|
37
|
-
const readiness = ensureAgentAutomatedRunReady(agent);
|
|
38
|
-
if (!readiness.ok) {
|
|
39
|
-
return { executor: null, error: readiness.error };
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return { executor: createLocalAgentExecutor(agent, options.executionProfile) };
|
|
43
|
-
}
|
|
1
|
+
export * from "../packages/agents/lib/executors.js";
|
package/dist/lib/filesystem.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function listFilesRecursive(dirPath: string, predicate?: (filePath: string) => boolean): string[];
|
|
1
|
+
export * from "../packages/shared/filesystem.js";
|
package/dist/lib/filesystem.js
CHANGED
|
@@ -1,55 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
export function countFilesRecursive(dirPath) {
|
|
4
|
-
if (!existsSync(dirPath))
|
|
5
|
-
return 0;
|
|
6
|
-
let total = 0;
|
|
7
|
-
walkFilesRecursive(dirPath, () => {
|
|
8
|
-
total += 1;
|
|
9
|
-
});
|
|
10
|
-
return total;
|
|
11
|
-
}
|
|
12
|
-
export function listFilesRecursive(dirPath, predicate) {
|
|
13
|
-
const files = [];
|
|
14
|
-
if (!existsSync(dirPath))
|
|
15
|
-
return files;
|
|
16
|
-
walkFilesRecursive(dirPath, (filePath) => {
|
|
17
|
-
if (!predicate || predicate(filePath)) {
|
|
18
|
-
files.push(filePath);
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
return files;
|
|
22
|
-
}
|
|
23
|
-
function walkFilesRecursive(dirPath, onFile, visitedDirs = new Set()) {
|
|
24
|
-
if (!existsSync(dirPath))
|
|
25
|
-
return;
|
|
26
|
-
walkFilesRecursiveInternal(dirPath, onFile, visitedDirs);
|
|
27
|
-
}
|
|
28
|
-
function walkFilesRecursiveInternal(dirPath, onFile, visitedDirs) {
|
|
29
|
-
let resolvedDir;
|
|
30
|
-
try {
|
|
31
|
-
resolvedDir = realpathSync(dirPath);
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
if (visitedDirs.has(resolvedDir))
|
|
37
|
-
return;
|
|
38
|
-
visitedDirs.add(resolvedDir);
|
|
39
|
-
for (const entry of readdirSync(dirPath)) {
|
|
40
|
-
const fullPath = join(dirPath, entry);
|
|
41
|
-
let stat;
|
|
42
|
-
try {
|
|
43
|
-
stat = statSync(fullPath);
|
|
44
|
-
}
|
|
45
|
-
catch {
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
if (stat.isDirectory()) {
|
|
49
|
-
walkFilesRecursiveInternal(fullPath, onFile, visitedDirs);
|
|
50
|
-
}
|
|
51
|
-
else if (stat.isFile()) {
|
|
52
|
-
onFile(fullPath);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
export * from "../packages/shared/filesystem.js";
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export { renderClaudeBootstrap };
|
|
5
|
-
export function refreshCompiledBootstrapGuidance(dirPath) {
|
|
6
|
-
const config = readInterfConfig(dirPath);
|
|
7
|
-
if (!config)
|
|
8
|
-
return false;
|
|
9
|
-
const compiledName = config.name ?? basename(dirPath);
|
|
10
|
-
const workflowId = config.workflow ?? "interf";
|
|
11
|
-
const workflowOriginSelected = config.workflow_origin?.selected ?? workflowId;
|
|
12
|
-
const workflowLocalDraft = config.workflow_origin?.local_draft === true;
|
|
13
|
-
const about = typeof config.about === "string" && config.about.length > 0 ? config.about : undefined;
|
|
14
|
-
return projectCompiledQueryShell(dirPath, compiledName, workflowId, about, {
|
|
15
|
-
workflowOriginSelected,
|
|
16
|
-
workflowLocalDraft,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
1
|
+
// Compatibility shim for historical `src/lib/interf-bootstrap.ts` imports.
|
|
2
|
+
// Source of truth: `src/packages/project-model/interf-bootstrap.ts`.
|
|
3
|
+
export * from "../packages/project-model/interf-bootstrap.js";
|
|
@@ -1,33 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export type { InterfConfig } from "./schema.js";
|
|
3
|
-
export interface ResolvedCompiled {
|
|
4
|
-
sourcePath: string;
|
|
5
|
-
compiledPath: string;
|
|
6
|
-
config: InterfConfig;
|
|
7
|
-
}
|
|
8
|
-
export declare const INTERF_CONTAINER_NAME = "interf";
|
|
9
|
-
export declare const WORKFLOW_CONTAINER_NAME = "workflows";
|
|
10
|
-
export declare const TEST_CONTAINER_NAME = "tests";
|
|
11
|
-
export declare const INTERF_CONFIG_FILE = "interf.json";
|
|
12
|
-
export declare const WORKFLOW_PACKAGE_DIR = "workflow";
|
|
13
|
-
export declare function readInterfConfig(dirPath: string): InterfConfig | null;
|
|
14
|
-
export declare function hasSourceFolderInput(config: InterfConfig | null | undefined): config is InterfConfig & {
|
|
15
|
-
source: {
|
|
16
|
-
path: string;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
export declare function detectInterf(cwd: string): {
|
|
20
|
-
path: string;
|
|
21
|
-
config: InterfConfig;
|
|
22
|
-
} | null;
|
|
23
|
-
export declare function resolveCompiled(cwd: string): ResolvedCompiled | null;
|
|
24
|
-
export declare function resolveSourceFolderPath(compiledPath: string, config?: InterfConfig | null): string;
|
|
25
|
-
export declare function resolveSourceControlPath(compiledPath: string): string;
|
|
26
|
-
export declare function resolveSourceInputPath(compiledPath: string): string;
|
|
27
|
-
export declare function listCompiledDatasetsForSourceFolder(sourcePath: string): Array<{
|
|
28
|
-
path: string;
|
|
29
|
-
config: InterfConfig;
|
|
30
|
-
}>;
|
|
31
|
-
export declare function assertCompiledContainer(sourcePath: string): string;
|
|
32
|
-
export declare function assertWritableTargetDir(dirPath: string, label: string): void;
|
|
33
|
-
export declare function assertCompiledName(name: string, label: string): void;
|
|
1
|
+
export * from "../packages/project-model/interf-detect.js";
|
|
@@ -1,176 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { readJsonFileUnchecked } from "./parse.js";
|
|
5
|
-
import { compiledCompiledPathForDataset, projectInterfRoot, } from "./project-paths.js";
|
|
6
|
-
import { resolveSourceControlPathForCompiled, compiledInterfConfigPath, } from "./compiled-paths.js";
|
|
7
|
-
import { InterfConfigSchema, } from "./schema.js";
|
|
8
|
-
import { assertPathWithinRoot } from "./util.js";
|
|
9
|
-
export const INTERF_CONTAINER_NAME = "interf";
|
|
10
|
-
export const WORKFLOW_CONTAINER_NAME = "workflows";
|
|
11
|
-
export const TEST_CONTAINER_NAME = "tests";
|
|
12
|
-
export const INTERF_CONFIG_FILE = "interf.json";
|
|
13
|
-
export const WORKFLOW_PACKAGE_DIR = "workflow";
|
|
14
|
-
export function readInterfConfig(dirPath) {
|
|
15
|
-
const configPath = compiledInterfConfigPath(dirPath);
|
|
16
|
-
if (!existsSync(configPath))
|
|
17
|
-
return null;
|
|
18
|
-
const raw = readJsonFileUnchecked(configPath, "Interf config");
|
|
19
|
-
if (raw === null)
|
|
20
|
-
return null;
|
|
21
|
-
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
22
|
-
return null;
|
|
23
|
-
if (raw.type !== "compiled") {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
const parsed = InterfConfigSchema.safeParse(raw);
|
|
27
|
-
if (!parsed.success) {
|
|
28
|
-
warnInterf(`Warning: failed to validate Interf config at ${configPath}: ${parsed.error.issues.map((issue) => issue.message).join("; ")}`);
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
return parsed.data;
|
|
32
|
-
}
|
|
33
|
-
export function hasSourceFolderInput(config) {
|
|
34
|
-
return typeof config?.source?.path === "string" && config.source.path.length > 0;
|
|
35
|
-
}
|
|
36
|
-
export function detectInterf(cwd) {
|
|
37
|
-
const config = readInterfConfig(cwd);
|
|
38
|
-
if (config)
|
|
39
|
-
return { path: cwd, config };
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
export function resolveCompiled(cwd) {
|
|
43
|
-
const detected = detectInterf(cwd);
|
|
44
|
-
if (!detected)
|
|
45
|
-
return null;
|
|
46
|
-
return {
|
|
47
|
-
sourcePath: resolveSourceControlPath(detected.path),
|
|
48
|
-
compiledPath: detected.path,
|
|
49
|
-
config: detected.config,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
export function resolveSourceFolderPath(compiledPath, config = null) {
|
|
53
|
-
const resolvedConfig = config ?? readInterfConfig(compiledPath);
|
|
54
|
-
if (hasSourceFolderInput(resolvedConfig)) {
|
|
55
|
-
return assertPathWithinRoot(compiledPath, resolve(compiledPath, resolvedConfig.source.path), "Compiled raw source path");
|
|
56
|
-
}
|
|
57
|
-
return resolve(compiledPath, "raw");
|
|
58
|
-
}
|
|
59
|
-
export function resolveSourceControlPath(compiledPath) {
|
|
60
|
-
return resolveSourceControlPathForCompiled(compiledPath);
|
|
61
|
-
}
|
|
62
|
-
export function resolveSourceInputPath(compiledPath) {
|
|
63
|
-
const config = readInterfConfig(compiledPath);
|
|
64
|
-
if (typeof config?.source?.dataset_path === "string" && config.source.dataset_path.length > 0) {
|
|
65
|
-
const projectPath = resolveSourceControlPathForCompiled(compiledPath);
|
|
66
|
-
return assertPathWithinRoot(projectPath, resolve(compiledPath, config.source.dataset_path), "Dataset source path");
|
|
67
|
-
}
|
|
68
|
-
throw new Error(`Compiled dataset is missing source.dataset_path in ${compiledInterfConfigPath(compiledPath)}.`);
|
|
69
|
-
}
|
|
70
|
-
export function listCompiledDatasetsForSourceFolder(sourcePath) {
|
|
71
|
-
const interfRoot = projectInterfRoot(sourcePath);
|
|
72
|
-
if (!existsSync(interfRoot))
|
|
73
|
-
return [];
|
|
74
|
-
try {
|
|
75
|
-
if (!statSync(interfRoot).isDirectory())
|
|
76
|
-
return [];
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
warnInterf(`Warning: failed to inspect Interf container at ${interfRoot}: ${error instanceof Error ? error.message : String(error)}`);
|
|
80
|
-
return [];
|
|
81
|
-
}
|
|
82
|
-
return readdirSync(interfRoot)
|
|
83
|
-
.filter((entry) => !entry.startsWith(".") &&
|
|
84
|
-
entry !== WORKFLOW_CONTAINER_NAME &&
|
|
85
|
-
entry !== TEST_CONTAINER_NAME)
|
|
86
|
-
.map((entry) => compiledCompiledPathForDataset(sourcePath, entry))
|
|
87
|
-
.filter((compiledPath) => existsSync(compiledPath))
|
|
88
|
-
.map((compiledPath) => {
|
|
89
|
-
const config = readInterfConfig(compiledPath);
|
|
90
|
-
return config ? { path: compiledPath, config } : null;
|
|
91
|
-
})
|
|
92
|
-
.filter((value) => value !== null);
|
|
93
|
-
}
|
|
94
|
-
export function assertCompiledContainer(sourcePath) {
|
|
95
|
-
const interfRoot = projectInterfRoot(sourcePath);
|
|
96
|
-
if (existsSync(interfRoot)) {
|
|
97
|
-
const stat = statSync(interfRoot);
|
|
98
|
-
if (!stat.isDirectory()) {
|
|
99
|
-
throw new Error(`Interf container exists and is not a directory: ${interfRoot}`);
|
|
100
|
-
}
|
|
101
|
-
const unexpectedRootEntries = readdirSync(interfRoot).filter((entry) => {
|
|
102
|
-
if (entry.startsWith("."))
|
|
103
|
-
return false;
|
|
104
|
-
const entryPath = join(interfRoot, entry);
|
|
105
|
-
if (entry === WORKFLOW_CONTAINER_NAME || entry === TEST_CONTAINER_NAME) {
|
|
106
|
-
try {
|
|
107
|
-
return !statSync(entryPath).isDirectory();
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
warnInterf(`Warning: failed to inspect Interf control-plane path at ${entryPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
try {
|
|
115
|
-
if (!statSync(entryPath).isDirectory())
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
catch (error) {
|
|
119
|
-
warnInterf(`Warning: failed to inspect Interf entry at ${entryPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
120
|
-
return true;
|
|
121
|
-
}
|
|
122
|
-
return false;
|
|
123
|
-
});
|
|
124
|
-
if (unexpectedRootEntries.length > 0) {
|
|
125
|
-
throw new Error(`Interf container contains unexpected entries: ${interfRoot}`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
const containerPath = interfRoot;
|
|
129
|
-
if (!existsSync(containerPath)) {
|
|
130
|
-
return containerPath;
|
|
131
|
-
}
|
|
132
|
-
const stat = statSync(containerPath);
|
|
133
|
-
if (!stat.isDirectory()) {
|
|
134
|
-
throw new Error(`Interf container exists and is not a directory: ${containerPath}`);
|
|
135
|
-
}
|
|
136
|
-
const unexpectedEntries = readdirSync(containerPath).filter((entry) => {
|
|
137
|
-
if (entry.startsWith("."))
|
|
138
|
-
return false;
|
|
139
|
-
if (entry === WORKFLOW_CONTAINER_NAME || entry === TEST_CONTAINER_NAME)
|
|
140
|
-
return false;
|
|
141
|
-
const entryPath = join(containerPath, entry);
|
|
142
|
-
try {
|
|
143
|
-
if (!statSync(entryPath).isDirectory())
|
|
144
|
-
return true;
|
|
145
|
-
}
|
|
146
|
-
catch (error) {
|
|
147
|
-
warnInterf(`Warning: failed to inspect Interf entry at ${entryPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
148
|
-
return true;
|
|
149
|
-
}
|
|
150
|
-
const compiledPath = compiledCompiledPathForDataset(sourcePath, entry);
|
|
151
|
-
if (!existsSync(compiledPath)) {
|
|
152
|
-
return false;
|
|
153
|
-
}
|
|
154
|
-
return !readInterfConfig(compiledPath);
|
|
155
|
-
});
|
|
156
|
-
if (unexpectedEntries.length > 0) {
|
|
157
|
-
throw new Error(`Interf container contains invalid dataset entries: ${containerPath}`);
|
|
158
|
-
}
|
|
159
|
-
return containerPath;
|
|
160
|
-
}
|
|
161
|
-
export function assertWritableTargetDir(dirPath, label) {
|
|
162
|
-
if (!existsSync(dirPath))
|
|
163
|
-
return;
|
|
164
|
-
const stat = statSync(dirPath);
|
|
165
|
-
if (!stat.isDirectory()) {
|
|
166
|
-
throw new Error(`${label} target exists and is not a directory: ${dirPath}`);
|
|
167
|
-
}
|
|
168
|
-
if (readdirSync(dirPath).length > 0) {
|
|
169
|
-
throw new Error(`${label} target already exists and is not empty: ${dirPath}`);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
export function assertCompiledName(name, label) {
|
|
173
|
-
if (!/^[a-z0-9][a-z0-9-]*$/.test(name)) {
|
|
174
|
-
throw new Error(`${label} name must be a safe slug with lowercase letters, numbers, and dashes only: ${name}`);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
1
|
+
// Compatibility shim for historical `src/lib/interf-detect.ts` imports.
|
|
2
|
+
// Source of truth: `src/packages/project-model/interf-detect.ts`.
|
|
3
|
+
export * from "../packages/project-model/interf-detect.js";
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function defaultCompiledNameForSource(sourcePath: string): string;
|
|
1
|
+
export * from "../packages/project-model/interf-scaffold.js";
|
|
@@ -1,114 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { initializeCompiledRuntimeState, } from "./state.js";
|
|
5
|
-
import { assertCompiledContainer, assertWritableTargetDir, assertCompiledName, } from "./interf-detect.js";
|
|
6
|
-
import { refreshCompiledBootstrapGuidance } from "./interf-bootstrap.js";
|
|
7
|
-
import { seedCompiledWorkflowPackage } from "./interf-workflow-package.js";
|
|
8
|
-
import { compiledCompiledPathForDataset } from "./project-paths.js";
|
|
9
|
-
import { syncCompiledRawSnapshot } from "./compiled-raw.js";
|
|
10
|
-
import { ensureCompiledZoneTargets, readCompiledSchemaFile } from "./compiled-schema.js";
|
|
11
|
-
import { findSourceDatasetConfig, loadSourceFolderConfig, resolveSourceDatasetPath, saveCompiledInterfConfig, } from "./source-config.js";
|
|
12
|
-
import { defaultControlPathForCompiled, workflowPackagePathForCompiled } from "./compiled-paths.js";
|
|
13
|
-
const DEFAULT_INTERFIGNORE = [
|
|
14
|
-
".claude/",
|
|
15
|
-
".codex/",
|
|
16
|
-
".agents/",
|
|
17
|
-
".cursor/",
|
|
18
|
-
".interf/tests/",
|
|
19
|
-
".interf/tests/targets/sandboxes/",
|
|
20
|
-
".interf/runtime/",
|
|
21
|
-
"",
|
|
22
|
-
].join("\n");
|
|
23
|
-
const UNCOMPILED_COMPILED_PLACEHOLDER = "Not yet compiled. Run `interf compile` to build the compiled dataset.";
|
|
24
|
-
function renderUncompiledCompiledFile(compiledName, relativePath, about) {
|
|
25
|
-
return [
|
|
26
|
-
`# ${compiledName} — ${relativePath}`,
|
|
27
|
-
"",
|
|
28
|
-
UNCOMPILED_COMPILED_PLACEHOLDER,
|
|
29
|
-
...(about ? ["", `About: ${about}`] : []),
|
|
30
|
-
"",
|
|
31
|
-
].join("\n");
|
|
32
|
-
}
|
|
33
|
-
function compiledGitignoreEntries(compiledPath) {
|
|
34
|
-
const schema = readCompiledSchemaFile(workflowPackagePathForCompiled(compiledPath));
|
|
35
|
-
const zoneEntries = (schema?.zones ?? [])
|
|
36
|
-
.filter((zone) => zone.kind !== "runtime")
|
|
37
|
-
.map((zone) => zone.kind === "file" ? zone.path : `${zone.path}/`);
|
|
38
|
-
return [
|
|
39
|
-
...zoneEntries,
|
|
40
|
-
".claude/",
|
|
41
|
-
".codex/",
|
|
42
|
-
".agents/",
|
|
43
|
-
".cursor/",
|
|
44
|
-
".interf/tests/",
|
|
45
|
-
".interf/tests/targets/sandboxes/",
|
|
46
|
-
".interf/runtime/",
|
|
47
|
-
];
|
|
48
|
-
}
|
|
49
|
-
function scaffoldCompiledOutputs(compiledPath, compiledName, about) {
|
|
50
|
-
const schema = readCompiledSchemaFile(workflowPackagePathForCompiled(compiledPath));
|
|
51
|
-
if (!schema) {
|
|
52
|
-
throw new Error(`Missing workflow schema at ${workflowPackagePathForCompiled(compiledPath)}.`);
|
|
53
|
-
}
|
|
54
|
-
ensureCompiledZoneTargets(compiledPath, schema);
|
|
55
|
-
for (const zone of schema.zones) {
|
|
56
|
-
if (!zone.required || zone.kind !== "file" || zone.role !== "output")
|
|
57
|
-
continue;
|
|
58
|
-
const targetPath = join(compiledPath, zone.path);
|
|
59
|
-
if (existsSync(targetPath))
|
|
60
|
-
continue;
|
|
61
|
-
writeFileSync(targetPath, renderUncompiledCompiledFile(compiledName, zone.path, about));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
export function createCompiled(name, sourcePath, workflowId = "interf", about, datasetPath = sourcePath) {
|
|
65
|
-
assertCompiledName(name, "Compiled");
|
|
66
|
-
assertCompiledContainer(sourcePath);
|
|
67
|
-
const compiledPath = compiledCompiledPathForDataset(sourcePath, name);
|
|
68
|
-
assertWritableTargetDir(compiledPath, "Compiled");
|
|
69
|
-
mkdirSync(compiledPath, { recursive: true });
|
|
70
|
-
const savedCompiled = findSourceDatasetConfig(loadSourceFolderConfig(sourcePath), name);
|
|
71
|
-
const selectedWorkflow = getCompiledWorkflow(workflowId, { sourcePath });
|
|
72
|
-
const resolvedAbout = about ?? savedCompiled?.about;
|
|
73
|
-
const resolvedDatasetPath = savedCompiled
|
|
74
|
-
? resolveSourceDatasetPath(sourcePath, savedCompiled)
|
|
75
|
-
: datasetPath;
|
|
76
|
-
saveCompiledInterfConfig(compiledPath, {
|
|
77
|
-
type: "compiled",
|
|
78
|
-
name,
|
|
79
|
-
...(resolvedAbout ? { about: resolvedAbout } : {}),
|
|
80
|
-
workflow: selectedWorkflow.id,
|
|
81
|
-
...(typeof savedCompiled?.max_attempts === "number"
|
|
82
|
-
? { max_attempts: savedCompiled.max_attempts }
|
|
83
|
-
: {}),
|
|
84
|
-
...(typeof savedCompiled?.max_loops === "number"
|
|
85
|
-
? { max_loops: savedCompiled.max_loops }
|
|
86
|
-
: {}),
|
|
87
|
-
checks: savedCompiled?.checks ?? [],
|
|
88
|
-
workflow_origin: {
|
|
89
|
-
selected: selectedWorkflow.id,
|
|
90
|
-
local_draft: false,
|
|
91
|
-
},
|
|
92
|
-
source: {
|
|
93
|
-
path: "./raw",
|
|
94
|
-
control_path: defaultControlPathForCompiled(compiledPath),
|
|
95
|
-
dataset_path: relative(compiledPath, resolvedDatasetPath).split(sep).join("/") || ".",
|
|
96
|
-
},
|
|
97
|
-
});
|
|
98
|
-
mkdirSync(join(compiledPath, "raw"), { recursive: true });
|
|
99
|
-
syncCompiledRawSnapshot(compiledPath, resolvedDatasetPath);
|
|
100
|
-
writeFileSync(join(compiledPath, ".interfignore"), DEFAULT_INTERFIGNORE);
|
|
101
|
-
seedCompiledWorkflowPackage({
|
|
102
|
-
compiledPath,
|
|
103
|
-
sourcePath,
|
|
104
|
-
workflowId: selectedWorkflow.id,
|
|
105
|
-
});
|
|
106
|
-
scaffoldCompiledOutputs(compiledPath, name, about);
|
|
107
|
-
refreshCompiledBootstrapGuidance(compiledPath);
|
|
108
|
-
writeFileSync(join(compiledPath, ".gitignore"), [...compiledGitignoreEntries(compiledPath), ""].join("\n"));
|
|
109
|
-
initializeCompiledRuntimeState(compiledPath);
|
|
110
|
-
return compiledPath;
|
|
111
|
-
}
|
|
112
|
-
export function defaultCompiledNameForSource(sourcePath) {
|
|
113
|
-
return basename(sourcePath);
|
|
114
|
-
}
|
|
1
|
+
// Compatibility shim for historical `src/lib/interf-scaffold.ts` imports.
|
|
2
|
+
// Source of truth: `src/packages/project-model/interf-scaffold.ts`.
|
|
3
|
+
export * from "../packages/project-model/interf-scaffold.js";
|
|
@@ -1,25 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function writeCompiledWorkflowPackage(compiledPath: string, workflow: WorkflowDefinition<string>): void;
|
|
3
|
-
export declare function writeWorkflowPackageToDir(workflowDir: string, workflow: WorkflowDefinition<string>, options?: {
|
|
4
|
-
overwrite?: boolean;
|
|
5
|
-
}): void;
|
|
6
|
-
export declare function seedCompiledWorkflowPackage(options: {
|
|
7
|
-
compiledPath: string;
|
|
8
|
-
sourcePath: string;
|
|
9
|
-
workflowId: string;
|
|
10
|
-
}): void;
|
|
11
|
-
export declare function createLocalWorkflowPackageFromTemplate(options: {
|
|
12
|
-
sourcePath: string;
|
|
13
|
-
baseWorkflowId: string;
|
|
14
|
-
workflowId: string;
|
|
15
|
-
label: string;
|
|
16
|
-
hint: string;
|
|
17
|
-
stagePolicyNotes: Record<string, string[]>;
|
|
18
|
-
}): string;
|
|
19
|
-
export declare function seedLocalWorkflowPackageFromBase(options: {
|
|
20
|
-
sourcePath: string;
|
|
21
|
-
baseWorkflowId: string;
|
|
22
|
-
workflowId: string;
|
|
23
|
-
label: string;
|
|
24
|
-
hint: string;
|
|
25
|
-
}): string;
|
|
1
|
+
export * from "../packages/workflow-package/interf-workflow-package.js";
|