@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,200 @@
|
|
|
1
|
+
const PATCH_OPERATION_LINE = /^(UPDATE|DELETE|ADD)\s+STEP\b/i;
|
|
2
|
+
const PATCH_DOCUMENT_LINE = /^(PATCH WORKFLOW|UPDATE|DELETE|ADD|MOVE)\b/i;
|
|
3
|
+
const PATCH_HINT_ECHO_LINE = /^(Operation selection:|Target step:|Multiple changes requested|Existing step ids:|PATCH WORKFLOW must use)/i;
|
|
4
|
+
function escapeRegExp(value) {
|
|
5
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
6
|
+
}
|
|
7
|
+
/** True when model output looks like repair-hint prose or multi-operation garbage instead of a patch. @category Harness */
|
|
8
|
+
export function isGarbledPatchEqlOutput(raw) {
|
|
9
|
+
const text = raw.trim();
|
|
10
|
+
if (!text) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
if (PATCH_HINT_ECHO_LINE.test(text)) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
if (/^PATCH WORKFLOW for\b/im.test(text)) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
if (/UPDATE WORKFLOW for workflow label/i.test(text)) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
if (/with LABEL\.?\s*$/im.test(text) && !/LABEL\s+"/i.test(text)) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
const destructiveOps = (text.match(/^(DELETE|MOVE|ADD)\s+STEP/gim) ?? []).length;
|
|
26
|
+
if (destructiveOps > 0 && /label/i.test(text)) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
/** Minimal valid label-change patch EQL for a single step. @category Harness */
|
|
32
|
+
export function buildMinimalLabelPatchEql(workflowId, targetStepId, requestedLabel) {
|
|
33
|
+
return `PATCH WORKFLOW ${workflowId}\nUPDATE STEP ${targetStepId}\n LABEL "${requestedLabel}"`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Rebuild label-only patch EQL when the model echoed hints or mixed invalid operations.
|
|
37
|
+
* @category Harness
|
|
38
|
+
*/
|
|
39
|
+
export function recoverMinimalLabelPatch(raw, workflowId, targetStepId, requestedLabel) {
|
|
40
|
+
if (!workflowId || !targetStepId || !requestedLabel) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
const minimal = buildMinimalLabelPatchEql(workflowId, targetStepId, requestedLabel);
|
|
44
|
+
const validLabelPatch = new RegExp(`^PATCH WORKFLOW\\s+${escapeRegExp(workflowId)}\\s*\\nUPDATE STEP\\s+${escapeRegExp(targetStepId)}\\s*\\n\\s*LABEL\\s+"${escapeRegExp(requestedLabel)}"\\s*$`, "im");
|
|
45
|
+
if (validLabelPatch.test(raw.trim())) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
if (!isGarbledPatchEqlOutput(raw) && /UPDATE STEP\s+\S+/i.test(raw) && /LABEL\s+"/i.test(raw)) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return minimal;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Rebuild a minimal echo input fix when the user reports a step failure and output is garbled.
|
|
55
|
+
* @category Harness
|
|
56
|
+
*/
|
|
57
|
+
export function recoverTroubleshootStepPatch(request, raw, workflowId, targetStepId) {
|
|
58
|
+
if (!workflowId || !targetStepId) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
if (/\b(?:change|set|rename).*(?:step\s+)?label\b/i.test(request)) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
const troubleshoot = /\b(?:failed?|error|fix)\b/i.test(request) &&
|
|
65
|
+
(/\bfailed?\s+on\s+\w+/i.test(request) || /\bhelp me fix\b/i.test(request));
|
|
66
|
+
if (!troubleshoot) {
|
|
67
|
+
const deletesTarget = new RegExp(`DELETE STEP\\s+${targetStepId}\\b`, "i").test(raw);
|
|
68
|
+
if (!deletesTarget) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const minimal = `PATCH WORKFLOW ${workflowId}\nUPDATE STEP ${targetStepId}\n WITH value = "fixed"`;
|
|
73
|
+
const validInputPatch = new RegExp(`^PATCH WORKFLOW\\s+${escapeRegExp(workflowId)}\\s*\\nUPDATE STEP\\s+${escapeRegExp(targetStepId)}\\s*\\n\\s*WITH\\s+value\\s*=`, "im");
|
|
74
|
+
if (validInputPatch.test(raw.trim())) {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
if (!isGarbledPatchEqlOutput(raw) && /UPDATE STEP\s+\S+/i.test(raw) && /WITH\s+value\s*=/i.test(raw)) {
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
return minimal;
|
|
81
|
+
}
|
|
82
|
+
/** Fix common invalid capability ids and strip repair prose from patch EQL. @category Harness */
|
|
83
|
+
export function sanitizePatchEqlRawOutput(raw) {
|
|
84
|
+
let trimmed = raw.trim();
|
|
85
|
+
if (!trimmed) {
|
|
86
|
+
return raw;
|
|
87
|
+
}
|
|
88
|
+
trimmed = trimmed.replace(/@executioncontrolprotocol\/demo\.echo\b/g, "@executioncontrolprotocol/test.echo");
|
|
89
|
+
trimmed = trimmed.replace(/^(DELETE|ADD|MOVE)\s+STEP\s+(\w+)\)\s*$/gim, "$1 STEP $2");
|
|
90
|
+
const lines = trimmed.split(/\r?\n/).filter((line) => {
|
|
91
|
+
const text = line.trim();
|
|
92
|
+
if (!text) {
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
if (/^Patch output rules:/i.test(text)) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if (/^Use UPDATE STEP/i.test(text) && !PATCH_DOCUMENT_LINE.test(text)) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
if (/^Do not patch other step/i.test(text)) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
if (PATCH_HINT_ECHO_LINE.test(text)) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
if (/^- /.test(text) && /→|DELETE STEP|ADD STEP|MOVE STEP|UPDATE WORKFLOW/i.test(text)) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
return true;
|
|
111
|
+
});
|
|
112
|
+
return lines.join("\n");
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Rebuild minimal patch EQL when the model echoed repair-hint prose instead of operations.
|
|
116
|
+
* @category Harness
|
|
117
|
+
*/
|
|
118
|
+
export function recoverPatchFromRepairHintProse(raw, workflowId, targetStepId, requestedLabel) {
|
|
119
|
+
if (!workflowId || !targetStepId || !requestedLabel) {
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
const text = raw.trim();
|
|
123
|
+
if (/^UPDATE STEP\s+\S+/im.test(text) && /^PATCH WORKFLOW\s+\S+/im.test(text)) {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
const escaped = requestedLabel.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
127
|
+
const labelMentioned = new RegExp(`["']${escaped}["']`, "i").test(text);
|
|
128
|
+
if (!labelMentioned) {
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
const hintEcho = /PATCH WORKFLOW label:/i.test(text) ||
|
|
132
|
+
/change with UPDATE WORKFLOW/i.test(text) ||
|
|
133
|
+
/not UPDATE STEP/i.test(text) ||
|
|
134
|
+
(/UPDATE WORKFLOW/i.test(text) && !/UPDATE STEP/i.test(text) && /label/i.test(text));
|
|
135
|
+
if (!hintEcho) {
|
|
136
|
+
return undefined;
|
|
137
|
+
}
|
|
138
|
+
return `PATCH WORKFLOW ${workflowId}\nUPDATE STEP ${targetStepId}\n LABEL "${requestedLabel}"`;
|
|
139
|
+
}
|
|
140
|
+
/** Prepend PATCH WORKFLOW when the model omits the header but outputs patch operations. @category Harness */
|
|
141
|
+
export function normalizePatchEqlRawOutput(raw, workflowId) {
|
|
142
|
+
let trimmed = raw.trim();
|
|
143
|
+
if (!trimmed)
|
|
144
|
+
return raw;
|
|
145
|
+
trimmed = trimmed.replace(/^PATCH WORKFLOW (\S+)\s+with\s+LABEL\b[^\n]*/gim, "PATCH WORKFLOW $1");
|
|
146
|
+
trimmed = trimmed.replace(/```[\w-]*\n?/g, "").replace(/```/g, "").trim();
|
|
147
|
+
trimmed = trimmed.replace(/^UPDATE STEP (\S+)\s+with\s+LABEL\s+"([^"]+)"/gim, 'UPDATE STEP $1\n LABEL "$2"');
|
|
148
|
+
if (!workflowId)
|
|
149
|
+
return trimmed;
|
|
150
|
+
const fence = trimmed.indexOf("```");
|
|
151
|
+
if (fence >= 0) {
|
|
152
|
+
trimmed = trimmed.slice(0, fence).trim();
|
|
153
|
+
}
|
|
154
|
+
const jsonStart = trimmed.search(/\n\s*[\[{]/);
|
|
155
|
+
if (jsonStart >= 0) {
|
|
156
|
+
trimmed = trimmed.slice(0, jsonStart).trim();
|
|
157
|
+
}
|
|
158
|
+
trimmed = trimmed.replace(/^PATCH WORKFLOW \S+/im, `PATCH WORKFLOW ${workflowId}`);
|
|
159
|
+
const firstLine = trimmed.split(/\r?\n/, 1)[0]?.trim() ?? "";
|
|
160
|
+
if (/^PATCH\s+WORKFLOW\b/i.test(firstLine))
|
|
161
|
+
return trimmed;
|
|
162
|
+
if (PATCH_OPERATION_LINE.test(firstLine)) {
|
|
163
|
+
return `PATCH WORKFLOW ${workflowId}\n${trimmed}`;
|
|
164
|
+
}
|
|
165
|
+
return trimmed;
|
|
166
|
+
}
|
|
167
|
+
/** Rewrite PATCH WORKFLOW id LABEL "..." into UPDATE STEP when a step label change was intended. @category Harness */
|
|
168
|
+
export function normalizeMalformedPatchStepLabel(raw, targetStepId, requestedLabel) {
|
|
169
|
+
if (!targetStepId || !requestedLabel)
|
|
170
|
+
return raw;
|
|
171
|
+
let result = raw;
|
|
172
|
+
const escaped = requestedLabel.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
173
|
+
const updateWorkflowLabel = new RegExp(`UPDATE WORKFLOW\\s*\\n\\s*LABEL\\s+"${escaped}"`, "im");
|
|
174
|
+
if (updateWorkflowLabel.test(result) && !new RegExp(`UPDATE STEP\\s+${targetStepId}\\b`, "i").test(result)) {
|
|
175
|
+
result = result.replace(updateWorkflowLabel, `UPDATE STEP ${targetStepId}\n LABEL "${requestedLabel}"`);
|
|
176
|
+
}
|
|
177
|
+
const malformed = new RegExp(`^PATCH WORKFLOW (\\S+)\\s+LABEL\\s+"${escaped}"`, "im");
|
|
178
|
+
if (!malformed.test(result))
|
|
179
|
+
return result;
|
|
180
|
+
return result.replace(malformed, `PATCH WORKFLOW $1\nUPDATE STEP ${targetStepId}\n LABEL "${requestedLabel}"`);
|
|
181
|
+
}
|
|
182
|
+
const REPAIR_TEMPLATE_MARKERS = /\bexample-wf\b|\bexample-step\b|\bcapability-id\b|\banchor-step\b|\bremove-step\b|\btarget-step\b|\bnew-step\b|"Example label"/;
|
|
183
|
+
/** Replace neutral repair-template tokens with values from the current patch context. @category Harness */
|
|
184
|
+
export function substitutePatchRepairTemplate(raw, workflowId, targetStepId, requestedLabel) {
|
|
185
|
+
if (!REPAIR_TEMPLATE_MARKERS.test(raw))
|
|
186
|
+
return raw;
|
|
187
|
+
let result = raw;
|
|
188
|
+
if (workflowId) {
|
|
189
|
+
result = result.replace(/\bexample-wf\b/g, workflowId);
|
|
190
|
+
result = result.replace(/^PATCH WORKFLOW example-step\b/gim, `PATCH WORKFLOW ${workflowId}`);
|
|
191
|
+
}
|
|
192
|
+
if (targetStepId) {
|
|
193
|
+
result = result.replace(/\bexample-step\b/g, targetStepId);
|
|
194
|
+
}
|
|
195
|
+
if (requestedLabel) {
|
|
196
|
+
result = result.replace(/"Example label"/g, `"${requestedLabel}"`);
|
|
197
|
+
}
|
|
198
|
+
return result;
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=normalize-patch-eql-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-patch-eql-output.js","sourceRoot":"","sources":["../../../src/harness/authoring/normalize-patch-eql-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-workflow-output.d.ts","sourceRoot":"","sources":["../../../src/harness/authoring/normalize-workflow-output.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAoC7E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { LATEST_ECP_VERSION } from "@executioncontrolprotocol/types";
|
|
2
|
+
/**
|
|
3
|
+
* Normalize common model JSON mistakes before workflow validation.
|
|
4
|
+
* @category Harness
|
|
5
|
+
*/
|
|
6
|
+
export function normalizeWorkflowDocumentCandidate(document) {
|
|
7
|
+
if (document === null || typeof document !== "object" || Array.isArray(document)) {
|
|
8
|
+
return document;
|
|
9
|
+
}
|
|
10
|
+
const record = document;
|
|
11
|
+
const workflow = record.workflow !== null && typeof record.workflow === "object" && !Array.isArray(record.workflow)
|
|
12
|
+
? record.workflow
|
|
13
|
+
: undefined;
|
|
14
|
+
let steps = record.steps;
|
|
15
|
+
let workflowMeta = workflow;
|
|
16
|
+
if (workflow && Array.isArray(workflow.steps) && steps === undefined) {
|
|
17
|
+
const { steps: nestedSteps, ...rest } = workflow;
|
|
18
|
+
steps = nestedSteps;
|
|
19
|
+
workflowMeta = rest;
|
|
20
|
+
}
|
|
21
|
+
const normalized = {
|
|
22
|
+
...record,
|
|
23
|
+
schema: record.schema ?? "@executioncontrolprotocol.workflow",
|
|
24
|
+
version: record.version ?? LATEST_ECP_VERSION,
|
|
25
|
+
};
|
|
26
|
+
if (workflowMeta !== undefined) {
|
|
27
|
+
normalized.workflow = workflowMeta;
|
|
28
|
+
}
|
|
29
|
+
if (steps !== undefined) {
|
|
30
|
+
normalized.steps = Array.isArray(steps)
|
|
31
|
+
? steps.map((step) => normalizeWorkflowStepCandidate(step))
|
|
32
|
+
: steps;
|
|
33
|
+
}
|
|
34
|
+
return normalized;
|
|
35
|
+
}
|
|
36
|
+
function normalizeWorkflowStepCandidate(step) {
|
|
37
|
+
if (step === null || typeof step !== "object" || Array.isArray(step)) {
|
|
38
|
+
return step;
|
|
39
|
+
}
|
|
40
|
+
const record = step;
|
|
41
|
+
let next = record;
|
|
42
|
+
if (record.input === undefined && record.inputs !== undefined) {
|
|
43
|
+
const { inputs, ...rest } = record;
|
|
44
|
+
next = { ...rest, input: inputs };
|
|
45
|
+
}
|
|
46
|
+
if (next.uses !== undefined && next.type === undefined) {
|
|
47
|
+
return { type: "step", ...next };
|
|
48
|
+
}
|
|
49
|
+
return next;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=normalize-workflow-output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-workflow-output.js","sourceRoot":"","sources":["../../../src/harness/authoring/normalize-workflow-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAAC,QAAiB;IAClE,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,QAAmC,CAAA;IAClD,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChG,CAAC,CAAE,MAAM,CAAC,QAAoC;QAC9C,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IACxB,IAAI,YAAY,GAAG,QAAQ,CAAA;IAE3B,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACrE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAA;QAChD,KAAK,GAAG,WAAW,CAAA;QACnB,YAAY,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,MAAM,UAAU,GAA4B;QAC1C,GAAG,MAAM;QACT,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,oCAAoC;QAC7D,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,kBAAkB;KAC9C,CAAA;IAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAA;IACpC,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAa;IACnD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,MAAM,GAAG,IAA+B,CAAA;IAC9C,IAAI,IAAI,GAA4B,MAAM,CAAA;IAC1C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QAClC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IACnC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { HarnessOperationFeedback, ValidationIssue } from "@executioncontrolprotocol/types";
|
|
2
|
+
/**
|
|
3
|
+
* Format structured harness feedback for model repair prompts.
|
|
4
|
+
* @category Harness
|
|
5
|
+
*/
|
|
6
|
+
export declare function formatFeedbackForModel(feedback: HarnessOperationFeedback[]): string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Compact repair instructions for small models (avoids echoing long prose).
|
|
9
|
+
* @category Harness
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatStructuredRepairForModel(feedback: HarnessOperationFeedback[]): string | undefined;
|
|
12
|
+
/** Default max chars for prior assistant output in repair dialog prompts. @category Harness */
|
|
13
|
+
export declare const HARNESS_REPAIR_PRIOR_OUTPUT_MAX_CHARS = 800;
|
|
14
|
+
/** Options for {@link formatModelRepairDialogLines}. @category Harness */
|
|
15
|
+
export interface ModelRepairDialogOptions {
|
|
16
|
+
/** When true, include truncated prior model output before repair feedback. */
|
|
17
|
+
includePriorOutput?: boolean;
|
|
18
|
+
/** Max chars for {@link ModelRepairDialogOptions.priorRaw} (default {@link HARNESS_REPAIR_PRIOR_OUTPUT_MAX_CHARS}). */
|
|
19
|
+
priorOutputMaxChars?: number;
|
|
20
|
+
/** Raw model output from the immediately preceding failed attempt. */
|
|
21
|
+
priorRaw?: string;
|
|
22
|
+
/** Structured validation feedback (bullets or prose). */
|
|
23
|
+
repairFeedback?: string;
|
|
24
|
+
/** Fixture-specific repair hint appended after feedback. */
|
|
25
|
+
repairHint?: string;
|
|
26
|
+
/** Lead line shown before repair feedback. */
|
|
27
|
+
repairLead: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Truncate prior model output for repair dialog prompts.
|
|
31
|
+
* @category Harness
|
|
32
|
+
*/
|
|
33
|
+
export declare function truncatePriorModelOutput(raw: string, maxChars?: number): string;
|
|
34
|
+
/**
|
|
35
|
+
* Build repair prompt lines with optional mini-dialog (prior assistant output + follow-up).
|
|
36
|
+
* @category Harness
|
|
37
|
+
*/
|
|
38
|
+
export declare function formatModelRepairDialogLines(options: ModelRepairDialogOptions): string[];
|
|
39
|
+
/** True when model copied the neutral repair template instead of substituting real ids. */
|
|
40
|
+
export declare function isRepairTemplateEcho(raw: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* True when model output looks like echoed validation/repair text, not a document.
|
|
43
|
+
* @category Harness
|
|
44
|
+
*/
|
|
45
|
+
export declare function isRepairFeedbackEcho(raw: string, formattedFeedback?: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Detect echo from structured issues only.
|
|
48
|
+
* @category Harness
|
|
49
|
+
*/
|
|
50
|
+
export declare function isIssuesOnlyOutput(raw: string, issues: ValidationIssue[]): boolean;
|
|
51
|
+
//# sourceMappingURL=presentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../../src/harness/authoring/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEhG;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,wBAAwB,EAAE,GAAG,MAAM,GAAG,SAAS,CAS/F;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,wBAAwB,EAAE,GACnC,MAAM,GAAG,SAAS,CASpB;AAED,+FAA+F;AAC/F,eAAO,MAAM,qCAAqC,MAAM,CAAA;AAExD,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,uHAAuH;IACvH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAA8C,GACvD,MAAM,CAMR;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,EAAE,CAiCxF;AAKD,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CA0CT;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAKlF"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format structured harness feedback for model repair prompts.
|
|
3
|
+
* @category Harness
|
|
4
|
+
*/
|
|
5
|
+
export function formatFeedbackForModel(feedback) {
|
|
6
|
+
const issues = feedback.flatMap((f) => f.issues);
|
|
7
|
+
if (issues.length === 0)
|
|
8
|
+
return undefined;
|
|
9
|
+
const lines = [];
|
|
10
|
+
for (const issue of issues) {
|
|
11
|
+
const code = issue.code ? ` [${issue.code}]` : "";
|
|
12
|
+
lines.push(issue.path ? `${issue.path}: ${issue.message}${code}` : `${issue.message}${code}`);
|
|
13
|
+
}
|
|
14
|
+
return lines.join("; ");
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Compact repair instructions for small models (avoids echoing long prose).
|
|
18
|
+
* @category Harness
|
|
19
|
+
*/
|
|
20
|
+
export function formatStructuredRepairForModel(feedback) {
|
|
21
|
+
const issues = feedback.flatMap((f) => f.issues);
|
|
22
|
+
if (issues.length === 0)
|
|
23
|
+
return undefined;
|
|
24
|
+
const bullets = issues.map((issue) => {
|
|
25
|
+
const code = issue.code ? ` (${issue.code})` : "";
|
|
26
|
+
const path = issue.path ? `${issue.path}: ` : "";
|
|
27
|
+
return `- ${path}${issue.message}${code}`;
|
|
28
|
+
});
|
|
29
|
+
return ["Fix the document (EQL only — do not repeat these lines):", ...bullets].join("\n");
|
|
30
|
+
}
|
|
31
|
+
/** Default max chars for prior assistant output in repair dialog prompts. @category Harness */
|
|
32
|
+
export const HARNESS_REPAIR_PRIOR_OUTPUT_MAX_CHARS = 800;
|
|
33
|
+
/**
|
|
34
|
+
* Truncate prior model output for repair dialog prompts.
|
|
35
|
+
* @category Harness
|
|
36
|
+
*/
|
|
37
|
+
export function truncatePriorModelOutput(raw, maxChars = HARNESS_REPAIR_PRIOR_OUTPUT_MAX_CHARS) {
|
|
38
|
+
const trimmed = raw.trim();
|
|
39
|
+
if (trimmed.length <= maxChars) {
|
|
40
|
+
return trimmed;
|
|
41
|
+
}
|
|
42
|
+
return `${trimmed.slice(0, maxChars)}\n... [truncated]`;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Build repair prompt lines with optional mini-dialog (prior assistant output + follow-up).
|
|
46
|
+
* @category Harness
|
|
47
|
+
*/
|
|
48
|
+
export function formatModelRepairDialogLines(options) {
|
|
49
|
+
const { repairFeedback, repairHint, repairLead } = options;
|
|
50
|
+
if (!repairFeedback && !repairHint) {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
const lines = [];
|
|
54
|
+
const prior = options.priorRaw?.trim();
|
|
55
|
+
if (options.includePriorOutput && prior) {
|
|
56
|
+
lines.push("--- Your previous output (fix it; do not copy validation errors verbatim) ---", truncatePriorModelOutput(prior, options.priorOutputMaxChars), "--- End previous output ---", "");
|
|
57
|
+
}
|
|
58
|
+
if (repairFeedback) {
|
|
59
|
+
const lead = options.includePriorOutput && prior
|
|
60
|
+
? `Follow-up: ${repairLead}`
|
|
61
|
+
: repairLead;
|
|
62
|
+
lines.push(lead, repairFeedback);
|
|
63
|
+
}
|
|
64
|
+
else if (options.includePriorOutput && prior) {
|
|
65
|
+
lines.push(`Follow-up: ${repairLead}`);
|
|
66
|
+
}
|
|
67
|
+
if (repairHint) {
|
|
68
|
+
lines.push(repairHint);
|
|
69
|
+
}
|
|
70
|
+
return lines;
|
|
71
|
+
}
|
|
72
|
+
const REPAIR_TEMPLATE_MARKERS = /\bexample-wf\b|\bexample-step\b|\bcapability-id\b|\banchor-step\b|\bremove-step\b|\btarget-step\b|\bnew-step\b|"Example label"/;
|
|
73
|
+
/** True when model copied the neutral repair template instead of substituting real ids. */
|
|
74
|
+
export function isRepairTemplateEcho(raw) {
|
|
75
|
+
return REPAIR_TEMPLATE_MARKERS.test(raw);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* True when model output looks like echoed validation/repair text, not a document.
|
|
79
|
+
* @category Harness
|
|
80
|
+
*/
|
|
81
|
+
export function isRepairFeedbackEcho(raw, formattedFeedback) {
|
|
82
|
+
const text = raw.trim();
|
|
83
|
+
if (!text)
|
|
84
|
+
return false;
|
|
85
|
+
if (formattedFeedback && text === formattedFeedback.trim())
|
|
86
|
+
return true;
|
|
87
|
+
if (/^Fix the document/i.test(text) && !/^\{/.test(text) && !/^schema:/m.test(text)) {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
if (/PATCH WORKFLOW then workflow id/i.test(text) ||
|
|
91
|
+
/PATCH WORKFLOW with the workflow id/i.test(text) ||
|
|
92
|
+
/PATCH WORKFLOW <workflow-id>/i.test(text) ||
|
|
93
|
+
/PATCH WORKFLOW label:/i.test(text) ||
|
|
94
|
+
/change with UPDATE WORKFLOW LABEL, not UPDATE STEP/i.test(text) ||
|
|
95
|
+
/UPDATE STEP step-id/i.test(text) ||
|
|
96
|
+
/Repair syntax example only/i.test(text) ||
|
|
97
|
+
/\bexample-wf\b/.test(text) ||
|
|
98
|
+
/^Use MOVE STEP for reorder/i.test(text) ||
|
|
99
|
+
/^Substitute ids and labels/i.test(text)) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
if (/intent must be one of:/i.test(text) && !/^INTENT\s+\S+/i.test(text.split("\n")[0] ?? "")) {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
if (/PATCH WORKFLOW \S+\s+then only required/i.test(text)) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
if ((text.match(/^WORKFLOW /gm) ?? []).length > 1) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
const feedbackProse = /Workflow must include steps|Missing uses:|MODEL_OUTPUT_INVALID|Do not repeat error|Add \d+ more step/i;
|
|
112
|
+
const firstLine = text.split("\n")[0] ?? "";
|
|
113
|
+
const documentStart = /^(?:WORKFLOW \S|PATCH WORKFLOW \S|INTENT \S|REPLY$|STEP \S+ USES)/.test(firstLine) ||
|
|
114
|
+
/^(?:```|schema:\s*@executioncontrolprotocol\.|"schema"\s*:|workflow:\s*@executioncontrolprotocol\.|\{\s*"schema")/i.test(firstLine);
|
|
115
|
+
if (feedbackProse.test(text) && !documentStart) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
const echoPattern = /(?:workflow|steps|targetSchema|patches|schema):\s*(?:Required|Invalid)/i;
|
|
119
|
+
return echoPattern.test(text) && !documentStart;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Detect echo from structured issues only.
|
|
123
|
+
* @category Harness
|
|
124
|
+
*/
|
|
125
|
+
export function isIssuesOnlyOutput(raw, issues) {
|
|
126
|
+
const formatted = issues
|
|
127
|
+
.map((i) => (i.path ? `${i.path}: ${i.message}` : i.message))
|
|
128
|
+
.join("; ");
|
|
129
|
+
return formatted.length > 0 && isRepairFeedbackEcho(raw, formatted);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=presentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation.js","sourceRoot":"","sources":["../../../src/harness/authoring/presentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Context for rebuilding patch EQL from an unambiguous user request. @category Harness */
|
|
2
|
+
export interface StructuredPatchRecoveryContext {
|
|
3
|
+
/** Natural-language patch request. */
|
|
4
|
+
request: string;
|
|
5
|
+
/** Baseline workflow id. */
|
|
6
|
+
workflowId: string;
|
|
7
|
+
/** Existing step ids in the baseline workflow. */
|
|
8
|
+
stepIds: readonly string[];
|
|
9
|
+
/** Capability ids named explicitly in the request. */
|
|
10
|
+
capabilityIds?: readonly string[];
|
|
11
|
+
/** Inferred target step id, when any. */
|
|
12
|
+
targetStepId?: string;
|
|
13
|
+
/** Explicit label text from the request, when any. */
|
|
14
|
+
requestedLabel?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Rebuild patch EQL for unambiguous ADD, DELETE, workflow-label, step-label, and input-value requests.
|
|
18
|
+
* @category Harness
|
|
19
|
+
*/
|
|
20
|
+
export declare function recoverStructuredPatchFromRequest(raw: string, context: StructuredPatchRecoveryContext): string | undefined;
|
|
21
|
+
//# sourceMappingURL=recover-structured-patch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recover-structured-patch.d.ts","sourceRoot":"","sources":["../../../src/harness/authoring/recover-structured-patch.ts"],"names":[],"mappings":"AAEA,2FAA2F;AAC3F,MAAM,WAAW,8BAA8B;IAC7C,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,sDAAsD;IACtD,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAgQD;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,8BAA8B,GACtC,MAAM,GAAG,SAAS,CAoBpB"}
|