@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
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * as builtinWorkflow from "./builtin-compiled-workflow.js";
|
|
2
|
+
export * as localWorkflows from "./local-workflows.js";
|
|
3
|
+
export * as packageWriters from "./interf-workflow-package.js";
|
|
4
|
+
export * as workflowDefinitions from "./workflow-definitions.js";
|
|
5
|
+
export * as workflowHelpers from "./workflow-helpers.js";
|
|
6
|
+
export * as workflowStagePolicy from "./workflow-stage-policy.js";
|
|
7
|
+
export * as workflowStageRunner from "./workflow-stage-runner.js";
|
|
8
|
+
export * as workflowReviewPaths from "./workflow-review-paths.js";
|
|
9
|
+
export * as packageRoot from "./lib/package-root.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * as builtinWorkflow from "./builtin-compiled-workflow.js";
|
|
2
|
+
export * as localWorkflows from "./local-workflows.js";
|
|
3
|
+
export * as packageWriters from "./interf-workflow-package.js";
|
|
4
|
+
export * as workflowDefinitions from "./workflow-definitions.js";
|
|
5
|
+
export * as workflowHelpers from "./workflow-helpers.js";
|
|
6
|
+
export * as workflowStagePolicy from "./workflow-stage-policy.js";
|
|
7
|
+
export * as workflowStageRunner from "./workflow-stage-runner.js";
|
|
8
|
+
export * as workflowReviewPaths from "./workflow-review-paths.js";
|
|
9
|
+
export * as packageRoot from "./lib/package-root.js";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type WorkflowDefinition } from "./workflow-definitions.js";
|
|
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;
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { renderCompiledQuerySkill } from "../agents/lib/shells.js";
|
|
4
|
+
import { WORKFLOW_SCHEMA_FILE, writeWorkflowSchemaDocument, writeWorkflowSchemaFile, } from "../compiler/compiled-schema.js";
|
|
5
|
+
import { copyWorkflowPackageDirectory, isPortableWorkflowPackage, patchWorkflowPackageMetadata, resolveWorkflowPackageSourcePath, workflowDefinitionPath, } from "./local-workflows.js";
|
|
6
|
+
import { getCompiledWorkflow, } from "./workflow-definitions.js";
|
|
7
|
+
import { workflowPackagePathForCompiled } from "../project-model/compiled-paths.js";
|
|
8
|
+
import { mergeStagePolicyNotesForStages } from "./workflow-stage-policy.js";
|
|
9
|
+
function workflowPackagePath(dirPath) {
|
|
10
|
+
return workflowPackagePathForCompiled(dirPath);
|
|
11
|
+
}
|
|
12
|
+
function writeWorkflowStarterDocs(dirPath, docs, options) {
|
|
13
|
+
for (const doc of docs ?? []) {
|
|
14
|
+
const targetPath = join(dirPath, doc.relativePath);
|
|
15
|
+
if (!options.overwrite && existsSync(targetPath))
|
|
16
|
+
continue;
|
|
17
|
+
mkdirSync(dirname(targetPath), { recursive: true });
|
|
18
|
+
writeFileSync(targetPath, doc.content);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function writeWorkflowPackageJson(rootPath, workflow, options) {
|
|
22
|
+
const targetPath = join(rootPath, "workflow.json");
|
|
23
|
+
if (!options.overwrite && existsSync(targetPath))
|
|
24
|
+
return;
|
|
25
|
+
writeFileSync(targetPath, `${JSON.stringify({
|
|
26
|
+
id: workflow.id,
|
|
27
|
+
type: "compiled",
|
|
28
|
+
compiler_api: workflow.compilerApi ?? {
|
|
29
|
+
kind: "compiled",
|
|
30
|
+
version: 1,
|
|
31
|
+
},
|
|
32
|
+
...(workflow.purpose
|
|
33
|
+
? {
|
|
34
|
+
purpose: {
|
|
35
|
+
label: workflow.purpose.label,
|
|
36
|
+
task_hint: workflow.purpose.taskHint,
|
|
37
|
+
},
|
|
38
|
+
}
|
|
39
|
+
: {}),
|
|
40
|
+
label: workflow.label,
|
|
41
|
+
hint: workflow.hint,
|
|
42
|
+
stages: workflow.stages.map((stage) => ({
|
|
43
|
+
id: stage.id,
|
|
44
|
+
label: stage.label,
|
|
45
|
+
description: stage.description,
|
|
46
|
+
contract_type: stage.contractType,
|
|
47
|
+
skill_dir: stage.skillDir,
|
|
48
|
+
reads: stage.reads,
|
|
49
|
+
writes: stage.writes,
|
|
50
|
+
...(stage.acceptance ? { acceptance: stage.acceptance } : {}),
|
|
51
|
+
})),
|
|
52
|
+
...(workflow.stagePolicyNotes ? { stage_policy_notes: workflow.stagePolicyNotes } : {}),
|
|
53
|
+
}, null, 2)}\n`);
|
|
54
|
+
}
|
|
55
|
+
function renderWorkflowReadme(workflow) {
|
|
56
|
+
const stageLines = workflow.stages
|
|
57
|
+
.map((stage) => `- \`${stage.id}\` — ${stage.description} (${stage.contractType}; reads: ${stage.reads.join(", ")}; writes: ${stage.writes.join(", ")})`)
|
|
58
|
+
.join("\n");
|
|
59
|
+
const zoneLines = workflow.schema?.zones
|
|
60
|
+
? workflow.schema.zones
|
|
61
|
+
.map((zone) => `- \`${zone.id}\` — ${zone.role} ${zone.kind} at \`${zone.path}\``)
|
|
62
|
+
.join("\n")
|
|
63
|
+
: null;
|
|
64
|
+
return [
|
|
65
|
+
`# ${workflow.label}`,
|
|
66
|
+
"",
|
|
67
|
+
workflow.hint,
|
|
68
|
+
...(workflow.purpose
|
|
69
|
+
? [
|
|
70
|
+
"",
|
|
71
|
+
"## Purpose",
|
|
72
|
+
"",
|
|
73
|
+
`- ${workflow.purpose.label}`,
|
|
74
|
+
`- ${workflow.purpose.taskHint}`,
|
|
75
|
+
]
|
|
76
|
+
: []),
|
|
77
|
+
"",
|
|
78
|
+
"## Package",
|
|
79
|
+
"",
|
|
80
|
+
"- `workflow.json` = stage graph, compiler API target, and compile contract mapping",
|
|
81
|
+
"- `workflow.schema.json` = deterministic zone contract for the workflow package",
|
|
82
|
+
"- `improve/`, `compile/stages/`, and `use/query/` = human-readable authoring docs",
|
|
83
|
+
"- Portable workflow packages are standalone: explicit stages, schema, and docs live together in this folder",
|
|
84
|
+
"- Interf projects native agent shells from these docs for query use, stage execution, and workflow-improvement loops",
|
|
85
|
+
...(zoneLines
|
|
86
|
+
? [
|
|
87
|
+
"",
|
|
88
|
+
"## Zones",
|
|
89
|
+
"",
|
|
90
|
+
zoneLines,
|
|
91
|
+
]
|
|
92
|
+
: []),
|
|
93
|
+
"",
|
|
94
|
+
"## Stages",
|
|
95
|
+
"",
|
|
96
|
+
stageLines,
|
|
97
|
+
"",
|
|
98
|
+
"Interf runs the local copy of this package directly from `.interf/workflow/` inside each compiled context.",
|
|
99
|
+
"",
|
|
100
|
+
].join("\n");
|
|
101
|
+
}
|
|
102
|
+
function renderDerivedWorkflowReadme(options) {
|
|
103
|
+
return [
|
|
104
|
+
`# ${options.label}`,
|
|
105
|
+
"",
|
|
106
|
+
options.hint,
|
|
107
|
+
"",
|
|
108
|
+
`This workflow package was copied from \`${options.baseWorkflowId}\` and materialized as a standalone package for this task.`,
|
|
109
|
+
"",
|
|
110
|
+
"Interf runs the local copy of this package directly. Keep changes in this folder self-contained instead of relying on runtime inheritance or fallback.",
|
|
111
|
+
"",
|
|
112
|
+
"## Emphasis",
|
|
113
|
+
"",
|
|
114
|
+
...(options.emphasis.length > 0
|
|
115
|
+
? options.emphasis.map((entry) => `- ${entry.stageId} (${entry.label}): ${entry.notes.join("; ")}`)
|
|
116
|
+
: ["- No stage-specific emphasis was added yet."]),
|
|
117
|
+
"",
|
|
118
|
+
].join("\n");
|
|
119
|
+
}
|
|
120
|
+
function renderSeedWorkflowReadme(options) {
|
|
121
|
+
return [
|
|
122
|
+
`# ${options.label}`,
|
|
123
|
+
"",
|
|
124
|
+
options.hint,
|
|
125
|
+
"",
|
|
126
|
+
`This workflow package was seeded from \`${options.baseWorkflowId}\` as a standalone local draft.`,
|
|
127
|
+
"",
|
|
128
|
+
"Interf runs the local copy of this package directly. Refine the workflow docs, stage instructions, and zone contract in this folder instead of relying on inheritance or runtime fallback.",
|
|
129
|
+
"",
|
|
130
|
+
].join("\n");
|
|
131
|
+
}
|
|
132
|
+
function renderImproveSkill(workflow) {
|
|
133
|
+
return [
|
|
134
|
+
"# Workflow Improvement",
|
|
135
|
+
"",
|
|
136
|
+
`Workflow: ${workflow.id}`,
|
|
137
|
+
"",
|
|
138
|
+
"This file is the editable authoring source for Interf's generated native workflow-improver shell.",
|
|
139
|
+
"The improver edits this local package directly.",
|
|
140
|
+
"",
|
|
141
|
+
"Default loop:",
|
|
142
|
+
"1. Read the loop context first.",
|
|
143
|
+
"2. Review preserved stage shells, runtime logs, and saved test runs from failed attempts.",
|
|
144
|
+
"3. Edit only the local workflow package for this compiled context to create a better workflow variation for this task.",
|
|
145
|
+
`4. Keep \`workflow.json\`, \`${WORKFLOW_SCHEMA_FILE}\`, and any changed stage docs aligned.`,
|
|
146
|
+
"",
|
|
147
|
+
"Guardrails:",
|
|
148
|
+
"- do not edit checks, test specs, or raw files",
|
|
149
|
+
"- do not hardcode expected answers into workflow docs",
|
|
150
|
+
"- keep this package standalone; do not add or rely on runtime `extends` or fallback behavior",
|
|
151
|
+
"- prefer small, defensible workflow changes over random churn",
|
|
152
|
+
"",
|
|
153
|
+
].join("\n");
|
|
154
|
+
}
|
|
155
|
+
function renderStageSkill(workflow, stage) {
|
|
156
|
+
const notes = workflow.stagePolicyNotes?.[stage.id] ?? [];
|
|
157
|
+
const acceptanceKeys = stage.acceptance ? Object.keys(stage.acceptance) : [];
|
|
158
|
+
const abstractRules = stage.contractType === "compiled-file-evidence"
|
|
159
|
+
? [
|
|
160
|
+
"- Valid abstract forms for deterministic validation are:",
|
|
161
|
+
' - frontmatter key `"abstract"` with a real sentence, or',
|
|
162
|
+
" - a markdown heading `## Abstract` followed by at least one sentence",
|
|
163
|
+
"- A bare `Abstract` label without markdown heading syntax does not count.",
|
|
164
|
+
]
|
|
165
|
+
: [];
|
|
166
|
+
return [
|
|
167
|
+
`# ${stage.label}`,
|
|
168
|
+
"",
|
|
169
|
+
stage.description,
|
|
170
|
+
"",
|
|
171
|
+
"## Stage Contract",
|
|
172
|
+
"",
|
|
173
|
+
`- Contract type: \`${stage.contractType}\``,
|
|
174
|
+
`- Reads zones: ${stage.reads.map((zoneId) => `\`${zoneId}\``).join(", ")}`,
|
|
175
|
+
`- Writes zones: ${stage.writes.map((zoneId) => `\`${zoneId}\``).join(", ")}`,
|
|
176
|
+
"",
|
|
177
|
+
"## Requirements",
|
|
178
|
+
"",
|
|
179
|
+
"- Treat `workflow.json` and `workflow.schema.json` as the authoritative package contract for this stage.",
|
|
180
|
+
"- Read only from the declared input zones unless this package explicitly documents a broader method.",
|
|
181
|
+
"- Write only inside the declared output zones for this stage. Do not invent undeclared zones or implicit outputs.",
|
|
182
|
+
"- Keep stage instructions, zone ownership, and workflow-level acceptance aligned when you change this stage.",
|
|
183
|
+
"- Treat runtime files as proof and execution state, not as the source of truth for workflow behavior.",
|
|
184
|
+
"- Prefer direct file-reading and search tools over shell commands for routine file inspection.",
|
|
185
|
+
...abstractRules,
|
|
186
|
+
"",
|
|
187
|
+
...(acceptanceKeys.length > 0
|
|
188
|
+
? [
|
|
189
|
+
"## Declarative Acceptance",
|
|
190
|
+
"",
|
|
191
|
+
...acceptanceKeys.map((key) => `- \`${key}\``),
|
|
192
|
+
"",
|
|
193
|
+
]
|
|
194
|
+
: []),
|
|
195
|
+
...(notes.length > 0
|
|
196
|
+
? [
|
|
197
|
+
"## Notes",
|
|
198
|
+
"",
|
|
199
|
+
...notes.map((note) => `- ${note}`),
|
|
200
|
+
"",
|
|
201
|
+
]
|
|
202
|
+
: []),
|
|
203
|
+
].join("\n");
|
|
204
|
+
}
|
|
205
|
+
export function writeCompiledWorkflowPackage(compiledPath, workflow) {
|
|
206
|
+
writeWorkflowPackageToDir(workflowPackagePath(compiledPath), workflow);
|
|
207
|
+
}
|
|
208
|
+
export function writeWorkflowPackageToDir(workflowDir, workflow, options = {}) {
|
|
209
|
+
const overwrite = options.overwrite ?? true;
|
|
210
|
+
mkdirSync(join(workflowDir, "improve"), { recursive: true });
|
|
211
|
+
mkdirSync(join(workflowDir, "use", "query"), { recursive: true });
|
|
212
|
+
mkdirSync(join(workflowDir, "compile", "stages"), { recursive: true });
|
|
213
|
+
for (const stage of workflow.stages) {
|
|
214
|
+
mkdirSync(join(workflowDir, "compile", "stages", stage.skillDir), { recursive: true });
|
|
215
|
+
}
|
|
216
|
+
writeWorkflowPackageJson(workflowDir, workflow, { overwrite });
|
|
217
|
+
if (overwrite || !existsSync(join(workflowDir, WORKFLOW_SCHEMA_FILE))) {
|
|
218
|
+
if (workflow.schema) {
|
|
219
|
+
writeWorkflowSchemaDocument(workflowDir, {
|
|
220
|
+
...workflow.schema,
|
|
221
|
+
label: workflow.schema.label || `${workflow.label} workflow schema`,
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
writeWorkflowSchemaFile(workflowDir, workflow.stages, `${workflow.label} workflow schema`);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (overwrite || !existsSync(join(workflowDir, "README.md"))) {
|
|
229
|
+
writeFileSync(join(workflowDir, "README.md"), renderWorkflowReadme(workflow));
|
|
230
|
+
}
|
|
231
|
+
if (overwrite || !existsSync(join(workflowDir, "improve", "SKILL.md"))) {
|
|
232
|
+
writeFileSync(join(workflowDir, "improve", "SKILL.md"), renderImproveSkill(workflow));
|
|
233
|
+
}
|
|
234
|
+
if (overwrite || !existsSync(join(workflowDir, "use", "query", "SKILL.md"))) {
|
|
235
|
+
writeFileSync(join(workflowDir, "use", "query", "SKILL.md"), renderCompiledQuerySkill());
|
|
236
|
+
}
|
|
237
|
+
for (const stage of workflow.stages) {
|
|
238
|
+
const targetPath = join(workflowDir, "compile", "stages", stage.skillDir, "SKILL.md");
|
|
239
|
+
if (overwrite || !existsSync(targetPath)) {
|
|
240
|
+
writeFileSync(targetPath, renderStageSkill(workflow, stage));
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
writeWorkflowStarterDocs(workflowDir, workflow.starterDocs, { overwrite });
|
|
244
|
+
}
|
|
245
|
+
export function seedCompiledWorkflowPackage(options) {
|
|
246
|
+
const resolvedWorkflow = getCompiledWorkflow(options.workflowId, {
|
|
247
|
+
sourcePath: options.sourcePath,
|
|
248
|
+
});
|
|
249
|
+
const sourceWorkflowPath = resolveWorkflowPackageSourcePath(options.sourcePath, resolvedWorkflow.id);
|
|
250
|
+
if (sourceWorkflowPath && isPortableWorkflowPackage(sourceWorkflowPath)) {
|
|
251
|
+
// Portable seed packages can be copied directly because compile runs the
|
|
252
|
+
// local package folder without any source-root fallback.
|
|
253
|
+
copyWorkflowPackageDirectory(sourceWorkflowPath, workflowPackagePath(options.compiledPath));
|
|
254
|
+
patchWorkflowPackageMetadata(workflowPackagePath(options.compiledPath), {
|
|
255
|
+
id: resolvedWorkflow.id,
|
|
256
|
+
label: resolvedWorkflow.label,
|
|
257
|
+
hint: resolvedWorkflow.hint,
|
|
258
|
+
stagePolicyNotes: resolvedWorkflow.stagePolicyNotes,
|
|
259
|
+
});
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
// Legacy or partially-defined seed packages are resolved once and
|
|
263
|
+
// materialized into a standalone local package.
|
|
264
|
+
writeCompiledWorkflowPackage(options.compiledPath, resolvedWorkflow);
|
|
265
|
+
}
|
|
266
|
+
export function createLocalWorkflowPackageFromTemplate(options) {
|
|
267
|
+
const targetPath = seedLocalWorkflowPackageFromBase({
|
|
268
|
+
sourcePath: options.sourcePath,
|
|
269
|
+
baseWorkflowId: options.baseWorkflowId,
|
|
270
|
+
workflowId: options.workflowId,
|
|
271
|
+
label: options.label,
|
|
272
|
+
hint: options.hint,
|
|
273
|
+
});
|
|
274
|
+
const baseWorkflow = getCompiledWorkflow(options.baseWorkflowId, {
|
|
275
|
+
sourcePath: options.sourcePath,
|
|
276
|
+
});
|
|
277
|
+
const stagePolicyNotes = mergeStagePolicyNotesForStages(baseWorkflow.stages, baseWorkflow.stagePolicyNotes, options.stagePolicyNotes);
|
|
278
|
+
patchWorkflowPackageMetadata(targetPath, {
|
|
279
|
+
id: options.workflowId,
|
|
280
|
+
label: options.label,
|
|
281
|
+
hint: options.hint,
|
|
282
|
+
stagePolicyNotes,
|
|
283
|
+
});
|
|
284
|
+
writeFileSync(join(targetPath, "README.md"), renderDerivedWorkflowReadme({
|
|
285
|
+
label: options.label,
|
|
286
|
+
hint: options.hint,
|
|
287
|
+
baseWorkflowId: options.baseWorkflowId,
|
|
288
|
+
emphasis: baseWorkflow.stages
|
|
289
|
+
.map((stage) => ({
|
|
290
|
+
stageId: stage.id,
|
|
291
|
+
label: stage.label,
|
|
292
|
+
notes: stagePolicyNotes?.[stage.id] ?? [],
|
|
293
|
+
}))
|
|
294
|
+
.filter((entry) => entry.notes.length > 0),
|
|
295
|
+
}));
|
|
296
|
+
return targetPath;
|
|
297
|
+
}
|
|
298
|
+
export function seedLocalWorkflowPackageFromBase(options) {
|
|
299
|
+
const sourceWorkflowPath = resolveWorkflowPackageSourcePath(options.sourcePath, options.baseWorkflowId);
|
|
300
|
+
const targetPath = workflowDefinitionPath(options.sourcePath, options.workflowId);
|
|
301
|
+
if (sourceWorkflowPath && isPortableWorkflowPackage(sourceWorkflowPath)) {
|
|
302
|
+
// Copy directly when the base package is already portable and standalone.
|
|
303
|
+
copyWorkflowPackageDirectory(sourceWorkflowPath, targetPath);
|
|
304
|
+
patchWorkflowPackageMetadata(targetPath, {
|
|
305
|
+
id: options.workflowId,
|
|
306
|
+
label: options.label,
|
|
307
|
+
hint: options.hint,
|
|
308
|
+
});
|
|
309
|
+
writeFileSync(join(targetPath, "README.md"), renderSeedWorkflowReadme({
|
|
310
|
+
label: options.label,
|
|
311
|
+
hint: options.hint,
|
|
312
|
+
baseWorkflowId: options.baseWorkflowId,
|
|
313
|
+
}));
|
|
314
|
+
return targetPath;
|
|
315
|
+
}
|
|
316
|
+
// Legacy or inherited base packages are materialized immediately so the new
|
|
317
|
+
// local workflow package is standalone from its first write.
|
|
318
|
+
const baseWorkflow = getCompiledWorkflow(options.baseWorkflowId, {
|
|
319
|
+
sourcePath: options.sourcePath,
|
|
320
|
+
});
|
|
321
|
+
const localWorkflow = {
|
|
322
|
+
...baseWorkflow,
|
|
323
|
+
id: options.workflowId,
|
|
324
|
+
label: options.label,
|
|
325
|
+
hint: options.hint,
|
|
326
|
+
recommended: false,
|
|
327
|
+
scope: "local",
|
|
328
|
+
starterDocs: [
|
|
329
|
+
{
|
|
330
|
+
relativePath: "README.md",
|
|
331
|
+
content: renderSeedWorkflowReadme({
|
|
332
|
+
label: options.label,
|
|
333
|
+
hint: options.hint,
|
|
334
|
+
baseWorkflowId: options.baseWorkflowId,
|
|
335
|
+
}),
|
|
336
|
+
},
|
|
337
|
+
...(baseWorkflow.starterDocs ?? []).filter((doc) => doc.relativePath !== "README.md"),
|
|
338
|
+
],
|
|
339
|
+
};
|
|
340
|
+
writeWorkflowPackageToDir(targetPath, localWorkflow);
|
|
341
|
+
return targetPath;
|
|
342
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { dirname, join } from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
4
|
+
const __dirname = dirname(__filename);
|
|
5
|
+
// Package root (dist/packages/workflow-package/lib/ -> package root)
|
|
6
|
+
export const PACKAGE_ROOT = join(__dirname, "..", "..", "..", "..");
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { WorkflowCompilerApiSchema, RuntimeContractTypeSchema, RuntimeStageAcceptanceSchema, WorkflowPurposeSchema, WorkflowStageZoneAccessSchema, type WorkflowCompiledSchema } from "../compiler/lib/schema.js";
|
|
3
|
+
export interface LocalWorkflowStarterDoc {
|
|
4
|
+
relativePath: string;
|
|
5
|
+
content: string;
|
|
6
|
+
}
|
|
7
|
+
export interface LocalWorkflowStageDefinition {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
contract_type: z.infer<typeof RuntimeContractTypeSchema>;
|
|
11
|
+
skill_dir?: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
reads: z.infer<typeof WorkflowStageZoneAccessSchema>;
|
|
14
|
+
writes: z.infer<typeof WorkflowStageZoneAccessSchema>;
|
|
15
|
+
acceptance?: z.infer<typeof RuntimeStageAcceptanceSchema>;
|
|
16
|
+
}
|
|
17
|
+
export interface LocalWorkflowDefinition {
|
|
18
|
+
id: string;
|
|
19
|
+
type: "compiled";
|
|
20
|
+
compiler_api?: z.infer<typeof WorkflowCompilerApiSchema>;
|
|
21
|
+
purpose?: z.infer<typeof WorkflowPurposeSchema>;
|
|
22
|
+
label: string;
|
|
23
|
+
hint: string;
|
|
24
|
+
extends?: string;
|
|
25
|
+
stages?: LocalWorkflowStageDefinition[];
|
|
26
|
+
stage_policy_notes?: Record<string, string[]>;
|
|
27
|
+
workflow_schema: WorkflowCompiledSchema;
|
|
28
|
+
starter_docs: LocalWorkflowStarterDoc[];
|
|
29
|
+
directoryPath: string;
|
|
30
|
+
workflowPath: string;
|
|
31
|
+
workflowSchemaPath: string;
|
|
32
|
+
}
|
|
33
|
+
export declare function workflowDefinitionPath(sourcePath: string, id: string): string;
|
|
34
|
+
export declare function loadWorkflowDefinitionFromDir(dirPath: string): LocalWorkflowDefinition | null;
|
|
35
|
+
export declare function listLocalWorkflowDefinitions(sourcePath: string): LocalWorkflowDefinition[];
|
|
36
|
+
export declare function loadLocalWorkflowDefinition(sourcePath: string, id: string): LocalWorkflowDefinition | null;
|
|
37
|
+
export declare function resolveWorkflowPackageSourcePath(sourcePath: string, workflowId: string): string | null;
|
|
38
|
+
export declare function isWorkflowId(value: string): boolean;
|
|
39
|
+
export declare function patchWorkflowPackageMetadata(dirPath: string, options?: {
|
|
40
|
+
id?: string;
|
|
41
|
+
label?: string;
|
|
42
|
+
hint?: string;
|
|
43
|
+
stagePolicyNotes?: Record<string, string[]>;
|
|
44
|
+
}): void;
|
|
45
|
+
export declare function describeWorkflowPackagePortability(dirPath: string): string[];
|
|
46
|
+
export declare function isPortableWorkflowPackage(dirPath: string): boolean;
|
|
47
|
+
export declare function copyWorkflowPackageDirectory(sourceWorkflowPath: string, targetWorkflowPath: string): void;
|
|
48
|
+
export interface WorkflowValidationResult {
|
|
49
|
+
ok: boolean;
|
|
50
|
+
summary: string;
|
|
51
|
+
errors: string[];
|
|
52
|
+
counts: Record<string, number>;
|
|
53
|
+
}
|
|
54
|
+
export declare function validateWorkflowPackage(dirPath: string): WorkflowValidationResult;
|