@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,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP catalog transport for {@link HttpClient}.
|
|
3
|
+
*
|
|
4
|
+
* Posts JSON-RPC requests to the client's own `${baseUrl}/jsonrpc` endpoint
|
|
5
|
+
* using the client's configured headers. Unlike the CLI's
|
|
6
|
+
* {@link httpJsonRpcTransport}, this transport does not consult on-disk CLI
|
|
7
|
+
* profiles or run lockfiles — a programmatic {@link HttpClient} is constructed
|
|
8
|
+
* with an explicit `baseUrl` and headers, so connection resolution would be
|
|
9
|
+
* wrong here.
|
|
10
|
+
*
|
|
11
|
+
* @module client/http-operations
|
|
12
|
+
*/
|
|
13
|
+
import type { CatalogTransport } from '../cli/operation-client-runtime.ts';
|
|
14
|
+
/**
|
|
15
|
+
* Build a {@link CatalogTransport} that dispatches catalog operations as
|
|
16
|
+
* JSON-RPC requests to a remote Weft server at `${baseUrl}/jsonrpc`.
|
|
17
|
+
*
|
|
18
|
+
* A JSON-RPC error envelope is surfaced as an {@link HttpClientError} so faults
|
|
19
|
+
* reach callers through the same error type the ergonomic HTTP methods use.
|
|
20
|
+
*
|
|
21
|
+
* The JSON-RPC endpoint always responds with HTTP 200 — even for operation
|
|
22
|
+
* faults — so the status for `HttpClientError` is taken from
|
|
23
|
+
* `error.data.httpStatus` in the envelope rather than `response.status`.
|
|
24
|
+
* Transport-level errors (405 Method Not Allowed, 415 Unsupported Media Type,
|
|
25
|
+
* 413 Payload Too Large, auth short-circuits) return non-JSON bodies;
|
|
26
|
+
* `response.json()` is wrapped in a try/catch to surface those as
|
|
27
|
+
* `HttpClientError` rather than a raw `SyntaxError`.
|
|
28
|
+
*/
|
|
29
|
+
export declare function httpClientCatalogTransport(baseUrl: string, headers: Record<string, string>): CatalogTransport;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { isFaultCode } from "../core/fault-code.js";
|
|
2
|
+
import { HttpClientError } from "./http-request.js";
|
|
3
|
+
function isJsonRpcFailure(value) {
|
|
4
|
+
return typeof value === "object" && value !== null && "error" in value && typeof value.error === "object" && value.error !== null && "message" in value.error && typeof value.error.message === "string";
|
|
5
|
+
}
|
|
6
|
+
function isJsonRpcSuccess(value) {
|
|
7
|
+
return typeof value === "object" && value !== null && "result" in value;
|
|
8
|
+
}
|
|
9
|
+
export function httpClientCatalogTransport(baseUrl, headers) {
|
|
10
|
+
const endpoint = `${baseUrl}/jsonrpc`;
|
|
11
|
+
return async (operationName, input) => {
|
|
12
|
+
const response = await fetch(endpoint, {
|
|
13
|
+
method: "POST",
|
|
14
|
+
headers: { ...headers, "content-type": "application/json" },
|
|
15
|
+
body: JSON.stringify({
|
|
16
|
+
jsonrpc: "2.0",
|
|
17
|
+
method: operationName,
|
|
18
|
+
params: input,
|
|
19
|
+
id: operationName
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
let body;
|
|
23
|
+
try {
|
|
24
|
+
body = await response.json();
|
|
25
|
+
} catch {
|
|
26
|
+
throw new HttpClientError(response.status, response.statusText || `HTTP ${response.status} from ${endpoint}`);
|
|
27
|
+
}
|
|
28
|
+
if (isJsonRpcFailure(body)) {
|
|
29
|
+
const { message, data } = body.error, httpStatus = typeof data?.httpStatus === "number" ? data.httpStatus : response.status, faultCode = isFaultCode(data?.weftCode) ? data.weftCode : void 0;
|
|
30
|
+
throw new HttpClientError(httpStatus, message, { faultCode });
|
|
31
|
+
}
|
|
32
|
+
if (isJsonRpcSuccess(body))
|
|
33
|
+
return body.result;
|
|
34
|
+
throw new HttpClientError(response.status, `Invalid JSON-RPC response from ${endpoint}`);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { type FaultCode } from '../core/fault-code.ts';
|
|
2
|
+
import type { FailureCategory } from '../core/types/identity.ts';
|
|
3
|
+
import { WeftError } from '../core/weft-error.ts';
|
|
4
|
+
import type { WebSocketFactory } from './event-stream-transport.ts';
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for the HTTP client.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { HttpClient, type HttpClientOptions } from '@lostgradient/weft';
|
|
11
|
+
*
|
|
12
|
+
* const options: HttpClientOptions = {
|
|
13
|
+
* baseUrl: 'http://localhost:3000',
|
|
14
|
+
* headers: { 'X-API-Key': 'my-secret-key' },
|
|
15
|
+
* };
|
|
16
|
+
* const client = new HttpClient(options);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export interface HttpClientOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Base URL of the Weft server (e.g. `http://localhost:3000`). Defaults to
|
|
22
|
+
* `WEFT_ADDR`, then the `~/.weft/config` profile, then `http://localhost:7233`
|
|
23
|
+
* when omitted.
|
|
24
|
+
*/
|
|
25
|
+
baseUrl?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Bearer token sent as `Authorization: Bearer <token>`. Defaults to
|
|
28
|
+
* `WEFT_TOKEN` or the profile token when omitted. An explicit
|
|
29
|
+
* `headers.Authorization` always wins; pass an empty string to suppress a
|
|
30
|
+
* resolved token entirely.
|
|
31
|
+
*/
|
|
32
|
+
token?: string;
|
|
33
|
+
/** Optional headers to include on every request (e.g. auth tokens). */
|
|
34
|
+
headers?: Record<string, string>;
|
|
35
|
+
/**
|
|
36
|
+
* Override the WebSocket constructor used for live event streaming
|
|
37
|
+
* (`tail()` / push-based `handle.addEventListener`). Production omits this and
|
|
38
|
+
* the global `WebSocket` is used; tests inject a fake to drive the
|
|
39
|
+
* subscription protocol without a real socket.
|
|
40
|
+
*/
|
|
41
|
+
webSocketFactory?: WebSocketFactory;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Resolve {@link HttpClientOptions} into the concrete `baseUrl` and request
|
|
45
|
+
* headers an {@link HttpClient} uses. With no `baseUrl`/`token`, the server
|
|
46
|
+
* address and bearer token come from {@link resolveConnection} (explicit
|
|
47
|
+
* options, then `WEFT_ADDR`/`WEFT_TOKEN`, then the `~/.weft/config` profile,
|
|
48
|
+
* then `http://localhost:7233`). The CLI-only run lockfile is never consulted.
|
|
49
|
+
* A caller-supplied `headers.Authorization` always takes precedence over a
|
|
50
|
+
* resolved token; pass an empty `token` to suppress a resolved token entirely.
|
|
51
|
+
*/
|
|
52
|
+
export declare function resolveHttpClientConnection(options: HttpClientOptions): {
|
|
53
|
+
baseUrl: string;
|
|
54
|
+
headers: Record<string, string>;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Error thrown when the server returns a non-2xx response.
|
|
58
|
+
*
|
|
59
|
+
* When the server sends a structured fault body (`{ error: { code, message } }`),
|
|
60
|
+
* the wire fault `code` is surfaced as {@link HttpClientError.faultCode} and a
|
|
61
|
+
* derived {@link HttpClientError.category} so callers can branch programmatically
|
|
62
|
+
* instead of string-matching `message`. Both are `undefined` when the body is a
|
|
63
|
+
* plain `{ error: string }` or carries no recognized code.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* import { HttpClient, HttpClientError } from '@lostgradient/weft';
|
|
68
|
+
*
|
|
69
|
+
* const client = new HttpClient({ baseUrl: 'http://localhost:3000' });
|
|
70
|
+
* try {
|
|
71
|
+
* await client.cancel('nonexistent-id');
|
|
72
|
+
* } catch (err) {
|
|
73
|
+
* if (err instanceof HttpClientError) {
|
|
74
|
+
* if (err.faultCode === 'NotFound') {
|
|
75
|
+
* // handle a missing resource specifically
|
|
76
|
+
* } else if (err.category === 'resource') {
|
|
77
|
+
* // back off on rate limits and capacity faults
|
|
78
|
+
* }
|
|
79
|
+
* console.error('HTTP', err.status, err.faultCode ?? err.message);
|
|
80
|
+
* }
|
|
81
|
+
* }
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare class HttpClientError extends WeftError<'HttpClientError'> {
|
|
85
|
+
/** HTTP status code of the failed response. */
|
|
86
|
+
readonly status: number;
|
|
87
|
+
/**
|
|
88
|
+
* The server's stable wire fault code, when the response carried a structured
|
|
89
|
+
* fault body. `undefined` for plain-string error bodies or unrecognized codes.
|
|
90
|
+
*/
|
|
91
|
+
readonly faultCode?: FaultCode | undefined;
|
|
92
|
+
/**
|
|
93
|
+
* The {@link FailureCategory} derived from {@link faultCode}. Derived, not
|
|
94
|
+
* carried on the wire; `undefined` when `faultCode` is `undefined`.
|
|
95
|
+
*/
|
|
96
|
+
readonly category?: FailureCategory | undefined;
|
|
97
|
+
constructor(status: number, message: string, options?: {
|
|
98
|
+
faultCode?: FaultCode | undefined;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
export declare function request<T>(baseUrl: string, path: string, baseHeaders: Record<string, string>, options?: RequestInit): Promise<T>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { resolveConnection } from "../connection.js";
|
|
2
|
+
import { failureCategoryForFaultCode, isFaultCode } from "../core/fault-code.js";
|
|
3
|
+
import { WeftError } from "../core/weft-error.js";
|
|
4
|
+
export function resolveHttpClientConnection(options) {
|
|
5
|
+
const connection = resolveConnection({
|
|
6
|
+
includeRunLockfile: !1,
|
|
7
|
+
...options.baseUrl !== void 0 ? { server: options.baseUrl } : {},
|
|
8
|
+
...options.token !== void 0 ? { token: options.token } : {}
|
|
9
|
+
}), baseUrl = connection.server.toString().replace(/\/+$/, ""), headers = new Headers(options.headers);
|
|
10
|
+
if (connection.token !== void 0 && connection.token !== "" && !headers.has("Authorization"))
|
|
11
|
+
headers.set("Authorization", `Bearer ${connection.token}`);
|
|
12
|
+
return { baseUrl, headers: Object.fromEntries(headers.entries()) };
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class HttpClientError extends WeftError {
|
|
16
|
+
status;
|
|
17
|
+
faultCode;
|
|
18
|
+
category;
|
|
19
|
+
constructor(status, message, options) {
|
|
20
|
+
super("HttpClientError", message);
|
|
21
|
+
this.status = status;
|
|
22
|
+
this.faultCode = options?.faultCode;
|
|
23
|
+
this.category = options?.faultCode === void 0 ? void 0 : failureCategoryForFaultCode(options.faultCode);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function buildRequestHeaders(baseHeaders, options) {
|
|
27
|
+
const headers = new Headers(baseHeaders);
|
|
28
|
+
if (options?.headers) {
|
|
29
|
+
const extra = new Headers(options.headers);
|
|
30
|
+
for (const [key, value] of extra)
|
|
31
|
+
headers.set(key, value);
|
|
32
|
+
}
|
|
33
|
+
if (options?.body && !headers.has("Content-Type"))
|
|
34
|
+
headers.set("Content-Type", "application/json");
|
|
35
|
+
return headers;
|
|
36
|
+
}
|
|
37
|
+
function isFlatErrorBody(value) {
|
|
38
|
+
return value !== null && typeof value === "object" && typeof value.error === "string";
|
|
39
|
+
}
|
|
40
|
+
function isStructuredErrorBody(value) {
|
|
41
|
+
if (value === null || typeof value !== "object")
|
|
42
|
+
return !1;
|
|
43
|
+
const error = value.error;
|
|
44
|
+
if (error === null || typeof error !== "object")
|
|
45
|
+
return !1;
|
|
46
|
+
return typeof error.message === "string";
|
|
47
|
+
}
|
|
48
|
+
async function parseErrorBody(response) {
|
|
49
|
+
try {
|
|
50
|
+
const body = await response.json();
|
|
51
|
+
if (isStructuredErrorBody(body)) {
|
|
52
|
+
const { code, message } = body.error;
|
|
53
|
+
return isFaultCode(code) ? { message, faultCode: code } : { message };
|
|
54
|
+
}
|
|
55
|
+
if (isFlatErrorBody(body) && body.error)
|
|
56
|
+
return { message: body.error };
|
|
57
|
+
return { message: response.statusText };
|
|
58
|
+
} catch {
|
|
59
|
+
return { message: response.statusText };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export async function request(baseUrl, path, baseHeaders, options) {
|
|
63
|
+
const headers = buildRequestHeaders(baseHeaders, options), response = await fetch(`${baseUrl}/v1${path}`, { ...options, headers });
|
|
64
|
+
if (response.status === 404 && (!options?.method || options.method === "GET"))
|
|
65
|
+
return null;
|
|
66
|
+
if (!response.ok) {
|
|
67
|
+
const { message, faultCode } = await parseErrorBody(response);
|
|
68
|
+
throw new HttpClientError(response.status, message, { faultCode });
|
|
69
|
+
}
|
|
70
|
+
if (response.status === 204)
|
|
71
|
+
return;
|
|
72
|
+
return response.json();
|
|
73
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-process catalog transport for {@link LocalClient}.
|
|
3
|
+
*
|
|
4
|
+
* The generated catalog client ({@link createWeftClient}) speaks JSON-RPC over
|
|
5
|
+
* HTTP by default. For the embedded library client there is no server to talk
|
|
6
|
+
* to, so this module supplies a {@link CatalogTransport} that routes the exact
|
|
7
|
+
* same operation calls straight through the shared `executeOperation` pipeline
|
|
8
|
+
* against a local {@link Engine}.
|
|
9
|
+
*
|
|
10
|
+
* This is the seam that lets `LocalClient` and `HttpClient` expose one
|
|
11
|
+
* generated low-level surface — `client.operations.<op>` / `client.call(op,
|
|
12
|
+
* input)` — covering every catalog operation, not just the curated ergonomic
|
|
13
|
+
* methods, while still routing local calls to the in-process engine.
|
|
14
|
+
*
|
|
15
|
+
* @module client/in-process-operations
|
|
16
|
+
*/
|
|
17
|
+
import type { CatalogTransport } from '../cli/operation-client-runtime.ts';
|
|
18
|
+
import type { Engine } from '../core/engine.ts';
|
|
19
|
+
/**
|
|
20
|
+
* Build a {@link CatalogTransport} that dispatches catalog operations against
|
|
21
|
+
* an in-process {@link Engine}.
|
|
22
|
+
*
|
|
23
|
+
* The registry and trusted principal are constructed once and reused across
|
|
24
|
+
* calls. Operations run with `transport: 'jsonRpcHttp'` so input/output
|
|
25
|
+
* validation and unknown-key handling match the remote JSON-RPC path exactly.
|
|
26
|
+
* A failed dispatch throws with the fault message, mirroring the HTTP
|
|
27
|
+
* transport's `throw new Error(result.error.message)` contract so both clients
|
|
28
|
+
* surface operation faults the same way.
|
|
29
|
+
*/
|
|
30
|
+
export declare function inProcessCatalogTransport(engine: Engine): CatalogTransport;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { executeOperation } from "../server/operation-catalog.js";
|
|
2
|
+
import { principalFromStdioLocal } from "../server/principal.js";
|
|
3
|
+
import { createLiveOperationRegistry } from "../server/rest-bindings.js";
|
|
4
|
+
export function inProcessCatalogTransport(engine) {
|
|
5
|
+
const registry = createLiveOperationRegistry(), principal = principalFromStdioLocal();
|
|
6
|
+
return async (operationName, input) => {
|
|
7
|
+
const result = await executeOperation(operationName, input, {
|
|
8
|
+
principal,
|
|
9
|
+
engine,
|
|
10
|
+
transport: "jsonRpcHttp",
|
|
11
|
+
registry
|
|
12
|
+
});
|
|
13
|
+
if (!result.ok)
|
|
14
|
+
throw Error(result.fault.message);
|
|
15
|
+
return result.value;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP client for a remote Weft server. Communicates over the REST API
|
|
3
|
+
* exposed by {@link handleRequest}.
|
|
4
|
+
*
|
|
5
|
+
* Implements the same {@link WeftClient} interface as {@link LocalClient},
|
|
6
|
+
* so switching from server mode to library mode is a constructor change.
|
|
7
|
+
*
|
|
8
|
+
* @module client/index
|
|
9
|
+
*/
|
|
10
|
+
export type { WorkflowEventTail } from './event-tail.ts';
|
|
11
|
+
export { HttpClient } from './http-client.ts';
|
|
12
|
+
export { HttpClientError } from './http-request.ts';
|
|
13
|
+
export type { HttpClientOptions } from './http-request.ts';
|
|
14
|
+
export type { ClientHandle, ClientScheduleHandle, UpdateResult, WeftClient, WeftClientActivity, } from './interface.ts';
|
|
15
|
+
export type { KnownWorkflowName, UnknownNameWhenRegistryEmpty } from './workflow-name-typing.ts';
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared client interface for Weft. Both {@link LocalClient} and
|
|
3
|
+
* {@link HttpClient} implement this contract so switching between
|
|
4
|
+
* library mode and server mode is a constructor change, not an API change.
|
|
5
|
+
*
|
|
6
|
+
* @module client/interface
|
|
7
|
+
*/
|
|
8
|
+
import type { CatalogOperationName, CatalogOperationTypes, WeftClient as CatalogOperations } from '../cli/generated/operation-client.generated.ts';
|
|
9
|
+
import type { StoredStreamChunk } from '../core/context.ts';
|
|
10
|
+
import type { TypedEventTarget, WeftEventMap } from '../core/events.ts';
|
|
11
|
+
import type { AttributeFilterKey, BulkCancelResult, BulkDeleteResult, BulkSignalResult, BulkTagResult, CoordinatedUpdateResult, ForkOptions, ListFilter, PaginatedResult, PurgeResult, QueryDefinition, RetentionOverview, ReviewListEntry, ReviewListFilter, ScheduleFilter, ScheduleOptions, ScheduleSpec, ScheduleSummary, SearchAttributeValue, SignalDefinition, SignalDeliveryOptions, StartOptions, SubmitReviewOptions, TypedListFilter, UpdateDefinition, WorkflowEvent, WorkflowInput, WorkflowOutput, WorkflowRegistry, WorkflowReplay, WorkflowState, WorkflowSummary, WorkflowTimelineEntry } from '../core/types.ts';
|
|
12
|
+
import type { WorkflowEventTail } from './event-tail.ts';
|
|
13
|
+
import type { KnownWorkflowName, UnknownNameWhenRegistryEmpty } from './workflow-name-typing.ts';
|
|
14
|
+
/**
|
|
15
|
+
* A reference to a workflow that provides convenience methods.
|
|
16
|
+
*
|
|
17
|
+
* Extends {@link TypedEventTarget} so callers can observe workflow lifecycle
|
|
18
|
+
* events with the same `addEventListener` / `removeEventListener` API in both
|
|
19
|
+
* library mode (events flow through `EventTarget` directly) and server mode
|
|
20
|
+
* (events are bridged over WebSocket).
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { workflow, Engine, MemoryStorage, LocalClient, type WorkflowCompletedEvent } from '@lostgradient/weft';
|
|
25
|
+
* import type { ClientHandle } from '@lostgradient/weft/client';
|
|
26
|
+
*
|
|
27
|
+
* await using engine = new Engine({ storage: new MemoryStorage() });
|
|
28
|
+
* engine.register(workflow({ name: 'ping' }).execute(async function* () { return 'pong'; }));
|
|
29
|
+
*
|
|
30
|
+
* const client = new LocalClient(engine);
|
|
31
|
+
* const handle: ClientHandle = await client.start('ping', null);
|
|
32
|
+
* handle.addEventListener('workflow:completed', (e) => {
|
|
33
|
+
* console.log('completed', (e as WorkflowCompletedEvent).result);
|
|
34
|
+
* });
|
|
35
|
+
* const result = await handle.result();
|
|
36
|
+
* console.log(result); // 'pong'
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* The `TResult` parameter carries the workflow's output type. It defaults to
|
|
40
|
+
* `unknown`, so untyped (string-name) call sites are unaffected. When a
|
|
41
|
+
* project augments {@link WorkflowRegistry} (typically via `weft codegen`),
|
|
42
|
+
* the typed `start` overload returns `ClientHandle<WorkflowOutput<...>>` and
|
|
43
|
+
* `result()` is narrowed to that workflow's output.
|
|
44
|
+
*
|
|
45
|
+
* The narrowing is a compile-time projection of the registered output schema,
|
|
46
|
+
* exactly as `engine.start` returns a typed `WorkflowHandle<TOutput>` over a
|
|
47
|
+
* runtime handle whose `result()` is structurally `Promise<unknown>`. The
|
|
48
|
+
* concrete handles (`LocalHandle`, `HttpHandle`) stay non-generic; the static
|
|
49
|
+
* type reflects the schema the project opted into via codegen, not an extra
|
|
50
|
+
* runtime guarantee.
|
|
51
|
+
*/
|
|
52
|
+
export interface ClientHandle<TResult = unknown> extends TypedEventTarget<WeftEventMap>, Disposable {
|
|
53
|
+
/** The workflow's unique identifier. */
|
|
54
|
+
readonly id: string;
|
|
55
|
+
/** Resolves when the workflow completes (or rejects on failure). */
|
|
56
|
+
result(): Promise<TResult>;
|
|
57
|
+
/** Cancel this workflow. */
|
|
58
|
+
cancel(): Promise<void>;
|
|
59
|
+
/** Send a named signal with an optional payload. */
|
|
60
|
+
signal(name: SignalDefinition): Promise<void>;
|
|
61
|
+
signal<TInput>(name: SignalDefinition<TInput>, payload: TInput, options?: SignalDeliveryOptions): Promise<void>;
|
|
62
|
+
signal(name: string, payload?: unknown, options?: SignalDeliveryOptions): Promise<void>;
|
|
63
|
+
/** Submit a synchronous update and return the handler's result. */
|
|
64
|
+
update<TOutput>(name: UpdateDefinition<void, TOutput>, payload?: void, options?: {
|
|
65
|
+
timeout?: number;
|
|
66
|
+
}): Promise<TOutput>;
|
|
67
|
+
update<TInput, TOutput>(name: UpdateDefinition<TInput, TOutput>, payload: TInput, options?: {
|
|
68
|
+
timeout?: number;
|
|
69
|
+
}): Promise<TOutput>;
|
|
70
|
+
update(name: string, payload?: unknown, options?: {
|
|
71
|
+
timeout?: number;
|
|
72
|
+
}): Promise<unknown>;
|
|
73
|
+
/** Query a named read-only accessor on the running workflow. */
|
|
74
|
+
query<TOutput>(name: QueryDefinition<void, TOutput>): Promise<TOutput>;
|
|
75
|
+
query<TInput, TOutput>(name: QueryDefinition<TInput, TOutput>, input: TInput): Promise<TOutput>;
|
|
76
|
+
query(name: string, input?: unknown): Promise<unknown>;
|
|
77
|
+
/** Get search attributes for this workflow. */
|
|
78
|
+
getAttributes(): Promise<Record<string, SearchAttributeValue> | null>;
|
|
79
|
+
/** Set search attributes on this workflow (merge semantics). */
|
|
80
|
+
setAttributes(attributes: Record<string, SearchAttributeValue>): Promise<void>;
|
|
81
|
+
/** Add free-form tags to this workflow. */
|
|
82
|
+
addTags(...tags: string[]): Promise<void>;
|
|
83
|
+
/** Remove free-form tags from this workflow. */
|
|
84
|
+
removeTags(...tags: string[]): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Open a live, push-based tail of this workflow's events. Async-iterate the
|
|
87
|
+
* returned {@link WorkflowEventTail} to consume events as they happen. In
|
|
88
|
+
* server mode this rides the WebSocket watch channel (no polling); in library
|
|
89
|
+
* mode it bridges the engine's event stream directly.
|
|
90
|
+
*/
|
|
91
|
+
tail(): WorkflowEventTail;
|
|
92
|
+
/**
|
|
93
|
+
* Resolves once this handle's live event subscription is connected, opening
|
|
94
|
+
* it if necessary. Await this after attaching `addEventListener` listeners
|
|
95
|
+
* and before triggering work whose events you intend to observe, so nothing
|
|
96
|
+
* is missed in the window before the underlying transport connects. In
|
|
97
|
+
* library mode it resolves immediately — engine events are already live.
|
|
98
|
+
*/
|
|
99
|
+
whenConnected(): Promise<void>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* A reference to a recurring schedule that provides convenience methods.
|
|
103
|
+
*
|
|
104
|
+
* Mirrors the core {@link ScheduleHandle} surface without leaking the engine
|
|
105
|
+
* implementation type into the transport-neutral client contract.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* import { workflow, Engine, MemoryStorage, LocalClient } from '@lostgradient/weft';
|
|
110
|
+
* import type { ClientScheduleHandle } from '@lostgradient/weft/client';
|
|
111
|
+
*
|
|
112
|
+
* await using engine = new Engine({ storage: new MemoryStorage() });
|
|
113
|
+
* engine.register(workflow({ name: 'report' }).execute(async function* () { return 'sent'; }));
|
|
114
|
+
*
|
|
115
|
+
* const client = new LocalClient(engine);
|
|
116
|
+
* const handle: ClientScheduleHandle = await client.schedule('report', {}, '0 9 * * 1');
|
|
117
|
+
* await handle.pause();
|
|
118
|
+
* console.log(handle.id);
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
export interface ClientScheduleHandle extends Disposable {
|
|
122
|
+
/** The schedule's unique identifier. */
|
|
123
|
+
readonly id: string;
|
|
124
|
+
/** Pause this schedule. */
|
|
125
|
+
pause(): Promise<void>;
|
|
126
|
+
/** Resume this schedule. */
|
|
127
|
+
resume(): Promise<void>;
|
|
128
|
+
/** Cancel this schedule. */
|
|
129
|
+
cancel(): Promise<void>;
|
|
130
|
+
/** Update the schedule's recurrence specification (cron string or interval spec). */
|
|
131
|
+
update(newSpec: string | ScheduleSpec): Promise<void>;
|
|
132
|
+
/** Read the latest persisted summary for this schedule. */
|
|
133
|
+
describe(): Promise<ScheduleSummary | null>;
|
|
134
|
+
}
|
|
135
|
+
/** Result of a coordinated update request. */
|
|
136
|
+
export type UpdateResult = {
|
|
137
|
+
updateId: string;
|
|
138
|
+
result?: unknown;
|
|
139
|
+
error?: string;
|
|
140
|
+
} | null;
|
|
141
|
+
/**
|
|
142
|
+
* Out-of-band ("async") activity completion surface, shared by every client.
|
|
143
|
+
*
|
|
144
|
+
* An activity that called `ActivityContext.completeAsync()` parks its workflow
|
|
145
|
+
* until an external system resolves it by the durable task token announced on
|
|
146
|
+
* the engine's `activity:async-pending` event. Library mode calls the engine
|
|
147
|
+
* directly; server mode POSTs to `/v1/activities/{complete,fail}`. After a
|
|
148
|
+
* restart, wait for recovery to settle first — a completion racing `recoverAll()`
|
|
149
|
+
* consumes the single-use token before re-adoption and strands the workflow. The
|
|
150
|
+
* token is a deterministic identifier, not a secret (see `completeAsync`).
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```ts
|
|
154
|
+
* import { Engine, LocalClient, type WeftClientActivity } from '@lostgradient/weft';
|
|
155
|
+
*
|
|
156
|
+
* const activity: WeftClientActivity = new LocalClient(new Engine()).activity;
|
|
157
|
+
* // `token` comes from the engine's `activity:async-pending` event:
|
|
158
|
+
* // await activity.complete(token, { approved: true });
|
|
159
|
+
* void activity;
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
export interface WeftClientActivity {
|
|
163
|
+
/** Complete a deferred activity by token, resuming its workflow with `result` (optional; omitted/`undefined` resumes with `undefined`). */
|
|
164
|
+
complete(token: string, result?: unknown): Promise<void>;
|
|
165
|
+
/** Fail a deferred activity by token; the error is thrown into its workflow. */
|
|
166
|
+
completeExceptionally(token: string, error: unknown): Promise<void>;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Operations shared by both in-process and HTTP clients.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```ts
|
|
173
|
+
* import { workflow, Engine, MemoryStorage, LocalClient, type WeftClient } from '@lostgradient/weft';
|
|
174
|
+
*
|
|
175
|
+
* await using engine = new Engine({ storage: new MemoryStorage() });
|
|
176
|
+
* engine.register(workflow({ name: 'my-workflow' }).execute(async function* () { return 42; }));
|
|
177
|
+
* const client: WeftClient = new LocalClient(engine);
|
|
178
|
+
* const handle = await client.start('my-workflow', { input: 42 });
|
|
179
|
+
* const result = await handle.result();
|
|
180
|
+
* console.log(result); // 42
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
export interface WeftClient {
|
|
184
|
+
/**
|
|
185
|
+
* Start a new workflow and return a handle to it.
|
|
186
|
+
*
|
|
187
|
+
* When the {@link WorkflowRegistry} is augmented (e.g. via `weft codegen`),
|
|
188
|
+
* the workflow name narrows `input` to that workflow's input type and the
|
|
189
|
+
* returned handle's `result()` to its output type. Without augmentation the
|
|
190
|
+
* permissive string-name overload applies, so the client stays usable with
|
|
191
|
+
* plain string names and no hard dependency on codegen.
|
|
192
|
+
*/
|
|
193
|
+
start<TName extends KnownWorkflowName>(type: TName, input: WorkflowInput<WorkflowRegistry, TName>, options?: StartOptions): Promise<ClientHandle<WorkflowOutput<WorkflowRegistry, TName>>>;
|
|
194
|
+
start<TName extends string>(type: UnknownNameWhenRegistryEmpty<TName>, input: unknown, options?: StartOptions): Promise<ClientHandle>;
|
|
195
|
+
/**
|
|
196
|
+
* Register a recurring schedule (cron string or interval spec) and return a
|
|
197
|
+
* handle to it.
|
|
198
|
+
*
|
|
199
|
+
* Like {@link WeftClient.start}, the workflow name narrows `input` to the
|
|
200
|
+
* registered workflow's input type when the {@link WorkflowRegistry} is
|
|
201
|
+
* augmented; otherwise the string-name overload applies.
|
|
202
|
+
*/
|
|
203
|
+
schedule<TName extends KnownWorkflowName>(type: TName, input: WorkflowInput<WorkflowRegistry, TName>, spec: string | ScheduleSpec, options?: ScheduleOptions): Promise<ClientScheduleHandle>;
|
|
204
|
+
schedule<TName extends string>(type: UnknownNameWhenRegistryEmpty<TName>, input: unknown, spec: string | ScheduleSpec, options?: ScheduleOptions): Promise<ClientScheduleHandle>;
|
|
205
|
+
/** Get the full persisted state of a workflow, or `null` if not found. */
|
|
206
|
+
get(id: string): Promise<WorkflowState | null>;
|
|
207
|
+
/** Get the current summary of a recurring schedule, or `null` if not found. */
|
|
208
|
+
getSchedule(id: string): Promise<ScheduleSummary | null>;
|
|
209
|
+
/** List workflows with optional filtering and pagination. */
|
|
210
|
+
list<const TAttributeKeys extends readonly AttributeFilterKey[] = readonly AttributeFilterKey[]>(filter?: TypedListFilter<TAttributeKeys>): Promise<PaginatedResult<WorkflowSummary>>;
|
|
211
|
+
/** List recurring schedules with optional filtering and pagination. */
|
|
212
|
+
listSchedules(filter?: ScheduleFilter): Promise<PaginatedResult<ScheduleSummary>>;
|
|
213
|
+
/** Cancel a running workflow. */
|
|
214
|
+
cancel(id: string): Promise<void>;
|
|
215
|
+
/** Pause a recurring schedule. */
|
|
216
|
+
pauseSchedule(id: string): Promise<void>;
|
|
217
|
+
/** Resume a recurring schedule. */
|
|
218
|
+
resumeSchedule(id: string): Promise<void>;
|
|
219
|
+
/** Cancel a recurring schedule. */
|
|
220
|
+
cancelSchedule(id: string): Promise<void>;
|
|
221
|
+
/** Update a recurring schedule's recurrence specification (cron string or interval spec). */
|
|
222
|
+
updateSchedule(id: string, newSpec: string | ScheduleSpec): Promise<void>;
|
|
223
|
+
/** Send a named signal to a workflow. */
|
|
224
|
+
signal(id: string, name: SignalDefinition): Promise<void>;
|
|
225
|
+
signal<TInput>(id: string, name: SignalDefinition<TInput>, payload: TInput, options?: SignalDeliveryOptions): Promise<void>;
|
|
226
|
+
signal(id: string, name: string, payload?: unknown, options?: SignalDeliveryOptions): Promise<void>;
|
|
227
|
+
/** Query a named read-only accessor on a running workflow. */
|
|
228
|
+
query<TOutput>(id: string, name: QueryDefinition<void, TOutput>): Promise<TOutput>;
|
|
229
|
+
query<TInput, TOutput>(id: string, name: QueryDefinition<TInput, TOutput>, input: TInput): Promise<TOutput>;
|
|
230
|
+
query(id: string, name: string, input?: unknown): Promise<unknown>;
|
|
231
|
+
/** Submit a synchronous update to a running workflow. */
|
|
232
|
+
update<TOutput>(id: string, name: UpdateDefinition<void, TOutput>, payload?: void, options?: {
|
|
233
|
+
timeout?: number;
|
|
234
|
+
}): Promise<TOutput>;
|
|
235
|
+
update<TInput, TOutput>(id: string, name: UpdateDefinition<TInput, TOutput>, payload: TInput, options?: {
|
|
236
|
+
timeout?: number;
|
|
237
|
+
}): Promise<TOutput>;
|
|
238
|
+
update(id: string, name: string, payload?: unknown, options?: {
|
|
239
|
+
timeout?: number;
|
|
240
|
+
}): Promise<unknown>;
|
|
241
|
+
/** Out-of-band ("async") activity completion by task token. See {@link WeftClientActivity}. */
|
|
242
|
+
readonly activity: WeftClientActivity;
|
|
243
|
+
/** Resume a failed or timed-out workflow. */
|
|
244
|
+
resume(id: string): Promise<ClientHandle>;
|
|
245
|
+
/** Recover all interrupted workflows. */
|
|
246
|
+
recoverAll(): Promise<ClientHandle[]>;
|
|
247
|
+
/** Force-timeout a workflow. */
|
|
248
|
+
timeout(id: string): Promise<void>;
|
|
249
|
+
/** Get search attributes for a workflow. */
|
|
250
|
+
getAttributes(id: string): Promise<Record<string, SearchAttributeValue> | null>;
|
|
251
|
+
/** Set search attributes on a workflow. */
|
|
252
|
+
setAttributes(id: string, attributes: Record<string, SearchAttributeValue>): Promise<void>;
|
|
253
|
+
/** Add free-form tags to a workflow. */
|
|
254
|
+
addTags(id: string, ...tags: string[]): Promise<void>;
|
|
255
|
+
/** Remove free-form tags from a workflow. */
|
|
256
|
+
removeTags(id: string, ...tags: string[]): Promise<void>;
|
|
257
|
+
/** Get the event history for a workflow. */
|
|
258
|
+
getEvents(id: string): Promise<WorkflowEvent[]>;
|
|
259
|
+
/**
|
|
260
|
+
* Open a live, push-based tail of a workflow's events. Async-iterate the
|
|
261
|
+
* returned {@link WorkflowEventTail} to consume events as they happen. In
|
|
262
|
+
* server mode this rides the per-workflow `/v1/workflows/:id/watch` WebSocket
|
|
263
|
+
* channel (replacing the old 2-second poll); in library mode it bridges the
|
|
264
|
+
* engine's event stream directly. Both transports deliver the same
|
|
265
|
+
* {@link WorkflowEvent} records and terminate cleanly on completion or close.
|
|
266
|
+
*/
|
|
267
|
+
tail(id: string): WorkflowEventTail;
|
|
268
|
+
/**
|
|
269
|
+
* Get the structured execution timeline for a workflow.
|
|
270
|
+
* Returns `[]` when the workflow is missing or has no retained timeline entries.
|
|
271
|
+
*/
|
|
272
|
+
getTimeline(id: string): Promise<WorkflowTimelineEntry[]>;
|
|
273
|
+
/** Reconstruct workflow state at a historical checkpoint step. */
|
|
274
|
+
replayTo(id: string, step: number): Promise<WorkflowReplay | null>;
|
|
275
|
+
/** List human review requests, optionally filtering by status or workflow metadata. */
|
|
276
|
+
listReviews(filter?: ReviewListFilter): Promise<ReviewListEntry[]>;
|
|
277
|
+
/** Submit a decision for a pending review. */
|
|
278
|
+
submitReview(reviewId: string, options: SubmitReviewOptions): Promise<void>;
|
|
279
|
+
/** Read stream chunks back from storage for a completed stream operation. */
|
|
280
|
+
getStreamChunks(workflowId: string, key: string, options?: {
|
|
281
|
+
after?: number;
|
|
282
|
+
}): Promise<StoredStreamChunk[]>;
|
|
283
|
+
/** Fork a workflow from its latest or a historical checkpoint. */
|
|
284
|
+
fork(id: string, options?: ForkOptions): Promise<ClientHandle>;
|
|
285
|
+
/** Get the configured workflow retention policies and next sweep time. */
|
|
286
|
+
getRetentionOverview(): Promise<RetentionOverview>;
|
|
287
|
+
/** Purge matching terminal workflows. */
|
|
288
|
+
purge(filter?: ListFilter): Promise<PurgeResult>;
|
|
289
|
+
/** Cancel all running or pending workflows that match a filter. */
|
|
290
|
+
cancelAll(filter: ListFilter): Promise<BulkCancelResult>;
|
|
291
|
+
/** Signal all running or pending workflows that match a filter. */
|
|
292
|
+
signalAll(filter: ListFilter, name: string, payload?: unknown): Promise<BulkSignalResult>;
|
|
293
|
+
/** Delete all matching terminal workflows. */
|
|
294
|
+
deleteAll(filter: ListFilter): Promise<BulkDeleteResult>;
|
|
295
|
+
/** Add tags to all workflows that match a filter. */
|
|
296
|
+
tagAll(filter: ListFilter, tags: string[]): Promise<BulkTagResult>;
|
|
297
|
+
/** Remove tags from all workflows that match a filter. */
|
|
298
|
+
untagAll(filter: ListFilter, tags: string[]): Promise<BulkTagResult>;
|
|
299
|
+
/** Submit a coordinated update and wait for the result. */
|
|
300
|
+
submitCoordinatedUpdate(id: string, name: string, payload?: unknown, options?: {
|
|
301
|
+
timeout?: number;
|
|
302
|
+
idempotencyKey?: string;
|
|
303
|
+
}): Promise<CoordinatedUpdateResult>;
|
|
304
|
+
/** Retrieve the result of a previously submitted coordinated update. */
|
|
305
|
+
getUpdateResult(updateId: string): Promise<UpdateResult>;
|
|
306
|
+
/**
|
|
307
|
+
* Typed low-level accessor for the full operation catalog.
|
|
308
|
+
*
|
|
309
|
+
* Every catalog operation is reachable as `client.operations['weft.<op>']`,
|
|
310
|
+
* including server operations the ergonomic surface does not curate (workers,
|
|
311
|
+
* task queues, task diagnostics, system metrics/registry, checkpoints). New
|
|
312
|
+
* catalog operations appear here automatically when the snapshot regenerates,
|
|
313
|
+
* so the client never drifts behind the server.
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
* ```ts
|
|
317
|
+
* import { workflow, Engine, MemoryStorage, LocalClient } from '@lostgradient/weft';
|
|
318
|
+
*
|
|
319
|
+
* await using engine = new Engine({ storage: new MemoryStorage() });
|
|
320
|
+
* engine.register(workflow({ name: 'noop' }).execute(async function* () {}));
|
|
321
|
+
* const client = new LocalClient(engine);
|
|
322
|
+
* const metrics = await client.operations['weft.system.metrics']({});
|
|
323
|
+
* void metrics;
|
|
324
|
+
* ```
|
|
325
|
+
*/
|
|
326
|
+
readonly operations: CatalogOperations;
|
|
327
|
+
/**
|
|
328
|
+
* Invoke a single catalog operation by name, with its input and output typed
|
|
329
|
+
* from the generated catalog. Equivalent to `client.operations[name](input)`
|
|
330
|
+
* but ergonomic when the operation name is known dynamically.
|
|
331
|
+
*/
|
|
332
|
+
call<Name extends CatalogOperationName>(name: Name, input: CatalogOperationTypes[Name]['input']): Promise<CatalogOperationTypes[Name]['output']>;
|
|
333
|
+
}
|
|
File without changes
|