@xyne/workflow-sdk 1.0.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 +36 -0
- package/dist/agents/agent-step.d.ts +152 -0
- package/dist/agents/agent-step.d.ts.map +1 -0
- package/dist/agents/agent-step.js +403 -0
- package/dist/agents/agent-step.js.map +1 -0
- package/dist/agents/base-runtime.d.ts +38 -0
- package/dist/agents/base-runtime.d.ts.map +1 -0
- package/dist/agents/base-runtime.js +21 -0
- package/dist/agents/base-runtime.js.map +1 -0
- package/dist/agents/index.d.ts +12 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +17 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/interceptor.d.ts +19 -0
- package/dist/agents/interceptor.d.ts.map +1 -0
- package/dist/agents/interceptor.js +21 -0
- package/dist/agents/interceptor.js.map +1 -0
- package/dist/agents/interceptors/approval-gate.d.ts +14 -0
- package/dist/agents/interceptors/approval-gate.d.ts.map +1 -0
- package/dist/agents/interceptors/approval-gate.js +19 -0
- package/dist/agents/interceptors/approval-gate.js.map +1 -0
- package/dist/agents/interceptors/tool-logger.d.ts +15 -0
- package/dist/agents/interceptors/tool-logger.d.ts.map +1 -0
- package/dist/agents/interceptors/tool-logger.js +23 -0
- package/dist/agents/interceptors/tool-logger.js.map +1 -0
- package/dist/agents/pi-mono-runtime.d.ts +88 -0
- package/dist/agents/pi-mono-runtime.d.ts.map +1 -0
- package/dist/agents/pi-mono-runtime.js +129 -0
- package/dist/agents/pi-mono-runtime.js.map +1 -0
- package/dist/agents/tool-registry.d.ts +25 -0
- package/dist/agents/tool-registry.d.ts.map +1 -0
- package/dist/agents/tool-registry.js +47 -0
- package/dist/agents/tool-registry.js.map +1 -0
- package/dist/agents/tool-types.d.ts +25 -0
- package/dist/agents/tool-types.d.ts.map +1 -0
- package/dist/agents/tool-types.js +9 -0
- package/dist/agents/tool-types.js.map +1 -0
- package/dist/agents/types.d.ts +91 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +12 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/builder/index.d.ts +30 -0
- package/dist/builder/index.d.ts.map +1 -0
- package/dist/builder/index.js +32 -0
- package/dist/builder/index.js.map +1 -0
- package/dist/client/index.d.ts +19 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +18 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/types.d.ts +128 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +10 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client/workflow-client.d.ts +15 -0
- package/dist/client/workflow-client.d.ts.map +1 -0
- package/dist/client/workflow-client.js +293 -0
- package/dist/client/workflow-client.js.map +1 -0
- package/dist/common/attachment.d.ts +31 -0
- package/dist/common/attachment.d.ts.map +1 -0
- package/dist/common/attachment.js +21 -0
- package/dist/common/attachment.js.map +1 -0
- package/dist/common/executable-check.d.ts +42 -0
- package/dist/common/executable-check.d.ts.map +1 -0
- package/dist/common/executable-check.js +115 -0
- package/dist/common/executable-check.js.map +1 -0
- package/dist/common/index.d.ts +21 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +19 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/resume-payload.d.ts +34 -0
- package/dist/common/resume-payload.d.ts.map +1 -0
- package/dist/common/resume-payload.js +12 -0
- package/dist/common/resume-payload.js.map +1 -0
- package/dist/engine/available-context.d.ts +29 -0
- package/dist/engine/available-context.d.ts.map +1 -0
- package/dist/engine/available-context.js +66 -0
- package/dist/engine/available-context.js.map +1 -0
- package/dist/engine/condition-evaluator.d.ts +13 -0
- package/dist/engine/condition-evaluator.d.ts.map +1 -0
- package/dist/engine/condition-evaluator.js +92 -0
- package/dist/engine/condition-evaluator.js.map +1 -0
- package/dist/engine/config-validator.d.ts +25 -0
- package/dist/engine/config-validator.d.ts.map +1 -0
- package/dist/engine/config-validator.js +316 -0
- package/dist/engine/config-validator.js.map +1 -0
- package/dist/engine/pause-step.d.ts +20 -0
- package/dist/engine/pause-step.d.ts.map +1 -0
- package/dist/engine/pause-step.js +24 -0
- package/dist/engine/pause-step.js.map +1 -0
- package/dist/engine/service-registry.d.ts +49 -0
- package/dist/engine/service-registry.d.ts.map +1 -0
- package/dist/engine/service-registry.js +76 -0
- package/dist/engine/service-registry.js.map +1 -0
- package/dist/engine/variable-resolver.d.ts +29 -0
- package/dist/engine/variable-resolver.d.ts.map +1 -0
- package/dist/engine/variable-resolver.js +130 -0
- package/dist/engine/variable-resolver.js.map +1 -0
- package/dist/engine/workflow-executor.d.ts +96 -0
- package/dist/engine/workflow-executor.d.ts.map +1 -0
- package/dist/engine/workflow-executor.js +837 -0
- package/dist/engine/workflow-executor.js.map +1 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/persistence/in-memory-adapter.d.ts +138 -0
- package/dist/persistence/in-memory-adapter.d.ts.map +1 -0
- package/dist/persistence/in-memory-adapter.js +315 -0
- package/dist/persistence/in-memory-adapter.js.map +1 -0
- package/dist/persistence/types.d.ts +214 -0
- package/dist/persistence/types.d.ts.map +1 -0
- package/dist/persistence/types.js +8 -0
- package/dist/persistence/types.js.map +1 -0
- package/dist/router/types.d.ts +57 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +8 -0
- package/dist/router/types.js.map +1 -0
- package/dist/router/workflow-router.d.ts +26 -0
- package/dist/router/workflow-router.d.ts.map +1 -0
- package/dist/router/workflow-router.js +611 -0
- package/dist/router/workflow-router.js.map +1 -0
- package/dist/runtime/execution-event-bus.d.ts +38 -0
- package/dist/runtime/execution-event-bus.d.ts.map +1 -0
- package/dist/runtime/execution-event-bus.js +87 -0
- package/dist/runtime/execution-event-bus.js.map +1 -0
- package/dist/runtime/types.d.ts +129 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +5 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/runtime/workflow-runtime.d.ts +256 -0
- package/dist/runtime/workflow-runtime.d.ts.map +1 -0
- package/dist/runtime/workflow-runtime.js +699 -0
- package/dist/runtime/workflow-runtime.js.map +1 -0
- package/dist/steps/base-step.d.ts +204 -0
- package/dist/steps/base-step.d.ts.map +1 -0
- package/dist/steps/base-step.js +69 -0
- package/dist/steps/base-step.js.map +1 -0
- package/dist/steps/builtin/code.step.d.ts +95 -0
- package/dist/steps/builtin/code.step.d.ts.map +1 -0
- package/dist/steps/builtin/code.step.js +122 -0
- package/dist/steps/builtin/code.step.js.map +1 -0
- package/dist/steps/builtin/conditional.step.d.ts +146 -0
- package/dist/steps/builtin/conditional.step.d.ts.map +1 -0
- package/dist/steps/builtin/conditional.step.js +71 -0
- package/dist/steps/builtin/conditional.step.js.map +1 -0
- package/dist/steps/builtin/dedup.step.d.ts +65 -0
- package/dist/steps/builtin/dedup.step.d.ts.map +1 -0
- package/dist/steps/builtin/dedup.step.js +61 -0
- package/dist/steps/builtin/dedup.step.js.map +1 -0
- package/dist/steps/builtin/http-request.step.d.ts +928 -0
- package/dist/steps/builtin/http-request.step.d.ts.map +1 -0
- package/dist/steps/builtin/http-request.step.js +570 -0
- package/dist/steps/builtin/http-request.step.js.map +1 -0
- package/dist/steps/builtin/loop.step.d.ts +100 -0
- package/dist/steps/builtin/loop.step.d.ts.map +1 -0
- package/dist/steps/builtin/loop.step.js +79 -0
- package/dist/steps/builtin/loop.step.js.map +1 -0
- package/dist/steps/builtin/parallel.step.d.ts +208 -0
- package/dist/steps/builtin/parallel.step.d.ts.map +1 -0
- package/dist/steps/builtin/parallel.step.js +249 -0
- package/dist/steps/builtin/parallel.step.js.map +1 -0
- package/dist/steps/builtin/switch.step.d.ts +200 -0
- package/dist/steps/builtin/switch.step.d.ts.map +1 -0
- package/dist/steps/builtin/switch.step.js +92 -0
- package/dist/steps/builtin/switch.step.js.map +1 -0
- package/dist/steps/builtin/transform.step.d.ts +247 -0
- package/dist/steps/builtin/transform.step.d.ts.map +1 -0
- package/dist/steps/builtin/transform.step.js +135 -0
- package/dist/steps/builtin/transform.step.js.map +1 -0
- package/dist/steps/builtin/wait.step.d.ts +921 -0
- package/dist/steps/builtin/wait.step.d.ts.map +1 -0
- package/dist/steps/builtin/wait.step.js +211 -0
- package/dist/steps/builtin/wait.step.js.map +1 -0
- package/dist/steps/step-registry.d.ts +64 -0
- package/dist/steps/step-registry.d.ts.map +1 -0
- package/dist/steps/step-registry.js +102 -0
- package/dist/steps/step-registry.js.map +1 -0
- package/dist/storage/in-memory-adapter.d.ts +25 -0
- package/dist/storage/in-memory-adapter.d.ts.map +1 -0
- package/dist/storage/in-memory-adapter.js +41 -0
- package/dist/storage/in-memory-adapter.js.map +1 -0
- package/dist/storage/types.d.ts +53 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +13 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/testing/index.d.ts +10 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +10 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-context.d.ts +13 -0
- package/dist/testing/mock-context.d.ts.map +1 -0
- package/dist/testing/mock-context.js +21 -0
- package/dist/testing/mock-context.js.map +1 -0
- package/dist/testing/mock-step-context.d.ts +47 -0
- package/dist/testing/mock-step-context.d.ts.map +1 -0
- package/dist/testing/mock-step-context.js +59 -0
- package/dist/testing/mock-step-context.js.map +1 -0
- package/dist/triggers/base-trigger.d.ts +58 -0
- package/dist/triggers/base-trigger.d.ts.map +1 -0
- package/dist/triggers/base-trigger.js +37 -0
- package/dist/triggers/base-trigger.js.map +1 -0
- package/dist/triggers/builtin/default-cron-trigger.d.ts +44 -0
- package/dist/triggers/builtin/default-cron-trigger.d.ts.map +1 -0
- package/dist/triggers/builtin/default-cron-trigger.js +31 -0
- package/dist/triggers/builtin/default-cron-trigger.js.map +1 -0
- package/dist/triggers/builtin/default-event-trigger.d.ts +32 -0
- package/dist/triggers/builtin/default-event-trigger.d.ts.map +1 -0
- package/dist/triggers/builtin/default-event-trigger.js +21 -0
- package/dist/triggers/builtin/default-event-trigger.js.map +1 -0
- package/dist/triggers/builtin/default-manual-trigger.d.ts +119 -0
- package/dist/triggers/builtin/default-manual-trigger.d.ts.map +1 -0
- package/dist/triggers/builtin/default-manual-trigger.js +64 -0
- package/dist/triggers/builtin/default-manual-trigger.js.map +1 -0
- package/dist/triggers/builtin/default-webhook-trigger.d.ts +72 -0
- package/dist/triggers/builtin/default-webhook-trigger.d.ts.map +1 -0
- package/dist/triggers/builtin/default-webhook-trigger.js +91 -0
- package/dist/triggers/builtin/default-webhook-trigger.js.map +1 -0
- package/dist/triggers/cron-trigger.d.ts +52 -0
- package/dist/triggers/cron-trigger.d.ts.map +1 -0
- package/dist/triggers/cron-trigger.js +15 -0
- package/dist/triggers/cron-trigger.js.map +1 -0
- package/dist/triggers/event-trigger.d.ts +14 -0
- package/dist/triggers/event-trigger.d.ts.map +1 -0
- package/dist/triggers/event-trigger.js +13 -0
- package/dist/triggers/event-trigger.js.map +1 -0
- package/dist/triggers/manual-trigger.d.ts +11 -0
- package/dist/triggers/manual-trigger.d.ts.map +1 -0
- package/dist/triggers/manual-trigger.js +10 -0
- package/dist/triggers/manual-trigger.js.map +1 -0
- package/dist/triggers/trigger-registry.d.ts +48 -0
- package/dist/triggers/trigger-registry.d.ts.map +1 -0
- package/dist/triggers/trigger-registry.js +81 -0
- package/dist/triggers/trigger-registry.js.map +1 -0
- package/dist/triggers/webhook-trigger.d.ts +54 -0
- package/dist/triggers/webhook-trigger.d.ts.map +1 -0
- package/dist/triggers/webhook-trigger.js +13 -0
- package/dist/triggers/webhook-trigger.js.map +1 -0
- package/dist/types/attachment.d.ts +23 -0
- package/dist/types/attachment.d.ts.map +1 -0
- package/dist/types/attachment.js +2 -0
- package/dist/types/attachment.js.map +1 -0
- package/dist/types/categories.d.ts +14 -0
- package/dist/types/categories.d.ts.map +1 -0
- package/dist/types/categories.js +10 -0
- package/dist/types/categories.js.map +1 -0
- package/dist/types/context.d.ts +61 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +2 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +12 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/known-types.d.ts +34 -0
- package/dist/types/known-types.d.ts.map +1 -0
- package/dist/types/known-types.js +49 -0
- package/dist/types/known-types.js.map +1 -0
- package/dist/types/operators.d.ts +20 -0
- package/dist/types/operators.d.ts.map +1 -0
- package/dist/types/operators.js +27 -0
- package/dist/types/operators.js.map +1 -0
- package/dist/types/pause-path.d.ts +23 -0
- package/dist/types/pause-path.d.ts.map +1 -0
- package/dist/types/pause-path.js +2 -0
- package/dist/types/pause-path.js.map +1 -0
- package/dist/types/pause-state.d.ts +100 -0
- package/dist/types/pause-state.d.ts.map +1 -0
- package/dist/types/pause-state.js +15 -0
- package/dist/types/pause-state.js.map +1 -0
- package/dist/types/resume-payload.d.ts +34 -0
- package/dist/types/resume-payload.d.ts.map +1 -0
- package/dist/types/resume-payload.js +12 -0
- package/dist/types/resume-payload.js.map +1 -0
- package/dist/types/status.d.ts +27 -0
- package/dist/types/status.d.ts.map +1 -0
- package/dist/types/status.js +41 -0
- package/dist/types/status.js.map +1 -0
- package/dist/types/step-events.d.ts +22 -0
- package/dist/types/step-events.d.ts.map +1 -0
- package/dist/types/step-events.js +8 -0
- package/dist/types/step-events.js.map +1 -0
- package/dist/types/step-types.d.ts +12 -0
- package/dist/types/step-types.d.ts.map +1 -0
- package/dist/types/step-types.js +2 -0
- package/dist/types/step-types.js.map +1 -0
- package/dist/types/trigger-types.d.ts +12 -0
- package/dist/types/trigger-types.d.ts.map +1 -0
- package/dist/types/trigger-types.js +2 -0
- package/dist/types/trigger-types.js.map +1 -0
- package/dist/types/validation.d.ts +19 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +11 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/types/workflow-config.d.ts +122 -0
- package/dist/types/workflow-config.d.ts.map +1 -0
- package/dist/types/workflow-config.js +71 -0
- package/dist/types/workflow-config.js.map +1 -0
- package/dist/util/executable-check.d.ts +42 -0
- package/dist/util/executable-check.d.ts.map +1 -0
- package/dist/util/executable-check.js +115 -0
- package/dist/util/executable-check.js.map +1 -0
- package/dist/util/schema-convert.d.ts +14 -0
- package/dist/util/schema-convert.d.ts.map +1 -0
- package/dist/util/schema-convert.js +16 -0
- package/dist/util/schema-convert.js.map +1 -0
- package/dist/util/variable-ref.d.ts +52 -0
- package/dist/util/variable-ref.d.ts.map +1 -0
- package/dist/util/variable-ref.js +89 -0
- package/dist/util/variable-ref.js.map +1 -0
- package/package.json +97 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-runtime.js","sourceRoot":"","sources":["../../src/runtime/workflow-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAiBhE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,kBAAkB;AAElB,MAAM,UAAU,GAAmB;IACjC,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAC;AAEF,SAAS,cAAc;IACrB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAkB;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAmB,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,MAAyB;IAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACxD,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0BAA0B;AAE1B,MAAM,OAAO,eAAe;IAGT,WAAW,CAAqB;IAChC,KAAK,CAAe;IACpB,SAAS,CAAmB;IAC5B,QAAQ,CAA6B;IAC7C,KAAK,CAAe;IACpB,QAAQ,CAAkB;IAClB,QAAQ,CAA8B;IACtC,GAAG,CAAiB;IACpB,OAAO,CAAS;IACjC,qEAAqE;IAC5D,QAAQ,CAAiC;IAClD,oEAAoE;IAC3D,OAAO,CAA8B;IAC9C,8EAA8E;IACrE,sBAAsB,CAAU;IACzC,8DAA8D;IACrD,mBAAmB,CAAS;IAErC,YAAY,IAA+B;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,IAAI,KAAK,CAAC;QACrE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,cAAc,CAAC;IAC1E,CAAC;IAED,qBAAqB;IAErB;;;;;;OAMG;IACH,cAAc,CAAC,MAAsB;QACnC,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,6BAA6B;IAE7B;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,iBAAiB,MAAM,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAC1D,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,OAAO,YAAY,cAAc,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,aAAa,UAAU,IAAI,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAElE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;gBACtE,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC9C,UAAU,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI;oBAC/B,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,0CAA0C,UAAU,EAAE,CACvD,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;YAC1C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAC3B,UAAU,EACV,UAAU,EACV,IAAI,CAAC,mBAAmB,CACzB,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,uCAAuC,UAAU,KAAK,UAAU,KAAK,IAAI,CAAC,mBAAmB,GAAG,CACjG,CAAC;QACJ,CAAC;QACD,uDAAuD;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO;QAEpD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,OAAO,YAAY,cAAc,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;gBACtE,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;oBAChD,UAAU,EAAE,EAAE;oBACd,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,4CAA4C,UAAU,EAAE,CACzD,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,yCAAyC,UAAU,EAAE,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mCAAmC;IAEnC;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAA2B;YACrC,UAAU;YACV,MAAM,EAAE,cAAc,EAAE;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAC1B,UAAkB;QAElB,OAAO,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,MAAc,EAAE,WAAoB;QACvD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,kBAAkB,MAAM,EAAE,CAAC;QACvD,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,gBAAgB,CAAC;IAC1E,CAAC;IAED,yBAAyB;IAEzB;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,KAAyB;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAC1D,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,QAAQ,CACf,CAAC;QACF,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,CAAC,OAAO,YAAY,YAAY,CAAC;gBAAE,SAAS;YAEjD,6CAA6C;YAC7C,IAAI,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,qDAAqD,QAAQ,CAAC,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxH,CAAC;oBACF,SAAS;gBACX,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAiC,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrF,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACnD,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,OAAO;aACX,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,OAAuB;QAKvB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;gBACL,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE;aACpE,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CACjD,aAAa,CAAC,UAAU,CACzB,CAAC;QACF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO;gBACL,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE;aACtE,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO;gBACL,WAAW,EAAE,EAAE;gBACf,YAAY,EAAE;oBACZ,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,EAAE,KAAK,EAAE,yCAAyC,EAAE;iBAC3D;aACF,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAC/D,OAAO,EACP,MAAM,CAAC,OAAO,CAAC,MAAM,CACtB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACnD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;YACzB,GAAG,WAAW;SACf,CAAC,CAAC;QAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,WAAmB,EACnB,IAAa;QAKb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9D,IACE,CAAC,IAAI;YACL,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;YACvC,IAAI,CAAC,MAAM,KAAK,eAAe,EAC/B,CAAC;YACD,qEAAqE;YACrE,0CAA0C;YAC1C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,CAAC;QACrE,CAAC;QAED,sEAAsE;QACtE,uEAAuE;QACvE,iBAAiB;QACjB,MAAM,IAAI,GAA4B,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5F,CAAC,CAAE,IAAgC;YACnC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAEb,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC7B,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;SAClC,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,OAAgC,EAChC,WAA0B;QAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;QAC5E,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAA0C,CAAC;QAEzF,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,WAAW,IAAI,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjE,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjF,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,QAAQ,yBAAyB,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;oBAC9E,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,sBAAsB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,yEAAyE;YACzE,0EAA0E;YAC1E,8DAA8D;QAChE,CAAC;QAED,MAAM,cAAc,GAA4B;YAC9C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;YACzB,GAAG,OAAO;SACX,CAAC;QACF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,cAAc,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,KAAmB;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,YAAY,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,aAAa,WAAW,2BAA2B,IAAI,CAAC,MAAM,GAAG,CAClE,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,MAAM,OAAO,GAAG,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QACzE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,WAAW,kBAAkB,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC;QAED,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,WAAW,kBAAkB,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,aAAa,CACjB,iBAAyB,EACzB,UAAkB,EAClB,OAGC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CACtD,iBAAiB,EACjB,UAAU,EACV,OAAO,CACR,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,gCAAgC;IAEhC;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,QAAiC;QAEjC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,KAIpB;QACC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,4BAA4B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;YAC/C,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YAClC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;SACrC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAEhE,4BAA4B;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,UAAkB,EAClB,KAIC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,YAAY,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,MAAM,GAIR,EAAE,CAAC;QAEP,4BAA4B;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,4BAA4B,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,CAAC;QAED,+CAA+C;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAA4B,CAAC;YACtF,IAAI,KAAK,CAAC,QAAQ;gBAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,YAAY,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;YAChE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAEjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAKpB;QACC,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,WAAmB;QAM1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEjE,6CAA6C;QAC7C,MAAM,MAAM,GAKR,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAmB,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACpE,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;gBACzD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChB,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,YAAY,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3F,MAAM,IAAI,KAAK,CACb,aAAa,WAAW,iCAAiC,IAAI,CAAC,MAAM,GAAG,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,WAAW,YAAY,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,QAAiC;QAEjC,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,QAAiC,EACjC,IAAY,EACZ,UAA2D;QAE3D,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACnE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,QAAiC,EACjC,IAAY;QAEZ,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,yBAAyB;IAEzB;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,WAAmB;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAE1C,IAAI,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,uBAAuB,IAAI,CAAC,MAAM,EAAE;aAC7C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAE9C,qCAAqC;YACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YAE3C,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;gBACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;YAC9D,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACjC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACjC,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACzD,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;YAClE,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,iDAAiD;gBACjD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAG,GAAiB,CAAC,OAAO,EAAE,CAAC;YAClE,CAAC;YAED,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,WAAW,YAAY,MAAM,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3D,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,OAAO,YAAY,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAA4B,CAAC;QAElF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrD,UAAU,EAAE;oBACV,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC;oBAC7D,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC;oBACxD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC;iBACrD;gBACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ;aACT,CAAC,CAAC;YAEH,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,CAAC,oBAAoB;YACpD,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACrC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;gBACzB,GAAG,IAAI;aACR,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY;YAClC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC7C,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAE1C,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YACrC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;YACzB,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IAEX,KAAK,CAAC,gBAAgB,CAC5B,QAAwB,EACxB,cAAuC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAA4B,CAAC;QAElF,MAAM,cAAc,GAAoB;YACtC,QAAQ,EAAE;gBACR,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,QAAQ;aACT;YACD,OAAO,EAAE,cAA4C;YACrD,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YACpD,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;SACxC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,qBAAqB,MAAM,iBAAiB,QAAQ,CAAC,EAAE,EAAE,CAC1D,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,QAAwB;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAA4B,CAAC;QAClF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAGV,EAAE,CAAC;QACP,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CACnD,QAAQ,EACR,IAAI,CAAC,IAAI,CACV,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { StepType } from '../types/step-types.js';
|
|
3
|
+
import type { StepCategory } from '../types/categories.js';
|
|
4
|
+
import type { WorkflowContext } from '../types/context.js';
|
|
5
|
+
import type { WorkflowStepConfig } from '../types/workflow-config.js';
|
|
6
|
+
import type { StepProgressEvent } from '../types/step-events.js';
|
|
7
|
+
import type { ServiceRegistry } from '../engine/service-registry.js';
|
|
8
|
+
/**
|
|
9
|
+
* Everything an action step receives at runtime.
|
|
10
|
+
*
|
|
11
|
+
* Generic `TServices` propagates the host's ServiceRegistry type map so steps
|
|
12
|
+
* can call `ctx.services.get('db')` with compile-time safety.
|
|
13
|
+
*/
|
|
14
|
+
export interface StepExecutionContext<TServices extends Record<string, unknown> = Record<string, unknown>> {
|
|
15
|
+
/** Full workflow context — trigger data + prior step outputs. */
|
|
16
|
+
readonly workflow: WorkflowContext;
|
|
17
|
+
/** Runtime metadata for the current execution. Host-defined via metadata. */
|
|
18
|
+
readonly runtime: {
|
|
19
|
+
readonly executionId: string;
|
|
20
|
+
/** The config-level step ID (e.g. "send_email_1"). */
|
|
21
|
+
readonly stepId: string;
|
|
22
|
+
readonly stepName: string;
|
|
23
|
+
readonly isResuming: boolean;
|
|
24
|
+
/** Opaque host metadata — workspaceId, tenantId, etc. */
|
|
25
|
+
readonly metadata: Record<string, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* Base URL the deployment is reachable at — sourced from
|
|
28
|
+
* `RuntimeConfig.baseUrl`. Steps building callback URLs (the wait
|
|
29
|
+
* step's webhook mode, for example) prepend this. Empty string when
|
|
30
|
+
* the host hasn't configured one.
|
|
31
|
+
*/
|
|
32
|
+
readonly baseUrl: string;
|
|
33
|
+
};
|
|
34
|
+
/** Registered domain services — steps access services through this. */
|
|
35
|
+
readonly services: ServiceRegistry<TServices>;
|
|
36
|
+
/** Resolved credentials for this step (empty if no credentialSlots declared). */
|
|
37
|
+
readonly credentials: Readonly<Record<string, {
|
|
38
|
+
type: string;
|
|
39
|
+
data: Record<string, unknown>;
|
|
40
|
+
}>>;
|
|
41
|
+
/** Persistent KV scoped to this workflow definition. */
|
|
42
|
+
readonly staticData: {
|
|
43
|
+
get(key: string): Promise<unknown>;
|
|
44
|
+
set(key: string, value: unknown): Promise<void>;
|
|
45
|
+
delete(key: string): Promise<void>;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Data from a prior execution of this step, present on:
|
|
49
|
+
* - review-gate retry within the same execution
|
|
50
|
+
* - cross-execution rerun via `rerunFromStep()`
|
|
51
|
+
*
|
|
52
|
+
* Opaque to the framework. Steps that care about continuity (e.g. agent steps)
|
|
53
|
+
* read this to reconstruct their state; others can ignore it.
|
|
54
|
+
*/
|
|
55
|
+
readonly priorState?: Readonly<Record<string, unknown>>;
|
|
56
|
+
/** Pause execution and wait for an external resume signal. Never returns. */
|
|
57
|
+
pause(reason: string, opts?: {
|
|
58
|
+
externalRef?: string;
|
|
59
|
+
statePatch?: Record<string, unknown>;
|
|
60
|
+
}): never;
|
|
61
|
+
/** Emit a progress event for real-time observability. Fire-and-forget. */
|
|
62
|
+
emit(event: StepProgressEvent): void;
|
|
63
|
+
/** Structured logger. */
|
|
64
|
+
readonly log: {
|
|
65
|
+
info(msg: string): void;
|
|
66
|
+
warn(msg: string): void;
|
|
67
|
+
error(msg: string): void;
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Extended context for control-flow steps — adds `walkBranch` for
|
|
72
|
+
* recursively executing nested step trees.
|
|
73
|
+
*/
|
|
74
|
+
export interface ControlFlowExecutionContext<TServices extends Record<string, unknown> = Record<string, unknown>> extends StepExecutionContext<TServices> {
|
|
75
|
+
walkBranch(steps: WorkflowStepConfig[], context: WorkflowContext, branchKey?: string): Promise<void>;
|
|
76
|
+
}
|
|
77
|
+
export declare enum StepKind {
|
|
78
|
+
ACTION = "action",
|
|
79
|
+
CONTROL = "control"
|
|
80
|
+
}
|
|
81
|
+
export interface CredentialSlot {
|
|
82
|
+
readonly name: string;
|
|
83
|
+
readonly types: readonly string[];
|
|
84
|
+
readonly required: boolean;
|
|
85
|
+
}
|
|
86
|
+
export interface DeclaredOutput {
|
|
87
|
+
readonly key: string;
|
|
88
|
+
readonly label: string;
|
|
89
|
+
}
|
|
90
|
+
export interface CredentialField {
|
|
91
|
+
readonly name: string;
|
|
92
|
+
readonly label: string;
|
|
93
|
+
readonly type: 'string' | 'password' | 'select';
|
|
94
|
+
readonly required: boolean;
|
|
95
|
+
readonly options?: readonly string[];
|
|
96
|
+
readonly default?: string;
|
|
97
|
+
}
|
|
98
|
+
export interface CredentialTypeSchema {
|
|
99
|
+
readonly type: string;
|
|
100
|
+
readonly label: string;
|
|
101
|
+
readonly fields: readonly CredentialField[];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Abstract base for all steps (action + control flow).
|
|
105
|
+
*
|
|
106
|
+
* Type parameters:
|
|
107
|
+
* - `TConfig` — Zod schema describing the step's config shape
|
|
108
|
+
* - `TOutput` — the output record produced by `execute()`
|
|
109
|
+
*/
|
|
110
|
+
export declare abstract class BaseStep<TConfig extends z.ZodTypeAny, TOutput extends Record<string, unknown> = Record<string, unknown>> {
|
|
111
|
+
abstract readonly kind: StepKind;
|
|
112
|
+
abstract readonly type: StepType;
|
|
113
|
+
abstract readonly configSchema: TConfig;
|
|
114
|
+
abstract readonly name: string;
|
|
115
|
+
abstract readonly description: string;
|
|
116
|
+
abstract readonly outputSchema: z.ZodTypeAny;
|
|
117
|
+
abstract readonly category: StepCategory;
|
|
118
|
+
readonly icon?: string;
|
|
119
|
+
/** Services this step needs — validated at registration time. */
|
|
120
|
+
readonly requiredServices?: readonly string[];
|
|
121
|
+
/** Credential slots this step declares — resolved before execute(). */
|
|
122
|
+
readonly credentialSlots?: readonly CredentialSlot[];
|
|
123
|
+
/** Output branches this step declares (for UI rendering + validation). */
|
|
124
|
+
readonly declaredOutputs?: readonly DeclaredOutput[];
|
|
125
|
+
/** Credential type schemas — defines what fields each credential type needs for UI rendering. */
|
|
126
|
+
readonly credentialTypeSchemas?: readonly CredentialTypeSchema[];
|
|
127
|
+
/** Validate raw config against the step's schema. */
|
|
128
|
+
validate(config: unknown): z.infer<TConfig>;
|
|
129
|
+
/**
|
|
130
|
+
* Customize the JSON Schema generated from configSchema for UI form rendering.
|
|
131
|
+
* Override to add field metadata, ordering, conditional visibility, etc.
|
|
132
|
+
* Default: return as-is.
|
|
133
|
+
*/
|
|
134
|
+
decorateConfigSchema(jsonSchema: Record<string, unknown>): Record<string, unknown>;
|
|
135
|
+
/**
|
|
136
|
+
* Resolve the output JSON Schema for a specific step instance.
|
|
137
|
+
* Override to produce a config-aware schema (e.g. Code step declares return fields).
|
|
138
|
+
* Default: converts the static outputSchema via zodToJsonSchema.
|
|
139
|
+
*/
|
|
140
|
+
resolveOutputJsonSchema?(config: Record<string, unknown>): Record<string, unknown>;
|
|
141
|
+
/** Optional hook to mask sensitive fields before persisting step input. */
|
|
142
|
+
redactInput?(input: Record<string, unknown>): Record<string, unknown>;
|
|
143
|
+
/** Phantom type anchor — never read at runtime. */
|
|
144
|
+
readonly __outputPhantom?: TOutput;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Base class for action steps — domain logic that does actual work.
|
|
148
|
+
*
|
|
149
|
+
* Steps receive a `StepExecutionContext` with access to services, credentials,
|
|
150
|
+
* static data, and the workflow context.
|
|
151
|
+
*/
|
|
152
|
+
export declare abstract class BaseActionStep<TConfig extends z.ZodTypeAny, TOutput extends Record<string, unknown> = Record<string, unknown>> extends BaseStep<TConfig, TOutput> {
|
|
153
|
+
readonly kind: StepKind.ACTION;
|
|
154
|
+
/** Event types this step may emit (for downstream automation chaining). */
|
|
155
|
+
readonly mayEmit?: readonly string[];
|
|
156
|
+
/** Execute the step with resolved config and full execution context. */
|
|
157
|
+
abstract execute(config: z.infer<TConfig>, ctx: StepExecutionContext): Promise<TOutput>;
|
|
158
|
+
/**
|
|
159
|
+
* Called instead of `execute()` when resuming from a pause.
|
|
160
|
+
* `rowData` contains the persisted step data from the paused execution.
|
|
161
|
+
*/
|
|
162
|
+
onResume?(rowData: Record<string, unknown>, config: z.infer<TConfig>, ctx: StepExecutionContext): Promise<TOutput>;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Base class for control-flow steps — branching, switching, looping.
|
|
166
|
+
*
|
|
167
|
+
* Control-flow steps receive a `ControlFlowExecutionContext` which adds
|
|
168
|
+
* `walkBranch()` for recursively executing nested step trees.
|
|
169
|
+
*
|
|
170
|
+
* The category is always `'control'` — this is enforced by the type system.
|
|
171
|
+
*/
|
|
172
|
+
/**
|
|
173
|
+
* How a control-flow step's branches should be visualized.
|
|
174
|
+
*
|
|
175
|
+
* - `iterate`: single body repeated N times (LOOP) — render as a loop ring
|
|
176
|
+
* - `fanout`: pick among multiple branches (CONDITIONAL, SWITCH, PARALLEL) —
|
|
177
|
+
* render as multi-lane fork, even when only one branch is populated
|
|
178
|
+
*
|
|
179
|
+
* Drives canvas rendering only; the executor doesn't read this.
|
|
180
|
+
* Defaults to `fanout` for all control-flow steps unless overridden.
|
|
181
|
+
*/
|
|
182
|
+
export type BranchModel = 'iterate' | 'fanout';
|
|
183
|
+
export declare abstract class BaseControlFlowStep<TConfig extends z.ZodTypeAny, TOutput extends Record<string, unknown> = Record<string, unknown>> extends BaseStep<TConfig, TOutput> {
|
|
184
|
+
readonly kind: StepKind.CONTROL;
|
|
185
|
+
abstract readonly category: 'control';
|
|
186
|
+
/**
|
|
187
|
+
* UI hint: does this step iterate a body or fan out across branches?
|
|
188
|
+
* Defaults to `'fanout'` — override on iterating steps (LOOP).
|
|
189
|
+
*/
|
|
190
|
+
readonly branchModel: BranchModel;
|
|
191
|
+
/** Execute the control flow step. */
|
|
192
|
+
abstract execute(config: z.infer<TConfig>, ctx: ControlFlowExecutionContext): Promise<TOutput>;
|
|
193
|
+
/**
|
|
194
|
+
* Return the named branches from a step config. Used by the validator
|
|
195
|
+
* to recursively validate nested step trees without hardcoding step types.
|
|
196
|
+
*/
|
|
197
|
+
getBranches?(config: Record<string, unknown>): Record<string, WorkflowStepConfig[]>;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Creates the `ctx.pause()` function for a step execution context.
|
|
201
|
+
* Throws `PauseStep` — never returns.
|
|
202
|
+
*/
|
|
203
|
+
export declare function createPauseFunction(): StepExecutionContext['pause'];
|
|
204
|
+
//# sourceMappingURL=base-step.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-step.d.ts","sourceRoot":"","sources":["../../src/steps/base-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { PauseStep } from '../engine/pause-step.js';
|
|
2
|
+
// ─── Step Kind ───
|
|
3
|
+
export var StepKind;
|
|
4
|
+
(function (StepKind) {
|
|
5
|
+
StepKind["ACTION"] = "action";
|
|
6
|
+
StepKind["CONTROL"] = "control";
|
|
7
|
+
})(StepKind || (StepKind = {}));
|
|
8
|
+
// ─── Base Step ───
|
|
9
|
+
/**
|
|
10
|
+
* Abstract base for all steps (action + control flow).
|
|
11
|
+
*
|
|
12
|
+
* Type parameters:
|
|
13
|
+
* - `TConfig` — Zod schema describing the step's config shape
|
|
14
|
+
* - `TOutput` — the output record produced by `execute()`
|
|
15
|
+
*/
|
|
16
|
+
export class BaseStep {
|
|
17
|
+
icon;
|
|
18
|
+
/** Services this step needs — validated at registration time. */
|
|
19
|
+
requiredServices;
|
|
20
|
+
/** Credential slots this step declares — resolved before execute(). */
|
|
21
|
+
credentialSlots;
|
|
22
|
+
/** Output branches this step declares (for UI rendering + validation). */
|
|
23
|
+
declaredOutputs;
|
|
24
|
+
/** Credential type schemas — defines what fields each credential type needs for UI rendering. */
|
|
25
|
+
credentialTypeSchemas;
|
|
26
|
+
/** Validate raw config against the step's schema. */
|
|
27
|
+
validate(config) {
|
|
28
|
+
return this.configSchema.parse(config);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Customize the JSON Schema generated from configSchema for UI form rendering.
|
|
32
|
+
* Override to add field metadata, ordering, conditional visibility, etc.
|
|
33
|
+
* Default: return as-is.
|
|
34
|
+
*/
|
|
35
|
+
decorateConfigSchema(jsonSchema) {
|
|
36
|
+
return jsonSchema;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// ─── Base Action Step ───
|
|
40
|
+
/**
|
|
41
|
+
* Base class for action steps — domain logic that does actual work.
|
|
42
|
+
*
|
|
43
|
+
* Steps receive a `StepExecutionContext` with access to services, credentials,
|
|
44
|
+
* static data, and the workflow context.
|
|
45
|
+
*/
|
|
46
|
+
export class BaseActionStep extends BaseStep {
|
|
47
|
+
kind = StepKind.ACTION;
|
|
48
|
+
/** Event types this step may emit (for downstream automation chaining). */
|
|
49
|
+
mayEmit;
|
|
50
|
+
}
|
|
51
|
+
export class BaseControlFlowStep extends BaseStep {
|
|
52
|
+
kind = StepKind.CONTROL;
|
|
53
|
+
/**
|
|
54
|
+
* UI hint: does this step iterate a body or fan out across branches?
|
|
55
|
+
* Defaults to `'fanout'` — override on iterating steps (LOOP).
|
|
56
|
+
*/
|
|
57
|
+
branchModel = 'fanout';
|
|
58
|
+
}
|
|
59
|
+
// ─── Utility: createPauseFunction ───
|
|
60
|
+
/**
|
|
61
|
+
* Creates the `ctx.pause()` function for a step execution context.
|
|
62
|
+
* Throws `PauseStep` — never returns.
|
|
63
|
+
*/
|
|
64
|
+
export function createPauseFunction() {
|
|
65
|
+
return (reason, opts) => {
|
|
66
|
+
throw new PauseStep(reason, opts);
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=base-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-step.js","sourceRoot":"","sources":["../../src/steps/base-step.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AA0FpD,oBAAoB;AAEpB,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,+BAAmB,CAAA;AACrB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAkCD,oBAAoB;AAEpB;;;;;;GAMG;AACH,MAAM,OAAgB,QAAQ;IAWnB,IAAI,CAAU;IAEvB,iEAAiE;IACxD,gBAAgB,CAAqB;IAE9C,uEAAuE;IAC9D,eAAe,CAA6B;IAErD,0EAA0E;IACjE,eAAe,CAA6B;IAErD,iGAAiG;IACxF,qBAAqB,CAAmC;IAEjE,qDAAqD;IACrD,QAAQ,CAAC,MAAe;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAClB,UAAmC;QAEnC,OAAO,UAAU,CAAC;IACpB,CAAC;CAcF;AAED,2BAA2B;AAE3B;;;;;GAKG;AACH,MAAM,OAAgB,cAGpB,SAAQ,QAA0B;IAChB,IAAI,GAAoB,QAAQ,CAAC,MAAM,CAAC;IAE1D,2EAA2E;IAClE,OAAO,CAAqB;CAiBtC;AAwBD,MAAM,OAAgB,mBAGpB,SAAQ,QAA0B;IAChB,IAAI,GAAqB,QAAQ,CAAC,OAAO,CAAC;IAG5D;;;OAGG;IACM,WAAW,GAAgB,QAAQ,CAAC;CAe9C;AAED,uCAAuC;AAEvC;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,CACL,MAAc,EACd,IAAqE,EAC9D,EAAE;QACT,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CODE step — sandboxed JavaScript execution.
|
|
3
|
+
*
|
|
4
|
+
* Runs user-provided JS code in a restricted `vm.runInNewContext` sandbox.
|
|
5
|
+
* The code receives:
|
|
6
|
+
* - `$input` — the previous step's output (or {} if first step)
|
|
7
|
+
* - `$context` — read-only snapshot of the workflow context
|
|
8
|
+
*
|
|
9
|
+
* Must return a JSON-serializable value.
|
|
10
|
+
*
|
|
11
|
+
* Security: no access to require, process, fs, net, or any Node globals.
|
|
12
|
+
*/
|
|
13
|
+
import { z } from 'zod';
|
|
14
|
+
import { BaseActionStep } from '../base-step.js';
|
|
15
|
+
import type { StepExecutionContext } from '../base-step.js';
|
|
16
|
+
import { BuiltinStepType } from '../../types/known-types.js';
|
|
17
|
+
import type { StepCategory } from '../../types/categories.js';
|
|
18
|
+
export declare const CodeStepConfigSchema: z.ZodObject<{
|
|
19
|
+
code: z.ZodString;
|
|
20
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
21
|
+
outputFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
22
|
+
name: z.ZodString;
|
|
23
|
+
type: z.ZodEnum<["string", "number", "boolean", "object", "array"]>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
type: "string" | "number" | "boolean" | "object" | "array";
|
|
26
|
+
name: string;
|
|
27
|
+
}, {
|
|
28
|
+
type: "string" | "number" | "boolean" | "object" | "array";
|
|
29
|
+
name: string;
|
|
30
|
+
}>, "many">>;
|
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
|
32
|
+
code: string;
|
|
33
|
+
timeoutMs: number;
|
|
34
|
+
outputFields?: {
|
|
35
|
+
type: "string" | "number" | "boolean" | "object" | "array";
|
|
36
|
+
name: string;
|
|
37
|
+
}[] | undefined;
|
|
38
|
+
}, {
|
|
39
|
+
code: string;
|
|
40
|
+
timeoutMs?: number | undefined;
|
|
41
|
+
outputFields?: {
|
|
42
|
+
type: "string" | "number" | "boolean" | "object" | "array";
|
|
43
|
+
name: string;
|
|
44
|
+
}[] | undefined;
|
|
45
|
+
}>;
|
|
46
|
+
export type CodeStepConfig = z.infer<typeof CodeStepConfigSchema>;
|
|
47
|
+
export interface CodeStepOutput extends Record<string, unknown> {
|
|
48
|
+
result: unknown;
|
|
49
|
+
}
|
|
50
|
+
export declare class CodeStep extends BaseActionStep<typeof CodeStepConfigSchema, CodeStepOutput> {
|
|
51
|
+
readonly type = BuiltinStepType.CODE;
|
|
52
|
+
readonly name = "Code";
|
|
53
|
+
readonly description = "Execute sandboxed JavaScript code";
|
|
54
|
+
readonly configSchema: z.ZodObject<{
|
|
55
|
+
code: z.ZodString;
|
|
56
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
57
|
+
outputFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
58
|
+
name: z.ZodString;
|
|
59
|
+
type: z.ZodEnum<["string", "number", "boolean", "object", "array"]>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
type: "string" | "number" | "boolean" | "object" | "array";
|
|
62
|
+
name: string;
|
|
63
|
+
}, {
|
|
64
|
+
type: "string" | "number" | "boolean" | "object" | "array";
|
|
65
|
+
name: string;
|
|
66
|
+
}>, "many">>;
|
|
67
|
+
}, "strip", z.ZodTypeAny, {
|
|
68
|
+
code: string;
|
|
69
|
+
timeoutMs: number;
|
|
70
|
+
outputFields?: {
|
|
71
|
+
type: "string" | "number" | "boolean" | "object" | "array";
|
|
72
|
+
name: string;
|
|
73
|
+
}[] | undefined;
|
|
74
|
+
}, {
|
|
75
|
+
code: string;
|
|
76
|
+
timeoutMs?: number | undefined;
|
|
77
|
+
outputFields?: {
|
|
78
|
+
type: "string" | "number" | "boolean" | "object" | "array";
|
|
79
|
+
name: string;
|
|
80
|
+
}[] | undefined;
|
|
81
|
+
}>;
|
|
82
|
+
readonly outputSchema: z.ZodObject<{
|
|
83
|
+
result: z.ZodUnknown;
|
|
84
|
+
}, "strip", z.ZodTypeAny, {
|
|
85
|
+
result?: unknown;
|
|
86
|
+
}, {
|
|
87
|
+
result?: unknown;
|
|
88
|
+
}>;
|
|
89
|
+
readonly category: StepCategory;
|
|
90
|
+
readonly icon = "code";
|
|
91
|
+
decorateConfigSchema(jsonSchema: Record<string, unknown>): Record<string, unknown>;
|
|
92
|
+
resolveOutputJsonSchema(config: Record<string, unknown>): Record<string, unknown>;
|
|
93
|
+
execute(config: CodeStepConfig, ctx: StepExecutionContext): Promise<CodeStepOutput>;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=code.step.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code.step.d.ts","sourceRoot":"","sources":["../../../src/steps/builtin/code.step.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAS9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAIlE,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,MAAM,EAAE,OAAO,CAAC;CACjB;AAQD,qBAAa,QAAS,SAAQ,cAAc,CAC1C,OAAO,oBAAoB,EAC3B,cAAc,CACf;IACC,SAAkB,IAAI,wBAAwB;IAC9C,SAAkB,IAAI,UAAU;IAChC,SAAkB,WAAW,uCAAuC;IACpE,SAAkB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAwB;IACtD,SAAkB,YAAY;;;;;;OAAwB;IACtD,SAAkB,QAAQ,EAAE,YAAY,CAAU;IAClD,SAAkB,IAAI,UAAU;IAEvB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAWlF,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAiB3E,OAAO,CACpB,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,cAAc,CAAC;CA+D3B"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CODE step — sandboxed JavaScript execution.
|
|
3
|
+
*
|
|
4
|
+
* Runs user-provided JS code in a restricted `vm.runInNewContext` sandbox.
|
|
5
|
+
* The code receives:
|
|
6
|
+
* - `$input` — the previous step's output (or {} if first step)
|
|
7
|
+
* - `$context` — read-only snapshot of the workflow context
|
|
8
|
+
*
|
|
9
|
+
* Must return a JSON-serializable value.
|
|
10
|
+
*
|
|
11
|
+
* Security: no access to require, process, fs, net, or any Node globals.
|
|
12
|
+
*/
|
|
13
|
+
import { z } from 'zod';
|
|
14
|
+
import { runInNewContext } from 'node:vm';
|
|
15
|
+
import { BaseActionStep } from '../base-step.js';
|
|
16
|
+
import { BuiltinStepType } from '../../types/known-types.js';
|
|
17
|
+
// ─── Config ───
|
|
18
|
+
const OutputFieldSchema = z.object({
|
|
19
|
+
name: z.string().min(1).describe('Field name in the returned object'),
|
|
20
|
+
type: z.enum(['string', 'number', 'boolean', 'object', 'array']).describe('Data type of this field'),
|
|
21
|
+
});
|
|
22
|
+
export const CodeStepConfigSchema = z.object({
|
|
23
|
+
code: z.string().min(1).describe('JavaScript code to execute. Must return a value. Has access to $input (previous step output) and $context (workflow context)'),
|
|
24
|
+
timeoutMs: z.number().int().positive().default(5000).describe('Maximum execution time in milliseconds'),
|
|
25
|
+
outputFields: z.array(OutputFieldSchema).optional().describe('Declared output fields — describes the shape of the return value for downstream steps'),
|
|
26
|
+
});
|
|
27
|
+
const CodeStepOutputSchema = z.object({
|
|
28
|
+
result: z.unknown(),
|
|
29
|
+
});
|
|
30
|
+
// ─── Step ───
|
|
31
|
+
export class CodeStep extends BaseActionStep {
|
|
32
|
+
type = BuiltinStepType.CODE;
|
|
33
|
+
name = 'Code';
|
|
34
|
+
description = 'Execute sandboxed JavaScript code';
|
|
35
|
+
configSchema = CodeStepConfigSchema;
|
|
36
|
+
outputSchema = CodeStepOutputSchema;
|
|
37
|
+
category = 'data';
|
|
38
|
+
icon = 'code';
|
|
39
|
+
decorateConfigSchema(jsonSchema) {
|
|
40
|
+
const props = jsonSchema['properties'];
|
|
41
|
+
if (props?.['code']) {
|
|
42
|
+
props['code'] = { ...props['code'], format: 'code' };
|
|
43
|
+
}
|
|
44
|
+
if (props?.['outputFields']) {
|
|
45
|
+
props['outputFields'] = { ...props['outputFields'], format: 'output-fields' };
|
|
46
|
+
}
|
|
47
|
+
return jsonSchema;
|
|
48
|
+
}
|
|
49
|
+
resolveOutputJsonSchema(config) {
|
|
50
|
+
const fields = config['outputFields'];
|
|
51
|
+
if (!fields || fields.length === 0) {
|
|
52
|
+
return { type: 'object', properties: { result: {} } };
|
|
53
|
+
}
|
|
54
|
+
const resultProps = {};
|
|
55
|
+
for (const f of fields) {
|
|
56
|
+
resultProps[f.name] = { type: f.type };
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
type: 'object',
|
|
60
|
+
properties: {
|
|
61
|
+
result: { type: 'object', properties: resultProps },
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
async execute(config, ctx) {
|
|
66
|
+
// Build $input from the most recent step output
|
|
67
|
+
const stepEntries = Object.values(ctx.workflow.steps);
|
|
68
|
+
const lastStep = stepEntries[stepEntries.length - 1];
|
|
69
|
+
const $input = lastStep?.output ?? {};
|
|
70
|
+
// Build read-only context snapshot
|
|
71
|
+
const $context = Object.freeze({
|
|
72
|
+
trigger: ctx.workflow.trigger,
|
|
73
|
+
steps: Object.freeze(Object.fromEntries(Object.entries(ctx.workflow.steps).map(([k, v]) => [
|
|
74
|
+
k,
|
|
75
|
+
Object.freeze({ ...v }),
|
|
76
|
+
]))),
|
|
77
|
+
});
|
|
78
|
+
// Minimal sandbox — no Node globals
|
|
79
|
+
const sandbox = {
|
|
80
|
+
$input,
|
|
81
|
+
$context,
|
|
82
|
+
// Safe globals
|
|
83
|
+
JSON,
|
|
84
|
+
Math,
|
|
85
|
+
Date,
|
|
86
|
+
Array,
|
|
87
|
+
Object,
|
|
88
|
+
String,
|
|
89
|
+
Number,
|
|
90
|
+
Boolean,
|
|
91
|
+
RegExp,
|
|
92
|
+
Map,
|
|
93
|
+
Set,
|
|
94
|
+
parseInt,
|
|
95
|
+
parseFloat,
|
|
96
|
+
isNaN,
|
|
97
|
+
isFinite,
|
|
98
|
+
// Console (mapped to ctx.log)
|
|
99
|
+
console: Object.freeze({
|
|
100
|
+
log: ctx.log.info,
|
|
101
|
+
warn: ctx.log.warn,
|
|
102
|
+
error: ctx.log.error,
|
|
103
|
+
}),
|
|
104
|
+
};
|
|
105
|
+
try {
|
|
106
|
+
// Wrap in async IIFE so user code can use await
|
|
107
|
+
const wrappedCode = `(async () => { ${config.code} })()`;
|
|
108
|
+
const result = await runInNewContext(wrappedCode, sandbox, {
|
|
109
|
+
timeout: config.timeoutMs,
|
|
110
|
+
filename: 'workflow-code-step.js',
|
|
111
|
+
});
|
|
112
|
+
// Ensure JSON-serializable
|
|
113
|
+
const serialized = JSON.parse(JSON.stringify(result ?? null));
|
|
114
|
+
return { result: serialized };
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
118
|
+
throw new Error(`Code step execution failed: ${message}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=code.step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code.step.js","sourceRoot":"","sources":["../../../src/steps/builtin/code.step.ts"],"names":[],"mappings":"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"}
|