@lostgradient/weft 0.2.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/LICENSE +21 -0
- package/README.md +493 -0
- package/dist/alerting/alert-manager.d.ts +42 -0
- package/dist/alerting/alert-manager.js +167 -0
- package/dist/alerting/index.d.ts +2 -0
- package/dist/alerting/index.js +1 -0
- package/dist/alerting/sliding-window.d.ts +26 -0
- package/dist/alerting/sliding-window.js +97 -0
- package/dist/alerting/types.d.ts +157 -0
- package/dist/alerting/types.js +0 -0
- package/dist/cli/api-arguments.d.ts +2 -0
- package/dist/cli/api-arguments.js +48 -0
- package/dist/cli/api.d.ts +13 -0
- package/dist/cli/api.js +191 -0
- package/dist/cli/codegen-arguments.d.ts +10 -0
- package/dist/cli/codegen-arguments.js +50 -0
- package/dist/cli/codegen-emit-keywords.d.ts +28 -0
- package/dist/cli/codegen-emit-keywords.js +48 -0
- package/dist/cli/codegen-emit.d.ts +50 -0
- package/dist/cli/codegen-emit.js +280 -0
- package/dist/cli/codegen.d.ts +38 -0
- package/dist/cli/codegen.js +268 -0
- package/dist/cli/command-suggestions.d.ts +9 -0
- package/dist/cli/command-suggestions.js +27 -0
- package/dist/cli/completions.d.ts +17 -0
- package/dist/cli/completions.js +112 -0
- package/dist/cli/conformance.d.ts +9 -0
- package/dist/cli/conformance.js +226 -0
- package/dist/cli/doctor.d.ts +6 -0
- package/dist/cli/doctor.js +9 -0
- package/dist/cli/generated/operation-client.generated.d.ts +605 -0
- package/dist/cli/generated/operation-client.generated.js +60 -0
- package/dist/cli/help-text.d.ts +13 -0
- package/dist/cli/help-text.js +269 -0
- package/dist/cli/index.d.ts +23 -0
- package/dist/cli/index.js +34 -0
- package/dist/cli/json-rpc-client.d.ts +15 -0
- package/dist/cli/json-rpc-client.js +37 -0
- package/dist/cli/noun-verb-arguments.d.ts +15 -0
- package/dist/cli/noun-verb-arguments.js +190 -0
- package/dist/cli/operation-catalog-snapshot.d.ts +38 -0
- package/dist/cli/operation-catalog-snapshot.js +48 -0
- package/dist/cli/operation-client-runtime.d.ts +47 -0
- package/dist/cli/operation-client-runtime.js +33 -0
- package/dist/cli/output.d.ts +66 -0
- package/dist/cli/output.js +83 -0
- package/dist/cli/parse-arguments.d.ts +3 -0
- package/dist/cli/parse-arguments.js +214 -0
- package/dist/cli/parse-schedule-arguments.d.ts +9 -0
- package/dist/cli/parse-schedule-arguments.js +132 -0
- package/dist/cli/schedule.d.ts +3 -0
- package/dist/cli/schedule.js +128 -0
- package/dist/cli/serve-registrations.d.ts +15 -0
- package/dist/cli/serve-registrations.js +23 -0
- package/dist/cli/server-client.d.ts +45 -0
- package/dist/cli/server-client.js +33 -0
- package/dist/cli/server-commands.d.ts +19 -0
- package/dist/cli/server-commands.js +151 -0
- package/dist/cli/storage-backend-arguments.d.ts +15 -0
- package/dist/cli/storage-backend-arguments.js +16 -0
- package/dist/cli/storage-factory.d.ts +8 -0
- package/dist/cli/storage-factory.js +18 -0
- package/dist/cli/subcommand-detection.d.ts +2 -0
- package/dist/cli/subcommand-detection.js +38 -0
- package/dist/cli/tail.d.ts +50 -0
- package/dist/cli/tail.js +161 -0
- package/dist/cli/timeline.d.ts +9 -0
- package/dist/cli/timeline.js +78 -0
- package/dist/cli/types.d.ts +224 -0
- package/dist/cli/types.js +0 -0
- package/dist/cli/utilities.d.ts +9 -0
- package/dist/cli/utilities.js +120 -0
- package/dist/cli/validate.d.ts +6 -0
- package/dist/cli/validate.js +70 -0
- package/dist/cli/version-check.d.ts +7 -0
- package/dist/cli/version-check.js +16 -0
- package/dist/cli/version.d.ts +7 -0
- package/dist/cli/version.js +4 -0
- package/dist/cli/workflow-commands.d.ts +15 -0
- package/dist/cli/workflow-commands.js +195 -0
- package/dist/cli-main.d.ts +2 -0
- package/dist/cli-main.js +402 -0
- package/dist/client/event-stream-transport.d.ts +73 -0
- package/dist/client/event-stream-transport.js +59 -0
- package/dist/client/event-stream.d.ts +90 -0
- package/dist/client/event-stream.js +221 -0
- package/dist/client/event-tail.d.ts +50 -0
- package/dist/client/event-tail.js +0 -0
- package/dist/client/handle-delegation.d.ts +73 -0
- package/dist/client/handle-delegation.js +66 -0
- package/dist/client/http-client-requests.d.ts +65 -0
- package/dist/client/http-client-requests.js +178 -0
- package/dist/client/http-client.d.ts +130 -0
- package/dist/client/http-client.js +217 -0
- package/dist/client/http-handle.d.ts +27 -0
- package/dist/client/http-handle.js +43 -0
- package/dist/client/http-operations.d.ts +29 -0
- package/dist/client/http-operations.js +36 -0
- package/dist/client/http-request.d.ts +101 -0
- package/dist/client/http-request.js +73 -0
- package/dist/client/http-schedule-handle.d.ts +5 -0
- package/dist/client/http-schedule-handle.js +5 -0
- package/dist/client/in-process-operations.d.ts +30 -0
- package/dist/client/in-process-operations.js +17 -0
- package/dist/client/index.d.ts +15 -0
- package/dist/client/index.js +2 -0
- package/dist/client/interface.d.ts +333 -0
- package/dist/client/interface.js +0 -0
- package/dist/client/local-event-tail.d.ts +30 -0
- package/dist/client/local-event-tail.js +131 -0
- package/dist/client/local.d.ts +115 -0
- package/dist/client/local.js +178 -0
- package/dist/client/open-event-subscription.d.ts +33 -0
- package/dist/client/open-event-subscription.js +5 -0
- package/dist/client/schedule-list-search-params.d.ts +3 -0
- package/dist/client/schedule-list-search-params.js +18 -0
- package/dist/client/search-params.d.ts +3 -0
- package/dist/client/search-params.js +54 -0
- package/dist/client/start-body.d.ts +9 -0
- package/dist/client/start-body.js +23 -0
- package/dist/client/workflow-name-typing.d.ts +33 -0
- package/dist/client/workflow-name-typing.js +0 -0
- package/dist/connection.d.ts +121 -0
- package/dist/connection.js +161 -0
- package/dist/core/activity-registry.d.ts +135 -0
- package/dist/core/activity-registry.js +174 -0
- package/dist/core/activity.d.ts +2 -0
- package/dist/core/activity.js +1 -0
- package/dist/core/aggregate-validation.d.ts +85 -0
- package/dist/core/aggregate-validation.js +48 -0
- package/dist/core/atomic-state-events.d.ts +214 -0
- package/dist/core/atomic-state-events.js +39 -0
- package/dist/core/atomic-state.d.ts +79 -0
- package/dist/core/atomic-state.js +231 -0
- package/dist/core/bulk-workflow-filter.d.ts +23 -0
- package/dist/core/bulk-workflow-filter.js +38 -0
- package/dist/core/checkpoint/comparison.d.ts +2 -0
- package/dist/core/checkpoint/comparison.js +137 -0
- package/dist/core/checkpoint/index.d.ts +4 -0
- package/dist/core/checkpoint/index.js +3 -0
- package/dist/core/checkpoint/interfaces.d.ts +11 -0
- package/dist/core/checkpoint/interfaces.js +0 -0
- package/dist/core/checkpoint/lifecycle.d.ts +49 -0
- package/dist/core/checkpoint/lifecycle.js +36 -0
- package/dist/core/checkpoint/serialization.d.ts +31 -0
- package/dist/core/checkpoint/serialization.js +155 -0
- package/dist/core/checkpoint/validation.d.ts +4 -0
- package/dist/core/checkpoint/validation.js +26 -0
- package/dist/core/checkpoint.d.ts +1 -0
- package/dist/core/checkpoint.js +1 -0
- package/dist/core/codec/api.d.ts +32 -0
- package/dist/core/codec/api.js +9 -0
- package/dist/core/codec/extension-codec.d.ts +7 -0
- package/dist/core/codec/extension-codec.js +145 -0
- package/dist/core/codec/index.d.ts +3 -0
- package/dist/core/codec/index.js +2 -0
- package/dist/core/codec/validation.d.ts +28 -0
- package/dist/core/codec/validation.js +139 -0
- package/dist/core/codec-helpers.d.ts +8 -0
- package/dist/core/codec-helpers.js +19 -0
- package/dist/core/codec.d.ts +1 -0
- package/dist/core/codec.js +1 -0
- package/dist/core/compression.d.ts +127 -0
- package/dist/core/compression.js +88 -0
- package/dist/core/concurrency-lock-record.d.ts +122 -0
- package/dist/core/concurrency-lock-record.js +53 -0
- package/dist/core/concurrency.d.ts +221 -0
- package/dist/core/concurrency.js +93 -0
- package/dist/core/constraint.d.ts +144 -0
- package/dist/core/constraint.js +3 -0
- package/dist/core/context/attributes.d.ts +7 -0
- package/dist/core/context/attributes.js +29 -0
- package/dist/core/context/child-workflow-pipe.d.ts +18 -0
- package/dist/core/context/child-workflow-pipe.js +111 -0
- package/dist/core/context/durable-operations.d.ts +29 -0
- package/dist/core/context/durable-operations.js +166 -0
- package/dist/core/context/index.d.ts +114 -0
- package/dist/core/context/index.js +224 -0
- package/dist/core/context/internals.d.ts +30 -0
- package/dist/core/context/internals.js +36 -0
- package/dist/core/context/operation-request.d.ts +160 -0
- package/dist/core/context/operation-request.js +0 -0
- package/dist/core/context/parallel-cache-entry.d.ts +91 -0
- package/dist/core/context/parallel-cache-entry.js +92 -0
- package/dist/core/context/parallel-operations.d.ts +9 -0
- package/dist/core/context/parallel-operations.js +202 -0
- package/dist/core/context/run-operation.d.ts +21 -0
- package/dist/core/context/run-operation.js +231 -0
- package/dist/core/context/saga.d.ts +4 -0
- package/dist/core/context/saga.js +65 -0
- package/dist/core/context/session-state.d.ts +22 -0
- package/dist/core/context/session-state.js +154 -0
- package/dist/core/context/speculate-operations.d.ts +4 -0
- package/dist/core/context/speculate-operations.js +14 -0
- package/dist/core/context/speculative-child.d.ts +6 -0
- package/dist/core/context/speculative-child.js +67 -0
- package/dist/core/context/state-namespace.d.ts +27 -0
- package/dist/core/context/state-namespace.js +138 -0
- package/dist/core/context/types.d.ts +181 -0
- package/dist/core/context/types.js +0 -0
- package/dist/core/context/updates.d.ts +46 -0
- package/dist/core/context/updates.js +21 -0
- package/dist/core/context/validation.d.ts +2 -0
- package/dist/core/context/validation.js +12 -0
- package/dist/core/context.d.ts +1 -0
- package/dist/core/context.js +1 -0
- package/dist/core/debug-output.d.ts +3 -0
- package/dist/core/debug-output.js +112 -0
- package/dist/core/effect-log/index.d.ts +194 -0
- package/dist/core/effect-log/index.js +104 -0
- package/dist/core/engine/activity-reconciliation.d.ts +108 -0
- package/dist/core/engine/activity-reconciliation.js +182 -0
- package/dist/core/engine/aggregate.d.ts +47 -0
- package/dist/core/engine/aggregate.js +132 -0
- package/dist/core/engine/anonymous-signal-sequence.d.ts +4 -0
- package/dist/core/engine/anonymous-signal-sequence.js +101 -0
- package/dist/core/engine/async-activity-completion.d.ts +141 -0
- package/dist/core/engine/async-activity-completion.js +131 -0
- package/dist/core/engine/attributes-tags.d.ts +31 -0
- package/dist/core/engine/attributes-tags.js +178 -0
- package/dist/core/engine/broadcast.d.ts +8 -0
- package/dist/core/engine/broadcast.js +26 -0
- package/dist/core/engine/bulk-operations-purge.d.ts +11 -0
- package/dist/core/engine/bulk-operations-purge.js +246 -0
- package/dist/core/engine/bulk-operations-shared.d.ts +28 -0
- package/dist/core/engine/bulk-operations-shared.js +198 -0
- package/dist/core/engine/bulk-operations.d.ts +21 -0
- package/dist/core/engine/bulk-operations.js +128 -0
- package/dist/core/engine/callback-creators-bundles.d.ts +25 -0
- package/dist/core/engine/callback-creators-bundles.js +154 -0
- package/dist/core/engine/callback-creators-core.d.ts +39 -0
- package/dist/core/engine/callback-creators-core.js +136 -0
- package/dist/core/engine/callback-creators-router-registry.d.ts +4 -0
- package/dist/core/engine/callback-creators-router-registry.js +9 -0
- package/dist/core/engine/callback-creators-router.d.ts +3 -0
- package/dist/core/engine/callback-creators-router.js +68 -0
- package/dist/core/engine/callback-creators-schedule.d.ts +13 -0
- package/dist/core/engine/callback-creators-schedule.js +65 -0
- package/dist/core/engine/callback-creators.d.ts +9 -0
- package/dist/core/engine/callback-creators.js +87 -0
- package/dist/core/engine/cancel-handlers.d.ts +6 -0
- package/dist/core/engine/cancel-handlers.js +32 -0
- package/dist/core/engine/checkpoint-commit-snapshots.d.ts +4 -0
- package/dist/core/engine/checkpoint-commit-snapshots.js +16 -0
- package/dist/core/engine/checkpoint-io.d.ts +34 -0
- package/dist/core/engine/checkpoint-io.js +183 -0
- package/dist/core/engine/checkpoint-reads.d.ts +22 -0
- package/dist/core/engine/checkpoint-reads.js +98 -0
- package/dist/core/engine/child-workflow.d.ts +20 -0
- package/dist/core/engine/child-workflow.js +72 -0
- package/dist/core/engine/completed-review-storage.d.ts +14 -0
- package/dist/core/engine/completed-review-storage.js +61 -0
- package/dist/core/engine/constraints.d.ts +24 -0
- package/dist/core/engine/constraints.js +57 -0
- package/dist/core/engine/construction.d.ts +60 -0
- package/dist/core/engine/construction.js +213 -0
- package/dist/core/engine/disposal.d.ts +9 -0
- package/dist/core/engine/disposal.js +58 -0
- package/dist/core/engine/engine-create-types.d.ts +70 -0
- package/dist/core/engine/engine-create-types.js +0 -0
- package/dist/core/engine/engine-internal-types.d.ts +59 -0
- package/dist/core/engine/engine-internal-types.js +0 -0
- package/dist/core/engine/engine-leak-warnings.d.ts +26 -0
- package/dist/core/engine/engine-leak-warnings.js +42 -0
- package/dist/core/engine/engine-runtime-helpers.d.ts +8 -0
- package/dist/core/engine/engine-runtime-helpers.js +52 -0
- package/dist/core/engine/engine-state-namespace.d.ts +20 -0
- package/dist/core/engine/engine-state-namespace.js +0 -0
- package/dist/core/engine/errors.d.ts +215 -0
- package/dist/core/engine/errors.js +90 -0
- package/dist/core/engine/event-log-compaction.d.ts +102 -0
- package/dist/core/engine/event-log-compaction.js +76 -0
- package/dist/core/engine/guards.d.ts +17 -0
- package/dist/core/engine/guards.js +43 -0
- package/dist/core/engine/handle-iteration.d.ts +2 -0
- package/dist/core/engine/handle-iteration.js +59 -0
- package/dist/core/engine/handle-result.d.ts +8 -0
- package/dist/core/engine/handle-result.js +74 -0
- package/dist/core/engine/handles.d.ts +137 -0
- package/dist/core/engine/handles.js +173 -0
- package/dist/core/engine/index.d.ts +311 -0
- package/dist/core/engine/index.js +595 -0
- package/dist/core/engine/inline-launch-queue.d.ts +17 -0
- package/dist/core/engine/inline-launch-queue.js +93 -0
- package/dist/core/engine/inline-parking.d.ts +26 -0
- package/dist/core/engine/inline-parking.js +86 -0
- package/dist/core/engine/internals.d.ts +167 -0
- package/dist/core/engine/internals.js +11 -0
- package/dist/core/engine/lifecycle/fork-helpers.d.ts +9 -0
- package/dist/core/engine/lifecycle/fork-helpers.js +66 -0
- package/dist/core/engine/lifecycle/persist.d.ts +22 -0
- package/dist/core/engine/lifecycle/persist.js +80 -0
- package/dist/core/engine/lifecycle/resume.d.ts +4 -0
- package/dist/core/engine/lifecycle/resume.js +136 -0
- package/dist/core/engine/lifecycle/shared.d.ts +79 -0
- package/dist/core/engine/lifecycle/shared.js +49 -0
- package/dist/core/engine/lifecycle/start-batch.d.ts +7 -0
- package/dist/core/engine/lifecycle/start-batch.js +70 -0
- package/dist/core/engine/lifecycle/start-exec.d.ts +5 -0
- package/dist/core/engine/lifecycle/start-exec.js +39 -0
- package/dist/core/engine/lifecycle/start.d.ts +13 -0
- package/dist/core/engine/lifecycle/start.js +163 -0
- package/dist/core/engine/lifecycle/transition.d.ts +8 -0
- package/dist/core/engine/lifecycle/transition.js +183 -0
- package/dist/core/engine/lifecycle.d.ts +8 -0
- package/dist/core/engine/lifecycle.js +40 -0
- package/dist/core/engine/list-candidate-resolution.d.ts +15 -0
- package/dist/core/engine/list-candidate-resolution.js +88 -0
- package/dist/core/engine/listing.d.ts +17 -0
- package/dist/core/engine/listing.js +186 -0
- package/dist/core/engine/operations-activity.d.ts +40 -0
- package/dist/core/engine/operations-activity.js +194 -0
- package/dist/core/engine/operations-coordination.d.ts +39 -0
- package/dist/core/engine/operations-coordination.js +162 -0
- package/dist/core/engine/operations-data.d.ts +23 -0
- package/dist/core/engine/operations-data.js +38 -0
- package/dist/core/engine/operations-router.d.ts +75 -0
- package/dist/core/engine/operations-router.js +90 -0
- package/dist/core/engine/operations-speculate.d.ts +16 -0
- package/dist/core/engine/operations-speculate.js +40 -0
- package/dist/core/engine/operations-state.d.ts +16 -0
- package/dist/core/engine/operations-state.js +27 -0
- package/dist/core/engine/operations-stream.d.ts +20 -0
- package/dist/core/engine/operations-stream.js +54 -0
- package/dist/core/engine/operations-time.d.ts +28 -0
- package/dist/core/engine/operations-time.js +167 -0
- package/dist/core/engine/parallel-dispatch.d.ts +92 -0
- package/dist/core/engine/parallel-dispatch.js +45 -0
- package/dist/core/engine/pending-updates.d.ts +18 -0
- package/dist/core/engine/pending-updates.js +109 -0
- package/dist/core/engine/persisted-data-version.d.ts +24 -0
- package/dist/core/engine/persisted-data-version.js +25 -0
- package/dist/core/engine/queries.d.ts +3 -0
- package/dist/core/engine/queries.js +17 -0
- package/dist/core/engine/registration.d.ts +6 -0
- package/dist/core/engine/registration.js +107 -0
- package/dist/core/engine/retention.d.ts +15 -0
- package/dist/core/engine/retention.js +76 -0
- package/dist/core/engine/review-list-entries.d.ts +6 -0
- package/dist/core/engine/review-list-entries.js +117 -0
- package/dist/core/engine/reviews.d.ts +34 -0
- package/dist/core/engine/reviews.js +242 -0
- package/dist/core/engine/schedule-occurrence.d.ts +35 -0
- package/dist/core/engine/schedule-occurrence.js +26 -0
- package/dist/core/engine/schedule-timer.d.ts +4 -0
- package/dist/core/engine/schedule-timer.js +77 -0
- package/dist/core/engine/schedules.d.ts +34 -0
- package/dist/core/engine/schedules.js +204 -0
- package/dist/core/engine/signals.d.ts +40 -0
- package/dist/core/engine/signals.js +185 -0
- package/dist/core/engine/speculative-execution-state.d.ts +8 -0
- package/dist/core/engine/speculative-execution-state.js +26 -0
- package/dist/core/engine/state-utilities.d.ts +62 -0
- package/dist/core/engine/state-utilities.js +306 -0
- package/dist/core/engine/storage-io.d.ts +21 -0
- package/dist/core/engine/storage-io.js +82 -0
- package/dist/core/engine/strategy-helpers.d.ts +27 -0
- package/dist/core/engine/strategy-helpers.js +47 -0
- package/dist/core/engine/stream-chunk-loading.d.ts +5 -0
- package/dist/core/engine/stream-chunk-loading.js +22 -0
- package/dist/core/engine/sub-operation.d.ts +24 -0
- package/dist/core/engine/sub-operation.js +78 -0
- package/dist/core/engine/termination/cleanup.d.ts +67 -0
- package/dist/core/engine/termination/cleanup.js +167 -0
- package/dist/core/engine/termination/complete.d.ts +13 -0
- package/dist/core/engine/termination/complete.js +249 -0
- package/dist/core/engine/termination.d.ts +7 -0
- package/dist/core/engine/termination.js +23 -0
- package/dist/core/engine/updates.d.ts +56 -0
- package/dist/core/engine/updates.js +230 -0
- package/dist/core/engine/validation/schedule.d.ts +38 -0
- package/dist/core/engine/validation/schedule.js +258 -0
- package/dist/core/engine/validation.d.ts +40 -0
- package/dist/core/engine/validation.js +144 -0
- package/dist/core/engine/workflow-feed.d.ts +82 -0
- package/dist/core/engine/workflow-feed.js +96 -0
- package/dist/core/engine/workflow-indexes.d.ts +103 -0
- package/dist/core/engine/workflow-indexes.js +93 -0
- package/dist/core/engine/workflow-state-stream.d.ts +9 -0
- package/dist/core/engine/workflow-state-stream.js +126 -0
- package/dist/core/engine/workflow-visibility-queries.d.ts +40 -0
- package/dist/core/engine/workflow-visibility-queries.js +56 -0
- package/dist/core/engine-helpers.d.ts +56 -0
- package/dist/core/engine-helpers.js +52 -0
- package/dist/core/engine.d.ts +1 -0
- package/dist/core/engine.js +1 -0
- package/dist/core/event-log-shared.d.ts +65 -0
- package/dist/core/event-log-shared.js +31 -0
- package/dist/core/event-log-verify.d.ts +51 -0
- package/dist/core/event-log-verify.js +64 -0
- package/dist/core/event-log.d.ts +112 -0
- package/dist/core/event-log.js +81 -0
- package/dist/core/events/activity-events.d.ts +104 -0
- package/dist/core/events/activity-events.js +63 -0
- package/dist/core/events/attribute-events.d.ts +22 -0
- package/dist/core/events/attribute-events.js +10 -0
- package/dist/core/events/event-map.d.ts +80 -0
- package/dist/core/events/event-map.js +0 -0
- package/dist/core/events/index.d.ts +7 -0
- package/dist/core/events/index.js +7 -0
- package/dist/core/events/signal-events.d.ts +45 -0
- package/dist/core/events/signal-events.js +23 -0
- package/dist/core/events/system-events.d.ts +149 -0
- package/dist/core/events/system-events.js +92 -0
- package/dist/core/events/update-events.d.ts +53 -0
- package/dist/core/events/update-events.js +31 -0
- package/dist/core/events/workflow-events.d.ts +198 -0
- package/dist/core/events/workflow-events.js +91 -0
- package/dist/core/events.d.ts +1 -0
- package/dist/core/events.js +1 -0
- package/dist/core/execution-strategy.d.ts +107 -0
- package/dist/core/execution-strategy.js +0 -0
- package/dist/core/failure-categories.d.ts +18 -0
- package/dist/core/failure-categories.js +70 -0
- package/dist/core/fault-code.d.ts +92 -0
- package/dist/core/fault-code.js +21 -0
- package/dist/core/inline-execution-strategy.d.ts +76 -0
- package/dist/core/inline-execution-strategy.js +264 -0
- package/dist/core/interceptor/activity-composition.d.ts +20 -0
- package/dist/core/interceptor/activity-composition.js +17 -0
- package/dist/core/interceptor/index.d.ts +25 -0
- package/dist/core/interceptor/index.js +8 -0
- package/dist/core/interceptor/interception-contexts.d.ts +200 -0
- package/dist/core/interceptor/interception-contexts.js +0 -0
- package/dist/core/interceptor/interceptor-interfaces.d.ts +149 -0
- package/dist/core/interceptor/interceptor-interfaces.js +9 -0
- package/dist/core/interceptor/split.d.ts +11 -0
- package/dist/core/interceptor/split.js +14 -0
- package/dist/core/interceptor/workflow-composition.d.ts +21 -0
- package/dist/core/interceptor/workflow-composition.js +116 -0
- package/dist/core/interceptor.d.ts +1 -0
- package/dist/core/interceptor.js +1 -0
- package/dist/core/json.d.ts +56 -0
- package/dist/core/json.js +77 -0
- package/dist/core/list-filter-validation.d.ts +78 -0
- package/dist/core/list-filter-validation.js +75 -0
- package/dist/core/payload-size.d.ts +78 -0
- package/dist/core/payload-size.js +27 -0
- package/dist/core/persisted-data-incompatible-error.d.ts +48 -0
- package/dist/core/persisted-data-incompatible-error.js +12 -0
- package/dist/core/registry-snapshot.d.ts +69 -0
- package/dist/core/registry-snapshot.js +70 -0
- package/dist/core/review/events.d.ts +73 -0
- package/dist/core/review/events.js +31 -0
- package/dist/core/review/index.d.ts +265 -0
- package/dist/core/review/index.js +96 -0
- package/dist/core/runtime-workflow-engine.d.ts +16 -0
- package/dist/core/runtime-workflow-engine.js +6 -0
- package/dist/core/schedule/cron-formatter.d.ts +10 -0
- package/dist/core/schedule/cron-formatter.js +103 -0
- package/dist/core/schedule/cron-occurrence.d.ts +3 -0
- package/dist/core/schedule/cron-occurrence.js +129 -0
- package/dist/core/schedule/cron-parser.d.ts +2 -0
- package/dist/core/schedule/cron-parser.js +93 -0
- package/dist/core/schedule/cron-types.d.ts +35 -0
- package/dist/core/schedule/cron-types.js +0 -0
- package/dist/core/schedule/index.d.ts +3 -0
- package/dist/core/schedule/index.js +2 -0
- package/dist/core/schedule/interval-occurrence.d.ts +31 -0
- package/dist/core/schedule/interval-occurrence.js +26 -0
- package/dist/core/schedule.d.ts +1 -0
- package/dist/core/schedule.js +1 -0
- package/dist/core/scheduler/duration.d.ts +44 -0
- package/dist/core/scheduler/duration.js +48 -0
- package/dist/core/scheduler/index.d.ts +4 -0
- package/dist/core/scheduler/index.js +3 -0
- package/dist/core/scheduler/scheduler-class.d.ts +52 -0
- package/dist/core/scheduler/scheduler-class.js +167 -0
- package/dist/core/scheduler/timer-batch.d.ts +10 -0
- package/dist/core/scheduler/timer-batch.js +42 -0
- package/dist/core/scheduler/timer-sources.d.ts +17 -0
- package/dist/core/scheduler/timer-sources.js +61 -0
- package/dist/core/scheduler.d.ts +1 -0
- package/dist/core/scheduler.js +1 -0
- package/dist/core/search-attributes.d.ts +67 -0
- package/dist/core/search-attributes.js +196 -0
- package/dist/core/session-state.d.ts +18 -0
- package/dist/core/session-state.js +71 -0
- package/dist/core/signal-id.d.ts +2 -0
- package/dist/core/signal-id.js +10 -0
- package/dist/core/start-workflow-validation.d.ts +14 -0
- package/dist/core/start-workflow-validation.js +63 -0
- package/dist/core/step-context.d.ts +97 -0
- package/dist/core/step-context.js +113 -0
- package/dist/core/timeouts.d.ts +98 -0
- package/dist/core/timeouts.js +38 -0
- package/dist/core/types/activity.d.ts +316 -0
- package/dist/core/types/activity.js +15 -0
- package/dist/core/types/archive-adapter.d.ts +49 -0
- package/dist/core/types/archive-adapter.js +0 -0
- package/dist/core/types/bulk.d.ts +312 -0
- package/dist/core/types/bulk.js +1 -0
- package/dist/core/types/checkpoint.d.ts +237 -0
- package/dist/core/types/checkpoint.js +12 -0
- package/dist/core/types/clone-plain.d.ts +17 -0
- package/dist/core/types/clone-plain.js +25 -0
- package/dist/core/types/constants.d.ts +54 -0
- package/dist/core/types/constants.js +1 -0
- package/dist/core/types/deep-freeze.d.ts +31 -0
- package/dist/core/types/deep-freeze.js +31 -0
- package/dist/core/types/definition-schema-to-json.d.ts +41 -0
- package/dist/core/types/definition-schema-to-json.js +56 -0
- package/dist/core/types/definition-schema.d.ts +341 -0
- package/dist/core/types/definition-schema.js +45 -0
- package/dist/core/types/history-policy.d.ts +92 -0
- package/dist/core/types/history-policy.js +1 -0
- package/dist/core/types/identity.d.ts +55 -0
- package/dist/core/types/identity.js +0 -0
- package/dist/core/types/message-handles.d.ts +229 -0
- package/dist/core/types/message-handles.js +36 -0
- package/dist/core/types/name-grammar.d.ts +30 -0
- package/dist/core/types/name-grammar.js +9 -0
- package/dist/core/types/options.d.ts +360 -0
- package/dist/core/types/options.js +0 -0
- package/dist/core/types/payload-size-policy.d.ts +47 -0
- package/dist/core/types/payload-size-policy.js +0 -0
- package/dist/core/types/registry-type-helpers.d.ts +1 -0
- package/dist/core/types/registry-type-helpers.js +0 -0
- package/dist/core/types/retry-retention.d.ts +163 -0
- package/dist/core/types/retry-retention.js +6 -0
- package/dist/core/types/reviews.d.ts +170 -0
- package/dist/core/types/reviews.js +0 -0
- package/dist/core/types/schedules.d.ts +176 -0
- package/dist/core/types/schedules.js +3 -0
- package/dist/core/types/search-attributes.d.ts +127 -0
- package/dist/core/types/search-attributes.js +8 -0
- package/dist/core/types/serializer.d.ts +30 -0
- package/dist/core/types/serializer.js +0 -0
- package/dist/core/types/standard-schema-validate.d.ts +113 -0
- package/dist/core/types/standard-schema-validate.js +60 -0
- package/dist/core/types/state.d.ts +261 -0
- package/dist/core/types/state.js +0 -0
- package/dist/core/types/workflow-builder-helpers.d.ts +310 -0
- package/dist/core/types/workflow-builder-helpers.js +0 -0
- package/dist/core/types/workflow-builder-runtime.d.ts +97 -0
- package/dist/core/types/workflow-builder-runtime.js +137 -0
- package/dist/core/types/workflow-builder.d.ts +343 -0
- package/dist/core/types/workflow-builder.js +0 -0
- package/dist/core/types/workflow-context.d.ts +168 -0
- package/dist/core/types/workflow-context.js +0 -0
- package/dist/core/types/workflow-definition.d.ts +61 -0
- package/dist/core/types/workflow-definition.js +0 -0
- package/dist/core/types/workflow-function.d.ts +330 -0
- package/dist/core/types/workflow-function.js +9 -0
- package/dist/core/types/workflow-registries.d.ts +203 -0
- package/dist/core/types/workflow-registries.js +0 -0
- package/dist/core/types/workflow-registry.d.ts +31 -0
- package/dist/core/types/workflow-registry.js +0 -0
- package/dist/core/types.d.ts +26 -0
- package/dist/core/types.js +26 -0
- package/dist/core/updates.d.ts +183 -0
- package/dist/core/updates.js +141 -0
- package/dist/core/versioning.d.ts +153 -0
- package/dist/core/versioning.js +94 -0
- package/dist/core/weft-error.d.ts +82 -0
- package/dist/core/weft-error.js +43 -0
- package/dist/core/worker-checkpoint-resume-state.d.ts +11 -0
- package/dist/core/worker-checkpoint-resume-state.js +40 -0
- package/dist/core/worker-execution-dispatcher.d.ts +42 -0
- package/dist/core/worker-execution-dispatcher.js +95 -0
- package/dist/core/worker-execution-ownership.d.ts +20 -0
- package/dist/core/worker-execution-ownership.js +91 -0
- package/dist/core/worker-execution-strategy-options.d.ts +7 -0
- package/dist/core/worker-execution-strategy-options.js +0 -0
- package/dist/core/worker-execution-strategy.d.ts +29 -0
- package/dist/core/worker-execution-strategy.js +356 -0
- package/dist/core/worker-listener-registry.d.ts +11 -0
- package/dist/core/worker-listener-registry.js +35 -0
- package/dist/core/worker-message-helpers.d.ts +5 -0
- package/dist/core/worker-message-helpers.js +14 -0
- package/dist/core/worker-protocol-guard.d.ts +20 -0
- package/dist/core/worker-protocol-guard.js +69 -0
- package/dist/core/worker-protocol.d.ts +27 -0
- package/dist/core/worker-protocol.js +346 -0
- package/dist/core/worker-turn-watchdog.d.ts +14 -0
- package/dist/core/worker-turn-watchdog.js +40 -0
- package/dist/core/workflow-identifiers.d.ts +1 -0
- package/dist/core/workflow-identifiers.js +19 -0
- package/dist/core/workflow-tags.d.ts +9 -0
- package/dist/core/workflow-tags.js +37 -0
- package/dist/core/workflow-version-tuple.d.ts +67 -0
- package/dist/core/workflow-version-tuple.js +77 -0
- package/dist/diagnostics/doctor.d.ts +30 -0
- package/dist/diagnostics/doctor.js +173 -0
- package/dist/diagnostics/format.d.ts +77 -0
- package/dist/diagnostics/format.js +115 -0
- package/dist/diagnostics/index.d.ts +15 -0
- package/dist/diagnostics/index.js +10 -0
- package/dist/diagnostics/memory-profiler.d.ts +136 -0
- package/dist/diagnostics/memory-profiler.js +93 -0
- package/dist/diagnostics/recommendations.d.ts +37 -0
- package/dist/diagnostics/recommendations.js +116 -0
- package/dist/diagnostics/types.d.ts +178 -0
- package/dist/diagnostics/types.js +9 -0
- package/dist/diagnostics/validate.d.ts +79 -0
- package/dist/diagnostics/validate.js +88 -0
- package/dist/diagnostics/version-check.d.ts +34 -0
- package/dist/diagnostics/version-check.js +61 -0
- package/dist/index.d.ts +109 -0
- package/dist/index.js +182 -0
- package/dist/json-schema.d.ts +55 -0
- package/dist/json-schema.js +4 -0
- package/dist/mcp/access.d.ts +21 -0
- package/dist/mcp/access.js +22 -0
- package/dist/mcp/cli.d.ts +2 -0
- package/dist/mcp/cli.js +72 -0
- package/dist/mcp/dispatcher.d.ts +13 -0
- package/dist/mcp/dispatcher.js +198 -0
- package/dist/mcp/http.d.ts +64 -0
- package/dist/mcp/http.js +272 -0
- package/dist/mcp/index.d.ts +17 -0
- package/dist/mcp/index.js +26 -0
- package/dist/mcp/list-filter.d.ts +10 -0
- package/dist/mcp/list-filter.js +116 -0
- package/dist/mcp/protocol.d.ts +89 -0
- package/dist/mcp/protocol.js +64 -0
- package/dist/mcp/resources.d.ts +40 -0
- package/dist/mcp/resources.js +141 -0
- package/dist/mcp/session.d.ts +138 -0
- package/dist/mcp/session.js +204 -0
- package/dist/mcp/stdio.d.ts +89 -0
- package/dist/mcp/stdio.js +204 -0
- package/dist/mcp/tools.d.ts +27 -0
- package/dist/mcp/tools.js +262 -0
- package/dist/observability/activity-interceptor.d.ts +3 -0
- package/dist/observability/activity-interceptor.js +34 -0
- package/dist/observability/index.d.ts +60 -0
- package/dist/observability/index.js +4 -0
- package/dist/observability/metrics-catalog.d.ts +128 -0
- package/dist/observability/metrics-catalog.js +110 -0
- package/dist/observability/metrics-snapshot.d.ts +106 -0
- package/dist/observability/metrics-snapshot.js +0 -0
- package/dist/observability/metrics.d.ts +156 -0
- package/dist/observability/metrics.js +152 -0
- package/dist/observability/no-op-telemetry.d.ts +168 -0
- package/dist/observability/no-op-telemetry.js +96 -0
- package/dist/observability/propagation.d.ts +121 -0
- package/dist/observability/propagation.js +41 -0
- package/dist/observability/span-helpers.d.ts +50 -0
- package/dist/observability/span-helpers.js +83 -0
- package/dist/observability/types.d.ts +92 -0
- package/dist/observability/types.js +0 -0
- package/dist/observability/workflow-interceptor.d.ts +3 -0
- package/dist/observability/workflow-interceptor.js +106 -0
- package/dist/observability/workflow-lifecycle.d.ts +8 -0
- package/dist/observability/workflow-lifecycle.js +103 -0
- package/dist/runtime/portable.d.ts +119 -0
- package/dist/runtime/portable.js +90 -0
- package/dist/server/api-catalog.d.ts +85 -0
- package/dist/server/api-catalog.js +47 -0
- package/dist/server/asyncapi-channels.d.ts +40 -0
- package/dist/server/asyncapi-channels.js +264 -0
- package/dist/server/asyncapi.d.ts +25 -0
- package/dist/server/asyncapi.js +110 -0
- package/dist/server/attribute-filters.d.ts +37 -0
- package/dist/server/attribute-filters.js +39 -0
- package/dist/server/authentication/api-key.d.ts +3 -0
- package/dist/server/authentication/api-key.js +80 -0
- package/dist/server/authentication/audit.d.ts +116 -0
- package/dist/server/authentication/audit.js +25 -0
- package/dist/server/authentication/crypto.d.ts +7 -0
- package/dist/server/authentication/crypto.js +99 -0
- package/dist/server/authentication/index.d.ts +68 -0
- package/dist/server/authentication/index.js +144 -0
- package/dist/server/authentication/rate-limiter.d.ts +126 -0
- package/dist/server/authentication/rate-limiter.js +61 -0
- package/dist/server/authentication/redaction.d.ts +72 -0
- package/dist/server/authentication/redaction.js +30 -0
- package/dist/server/authentication/rotating-api-key-store.d.ts +107 -0
- package/dist/server/authentication/rotating-api-key-store.js +43 -0
- package/dist/server/authentication/types.d.ts +290 -0
- package/dist/server/authentication/types.js +13 -0
- package/dist/server/authentication.d.ts +1 -0
- package/dist/server/authentication.js +1 -0
- package/dist/server/authorization-scope.d.ts +43 -0
- package/dist/server/authorization-scope.js +53 -0
- package/dist/server/authorization.d.ts +55 -0
- package/dist/server/authorization.js +87 -0
- package/dist/server/deadline-tracker.d.ts +47 -0
- package/dist/server/deadline-tracker.js +106 -0
- package/dist/server/discovery-filter.d.ts +13 -0
- package/dist/server/discovery-filter.js +5 -0
- package/dist/server/discovery-info.d.ts +69 -0
- package/dist/server/discovery-info.js +12 -0
- package/dist/server/engine-event-feed-backend.d.ts +31 -0
- package/dist/server/engine-event-feed-backend.js +36 -0
- package/dist/server/fault-to-http.d.ts +14 -0
- package/dist/server/fault-to-http.js +29 -0
- package/dist/server/fault-to-json-rpc.d.ts +23 -0
- package/dist/server/fault-to-json-rpc.js +60 -0
- package/dist/server/handler/binding-dispatch.d.ts +11 -0
- package/dist/server/handler/binding-dispatch.js +13 -0
- package/dist/server/handler/index.d.ts +31 -0
- package/dist/server/handler/index.js +78 -0
- package/dist/server/handler/response-helpers.d.ts +5 -0
- package/dist/server/handler/response-helpers.js +28 -0
- package/dist/server/handler/route-dispatch.d.ts +144 -0
- package/dist/server/handler/route-dispatch.js +192 -0
- package/dist/server/handler/route-matching.d.ts +55 -0
- package/dist/server/handler/route-matching.js +45 -0
- package/dist/server/handler.d.ts +1 -0
- package/dist/server/handler.js +56 -0
- package/dist/server/index.d.ts +346 -0
- package/dist/server/index.js +64 -0
- package/dist/server/interactive-operations.d.ts +18 -0
- package/dist/server/interactive-operations.js +28 -0
- package/dist/server/json-rpc-dispatch.d.ts +49 -0
- package/dist/server/json-rpc-dispatch.js +92 -0
- package/dist/server/json-rpc-framing.d.ts +42 -0
- package/dist/server/json-rpc-framing.js +15 -0
- package/dist/server/json-rpc-http.d.ts +33 -0
- package/dist/server/json-rpc-http.js +112 -0
- package/dist/server/json-rpc-parse.d.ts +69 -0
- package/dist/server/json-rpc-parse.js +139 -0
- package/dist/server/json-rpc-protocol.d.ts +76 -0
- package/dist/server/json-rpc-protocol.js +27 -0
- package/dist/server/json-rpc-transport-helpers.d.ts +17 -0
- package/dist/server/json-rpc-transport-helpers.js +26 -0
- package/dist/server/json-rpc-websocket-runtime.d.ts +37 -0
- package/dist/server/json-rpc-websocket-runtime.js +51 -0
- package/dist/server/json-rpc-websocket-validation.d.ts +38 -0
- package/dist/server/json-rpc-websocket-validation.js +96 -0
- package/dist/server/json-rpc-websocket.d.ts +60 -0
- package/dist/server/json-rpc-websocket.js +268 -0
- package/dist/server/json-schema-utilities.d.ts +4 -0
- package/dist/server/json-schema-utilities.js +16 -0
- package/dist/server/mcp-discovery.d.ts +57 -0
- package/dist/server/mcp-discovery.js +50 -0
- package/dist/server/openapi-canonical-json.d.ts +10 -0
- package/dist/server/openapi-canonical-json.js +13 -0
- package/dist/server/openapi-error-responses.d.ts +15 -0
- package/dist/server/openapi-error-responses.js +36 -0
- package/dist/server/openapi-schemas.d.ts +17 -0
- package/dist/server/openapi-schemas.js +69 -0
- package/dist/server/openapi.d.ts +48 -0
- package/dist/server/openapi.js +290 -0
- package/dist/server/openrpc-document-schema.d.ts +112 -0
- package/dist/server/openrpc-document-schema.js +65 -0
- package/dist/server/openrpc-errors.d.ts +73 -0
- package/dist/server/openrpc-errors.js +57 -0
- package/dist/server/openrpc.d.ts +53 -0
- package/dist/server/openrpc.js +179 -0
- package/dist/server/operation-catalog/activity-adapter.d.ts +11 -0
- package/dist/server/operation-catalog/activity-adapter.js +9 -0
- package/dist/server/operation-catalog/dispatch-allowlist.d.ts +4 -0
- package/dist/server/operation-catalog/dispatch-allowlist.js +4 -0
- package/dist/server/operation-catalog/dispatch-preparation.d.ts +39 -0
- package/dist/server/operation-catalog/dispatch-preparation.js +52 -0
- package/dist/server/operation-catalog/index.d.ts +22 -0
- package/dist/server/operation-catalog/index.js +17 -0
- package/dist/server/operation-catalog/pipeline-helpers.d.ts +66 -0
- package/dist/server/operation-catalog/pipeline-helpers.js +179 -0
- package/dist/server/operation-catalog/pipeline-stages.d.ts +23 -0
- package/dist/server/operation-catalog/pipeline-stages.js +189 -0
- package/dist/server/operation-catalog/pipeline.d.ts +7 -0
- package/dist/server/operation-catalog/pipeline.js +32 -0
- package/dist/server/operation-catalog/raise-fault.d.ts +32 -0
- package/dist/server/operation-catalog/raise-fault.js +18 -0
- package/dist/server/operation-catalog/registry.d.ts +6 -0
- package/dist/server/operation-catalog/registry.js +93 -0
- package/dist/server/operation-catalog/stream-pipeline.d.ts +25 -0
- package/dist/server/operation-catalog/stream-pipeline.js +122 -0
- package/dist/server/operation-catalog/types.d.ts +246 -0
- package/dist/server/operation-catalog/types.js +9 -0
- package/dist/server/operation-catalog/workflow-adapter.d.ts +55 -0
- package/dist/server/operation-catalog/workflow-adapter.js +85 -0
- package/dist/server/operation-catalog.d.ts +1 -0
- package/dist/server/operation-catalog.js +1 -0
- package/dist/server/operation-fault.d.ts +153 -0
- package/dist/server/operation-fault.js +50 -0
- package/dist/server/operation-registry.d.ts +100 -0
- package/dist/server/operation-registry.js +56 -0
- package/dist/server/operations/add-workflow-tags.d.ts +15 -0
- package/dist/server/operations/add-workflow-tags.js +13 -0
- package/dist/server/operations/aggregate-workflows.d.ts +81 -0
- package/dist/server/operations/aggregate-workflows.js +110 -0
- package/dist/server/operations/async-activity.d.ts +44 -0
- package/dist/server/operations/async-activity.js +134 -0
- package/dist/server/operations/bulk-cancel-workflows.d.ts +7 -0
- package/dist/server/operations/bulk-cancel-workflows.js +64 -0
- package/dist/server/operations/bulk-delete-workflows.d.ts +7 -0
- package/dist/server/operations/bulk-delete-workflows.js +71 -0
- package/dist/server/operations/bulk-filter-helpers.d.ts +62 -0
- package/dist/server/operations/bulk-filter-helpers.js +334 -0
- package/dist/server/operations/bulk-mutate-workflow-tags.d.ts +94 -0
- package/dist/server/operations/bulk-mutate-workflow-tags.js +100 -0
- package/dist/server/operations/bulk-operation-helpers.d.ts +27 -0
- package/dist/server/operations/bulk-operation-helpers.js +29 -0
- package/dist/server/operations/bulk-signal-workflows.d.ts +87 -0
- package/dist/server/operations/bulk-signal-workflows.js +80 -0
- package/dist/server/operations/cancel-schedule.d.ts +13 -0
- package/dist/server/operations/cancel-schedule.js +43 -0
- package/dist/server/operations/cancel-workflow.d.ts +13 -0
- package/dist/server/operations/cancel-workflow.js +34 -0
- package/dist/server/operations/create-schedule.d.ts +29 -0
- package/dist/server/operations/create-schedule.js +116 -0
- package/dist/server/operations/failure-category-filter.d.ts +2 -0
- package/dist/server/operations/failure-category-filter.js +19 -0
- package/dist/server/operations/fork-workflow.d.ts +29 -0
- package/dist/server/operations/fork-workflow.js +88 -0
- package/dist/server/operations/get-checkpoint-at.d.ts +15 -0
- package/dist/server/operations/get-checkpoint-at.js +74 -0
- package/dist/server/operations/get-registry.d.ts +26 -0
- package/dist/server/operations/get-registry.js +56 -0
- package/dist/server/operations/get-retention-overview.d.ts +9 -0
- package/dist/server/operations/get-retention-overview.js +39 -0
- package/dist/server/operations/get-review.d.ts +15 -0
- package/dist/server/operations/get-review.js +57 -0
- package/dist/server/operations/get-schedule.d.ts +20 -0
- package/dist/server/operations/get-schedule.js +48 -0
- package/dist/server/operations/get-stream-chunks.d.ts +19 -0
- package/dist/server/operations/get-stream-chunks.js +71 -0
- package/dist/server/operations/get-system-metrics.d.ts +42 -0
- package/dist/server/operations/get-system-metrics.js +43 -0
- package/dist/server/operations/get-task-diagnostics.d.ts +184 -0
- package/dist/server/operations/get-task-diagnostics.js +340 -0
- package/dist/server/operations/get-update-result.d.ts +18 -0
- package/dist/server/operations/get-update-result.js +55 -0
- package/dist/server/operations/get-workflow-attributes.d.ts +13 -0
- package/dist/server/operations/get-workflow-attributes.js +51 -0
- package/dist/server/operations/get-workflow-events.d.ts +15 -0
- package/dist/server/operations/get-workflow-events.js +51 -0
- package/dist/server/operations/get-workflow-result.d.ts +14 -0
- package/dist/server/operations/get-workflow-result.js +93 -0
- package/dist/server/operations/get-workflow-timeline.d.ts +13 -0
- package/dist/server/operations/get-workflow-timeline.js +51 -0
- package/dist/server/operations/get-workflow.d.ts +36 -0
- package/dist/server/operations/get-workflow.js +49 -0
- package/dist/server/operations/list-checkpoints.d.ts +13 -0
- package/dist/server/operations/list-checkpoints.js +43 -0
- package/dist/server/operations/list-filter-query-extractor.d.ts +23 -0
- package/dist/server/operations/list-filter-query-extractor.js +87 -0
- package/dist/server/operations/list-reviews.d.ts +19 -0
- package/dist/server/operations/list-reviews.js +77 -0
- package/dist/server/operations/list-schedules.d.ts +28 -0
- package/dist/server/operations/list-schedules.js +108 -0
- package/dist/server/operations/list-task-queues.d.ts +71 -0
- package/dist/server/operations/list-task-queues.js +105 -0
- package/dist/server/operations/list-workers.d.ts +56 -0
- package/dist/server/operations/list-workers.js +92 -0
- package/dist/server/operations/list-workflows.d.ts +79 -0
- package/dist/server/operations/list-workflows.js +136 -0
- package/dist/server/operations/operation-helpers.d.ts +21 -0
- package/dist/server/operations/operation-helpers.js +22 -0
- package/dist/server/operations/pause-schedule.d.ts +13 -0
- package/dist/server/operations/pause-schedule.js +43 -0
- package/dist/server/operations/purge-workflows.d.ts +41 -0
- package/dist/server/operations/purge-workflows.js +57 -0
- package/dist/server/operations/query-workflow.d.ts +19 -0
- package/dist/server/operations/query-workflow.js +99 -0
- package/dist/server/operations/recover-all.d.ts +13 -0
- package/dist/server/operations/recover-all.js +65 -0
- package/dist/server/operations/remove-workflow-tags.d.ts +15 -0
- package/dist/server/operations/remove-workflow-tags.js +13 -0
- package/dist/server/operations/replay-workflow.d.ts +28 -0
- package/dist/server/operations/replay-workflow.js +69 -0
- package/dist/server/operations/resume-schedule.d.ts +13 -0
- package/dist/server/operations/resume-schedule.js +43 -0
- package/dist/server/operations/resume-workflow.d.ts +17 -0
- package/dist/server/operations/resume-workflow.js +40 -0
- package/dist/server/operations/schedule-faults.d.ts +14 -0
- package/dist/server/operations/schedule-faults.js +41 -0
- package/dist/server/operations/set-workflow-attributes.d.ts +19 -0
- package/dist/server/operations/set-workflow-attributes.js +67 -0
- package/dist/server/operations/signal-workflow.d.ts +23 -0
- package/dist/server/operations/signal-workflow.js +58 -0
- package/dist/server/operations/single-workflow-control-operation.d.ts +32 -0
- package/dist/server/operations/single-workflow-control-operation.js +44 -0
- package/dist/server/operations/single-workflow-tag-mutation.d.ts +27 -0
- package/dist/server/operations/single-workflow-tag-mutation.js +108 -0
- package/dist/server/operations/sse-stream.d.ts +13 -0
- package/dist/server/operations/sse-stream.js +42 -0
- package/dist/server/operations/start-workflow.d.ts +33 -0
- package/dist/server/operations/start-workflow.js +181 -0
- package/dist/server/operations/storage.d.ts +112 -0
- package/dist/server/operations/storage.js +358 -0
- package/dist/server/operations/stream-workflow-sse.d.ts +17 -0
- package/dist/server/operations/stream-workflow-sse.js +94 -0
- package/dist/server/operations/submit-review-decision.d.ts +25 -0
- package/dist/server/operations/submit-review-decision.js +113 -0
- package/dist/server/operations/timeout-workflow.d.ts +11 -0
- package/dist/server/operations/timeout-workflow.js +34 -0
- package/dist/server/operations/update-schedule.d.ts +15 -0
- package/dist/server/operations/update-schedule.js +60 -0
- package/dist/server/operations/update-workflow.d.ts +27 -0
- package/dist/server/operations/update-workflow.js +109 -0
- package/dist/server/operations/worker-drain.d.ts +69 -0
- package/dist/server/operations/worker-drain.js +214 -0
- package/dist/server/operations/workflow-events-subscription.d.ts +47 -0
- package/dist/server/operations/workflow-events-subscription.js +51 -0
- package/dist/server/principal.d.ts +176 -0
- package/dist/server/principal.js +59 -0
- package/dist/server/rest-binding.d.ts +158 -0
- package/dist/server/rest-binding.js +35 -0
- package/dist/server/rest-bindings.d.ts +76 -0
- package/dist/server/rest-bindings.js +376 -0
- package/dist/server/route-model.d.ts +268 -0
- package/dist/server/route-model.js +166 -0
- package/dist/server/runtime/authentication-bridge.d.ts +22 -0
- package/dist/server/runtime/authentication-bridge.js +194 -0
- package/dist/server/runtime/context.d.ts +73 -0
- package/dist/server/runtime/context.js +0 -0
- package/dist/server/runtime/cors.d.ts +149 -0
- package/dist/server/runtime/cors.js +123 -0
- package/dist/server/runtime/event-broadcasting.d.ts +71 -0
- package/dist/server/runtime/event-broadcasting.js +205 -0
- package/dist/server/runtime/request-gate.d.ts +54 -0
- package/dist/server/runtime/request-gate.js +71 -0
- package/dist/server/runtime/shutdown.d.ts +10 -0
- package/dist/server/runtime/shutdown.js +18 -0
- package/dist/server/runtime/stop-server.d.ts +3 -0
- package/dist/server/runtime/stop-server.js +19 -0
- package/dist/server/runtime/task-dispatch.d.ts +8 -0
- package/dist/server/runtime/task-dispatch.js +157 -0
- package/dist/server/runtime/task-metrics.d.ts +12 -0
- package/dist/server/runtime/task-metrics.js +36 -0
- package/dist/server/runtime/task-polling.d.ts +9 -0
- package/dist/server/runtime/task-polling.js +132 -0
- package/dist/server/runtime/task-reconciliation.d.ts +17 -0
- package/dist/server/runtime/task-reconciliation.js +163 -0
- package/dist/server/runtime/websocket-stream.d.ts +15 -0
- package/dist/server/runtime/websocket-stream.js +79 -0
- package/dist/server/runtime/websocket-upgrade.d.ts +8 -0
- package/dist/server/runtime/websocket-upgrade.js +76 -0
- package/dist/server/runtime/websocket-worker.d.ts +7 -0
- package/dist/server/runtime/websocket-worker.js +224 -0
- package/dist/server/runtime-helpers.d.ts +18 -0
- package/dist/server/runtime-helpers.js +23 -0
- package/dist/server/sequence-cursor.d.ts +5 -0
- package/dist/server/sequence-cursor.js +19 -0
- package/dist/server/serve-internals.d.ts +83 -0
- package/dist/server/serve-internals.js +203 -0
- package/dist/server/stdio-session.d.ts +51 -0
- package/dist/server/stdio-session.js +245 -0
- package/dist/server/task-queue-summary.d.ts +27 -0
- package/dist/server/task-queue-summary.js +34 -0
- package/dist/server/task-queue-types.d.ts +95 -0
- package/dist/server/task-queue-types.js +0 -0
- package/dist/server/task-queue.d.ts +90 -0
- package/dist/server/task-queue.js +247 -0
- package/dist/server/task-resolved-record.d.ts +12 -0
- package/dist/server/task-resolved-record.js +35 -0
- package/dist/server/task-state.d.ts +152 -0
- package/dist/server/task-state.js +178 -0
- package/dist/server/workflow-event-feed.d.ts +166 -0
- package/dist/server/workflow-event-feed.js +193 -0
- package/dist/service-worker/index.d.ts +123 -0
- package/dist/service-worker/index.js +56 -0
- package/dist/service-worker/scheduler.d.ts +37 -0
- package/dist/service-worker/scheduler.js +117 -0
- package/dist/service-worker/setup.d.ts +127 -0
- package/dist/service-worker/setup.js +129 -0
- package/dist/service-worker/shared.d.ts +94 -0
- package/dist/service-worker/shared.js +15 -0
- package/dist/storage/auto.d.ts +45 -0
- package/dist/storage/auto.js +2 -0
- package/dist/storage/bun-sql.d.ts +64 -0
- package/dist/storage/bun-sql.js +575 -0
- package/dist/storage/byte-encoding.d.ts +6 -0
- package/dist/storage/byte-encoding.js +16 -0
- package/dist/storage/capabilities.d.ts +187 -0
- package/dist/storage/capabilities.js +19 -0
- package/dist/storage/compressed-storage.d.ts +45 -0
- package/dist/storage/compressed-storage.js +2 -0
- package/dist/storage/default-scope.d.ts +17 -0
- package/dist/storage/default-scope.js +1 -0
- package/dist/storage/delete-range.d.ts +109 -0
- package/dist/storage/delete-range.js +64 -0
- package/dist/storage/derived-operations.d.ts +53 -0
- package/dist/storage/derived-operations.js +31 -0
- package/dist/storage/http.d.ts +67 -0
- package/dist/storage/http.js +2 -0
- package/dist/storage/index.d.ts +292 -0
- package/dist/storage/index.js +51 -0
- package/dist/storage/indexeddb.d.ts +49 -0
- package/dist/storage/indexeddb.js +1 -0
- package/dist/storage/interface.d.ts +340 -0
- package/dist/storage/interface.js +2 -0
- package/dist/storage/key-prefixes.d.ts +19 -0
- package/dist/storage/key-prefixes.js +35 -0
- package/dist/storage/lmdb.d.ts +40 -0
- package/dist/storage/lmdb.js +2 -0
- package/dist/storage/memory.d.ts +46 -0
- package/dist/storage/memory.js +2 -0
- package/dist/storage/node-sqlite.d.ts +85 -0
- package/dist/storage/node-sqlite.js +323 -0
- package/dist/storage/read-only-query.d.ts +2 -0
- package/dist/storage/read-only-query.js +19 -0
- package/dist/storage/resolve.d.ts +180 -0
- package/dist/storage/resolve.js +2 -0
- package/dist/storage/scoped-storage.d.ts +68 -0
- package/dist/storage/scoped-storage.js +2 -0
- package/dist/storage/sqlite-key-value-queries.d.ts +40 -0
- package/dist/storage/sqlite-key-value-queries.js +64 -0
- package/dist/storage/sqlite.d.ts +31 -0
- package/dist/storage/sqlite.js +0 -0
- package/dist/storage/text-value-import.d.ts +87 -0
- package/dist/storage/text-value-import.js +50 -0
- package/dist/storage/text-value-store.d.ts +171 -0
- package/dist/storage/text-value-store.js +55 -0
- package/dist/storage/turso.d.ts +60 -0
- package/dist/storage/turso.js +5 -0
- package/dist/storage/typed-storage.d.ts +258 -0
- package/dist/storage/typed-storage.js +2 -0
- package/dist/storage/web-extension.d.ts +55 -0
- package/dist/storage/web-extension.js +1 -0
- package/dist/testing/chaos.d.ts +157 -0
- package/dist/testing/chaos.js +69 -0
- package/dist/testing/event-loop.d.ts +4 -0
- package/dist/testing/event-loop.js +21 -0
- package/dist/testing/index.d.ts +126 -0
- package/dist/testing/index.js +61 -0
- package/dist/testing/mocks.d.ts +145 -0
- package/dist/testing/mocks.js +136 -0
- package/dist/testing/subprocess-engine.d.ts +100 -0
- package/dist/testing/subprocess-engine.js +291 -0
- package/dist/testing/test-engine.d.ts +145 -0
- package/dist/testing/test-engine.js +147 -0
- package/dist/testing/time-control.d.ts +59 -0
- package/dist/testing/time-control.js +68 -0
- package/dist/version.d.ts +12 -0
- package/dist/version.js +1 -0
- package/dist/worker/activity-table.d.ts +33 -0
- package/dist/worker/activity-table.js +20 -0
- package/dist/worker/execute-with-interceptors.d.ts +28 -0
- package/dist/worker/execute-with-interceptors.js +21 -0
- package/dist/worker/heartbeat.d.ts +34 -0
- package/dist/worker/heartbeat.js +31 -0
- package/dist/worker/index.d.ts +57 -0
- package/dist/worker/index.js +334 -0
- package/dist/worker/long-poll.d.ts +54 -0
- package/dist/worker/long-poll.js +134 -0
- package/dist/worker/options.d.ts +66 -0
- package/dist/worker/options.js +19 -0
- package/dist/worker/protocol-internals.d.ts +82 -0
- package/dist/worker/protocol-internals.js +56 -0
- package/dist/worker/protocol-messages.d.ts +264 -0
- package/dist/worker/protocol-messages.js +0 -0
- package/dist/worker/protocol-schemas.d.ts +559 -0
- package/dist/worker/protocol-schemas.js +180 -0
- package/dist/worker/protocol-version.d.ts +71 -0
- package/dist/worker/protocol-version.js +1 -0
- package/dist/worker/protocol.d.ts +72 -0
- package/dist/worker/protocol.js +2 -0
- package/dist/worker/registry/fair-share.d.ts +59 -0
- package/dist/worker/registry/fair-share.js +15 -0
- package/dist/worker/registry/routing.d.ts +17 -0
- package/dist/worker/registry/routing.js +16 -0
- package/dist/worker/registry/summary.d.ts +87 -0
- package/dist/worker/registry/summary.js +81 -0
- package/dist/worker/registry/types.d.ts +123 -0
- package/dist/worker/registry/types.js +0 -0
- package/dist/worker/registry.d.ts +94 -0
- package/dist/worker/registry.js +305 -0
- package/dist/worker/remote-activity-context.d.ts +15 -0
- package/dist/worker/remote-activity-context.js +0 -0
- package/dist/worker/task-result-outbox.d.ts +40 -0
- package/dist/worker/task-result-outbox.js +42 -0
- package/dist/worker/worker-protocol-incompatible-error.d.ts +52 -0
- package/dist/worker/worker-protocol-incompatible-error.js +15 -0
- package/dist/worker/workflow-activity-binding.d.ts +96 -0
- package/dist/worker/workflow-activity-binding.js +22 -0
- package/dist/workers/activity-runner.d.ts +87 -0
- package/dist/workers/activity-runner.js +29 -0
- package/dist/workers/activity-worker-dispatcher.d.ts +85 -0
- package/dist/workers/activity-worker-dispatcher.js +68 -0
- package/dist/workers/activity-worker-entry.d.ts +99 -0
- package/dist/workers/activity-worker-entry.js +59 -0
- package/dist/workers/pool.d.ts +83 -0
- package/dist/workers/pool.js +174 -0
- package/dist/workers/workflow-runner.d.ts +79 -0
- package/dist/workers/workflow-runner.js +245 -0
- package/dist/workers/workflow-worker-entry.d.ts +24 -0
- package/dist/workers/workflow-worker-entry.js +70 -0
- package/package.json +297 -0
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-only foundation for the chained workflow builder API
|
|
3
|
+
* (`workflow({ name }).activities({...}).signals({...}).execute(generator)`).
|
|
4
|
+
*
|
|
5
|
+
* The builder co-locates a workflow with its activity table, signal/update/query
|
|
6
|
+
* maps, and search-attribute schema so that `ctx.run('activityName', input)`,
|
|
7
|
+
* `ctx.waitForSignal('signalName')`, and `engine.start('workflowName', input)`
|
|
8
|
+
* are all type-safe end-to-end without relying on global module augmentation.
|
|
9
|
+
*
|
|
10
|
+
* Helpers (`NormalizeActivities`, `ActivityArgsFor`, `SignalMap`, etc.) live
|
|
11
|
+
* in `./workflow-builder-helpers.ts` so each file stays under the 500-line
|
|
12
|
+
* lint guideline. The runtime constructor for `workflow()` lives in
|
|
13
|
+
* `./workflow-function.ts`; the `WorkflowContext` generic in `./workflow-context.ts`
|
|
14
|
+
* uses the helpers here to type `run`, `waitForSignal`, etc.
|
|
15
|
+
*/
|
|
16
|
+
import type { ActivityCallOptions, ActivityDefinition, ActivityFunction } from './activity.ts';
|
|
17
|
+
import type { QueryDefinition, SignalDefinition, UpdateDefinition } from './message-handles.ts';
|
|
18
|
+
import type { SearchAttributeSchema } from './search-attributes.ts';
|
|
19
|
+
import type { ActivityMap, ActivityMapInput, NormalizeActivities, QueryMap, SignalMap, UpdateMap } from './workflow-builder-helpers.ts';
|
|
20
|
+
import type { WorkflowContext } from './workflow-context.ts';
|
|
21
|
+
import type { WorkflowDefinition, WorkflowOperation } from './workflow-function.ts';
|
|
22
|
+
/**
|
|
23
|
+
* The generator function accepted by `.execute(fn)`. It receives a
|
|
24
|
+
* `WorkflowContext` parameterised by the workflow's normalised activity,
|
|
25
|
+
* signal, update, query, and search-attribute maps, plus the workflow's input,
|
|
26
|
+
* and yields workflow operations until it returns the workflow's output.
|
|
27
|
+
*
|
|
28
|
+
* Both `TInput` and `TOutput` are re-inferred from the generator's signature
|
|
29
|
+
* inside `.execute(fn)`; the workflow's final `WorkflowDefinition` carries the
|
|
30
|
+
* generator-derived types, not whatever placeholders the initial
|
|
31
|
+
* `workflow({ name })` call provided.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* import { workflow, type WorkflowGenerator } from '@lostgradient/weft';
|
|
36
|
+
* const fn: WorkflowGenerator<{ id: string }, string, {}, {}, {}, {}, {}> =
|
|
37
|
+
* async function* (_ctx, input) { return input.id; };
|
|
38
|
+
* const job = workflow({ name: 'job' }).execute(fn);
|
|
39
|
+
* void job;
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export type WorkflowGenerator<TInput, TOutput, TActivities extends ActivityMap, TSignals extends SignalMap, TUpdates extends UpdateMap, TQueries extends QueryMap, TSearchAttributes extends SearchAttributeSchema> = (context: WorkflowContextOf<TActivities, TSignals, TUpdates, TQueries, TSearchAttributes>, input: TInput) => AsyncGenerator<unknown, TOutput, unknown>;
|
|
43
|
+
/**
|
|
44
|
+
* Convenience alias for the workflow-scoped `WorkflowContext` projection. The
|
|
45
|
+
* underlying `WorkflowContext` interface accepts the same five generic
|
|
46
|
+
* parameters (`TActivities`, `TSignals`, `TUpdates`, `TQueries`,
|
|
47
|
+
* `TSearchAttributes`), and the builder threads its normalised maps through
|
|
48
|
+
* this alias so `.execute(fn)` sees the right `ctx` shape inside `fn`.
|
|
49
|
+
*
|
|
50
|
+
* Legacy bare-`WorkflowContext` callers continue to typecheck because the
|
|
51
|
+
* interface's generics all default to empty/permissive shapes, so the typed
|
|
52
|
+
* overloads de-prioritise to `never` and existing string-name/callable
|
|
53
|
+
* overloads still match.
|
|
54
|
+
*/
|
|
55
|
+
export type WorkflowContextOf<TActivities extends ActivityMap = ActivityMap, TSignals extends SignalMap = SignalMap, TUpdates extends UpdateMap = UpdateMap, TQueries extends QueryMap = QueryMap, TSearchAttributes extends SearchAttributeSchema = SearchAttributeSchema> = WorkflowContext<TActivities, TSignals, TUpdates, TQueries, TSearchAttributes>;
|
|
56
|
+
/**
|
|
57
|
+
* Tracks which `WorkflowBuilder` chain methods have already been called. Each
|
|
58
|
+
* call flips its flag from `false` to `true`; the method's type becomes `never`
|
|
59
|
+
* when its flag is already true, so duplicate calls fail to typecheck. The
|
|
60
|
+
* runtime mirrors this with a state flag set that throws `WorkflowBuilderError`
|
|
61
|
+
* on duplicate invocation.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* import type { BuilderState } from '@lostgradient/weft';
|
|
66
|
+
*
|
|
67
|
+
* // A fresh builder starts with every flag `false`.
|
|
68
|
+
* const initial: BuilderState = {
|
|
69
|
+
* activities: false,
|
|
70
|
+
* signals: false,
|
|
71
|
+
* updates: false,
|
|
72
|
+
* queries: false,
|
|
73
|
+
* searchAttributes: false,
|
|
74
|
+
* };
|
|
75
|
+
* void initial;
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export interface BuilderState {
|
|
79
|
+
readonly activities: boolean;
|
|
80
|
+
readonly signals: boolean;
|
|
81
|
+
readonly updates: boolean;
|
|
82
|
+
readonly queries: boolean;
|
|
83
|
+
readonly searchAttributes: boolean;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Initial builder state — every chain method is still available. A fresh
|
|
87
|
+
* `workflow({ name })` call returns a `WorkflowBuilder<..., InitialBuilderState>`.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* import { workflow, type InitialBuilderState, type WorkflowBuilder } from '@lostgradient/weft';
|
|
92
|
+
*
|
|
93
|
+
* const fresh: WorkflowBuilder<'demo', {}, {}, {}, {}, {}, InitialBuilderState> =
|
|
94
|
+
* workflow({ name: 'demo' });
|
|
95
|
+
* void fresh;
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export interface InitialBuilderState {
|
|
99
|
+
readonly activities: false;
|
|
100
|
+
readonly signals: false;
|
|
101
|
+
readonly updates: false;
|
|
102
|
+
readonly queries: false;
|
|
103
|
+
readonly searchAttributes: false;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Flip one builder-state flag from `false` to `true`. Each chain method on
|
|
107
|
+
* `WorkflowBuilder` uses this to mark its slot as used; the next call to the
|
|
108
|
+
* same method sees `true` and resolves to `never`.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```ts
|
|
112
|
+
* import type { InitialBuilderState, MarkBuilderState } from '@lostgradient/weft';
|
|
113
|
+
*
|
|
114
|
+
* type AfterActivities = MarkBuilderState<InitialBuilderState, 'activities'>;
|
|
115
|
+
* // AfterActivities['activities'] is true; the rest stay false.
|
|
116
|
+
* const _check: AfterActivities['activities'] = true;
|
|
117
|
+
* void _check;
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
export type MarkBuilderState<S extends BuilderState, K extends keyof BuilderState> = {
|
|
121
|
+
readonly [P in keyof S]: P extends K ? true : S[P];
|
|
122
|
+
};
|
|
123
|
+
declare const workflowAlreadyRegisteredBrand: unique symbol;
|
|
124
|
+
/**
|
|
125
|
+
* Branded diagnostic type intersected with the parameter of
|
|
126
|
+
* `engine.register(workflow)` when the workflow's `name` is already present in
|
|
127
|
+
* the engine's typed workflow registry. No real `WorkflowDefinition` satisfies
|
|
128
|
+
* the brand, so the call fails to compile on the bare expression form — not
|
|
129
|
+
* just when the return value is used.
|
|
130
|
+
*
|
|
131
|
+
* Runtime is more lenient: registering the same `WorkflowDefinition` object
|
|
132
|
+
* reference is idempotent; same-name-different-object throws. TypeScript
|
|
133
|
+
* cannot distinguish the two at the type level. Callers needing the runtime
|
|
134
|
+
* idempotent path from TypeScript use a documented escape hatch.
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```ts
|
|
138
|
+
* import { Engine, workflow, type WorkflowAlreadyRegistered } from '@lostgradient/weft';
|
|
139
|
+
* const greet = workflow({ name: 'greet' }).execute(async function* () { return 'hi'; });
|
|
140
|
+
* const engine = new Engine().register(greet);
|
|
141
|
+
* engine.register(greet as never); // runtime idempotent escape hatch
|
|
142
|
+
* const brand: WorkflowAlreadyRegistered<'greet'> | undefined = undefined;
|
|
143
|
+
* void brand;
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export interface WorkflowAlreadyRegistered<TName extends string> {
|
|
147
|
+
readonly [workflowAlreadyRegisteredBrand]: TName;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Chained builder returned by `workflow({ name })`. Each chain method
|
|
151
|
+
* (`activities`, `signals`, `updates`, `queries`, `searchAttributes`) is
|
|
152
|
+
* callable at most once before the terminal `.execute()`. The phantom-flag
|
|
153
|
+
* generic `S` makes a method's type `never` once its flag is true, so
|
|
154
|
+
* duplicate calls fail to typecheck.
|
|
155
|
+
*
|
|
156
|
+
* `.execute(fn)` re-infers the workflow's input and output from the generator
|
|
157
|
+
* signature and returns a frozen `WorkflowDefinition` that carries the
|
|
158
|
+
* normalised activity/signal/update/query maps and search-attribute schema.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```ts
|
|
162
|
+
* import { workflow, signal, type InitialBuilderState, type WorkflowBuilder } from '@lostgradient/weft';
|
|
163
|
+
*
|
|
164
|
+
* const builder: WorkflowBuilder<'welcome', {}, {}, {}, {}, {}, InitialBuilderState> =
|
|
165
|
+
* workflow({ name: 'welcome' });
|
|
166
|
+
*
|
|
167
|
+
* const welcome = builder
|
|
168
|
+
* .activities({ formatGreeting: async ({ name }: { name: string }) => `Hello, ${name}` })
|
|
169
|
+
* .signals({ approve: signal<{ approverId: string }>('approve') })
|
|
170
|
+
* .execute(async function* (ctx, input: { name: string }) {
|
|
171
|
+
* const greeting = yield* ctx.run('formatGreeting', input);
|
|
172
|
+
* const { approverId } = yield* ctx.waitForSignal('approve');
|
|
173
|
+
* return { greeting, approverId };
|
|
174
|
+
* });
|
|
175
|
+
* void welcome;
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
export interface WorkflowBuilder<TName extends string, TActivities extends ActivityMap, TSignals extends SignalMap, TUpdates extends UpdateMap, TQueries extends QueryMap, TSearchAttributes extends SearchAttributeSchema, TState extends BuilderState> {
|
|
179
|
+
/**
|
|
180
|
+
* Declare the activity table this workflow can dispatch with
|
|
181
|
+
* `ctx.run('name', input)`. The outer object key is the canonical activity
|
|
182
|
+
* name; each value can be a bare async function, an `activity()` callable,
|
|
183
|
+
* or an `{ execute, retry?, timeout?, ... }` options object. Calling
|
|
184
|
+
* `.activities` twice before `.execute()` is a type error and throws
|
|
185
|
+
* `WorkflowBuilderError` at runtime.
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```ts
|
|
189
|
+
* import { workflow } from '@lostgradient/weft';
|
|
190
|
+
* const welcome = workflow({ name: 'welcome' })
|
|
191
|
+
* .activities({ format: async ({ name }: { name: string }) => `Hello, ${name}!` })
|
|
192
|
+
* .execute(async function* (ctx, input: { name: string }) {
|
|
193
|
+
* return yield* ctx.run('format', input);
|
|
194
|
+
* });
|
|
195
|
+
* void welcome;
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
activities: TState['activities'] extends true ? never : <TInput extends ActivityMapInput>(map: TInput) => WorkflowBuilder<TName, NormalizeActivities<TInput>, TSignals, TUpdates, TQueries, TSearchAttributes, MarkBuilderState<TState, 'activities'>>;
|
|
199
|
+
/**
|
|
200
|
+
* Declare the signals this workflow accepts so `ctx.waitForSignal('name')`
|
|
201
|
+
* autocompletes and types the payload. Type-safety and introspection
|
|
202
|
+
* metadata only — `.signals` does not introduce new runtime gating on top
|
|
203
|
+
* of the existing dispatch path. Calling `.signals` twice before
|
|
204
|
+
* `.execute()` is a type error and throws `WorkflowBuilderError` at runtime.
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```ts
|
|
208
|
+
* import { signal, workflow } from '@lostgradient/weft';
|
|
209
|
+
* const approval = workflow({ name: 'approval' })
|
|
210
|
+
* .signals({ approve: signal<{ approverId: string }>('approve') })
|
|
211
|
+
* .execute(async function* (ctx) {
|
|
212
|
+
* return yield* ctx.waitForSignal('approve');
|
|
213
|
+
* });
|
|
214
|
+
* void approval;
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
signals: TState['signals'] extends true ? never : <TInput extends SignalMap>(map: TInput) => WorkflowBuilder<TName, TActivities, TInput, TUpdates, TQueries, TSearchAttributes, MarkBuilderState<TState, 'signals'>>;
|
|
218
|
+
/**
|
|
219
|
+
* Declare the request-response update handlers this workflow accepts.
|
|
220
|
+
* Type-safety and introspection metadata only — the update-dispatch path
|
|
221
|
+
* is unchanged. Calling `.updates` twice before `.execute()` is a type
|
|
222
|
+
* error and throws `WorkflowBuilderError` at runtime.
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```ts
|
|
226
|
+
* import { update, workflow } from '@lostgradient/weft';
|
|
227
|
+
* const order = workflow({ name: 'order' })
|
|
228
|
+
* .updates({ check: update<{ id: string }, { ok: boolean }>('check') })
|
|
229
|
+
* .execute(async function* () { return { ok: true }; });
|
|
230
|
+
* void order;
|
|
231
|
+
* ```
|
|
232
|
+
*/
|
|
233
|
+
updates: TState['updates'] extends true ? never : <TInput extends UpdateMap>(map: TInput) => WorkflowBuilder<TName, TActivities, TSignals, TInput, TQueries, TSearchAttributes, MarkBuilderState<TState, 'updates'>>;
|
|
234
|
+
/**
|
|
235
|
+
* Declare the read-only query handlers this workflow accepts. Type-safety
|
|
236
|
+
* and introspection metadata only — `.queries` does not introduce new
|
|
237
|
+
* runtime gating. Calling `.queries` twice before `.execute()` is a type
|
|
238
|
+
* error and throws `WorkflowBuilderError` at runtime.
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```ts
|
|
242
|
+
* import { query, workflow } from '@lostgradient/weft';
|
|
243
|
+
* const job = workflow({ name: 'job' })
|
|
244
|
+
* .queries({ getProgress: query<void, number>('getProgress') })
|
|
245
|
+
* .execute(async function* () { return { done: true }; });
|
|
246
|
+
* void job;
|
|
247
|
+
* ```
|
|
248
|
+
*/
|
|
249
|
+
queries: TState['queries'] extends true ? never : <TInput extends QueryMap>(map: TInput) => WorkflowBuilder<TName, TActivities, TSignals, TUpdates, TInput, TSearchAttributes, MarkBuilderState<TState, 'queries'>>;
|
|
250
|
+
/**
|
|
251
|
+
* Declare the search-attribute schema this workflow populates via
|
|
252
|
+
* `ctx.setAttribute('key', value)`. Each entry pins the attribute's value
|
|
253
|
+
* type so `setAttribute` typechecks both the key and the value. The schema
|
|
254
|
+
* surfaces in the existing visibility/indexing path — no new runtime
|
|
255
|
+
* gating. Calling `.searchAttributes` twice before `.execute()` is a type
|
|
256
|
+
* error and throws `WorkflowBuilderError` at runtime.
|
|
257
|
+
*
|
|
258
|
+
* @example
|
|
259
|
+
* ```ts
|
|
260
|
+
* import { workflow } from '@lostgradient/weft';
|
|
261
|
+
* const order = workflow({ name: 'order' })
|
|
262
|
+
* .searchAttributes({ customerId: { type: 'string' } })
|
|
263
|
+
* .execute(async function* (ctx, input: { customerId: string }) {
|
|
264
|
+
* ctx.setAttribute('customerId', input.customerId);
|
|
265
|
+
* });
|
|
266
|
+
* void order;
|
|
267
|
+
* ```
|
|
268
|
+
*/
|
|
269
|
+
searchAttributes: TState['searchAttributes'] extends true ? never : <TInput extends SearchAttributeSchema>(schema: TInput) => WorkflowBuilder<TName, TActivities, TSignals, TUpdates, TQueries, TInput, MarkBuilderState<TState, 'searchAttributes'>>;
|
|
270
|
+
/**
|
|
271
|
+
* Seal the builder and produce a `BuiltWorkflowDefinition`. The generator's
|
|
272
|
+
* `input` and `output` types are re-inferred from `fn`'s signature, so the
|
|
273
|
+
* returned definition carries the generator-derived input/output. After
|
|
274
|
+
* `.execute(fn)` runs once, the builder is sealed: every subsequent call
|
|
275
|
+
* (including a second `.execute()`) throws `WorkflowBuilderError`. Nested
|
|
276
|
+
* activity/signal/update/query/search-attribute definitions are
|
|
277
|
+
* deep-frozen so post-build mutation cannot affect engine-side behaviour.
|
|
278
|
+
*
|
|
279
|
+
* @example
|
|
280
|
+
* ```ts
|
|
281
|
+
* import { workflow } from '@lostgradient/weft';
|
|
282
|
+
* const welcome = workflow({ name: 'welcome' })
|
|
283
|
+
* .activities({ format: async ({ name }: { name: string }) => `Hi ${name}` })
|
|
284
|
+
* .execute(async function* (ctx, input: { name: string }) {
|
|
285
|
+
* return yield* ctx.run('format', input);
|
|
286
|
+
* });
|
|
287
|
+
* void welcome;
|
|
288
|
+
* ```
|
|
289
|
+
*/
|
|
290
|
+
execute<TInput, TOutput>(fn: WorkflowGenerator<TInput, TOutput, TActivities, TSignals, TUpdates, TQueries, TSearchAttributes>): BuiltWorkflowDefinition<TInput, Awaited<TOutput>, TName, TActivities, TSignals, TUpdates, TQueries, TSearchAttributes>;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* The `WorkflowDefinition` returned by `.execute(fn)`. Carries the normalised
|
|
294
|
+
* activity/signal/update/query maps and search-attribute schema alongside the
|
|
295
|
+
* usual `WorkflowDefinition` fields. The runtime objects on these fields are
|
|
296
|
+
* deep-frozen so post-definition mutation cannot affect registered runtime
|
|
297
|
+
* behaviour.
|
|
298
|
+
*
|
|
299
|
+
* The five trailing generic parameters are phantom — they exist so the
|
|
300
|
+
* `Engine.register` type signature can read the workflow's per-message-kind
|
|
301
|
+
* maps off the definition and propagate them to the engine's typed registries
|
|
302
|
+
* without a separate side channel.
|
|
303
|
+
*
|
|
304
|
+
* @example
|
|
305
|
+
* ```ts
|
|
306
|
+
* import { workflow, type BuiltWorkflowDefinition } from '@lostgradient/weft';
|
|
307
|
+
*
|
|
308
|
+
* // `.execute(fn)` returns a `BuiltWorkflowDefinition`. Its `activities`,
|
|
309
|
+
* // `signals`, `updates`, `queries`, and `searchAttributes` containers are
|
|
310
|
+
* // deep-frozen so post-build mutation has no effect on what the engine sees.
|
|
311
|
+
* const welcome = workflow({ name: 'welcome' })
|
|
312
|
+
* .activities({ format: async ({ name }: { name: string }) => `Hello, ${name}` })
|
|
313
|
+
* .execute(async function* (ctx, input: { name: string }) {
|
|
314
|
+
* return { greeting: yield* ctx.run('format', input) };
|
|
315
|
+
* });
|
|
316
|
+
* const built: BuiltWorkflowDefinition<unknown, unknown, 'welcome', {}, {}, {}, {}, {}> =
|
|
317
|
+
* welcome as never;
|
|
318
|
+
* void built;
|
|
319
|
+
* ```
|
|
320
|
+
*/
|
|
321
|
+
export interface BuiltWorkflowDefinition<TInput, TOutput, TName extends string, TActivities extends ActivityMap, TSignals extends SignalMap, TUpdates extends UpdateMap, TQueries extends QueryMap, TSearchAttributes extends SearchAttributeSchema> extends WorkflowDefinition<TInput, TOutput, TName> {
|
|
322
|
+
readonly activities: Readonly<Record<string, Readonly<ActivityDefinition>>>;
|
|
323
|
+
readonly signals: Readonly<Record<string, Readonly<SignalDefinition<unknown>>>>;
|
|
324
|
+
readonly updates: Readonly<Record<string, Readonly<UpdateDefinition>>>;
|
|
325
|
+
readonly queries: Readonly<Record<string, Readonly<QueryDefinition>>>;
|
|
326
|
+
readonly searchAttributes: Readonly<SearchAttributeSchema>;
|
|
327
|
+
/** Phantom marker for the normalised activity map. Not present at runtime. */
|
|
328
|
+
readonly _activities?: TActivities;
|
|
329
|
+
/** Phantom marker for the signal map. Not present at runtime. */
|
|
330
|
+
readonly _signals?: TSignals;
|
|
331
|
+
/** Phantom marker for the update map. Not present at runtime. */
|
|
332
|
+
readonly _updates?: TUpdates;
|
|
333
|
+
/** Phantom marker for the query map. Not present at runtime. */
|
|
334
|
+
readonly _queries?: TQueries;
|
|
335
|
+
/** Phantom marker for the search-attribute schema. Not present at runtime. */
|
|
336
|
+
readonly _searchAttributes?: TSearchAttributes;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Re-exported so Phase 2 (`workflow()` runtime rewrite) and Phase 3 (engine
|
|
340
|
+
* plumbing) can import everything from a single barrel without picking apart
|
|
341
|
+
* the cross-references.
|
|
342
|
+
*/
|
|
343
|
+
export type { ActivityCallOptions, ActivityFunction, WorkflowOperation };
|
|
File without changes
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import type { ErasedSagaStep, OffloadReference, StreamReference, StreamSink } from '../context/types.ts';
|
|
2
|
+
import type { UpdateHandlerOptions } from '../context/updates.ts';
|
|
3
|
+
import type { HumanReviewOptions, HumanReviewResult } from '../review/index.ts';
|
|
4
|
+
import type { ActivityCallable, ActivityCallOptions } from './activity.ts';
|
|
5
|
+
import type { WorkflowId } from './identity.ts';
|
|
6
|
+
import type { QueryDefinition, SignalDefinition, UpdateDefinition } from './message-handles.ts';
|
|
7
|
+
import type { UnknownNameWhenRegistryHasNoKnownNames } from './registry-type-helpers.ts';
|
|
8
|
+
import type { Duration } from './retry-retention.ts';
|
|
9
|
+
import type { SearchAttributeHandle, SearchAttributeSchema, SearchAttributeValue, SearchAttributeValueForDefinition } from './search-attributes.ts';
|
|
10
|
+
import type { WorkflowStateNamespace } from './state.ts';
|
|
11
|
+
import type { ActivityArgsFor, ActivityMap, ActivityResultFor, QueryMap, QueryShape, SignalMap, SignalPayload, UpdateMap, UpdatePayload } from './workflow-builder-helpers.ts';
|
|
12
|
+
import type { ChildWorkflowOptions, ChildWorkflowTarget, WorkflowMapOptions, WorkflowOperation, WorkflowPipeStage, WorkflowPipeStageDefinition, WorkflowReduceInput, WorkflowReduceOptions } from './workflow-function.ts';
|
|
13
|
+
export type WorkflowOperationResult<TOperation> = TOperation extends Generator<unknown, infer TResult, unknown> ? TResult : never;
|
|
14
|
+
export type WorkflowOperationTupleResult<TOperations extends readonly WorkflowOperation<unknown>[]> = {
|
|
15
|
+
-readonly [TIndex in keyof TOperations]: WorkflowOperationResult<TOperations[TIndex]>;
|
|
16
|
+
};
|
|
17
|
+
type RunAllBranchResult<TBranch> = TBranch extends readonly [
|
|
18
|
+
execute: infer TExecute,
|
|
19
|
+
...rest: unknown[]
|
|
20
|
+
] ? TExecute extends (...arguments_: never[]) => infer TResult ? Awaited<TResult> : unknown : never;
|
|
21
|
+
export type WorkflowRunAllBranch = readonly [execute: (...arguments_: never[]) => unknown] | readonly [execute: (...arguments_: never[]) => unknown, input: unknown] | readonly [execute: Function] | readonly [execute: Function, input: unknown];
|
|
22
|
+
export type RunAllResult<TBranches extends Record<string, WorkflowRunAllBranch>> = {
|
|
23
|
+
[TKey in keyof TBranches]: [RunAllBranchResult<TBranches[TKey]>] extends [never] ? unknown : RunAllBranchResult<TBranches[TKey]>;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* The durable workflow authoring surface passed to every
|
|
27
|
+
* {@link WorkflowFunction}. Workflow handlers can call `ctx.run`,
|
|
28
|
+
* `ctx.sleep`, `ctx.waitForSignal`, `ctx.startChild`, composition helpers,
|
|
29
|
+
* search-attribute helpers, update registration, and review helpers directly.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* import { workflow, Engine, activity, type WorkflowContext } from '@lostgradient/weft';
|
|
34
|
+
*
|
|
35
|
+
* interface GreetingInput {
|
|
36
|
+
* name: string;
|
|
37
|
+
* }
|
|
38
|
+
*
|
|
39
|
+
* const engine = new Engine();
|
|
40
|
+
* const greet = activity({
|
|
41
|
+
* name: 'greet',
|
|
42
|
+
* execute: async (input: GreetingInput) => `Hello, ${input.name}`,
|
|
43
|
+
* });
|
|
44
|
+
*
|
|
45
|
+
* engine.register(
|
|
46
|
+
* workflow({ name: 'myWorkflow' }).execute(async function* (ctx: WorkflowContext, input: GreetingInput) {
|
|
47
|
+
* ctx.setAttribute('customer', input.name);
|
|
48
|
+
* return yield* ctx.run(greet, input);
|
|
49
|
+
* }),
|
|
50
|
+
* );
|
|
51
|
+
* void engine;
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export interface WorkflowContext<TActivities extends ActivityMap = {}, TSignals extends SignalMap = {}, TUpdates extends UpdateMap = {}, TQueries extends QueryMap = {}, TSearchAttributes extends SearchAttributeSchema = {}> {
|
|
55
|
+
readonly workflowId: WorkflowId;
|
|
56
|
+
readonly signal: AbortSignal;
|
|
57
|
+
readonly executionTimeRemaining: number;
|
|
58
|
+
readonly startedAt: number;
|
|
59
|
+
readonly state: WorkflowStateNamespace;
|
|
60
|
+
run<TName extends keyof TActivities & string>(name: TName, ...rest: ActivityArgsFor<TActivities[TName]>): WorkflowOperation<ActivityResultFor<TActivities[TName]>>;
|
|
61
|
+
run<TName extends keyof TActivities & string>(name: TName, ...rest: [...ActivityArgsFor<TActivities[TName]>, ActivityCallOptions]): WorkflowOperation<ActivityResultFor<TActivities[TName]>>;
|
|
62
|
+
run<TName extends string>(name: UnknownNameWhenRegistryHasNoKnownNames<TName, keyof TActivities & string>, input?: unknown, options?: ActivityCallOptions): WorkflowOperation<unknown>;
|
|
63
|
+
run<TResult>(fn: ActivityCallable<void, TResult>, options?: ActivityCallOptions): WorkflowOperation<TResult>;
|
|
64
|
+
run<TResult>(fn: (() => Promise<TResult> | TResult) & {
|
|
65
|
+
execute?: never;
|
|
66
|
+
}, options?: ActivityCallOptions): WorkflowOperation<TResult>;
|
|
67
|
+
run<TInput, TResult>(fn: ActivityCallable<TInput, TResult>, input: TInput, options?: ActivityCallOptions): WorkflowOperation<TResult>;
|
|
68
|
+
run<TInput, TResult>(fn: ((input: TInput) => Promise<TResult> | TResult) & {
|
|
69
|
+
execute?: never;
|
|
70
|
+
}, input: TInput, options?: ActivityCallOptions): WorkflowOperation<TResult>;
|
|
71
|
+
sleep(duration: Duration): WorkflowOperation<void>;
|
|
72
|
+
suspendUntil<T = unknown>(resumeToken: string): WorkflowOperation<T>;
|
|
73
|
+
waitForSignal<TName extends keyof TSignals & string>(name: TName): WorkflowOperation<SignalPayload<TSignals[TName]>>;
|
|
74
|
+
waitForSignal<TInput>(definition: SignalDefinition<TInput>): WorkflowOperation<TInput>;
|
|
75
|
+
waitForSignal<T = unknown>(name: string): WorkflowOperation<T>;
|
|
76
|
+
waitForUpdate<TName extends keyof TUpdates & string>(name: TName): WorkflowOperation<UpdatePayload<TUpdates[TName]>>;
|
|
77
|
+
waitForUpdate<TInput, TOutput>(definition: UpdateDefinition<TInput, TOutput>): WorkflowOperation<{
|
|
78
|
+
payload: TInput;
|
|
79
|
+
respond: (result: TOutput) => void;
|
|
80
|
+
}>;
|
|
81
|
+
waitForUpdate<T = unknown>(name: string): WorkflowOperation<{
|
|
82
|
+
payload: T;
|
|
83
|
+
respond: (result: unknown) => void;
|
|
84
|
+
}>;
|
|
85
|
+
review(options: HumanReviewOptions): WorkflowOperation<HumanReviewResult>;
|
|
86
|
+
all<const TOperations extends readonly WorkflowOperation<unknown>[]>(operations: TOperations): WorkflowOperation<WorkflowOperationTupleResult<TOperations>>;
|
|
87
|
+
race<const TOperations extends readonly WorkflowOperation<unknown>[]>(operations: TOperations): WorkflowOperation<WorkflowOperationTupleResult<TOperations>[number]>;
|
|
88
|
+
memo<T>(key: string, fn: () => T | Promise<T>): WorkflowOperation<T>;
|
|
89
|
+
offload<T>(key: string, fn: () => Promise<T>): WorkflowOperation<OffloadReference>;
|
|
90
|
+
stream(key: string, fn: (sink: StreamSink) => AsyncGenerator<unknown, void, unknown>): WorkflowOperation<StreamReference>;
|
|
91
|
+
load<T>(reference: OffloadReference): WorkflowOperation<T>;
|
|
92
|
+
archive(key: string, data: unknown): WorkflowOperation<void>;
|
|
93
|
+
runAll<const TBranches extends Record<string, WorkflowRunAllBranch>>(branches: TBranches): WorkflowOperation<RunAllResult<TBranches>>;
|
|
94
|
+
/**
|
|
95
|
+
* Run a compensating transaction. In inline execution, if cancellation
|
|
96
|
+
* interrupts an active saga, completed steps compensate in reverse order on a
|
|
97
|
+
* best-effort, in-memory path. Cancellation compensation runs outside the
|
|
98
|
+
* durable activity pipeline and is not replayed after engine restart.
|
|
99
|
+
*/
|
|
100
|
+
saga<TFinalOutput = unknown>(steps: ErasedSagaStep[]): WorkflowOperation<TFinalOutput>;
|
|
101
|
+
startChild<TResult = unknown>(workflowType: string, input: unknown, options?: ChildWorkflowOptions): WorkflowOperation<TResult>;
|
|
102
|
+
pipe<TInput, TOutput>(stages: [WorkflowPipeStageDefinition<TInput, TOutput>], input: TInput): WorkflowOperation<TOutput>;
|
|
103
|
+
pipe<TInput, TIntermediate, TOutput>(stages: [
|
|
104
|
+
WorkflowPipeStageDefinition<TInput, TIntermediate>,
|
|
105
|
+
WorkflowPipeStageDefinition<TIntermediate, TOutput>
|
|
106
|
+
], input: TInput): WorkflowOperation<TOutput>;
|
|
107
|
+
pipe<TInput, TFirst, TSecond, TOutput>(stages: [
|
|
108
|
+
WorkflowPipeStageDefinition<TInput, TFirst>,
|
|
109
|
+
WorkflowPipeStageDefinition<TFirst, TSecond>,
|
|
110
|
+
WorkflowPipeStageDefinition<TSecond, TOutput>
|
|
111
|
+
], input: TInput): WorkflowOperation<TOutput>;
|
|
112
|
+
pipe<TInput, TFirst, TSecond, TThird, TOutput>(stages: [
|
|
113
|
+
WorkflowPipeStageDefinition<TInput, TFirst>,
|
|
114
|
+
WorkflowPipeStageDefinition<TFirst, TSecond>,
|
|
115
|
+
WorkflowPipeStageDefinition<TSecond, TThird>,
|
|
116
|
+
WorkflowPipeStageDefinition<TThird, TOutput>
|
|
117
|
+
], input: TInput): WorkflowOperation<TOutput>;
|
|
118
|
+
pipe<TResult = unknown>(stages: Array<WorkflowPipeStage | ChildWorkflowTarget>, input: unknown): WorkflowOperation<TResult>;
|
|
119
|
+
map<TItem, TResult>(items: readonly TItem[], workflowType: ChildWorkflowTarget<TItem, TResult>, options?: WorkflowMapOptions): WorkflowOperation<TResult[]>;
|
|
120
|
+
reduce<TItem, TAccumulator>(items: readonly TItem[], workflowType: ChildWorkflowTarget<WorkflowReduceInput<TAccumulator, TItem>, TAccumulator>, initialValue: TAccumulator, options?: WorkflowReduceOptions): WorkflowOperation<TAccumulator>;
|
|
121
|
+
explain(enabled?: boolean): void;
|
|
122
|
+
speculate<TResult>(execute: (context: WorkflowContext) => WorkflowOperation<TResult> | AsyncGenerator<unknown, TResult, unknown>): WorkflowOperation<TResult>;
|
|
123
|
+
setAttribute<TName extends keyof TSearchAttributes & string>(key: TName, value: SearchAttributeValueForDefinition<TSearchAttributes[TName]>): void;
|
|
124
|
+
setAttribute<TValue extends SearchAttributeValue>(key: SearchAttributeHandle<TValue>, value: TValue): void;
|
|
125
|
+
setAttribute(key: string, value: SearchAttributeValue): void;
|
|
126
|
+
setAttributes(attributes: Record<string, SearchAttributeValue>): void;
|
|
127
|
+
getAttribute<TName extends keyof TSearchAttributes & string>(key: TName): SearchAttributeValueForDefinition<TSearchAttributes[TName]> | undefined;
|
|
128
|
+
getAttribute<T extends SearchAttributeValue>(key: SearchAttributeHandle<T>): T | undefined;
|
|
129
|
+
getAttribute<T extends SearchAttributeValue = SearchAttributeValue>(key: string): T | undefined;
|
|
130
|
+
getAttributes(): Readonly<Record<string, SearchAttributeValue>>;
|
|
131
|
+
onUpdate<TName extends keyof TUpdates & string>(name: TName, handler: (payload: UpdatePayload<TUpdates[TName]>['payload']) => Parameters<UpdatePayload<TUpdates[TName]>['respond']>[0] | Promise<Parameters<UpdatePayload<TUpdates[TName]>['respond']>[0]>, options?: UpdateHandlerOptions): void;
|
|
132
|
+
onUpdate<TInput, TOutput>(definition: UpdateDefinition<TInput, TOutput>, handler: (payload: TInput) => TOutput | Promise<TOutput>, options?: UpdateHandlerOptions): void;
|
|
133
|
+
onUpdate(name: string, handler: (payload: unknown) => unknown, options?: UpdateHandlerOptions): void;
|
|
134
|
+
onQuery<TName extends keyof TQueries & string>(name: TName, handler: (input: QueryShape<TQueries[TName]>['input']) => QueryShape<TQueries[TName]>['output'] | Promise<QueryShape<TQueries[TName]>['output']>): void;
|
|
135
|
+
onQuery<TInput, TOutput>(definition: QueryDefinition<TInput, TOutput>, handler: (input: TInput) => TOutput | Promise<TOutput>): void;
|
|
136
|
+
onQuery<TOutput>(definition: QueryDefinition<void, TOutput>, handler: () => TOutput | Promise<TOutput>): void;
|
|
137
|
+
onQuery(name: string, handler: (input: unknown) => unknown): void;
|
|
138
|
+
expose(accessors: Record<string, () => unknown>): void;
|
|
139
|
+
streamUrl(reference: StreamReference): string;
|
|
140
|
+
/**
|
|
141
|
+
* Register a best-effort teardown handler that runs when this workflow is
|
|
142
|
+
* cancelled, before the workflow is finalized.
|
|
143
|
+
* Handlers run in registration order; async handlers are awaited; failures
|
|
144
|
+
* are swallowed — the workflow still finalizes as cancelled.
|
|
145
|
+
*
|
|
146
|
+
* **Best-effort only**: handlers run outside the durable effect log and are
|
|
147
|
+
* not retried. Side effects in handlers are not replay-safe, and registered
|
|
148
|
+
* handlers are not restored after an engine restart.
|
|
149
|
+
*
|
|
150
|
+
* **Worker-pool mode**: this method throws when the engine uses a remote
|
|
151
|
+
* worker pool so teardown does not silently drop.
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```ts
|
|
155
|
+
* import { workflow, type WorkflowContext } from '@lostgradient/weft';
|
|
156
|
+
*
|
|
157
|
+
* const myWorkflow = workflow({ name: 'my-workflow' }).execute(async function* (ctx: WorkflowContext) {
|
|
158
|
+
* ctx.onCancel(async () => {
|
|
159
|
+
* await releaseLocks();
|
|
160
|
+
* });
|
|
161
|
+
* yield* ctx.run(longRunningActivity);
|
|
162
|
+
* });
|
|
163
|
+
* void myWorkflow;
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
onCancel(handler: () => Promise<void> | void): void;
|
|
167
|
+
}
|
|
168
|
+
export {};
|
|
File without changes
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `WorkflowDefinition` type — the runtime shape produced by
|
|
3
|
+
* `workflow({ name }).execute(fn)`. Carries the workflow name, the generator
|
|
4
|
+
* handler, and the colocated metadata the engine reads at registration time
|
|
5
|
+
* (version, schemas, retention, search attributes, migration, domain
|
|
6
|
+
* constraints, tags, description).
|
|
7
|
+
*/
|
|
8
|
+
import type { ConstraintDefinition } from '../constraint.ts';
|
|
9
|
+
import type { DefinitionSchema } from './definition-schema.ts';
|
|
10
|
+
import type { RetentionPolicy } from './retry-retention.ts';
|
|
11
|
+
import type { SearchAttributeSchema } from './search-attributes.ts';
|
|
12
|
+
import type { WorkflowFunction } from './workflow-function.ts';
|
|
13
|
+
/**
|
|
14
|
+
* Named workflow definition returned by {@link workflow}. The runtime object
|
|
15
|
+
* carries the workflow name, the generator handler, and optional metadata
|
|
16
|
+
* (version, schemas, retention policy, search-attribute schema, checkpoint
|
|
17
|
+
* migration, and domain constraints) that the engine reads at registration
|
|
18
|
+
* time.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { workflow, type WorkflowDefinition, type WorkflowContext } from '@lostgradient/weft';
|
|
23
|
+
*
|
|
24
|
+
* const greet: WorkflowDefinition<string, string> = workflow({ name: 'greet' })
|
|
25
|
+
* .execute(async function* (_ctx: WorkflowContext, input: string) {
|
|
26
|
+
* return `hello ${input}`;
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export interface WorkflowDefinition<TInput = unknown, TOutput = unknown, TName extends string = string> {
|
|
31
|
+
/** Wire-safe workflow name; the registry key. */
|
|
32
|
+
name: TName;
|
|
33
|
+
/** Workflow generator function executed by the engine. */
|
|
34
|
+
handler: WorkflowFunction<TInput, TOutput>;
|
|
35
|
+
/** Version recorded with workflow state and used for checkpoint migration. */
|
|
36
|
+
version?: string;
|
|
37
|
+
/** User-facing description for catalog, code generation, and tool surfaces. */
|
|
38
|
+
description?: string;
|
|
39
|
+
/** User-facing grouping tags for catalog and documentation surfaces. */
|
|
40
|
+
tags?: ReadonlyArray<string>;
|
|
41
|
+
/** Optional input schema metadata for introspection; registration validates metadata shape only. */
|
|
42
|
+
inputSchema?: DefinitionSchema<unknown, TInput>;
|
|
43
|
+
/** Optional output schema metadata for introspection; registration validates metadata shape only. */
|
|
44
|
+
outputSchema?: DefinitionSchema<unknown, TOutput>;
|
|
45
|
+
/** Optional checkpoint migration from a prior workflow version. */
|
|
46
|
+
migrate?: (checkpoint: unknown, fromVersion: string) => unknown;
|
|
47
|
+
/** Search-attribute schema used to validate indexed workflow metadata. */
|
|
48
|
+
searchAttributes?: SearchAttributeSchema;
|
|
49
|
+
/** Retention policy for terminal workflow records. */
|
|
50
|
+
retention?: RetentionPolicy;
|
|
51
|
+
/**
|
|
52
|
+
* Domain constraints evaluated at every checkpoint commit. When a constraint's
|
|
53
|
+
* `check` returns false, the engine dispatches a `ConstraintViolatedEvent`
|
|
54
|
+
* and reacts per `onViolation` ('fail' | 'compensate' | 'warn').
|
|
55
|
+
*
|
|
56
|
+
* **Note**: Constraints are only evaluated when using the default inline
|
|
57
|
+
* execution strategy. Workflows running in a Web Worker
|
|
58
|
+
* (`workerExecution` option) will silently skip constraint evaluation.
|
|
59
|
+
*/
|
|
60
|
+
constraints?: ConstraintDefinition[];
|
|
61
|
+
}
|
|
File without changes
|