@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,215 @@
|
|
|
1
|
+
import { WeftError } from '../weft-error.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Thrown by {@link Engine.start} when a workflow with the requested ID already
|
|
4
|
+
* exists in storage. Inspect the `workflowId` property to identify the
|
|
5
|
+
* conflict. To allow deduplication semantics instead of an error, pass
|
|
6
|
+
* `idempotencyKey` in {@link StartOptions}.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { workflow, Engine, WorkflowAlreadyExistsError } from '@lostgradient/weft';
|
|
11
|
+
*
|
|
12
|
+
* const engine = new Engine();
|
|
13
|
+
* engine.register(workflow({ name: 'ping' }).execute(async function* () { return 'pong'; }));
|
|
14
|
+
*
|
|
15
|
+
* await engine.start('ping', null, { id: 'my-ping' });
|
|
16
|
+
* try {
|
|
17
|
+
* await engine.start('ping', null, { id: 'my-ping' });
|
|
18
|
+
* } catch (err) {
|
|
19
|
+
* if (err instanceof WorkflowAlreadyExistsError) {
|
|
20
|
+
* console.error('already running:', err.workflowId);
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare class WorkflowAlreadyExistsError extends WeftError<'WorkflowAlreadyExistsError'> {
|
|
26
|
+
readonly workflowId: string;
|
|
27
|
+
constructor(workflowId: string);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Thrown by {@link Engine.deleteAll} when the supplied filter would match
|
|
31
|
+
* non-terminal workflows. Narrow the filter to completed, failed, cancelled,
|
|
32
|
+
* or timed-out workflows before deleting in bulk.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* import { BulkDeleteRequiresTerminalWorkflowsError } from '@lostgradient/weft';
|
|
37
|
+
*
|
|
38
|
+
* function shouldShowTerminalOnlyMessage(error: unknown): boolean {
|
|
39
|
+
* return error instanceof BulkDeleteRequiresTerminalWorkflowsError;
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare class BulkDeleteRequiresTerminalWorkflowsError extends WeftError<'BulkDeleteRequiresTerminalWorkflowsError'> {
|
|
44
|
+
constructor();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Thrown by committed bulk operations when the supplied confirmation token no
|
|
48
|
+
* longer matches the current dry-run scope. Run a fresh preview and commit
|
|
49
|
+
* with the returned token.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* import { BulkOperationConfirmationError } from '@lostgradient/weft';
|
|
54
|
+
*
|
|
55
|
+
* function needsFreshBulkPreview(error: unknown): boolean {
|
|
56
|
+
* return error instanceof BulkOperationConfirmationError;
|
|
57
|
+
* }
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare class BulkOperationConfirmationError extends WeftError<'BulkOperationConfirmationError'> {
|
|
61
|
+
constructor();
|
|
62
|
+
}
|
|
63
|
+
export type MissingWorkflowSample = {
|
|
64
|
+
readonly type: string;
|
|
65
|
+
readonly workflowId: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Thrown by {@link Engine.create} and {@link Engine.recoverAll} when storage
|
|
69
|
+
* contains running workflows whose workflow type has not been registered on
|
|
70
|
+
* the engine. The structured sample list is capped so logs remain bounded,
|
|
71
|
+
* while `missingTypes` and `registeredTypes` carry the full sorted type lists.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* import { Engine, WorkflowTypeNotRegisteredForRecoveryError } from '@lostgradient/weft';
|
|
76
|
+
*
|
|
77
|
+
* const engine = new Engine();
|
|
78
|
+
* try {
|
|
79
|
+
* await engine.recoverAll();
|
|
80
|
+
* } catch (error) {
|
|
81
|
+
* if (error instanceof WorkflowTypeNotRegisteredForRecoveryError) {
|
|
82
|
+
* console.error('missing workflow types:', error.missingTypes);
|
|
83
|
+
* }
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare class WorkflowTypeNotRegisteredForRecoveryError extends WeftError<'WorkflowTypeNotRegisteredForRecoveryError'> {
|
|
88
|
+
readonly registeredTypes: readonly string[];
|
|
89
|
+
readonly missingTypes: readonly string[];
|
|
90
|
+
readonly missingWorkflowSamples: ReadonlyArray<MissingWorkflowSample>;
|
|
91
|
+
readonly missingWorkflowCount: number;
|
|
92
|
+
readonly samplesTruncated: boolean;
|
|
93
|
+
constructor(parameters: {
|
|
94
|
+
registeredTypes: Iterable<string>;
|
|
95
|
+
missingWorkflows: ReadonlyArray<MissingWorkflowSample>;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Thrown by {@link Engine.create} when a definition map key does not match the
|
|
100
|
+
* definition's runtime `name`. The factory uses map keys for type inference,
|
|
101
|
+
* so mismatches are rejected before registration to keep the inferred type and
|
|
102
|
+
* runtime registry aligned.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* import { activity, Engine, EngineCreateNameMismatchError } from '@lostgradient/weft';
|
|
107
|
+
*
|
|
108
|
+
* const farewell = activity({ name: 'farewell', execute: async () => 'bye' });
|
|
109
|
+
* try {
|
|
110
|
+
* await Engine.create({ activities: { greet: farewell } });
|
|
111
|
+
* } catch (error) {
|
|
112
|
+
* if (error instanceof EngineCreateNameMismatchError) {
|
|
113
|
+
* console.error(error.expectedName, error.actualName);
|
|
114
|
+
* }
|
|
115
|
+
* }
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export declare class EngineCreateNameMismatchError extends WeftError<'EngineCreateNameMismatchError'> {
|
|
119
|
+
readonly definitionKind: 'workflow' | 'activity';
|
|
120
|
+
readonly expectedName: string;
|
|
121
|
+
readonly actualName: string;
|
|
122
|
+
constructor(definitionKind: 'workflow' | 'activity', expectedName: string, actualName: string);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Thrown to settle a pending `handle.result()` promise when the engine is
|
|
126
|
+
* disposed while the workflow is still in flight. Disposing the engine tears
|
|
127
|
+
* down the machinery that would eventually resolve the result, so awaiting
|
|
128
|
+
* callers receive this rejection instead of a promise that never settles.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```ts
|
|
132
|
+
* import { EngineDisposedError } from '@lostgradient/weft';
|
|
133
|
+
*
|
|
134
|
+
* function isShutdownDuringResult(error: unknown): boolean {
|
|
135
|
+
* return error instanceof EngineDisposedError;
|
|
136
|
+
* }
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
export declare class EngineDisposedError extends WeftError<'EngineDisposedError'> {
|
|
140
|
+
constructor();
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Thrown by engine APIs that need a workflow to be present in storage but
|
|
144
|
+
* cannot find one with the given ID. Inspect `workflowId` to identify the
|
|
145
|
+
* missing record.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* import { Engine, WorkflowNotFoundError } from '@lostgradient/weft';
|
|
150
|
+
*
|
|
151
|
+
* const engine = new Engine();
|
|
152
|
+
* try {
|
|
153
|
+
* await engine.cancel('does-not-exist');
|
|
154
|
+
* } catch (err) {
|
|
155
|
+
* if (err instanceof WorkflowNotFoundError) {
|
|
156
|
+
* console.error('cannot cancel — no such workflow:', err.workflowId);
|
|
157
|
+
* }
|
|
158
|
+
* }
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export declare class WorkflowNotFoundError extends WeftError<'WorkflowNotFoundError'> {
|
|
162
|
+
readonly workflowId: string;
|
|
163
|
+
constructor(workflowId: string);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Thrown by {@link Engine.start} and other registry-driven entry points when
|
|
167
|
+
* the caller asks for a workflow type that was never registered. Distinct
|
|
168
|
+
* from `WorkflowNotFoundError`, which signals an unknown workflow ID at
|
|
169
|
+
* runtime.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```ts
|
|
173
|
+
* import { Engine, WorkflowNotRegisteredError } from '@lostgradient/weft';
|
|
174
|
+
*
|
|
175
|
+
* const engine = new Engine();
|
|
176
|
+
* try {
|
|
177
|
+
* await engine.start('checkout', { orderId: 'order-1' });
|
|
178
|
+
* } catch (err) {
|
|
179
|
+
* if (err instanceof WorkflowNotRegisteredError) {
|
|
180
|
+
* console.error('register the workflow first:', err.workflowType);
|
|
181
|
+
* }
|
|
182
|
+
* }
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
export declare class WorkflowNotRegisteredError extends WeftError<'WorkflowNotRegisteredError'> {
|
|
186
|
+
readonly workflowType: string;
|
|
187
|
+
constructor(workflowType: string);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Thrown when the engine cannot resolve an activity name to a registered
|
|
191
|
+
* function during dispatch. The per-workflow {@link ActivityRegistry} (built
|
|
192
|
+
* from `workflow(...).activities({...})`) is consulted first; if the workflow
|
|
193
|
+
* type is unknown or the activity name is missing there, the engine falls back
|
|
194
|
+
* to the global registry. When neither resolves, this error is raised with the
|
|
195
|
+
* (bounded) workflow type and activity name so logs and operator surfaces can
|
|
196
|
+
* pin the misconfiguration without leaking high-cardinality detail.
|
|
197
|
+
*
|
|
198
|
+
* Replaces the prior unstructured `Error("No activity registered with name X")`
|
|
199
|
+
* thrown deep in `resolveActivityFunction`.
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```ts
|
|
203
|
+
* import { workflow, ActivityResolutionError } from '@lostgradient/weft';
|
|
204
|
+
*
|
|
205
|
+
* function isMissingActivity(error: unknown): boolean {
|
|
206
|
+
* return error instanceof ActivityResolutionError;
|
|
207
|
+
* }
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
export declare class ActivityResolutionError extends WeftError<'ActivityResolutionError'> {
|
|
211
|
+
readonly workflowType: string;
|
|
212
|
+
readonly activityName: string;
|
|
213
|
+
constructor(workflowType: string, activityName: string);
|
|
214
|
+
}
|
|
215
|
+
export { PersistedDataIncompatibleError } from '../persisted-data-incompatible-error.ts';
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { WeftError } from "../weft-error.js";
|
|
2
|
+
|
|
3
|
+
export class WorkflowAlreadyExistsError extends WeftError {
|
|
4
|
+
workflowId;
|
|
5
|
+
constructor(workflowId) {
|
|
6
|
+
super("WorkflowAlreadyExistsError", `Workflow with id "${workflowId}" already exists`);
|
|
7
|
+
this.workflowId = workflowId;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class BulkDeleteRequiresTerminalWorkflowsError extends WeftError {
|
|
12
|
+
constructor() {
|
|
13
|
+
super("BulkDeleteRequiresTerminalWorkflowsError", "Bulk delete matches non-terminal workflows");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export class BulkOperationConfirmationError extends WeftError {
|
|
18
|
+
constructor() {
|
|
19
|
+
super("BulkOperationConfirmationError", "Bulk confirmation token does not match the current dry-run scope");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const MISSING_WORKFLOW_SAMPLE_LIMIT = 20, MISSING_TYPE_MESSAGE_LIMIT = 10;
|
|
23
|
+
function summarizeMissingWorkflowTypes(missingTypes) {
|
|
24
|
+
const visibleTypes = missingTypes.slice(0, MISSING_TYPE_MESSAGE_LIMIT), hiddenTypeCount = missingTypes.length - visibleTypes.length;
|
|
25
|
+
return hiddenTypeCount > 0 ? `${visibleTypes.join(", ")} (+${hiddenTypeCount} more)` : visibleTypes.join(", ");
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export class WorkflowTypeNotRegisteredForRecoveryError extends WeftError {
|
|
29
|
+
registeredTypes;
|
|
30
|
+
missingTypes;
|
|
31
|
+
missingWorkflowSamples;
|
|
32
|
+
missingWorkflowCount;
|
|
33
|
+
samplesTruncated;
|
|
34
|
+
constructor(parameters) {
|
|
35
|
+
const missingWorkflowCount = parameters.missingWorkflows.length, missingTypes = [
|
|
36
|
+
...new Set(parameters.missingWorkflows.map((workflow) => workflow.type))
|
|
37
|
+
].toSorted(), registeredTypes = [...parameters.registeredTypes].toSorted(), summarizedTypes = summarizeMissingWorkflowTypes(missingTypes);
|
|
38
|
+
super("WorkflowTypeNotRegisteredForRecoveryError", `Cannot recover ${missingWorkflowCount} running workflow(s): workflow type(s) not registered: ${summarizedTypes}. Register the missing workflow types before calling \`recoverAll()\`, or pass ` + "`{ acknowledgeUnknownWorkflowTypes: true }` (dangerous \u2014 see migration docs).");
|
|
39
|
+
this.registeredTypes = registeredTypes;
|
|
40
|
+
this.missingTypes = missingTypes;
|
|
41
|
+
this.missingWorkflowSamples = parameters.missingWorkflows.slice(0, MISSING_WORKFLOW_SAMPLE_LIMIT).map((workflow) => ({ ...workflow }));
|
|
42
|
+
this.missingWorkflowCount = missingWorkflowCount;
|
|
43
|
+
this.samplesTruncated = missingWorkflowCount > MISSING_WORKFLOW_SAMPLE_LIMIT;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export class EngineCreateNameMismatchError extends WeftError {
|
|
48
|
+
definitionKind;
|
|
49
|
+
expectedName;
|
|
50
|
+
actualName;
|
|
51
|
+
constructor(definitionKind, expectedName, actualName) {
|
|
52
|
+
super("EngineCreateNameMismatchError", `Engine.create() ${definitionKind} definition key "${expectedName}" does not match definition name "${actualName}"`);
|
|
53
|
+
this.definitionKind = definitionKind;
|
|
54
|
+
this.expectedName = expectedName;
|
|
55
|
+
this.actualName = actualName;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export class EngineDisposedError extends WeftError {
|
|
60
|
+
constructor() {
|
|
61
|
+
super("EngineDisposedError", "Engine was disposed before the workflow completed");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export class WorkflowNotFoundError extends WeftError {
|
|
66
|
+
workflowId;
|
|
67
|
+
constructor(workflowId) {
|
|
68
|
+
super("WorkflowNotFoundError", `Workflow "${workflowId}" not found`);
|
|
69
|
+
this.workflowId = workflowId;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export class WorkflowNotRegisteredError extends WeftError {
|
|
74
|
+
workflowType;
|
|
75
|
+
constructor(workflowType) {
|
|
76
|
+
super("WorkflowNotRegisteredError", `No workflow registered with name "${workflowType}"`);
|
|
77
|
+
this.workflowType = workflowType;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export class ActivityResolutionError extends WeftError {
|
|
82
|
+
workflowType;
|
|
83
|
+
activityName;
|
|
84
|
+
constructor(workflowType, activityName) {
|
|
85
|
+
super("ActivityResolutionError", `No activity registered with name "${activityName}" for workflow type "${workflowType}". Register the activity via \`workflow({ name }).activities({ ... })\` on the workflow that runs it, or via \`engine.register(activityDefinition)\` for the legacy global registry.`);
|
|
86
|
+
this.workflowType = workflowType;
|
|
87
|
+
this.activityName = activityName;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export { PersistedDataIncompatibleError } from "../persisted-data-incompatible-error.js";
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event-log compaction: truncate old hash-chained event-log records behind a
|
|
3
|
+
* confirmed checkpoint to reclaim storage on long-running workflows.
|
|
4
|
+
*
|
|
5
|
+
* The canonical checkpoint at `KEYS.checkpoint` already holds the compacted
|
|
6
|
+
* execution state, and resume rebuilds from that checkpoint alone (never from
|
|
7
|
+
* event replay), so deleting records below a retention window does not affect
|
|
8
|
+
* resume correctness. To keep {@link EventLog.verify} from falsely reporting a
|
|
9
|
+
* broken hash chain after truncation, compaction writes an atomic **watermark**
|
|
10
|
+
* record in the SAME storage batch as the deletes: `verify()` seeds its chain
|
|
11
|
+
* walk from the watermark instead of genesis.
|
|
12
|
+
*
|
|
13
|
+
* Compaction is folded into the checkpoint commit batch (see
|
|
14
|
+
* `checkpoint-io.ts`), so the deletes and the watermark commit atomically with
|
|
15
|
+
* the new checkpoint — there is never a committed state where records are gone
|
|
16
|
+
* but the watermark is absent.
|
|
17
|
+
*
|
|
18
|
+
* @module core/engine/event-log-compaction
|
|
19
|
+
*/
|
|
20
|
+
import type { BatchOperation, Storage } from '../../storage/interface.ts';
|
|
21
|
+
/**
|
|
22
|
+
* Upper bound on event-log records deleted in a single compaction (one
|
|
23
|
+
* checkpoint commit). A workflow that enables `retentionWindow` with a large
|
|
24
|
+
* pre-existing backlog compacts incrementally across successive checkpoints —
|
|
25
|
+
* the watermark advances by at most this many records per commit — rather than
|
|
26
|
+
* emitting one unbounded batch that could exceed storage batch limits, stall the
|
|
27
|
+
* execution path, or load the whole backlog into memory at once.
|
|
28
|
+
*/
|
|
29
|
+
export declare const MAX_COMPACTION_BATCH = 1000;
|
|
30
|
+
/**
|
|
31
|
+
* The compaction watermark stored at `ev:{id}:watermark`. Marks where the live
|
|
32
|
+
* (post-compaction) event-log prefix begins so {@link EventLog.verify} can walk
|
|
33
|
+
* the surviving chain without a genesis predecessor.
|
|
34
|
+
*
|
|
35
|
+
* Internal: the shape is a storage implementation detail and is intentionally
|
|
36
|
+
* not exported from the package barrel.
|
|
37
|
+
*/
|
|
38
|
+
export type EventLogWatermark = {
|
|
39
|
+
type: 'event-log-watermark';
|
|
40
|
+
version: 1;
|
|
41
|
+
/** Lowest SURVIVING sequence; all records with `sequence < this` are deleted. */
|
|
42
|
+
sequence: number;
|
|
43
|
+
/**
|
|
44
|
+
* `hashBytes` of the raw stored bytes of the last deleted record
|
|
45
|
+
* (`sequence - 1`). Equals the surviving record `sequence`'s own `prevHash`
|
|
46
|
+
* field, so `verify()` validates the first surviving link from this seed.
|
|
47
|
+
*/
|
|
48
|
+
prevHash: string;
|
|
49
|
+
/**
|
|
50
|
+
* Highest sequence deleted across ALL compactions (`sequence - 1`). Since the
|
|
51
|
+
* watermark only advances forward, `[0, deletedThrough]` is the complete
|
|
52
|
+
* deleted prefix — unambiguous across incremental batches.
|
|
53
|
+
*/
|
|
54
|
+
deletedThrough: number;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Narrow an unknown decoded value to {@link EventLogWatermark}, rejecting
|
|
58
|
+
* internally inconsistent or out-of-range records (negative/non-integer
|
|
59
|
+
* sequences, `deletedThrough` that is not `sequence - 1`, empty `prevHash`) so a
|
|
60
|
+
* corrupt or hand-tampered watermark is never treated as authoritative.
|
|
61
|
+
*/
|
|
62
|
+
export declare function isEventLogWatermark(value: unknown): value is EventLogWatermark;
|
|
63
|
+
/** Read and decode the watermark for a workflow, or `null` when absent/invalid. */
|
|
64
|
+
export declare function readEventLogWatermark(storage: Storage, workflowId: string): Promise<EventLogWatermark | null>;
|
|
65
|
+
/** Outcome of a compaction that contributed operations to a checkpoint batch. */
|
|
66
|
+
export type CompactionResult = {
|
|
67
|
+
/** The watermark written in this batch. */
|
|
68
|
+
watermark: EventLogWatermark;
|
|
69
|
+
/** Raw stored bytes of the deleted records, in ascending sequence order. */
|
|
70
|
+
deletedEntries: Uint8Array[];
|
|
71
|
+
/** Inclusive sequence bounds of the records deleted in this batch. */
|
|
72
|
+
deletedRange: {
|
|
73
|
+
from: number;
|
|
74
|
+
to: number;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Append the delete + watermark operations for one compaction pass onto
|
|
79
|
+
* `operations`, to be committed atomically alongside a checkpoint batch.
|
|
80
|
+
*
|
|
81
|
+
* Returns `null` (a no-op — `operations` is left untouched) when:
|
|
82
|
+
* - compaction is disabled (`retentionWindow` is `null`);
|
|
83
|
+
* - there is nothing new to delete (`batchFirstSurviving <= currentFloor`);
|
|
84
|
+
* - the last-deleted record (`batchFirstSurviving - 1`) is missing — we cannot
|
|
85
|
+
* derive a valid `prevHash`, so we abort rather than write an unvalidatable
|
|
86
|
+
* watermark, leaving any pre-existing corruption visible to `verify()`;
|
|
87
|
+
* - the delete range is non-contiguous (a gap already exists) — aborting keeps
|
|
88
|
+
* compaction from advancing the watermark past pre-existing corruption.
|
|
89
|
+
*
|
|
90
|
+
* @param retentionWindow Keep at most this many most-recent records, or `null`
|
|
91
|
+
* to disable compaction (a no-op).
|
|
92
|
+
* @param headSequence The event-log head sequence AFTER the current
|
|
93
|
+
* checkpoint append (`newHead.sequence`). The retention window is measured
|
|
94
|
+
* against this, NOT `checkpoint.step`, so step/sequence need not stay coupled.
|
|
95
|
+
*/
|
|
96
|
+
export declare function appendCompactionOperations(storage: Storage, workflowId: string, headSequence: number, retentionWindow: number | null, operations: BatchOperation[]): Promise<CompactionResult | null>;
|
|
97
|
+
/**
|
|
98
|
+
* Serialize the raw stored bytes of a deleted event-log range for an
|
|
99
|
+
* {@link import('../types/archive-adapter.ts').ArchiveAdapter}. Round-trips via
|
|
100
|
+
* the codec: `decode()` on the result yields the original `Uint8Array[]`.
|
|
101
|
+
*/
|
|
102
|
+
export declare function serializeDeletedEntries(entries: Uint8Array[]): Uint8Array;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { hashBytes } from "../../runtime/portable.js";
|
|
2
|
+
import { KEYS } from "../../storage/interface.js";
|
|
3
|
+
import { decode, encode } from "../codec.js";
|
|
4
|
+
import { isWorkflowLogEntry } from "../event-log-shared.js";
|
|
5
|
+
export const MAX_COMPACTION_BATCH = 1000;
|
|
6
|
+
export function isEventLogWatermark(value) {
|
|
7
|
+
if (typeof value !== "object" || value === null)
|
|
8
|
+
return !1;
|
|
9
|
+
const record = value;
|
|
10
|
+
if (record.type !== "event-log-watermark" || record.version !== 1)
|
|
11
|
+
return !1;
|
|
12
|
+
const prevHash = record.prevHash;
|
|
13
|
+
if (typeof prevHash !== "string" || prevHash.length === 0)
|
|
14
|
+
return !1;
|
|
15
|
+
return isConsistentWatermarkBounds(record.sequence, record.deletedThrough);
|
|
16
|
+
}
|
|
17
|
+
function isConsistentWatermarkBounds(sequence, deletedThrough) {
|
|
18
|
+
return typeof sequence === "number" && Number.isSafeInteger(sequence) && sequence > 0 && deletedThrough === sequence - 1;
|
|
19
|
+
}
|
|
20
|
+
export async function readEventLogWatermark(storage, workflowId) {
|
|
21
|
+
const bytes = await storage.get(KEYS.eventWatermark(workflowId));
|
|
22
|
+
if (bytes === null)
|
|
23
|
+
return null;
|
|
24
|
+
const decoded = decode(bytes);
|
|
25
|
+
return isEventLogWatermark(decoded) ? decoded : null;
|
|
26
|
+
}
|
|
27
|
+
export async function appendCompactionOperations(storage, workflowId, headSequence, retentionWindow, operations) {
|
|
28
|
+
if (retentionWindow === null)
|
|
29
|
+
return null;
|
|
30
|
+
const targetFirstSurviving = Math.max(0, headSequence - retentionWindow + 1), currentFloor = (await readEventLogWatermark(storage, workflowId))?.sequence ?? 0, batchFirstSurviving = Math.min(targetFirstSurviving, currentFloor + MAX_COMPACTION_BATCH);
|
|
31
|
+
if (batchFirstSurviving <= currentFloor)
|
|
32
|
+
return null;
|
|
33
|
+
const collected = await collectDeleteRange(storage, workflowId, currentFloor, batchFirstSurviving);
|
|
34
|
+
if (collected === null)
|
|
35
|
+
return null;
|
|
36
|
+
const prevHash = hashBytes(collected.lastDeletedBytes), watermark = {
|
|
37
|
+
type: "event-log-watermark",
|
|
38
|
+
version: 1,
|
|
39
|
+
sequence: batchFirstSurviving,
|
|
40
|
+
prevHash,
|
|
41
|
+
deletedThrough: batchFirstSurviving - 1
|
|
42
|
+
};
|
|
43
|
+
for (let sequence = currentFloor;sequence < batchFirstSurviving; sequence += 1)
|
|
44
|
+
operations.push({ type: "delete", key: KEYS.event(workflowId, sequence) });
|
|
45
|
+
operations.push({
|
|
46
|
+
type: "put",
|
|
47
|
+
key: KEYS.eventWatermark(workflowId),
|
|
48
|
+
value: encode(watermark)
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
watermark,
|
|
52
|
+
deletedEntries: collected.deletedEntries,
|
|
53
|
+
deletedRange: { from: currentFloor, to: batchFirstSurviving - 1 }
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async function collectDeleteRange(storage, workflowId, currentFloor, batchFirstSurviving) {
|
|
57
|
+
const deletedEntries = [];
|
|
58
|
+
let expected = currentFloor;
|
|
59
|
+
const prefix = KEYS.eventPrefix(workflowId), gte = KEYS.event(workflowId, currentFloor), lt = KEYS.event(workflowId, batchFirstSurviving);
|
|
60
|
+
for await (const [, bytes] of storage.scan(prefix, { gte, lt })) {
|
|
61
|
+
const decoded = decode(bytes);
|
|
62
|
+
if (!isWorkflowLogEntry(decoded) || decoded.sequence !== expected)
|
|
63
|
+
return null;
|
|
64
|
+
deletedEntries.push(bytes);
|
|
65
|
+
expected += 1;
|
|
66
|
+
}
|
|
67
|
+
if (expected !== batchFirstSurviving || deletedEntries.length === 0)
|
|
68
|
+
return null;
|
|
69
|
+
const lastDeletedBytes = deletedEntries[deletedEntries.length - 1];
|
|
70
|
+
if (lastDeletedBytes === void 0)
|
|
71
|
+
return null;
|
|
72
|
+
return { deletedEntries, lastDeletedBytes };
|
|
73
|
+
}
|
|
74
|
+
export function serializeDeletedEntries(entries) {
|
|
75
|
+
return encode(entries);
|
|
76
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { WorkflowStatus } from '../types.ts';
|
|
2
|
+
import { type UpdateResponse } from '../updates.ts';
|
|
3
|
+
import type { EngineInternals } from './internals.ts';
|
|
4
|
+
export declare const TERMINAL_STATUSES: ReadonlySet<WorkflowStatus>;
|
|
5
|
+
export type GuardCallbacks = {
|
|
6
|
+
deleteRequestIfUnconsumed: (workflowId: string, updateId: string) => Promise<UpdateResponse | null>;
|
|
7
|
+
getUpdateResponse: (updateId: string) => Promise<UpdateResponse | null>;
|
|
8
|
+
};
|
|
9
|
+
/** Throw {@link WorkflowTerminalError} if the workflow is in a terminal state. */
|
|
10
|
+
export declare function guardTerminalWorkflow(internals: EngineInternals, workflowId: string, _callbacks: GuardCallbacks): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Re-check terminal state after persisting a coordinated update request.
|
|
13
|
+
* This closes the race where the workflow completes between the preflight
|
|
14
|
+
* guard and request creation, which would otherwise leave the caller
|
|
15
|
+
* waiting for a response that can never arrive.
|
|
16
|
+
*/
|
|
17
|
+
export declare function guardTerminalWorkflowAfterCoordinatedRequest(internals: EngineInternals, workflowId: string, updateId: string, callbacks: GuardCallbacks): Promise<void>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { sleep } from "../../runtime/portable.js";
|
|
2
|
+
import { KEYS } from "../../storage/interface.js";
|
|
3
|
+
import { WorkflowTerminalError } from "../updates.js";
|
|
4
|
+
import { decodeWorkflowState } from "./validation.js";
|
|
5
|
+
const COORDINATED_UPDATE_CONSUMPTION_RETRY_ATTEMPTS = 5, COORDINATED_UPDATE_CONSUMPTION_RETRY_DELAY_MS = 5;
|
|
6
|
+
export const TERMINAL_STATUSES = new Set([
|
|
7
|
+
"completed",
|
|
8
|
+
"failed",
|
|
9
|
+
"cancelled",
|
|
10
|
+
"timed-out"
|
|
11
|
+
]);
|
|
12
|
+
export async function guardTerminalWorkflow(internals, workflowId, _callbacks) {
|
|
13
|
+
const stateBytes = await internals.storage.get(KEYS.workflow(workflowId));
|
|
14
|
+
if (!stateBytes)
|
|
15
|
+
return;
|
|
16
|
+
const state = decodeWorkflowState(stateBytes);
|
|
17
|
+
if (TERMINAL_STATUSES.has(state.status))
|
|
18
|
+
throw new WorkflowTerminalError(workflowId, state.status);
|
|
19
|
+
}
|
|
20
|
+
async function coordinatedUpdateWasConsumed(internals, workflowId, updateId, callbacks) {
|
|
21
|
+
for (let attempt = 0;attempt < COORDINATED_UPDATE_CONSUMPTION_RETRY_ATTEMPTS; attempt++) {
|
|
22
|
+
if (await callbacks.getUpdateResponse(updateId) !== null)
|
|
23
|
+
return !0;
|
|
24
|
+
if (await internals.storage.get(KEYS.update(workflowId, updateId)) === null)
|
|
25
|
+
return !0;
|
|
26
|
+
if (attempt < COORDINATED_UPDATE_CONSUMPTION_RETRY_ATTEMPTS - 1)
|
|
27
|
+
await sleep(COORDINATED_UPDATE_CONSUMPTION_RETRY_DELAY_MS);
|
|
28
|
+
}
|
|
29
|
+
return !1;
|
|
30
|
+
}
|
|
31
|
+
export async function guardTerminalWorkflowAfterCoordinatedRequest(internals, workflowId, updateId, callbacks) {
|
|
32
|
+
try {
|
|
33
|
+
await guardTerminalWorkflow(internals, workflowId, callbacks);
|
|
34
|
+
} catch (error) {
|
|
35
|
+
if (error instanceof WorkflowTerminalError) {
|
|
36
|
+
if (await coordinatedUpdateWasConsumed(internals, workflowId, updateId, callbacks))
|
|
37
|
+
return;
|
|
38
|
+
if (await callbacks.deleteRequestIfUnconsumed(workflowId, updateId) !== null)
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { WorkflowState } from '../types.ts';
|
|
2
|
+
export declare function createWorkflowHandleEventIterator(handle: EventTarget, loadWorkflowState: () => Promise<WorkflowState | null>, synthesizeTerminalEvent: (state: WorkflowState) => Event | null): AsyncIterableIterator<Event>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { WORKFLOW_TERMINAL_EVENT_TYPES } from "../events/workflow-events.js";
|
|
2
|
+
const WORKFLOW_HANDLE_NON_TERMINAL_EVENT_TYPES = [
|
|
3
|
+
"activity:started",
|
|
4
|
+
"activity:completed",
|
|
5
|
+
"signal:received"
|
|
6
|
+
], WORKFLOW_HANDLE_TERMINAL_EVENT_TYPES = WORKFLOW_TERMINAL_EVENT_TYPES;
|
|
7
|
+
export async function* createWorkflowHandleEventIterator(handle, loadWorkflowState, synthesizeTerminalEvent) {
|
|
8
|
+
const queue = { events: [], resolver: void 0 }, state = { done: !1 }, removeListeners = addWorkflowHandleIteratorListeners(handle, queue, state);
|
|
9
|
+
try {
|
|
10
|
+
if (!state.done)
|
|
11
|
+
synthesizeIteratorTerminalEvent(queue, state, await loadWorkflowState(), synthesizeTerminalEvent);
|
|
12
|
+
while (!state.done || queue.events.length > 0) {
|
|
13
|
+
if (queue.events.length === 0)
|
|
14
|
+
await waitForWorkflowHandleIteratorEvent(queue);
|
|
15
|
+
while (queue.events.length > 0)
|
|
16
|
+
yield queue.events.shift();
|
|
17
|
+
}
|
|
18
|
+
} finally {
|
|
19
|
+
removeListeners();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function addWorkflowHandleIteratorListeners(handle, queue, state) {
|
|
23
|
+
const listener = enqueueWorkflowHandleEvent.bind(void 0, queue), terminal = finishWorkflowHandleIteration.bind(void 0, state, queue);
|
|
24
|
+
for (const type of WORKFLOW_HANDLE_NON_TERMINAL_EVENT_TYPES)
|
|
25
|
+
handle.addEventListener(type, listener);
|
|
26
|
+
for (const type of WORKFLOW_HANDLE_TERMINAL_EVENT_TYPES)
|
|
27
|
+
handle.addEventListener(type, terminal);
|
|
28
|
+
return () => {
|
|
29
|
+
for (const type of WORKFLOW_HANDLE_NON_TERMINAL_EVENT_TYPES)
|
|
30
|
+
handle.removeEventListener(type, listener);
|
|
31
|
+
for (const type of WORKFLOW_HANDLE_TERMINAL_EVENT_TYPES)
|
|
32
|
+
handle.removeEventListener(type, terminal);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function enqueueWorkflowHandleEvent(queue, event) {
|
|
36
|
+
queue.events.push(event);
|
|
37
|
+
queue.resolver?.();
|
|
38
|
+
}
|
|
39
|
+
function finishWorkflowHandleIteration(state, queue, event) {
|
|
40
|
+
if (state.done)
|
|
41
|
+
return;
|
|
42
|
+
state.done = !0;
|
|
43
|
+
enqueueWorkflowHandleEvent(queue, event);
|
|
44
|
+
}
|
|
45
|
+
function synthesizeIteratorTerminalEvent(queue, state, persisted, synthesizeTerminalEvent) {
|
|
46
|
+
if (!persisted || state.done)
|
|
47
|
+
return;
|
|
48
|
+
const synthetic = synthesizeTerminalEvent(persisted);
|
|
49
|
+
if (!synthetic)
|
|
50
|
+
return;
|
|
51
|
+
queue.events.push(synthetic);
|
|
52
|
+
state.done = !0;
|
|
53
|
+
}
|
|
54
|
+
async function waitForWorkflowHandleIteratorEvent(queue) {
|
|
55
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
56
|
+
queue.resolver = resolve;
|
|
57
|
+
await promise;
|
|
58
|
+
queue.resolver = void 0;
|
|
59
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WorkflowResultWaiter } from './engine-internal-types.ts';
|
|
2
|
+
import { WorkflowHandle } from './handles.ts';
|
|
3
|
+
import type { EngineInternals } from './internals.ts';
|
|
4
|
+
export declare function createWorkflowHandleWithResultPromise(internals: EngineInternals, workflowId: string): WorkflowHandle;
|
|
5
|
+
export declare function createWorkflowResultWaiter(internals: EngineInternals, workflowId: string): WorkflowResultWaiter;
|
|
6
|
+
export declare function getWorkflowResultPromise(internals: EngineInternals, workflowId: string): Promise<unknown>;
|
|
7
|
+
export declare function bootstrapWorkflowResultResolver(internals: EngineInternals, workflowId: string, waiter: WorkflowResultWaiter): Promise<void>;
|
|
8
|
+
export declare function cacheHandle(internals: EngineInternals, workflowId: string, handle: WorkflowHandle): void;
|