@executioncontrolprotocol/core 0.10.0
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 +42 -0
- package/dist/bindings/extension.d.ts +19 -0
- package/dist/bindings/extension.d.ts.map +1 -0
- package/dist/bindings/extension.js +32 -0
- package/dist/bindings/extension.js.map +1 -0
- package/dist/bindings/harness.d.ts +24 -0
- package/dist/bindings/harness.d.ts.map +1 -0
- package/dist/bindings/harness.js +44 -0
- package/dist/bindings/harness.js.map +1 -0
- package/dist/bindings/policy.d.ts +19 -0
- package/dist/bindings/policy.d.ts.map +1 -0
- package/dist/bindings/policy.js +32 -0
- package/dist/bindings/policy.js.map +1 -0
- package/dist/bindings/runtime.d.ts +19 -0
- package/dist/bindings/runtime.d.ts.map +1 -0
- package/dist/bindings/runtime.js +32 -0
- package/dist/bindings/runtime.js.map +1 -0
- package/dist/bindings/step.d.ts +34 -0
- package/dist/bindings/step.d.ts.map +1 -0
- package/dist/bindings/step.js +59 -0
- package/dist/bindings/step.js.map +1 -0
- package/dist/browser-runtime-entry.d.ts +52 -0
- package/dist/browser-runtime-entry.d.ts.map +1 -0
- package/dist/browser-runtime-entry.js +45 -0
- package/dist/browser-runtime-entry.js.map +1 -0
- package/dist/browser.d.ts +20 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +20 -0
- package/dist/browser.js.map +1 -0
- package/dist/compile/compile-harness-artifact.d.ts +30 -0
- package/dist/compile/compile-harness-artifact.d.ts.map +1 -0
- package/dist/compile/compile-harness-artifact.js +43 -0
- package/dist/compile/compile-harness-artifact.js.map +1 -0
- package/dist/compile/entry.d.ts +3 -0
- package/dist/compile/entry.d.ts.map +1 -0
- package/dist/compile/entry.js +3 -0
- package/dist/compile/entry.js.map +1 -0
- package/dist/compile/evaluate-browser.d.ts +5 -0
- package/dist/compile/evaluate-browser.d.ts.map +1 -0
- package/dist/compile/evaluate-browser.js +15 -0
- package/dist/compile/evaluate-browser.js.map +1 -0
- package/dist/compile/evaluate-harness-artifact.d.ts +3 -0
- package/dist/compile/evaluate-harness-artifact.d.ts.map +1 -0
- package/dist/compile/evaluate-harness-artifact.js +17 -0
- package/dist/compile/evaluate-harness-artifact.js.map +1 -0
- package/dist/compile/evaluate.d.ts +5 -0
- package/dist/compile/evaluate.d.ts.map +1 -0
- package/dist/compile/evaluate.js +20 -0
- package/dist/compile/evaluate.js.map +1 -0
- package/dist/compile/extract-harness-artifact.d.ts +9 -0
- package/dist/compile/extract-harness-artifact.d.ts.map +1 -0
- package/dist/compile/extract-harness-artifact.js +33 -0
- package/dist/compile/extract-harness-artifact.js.map +1 -0
- package/dist/compile/extract-workflow-module.d.ts +4 -0
- package/dist/compile/extract-workflow-module.d.ts.map +1 -0
- package/dist/compile/extract-workflow-module.js +20 -0
- package/dist/compile/extract-workflow-module.js.map +1 -0
- package/dist/compile/index.browser.d.ts +18 -0
- package/dist/compile/index.browser.d.ts.map +1 -0
- package/dist/compile/index.browser.js +50 -0
- package/dist/compile/index.browser.js.map +1 -0
- package/dist/compile/index.d.ts +17 -0
- package/dist/compile/index.d.ts.map +1 -0
- package/dist/compile/index.js +49 -0
- package/dist/compile/index.js.map +1 -0
- package/dist/compile/prepare-browser-source.d.ts +3 -0
- package/dist/compile/prepare-browser-source.d.ts.map +1 -0
- package/dist/compile/prepare-browser-source.js +21 -0
- package/dist/compile/prepare-browser-source.js.map +1 -0
- package/dist/compile/transpile-browser.d.ts +21 -0
- package/dist/compile/transpile-browser.d.ts.map +1 -0
- package/dist/compile/transpile-browser.js +93 -0
- package/dist/compile/transpile-browser.js.map +1 -0
- package/dist/compile/transpile.d.ts +10 -0
- package/dist/compile/transpile.d.ts.map +1 -0
- package/dist/compile/transpile.js +85 -0
- package/dist/compile/transpile.js.map +1 -0
- package/dist/compile/types.d.ts +24 -0
- package/dist/compile/types.d.ts.map +1 -0
- package/dist/compile/types.js +2 -0
- package/dist/compile/types.js.map +1 -0
- package/dist/config-schema/index.d.ts +4 -0
- package/dist/config-schema/index.d.ts.map +1 -0
- package/dist/config-schema/index.js +2 -0
- package/dist/config-schema/index.js.map +1 -0
- package/dist/definitions/capability.d.ts +26 -0
- package/dist/definitions/capability.d.ts.map +1 -0
- package/dist/definitions/capability.js +49 -0
- package/dist/definitions/capability.js.map +1 -0
- package/dist/definitions/extension.d.ts +30 -0
- package/dist/definitions/extension.d.ts.map +1 -0
- package/dist/definitions/extension.js +64 -0
- package/dist/definitions/extension.js.map +1 -0
- package/dist/definitions/hook.d.ts +11 -0
- package/dist/definitions/hook.d.ts.map +1 -0
- package/dist/definitions/hook.js +13 -0
- package/dist/definitions/hook.js.map +1 -0
- package/dist/definitions/index.d.ts +7 -0
- package/dist/definitions/index.d.ts.map +1 -0
- package/dist/definitions/index.js +6 -0
- package/dist/definitions/index.js.map +1 -0
- package/dist/definitions/policy.d.ts +23 -0
- package/dist/definitions/policy.d.ts.map +1 -0
- package/dist/definitions/policy.js +50 -0
- package/dist/definitions/policy.js.map +1 -0
- package/dist/definitions/runtime.d.ts +22 -0
- package/dist/definitions/runtime.d.ts.map +1 -0
- package/dist/definitions/runtime.js +48 -0
- package/dist/definitions/runtime.js.map +1 -0
- package/dist/definitions/types.d.ts +50 -0
- package/dist/definitions/types.d.ts.map +1 -0
- package/dist/definitions/types.js +2 -0
- package/dist/definitions/types.js.map +1 -0
- package/dist/encoding/contracts.d.ts +17 -0
- package/dist/encoding/contracts.d.ts.map +1 -0
- package/dist/encoding/contracts.js +41 -0
- package/dist/encoding/contracts.js.map +1 -0
- package/dist/encoding/decode-builder.d.ts +17 -0
- package/dist/encoding/decode-builder.d.ts.map +1 -0
- package/dist/encoding/decode-builder.js +98 -0
- package/dist/encoding/decode-builder.js.map +1 -0
- package/dist/encoding/encode-builder.d.ts +19 -0
- package/dist/encoding/encode-builder.d.ts.map +1 -0
- package/dist/encoding/encode-builder.js +76 -0
- package/dist/encoding/encode-builder.js.map +1 -0
- package/dist/encoding/errors.d.ts +25 -0
- package/dist/encoding/errors.d.ts.map +1 -0
- package/dist/encoding/errors.js +20 -0
- package/dist/encoding/errors.js.map +1 -0
- package/dist/encoding/index.d.ts +10 -0
- package/dist/encoding/index.d.ts.map +1 -0
- package/dist/encoding/index.js +10 -0
- package/dist/encoding/index.js.map +1 -0
- package/dist/encoding/invoke-utility.d.ts +14 -0
- package/dist/encoding/invoke-utility.d.ts.map +1 -0
- package/dist/encoding/invoke-utility.js +50 -0
- package/dist/encoding/invoke-utility.js.map +1 -0
- package/dist/encoding/json-codec.d.ts +38 -0
- package/dist/encoding/json-codec.d.ts.map +1 -0
- package/dist/encoding/json-codec.js +108 -0
- package/dist/encoding/json-codec.js.map +1 -0
- package/dist/encoding/normalize-workflow.d.ts +7 -0
- package/dist/encoding/normalize-workflow.d.ts.map +1 -0
- package/dist/encoding/normalize-workflow.js +109 -0
- package/dist/encoding/normalize-workflow.js.map +1 -0
- package/dist/encoding/resolve.d.ts +13 -0
- package/dist/encoding/resolve.d.ts.map +1 -0
- package/dist/encoding/resolve.js +48 -0
- package/dist/encoding/resolve.js.map +1 -0
- package/dist/encoding/schemas.d.ts +398 -0
- package/dist/encoding/schemas.d.ts.map +1 -0
- package/dist/encoding/schemas.js +74 -0
- package/dist/encoding/schemas.js.map +1 -0
- package/dist/encoding/strip-harness-typescript-output.d.ts +7 -0
- package/dist/encoding/strip-harness-typescript-output.d.ts.map +1 -0
- package/dist/encoding/strip-harness-typescript-output.js +40 -0
- package/dist/encoding/strip-harness-typescript-output.js.map +1 -0
- package/dist/encoding/strip-markdown-fences.d.ts +6 -0
- package/dist/encoding/strip-markdown-fences.d.ts.map +1 -0
- package/dist/encoding/strip-markdown-fences.js +23 -0
- package/dist/encoding/strip-markdown-fences.js.map +1 -0
- package/dist/encoding/utility-context.d.ts +29 -0
- package/dist/encoding/utility-context.d.ts.map +1 -0
- package/dist/encoding/utility-context.js +33 -0
- package/dist/encoding/utility-context.js.map +1 -0
- package/dist/environment/bindings.d.ts +69 -0
- package/dist/environment/bindings.d.ts.map +1 -0
- package/dist/environment/bindings.js +39 -0
- package/dist/environment/bindings.js.map +1 -0
- package/dist/environment/config-resolver.d.ts +33 -0
- package/dist/environment/config-resolver.d.ts.map +1 -0
- package/dist/environment/config-resolver.js +100 -0
- package/dist/environment/config-resolver.js.map +1 -0
- package/dist/environment/describe.d.ts +6 -0
- package/dist/environment/describe.d.ts.map +1 -0
- package/dist/environment/describe.js +132 -0
- package/dist/environment/describe.js.map +1 -0
- package/dist/environment/ecp.d.ts +58 -0
- package/dist/environment/ecp.d.ts.map +1 -0
- package/dist/environment/ecp.js +49 -0
- package/dist/environment/ecp.js.map +1 -0
- package/dist/environment/encoding-host.d.ts +17 -0
- package/dist/environment/encoding-host.d.ts.map +1 -0
- package/dist/environment/encoding-host.js +2 -0
- package/dist/environment/encoding-host.js.map +1 -0
- package/dist/environment/environment.d.ts +94 -0
- package/dist/environment/environment.d.ts.map +1 -0
- package/dist/environment/environment.js +370 -0
- package/dist/environment/environment.js.map +1 -0
- package/dist/environment/search.d.ts +4 -0
- package/dist/environment/search.d.ts.map +1 -0
- package/dist/environment/search.js +80 -0
- package/dist/environment/search.js.map +1 -0
- package/dist/feedback/collect.d.ts +32 -0
- package/dist/feedback/collect.d.ts.map +1 -0
- package/dist/feedback/collect.js +97 -0
- package/dist/feedback/collect.js.map +1 -0
- package/dist/feedback/index.d.ts +2 -0
- package/dist/feedback/index.d.ts.map +1 -0
- package/dist/feedback/index.js +2 -0
- package/dist/feedback/index.js.map +1 -0
- package/dist/fluent/encode-fluent.d.ts +10 -0
- package/dist/fluent/encode-fluent.d.ts.map +1 -0
- package/dist/fluent/encode-fluent.js +58 -0
- package/dist/fluent/encode-fluent.js.map +1 -0
- package/dist/fluent/index.d.ts +3 -0
- package/dist/fluent/index.d.ts.map +1 -0
- package/dist/fluent/index.js +3 -0
- package/dist/fluent/index.js.map +1 -0
- package/dist/fluent/render-expr.d.ts +7 -0
- package/dist/fluent/render-expr.d.ts.map +1 -0
- package/dist/fluent/render-expr.js +14 -0
- package/dist/fluent/render-expr.js.map +1 -0
- package/dist/fluent/render-node.d.ts +6 -0
- package/dist/fluent/render-node.d.ts.map +1 -0
- package/dist/fluent/render-node.js +92 -0
- package/dist/fluent/render-node.js.map +1 -0
- package/dist/fluent/render-value.d.ts +22 -0
- package/dist/fluent/render-value.d.ts.map +1 -0
- package/dist/fluent/render-value.js +47 -0
- package/dist/fluent/render-value.js.map +1 -0
- package/dist/fluent/render-workflow.d.ts +16 -0
- package/dist/fluent/render-workflow.d.ts.map +1 -0
- package/dist/fluent/render-workflow.js +41 -0
- package/dist/fluent/render-workflow.js.map +1 -0
- package/dist/formats/format-fluent.d.ts +3 -0
- package/dist/formats/format-fluent.d.ts.map +1 -0
- package/dist/formats/format-fluent.js +17 -0
- package/dist/formats/format-fluent.js.map +1 -0
- package/dist/formats/format-json.d.ts +3 -0
- package/dist/formats/format-json.d.ts.map +1 -0
- package/dist/formats/format-json.js +73 -0
- package/dist/formats/format-json.js.map +1 -0
- package/dist/formats/register-core-formats.d.ts +7 -0
- package/dist/formats/register-core-formats.d.ts.map +1 -0
- package/dist/formats/register-core-formats.js +20 -0
- package/dist/formats/register-core-formats.js.map +1 -0
- package/dist/harness/authoring/classified-intent.d.ts +46 -0
- package/dist/harness/authoring/classified-intent.d.ts.map +1 -0
- package/dist/harness/authoring/classified-intent.js +229 -0
- package/dist/harness/authoring/classified-intent.js.map +1 -0
- package/dist/harness/authoring/context-policy.d.ts +45 -0
- package/dist/harness/authoring/context-policy.d.ts.map +1 -0
- package/dist/harness/authoring/context-policy.js +132 -0
- package/dist/harness/authoring/context-policy.js.map +1 -0
- package/dist/harness/authoring/encode-prompt-text.d.ts +7 -0
- package/dist/harness/authoring/encode-prompt-text.d.ts.map +1 -0
- package/dist/harness/authoring/encode-prompt-text.js +13 -0
- package/dist/harness/authoring/encode-prompt-text.js.map +1 -0
- package/dist/harness/authoring/environment-question.d.ts +6 -0
- package/dist/harness/authoring/environment-question.d.ts.map +1 -0
- package/dist/harness/authoring/environment-question.js +11 -0
- package/dist/harness/authoring/environment-question.js.map +1 -0
- package/dist/harness/authoring/index.d.ts +18 -0
- package/dist/harness/authoring/index.d.ts.map +1 -0
- package/dist/harness/authoring/index.js +17 -0
- package/dist/harness/authoring/index.js.map +1 -0
- package/dist/harness/authoring/normalize-create-eql-output.d.ts +27 -0
- package/dist/harness/authoring/normalize-create-eql-output.d.ts.map +1 -0
- package/dist/harness/authoring/normalize-create-eql-output.js +284 -0
- package/dist/harness/authoring/normalize-create-eql-output.js.map +1 -0
- package/dist/harness/authoring/normalize-intent-eql-output.d.ts +7 -0
- package/dist/harness/authoring/normalize-intent-eql-output.d.ts.map +1 -0
- package/dist/harness/authoring/normalize-intent-eql-output.js +59 -0
- package/dist/harness/authoring/normalize-intent-eql-output.js.map +1 -0
- package/dist/harness/authoring/normalize-patch-eql-output.d.ts +28 -0
- package/dist/harness/authoring/normalize-patch-eql-output.d.ts.map +1 -0
- package/dist/harness/authoring/normalize-patch-eql-output.js +200 -0
- package/dist/harness/authoring/normalize-patch-eql-output.js.map +1 -0
- package/dist/harness/authoring/normalize-workflow-output.d.ts +6 -0
- package/dist/harness/authoring/normalize-workflow-output.d.ts.map +1 -0
- package/dist/harness/authoring/normalize-workflow-output.js +51 -0
- package/dist/harness/authoring/normalize-workflow-output.js.map +1 -0
- package/dist/harness/authoring/presentation.d.ts +51 -0
- package/dist/harness/authoring/presentation.d.ts.map +1 -0
- package/dist/harness/authoring/presentation.js +131 -0
- package/dist/harness/authoring/presentation.js.map +1 -0
- package/dist/harness/authoring/recover-structured-patch.d.ts +21 -0
- package/dist/harness/authoring/recover-structured-patch.d.ts.map +1 -0
- package/dist/harness/authoring/recover-structured-patch.js +197 -0
- package/dist/harness/authoring/recover-structured-patch.js.map +1 -0
- package/dist/harness/authoring/repair-workflow-json.d.ts +16 -0
- package/dist/harness/authoring/repair-workflow-json.d.ts.map +1 -0
- package/dist/harness/authoring/repair-workflow-json.js +183 -0
- package/dist/harness/authoring/repair-workflow-json.js.map +1 -0
- package/dist/harness/authoring/safe-reply.d.ts +44 -0
- package/dist/harness/authoring/safe-reply.d.ts.map +1 -0
- package/dist/harness/authoring/safe-reply.js +187 -0
- package/dist/harness/authoring/safe-reply.js.map +1 -0
- package/dist/harness/authoring/summarize-capability-schema.d.ts +20 -0
- package/dist/harness/authoring/summarize-capability-schema.d.ts.map +1 -0
- package/dist/harness/authoring/summarize-capability-schema.js +137 -0
- package/dist/harness/authoring/summarize-capability-schema.js.map +1 -0
- package/dist/harness/authoring/summarize-environment.d.ts +43 -0
- package/dist/harness/authoring/summarize-environment.d.ts.map +1 -0
- package/dist/harness/authoring/summarize-environment.js +164 -0
- package/dist/harness/authoring/summarize-environment.js.map +1 -0
- package/dist/harness/authoring/summarize-run-context.d.ts +28 -0
- package/dist/harness/authoring/summarize-run-context.d.ts.map +1 -0
- package/dist/harness/authoring/summarize-run-context.js +40 -0
- package/dist/harness/authoring/summarize-run-context.js.map +1 -0
- package/dist/harness/authoring/summarize-workflow.d.ts +35 -0
- package/dist/harness/authoring/summarize-workflow.d.ts.map +1 -0
- package/dist/harness/authoring/summarize-workflow.js +109 -0
- package/dist/harness/authoring/summarize-workflow.js.map +1 -0
- package/dist/harness/call-model.d.ts +15 -0
- package/dist/harness/call-model.d.ts.map +1 -0
- package/dist/harness/call-model.js +59 -0
- package/dist/harness/call-model.js.map +1 -0
- package/dist/harness/context.d.ts +28 -0
- package/dist/harness/context.d.ts.map +1 -0
- package/dist/harness/context.js +19 -0
- package/dist/harness/context.js.map +1 -0
- package/dist/harness/define-harness.d.ts +37 -0
- package/dist/harness/define-harness.d.ts.map +1 -0
- package/dist/harness/define-harness.js +88 -0
- package/dist/harness/define-harness.js.map +1 -0
- package/dist/harness/definitions/test-minimal-harness.d.ts +13 -0
- package/dist/harness/definitions/test-minimal-harness.d.ts.map +1 -0
- package/dist/harness/definitions/test-minimal-harness.js +45 -0
- package/dist/harness/definitions/test-minimal-harness.js.map +1 -0
- package/dist/harness/execute-harness.d.ts +9 -0
- package/dist/harness/execute-harness.d.ts.map +1 -0
- package/dist/harness/execute-harness.js +138 -0
- package/dist/harness/execute-harness.js.map +1 -0
- package/dist/harness/format-resolve.d.ts +26 -0
- package/dist/harness/format-resolve.d.ts.map +1 -0
- package/dist/harness/format-resolve.js +50 -0
- package/dist/harness/format-resolve.js.map +1 -0
- package/dist/harness/harness-catalog.d.ts +41 -0
- package/dist/harness/harness-catalog.d.ts.map +1 -0
- package/dist/harness/harness-catalog.js +66 -0
- package/dist/harness/harness-catalog.js.map +1 -0
- package/dist/harness/index.d.ts +11 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +9 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/harness/prompts/build-repair-hint.d.ts +7 -0
- package/dist/harness/prompts/build-repair-hint.d.ts.map +1 -0
- package/dist/harness/prompts/build-repair-hint.js +24 -0
- package/dist/harness/prompts/build-repair-hint.js.map +1 -0
- package/dist/harness/prompts/build-system-prompt.d.ts +7 -0
- package/dist/harness/prompts/build-system-prompt.d.ts.map +1 -0
- package/dist/harness/prompts/build-system-prompt.js +97 -0
- package/dist/harness/prompts/build-system-prompt.js.map +1 -0
- package/dist/harness/prompts/eql-primer.d.ts +13 -0
- package/dist/harness/prompts/eql-primer.d.ts.map +1 -0
- package/dist/harness/prompts/eql-primer.js +171 -0
- package/dist/harness/prompts/eql-primer.js.map +1 -0
- package/dist/harness/prompts/fixtures-root.d.ts +5 -0
- package/dist/harness/prompts/fixtures-root.d.ts.map +1 -0
- package/dist/harness/prompts/fixtures-root.js +7 -0
- package/dist/harness/prompts/fixtures-root.js.map +1 -0
- package/dist/harness/prompts/harness-prompt-fixture-schema.d.ts +95 -0
- package/dist/harness/prompts/harness-prompt-fixture-schema.d.ts.map +1 -0
- package/dist/harness/prompts/harness-prompt-fixture-schema.js +28 -0
- package/dist/harness/prompts/harness-prompt-fixture-schema.js.map +1 -0
- package/dist/harness/prompts/identity-primer.d.ts +6 -0
- package/dist/harness/prompts/identity-primer.d.ts.map +1 -0
- package/dist/harness/prompts/identity-primer.js +9 -0
- package/dist/harness/prompts/identity-primer.js.map +1 -0
- package/dist/harness/prompts/index.d.ts +7 -0
- package/dist/harness/prompts/index.d.ts.map +1 -0
- package/dist/harness/prompts/index.js +7 -0
- package/dist/harness/prompts/index.js.map +1 -0
- package/dist/harness/prompts/load-schema-example.browser.d.ts +11 -0
- package/dist/harness/prompts/load-schema-example.browser.d.ts.map +1 -0
- package/dist/harness/prompts/load-schema-example.browser.js +70 -0
- package/dist/harness/prompts/load-schema-example.browser.js.map +1 -0
- package/dist/harness/prompts/load-schema-example.d.ts +11 -0
- package/dist/harness/prompts/load-schema-example.d.ts.map +1 -0
- package/dist/harness/prompts/load-schema-example.js +22 -0
- package/dist/harness/prompts/load-schema-example.js.map +1 -0
- package/dist/harness/prompts/load-schema-example.node.d.ts +7 -0
- package/dist/harness/prompts/load-schema-example.node.d.ts.map +1 -0
- package/dist/harness/prompts/load-schema-example.node.js +38 -0
- package/dist/harness/prompts/load-schema-example.node.js.map +1 -0
- package/dist/harness/prompts/schema-example-files.d.ts +7 -0
- package/dist/harness/prompts/schema-example-files.d.ts.map +1 -0
- package/dist/harness/prompts/schema-example-files.js +12 -0
- package/dist/harness/prompts/schema-example-files.js.map +1 -0
- package/dist/harness/prompts/typescript-primer.d.ts +11 -0
- package/dist/harness/prompts/typescript-primer.d.ts.map +1 -0
- package/dist/harness/prompts/typescript-primer.js +55 -0
- package/dist/harness/prompts/typescript-primer.js.map +1 -0
- package/dist/harness/repair-loop-timing.d.ts +17 -0
- package/dist/harness/repair-loop-timing.d.ts.map +1 -0
- package/dist/harness/repair-loop-timing.js +89 -0
- package/dist/harness/repair-loop-timing.js.map +1 -0
- package/dist/harness/resolve-harness-binding.d.ts +10 -0
- package/dist/harness/resolve-harness-binding.d.ts.map +1 -0
- package/dist/harness/resolve-harness-binding.js +14 -0
- package/dist/harness/resolve-harness-binding.js.map +1 -0
- package/dist/harness/run-model-repair-loop.d.ts +45 -0
- package/dist/harness/run-model-repair-loop.d.ts.map +1 -0
- package/dist/harness/run-model-repair-loop.js +57 -0
- package/dist/harness/run-model-repair-loop.js.map +1 -0
- package/dist/harness/types.d.ts +34 -0
- package/dist/harness/types.d.ts.map +1 -0
- package/dist/harness/types.js +2 -0
- package/dist/harness/types.js.map +1 -0
- package/dist/helpers/browser.d.ts +12 -0
- package/dist/helpers/browser.d.ts.map +1 -0
- package/dist/helpers/browser.js +12 -0
- package/dist/helpers/browser.js.map +1 -0
- package/dist/helpers/env.d.ts +12 -0
- package/dist/helpers/env.d.ts.map +1 -0
- package/dist/helpers/env.js +12 -0
- package/dist/helpers/env.js.map +1 -0
- package/dist/helpers/expr.d.ts +12 -0
- package/dist/helpers/expr.d.ts.map +1 -0
- package/dist/helpers/expr.js +15 -0
- package/dist/helpers/expr.js.map +1 -0
- package/dist/helpers/ref.d.ts +12 -0
- package/dist/helpers/ref.d.ts.map +1 -0
- package/dist/helpers/ref.js +13 -0
- package/dist/helpers/ref.js.map +1 -0
- package/dist/helpers/secrets.d.ts +12 -0
- package/dist/helpers/secrets.d.ts.map +1 -0
- package/dist/helpers/secrets.js +12 -0
- package/dist/helpers/secrets.js.map +1 -0
- package/dist/helpers/state.d.ts +12 -0
- package/dist/helpers/state.d.ts.map +1 -0
- package/dist/helpers/state.js +15 -0
- package/dist/helpers/state.js.map +1 -0
- package/dist/image/image-ref.d.ts +28 -0
- package/dist/image/image-ref.d.ts.map +1 -0
- package/dist/image/image-ref.js +75 -0
- package/dist/image/image-ref.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/invoke/execute-invoke.d.ts +9 -0
- package/dist/invoke/execute-invoke.d.ts.map +1 -0
- package/dist/invoke/execute-invoke.js +137 -0
- package/dist/invoke/execute-invoke.js.map +1 -0
- package/dist/invoke/index.d.ts +3 -0
- package/dist/invoke/index.d.ts.map +1 -0
- package/dist/invoke/index.js +3 -0
- package/dist/invoke/index.js.map +1 -0
- package/dist/invoke/invoke-builder.d.ts +17 -0
- package/dist/invoke/invoke-builder.d.ts.map +1 -0
- package/dist/invoke/invoke-builder.js +24 -0
- package/dist/invoke/invoke-builder.js.map +1 -0
- package/dist/loaders/files.d.ts +13 -0
- package/dist/loaders/files.d.ts.map +1 -0
- package/dist/loaders/files.js +64 -0
- package/dist/loaders/files.js.map +1 -0
- package/dist/loaders/index.d.ts +2 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js +2 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/node.d.ts +8 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +8 -0
- package/dist/node.js.map +1 -0
- package/dist/patch/apply-patch.d.ts +8 -0
- package/dist/patch/apply-patch.d.ts.map +1 -0
- package/dist/patch/apply-patch.js +286 -0
- package/dist/patch/apply-patch.js.map +1 -0
- package/dist/patch/index.d.ts +7 -0
- package/dist/patch/index.d.ts.map +1 -0
- package/dist/patch/index.js +7 -0
- package/dist/patch/index.js.map +1 -0
- package/dist/patch/normalize-input.d.ts +15 -0
- package/dist/patch/normalize-input.d.ts.map +1 -0
- package/dist/patch/normalize-input.js +68 -0
- package/dist/patch/normalize-input.js.map +1 -0
- package/dist/patch/patch-builder.d.ts +14 -0
- package/dist/patch/patch-builder.d.ts.map +1 -0
- package/dist/patch/patch-builder.js +22 -0
- package/dist/patch/patch-builder.js.map +1 -0
- package/dist/patch/patch-document.d.ts +61 -0
- package/dist/patch/patch-document.d.ts.map +1 -0
- package/dist/patch/patch-document.js +16 -0
- package/dist/patch/patch-document.js.map +1 -0
- package/dist/patch/resolve-path.d.ts +21 -0
- package/dist/patch/resolve-path.d.ts.map +1 -0
- package/dist/patch/resolve-path.js +45 -0
- package/dist/patch/resolve-path.js.map +1 -0
- package/dist/patch/step-index.d.ts +14 -0
- package/dist/patch/step-index.d.ts.map +1 -0
- package/dist/patch/step-index.js +44 -0
- package/dist/patch/step-index.js.map +1 -0
- package/dist/registry/ensure-bound-extensions.d.ts +9 -0
- package/dist/registry/ensure-bound-extensions.d.ts.map +1 -0
- package/dist/registry/ensure-bound-extensions.js +31 -0
- package/dist/registry/ensure-bound-extensions.js.map +1 -0
- package/dist/registry/errors.d.ts +13 -0
- package/dist/registry/errors.d.ts.map +1 -0
- package/dist/registry/errors.js +19 -0
- package/dist/registry/errors.js.map +1 -0
- package/dist/registry/extension-catalog.d.ts +31 -0
- package/dist/registry/extension-catalog.d.ts.map +1 -0
- package/dist/registry/extension-catalog.js +50 -0
- package/dist/registry/extension-catalog.js.map +1 -0
- package/dist/registry/namespace.d.ts +11 -0
- package/dist/registry/namespace.d.ts.map +1 -0
- package/dist/registry/namespace.js +19 -0
- package/dist/registry/namespace.js.map +1 -0
- package/dist/registry/registry.d.ts +45 -0
- package/dist/registry/registry.d.ts.map +1 -0
- package/dist/registry/registry.js +95 -0
- package/dist/registry/registry.js.map +1 -0
- package/dist/runtime/commit.d.ts +11 -0
- package/dist/runtime/commit.d.ts.map +1 -0
- package/dist/runtime/commit.js +44 -0
- package/dist/runtime/commit.js.map +1 -0
- package/dist/runtime/context.d.ts +91 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +32 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/executor.d.ts +17 -0
- package/dist/runtime/executor.d.ts.map +1 -0
- package/dist/runtime/executor.js +2 -0
- package/dist/runtime/executor.js.map +1 -0
- package/dist/runtime/in-memory-executor.d.ts +10 -0
- package/dist/runtime/in-memory-executor.d.ts.map +1 -0
- package/dist/runtime/in-memory-executor.js +328 -0
- package/dist/runtime/in-memory-executor.js.map +1 -0
- package/dist/runtime/lifecycle.d.ts +6 -0
- package/dist/runtime/lifecycle.d.ts.map +1 -0
- package/dist/runtime/lifecycle.js +10 -0
- package/dist/runtime/lifecycle.js.map +1 -0
- package/dist/runtime/mutation-records.d.ts +4 -0
- package/dist/runtime/mutation-records.d.ts.map +1 -0
- package/dist/runtime/mutation-records.js +28 -0
- package/dist/runtime/mutation-records.js.map +1 -0
- package/dist/runtime/policy-engine.d.ts +13 -0
- package/dist/runtime/policy-engine.d.ts.map +1 -0
- package/dist/runtime/policy-engine.js +46 -0
- package/dist/runtime/policy-engine.js.map +1 -0
- package/dist/runtime/resolve-input.d.ts +4 -0
- package/dist/runtime/resolve-input.d.ts.map +1 -0
- package/dist/runtime/resolve-input.js +46 -0
- package/dist/runtime/resolve-input.js.map +1 -0
- package/dist/runtime/store.d.ts +38 -0
- package/dist/runtime/store.d.ts.map +1 -0
- package/dist/runtime/store.js +97 -0
- package/dist/runtime/store.js.map +1 -0
- package/dist/testing/index.d.ts +7 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +7 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/test-extension.d.ts +5 -0
- package/dist/testing/test-extension.d.ts.map +1 -0
- package/dist/testing/test-extension.js +52 -0
- package/dist/testing/test-extension.js.map +1 -0
- package/dist/testing/test-lifecycle-extension.d.ts +12 -0
- package/dist/testing/test-lifecycle-extension.d.ts.map +1 -0
- package/dist/testing/test-lifecycle-extension.js +65 -0
- package/dist/testing/test-lifecycle-extension.js.map +1 -0
- package/dist/testing/test-model-generate.d.ts +15 -0
- package/dist/testing/test-model-generate.d.ts.map +1 -0
- package/dist/testing/test-model-generate.js +71 -0
- package/dist/testing/test-model-generate.js.map +1 -0
- package/dist/util/path.d.ts +16 -0
- package/dist/util/path.d.ts.map +1 -0
- package/dist/util/path.js +116 -0
- package/dist/util/path.js.map +1 -0
- package/dist/util/slug.d.ts +3 -0
- package/dist/util/slug.d.ts.map +1 -0
- package/dist/util/slug.js +9 -0
- package/dist/util/slug.js.map +1 -0
- package/dist/validate/environment.d.ts +5 -0
- package/dist/validate/environment.d.ts.map +1 -0
- package/dist/validate/environment.js +30 -0
- package/dist/validate/environment.js.map +1 -0
- package/dist/validate/harness.d.ts +11 -0
- package/dist/validate/harness.d.ts.map +1 -0
- package/dist/validate/harness.js +72 -0
- package/dist/validate/harness.js.map +1 -0
- package/dist/validate/workflow-schema.d.ts +350 -0
- package/dist/validate/workflow-schema.d.ts.map +1 -0
- package/dist/validate/workflow-schema.js +152 -0
- package/dist/validate/workflow-schema.js.map +1 -0
- package/dist/validate/workflow.d.ts +7 -0
- package/dist/validate/workflow.d.ts.map +1 -0
- package/dist/validate/workflow.js +139 -0
- package/dist/validate/workflow.js.map +1 -0
- package/dist/validate/zod-mapper.d.ts +5 -0
- package/dist/validate/zod-mapper.d.ts.map +1 -0
- package/dist/validate/zod-mapper.js +10 -0
- package/dist/validate/zod-mapper.js.map +1 -0
- package/dist/workflow/assign-unique-step-ids.d.ts +7 -0
- package/dist/workflow/assign-unique-step-ids.d.ts.map +1 -0
- package/dist/workflow/assign-unique-step-ids.js +58 -0
- package/dist/workflow/assign-unique-step-ids.js.map +1 -0
- package/dist/workflow/builder.d.ts +35 -0
- package/dist/workflow/builder.d.ts.map +1 -0
- package/dist/workflow/builder.js +63 -0
- package/dist/workflow/builder.js.map +1 -0
- package/dist/workflow/flow.d.ts +36 -0
- package/dist/workflow/flow.d.ts.map +1 -0
- package/dist/workflow/flow.js +51 -0
- package/dist/workflow/flow.js.map +1 -0
- package/fixtures/schema-examples/harness-reply.output.eql +3 -0
- package/fixtures/schema-examples/harness-reply.output.json +11 -0
- package/fixtures/schema-examples/intent.output.eql +1 -0
- package/fixtures/schema-examples/intent.output.json +4 -0
- package/fixtures/schema-examples/patch.output.eql +4 -0
- package/fixtures/schema-examples/patch.output.json +12 -0
- package/fixtures/schema-examples/patch.repair-neutral.eql +4 -0
- package/fixtures/schema-examples/workflow.output.eql +5 -0
- package/fixtures/schema-examples/workflow.output.json +18 -0
- package/package.json +115 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { LATEST_ECP_VERSION } from "@executioncontrolprotocol/types";
|
|
2
|
+
function tokenize(query) {
|
|
3
|
+
return query.toLowerCase().split(/\s+/).filter(Boolean);
|
|
4
|
+
}
|
|
5
|
+
function scoreText(text, tokens) {
|
|
6
|
+
if (tokens.length === 0)
|
|
7
|
+
return 0;
|
|
8
|
+
const hay = text.toLowerCase();
|
|
9
|
+
let matched = 0;
|
|
10
|
+
for (const t of tokens) {
|
|
11
|
+
if (hay.includes(t))
|
|
12
|
+
matched++;
|
|
13
|
+
}
|
|
14
|
+
return matched / tokens.length;
|
|
15
|
+
}
|
|
16
|
+
/** Fuzzy search over environment descriptor sections. */
|
|
17
|
+
export function searchCapabilities(query, descriptor, options) {
|
|
18
|
+
const tokens = tokenize(query);
|
|
19
|
+
const types = options?.types ?? ["capability"];
|
|
20
|
+
const results = [];
|
|
21
|
+
if (types.includes("capability")) {
|
|
22
|
+
for (const cap of descriptor.capabilities) {
|
|
23
|
+
const text = `${cap.id} ${cap.label ?? ""} ${cap.extension ?? ""}`;
|
|
24
|
+
const score = scoreText(text, tokens);
|
|
25
|
+
if (score > 0) {
|
|
26
|
+
const base = {
|
|
27
|
+
type: "capability",
|
|
28
|
+
id: cap.id,
|
|
29
|
+
label: cap.label,
|
|
30
|
+
score,
|
|
31
|
+
reason: `Matched ${Math.round(score * 100)}% of query tokens`,
|
|
32
|
+
};
|
|
33
|
+
const item = { ...base };
|
|
34
|
+
if (options?.include?.includes("inputSchema"))
|
|
35
|
+
item.inputSchema = cap.inputSchema;
|
|
36
|
+
if (options?.include?.includes("outputSchema"))
|
|
37
|
+
item.outputSchema = cap.outputSchema;
|
|
38
|
+
results.push(item);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (types.includes("extension")) {
|
|
43
|
+
for (const ext of descriptor.extensions) {
|
|
44
|
+
const text = `${ext.id} ${ext.label ?? ""}`;
|
|
45
|
+
const score = scoreText(text, tokens);
|
|
46
|
+
if (score > 0) {
|
|
47
|
+
results.push({
|
|
48
|
+
type: "extension",
|
|
49
|
+
id: ext.id,
|
|
50
|
+
label: ext.label,
|
|
51
|
+
score,
|
|
52
|
+
reason: `Extension matched query`,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (types.includes("policy")) {
|
|
58
|
+
for (const pol of descriptor.policies) {
|
|
59
|
+
const text = `${pol.id} ${pol.label ?? ""} ${pol.summary ?? ""}`;
|
|
60
|
+
const score = scoreText(text, tokens);
|
|
61
|
+
if (score > 0) {
|
|
62
|
+
results.push({
|
|
63
|
+
type: "policy",
|
|
64
|
+
id: pol.id,
|
|
65
|
+
label: pol.label,
|
|
66
|
+
score,
|
|
67
|
+
reason: `Policy matched query`,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
results.sort((a, b) => b.score - a.score);
|
|
73
|
+
const limit = options?.limit ?? 5;
|
|
74
|
+
return {
|
|
75
|
+
schema: "@executioncontrolprotocol.environment.search",
|
|
76
|
+
version: LATEST_ECP_VERSION,
|
|
77
|
+
results: results.slice(0, limit),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/environment/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { DecodeResult, HarnessOperationFeedback, HarnessOperationStage, PatchResult, ValidationIssue, ValidationResult } from "@executioncontrolprotocol/types";
|
|
2
|
+
/**
|
|
3
|
+
* Collect structured harness feedback from a decode operation result.
|
|
4
|
+
* @category Harness
|
|
5
|
+
*/
|
|
6
|
+
export declare function collectDecodeFeedback(result: DecodeResult): HarnessOperationFeedback;
|
|
7
|
+
/**
|
|
8
|
+
* Collect structured harness feedback from a patch operation result.
|
|
9
|
+
* @category Harness
|
|
10
|
+
*/
|
|
11
|
+
export declare function collectPatchFeedback(result: PatchResult): HarnessOperationFeedback;
|
|
12
|
+
/**
|
|
13
|
+
* Collect structured harness feedback from a validation result.
|
|
14
|
+
* @category Harness
|
|
15
|
+
*/
|
|
16
|
+
export declare function collectValidationFeedback(result: ValidationResult, stage?: HarnessOperationStage): HarnessOperationFeedback;
|
|
17
|
+
/**
|
|
18
|
+
* Build model-output guard feedback (e.g. echoed validation text).
|
|
19
|
+
* @category Harness
|
|
20
|
+
*/
|
|
21
|
+
export declare function collectModelOutputFeedback(message: string, code?: string): HarnessOperationFeedback;
|
|
22
|
+
/**
|
|
23
|
+
* Merge multiple feedback records into one list (deduped issues per stage group).
|
|
24
|
+
* @category Harness
|
|
25
|
+
*/
|
|
26
|
+
export declare function mergeHarnessFeedback(...parts: HarnessOperationFeedback[]): HarnessOperationFeedback[];
|
|
27
|
+
/**
|
|
28
|
+
* Flatten feedback records into a single issue list.
|
|
29
|
+
* @category Harness
|
|
30
|
+
*/
|
|
31
|
+
export declare function flattenHarnessFeedbackIssues(feedback: HarnessOperationFeedback[]): ValidationIssue[];
|
|
32
|
+
//# sourceMappingURL=collect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../src/feedback/collect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,gBAAgB,EACjB,MAAM,iCAAiC,CAAA;AAoBxC;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,wBAAwB,CAUpF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,wBAAwB,CAsBlF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,EACxB,KAAK,GAAE,qBAAkC,GACxC,wBAAwB,CAO1B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,SAAyB,GAC5B,wBAAwB,CAM1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,KAAK,EAAE,wBAAwB,EAAE,GACnC,wBAAwB,EAAE,CAE5B;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,wBAAwB,EAAE,GACnC,eAAe,EAAE,CAEnB"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
function issueKey(issue) {
|
|
2
|
+
return `${issue.path ?? ""}|${issue.code}|${issue.message}`;
|
|
3
|
+
}
|
|
4
|
+
function mergeIssues(...groups) {
|
|
5
|
+
const seen = new Set();
|
|
6
|
+
const merged = [];
|
|
7
|
+
for (const group of groups) {
|
|
8
|
+
for (const issue of group) {
|
|
9
|
+
const key = issueKey(issue);
|
|
10
|
+
if (seen.has(key))
|
|
11
|
+
continue;
|
|
12
|
+
seen.add(key);
|
|
13
|
+
merged.push(issue);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return merged;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Collect structured harness feedback from a decode operation result.
|
|
20
|
+
* @category Harness
|
|
21
|
+
*/
|
|
22
|
+
export function collectDecodeFeedback(result) {
|
|
23
|
+
const validationErrors = result.validation?.errors ?? [];
|
|
24
|
+
const validationWarnings = result.validation?.warnings ?? [];
|
|
25
|
+
const issues = mergeIssues(result.diagnostics, validationErrors, validationWarnings);
|
|
26
|
+
return {
|
|
27
|
+
stage: "decode",
|
|
28
|
+
success: result.success,
|
|
29
|
+
targetSchema: result.targetSchema,
|
|
30
|
+
issues,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Collect structured harness feedback from a patch operation result.
|
|
35
|
+
* @category Harness
|
|
36
|
+
*/
|
|
37
|
+
export function collectPatchFeedback(result) {
|
|
38
|
+
const appliedIssues = [];
|
|
39
|
+
for (const entry of result.applied) {
|
|
40
|
+
if (!entry.success && entry.diagnostics) {
|
|
41
|
+
for (const d of entry.diagnostics) {
|
|
42
|
+
appliedIssues.push({
|
|
43
|
+
...d,
|
|
44
|
+
path: d.path ?? entry.path,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const validationErrors = result.validation?.errors ?? [];
|
|
50
|
+
const validationWarnings = result.validation?.warnings ?? [];
|
|
51
|
+
const issues = mergeIssues(result.diagnostics, appliedIssues, validationErrors, validationWarnings);
|
|
52
|
+
return {
|
|
53
|
+
stage: "patch-apply",
|
|
54
|
+
success: result.success,
|
|
55
|
+
targetSchema: result.targetSchema,
|
|
56
|
+
issues,
|
|
57
|
+
applied: result.applied,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Collect structured harness feedback from a validation result.
|
|
62
|
+
* @category Harness
|
|
63
|
+
*/
|
|
64
|
+
export function collectValidationFeedback(result, stage = "validate") {
|
|
65
|
+
const issues = mergeIssues(result.errors, result.warnings);
|
|
66
|
+
return {
|
|
67
|
+
stage,
|
|
68
|
+
success: result.valid,
|
|
69
|
+
issues,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Build model-output guard feedback (e.g. echoed validation text).
|
|
74
|
+
* @category Harness
|
|
75
|
+
*/
|
|
76
|
+
export function collectModelOutputFeedback(message, code = "MODEL_OUTPUT_INVALID") {
|
|
77
|
+
return {
|
|
78
|
+
stage: "model-output",
|
|
79
|
+
success: false,
|
|
80
|
+
issues: [{ severity: "error", code, message }],
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Merge multiple feedback records into one list (deduped issues per stage group).
|
|
85
|
+
* @category Harness
|
|
86
|
+
*/
|
|
87
|
+
export function mergeHarnessFeedback(...parts) {
|
|
88
|
+
return parts;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Flatten feedback records into a single issue list.
|
|
92
|
+
* @category Harness
|
|
93
|
+
*/
|
|
94
|
+
export function flattenHarnessFeedbackIssues(feedback) {
|
|
95
|
+
return mergeIssues(...feedback.map((f) => f.issues));
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=collect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../src/feedback/collect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/feedback/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/feedback/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EcpFormatOptions, EcpSchema, EcpVersion, EncodeResult } from "@executioncontrolprotocol/types";
|
|
2
|
+
/**
|
|
3
|
+
* Encode a workflow manifest to Fluent API TypeScript source.
|
|
4
|
+
* @category Fluent
|
|
5
|
+
*/
|
|
6
|
+
export declare function encodeFluent(source: unknown, options?: EcpFormatOptions & {
|
|
7
|
+
sourceSchema?: EcpSchema;
|
|
8
|
+
sourceVersion?: EcpVersion;
|
|
9
|
+
}): EncodeResult<string>;
|
|
10
|
+
//# sourceMappingURL=encode-fluent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode-fluent.d.ts","sourceRoot":"","sources":["../../src/fluent/encode-fluent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,YAAY,EAEb,MAAM,iCAAiC,CAAA;AAKxC;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,gBAAgB,GAAG;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,aAAa,CAAC,EAAE,UAAU,CAAA;CACtB,GACL,YAAY,CAAC,MAAM,CAAC,CAsDtB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ECP_ENCODING_ERROR_CODES, ECP_FORMATS, LATEST_ECP_VERSION, } from "@executioncontrolprotocol/types";
|
|
2
|
+
import { encodeFailure } from "../encoding/json-codec.js";
|
|
3
|
+
import { validateWorkflow } from "../validate/workflow.js";
|
|
4
|
+
import { renderWorkflowToFluent } from "./render-workflow.js";
|
|
5
|
+
/**
|
|
6
|
+
* Encode a workflow manifest to Fluent API TypeScript source.
|
|
7
|
+
* @category Fluent
|
|
8
|
+
*/
|
|
9
|
+
export function encodeFluent(source, options = {}) {
|
|
10
|
+
const sourceSchema = options.sourceSchema ??
|
|
11
|
+
(source !== null &&
|
|
12
|
+
typeof source === "object" &&
|
|
13
|
+
"schema" in source &&
|
|
14
|
+
typeof source.schema === "string"
|
|
15
|
+
? source.schema
|
|
16
|
+
: "@executioncontrolprotocol.workflow");
|
|
17
|
+
if (sourceSchema !== "@executioncontrolprotocol.workflow") {
|
|
18
|
+
return encodeFailure({
|
|
19
|
+
format: ECP_FORMATS.FLUENT,
|
|
20
|
+
sourceSchema,
|
|
21
|
+
diagnostics: [
|
|
22
|
+
{
|
|
23
|
+
severity: "error",
|
|
24
|
+
code: ECP_ENCODING_ERROR_CODES.FORMAT_UNSUPPORTED_SOURCE_SCHEMA,
|
|
25
|
+
message: "Fluent encoder only supports @executioncontrolprotocol.workflow.",
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
const manifest = source;
|
|
31
|
+
const validation = validateWorkflow(manifest);
|
|
32
|
+
if (!validation.valid) {
|
|
33
|
+
return encodeFailure({
|
|
34
|
+
format: ECP_FORMATS.FLUENT,
|
|
35
|
+
sourceSchema: "@executioncontrolprotocol.workflow",
|
|
36
|
+
validation,
|
|
37
|
+
diagnostics: [...validation.errors, ...validation.warnings],
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const content = renderWorkflowToFluent(manifest, {
|
|
41
|
+
compact: options.compact ?? false,
|
|
42
|
+
importFrom: options.importFrom === "@executioncontrolprotocol/browser" || options.target === "browser"
|
|
43
|
+
? "@executioncontrolprotocol/browser"
|
|
44
|
+
: "@executioncontrolprotocol/core",
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
schema: "@executioncontrolprotocol.encode.result",
|
|
48
|
+
version: LATEST_ECP_VERSION,
|
|
49
|
+
success: true,
|
|
50
|
+
format: ECP_FORMATS.FLUENT,
|
|
51
|
+
mediaType: "text/typescript",
|
|
52
|
+
sourceSchema: "@executioncontrolprotocol.workflow",
|
|
53
|
+
sourceVersion: options.sourceVersion,
|
|
54
|
+
result: content,
|
|
55
|
+
diagnostics: [],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=encode-fluent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode-fluent.js","sourceRoot":"","sources":["../../src/fluent/encode-fluent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,kBAAkB,GACnB,MAAM,iCAAiC,CAAA;AAQxC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAE7D;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAe,EACf,UAGI,EAAE;IAEN,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY;QACpB,CAAC,MAAM,KAAK,IAAI;YAChB,OAAO,MAAM,KAAK,QAAQ;YAC1B,QAAQ,IAAI,MAAM;YAClB,OAAQ,MAA8B,CAAC,MAAM,KAAK,QAAQ;YACxD,CAAC,CAAG,MAA6B,CAAC,MAAoB;YACtD,CAAC,CAAC,oCAAoC,CAAC,CAAA;IAE3C,IAAI,YAAY,KAAK,oCAAoC,EAAE,CAAC;QAC1D,OAAO,aAAa,CAAC;YACnB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,YAAY;YACZ,WAAW,EAAE;gBACX;oBACE,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,wBAAwB,CAAC,gCAAgC;oBAC/D,OAAO,EAAE,kEAAkE;iBAC5E;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAA0B,CAAA;IAC3C,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC7C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC;YACnB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,YAAY,EAAE,oCAAoC;YAClD,UAAU;YACV,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC5D,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE;QAC/C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;QACjC,UAAU,EACR,OAAO,CAAC,UAAU,KAAK,mCAAmC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YACxF,CAAC,CAAC,mCAAmC;YACrC,CAAC,CAAC,gCAAgC;KACvC,CAAC,CAAA;IAEF,OAAO;QACL,MAAM,EAAE,yCAAyC;QACjD,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,SAAS,EAAE,iBAAiB;QAC5B,YAAY,EAAE,oCAAoC;QAClD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,EAAE;KAChB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fluent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,KAAK,6BAA6B,GACnC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fluent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,8BAA8B,GAE/B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-expr.d.ts","sourceRoot":"","sources":["../../src/fluent/render-expr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAEhE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAQvD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render expression to Fluent `expr.*` call.
|
|
3
|
+
* @category Fluent
|
|
4
|
+
*/
|
|
5
|
+
export function renderExprValue(expr) {
|
|
6
|
+
if ("eq" in expr && Array.isArray(expr.eq)) {
|
|
7
|
+
return `expr.eq(${JSON.stringify(String(expr.eq[0]))}, ${JSON.stringify(expr.eq[1])})`;
|
|
8
|
+
}
|
|
9
|
+
if ("neq" in expr && Array.isArray(expr.neq)) {
|
|
10
|
+
return `expr.neq(${JSON.stringify(String(expr.neq[0]))}, ${JSON.stringify(expr.neq[1])})`;
|
|
11
|
+
}
|
|
12
|
+
return JSON.stringify(expr);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=render-expr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-expr.js","sourceRoot":"","sources":["../../src/fluent/render-expr.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAe;IAC7C,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3C,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACxF,CAAC;IACD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAC3F,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { StepNode, WorkflowNode } from "@executioncontrolprotocol/types";
|
|
2
|
+
import { type ImportNeeds } from "./render-value.js";
|
|
3
|
+
declare function renderStep(step: StepNode, needs: ImportNeeds, indent: string): string;
|
|
4
|
+
declare function renderNodes(nodes: WorkflowNode[], needs: ImportNeeds, indent: string): string;
|
|
5
|
+
export { renderNodes, renderStep };
|
|
6
|
+
//# sourceMappingURL=render-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-node.d.ts","sourceRoot":"","sources":["../../src/fluent/render-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,QAAQ,EACR,YAAY,EACb,MAAM,iCAAiC,CAAA;AAGxC,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEtE,iBAAS,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA4B9E;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAsDtF;AAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { slugify } from "../util/slug.js";
|
|
2
|
+
import { renderExprValue } from "./render-expr.js";
|
|
3
|
+
import { renderInputValue } from "./render-value.js";
|
|
4
|
+
function renderStep(step, needs, indent) {
|
|
5
|
+
const lines = [];
|
|
6
|
+
const labelArg = step.label ? `, ${JSON.stringify(step.label)}` : "";
|
|
7
|
+
lines.push(`${indent}step(${JSON.stringify(step.uses)}${labelArg})`);
|
|
8
|
+
const defaultId = slugify(step.label ?? String(step.uses));
|
|
9
|
+
if (step.id && (step.id !== defaultId || step.as !== undefined)) {
|
|
10
|
+
lines.push(`${indent} .id(${JSON.stringify(step.id)})`);
|
|
11
|
+
}
|
|
12
|
+
if (step.when) {
|
|
13
|
+
needs.expr = true;
|
|
14
|
+
lines.push(`${indent} .when(${renderExprValue(step.when)})`);
|
|
15
|
+
}
|
|
16
|
+
if (step.input && Object.keys(step.input).length > 0) {
|
|
17
|
+
const inputParts = Object.entries(step.input).map(([k, v]) => `${JSON.stringify(k)}: ${renderInputValue(v, needs)}`);
|
|
18
|
+
lines.push(`${indent} .with({ ${inputParts.join(", ")} })`);
|
|
19
|
+
}
|
|
20
|
+
if (step.as) {
|
|
21
|
+
if (step.mode) {
|
|
22
|
+
lines.push(`${indent} .as(${JSON.stringify(step.as)}, { mode: ${JSON.stringify(step.mode)} })`);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
lines.push(`${indent} .as(${JSON.stringify(step.as)})`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return lines.join("\n");
|
|
29
|
+
}
|
|
30
|
+
function renderNodes(nodes, needs, indent) {
|
|
31
|
+
return nodes
|
|
32
|
+
.map((node) => {
|
|
33
|
+
if (!node.type || node.type === "step") {
|
|
34
|
+
return renderStep(node, needs, indent);
|
|
35
|
+
}
|
|
36
|
+
if (node.type === "loop") {
|
|
37
|
+
needs.loop = true;
|
|
38
|
+
const loop = node;
|
|
39
|
+
const opts = [];
|
|
40
|
+
if (loop.label)
|
|
41
|
+
opts.push(`label: ${JSON.stringify(loop.label)}`);
|
|
42
|
+
if (loop.id)
|
|
43
|
+
opts.push(`id: ${JSON.stringify(loop.id)}`);
|
|
44
|
+
if (loop.until) {
|
|
45
|
+
needs.expr = true;
|
|
46
|
+
opts.push(`until: ${renderExprValue(loop.until)}`);
|
|
47
|
+
}
|
|
48
|
+
if (loop.maxRounds !== undefined)
|
|
49
|
+
opts.push(`maxRounds: ${loop.maxRounds}`);
|
|
50
|
+
const inner = renderNodes(loop.steps, needs, indent + " ");
|
|
51
|
+
return `${indent}loop(\n${indent} { ${opts.join(", ")} },\n${indent} [\n${inner},\n${indent} ],\n${indent})`;
|
|
52
|
+
}
|
|
53
|
+
if (node.type === "parallel") {
|
|
54
|
+
needs.parallel = true;
|
|
55
|
+
const par = node;
|
|
56
|
+
const opts = [];
|
|
57
|
+
if (par.id)
|
|
58
|
+
opts.push(`id: ${JSON.stringify(par.id)}`);
|
|
59
|
+
if (par.label)
|
|
60
|
+
opts.push(`label: ${JSON.stringify(par.label)}`);
|
|
61
|
+
const branches = par.branches
|
|
62
|
+
.map((b) => {
|
|
63
|
+
const inner = renderNodes(b, needs, indent + " ");
|
|
64
|
+
return `${indent} [\n${inner},\n${indent} ]`;
|
|
65
|
+
})
|
|
66
|
+
.join(",\n");
|
|
67
|
+
const optStr = opts.length > 0 ? `, { ${opts.join(", ")} }` : "";
|
|
68
|
+
return `${indent}parallel(\n${indent} [\n${branches},\n${indent} ]${optStr},\n${indent})`;
|
|
69
|
+
}
|
|
70
|
+
needs.branch = true;
|
|
71
|
+
const branch = node;
|
|
72
|
+
const steps = branch.branches
|
|
73
|
+
.flatMap((b) => b.steps.map((s) => {
|
|
74
|
+
const stepNode = s;
|
|
75
|
+
const withWhen = b.when ? { ...stepNode, when: b.when } : stepNode;
|
|
76
|
+
if (b.when)
|
|
77
|
+
needs.expr = true;
|
|
78
|
+
return renderStep(withWhen, needs, indent + " ");
|
|
79
|
+
}))
|
|
80
|
+
.join(",\n");
|
|
81
|
+
const opts = [];
|
|
82
|
+
if (branch.id)
|
|
83
|
+
opts.push(`id: ${JSON.stringify(branch.id)}`);
|
|
84
|
+
if (branch.label)
|
|
85
|
+
opts.push(`label: ${JSON.stringify(branch.label)}`);
|
|
86
|
+
const optStr = opts.length > 0 ? `, { ${opts.join(", ")} }` : "";
|
|
87
|
+
return `${indent}branch(\n${indent} [\n${steps},\n${indent} ]${optStr},\n${indent})`;
|
|
88
|
+
})
|
|
89
|
+
.join(",\n");
|
|
90
|
+
}
|
|
91
|
+
export { renderNodes, renderStep };
|
|
92
|
+
//# sourceMappingURL=render-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-node.js","sourceRoot":"","sources":["../../src/fluent/render-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { InputValue } from "@executioncontrolprotocol/types";
|
|
2
|
+
/** Track which helpers are required. @category Fluent */
|
|
3
|
+
export interface ImportNeeds {
|
|
4
|
+
workflow: boolean;
|
|
5
|
+
step: boolean;
|
|
6
|
+
ref: boolean;
|
|
7
|
+
state: boolean;
|
|
8
|
+
secrets: boolean;
|
|
9
|
+
browser: boolean;
|
|
10
|
+
expr: boolean;
|
|
11
|
+
loop: boolean;
|
|
12
|
+
parallel: boolean;
|
|
13
|
+
branch: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** @category Fluent */
|
|
16
|
+
export declare function createImportNeeds(): ImportNeeds;
|
|
17
|
+
/**
|
|
18
|
+
* Render input value to TypeScript expression.
|
|
19
|
+
* @category Fluent
|
|
20
|
+
*/
|
|
21
|
+
export declare function renderInputValue(value: InputValue, needs: ImportNeeds): string;
|
|
22
|
+
//# sourceMappingURL=render-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-value.d.ts","sourceRoot":"","sources":["../../src/fluent/render-value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,OAAO,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,uBAAuB;AACvB,wBAAgB,iBAAiB,IAAI,WAAW,CAa/C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CA4B9E"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** @category Fluent */
|
|
2
|
+
export function createImportNeeds() {
|
|
3
|
+
return {
|
|
4
|
+
workflow: true,
|
|
5
|
+
step: true,
|
|
6
|
+
ref: false,
|
|
7
|
+
state: false,
|
|
8
|
+
secrets: false,
|
|
9
|
+
browser: false,
|
|
10
|
+
expr: false,
|
|
11
|
+
loop: false,
|
|
12
|
+
parallel: false,
|
|
13
|
+
branch: false,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Render input value to TypeScript expression.
|
|
18
|
+
* @category Fluent
|
|
19
|
+
*/
|
|
20
|
+
export function renderInputValue(value, needs) {
|
|
21
|
+
if (value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
22
|
+
if ("$ref" in value) {
|
|
23
|
+
needs.ref = true;
|
|
24
|
+
const path = value.$ref.replace(/^state\./, "");
|
|
25
|
+
return `ref(${JSON.stringify(path)})`;
|
|
26
|
+
}
|
|
27
|
+
if ("$state" in value) {
|
|
28
|
+
needs.state = true;
|
|
29
|
+
return `state(${JSON.stringify(value.$state)})`;
|
|
30
|
+
}
|
|
31
|
+
if ("$secret" in value) {
|
|
32
|
+
needs.secrets = true;
|
|
33
|
+
return `secrets(${JSON.stringify(value.$secret)})`;
|
|
34
|
+
}
|
|
35
|
+
if ("$browser" in value) {
|
|
36
|
+
needs.browser = true;
|
|
37
|
+
return `browser(${JSON.stringify(value.$browser)})`;
|
|
38
|
+
}
|
|
39
|
+
const entries = Object.entries(value).map(([k, v]) => `${JSON.stringify(k)}: ${renderInputValue(v, needs)}`);
|
|
40
|
+
return `{ ${entries.join(", ")} }`;
|
|
41
|
+
}
|
|
42
|
+
if (Array.isArray(value)) {
|
|
43
|
+
return `[${value.map((v) => renderInputValue(v, needs)).join(", ")}]`;
|
|
44
|
+
}
|
|
45
|
+
return JSON.stringify(value);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=render-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-value.js","sourceRoot":"","sources":["../../src/fluent/render-value.ts"],"names":[],"mappings":"AAgBA,uBAAuB;AACvB,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,KAAK;QACV,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,KAAK;KACd,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB,EAAE,KAAkB;IACpE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAA;YAChB,MAAM,IAAI,GAAI,KAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;YACrE,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAA;QACvC,CAAC;QACD,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAA;YAClB,OAAO,SAAS,IAAI,CAAC,SAAS,CAAE,KAA4B,CAAC,MAAM,CAAC,GAAG,CAAA;QACzE,CAAC;QACD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACvB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAA;YACpB,OAAO,WAAW,IAAI,CAAC,SAAS,CAAE,KAA6B,CAAC,OAAO,CAAC,GAAG,CAAA;QAC7E,CAAC;QACD,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACxB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAA;YACpB,OAAO,WAAW,IAAI,CAAC,SAAS,CAAE,KAA8B,CAAC,QAAQ,CAAC,GAAG,CAAA;QAC/E,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CACvC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAe,EAAE,KAAK,CAAC,EAAE,CAChF,CAAA;QACD,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAe,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;IACrF,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WorkflowManifest } from "@executioncontrolprotocol/types";
|
|
2
|
+
/** Options for rendering a manifest to Fluent source. @category Fluent */
|
|
3
|
+
export interface RenderWorkflowToFluentOptions {
|
|
4
|
+
/** Prefer compact output (reserved for future formatting). */
|
|
5
|
+
compact?: boolean;
|
|
6
|
+
/** Import module target (`@executioncontrolprotocol/core` default, `@executioncontrolprotocol/browser` for browser demo). */
|
|
7
|
+
importFrom?: "@executioncontrolprotocol/core" | "@executioncontrolprotocol/browser";
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Render workflow manifest to Fluent API TypeScript source.
|
|
11
|
+
* @category Fluent
|
|
12
|
+
*/
|
|
13
|
+
export declare function renderWorkflowToFluent(manifest: WorkflowManifest, _options?: RenderWorkflowToFluentOptions): string;
|
|
14
|
+
/** @deprecated Use {@link renderWorkflowToFluent}. @category Fluent */
|
|
15
|
+
export declare const renderWorkflowManifestToFluent: typeof renderWorkflowToFluent;
|
|
16
|
+
//# sourceMappingURL=render-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-workflow.d.ts","sourceRoot":"","sources":["../../src/fluent/render-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAIvE,0EAA0E;AAC1E,MAAM,WAAW,6BAA6B;IAC5C,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6HAA6H;IAC7H,UAAU,CAAC,EAAE,gCAAgC,GAAG,mCAAmC,CAAA;CACpF;AAkBD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,CAAC,EAAE,6BAA6B,GACvC,MAAM,CAWR;AAED,uEAAuE;AACvE,eAAO,MAAM,8BAA8B,+BAAyB,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { renderNodes } from "./render-node.js";
|
|
2
|
+
import { createImportNeeds } from "./render-value.js";
|
|
3
|
+
function renderImports(needs, importFrom) {
|
|
4
|
+
const names = ["workflow", "step"];
|
|
5
|
+
if (needs.ref)
|
|
6
|
+
names.push("ref");
|
|
7
|
+
if (needs.state)
|
|
8
|
+
names.push("state");
|
|
9
|
+
if (needs.secrets)
|
|
10
|
+
names.push("secrets");
|
|
11
|
+
if (needs.browser)
|
|
12
|
+
names.push("browser");
|
|
13
|
+
if (needs.expr)
|
|
14
|
+
names.push("expr");
|
|
15
|
+
if (needs.loop)
|
|
16
|
+
names.push("loop");
|
|
17
|
+
if (needs.parallel)
|
|
18
|
+
names.push("parallel");
|
|
19
|
+
if (needs.branch)
|
|
20
|
+
names.push("branch");
|
|
21
|
+
return `import {\n ${names.join(",\n ")},\n} from "${importFrom}";\n\n`;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Render workflow manifest to Fluent API TypeScript source.
|
|
25
|
+
* @category Fluent
|
|
26
|
+
*/
|
|
27
|
+
export function renderWorkflowToFluent(manifest, _options) {
|
|
28
|
+
const importFrom = _options?.importFrom ?? "@executioncontrolprotocol/core";
|
|
29
|
+
const needs = createImportNeeds();
|
|
30
|
+
const nodes = renderNodes(manifest.steps, needs, " ");
|
|
31
|
+
const header = renderImports(needs, importFrom);
|
|
32
|
+
let body = `export default workflow(${JSON.stringify(manifest.workflow.label ?? manifest.workflow.id)})\n`;
|
|
33
|
+
if (manifest.workflow.id) {
|
|
34
|
+
body += ` .id(${JSON.stringify(manifest.workflow.id)})\n`;
|
|
35
|
+
}
|
|
36
|
+
body += ` .run([\n${nodes},\n ]);\n`;
|
|
37
|
+
return header + body;
|
|
38
|
+
}
|
|
39
|
+
/** @deprecated Use {@link renderWorkflowToFluent}. @category Fluent */
|
|
40
|
+
export const renderWorkflowManifestToFluent = renderWorkflowToFluent;
|
|
41
|
+
//# sourceMappingURL=render-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-workflow.js","sourceRoot":"","sources":["../../src/fluent/render-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAUrD,SAAS,aAAa,CACpB,KAA2C,EAC3C,UAAkF;IAElF,MAAM,KAAK,GAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC5C,IAAI,KAAK,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,IAAI,KAAK,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACxC,IAAI,KAAK,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACxC,IAAI,KAAK,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClC,IAAI,KAAK,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClC,IAAI,KAAK,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC1C,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtC,OAAO,eAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,UAAU,QAAQ,CAAA;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA0B,EAC1B,QAAwC;IAExC,MAAM,UAAU,GAAG,QAAQ,EAAE,UAAU,IAAI,gCAAgC,CAAA;IAC3E,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAA;IACjC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAC/C,IAAI,IAAI,GAAG,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAA;IAC1G,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAA;IAC5D,CAAC;IACD,IAAI,IAAI,aAAa,KAAK,YAAY,CAAA;IACtC,OAAO,MAAM,GAAG,IAAI,CAAA;AACtB,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAA"}
|