@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,229 @@
|
|
|
1
|
+
import { type DefinitionSchema, type InferSchemaOutput } from './definition-schema.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Typed handle for a workflow signal. The runtime value is `{ name }` plus an
|
|
4
|
+
* optional `inputSchema` carried for introspection and boundary validation;
|
|
5
|
+
* the generic parameter exists to carry the payload type through call sites.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { signal, type SignalDefinition } from '@lostgradient/weft';
|
|
10
|
+
*
|
|
11
|
+
* declare const handle: {
|
|
12
|
+
* signal(definition: SignalDefinition<{ approved: boolean }>, input: { approved: boolean }): Promise<void>;
|
|
13
|
+
* };
|
|
14
|
+
* const approval: SignalDefinition<{ approved: boolean }> = signal('approval');
|
|
15
|
+
* await handle.signal(approval, { approved: true });
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export interface SignalDefinition<TInput = void> {
|
|
19
|
+
readonly name: string;
|
|
20
|
+
readonly inputSchema?: DefinitionSchema<unknown, TInput>;
|
|
21
|
+
readonly _input?: (input: TInput) => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Typed handle for a workflow update. Updates accept an input payload and
|
|
25
|
+
* return a response to the caller. Optional `inputSchema` and `outputSchema`
|
|
26
|
+
* carry validation metadata to the boundary.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { update, type UpdateDefinition } from '@lostgradient/weft';
|
|
31
|
+
*
|
|
32
|
+
* declare const handle: {
|
|
33
|
+
* update(
|
|
34
|
+
* definition: UpdateDefinition<{ orderId: string }, { status: string }>,
|
|
35
|
+
* input: { orderId: string },
|
|
36
|
+
* ): Promise<{ status: string }>;
|
|
37
|
+
* };
|
|
38
|
+
* const approveOrder: UpdateDefinition<{ orderId: string }, { status: string }> =
|
|
39
|
+
* update('approveOrder');
|
|
40
|
+
* const result = await handle.update(approveOrder, { orderId: 'ord_123' });
|
|
41
|
+
* void result.status;
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export interface UpdateDefinition<TInput = void, TOutput = unknown> {
|
|
45
|
+
readonly name: string;
|
|
46
|
+
readonly inputSchema?: DefinitionSchema<unknown, TInput>;
|
|
47
|
+
readonly outputSchema?: DefinitionSchema<unknown, TOutput>;
|
|
48
|
+
readonly _input?: (input: TInput) => void;
|
|
49
|
+
readonly _output?: () => TOutput;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Typed handle for a workflow query. Queries are read-only accessors and may
|
|
53
|
+
* optionally accept an input payload. Optional `inputSchema` and
|
|
54
|
+
* `outputSchema` carry validation metadata to the boundary.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* import { query, type QueryDefinition } from '@lostgradient/weft';
|
|
59
|
+
*
|
|
60
|
+
* declare const handle: {
|
|
61
|
+
* query(
|
|
62
|
+
* definition: QueryDefinition<{ orderId: string }, { state: string }>,
|
|
63
|
+
* input: { orderId: string },
|
|
64
|
+
* ): Promise<{ state: string }>;
|
|
65
|
+
* };
|
|
66
|
+
* const orderStatus: QueryDefinition<{ orderId: string }, { state: string }> =
|
|
67
|
+
* query('orderStatus');
|
|
68
|
+
* const status = await handle.query(orderStatus, { orderId: 'ord_123' });
|
|
69
|
+
* void status.state;
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export interface QueryDefinition<TInput = void, TOutput = unknown> {
|
|
73
|
+
readonly name: string;
|
|
74
|
+
readonly inputSchema?: DefinitionSchema<unknown, TInput>;
|
|
75
|
+
readonly outputSchema?: DefinitionSchema<unknown, TOutput>;
|
|
76
|
+
readonly _input?: (input: TInput) => void;
|
|
77
|
+
readonly _output?: () => TOutput;
|
|
78
|
+
}
|
|
79
|
+
export type MessageDefinition = QueryDefinition<unknown> | SignalDefinition<unknown> | UpdateDefinition<unknown>;
|
|
80
|
+
export type MessageName = string | {
|
|
81
|
+
readonly name: string;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Options accepted by {@link signal} when declaring schema metadata.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* import type { SignalOptions } from '@lostgradient/weft';
|
|
89
|
+
* import { z } from 'zod';
|
|
90
|
+
*
|
|
91
|
+
* const options: SignalOptions<{ approved: boolean }> = {
|
|
92
|
+
* inputSchema: z.object({ approved: z.boolean() }),
|
|
93
|
+
* };
|
|
94
|
+
* void options;
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export interface SignalOptions<TInput = void> {
|
|
98
|
+
readonly inputSchema?: DefinitionSchema<unknown, TInput>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Options accepted when sending a signal to a workflow.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* import type { SignalDeliveryOptions } from '@lostgradient/weft';
|
|
106
|
+
*
|
|
107
|
+
* const options: SignalDeliveryOptions = { signalId: 'approval-123' };
|
|
108
|
+
* void options;
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
export interface SignalDeliveryOptions {
|
|
112
|
+
readonly signalId?: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Create a typed workflow signal handle. When an `inputSchema` is supplied
|
|
116
|
+
* via options, the payload type is inferred from the schema's
|
|
117
|
+
* `~standard.types.output` marker — no explicit generic required, and
|
|
118
|
+
* transform schemas surface their parsed payload type.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```ts
|
|
122
|
+
* import { signal } from '@lostgradient/weft';
|
|
123
|
+
* import { z } from 'zod';
|
|
124
|
+
*
|
|
125
|
+
* const approval = signal<{ approved: boolean }>('approval');
|
|
126
|
+
*
|
|
127
|
+
* const approval2 = signal('approval', { inputSchema: z.object({ approved: z.boolean() }) });
|
|
128
|
+
* void approval2;
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export declare function signal<TSchema extends DefinitionSchema<unknown, unknown>>(name: string, options: {
|
|
132
|
+
inputSchema: TSchema;
|
|
133
|
+
}): SignalDefinition<InferSchemaOutput<TSchema>>;
|
|
134
|
+
export declare function signal<TInput = void>(name: string, options?: SignalOptions<TInput>): SignalDefinition<TInput>;
|
|
135
|
+
/**
|
|
136
|
+
* Options accepted by {@link update} when declaring schema metadata.
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```ts
|
|
140
|
+
* import type { UpdateOptions } from '@lostgradient/weft';
|
|
141
|
+
* import { z } from 'zod';
|
|
142
|
+
*
|
|
143
|
+
* const options: UpdateOptions<{ id: string }, { ok: true }> = {
|
|
144
|
+
* inputSchema: z.object({ id: z.string() }),
|
|
145
|
+
* outputSchema: z.object({ ok: z.literal(true) }),
|
|
146
|
+
* };
|
|
147
|
+
* void options;
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
export interface UpdateOptions<TInput = void, TOutput = unknown> {
|
|
151
|
+
readonly inputSchema?: DefinitionSchema<unknown, TInput>;
|
|
152
|
+
readonly outputSchema?: DefinitionSchema<unknown, TOutput>;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Create a typed workflow update handle. When `inputSchema` and/or
|
|
156
|
+
* `outputSchema` are supplied via options, payload types are inferred from
|
|
157
|
+
* the schemas — no explicit generic required.
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```ts
|
|
161
|
+
* import { update } from '@lostgradient/weft';
|
|
162
|
+
* import { z } from 'zod';
|
|
163
|
+
*
|
|
164
|
+
* const approve = update<{ id: string }, { accepted: boolean }>('approve');
|
|
165
|
+
*
|
|
166
|
+
* const approve2 = update('approve', {
|
|
167
|
+
* inputSchema: z.object({ id: z.string() }),
|
|
168
|
+
* outputSchema: z.object({ accepted: z.boolean() }),
|
|
169
|
+
* });
|
|
170
|
+
* void approve2;
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
export declare function update<TInputSchema extends DefinitionSchema<unknown, unknown>, TOutputSchema extends DefinitionSchema<unknown, unknown>>(name: string, options: {
|
|
174
|
+
inputSchema: TInputSchema;
|
|
175
|
+
outputSchema: TOutputSchema;
|
|
176
|
+
}): UpdateDefinition<InferSchemaOutput<TInputSchema>, InferSchemaOutput<TOutputSchema>>;
|
|
177
|
+
export declare function update<TInputSchema extends DefinitionSchema<unknown, unknown>>(name: string, options: {
|
|
178
|
+
inputSchema: TInputSchema;
|
|
179
|
+
}): UpdateDefinition<InferSchemaOutput<TInputSchema>>;
|
|
180
|
+
export declare function update<TInput = void, TOutput = unknown>(name: string, options?: UpdateOptions<TInput, TOutput>): UpdateDefinition<TInput, TOutput>;
|
|
181
|
+
/**
|
|
182
|
+
* Options accepted by {@link query} when declaring schema metadata.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```ts
|
|
186
|
+
* import type { QueryOptions } from '@lostgradient/weft';
|
|
187
|
+
* import { z } from 'zod';
|
|
188
|
+
*
|
|
189
|
+
* const options: QueryOptions<{ id: string }, { state: string }> = {
|
|
190
|
+
* inputSchema: z.object({ id: z.string() }),
|
|
191
|
+
* outputSchema: z.object({ state: z.string() }),
|
|
192
|
+
* };
|
|
193
|
+
* void options;
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
export interface QueryOptions<TInput = void, TOutput = unknown> {
|
|
197
|
+
readonly inputSchema?: DefinitionSchema<unknown, TInput>;
|
|
198
|
+
readonly outputSchema?: DefinitionSchema<unknown, TOutput>;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Create a typed workflow query handle. When `inputSchema` and/or
|
|
202
|
+
* `outputSchema` are supplied via options, payload types are inferred from
|
|
203
|
+
* the schemas — no explicit generic required.
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* ```ts
|
|
207
|
+
* import { query } from '@lostgradient/weft';
|
|
208
|
+
* import { z } from 'zod';
|
|
209
|
+
*
|
|
210
|
+
* const status = query<void, { state: string }>('status');
|
|
211
|
+
*
|
|
212
|
+
* const status2 = query('status', {
|
|
213
|
+
* outputSchema: z.object({ state: z.string() }),
|
|
214
|
+
* });
|
|
215
|
+
* void status2;
|
|
216
|
+
* ```
|
|
217
|
+
*/
|
|
218
|
+
export declare function query<TInputSchema extends DefinitionSchema<unknown, unknown>, TOutputSchema extends DefinitionSchema<unknown, unknown>>(name: string, options: {
|
|
219
|
+
readonly inputSchema: TInputSchema;
|
|
220
|
+
readonly outputSchema: TOutputSchema;
|
|
221
|
+
}): QueryDefinition<InferSchemaOutput<TInputSchema>, InferSchemaOutput<TOutputSchema>>;
|
|
222
|
+
export declare function query<TOutputSchema extends DefinitionSchema<unknown, unknown>>(name: string, options: {
|
|
223
|
+
readonly outputSchema: TOutputSchema;
|
|
224
|
+
}): QueryDefinition<void, InferSchemaOutput<TOutputSchema>>;
|
|
225
|
+
export declare function query<TInputSchema extends DefinitionSchema<unknown, unknown>>(name: string, options: {
|
|
226
|
+
readonly inputSchema: TInputSchema;
|
|
227
|
+
}): QueryDefinition<InferSchemaOutput<TInputSchema>>;
|
|
228
|
+
export declare function query<TInput = void, TOutput = unknown>(name: string, options?: QueryOptions<TInput, TOutput>): QueryDefinition<TInput, TOutput>;
|
|
229
|
+
export declare function messageName(definition: MessageName): string;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
validateDefinitionSchemaMetadata
|
|
3
|
+
} from "./definition-schema.js";
|
|
4
|
+
export function signal(name, options) {
|
|
5
|
+
if (options?.inputSchema !== void 0)
|
|
6
|
+
validateDefinitionSchemaMetadata(options.inputSchema, `signal("${name}").inputSchema`);
|
|
7
|
+
return {
|
|
8
|
+
name,
|
|
9
|
+
...options?.inputSchema !== void 0 ? { inputSchema: options.inputSchema } : {}
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function update(name, options) {
|
|
13
|
+
if (options?.inputSchema !== void 0)
|
|
14
|
+
validateDefinitionSchemaMetadata(options.inputSchema, `update("${name}").inputSchema`);
|
|
15
|
+
if (options?.outputSchema !== void 0)
|
|
16
|
+
validateDefinitionSchemaMetadata(options.outputSchema, `update("${name}").outputSchema`);
|
|
17
|
+
return {
|
|
18
|
+
name,
|
|
19
|
+
...options?.inputSchema !== void 0 ? { inputSchema: options.inputSchema } : {},
|
|
20
|
+
...options?.outputSchema !== void 0 ? { outputSchema: options.outputSchema } : {}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function query(name, options) {
|
|
24
|
+
if (options?.inputSchema !== void 0)
|
|
25
|
+
validateDefinitionSchemaMetadata(options.inputSchema, `query("${name}").inputSchema`);
|
|
26
|
+
if (options?.outputSchema !== void 0)
|
|
27
|
+
validateDefinitionSchemaMetadata(options.outputSchema, `query("${name}").outputSchema`);
|
|
28
|
+
return {
|
|
29
|
+
name,
|
|
30
|
+
...options?.inputSchema !== void 0 ? { inputSchema: options.inputSchema } : {},
|
|
31
|
+
...options?.outputSchema !== void 0 ? { outputSchema: options.outputSchema } : {}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function messageName(definition) {
|
|
35
|
+
return typeof definition === "string" ? definition : definition.name;
|
|
36
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared name-grammar validator for workflow and activity names.
|
|
3
|
+
*
|
|
4
|
+
* The wire format used by the remote worker protocol qualifies activity names
|
|
5
|
+
* as `${workflowType}.${activityName}` (introduced in Phase 4). To keep that
|
|
6
|
+
* encoding unambiguous, the dot separator must never appear inside a workflow
|
|
7
|
+
* or activity name, and names must start with a letter or underscore. The
|
|
8
|
+
* permitted character class is `[A-Za-z_][A-Za-z0-9_-]*`.
|
|
9
|
+
*
|
|
10
|
+
* This helper is called from public construction and registration sites:
|
|
11
|
+
*
|
|
12
|
+
* 1. `workflow({ name })` — rejects invalid workflow names.
|
|
13
|
+
* 2. `engine.register(workflowDefinition)` — rejects invalid structural
|
|
14
|
+
* workflow names before they reach the workflow registry.
|
|
15
|
+
* 3. `WorkflowBuilder.activities({ ... })` keys — rejects invalid activity
|
|
16
|
+
* names supplied as the outer object key.
|
|
17
|
+
* 4. `activity({ name })` — rejects invalid names on the canonical
|
|
18
|
+
* activity-definition constructor.
|
|
19
|
+
* 5. `ActivityRegistry.register(name, fn)` — rejects invalid names before
|
|
20
|
+
* they reach local or global activity registries.
|
|
21
|
+
*
|
|
22
|
+
* Keep this list in sync with Phase 4's worker SDK key validation: any name
|
|
23
|
+
* that passes here must also pass on the worker side, and vice versa.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Discriminator for the error message so callers see which construction site
|
|
27
|
+
* rejected the name. Add new kinds here when new entry points need validation.
|
|
28
|
+
*/
|
|
29
|
+
export type NameKind = 'workflow' | 'activity';
|
|
30
|
+
export declare function validateWorkflowOrActivityName(name: string, kind: NameKind): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_-]*$/, RULE_DESCRIPTION = "must match /^[A-Za-z_][A-Za-z0-9_-]*$/ \u2014 start with a letter or underscore, " + "use only letters, digits, underscores, or hyphens, and contain no '.' characters. The remote worker protocol encodes activity names as `${workflowType}.${activityName}` on the wire, so a '.' inside either name would break the qualifier split. If you previously used dotted names like 'payments.charge', rename to 'payments-charge' or 'paymentsCharge' before adopting the workflow-builder API.";
|
|
2
|
+
export function validateWorkflowOrActivityName(name, kind) {
|
|
3
|
+
if (typeof name !== "string" || name.length === 0)
|
|
4
|
+
throw Error(`${kind} name must be a non-empty string \u2014 ${RULE_DESCRIPTION}`);
|
|
5
|
+
if (name.includes("."))
|
|
6
|
+
throw Error(`${kind} name "${name}" contains '.', which is reserved for qualified activity names. ${RULE_DESCRIPTION}`);
|
|
7
|
+
if (!NAME_PATTERN.test(name))
|
|
8
|
+
throw Error(`${kind} name "${name}" is invalid \u2014 ${RULE_DESCRIPTION}`);
|
|
9
|
+
}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import type { AlertingOptions } from '../../alerting/types.ts';
|
|
2
|
+
import type { Storage as WeftStorage } from '../../storage/interface.ts';
|
|
3
|
+
import type { CompressionOptions } from '../compression.ts';
|
|
4
|
+
import type { Interceptor } from '../interceptor.ts';
|
|
5
|
+
import type { ArchiveAdapter } from './archive-adapter.ts';
|
|
6
|
+
import type { HistoryPolicy } from './history-policy.ts';
|
|
7
|
+
import type { FailureCategory, WorkflowStatus } from './identity.ts';
|
|
8
|
+
import type { PayloadSizePolicy } from './payload-size-policy.ts';
|
|
9
|
+
import type { Duration, RetentionPolicy } from './retry-retention.ts';
|
|
10
|
+
import type { SearchAttributeHandle, SearchAttributeValue } from './search-attributes.ts';
|
|
11
|
+
import type { Serializer } from './serializer.ts';
|
|
12
|
+
/**
|
|
13
|
+
* Options accepted by `engine.start(type, input, options?)`.
|
|
14
|
+
*
|
|
15
|
+
* Every field is optional. `id` lets you specify your own workflow ID;
|
|
16
|
+
* `idempotencyKey` enforces single-execution semantics within a window;
|
|
17
|
+
* `executionTimeout` caps wall-clock time; `startAt`/`startAfter` defer
|
|
18
|
+
* execution; `tags` and `searchAttributes` make the workflow discoverable
|
|
19
|
+
* via filters.
|
|
20
|
+
*
|
|
21
|
+
* `HttpClient.start` forwards `searchAttributes` to the server. It rejects
|
|
22
|
+
* `idempotencyKey` until the HTTP start protocol exposes matching
|
|
23
|
+
* single-execution semantics, so callers do not accidentally rely on a
|
|
24
|
+
* silently dropped option.
|
|
25
|
+
*
|
|
26
|
+
* @example Start a delayed workflow with tags and search attributes
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { workflow, Engine, type StartOptions } from '@lostgradient/weft';
|
|
29
|
+
*
|
|
30
|
+
* const engine = new Engine();
|
|
31
|
+
* engine.register(
|
|
32
|
+
* workflow({ name: 'greet' }).execute(async function* () {
|
|
33
|
+
* return 'hi';
|
|
34
|
+
* }),
|
|
35
|
+
* );
|
|
36
|
+
*
|
|
37
|
+
* const options: StartOptions = {
|
|
38
|
+
* id: 'greeting-2026-04-29',
|
|
39
|
+
* startAfter: '5m',
|
|
40
|
+
* tags: ['nightly', 'ops'],
|
|
41
|
+
* searchAttributes: { customerId: 'acme' },
|
|
42
|
+
* };
|
|
43
|
+
* const handle = await engine.start('greet', null, options);
|
|
44
|
+
* void handle;
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export interface StartOptions {
|
|
48
|
+
id?: string;
|
|
49
|
+
idempotencyKey?: string;
|
|
50
|
+
executionTimeout?: Duration;
|
|
51
|
+
startAt?: number;
|
|
52
|
+
startAfter?: Duration;
|
|
53
|
+
tags?: string[];
|
|
54
|
+
searchAttributes?: Record<string, SearchAttributeValue>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Options for {@link Engine.fork}. Controls which checkpoint step to fork
|
|
58
|
+
* from; defaults to the latest persisted checkpoint when omitted.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* import { workflow, Engine, type ForkOptions } from '@lostgradient/weft';
|
|
63
|
+
*
|
|
64
|
+
* const engine = new Engine();
|
|
65
|
+
* engine.register(workflow({ name: 'process' }).execute(async function* () { return 'done'; }));
|
|
66
|
+
*
|
|
67
|
+
* const original = await engine.start('process', null);
|
|
68
|
+
* await original.result();
|
|
69
|
+
*
|
|
70
|
+
* const options: ForkOptions = { fromStep: 2 };
|
|
71
|
+
* const forked = await engine.fork(original.id, options);
|
|
72
|
+
* void forked;
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export interface ForkOptions {
|
|
76
|
+
fromStep?: number;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Configuration options for the {@link Engine} constructor.
|
|
80
|
+
*
|
|
81
|
+
* All fields are optional. Common overrides include `storage`, `retention`,
|
|
82
|
+
* `development`, `serializer`, `compression`, `workflowExecutionMode`,
|
|
83
|
+
* `workerExecution`, and `alerts`.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* import { Engine, type EngineOptions } from '@lostgradient/weft';
|
|
88
|
+
*
|
|
89
|
+
* const options: EngineOptions = {
|
|
90
|
+
* development: true,
|
|
91
|
+
* retention: { completed: '7d', failed: '30d' },
|
|
92
|
+
* checkpointSizeWarningThreshold: 128_000,
|
|
93
|
+
* };
|
|
94
|
+
*
|
|
95
|
+
* const engine = new Engine(options);
|
|
96
|
+
* void engine;
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export interface EngineOptions {
|
|
100
|
+
storage?: WeftStorage;
|
|
101
|
+
development?: boolean;
|
|
102
|
+
serializer?: Serializer;
|
|
103
|
+
retention?: RetentionPolicy;
|
|
104
|
+
retentionSweepInterval?: Duration;
|
|
105
|
+
retentionSweepBatchSize?: number;
|
|
106
|
+
/**
|
|
107
|
+
* History circuit-breaker thresholds. When `history.maxEvents` is set, a
|
|
108
|
+
* workflow whose event-log record count would exceed it is forced to a
|
|
109
|
+
* terminal `timed-out` state with reason {@link HISTORY_CIRCUIT_BREAKER_REASON}.
|
|
110
|
+
* Omit to disable. There are no baked-in defaults.
|
|
111
|
+
*/
|
|
112
|
+
history?: HistoryPolicy;
|
|
113
|
+
/**
|
|
114
|
+
* Operator-supplied sink for event-log ranges discarded by
|
|
115
|
+
* `history.retentionWindow` compaction. Best-effort export only — see
|
|
116
|
+
* {@link ArchiveAdapter}. Omit for no archival (the default).
|
|
117
|
+
*/
|
|
118
|
+
archive?: ArchiveAdapter;
|
|
119
|
+
/**
|
|
120
|
+
* Payload-size cap thresholds. When `payloadSize.maxBytes` is set, a workflow
|
|
121
|
+
* input, signal payload, or activity result whose serialized (codec-encoded)
|
|
122
|
+
* size would exceed it is rejected at admission with `PayloadSizeExceededError`
|
|
123
|
+
* before any storage write. Omit to disable. There are no baked-in defaults.
|
|
124
|
+
*/
|
|
125
|
+
payloadSize?: PayloadSizePolicy;
|
|
126
|
+
/** Payload compression applied at the storage layer. */
|
|
127
|
+
compression?: CompressionOptions;
|
|
128
|
+
checkpointHistory?: number;
|
|
129
|
+
checkpointSizeWarningThreshold?: number;
|
|
130
|
+
maxNestingDepth?: number;
|
|
131
|
+
/** Enable BroadcastChannel for cross-worker event coordination. Default: false. */
|
|
132
|
+
broadcastEvents?: boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Select where workflow generator turns execute. Omitting this defaults to
|
|
135
|
+
* `'inline'`, which steps the generator in the engine isolate and is
|
|
136
|
+
* appropriate only when workflow code is trusted. Use `'worker'` for
|
|
137
|
+
* untrusted deployments: it requires `workerExecution` and applies hardened
|
|
138
|
+
* Worker turn-timeout and protocol-message-size limits. Explicit `'inline'`
|
|
139
|
+
* rejects `workerExecution`.
|
|
140
|
+
*/
|
|
141
|
+
workflowExecutionMode?: 'inline' | 'worker';
|
|
142
|
+
/**
|
|
143
|
+
* Enable Worker-based workflow execution. When provided, workflow generator
|
|
144
|
+
* turns run in Web Workers instead of inline on the engine isolate. Activities
|
|
145
|
+
* are still executed on the main thread via the activity registry unless
|
|
146
|
+
* `activityExecution` is also configured.
|
|
147
|
+
*
|
|
148
|
+
* Explicit `workflowExecutionMode: 'worker'` requires this object, applies
|
|
149
|
+
* hardened defaults for Worker turn timeout and protocol-message size, and
|
|
150
|
+
* rejects invalid runtime values. Explicit `workflowExecutionMode: 'inline'`
|
|
151
|
+
* rejects this object to avoid ambiguous trust posture.
|
|
152
|
+
*
|
|
153
|
+
* Worker execution protects engine liveness and engine heap access. It is not
|
|
154
|
+
* an operating-system sandbox: workflow code can still access APIs exposed in
|
|
155
|
+
* the Worker runtime.
|
|
156
|
+
*/
|
|
157
|
+
workerExecution?: {
|
|
158
|
+
/** URL of the worker script, for example `new URL('./workflow-worker.ts', import.meta.url)`. */
|
|
159
|
+
workerUrl: string | URL;
|
|
160
|
+
/** Maximum number of concurrent workers. Default: 4. */
|
|
161
|
+
poolSize?: number;
|
|
162
|
+
/** Use Bun's `smol` worker option for smaller memory footprint. */
|
|
163
|
+
smol?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Host-enforced wall-clock timeout for each Worker `run` or `resume` turn.
|
|
166
|
+
* Defaults to `1_000` in Worker mode. Provide a positive safe integer to
|
|
167
|
+
* override the default.
|
|
168
|
+
*/
|
|
169
|
+
workflowTurnTimeoutMs?: number;
|
|
170
|
+
/**
|
|
171
|
+
* Maximum encoded size of Weft-owned Worker protocol messages. Defaults to
|
|
172
|
+
* `1_048_576` in explicit Worker mode. The minimum accepted value is
|
|
173
|
+
* `4_096` so bounded failure envelopes can always cross the protocol.
|
|
174
|
+
*/
|
|
175
|
+
maxProtocolMessageBytes?: number;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Enable worker-based activity execution. When provided, activity functions
|
|
179
|
+
* run in isolated Web Workers instead of on the main thread. Activities must
|
|
180
|
+
* be pre-registered in the worker via `createActivityWorkerEntryUrl`.
|
|
181
|
+
*/
|
|
182
|
+
activityExecution?: {
|
|
183
|
+
/** URL of the activity worker script (created via `createActivityWorkerEntryUrl`). */
|
|
184
|
+
workerUrl: string | URL;
|
|
185
|
+
/** Maximum number of concurrent activity workers. Default: 4. */
|
|
186
|
+
poolSize?: number;
|
|
187
|
+
/** Use Bun's `smol` worker option for smaller memory footprint. */
|
|
188
|
+
smol?: boolean;
|
|
189
|
+
};
|
|
190
|
+
/** Built-in alerting configuration. */
|
|
191
|
+
alerts?: AlertingOptions;
|
|
192
|
+
/**
|
|
193
|
+
* Unified interceptors registered at construction. This is equivalent to
|
|
194
|
+
* calling `addInterceptor` for each entry; each interceptor participates in
|
|
195
|
+
* the workflow and/or activity pipeline based on which hooks it implements.
|
|
196
|
+
* The engine takes a defensive copy at construction — mutating this array
|
|
197
|
+
* after passing it has no effect.
|
|
198
|
+
*/
|
|
199
|
+
interceptors?: readonly Interceptor[];
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Filter criteria for {@link Engine.list}. All fields are optional and
|
|
203
|
+
* combine with AND semantics. `status` accepts a single value or an array;
|
|
204
|
+
* `attributes` is a list of attribute predicates evaluated on indexed search
|
|
205
|
+
* attributes. Pairs with `limit`/`offset` for pagination.
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```ts
|
|
209
|
+
* import { Engine, type ListFilter } from '@lostgradient/weft';
|
|
210
|
+
*
|
|
211
|
+
* const engine = new Engine();
|
|
212
|
+
* const filter: ListFilter = {
|
|
213
|
+
* status: ['running', 'pending'],
|
|
214
|
+
* tags: ['nightly'],
|
|
215
|
+
* attributes: [{ key: 'customerId', value: 'acme' }],
|
|
216
|
+
* limit: 20,
|
|
217
|
+
* offset: 0,
|
|
218
|
+
* };
|
|
219
|
+
* const result = await engine.list(filter);
|
|
220
|
+
* console.log(result.items.length);
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
/**
|
|
224
|
+
* Numeric half-open range bound, used by visibility filters that match a
|
|
225
|
+
* stored numeric field (timestamps, deadlines). Provide at least one of the
|
|
226
|
+
* four bounds. `gt`/`gte` are mutually exclusive on the lower side; `lt`/`lte`
|
|
227
|
+
* are mutually exclusive on the upper side.
|
|
228
|
+
*/
|
|
229
|
+
export interface TimeRange {
|
|
230
|
+
gte?: number;
|
|
231
|
+
lte?: number;
|
|
232
|
+
gt?: number;
|
|
233
|
+
lt?: number;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Filter passed to {@link Engine.list} (and equivalent visibility transports)
|
|
237
|
+
* to narrow which {@link WorkflowSummary} entries are returned. Every field
|
|
238
|
+
* is optional; combining fields applies them as AND.
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```ts
|
|
242
|
+
* import { Engine, type ListFilter } from '@lostgradient/weft';
|
|
243
|
+
*
|
|
244
|
+
* const engine = new Engine();
|
|
245
|
+
* const filter: ListFilter = {
|
|
246
|
+
* status: ['running', 'failed'],
|
|
247
|
+
* createdAt: { gte: Date.now() - 60_000 },
|
|
248
|
+
* };
|
|
249
|
+
*
|
|
250
|
+
* const page = await engine.list(filter);
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
export interface ListFilter {
|
|
254
|
+
/** Match workflows whose {@link WorkflowState.status} is one of the listed values. */
|
|
255
|
+
status?: WorkflowStatus | WorkflowStatus[];
|
|
256
|
+
/**
|
|
257
|
+
* Match workflows by registered workflow type (e.g. `'order-fulfillment'`).
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* ```ts
|
|
261
|
+
* import type { ListFilter } from '@lostgradient/weft';
|
|
262
|
+
* const filter: ListFilter = { type: 'order-fulfillment' };
|
|
263
|
+
* ```
|
|
264
|
+
*/
|
|
265
|
+
type?: string;
|
|
266
|
+
/** Match workflows that carry every listed tag. */
|
|
267
|
+
tags?: string[];
|
|
268
|
+
/** Filter on indexed search attributes (equality or range). */
|
|
269
|
+
attributes?: readonly AttributeFilter[];
|
|
270
|
+
/** Maximum number of summaries to return. Server enforces an upper bound. */
|
|
271
|
+
limit?: number;
|
|
272
|
+
/** Number of summaries to skip before returning results. */
|
|
273
|
+
offset?: number;
|
|
274
|
+
/**
|
|
275
|
+
* Workflow id prefix. Restricted to `[A-Za-z0-9_-]+`; values containing
|
|
276
|
+
* other characters are rejected during validation. Matches by raw
|
|
277
|
+
* `state.id.startsWith(idPrefix)` after candidate enumeration.
|
|
278
|
+
*/
|
|
279
|
+
idPrefix?: string;
|
|
280
|
+
/** Range filter on `WorkflowState.createdAt` (ms epoch). */
|
|
281
|
+
createdAt?: TimeRange;
|
|
282
|
+
/** Range filter on `WorkflowState.updatedAt` (ms epoch). */
|
|
283
|
+
updatedAt?: TimeRange;
|
|
284
|
+
/** Range filter on `WorkflowState.executionDeadline` (ms epoch). */
|
|
285
|
+
executionDeadline?: TimeRange;
|
|
286
|
+
/**
|
|
287
|
+
* Match by the workflow's `failureCategory`. The engine uses the
|
|
288
|
+
* `failureCategory` search-attribute index to narrow candidate workflow IDs,
|
|
289
|
+
* then still verifies the loaded `WorkflowState.failureCategory` so state
|
|
290
|
+
* remains authoritative when index entries are stale.
|
|
291
|
+
*/
|
|
292
|
+
failureCategory?: FailureCategory | FailureCategory[];
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Projection options for {@link Engine.list}. These options do not change
|
|
296
|
+
* which workflows match the list filter; they only control optional summary
|
|
297
|
+
* fields that may require additional storage reads.
|
|
298
|
+
*
|
|
299
|
+
* @example Include failure categories projected from search attributes
|
|
300
|
+
* ```ts
|
|
301
|
+
* import { Engine, type ListOptions } from '@lostgradient/weft';
|
|
302
|
+
*
|
|
303
|
+
* const engine = new Engine();
|
|
304
|
+
* const options: ListOptions = { includeFailureCategory: true };
|
|
305
|
+
* const page = await engine.list({ status: 'failed' }, options);
|
|
306
|
+
* void page;
|
|
307
|
+
* ```
|
|
308
|
+
*/
|
|
309
|
+
export interface ListOptions {
|
|
310
|
+
/**
|
|
311
|
+
* Populate `WorkflowSummary.failureCategory` for failed workflows from the
|
|
312
|
+
* stored `failureCategory` search attribute when the workflow state itself
|
|
313
|
+
* does not carry a category. Defaults to `false`.
|
|
314
|
+
*/
|
|
315
|
+
includeFailureCategory?: boolean;
|
|
316
|
+
}
|
|
317
|
+
export type AttributeFilterKey = string | SearchAttributeHandle;
|
|
318
|
+
export type AttributeFilterValue<TKey extends AttributeFilterKey> = TKey extends SearchAttributeHandle<infer TValue> ? TValue extends string[] ? string : TValue : SearchAttributeValue;
|
|
319
|
+
export type AttributeRangeValue<TKey extends AttributeFilterKey> = TKey extends SearchAttributeHandle<infer TValue> ? Extract<TValue, Date | number> : SearchAttributeValue;
|
|
320
|
+
export type AttributeFilter<TKey extends AttributeFilterKey = AttributeFilterKey> = TKey extends SearchAttributeHandle ? {
|
|
321
|
+
key: TKey;
|
|
322
|
+
value?: AttributeFilterValue<TKey>;
|
|
323
|
+
gt?: never;
|
|
324
|
+
lt?: never;
|
|
325
|
+
gte?: never;
|
|
326
|
+
lte?: never;
|
|
327
|
+
} | {
|
|
328
|
+
key: TKey;
|
|
329
|
+
value?: never;
|
|
330
|
+
gt?: AttributeRangeValue<TKey>;
|
|
331
|
+
lt?: AttributeRangeValue<TKey>;
|
|
332
|
+
gte?: AttributeRangeValue<TKey>;
|
|
333
|
+
lte?: AttributeRangeValue<TKey>;
|
|
334
|
+
} : {
|
|
335
|
+
key: TKey;
|
|
336
|
+
value?: SearchAttributeValue;
|
|
337
|
+
gt?: SearchAttributeValue;
|
|
338
|
+
lt?: SearchAttributeValue;
|
|
339
|
+
gte?: SearchAttributeValue;
|
|
340
|
+
lte?: SearchAttributeValue;
|
|
341
|
+
};
|
|
342
|
+
export type AttributeFilterList<TAttributeKeys extends readonly AttributeFilterKey[]> = {
|
|
343
|
+
readonly [TIndex in keyof TAttributeKeys]: AttributeFilter<TAttributeKeys[TIndex]>;
|
|
344
|
+
};
|
|
345
|
+
export type TypedListFilter<TAttributeKeys extends readonly AttributeFilterKey[]> = Omit<ListFilter, 'attributes'> & {
|
|
346
|
+
attributes?: AttributeFilterList<TAttributeKeys>;
|
|
347
|
+
};
|
|
348
|
+
/**
|
|
349
|
+
* Generic paginated response envelope returned by list operations such as
|
|
350
|
+
* {@link Engine.list} and `engine.listSchedules`. `total` is the full count
|
|
351
|
+
* matching the filter; `items` is the current page slice. `items.length` is
|
|
352
|
+
* bounded by `limit`; the consumer reaches the end of the result set when
|
|
353
|
+
* `offset + items.length >= total`.
|
|
354
|
+
*/
|
|
355
|
+
export interface PaginatedResult<T> {
|
|
356
|
+
items: T[];
|
|
357
|
+
total: number;
|
|
358
|
+
offset: number;
|
|
359
|
+
limit: number;
|
|
360
|
+
}
|
|
File without changes
|