@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,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport plumbing for the {@link WorkflowEventSubscription}: the minimal
|
|
3
|
+
* socket surface it drives, the watch-channel URL builder, the default
|
|
4
|
+
* `WebSocket` factory (Bun vs. browser), and the frame parsing / overlap-dedup
|
|
5
|
+
* helpers. Kept separate from the subscription state machine so each file stays
|
|
6
|
+
* small and the pure helpers are independently testable.
|
|
7
|
+
*
|
|
8
|
+
* @module client/event-stream-transport
|
|
9
|
+
*/
|
|
10
|
+
import type { WorkflowEvent } from '../core/types.ts';
|
|
11
|
+
/** Minimal socket surface the subscription drives. Matches `WebSocket`. */
|
|
12
|
+
export type StreamSocket = {
|
|
13
|
+
close(code?: number, reason?: string): void;
|
|
14
|
+
addEventListener(type: 'open', listener: () => void): void;
|
|
15
|
+
addEventListener(type: 'message', listener: (event: {
|
|
16
|
+
data: unknown;
|
|
17
|
+
}) => void): void;
|
|
18
|
+
addEventListener(type: 'close', listener: () => void): void;
|
|
19
|
+
addEventListener(type: 'error', listener: (event: unknown) => void): void;
|
|
20
|
+
};
|
|
21
|
+
/** Builds a {@link StreamSocket} for a `ws(s)://…/watch` URL with headers. */
|
|
22
|
+
export type WebSocketFactory = (url: string, headers: Record<string, string>) => StreamSocket;
|
|
23
|
+
/**
|
|
24
|
+
* Build the absolute `ws(s)://…/v1/workflows/:id/watch` URL for a workflow's
|
|
25
|
+
* live event channel from a client base URL.
|
|
26
|
+
*
|
|
27
|
+
* An absolute `http(s)://…` base URL has its scheme swapped to `ws(s):`. A
|
|
28
|
+
* relative base URL (`''`, `'/'`, `'/weft'` — the forms browser and
|
|
29
|
+
* service-worker deployments use, where REST `fetch` resolves against the page
|
|
30
|
+
* origin) is resolved against `globalThis.location` so the result is always the
|
|
31
|
+
* absolute URL the `WebSocket` constructor requires. When no `location` is
|
|
32
|
+
* available (e.g. a non-browser runtime given a relative base), the relative
|
|
33
|
+
* base is returned unchanged — the same input REST `fetch` would also reject.
|
|
34
|
+
*/
|
|
35
|
+
export declare function workflowWatchWebSocketUrl(baseUrl: string, workflowId: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* The default factory. Under Bun the second `WebSocket` argument is an options
|
|
38
|
+
* bag that accepts custom upgrade headers, so auth headers ride the handshake.
|
|
39
|
+
* Elsewhere the second argument is `protocols` (a string or string array) and
|
|
40
|
+
* the platform `WebSocket` cannot send custom headers at all, so we construct
|
|
41
|
+
* with the URL alone:
|
|
42
|
+
*
|
|
43
|
+
* - In a browser / service worker that is expected — cross-origin auth rides a
|
|
44
|
+
* cookie or query param the server accepts, not a WebSocket header.
|
|
45
|
+
* - In Node/edge the global `WebSocket` (Node 22+, undici) also cannot send
|
|
46
|
+
* headers, so silently dropping a configured `Authorization`/`token` would
|
|
47
|
+
* produce an unauthenticated socket that fails or reconnects forever against
|
|
48
|
+
* an auth-enabled server. That is surfaced as an explicit configuration
|
|
49
|
+
* error pointing at `HttpClientOptions.webSocketFactory` (e.g. backed by the
|
|
50
|
+
* `ws` package, which supports headers) rather than failing silently.
|
|
51
|
+
*
|
|
52
|
+
* Tests that replace the factory bypass this entirely.
|
|
53
|
+
*/
|
|
54
|
+
export declare const defaultWebSocketFactory: WebSocketFactory;
|
|
55
|
+
/**
|
|
56
|
+
* Structural equality for deduping the catch-up/live overlap window. Events
|
|
57
|
+
* carry no stable id, so a `type` + serialized-`data` comparison is the
|
|
58
|
+
* pragmatic identity. `timestamp` is excluded because the live frame and the
|
|
59
|
+
* persisted history record are stamped independently and can differ by a few
|
|
60
|
+
* milliseconds for the same logical event.
|
|
61
|
+
*/
|
|
62
|
+
export declare function eventsEqual(a: WorkflowEvent, b: WorkflowEvent): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Drop the `buffered` live frames that the replayed `history` already covered
|
|
65
|
+
* (the overlap window), returning the genuinely new frames in order. The dedup
|
|
66
|
+
* is *consuming*: each history entry can cancel at most one live frame, so two
|
|
67
|
+
* structurally identical events (e.g. two rapid signals with the same name and
|
|
68
|
+
* payload) where only one is a true overlap duplicate keep the genuinely new one
|
|
69
|
+
* instead of both being dropped. Shared by both client transports' catch-up.
|
|
70
|
+
*/
|
|
71
|
+
export declare function dropOverlappingLiveFrames(history: readonly WorkflowEvent[], buffered: readonly WorkflowEvent[]): WorkflowEvent[];
|
|
72
|
+
/** Parse a watch-channel frame into a {@link WorkflowEvent}, or null if malformed. */
|
|
73
|
+
export declare function parseWatchFrame(raw: unknown): WorkflowEvent | null;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { detectRuntime } from "../runtime/portable.js";
|
|
2
|
+
export function workflowWatchWebSocketUrl(baseUrl, workflowId) {
|
|
3
|
+
const trimmed = baseUrl.replace(/\/+$/, ""), path = `/v1/workflows/${encodeURIComponent(workflowId)}/watch`;
|
|
4
|
+
if (/^https?:/i.test(trimmed))
|
|
5
|
+
return `${trimmed.replace(/^http:/i, "ws:").replace(/^https:/i, "wss:")}${path}`;
|
|
6
|
+
const origin = globalThis.location?.origin;
|
|
7
|
+
if (origin === void 0)
|
|
8
|
+
return `${trimmed}${path}`;
|
|
9
|
+
return `${origin.replace(/^http:/i, "ws:").replace(/^https:/i, "wss:")}${trimmed}${path}`;
|
|
10
|
+
}
|
|
11
|
+
export const defaultWebSocketFactory = (url, headers) => {
|
|
12
|
+
if (typeof WebSocket > "u")
|
|
13
|
+
throw Error("No global WebSocket is available for live event streaming. Provide HttpClientOptions.webSocketFactory (e.g. backed by the `ws` package) or run on a runtime with a built-in WebSocket (Bun, modern browsers, Node 22+).");
|
|
14
|
+
const runtime = detectRuntime();
|
|
15
|
+
if (runtime !== "bun") {
|
|
16
|
+
if (runtime !== "browser" && Object.keys(headers).length > 0)
|
|
17
|
+
throw Error("Live event streaming on this runtime cannot send the configured auth headers over WebSocket: the platform WebSocket constructor has no header support. Provide HttpClientOptions.webSocketFactory (e.g. backed by the `ws` package, which supports headers) or authenticate the watch socket with a cookie or query parameter the server accepts.");
|
|
18
|
+
return new WebSocket(url);
|
|
19
|
+
}
|
|
20
|
+
return new WebSocket(url, { headers });
|
|
21
|
+
};
|
|
22
|
+
function isRecord(value) {
|
|
23
|
+
return typeof value === "object" && value !== null;
|
|
24
|
+
}
|
|
25
|
+
export function eventsEqual(a, b) {
|
|
26
|
+
return a.type === b.type && JSON.stringify(a.data) === JSON.stringify(b.data);
|
|
27
|
+
}
|
|
28
|
+
export function dropOverlappingLiveFrames(history, buffered) {
|
|
29
|
+
const historyConsumed = Array.from(history, () => !1), fresh = [];
|
|
30
|
+
for (const live of buffered) {
|
|
31
|
+
const overlapIndex = history.findIndex((historic, index) => !historyConsumed[index] && eventsEqual(historic, live));
|
|
32
|
+
if (overlapIndex !== -1) {
|
|
33
|
+
historyConsumed[overlapIndex] = !0;
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
fresh.push(live);
|
|
37
|
+
}
|
|
38
|
+
return fresh;
|
|
39
|
+
}
|
|
40
|
+
export function parseWatchFrame(raw) {
|
|
41
|
+
if (typeof raw !== "string")
|
|
42
|
+
return null;
|
|
43
|
+
let frame;
|
|
44
|
+
try {
|
|
45
|
+
frame = JSON.parse(raw);
|
|
46
|
+
} catch {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
if (!isRecord(frame))
|
|
50
|
+
return null;
|
|
51
|
+
const { type } = frame;
|
|
52
|
+
if (typeof type !== "string")
|
|
53
|
+
return null;
|
|
54
|
+
return {
|
|
55
|
+
type,
|
|
56
|
+
timestamp: typeof frame.timestamp === "number" ? frame.timestamp : Date.now(),
|
|
57
|
+
data: isRecord(frame.data) ? frame.data : {}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live workflow-event streaming for {@link HttpClient}.
|
|
3
|
+
*
|
|
4
|
+
* The server broadcasts a workflow's lifecycle events over a per-workflow
|
|
5
|
+
* WebSocket channel at `/v1/workflows/:id/watch` (see the server's
|
|
6
|
+
* `wireEventBroadcasting`). Each frame is a JSON {@link WorkflowEvent}
|
|
7
|
+
* (`{ type, timestamp, data }`) — the same shape `getEvents()` returns. This
|
|
8
|
+
* module opens that channel and exposes the events through two surfaces: a push
|
|
9
|
+
* callback (`onEvent`) used by {@link HttpHandle.addEventListener} so listeners
|
|
10
|
+
* fire the moment an event lands instead of on a 2-second poll, and an
|
|
11
|
+
* {@link AsyncIterable} used by `client.tail(id)` / `handle.tail()`.
|
|
12
|
+
*
|
|
13
|
+
* **Catch-up + reconnect.** The watch channel is live-only and a dropped socket
|
|
14
|
+
* can miss events while disconnected. To close both gaps the subscription
|
|
15
|
+
* fetches the persisted event history (`getEvents`) on every (re)connect, emits
|
|
16
|
+
* the events past a confirmed-contiguous history watermark, then drops any live
|
|
17
|
+
* frame buffered during the fetch that the replayed history already covered (the
|
|
18
|
+
* overlap window). Delivery is at-least-once: a failed fetch or a shorter
|
|
19
|
+
* compaction-rebased history array may re-deliver a frame once rather than lose
|
|
20
|
+
* it. The lone exception is a sequence-less-cursor edge under event-log
|
|
21
|
+
* compaction — a compacted+regrown log of unchanged length — documented on
|
|
22
|
+
* `#historyWatermark`; closing it needs a server-exposed event sequence.
|
|
23
|
+
* Reconnect attempts back off and are capped; the cap is honored even for
|
|
24
|
+
* open-then-close sockets, since the counter resets only after a catch-up proves
|
|
25
|
+
* the connection healthy (`#catchUp`).
|
|
26
|
+
*
|
|
27
|
+
* **Clean close.** `close()` closes the socket and resolves the iterable.
|
|
28
|
+
* Terminal workflow events (`completed`, `failed`, `cancelled`, `timed-out`)
|
|
29
|
+
* auto-close the stream so `for await` consumers terminate when the workflow
|
|
30
|
+
* finishes.
|
|
31
|
+
*
|
|
32
|
+
* @module client/event-stream
|
|
33
|
+
*/
|
|
34
|
+
import type { WorkflowEvent } from '../core/types.ts';
|
|
35
|
+
import { type WebSocketFactory } from './event-stream-transport.ts';
|
|
36
|
+
/** Reason a {@link WorkflowEventSubscription} terminated. */
|
|
37
|
+
export type StreamCloseReason = 'workflow-terminal' | 'client-closed' | 'reconnect-exhausted';
|
|
38
|
+
/** Fetches a workflow's persisted event history for connect/reconnect catch-up. */
|
|
39
|
+
export type EventHistoryFetcher = (workflowId: string) => Promise<WorkflowEvent[]>;
|
|
40
|
+
/** Options for opening a workflow event subscription. */
|
|
41
|
+
export type WorkflowEventStreamOptions = {
|
|
42
|
+
/** Maximum reconnect attempts after a dropped socket. Default 5. */
|
|
43
|
+
readonly maxReconnectAttempts?: number;
|
|
44
|
+
/** Base reconnect backoff in milliseconds. Default 50. */
|
|
45
|
+
readonly reconnectBackoffMs?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Constructor override for the underlying socket. Tests inject a fake here;
|
|
48
|
+
* production omits it and the global `WebSocket` is used.
|
|
49
|
+
*/
|
|
50
|
+
readonly webSocketFactory?: WebSocketFactory;
|
|
51
|
+
/**
|
|
52
|
+
* Buffer events for async iteration from construction rather than lazily on
|
|
53
|
+
* first iterator pull. `tail()` sets this so the documented
|
|
54
|
+
* `await tail.whenConnected(); for await (…)` pattern still sees the connect
|
|
55
|
+
* catch-up history (which is emitted before the `for await` loop begins).
|
|
56
|
+
* Callback-only subscribers (`HttpHandle.addEventListener`) leave it off so
|
|
57
|
+
* the iterator buffer never accumulates a never-drained queue. Default false.
|
|
58
|
+
*/
|
|
59
|
+
readonly bufferForIteration?: boolean;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* A live workflow-event subscription over the `/watch` WebSocket channel.
|
|
63
|
+
* Delivers events to a push callback and to a single async iterator, catching
|
|
64
|
+
* up from persisted history on every (re)connect and transparently reconnecting
|
|
65
|
+
* when the socket drops.
|
|
66
|
+
*
|
|
67
|
+
* The iterator is single-consumer: it drains one shared buffer and parks one
|
|
68
|
+
* waker, so a second concurrent `for await` over the same subscription would
|
|
69
|
+
* steal events and clobber the waker. Open a fresh subscription per consumer
|
|
70
|
+
* instead of iterating one twice.
|
|
71
|
+
*/
|
|
72
|
+
export declare class WorkflowEventSubscription implements AsyncIterable<WorkflowEvent> {
|
|
73
|
+
#private;
|
|
74
|
+
constructor(url: string, headers: Record<string, string>, workflowId: string, fetchHistory: EventHistoryFetcher, onEvent: (event: WorkflowEvent) => void, options?: WorkflowEventStreamOptions);
|
|
75
|
+
/** Why the stream terminated, or `null` while it is still open. */
|
|
76
|
+
get closeReason(): StreamCloseReason | null;
|
|
77
|
+
/**
|
|
78
|
+
* Resolves once the stream is live (socket open and first catch-up done), or
|
|
79
|
+
* when it terminates — whichever comes first. Await this before driving a
|
|
80
|
+
* workflow whose events you intend to observe, so no event is missed in the
|
|
81
|
+
* window before the watch socket connects.
|
|
82
|
+
*/
|
|
83
|
+
whenConnected(): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Close the subscription cleanly: close the socket and resolve any active
|
|
86
|
+
* async iteration. Idempotent.
|
|
87
|
+
*/
|
|
88
|
+
close(): void;
|
|
89
|
+
[Symbol.asyncIterator](): AsyncIterator<WorkflowEvent>;
|
|
90
|
+
}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { WORKFLOW_TERMINAL_EVENT_TYPES } from "../core/events/workflow-events.js";
|
|
2
|
+
import {
|
|
3
|
+
defaultWebSocketFactory,
|
|
4
|
+
dropOverlappingLiveFrames,
|
|
5
|
+
parseWatchFrame
|
|
6
|
+
} from "./event-stream-transport.js";
|
|
7
|
+
const DEFAULT_MAX_RECONNECT_ATTEMPTS = 5, DEFAULT_RECONNECT_BACKOFF_MS = 50;
|
|
8
|
+
|
|
9
|
+
export class WorkflowEventSubscription {
|
|
10
|
+
#url;
|
|
11
|
+
#headers;
|
|
12
|
+
#workflowId;
|
|
13
|
+
#fetchHistory;
|
|
14
|
+
#factory;
|
|
15
|
+
#maxReconnectAttempts;
|
|
16
|
+
#reconnectBackoffMs;
|
|
17
|
+
#onEvent;
|
|
18
|
+
#socket = null;
|
|
19
|
+
#closed = !1;
|
|
20
|
+
#historyWatermark = 0;
|
|
21
|
+
#reconnectAttempts = 0;
|
|
22
|
+
#reconnectTimer = null;
|
|
23
|
+
#catchUpInFlight = !1;
|
|
24
|
+
#pendingLive = [];
|
|
25
|
+
#connectGeneration = 0;
|
|
26
|
+
#buffer = [];
|
|
27
|
+
#waker = null;
|
|
28
|
+
#iterating = !1;
|
|
29
|
+
#closeReason = null;
|
|
30
|
+
#connected = Promise.withResolvers();
|
|
31
|
+
#connectedSettled = !1;
|
|
32
|
+
constructor(url, headers, workflowId, fetchHistory, onEvent, options) {
|
|
33
|
+
this.#url = url;
|
|
34
|
+
this.#headers = headers;
|
|
35
|
+
this.#workflowId = workflowId;
|
|
36
|
+
this.#fetchHistory = fetchHistory;
|
|
37
|
+
this.#onEvent = onEvent;
|
|
38
|
+
this.#factory = options?.webSocketFactory ?? defaultWebSocketFactory;
|
|
39
|
+
this.#maxReconnectAttempts = options?.maxReconnectAttempts ?? DEFAULT_MAX_RECONNECT_ATTEMPTS;
|
|
40
|
+
this.#reconnectBackoffMs = options?.reconnectBackoffMs ?? DEFAULT_RECONNECT_BACKOFF_MS;
|
|
41
|
+
this.#iterating = options?.bufferForIteration ?? !1;
|
|
42
|
+
this.#connect();
|
|
43
|
+
}
|
|
44
|
+
get closeReason() {
|
|
45
|
+
return this.#closeReason;
|
|
46
|
+
}
|
|
47
|
+
whenConnected() {
|
|
48
|
+
return this.#connected.promise;
|
|
49
|
+
}
|
|
50
|
+
#markConnected() {
|
|
51
|
+
if (this.#connectedSettled)
|
|
52
|
+
return;
|
|
53
|
+
this.#connectedSettled = !0;
|
|
54
|
+
this.#connected.resolve();
|
|
55
|
+
}
|
|
56
|
+
#connect() {
|
|
57
|
+
if (this.#closed)
|
|
58
|
+
return;
|
|
59
|
+
let socket;
|
|
60
|
+
try {
|
|
61
|
+
socket = this.#factory(this.#url, this.#headers);
|
|
62
|
+
} catch (error) {
|
|
63
|
+
if (this.#connectGeneration === 0 && this.#reconnectAttempts === 0)
|
|
64
|
+
throw error;
|
|
65
|
+
this.#scheduleReconnect();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this.#socket = socket;
|
|
69
|
+
socket.addEventListener("open", () => {
|
|
70
|
+
if (this.#closed || this.#socket !== socket)
|
|
71
|
+
return;
|
|
72
|
+
this.#connectGeneration += 1;
|
|
73
|
+
this.#catchUp();
|
|
74
|
+
});
|
|
75
|
+
socket.addEventListener("message", (event) => {
|
|
76
|
+
if (this.#socket !== socket)
|
|
77
|
+
return;
|
|
78
|
+
const parsed = parseWatchFrame(event.data);
|
|
79
|
+
if (parsed !== null)
|
|
80
|
+
this.#deliverLive(parsed);
|
|
81
|
+
});
|
|
82
|
+
socket.addEventListener("close", () => {
|
|
83
|
+
if (this.#socket === socket)
|
|
84
|
+
this.#handleSocketDrop();
|
|
85
|
+
});
|
|
86
|
+
socket.addEventListener("error", () => {});
|
|
87
|
+
}
|
|
88
|
+
async#catchUp() {
|
|
89
|
+
if (this.#catchUpInFlight || this.#closed)
|
|
90
|
+
return;
|
|
91
|
+
this.#catchUpInFlight = !0;
|
|
92
|
+
const generation = this.#connectGeneration;
|
|
93
|
+
let succeeded = !1;
|
|
94
|
+
try {
|
|
95
|
+
succeeded = await this.#reconcileHistory(generation);
|
|
96
|
+
} finally {
|
|
97
|
+
this.#catchUpInFlight = !1;
|
|
98
|
+
if (!this.#closed && generation !== this.#connectGeneration)
|
|
99
|
+
this.#catchUp();
|
|
100
|
+
else {
|
|
101
|
+
if (succeeded && this.#socket !== null)
|
|
102
|
+
this.#reconnectAttempts = 0;
|
|
103
|
+
this.#markConnected();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
async#reconcileHistory(generation) {
|
|
108
|
+
let history = [], fetchSucceeded = !0;
|
|
109
|
+
try {
|
|
110
|
+
history = await this.#fetchHistory(this.#workflowId);
|
|
111
|
+
} catch {
|
|
112
|
+
fetchSucceeded = !1;
|
|
113
|
+
history = [];
|
|
114
|
+
}
|
|
115
|
+
if (this.#closed)
|
|
116
|
+
return !1;
|
|
117
|
+
if (generation !== this.#connectGeneration)
|
|
118
|
+
return !1;
|
|
119
|
+
const newHistory = history.length < this.#historyWatermark ? history : history.slice(this.#historyWatermark);
|
|
120
|
+
for (const event of newHistory)
|
|
121
|
+
this.#emit(event);
|
|
122
|
+
const buffered = this.#pendingLive;
|
|
123
|
+
this.#pendingLive = [];
|
|
124
|
+
for (const live of dropOverlappingLiveFrames(newHistory, buffered))
|
|
125
|
+
this.#emit(live);
|
|
126
|
+
if (fetchSucceeded)
|
|
127
|
+
this.#historyWatermark = history.length;
|
|
128
|
+
return fetchSucceeded;
|
|
129
|
+
}
|
|
130
|
+
#deliverLive(event) {
|
|
131
|
+
if (this.#catchUpInFlight) {
|
|
132
|
+
this.#pendingLive.push(event);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
this.#emit(event);
|
|
136
|
+
}
|
|
137
|
+
#emit(event) {
|
|
138
|
+
if (this.#closed)
|
|
139
|
+
return;
|
|
140
|
+
try {
|
|
141
|
+
this.#onEvent(event);
|
|
142
|
+
} catch {}
|
|
143
|
+
if (this.#iterating) {
|
|
144
|
+
this.#buffer.push(event);
|
|
145
|
+
this.#wake();
|
|
146
|
+
}
|
|
147
|
+
if (WORKFLOW_TERMINAL_EVENT_TYPES.has(event.type))
|
|
148
|
+
this.#terminate("workflow-terminal");
|
|
149
|
+
}
|
|
150
|
+
#handleSocketDrop() {
|
|
151
|
+
this.#socket = null;
|
|
152
|
+
if (this.#closed)
|
|
153
|
+
return;
|
|
154
|
+
this.#scheduleReconnect();
|
|
155
|
+
}
|
|
156
|
+
#scheduleReconnect() {
|
|
157
|
+
if (this.#closed)
|
|
158
|
+
return;
|
|
159
|
+
if (this.#reconnectAttempts >= this.#maxReconnectAttempts) {
|
|
160
|
+
this.#terminate("reconnect-exhausted");
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
this.#reconnectAttempts += 1;
|
|
164
|
+
const delay = this.#reconnectBackoffMs * this.#reconnectAttempts;
|
|
165
|
+
this.#reconnectTimer = setTimeout(() => {
|
|
166
|
+
this.#reconnectTimer = null;
|
|
167
|
+
this.#connect();
|
|
168
|
+
}, delay);
|
|
169
|
+
}
|
|
170
|
+
#terminate(reason) {
|
|
171
|
+
if (this.#closed)
|
|
172
|
+
return;
|
|
173
|
+
this.#closed = !0;
|
|
174
|
+
this.#closeReason = reason;
|
|
175
|
+
this.#markConnected();
|
|
176
|
+
if (this.#reconnectTimer !== null) {
|
|
177
|
+
clearTimeout(this.#reconnectTimer);
|
|
178
|
+
this.#reconnectTimer = null;
|
|
179
|
+
}
|
|
180
|
+
const socket = this.#socket;
|
|
181
|
+
this.#socket = null;
|
|
182
|
+
if (socket !== null)
|
|
183
|
+
try {
|
|
184
|
+
socket.close();
|
|
185
|
+
} catch {}
|
|
186
|
+
this.#wake();
|
|
187
|
+
}
|
|
188
|
+
#wake() {
|
|
189
|
+
const waker = this.#waker;
|
|
190
|
+
if (waker !== null) {
|
|
191
|
+
this.#waker = null;
|
|
192
|
+
waker();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
close() {
|
|
196
|
+
this.#terminate("client-closed");
|
|
197
|
+
}
|
|
198
|
+
[Symbol.asyncIterator]() {
|
|
199
|
+
this.#iterating = !0;
|
|
200
|
+
return this.#iterate();
|
|
201
|
+
}
|
|
202
|
+
async* #iterate() {
|
|
203
|
+
try {
|
|
204
|
+
while (!0) {
|
|
205
|
+
while (this.#buffer.length > 0)
|
|
206
|
+
yield this.#buffer.shift();
|
|
207
|
+
if (this.#closed)
|
|
208
|
+
return;
|
|
209
|
+
await this.#waitForEvent();
|
|
210
|
+
}
|
|
211
|
+
} finally {
|
|
212
|
+
this.#iterating = !1;
|
|
213
|
+
this.close();
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
#waitForEvent() {
|
|
217
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
218
|
+
this.#waker = resolve;
|
|
219
|
+
return promise;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The client-facing live event tail contract. Both library mode
|
|
3
|
+
* ({@link LocalClient}, via the in-process engine feed) and server mode
|
|
4
|
+
* ({@link HttpClient}, via the `/watch` WebSocket channel) return a value
|
|
5
|
+
* implementing this interface from their `tail()` methods.
|
|
6
|
+
*
|
|
7
|
+
* @module client/event-tail
|
|
8
|
+
*/
|
|
9
|
+
import type { WorkflowEvent } from '../core/types.ts';
|
|
10
|
+
/**
|
|
11
|
+
* A live workflow-event tail. Async-iterate it to consume events as they are
|
|
12
|
+
* produced; the iteration terminates cleanly when the workflow reaches a
|
|
13
|
+
* terminal state, the server closes the stream, or {@link WorkflowEventTail.close}
|
|
14
|
+
* is called.
|
|
15
|
+
*
|
|
16
|
+
* The tail is **single-consumer**: both transports drain one shared buffer, so a
|
|
17
|
+
* second concurrent `for await` over the same tail would steal events from the
|
|
18
|
+
* first and can leave a consumer hanging. Open a fresh tail per consumer
|
|
19
|
+
* (`client.tail(id)` / `handle.tail()`) instead of iterating one tail twice.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { workflow, Engine, MemoryStorage, LocalClient, type WorkflowEventTail } from '@lostgradient/weft';
|
|
24
|
+
*
|
|
25
|
+
* await using engine = new Engine({ storage: new MemoryStorage() });
|
|
26
|
+
* engine.register(workflow({ name: 'ping' }).execute(async function* () { return 'pong'; }));
|
|
27
|
+
* const client = new LocalClient(engine);
|
|
28
|
+
* const handle = await client.start('ping', null);
|
|
29
|
+
* const tail: WorkflowEventTail = client.tail(handle.id);
|
|
30
|
+
* await tail.whenConnected();
|
|
31
|
+
* for await (const event of tail) {
|
|
32
|
+
* console.log(event.type);
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export interface WorkflowEventTail extends AsyncIterable<WorkflowEvent> {
|
|
37
|
+
/** Stop the tail and release its resources. Idempotent. */
|
|
38
|
+
close(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Resolves once the tail is live and ready to deliver events (or when it has
|
|
41
|
+
* terminated). Await this before triggering work whose events you intend to
|
|
42
|
+
* observe, so nothing is missed in the window before the underlying transport
|
|
43
|
+
* connects. Both modes resolve only after the connect catch-up has replayed
|
|
44
|
+
* the workflow's persisted history (server mode after the `/watch` socket's
|
|
45
|
+
* `getEvents` catch-up; library mode after the in-process `engine.getEvents`
|
|
46
|
+
* replay), so awaiting it may perform async work and a `for await` started
|
|
47
|
+
* afterward still sees the replayed history ahead of any live frame.
|
|
48
|
+
*/
|
|
49
|
+
whenConnected(): Promise<void>;
|
|
50
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { WeftEventMap } from '../core/events.ts';
|
|
2
|
+
import type { QueryDefinition, ScheduleSpec, ScheduleSummary, SearchAttributeValue, SignalDefinition, SignalDeliveryOptions, UpdateDefinition } from '../core/types.ts';
|
|
3
|
+
import type { WorkflowEventTail } from './event-tail.ts';
|
|
4
|
+
import type { ClientHandle, ClientScheduleHandle } from './interface.ts';
|
|
5
|
+
export interface WorkflowHandleDelegationClient {
|
|
6
|
+
cancel(id: string): Promise<void>;
|
|
7
|
+
tail(id: string): WorkflowEventTail;
|
|
8
|
+
signal(id: string, name: string, payload?: unknown, options?: SignalDeliveryOptions): Promise<void>;
|
|
9
|
+
update(id: string, name: string, payload?: unknown, options?: {
|
|
10
|
+
timeout?: number;
|
|
11
|
+
}): Promise<unknown>;
|
|
12
|
+
query(id: string, name: string, input?: unknown): Promise<unknown>;
|
|
13
|
+
getAttributes(id: string): Promise<Record<string, SearchAttributeValue> | null>;
|
|
14
|
+
setAttributes(id: string, attributes: Record<string, SearchAttributeValue>): Promise<void>;
|
|
15
|
+
addTags(id: string, ...tags: string[]): Promise<void>;
|
|
16
|
+
removeTags(id: string, ...tags: string[]): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export declare abstract class WorkflowHandleDelegation<TClient extends WorkflowHandleDelegationClient = WorkflowHandleDelegationClient> implements ClientHandle {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
protected readonly client: TClient;
|
|
21
|
+
constructor(id: string, client: TClient);
|
|
22
|
+
abstract result(): Promise<unknown>;
|
|
23
|
+
cancel(): Promise<void>;
|
|
24
|
+
signal(name: SignalDefinition): Promise<void>;
|
|
25
|
+
signal<TInput>(name: SignalDefinition<TInput>, payload: TInput, options?: SignalDeliveryOptions): Promise<void>;
|
|
26
|
+
signal(name: string, payload?: unknown, options?: SignalDeliveryOptions): Promise<void>;
|
|
27
|
+
update<TOutput>(name: UpdateDefinition<void, TOutput>, payload?: void, options?: {
|
|
28
|
+
timeout?: number;
|
|
29
|
+
}): Promise<TOutput>;
|
|
30
|
+
update<TInput, TOutput>(name: UpdateDefinition<TInput, TOutput>, payload: TInput, options?: {
|
|
31
|
+
timeout?: number;
|
|
32
|
+
}): Promise<TOutput>;
|
|
33
|
+
update(name: string, payload?: unknown, options?: {
|
|
34
|
+
timeout?: number;
|
|
35
|
+
}): Promise<unknown>;
|
|
36
|
+
query<TOutput>(name: QueryDefinition<void, TOutput>): Promise<TOutput>;
|
|
37
|
+
query<TInput, TOutput>(name: QueryDefinition<TInput, TOutput>, input: TInput): Promise<TOutput>;
|
|
38
|
+
query(name: string, input?: unknown): Promise<unknown>;
|
|
39
|
+
getAttributes(): Promise<Record<string, SearchAttributeValue> | null>;
|
|
40
|
+
setAttributes(attributes: Record<string, SearchAttributeValue>): Promise<void>;
|
|
41
|
+
addTags(...tags: string[]): Promise<void>;
|
|
42
|
+
removeTags(...tags: string[]): Promise<void>;
|
|
43
|
+
tail(): WorkflowEventTail;
|
|
44
|
+
/**
|
|
45
|
+
* Default readiness: resolved immediately. Transports whose event stream has
|
|
46
|
+
* connection latency (e.g. the HTTP watch socket) override this to reflect
|
|
47
|
+
* their own connection state.
|
|
48
|
+
*/
|
|
49
|
+
whenConnected(): Promise<void>;
|
|
50
|
+
abstract addEventListener<K extends keyof WeftEventMap>(type: K, listener: (event: WeftEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
|
|
51
|
+
abstract addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
52
|
+
abstract removeEventListener<K extends keyof WeftEventMap>(type: K, listener: (event: WeftEventMap[K]) => void, options?: boolean | EventListenerOptions): void;
|
|
53
|
+
abstract removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
54
|
+
abstract [Symbol.dispose](): void;
|
|
55
|
+
}
|
|
56
|
+
export interface ScheduleHandleDelegationClient {
|
|
57
|
+
pauseSchedule(id: string): Promise<void>;
|
|
58
|
+
resumeSchedule(id: string): Promise<void>;
|
|
59
|
+
cancelSchedule(id: string): Promise<void>;
|
|
60
|
+
updateSchedule(id: string, newSpec: string | ScheduleSpec): Promise<void>;
|
|
61
|
+
getSchedule(id: string): Promise<ScheduleSummary | null>;
|
|
62
|
+
}
|
|
63
|
+
export declare abstract class ScheduleHandleDelegation<TClient extends ScheduleHandleDelegationClient = ScheduleHandleDelegationClient> implements ClientScheduleHandle {
|
|
64
|
+
readonly id: string;
|
|
65
|
+
protected readonly client: TClient;
|
|
66
|
+
constructor(id: string, client: TClient);
|
|
67
|
+
pause(): Promise<void>;
|
|
68
|
+
resume(): Promise<void>;
|
|
69
|
+
cancel(): Promise<void>;
|
|
70
|
+
update(newSpec: string | ScheduleSpec): Promise<void>;
|
|
71
|
+
describe(): Promise<ScheduleSummary | null>;
|
|
72
|
+
abstract [Symbol.dispose](): void;
|
|
73
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { messageName } from "../core/types.js";
|
|
2
|
+
|
|
3
|
+
export class WorkflowHandleDelegation {
|
|
4
|
+
id;
|
|
5
|
+
client;
|
|
6
|
+
constructor(id, client) {
|
|
7
|
+
this.id = id;
|
|
8
|
+
this.client = client;
|
|
9
|
+
}
|
|
10
|
+
async cancel() {
|
|
11
|
+
return this.client.cancel(this.id);
|
|
12
|
+
}
|
|
13
|
+
async signal(nameOrDefinition, payload, options) {
|
|
14
|
+
if (options === void 0)
|
|
15
|
+
return this.client.signal(this.id, messageName(nameOrDefinition), payload);
|
|
16
|
+
return this.client.signal(this.id, messageName(nameOrDefinition), payload, options);
|
|
17
|
+
}
|
|
18
|
+
async update(nameOrDefinition, payload, options) {
|
|
19
|
+
return this.client.update(this.id, messageName(nameOrDefinition), payload, options);
|
|
20
|
+
}
|
|
21
|
+
async query(nameOrDefinition, input) {
|
|
22
|
+
return this.client.query(this.id, messageName(nameOrDefinition), input);
|
|
23
|
+
}
|
|
24
|
+
async getAttributes() {
|
|
25
|
+
return this.client.getAttributes(this.id);
|
|
26
|
+
}
|
|
27
|
+
async setAttributes(attributes) {
|
|
28
|
+
return this.client.setAttributes(this.id, attributes);
|
|
29
|
+
}
|
|
30
|
+
async addTags(...tags) {
|
|
31
|
+
return this.client.addTags(this.id, ...tags);
|
|
32
|
+
}
|
|
33
|
+
async removeTags(...tags) {
|
|
34
|
+
return this.client.removeTags(this.id, ...tags);
|
|
35
|
+
}
|
|
36
|
+
tail() {
|
|
37
|
+
return this.client.tail(this.id);
|
|
38
|
+
}
|
|
39
|
+
whenConnected() {
|
|
40
|
+
return Promise.resolve();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export class ScheduleHandleDelegation {
|
|
45
|
+
id;
|
|
46
|
+
client;
|
|
47
|
+
constructor(id, client) {
|
|
48
|
+
this.id = id;
|
|
49
|
+
this.client = client;
|
|
50
|
+
}
|
|
51
|
+
async pause() {
|
|
52
|
+
return this.client.pauseSchedule(this.id);
|
|
53
|
+
}
|
|
54
|
+
async resume() {
|
|
55
|
+
return this.client.resumeSchedule(this.id);
|
|
56
|
+
}
|
|
57
|
+
async cancel() {
|
|
58
|
+
return this.client.cancelSchedule(this.id);
|
|
59
|
+
}
|
|
60
|
+
async update(newSpec) {
|
|
61
|
+
return this.client.updateSchedule(this.id, newSpec);
|
|
62
|
+
}
|
|
63
|
+
async describe() {
|
|
64
|
+
return this.client.getSchedule(this.id);
|
|
65
|
+
}
|
|
66
|
+
}
|