@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,116 @@
|
|
|
1
|
+
import { THRESHOLDS } from "./types.js";
|
|
2
|
+
function integrityFailureRule({ database }) {
|
|
3
|
+
if (database.integrityOk)
|
|
4
|
+
return [];
|
|
5
|
+
return [
|
|
6
|
+
{
|
|
7
|
+
severity: "critical",
|
|
8
|
+
section: "database",
|
|
9
|
+
message: `Database integrity check failed: ${database.integrityError}`
|
|
10
|
+
}
|
|
11
|
+
];
|
|
12
|
+
}
|
|
13
|
+
function databaseSizeRule({ database, thresholds }) {
|
|
14
|
+
if (database.sizeLimitBytes <= 0)
|
|
15
|
+
return [];
|
|
16
|
+
const fraction = database.sizeBytes / database.sizeLimitBytes, message = `Database is at ${(fraction * 100).toFixed(1)}% capacity (${formatBytes(database.sizeBytes)} / ${formatBytes(database.sizeLimitBytes)}).`;
|
|
17
|
+
if (fraction > thresholds.databaseSizeCriticalFraction)
|
|
18
|
+
return [{ severity: "critical", section: "database", message }];
|
|
19
|
+
if (fraction > thresholds.databaseSizeWarningFraction)
|
|
20
|
+
return [{ severity: "warning", section: "database", message }];
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
function walSizeRule({ database, thresholds }) {
|
|
24
|
+
if (database.walSizeBytes === null || database.walSizeBytes <= thresholds.walSizeWarningBytes)
|
|
25
|
+
return [];
|
|
26
|
+
return [
|
|
27
|
+
{
|
|
28
|
+
severity: "warning",
|
|
29
|
+
section: "database",
|
|
30
|
+
message: `WAL file is ${formatBytes(database.walSizeBytes)}, which may indicate stalled checkpointing.`
|
|
31
|
+
}
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
function fragmentationRule({ database, thresholds }) {
|
|
35
|
+
if (database.fragmentationPercent <= thresholds.fragmentationVacuumPercent)
|
|
36
|
+
return [];
|
|
37
|
+
return [
|
|
38
|
+
{
|
|
39
|
+
severity: "warning",
|
|
40
|
+
section: "database",
|
|
41
|
+
message: `Database fragmentation is ${database.fragmentationPercent.toFixed(1)}%. Running VACUUM is recommended.`
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
function longRunningWorkflowRule({ workflows, thresholds }) {
|
|
46
|
+
const longest = workflows.longestRunning;
|
|
47
|
+
if (!longest || longest.elapsedMilliseconds <= thresholds.longRunningWorkflowMilliseconds)
|
|
48
|
+
return [];
|
|
49
|
+
return [
|
|
50
|
+
{
|
|
51
|
+
severity: "warning",
|
|
52
|
+
section: "workflows",
|
|
53
|
+
message: `Workflow "${longest.id}" has been running for ${formatDuration(longest.elapsedMilliseconds)}. Consider setting an executionTimeout to prevent runaway workflows.`
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
function largeCheckpointRule({ workflows, thresholds }) {
|
|
58
|
+
const largest = workflows.largestCheckpoint;
|
|
59
|
+
if (!largest || largest.sizeBytes <= thresholds.largeCheckpointBytes)
|
|
60
|
+
return [];
|
|
61
|
+
return [
|
|
62
|
+
{
|
|
63
|
+
severity: "warning",
|
|
64
|
+
section: "workflows",
|
|
65
|
+
message: `Workflow "${largest.workflowId}" has a ${formatBytes(largest.sizeBytes)} checkpoint. Consider reducing state size to improve serialization performance.`
|
|
66
|
+
}
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
function idleQueueRule({ queues }) {
|
|
70
|
+
const out = [];
|
|
71
|
+
for (const queue of queues)
|
|
72
|
+
if (queue.pendingCount > 0 && queue.inflightCount === 0)
|
|
73
|
+
out.push({
|
|
74
|
+
severity: "warning",
|
|
75
|
+
section: "activities",
|
|
76
|
+
message: `Queue "${queue.name}" has ${queue.pendingCount} pending operation(s) but nothing in-flight. Workers may be stopped or disconnected.`
|
|
77
|
+
});
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
const RECOMMENDATION_RULES = [
|
|
81
|
+
integrityFailureRule,
|
|
82
|
+
databaseSizeRule,
|
|
83
|
+
walSizeRule,
|
|
84
|
+
fragmentationRule,
|
|
85
|
+
longRunningWorkflowRule,
|
|
86
|
+
largeCheckpointRule,
|
|
87
|
+
idleQueueRule
|
|
88
|
+
];
|
|
89
|
+
export function generateRecommendations(report, thresholds) {
|
|
90
|
+
const context = {
|
|
91
|
+
database: report.database,
|
|
92
|
+
workflows: report.workflows,
|
|
93
|
+
queues: report.queues,
|
|
94
|
+
thresholds: { ...THRESHOLDS, ...thresholds }
|
|
95
|
+
};
|
|
96
|
+
return RECOMMENDATION_RULES.flatMap((rule) => rule(context));
|
|
97
|
+
}
|
|
98
|
+
function formatBytes(bytes) {
|
|
99
|
+
if (bytes < 1024)
|
|
100
|
+
return `${bytes} B`;
|
|
101
|
+
if (bytes < 1048576)
|
|
102
|
+
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
103
|
+
if (bytes < 1073741824)
|
|
104
|
+
return `${(bytes / 1048576).toFixed(1)} MB`;
|
|
105
|
+
return `${(bytes / 1073741824).toFixed(1)} GB`;
|
|
106
|
+
}
|
|
107
|
+
function formatDuration(milliseconds) {
|
|
108
|
+
const seconds = Math.floor(milliseconds / 1000), minutes = Math.floor(seconds / 60), hours = Math.floor(minutes / 60), days = Math.floor(hours / 24);
|
|
109
|
+
if (days > 0)
|
|
110
|
+
return `${days}d ${hours % 24}h`;
|
|
111
|
+
if (hours > 0)
|
|
112
|
+
return `${hours}h ${minutes % 60}m`;
|
|
113
|
+
if (minutes > 0)
|
|
114
|
+
return `${minutes}m ${seconds % 60}s`;
|
|
115
|
+
return `${seconds}s`;
|
|
116
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types and threshold constants for Weft diagnostic commands.
|
|
3
|
+
*
|
|
4
|
+
* Used by `weft doctor` (database health, workflow stats, queue depths,
|
|
5
|
+
* recommendations) and `weft version:check` (version compatibility analysis).
|
|
6
|
+
*
|
|
7
|
+
* @module diagnostics/types
|
|
8
|
+
*/
|
|
9
|
+
import type { VersionCompatibility } from '../core/versioning.ts';
|
|
10
|
+
/**
|
|
11
|
+
* Tri-level health indicator used throughout the diagnostic system.
|
|
12
|
+
*
|
|
13
|
+
* `'healthy'` means all metrics are within normal bounds; `'warning'`
|
|
14
|
+
* indicates a threshold breach that warrants attention; `'critical'` signals a
|
|
15
|
+
* condition that may affect availability and should be addressed immediately.
|
|
16
|
+
*/
|
|
17
|
+
export type HealthStatus = 'healthy' | 'warning' | 'critical';
|
|
18
|
+
/**
|
|
19
|
+
* Low-level SQLite database health metrics collected by `weft doctor`.
|
|
20
|
+
*
|
|
21
|
+
* Includes file size, WAL size, integrity check result, fragmentation
|
|
22
|
+
* percentage, and PRAGMA-level metadata. Consumers typically read this off a
|
|
23
|
+
* {@link DiagnosticReport} rather than constructing it directly.
|
|
24
|
+
*/
|
|
25
|
+
export interface DatabaseHealth {
|
|
26
|
+
sizeBytes: number;
|
|
27
|
+
sizeLimitBytes: number;
|
|
28
|
+
walSizeBytes: number | null;
|
|
29
|
+
integrityOk: boolean;
|
|
30
|
+
integrityError: string | null;
|
|
31
|
+
fragmentationPercent: number;
|
|
32
|
+
journalMode: string;
|
|
33
|
+
pageCount: number;
|
|
34
|
+
pageSize: number;
|
|
35
|
+
freelistCount: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Count of workflows in each lifecycle state at the time of the diagnostic
|
|
39
|
+
* snapshot.
|
|
40
|
+
*
|
|
41
|
+
* Populated inside {@link WorkflowStatistics} and returned as part of a
|
|
42
|
+
* {@link DiagnosticReport}.
|
|
43
|
+
*/
|
|
44
|
+
export interface WorkflowStatusCounts {
|
|
45
|
+
pending: number;
|
|
46
|
+
running: number;
|
|
47
|
+
completed: number;
|
|
48
|
+
failed: number;
|
|
49
|
+
cancelled: number;
|
|
50
|
+
timedOut: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Identity and elapsed wall-clock time of the longest-running workflow in
|
|
54
|
+
* storage.
|
|
55
|
+
*
|
|
56
|
+
* Useful for spotting stuck or runaway workflows. Included in
|
|
57
|
+
* {@link WorkflowStatistics} when at least one active workflow exists.
|
|
58
|
+
*/
|
|
59
|
+
export interface LongestRunningWorkflow {
|
|
60
|
+
id: string;
|
|
61
|
+
type: string;
|
|
62
|
+
startedAt: number;
|
|
63
|
+
elapsedMilliseconds: number;
|
|
64
|
+
currentStep: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Workflow ID and byte size of the largest serialised checkpoint in storage.
|
|
68
|
+
*
|
|
69
|
+
* Large checkpoints can indicate excessive state accumulation or unbounded
|
|
70
|
+
* context windows in agent workflows. Included in {@link WorkflowStatistics}
|
|
71
|
+
* when at least one workflow has a checkpoint.
|
|
72
|
+
*/
|
|
73
|
+
export interface LargestCheckpoint {
|
|
74
|
+
workflowId: string;
|
|
75
|
+
sizeBytes: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Aggregate workflow statistics collected by `weft doctor`.
|
|
79
|
+
*
|
|
80
|
+
* Combines total workflow count, per-status counts, the longest-running
|
|
81
|
+
* workflow, and the largest checkpoint into a single snapshot. Populated
|
|
82
|
+
* inside a {@link DiagnosticReport}.
|
|
83
|
+
*/
|
|
84
|
+
export interface WorkflowStatistics {
|
|
85
|
+
total: number;
|
|
86
|
+
statusCounts: WorkflowStatusCounts;
|
|
87
|
+
longestRunning: LongestRunningWorkflow | null;
|
|
88
|
+
largestCheckpoint: LargestCheckpoint | null;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Pending and in-flight task counts for a single named activity queue.
|
|
92
|
+
*
|
|
93
|
+
* High `pendingCount` values relative to worker capacity indicate backpressure;
|
|
94
|
+
* high `inflightCount` may suggest workers are slow or stuck. Included in the
|
|
95
|
+
* `queues` array of a {@link DiagnosticReport}.
|
|
96
|
+
*/
|
|
97
|
+
export interface QueueStatistics {
|
|
98
|
+
name: string;
|
|
99
|
+
pendingCount: number;
|
|
100
|
+
inflightCount: number;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Importance level of a diagnostic {@link Recommendation}.
|
|
104
|
+
*
|
|
105
|
+
* `'info'` is advisory; `'warning'` means the condition should be addressed
|
|
106
|
+
* soon; `'critical'` means it needs immediate attention.
|
|
107
|
+
*/
|
|
108
|
+
export type RecommendationSeverity = 'info' | 'warning' | 'critical';
|
|
109
|
+
/**
|
|
110
|
+
* A single actionable recommendation produced by `weft doctor`.
|
|
111
|
+
*
|
|
112
|
+
* Each recommendation has a human-readable `message`, a `severity` level, and
|
|
113
|
+
* a `section` tag (`'database'`, `'workflows'`, or `'activities'`) so consumers
|
|
114
|
+
* can group or filter the output.
|
|
115
|
+
*/
|
|
116
|
+
export interface Recommendation {
|
|
117
|
+
severity: RecommendationSeverity;
|
|
118
|
+
message: string;
|
|
119
|
+
section: 'database' | 'workflows' | 'activities';
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Full report produced by `weft doctor`, covering database health, workflow
|
|
123
|
+
* statistics, per-queue depths, and prioritised recommendations.
|
|
124
|
+
*
|
|
125
|
+
* Consumers typically render or log this report rather than constructing it
|
|
126
|
+
* directly — it is returned by the `doctor` command implementation.
|
|
127
|
+
*/
|
|
128
|
+
export interface DiagnosticReport {
|
|
129
|
+
timestamp: number;
|
|
130
|
+
databasePath: string;
|
|
131
|
+
database: DatabaseHealth;
|
|
132
|
+
workflows: WorkflowStatistics;
|
|
133
|
+
queues: QueueStatistics[];
|
|
134
|
+
recommendations: Recommendation[];
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Per-workflow-type version compatibility analysis for active (running or
|
|
138
|
+
* pending) workflows.
|
|
139
|
+
*
|
|
140
|
+
* Contains the most prevalent stored version, the currently registered version,
|
|
141
|
+
* a running-workflow count, a {@link VersionCompatibility} verdict, and whether
|
|
142
|
+
* a migration exists. Included in a {@link VersionCheckReport}.
|
|
143
|
+
*/
|
|
144
|
+
export interface WorkflowTypeReport {
|
|
145
|
+
type: string;
|
|
146
|
+
storedVersion: string;
|
|
147
|
+
registeredVersion: string;
|
|
148
|
+
runningCount: number;
|
|
149
|
+
compatibility: VersionCompatibility;
|
|
150
|
+
hasMigration: boolean;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Deployment-safety report produced by `weft version:check`.
|
|
154
|
+
*
|
|
155
|
+
* Summarises per-type version compatibility across all active workflows and
|
|
156
|
+
* gives an `overallVerdict` of `'safe'`, `'unsafe'`, or `'needs-migration'`.
|
|
157
|
+
* Returned by {@link runVersionCheck} — consumers do not construct it directly.
|
|
158
|
+
*/
|
|
159
|
+
export interface VersionCheckReport {
|
|
160
|
+
workflowTypes: WorkflowTypeReport[];
|
|
161
|
+
overallVerdict: 'safe' | 'unsafe' | 'needs-migration';
|
|
162
|
+
}
|
|
163
|
+
export declare const THRESHOLDS: {
|
|
164
|
+
/** Fragmentation percent above which VACUUM is recommended. */
|
|
165
|
+
readonly fragmentationVacuumPercent: 20;
|
|
166
|
+
/** WAL size in bytes above which a warning is emitted. */
|
|
167
|
+
readonly walSizeWarningBytes: number;
|
|
168
|
+
/** Database size as fraction of limit that triggers a warning. */
|
|
169
|
+
readonly databaseSizeWarningFraction: 0.8;
|
|
170
|
+
/** Database size as fraction of limit that triggers critical. */
|
|
171
|
+
readonly databaseSizeCriticalFraction: 0.95;
|
|
172
|
+
/** Workflow running duration (ms) above which a warning is emitted. */
|
|
173
|
+
readonly longRunningWorkflowMilliseconds: number;
|
|
174
|
+
/** Checkpoint size in bytes above which a warning is emitted. */
|
|
175
|
+
readonly largeCheckpointBytes: number;
|
|
176
|
+
/** Default assumed database size limit (10 GB). */
|
|
177
|
+
readonly defaultDatabaseSizeLimitBytes: number;
|
|
178
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const THRESHOLDS = {
|
|
2
|
+
fragmentationVacuumPercent: 20,
|
|
3
|
+
walSizeWarningBytes: 104857600,
|
|
4
|
+
databaseSizeWarningFraction: 0.8,
|
|
5
|
+
databaseSizeCriticalFraction: 0.95,
|
|
6
|
+
longRunningWorkflowMilliseconds: 604800000,
|
|
7
|
+
largeCheckpointBytes: 524288,
|
|
8
|
+
defaultDatabaseSizeLimitBytes: 10737418240
|
|
9
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Design-time workflow validation for `weft validate`.
|
|
3
|
+
*
|
|
4
|
+
* Analyses workflow registrations for common anti-patterns:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Unbounded retry policy** — an activity whose `retry.maxAttempts` is
|
|
7
|
+
* `Infinity` (or the workflow registration specifies `retry.maxAttempts`
|
|
8
|
+
* equal to `Infinity`). Unbounded retries can loop indefinitely on
|
|
9
|
+
* persistent failures, consuming resources without ever propagating the
|
|
10
|
+
* error.
|
|
11
|
+
*
|
|
12
|
+
* 2. **Stateful activity without compensator** — an activity definition that
|
|
13
|
+
* is not marked `idempotent: true` and has no `compensate` function.
|
|
14
|
+
* Without a compensator, the activity cannot participate in saga-style
|
|
15
|
+
* rollback, leaving partial writes stranded on failure.
|
|
16
|
+
*
|
|
17
|
+
* 3. **Non-serializable activity input/output** — detected by passing a
|
|
18
|
+
* sentinel object through `JSON.stringify`; non-serializable values
|
|
19
|
+
* (functions, Symbols, circular references) cannot survive checkpoint
|
|
20
|
+
* persistence.
|
|
21
|
+
*
|
|
22
|
+
* @module diagnostics/validate
|
|
23
|
+
*/
|
|
24
|
+
import type { ConstraintDefinition } from '../core/constraint.ts';
|
|
25
|
+
import type { ActivityDefinition, DefinitionSchema, RetentionPolicy, SearchAttributeSchema, WorkflowFunction } from '../core/types.ts';
|
|
26
|
+
/**
|
|
27
|
+
* Loosely-typed workflow registration shape used only by the `weft validate`
|
|
28
|
+
* and `weft schedule` CLIs when loading workflow modules from disk. This is
|
|
29
|
+
* intentionally separate from the public `WorkflowDefinition` type because
|
|
30
|
+
* loaded modules historically export bare `{ handler, ... }` objects that
|
|
31
|
+
* do not carry a `name` field — the registration key comes from the export
|
|
32
|
+
* key, not the object itself.
|
|
33
|
+
*/
|
|
34
|
+
export interface WorkflowRegistration<TInput = unknown, TOutput = unknown> {
|
|
35
|
+
version?: string;
|
|
36
|
+
description?: string;
|
|
37
|
+
tags?: ReadonlyArray<string>;
|
|
38
|
+
inputSchema?: DefinitionSchema<unknown, TInput>;
|
|
39
|
+
outputSchema?: DefinitionSchema<unknown, TOutput>;
|
|
40
|
+
handler: WorkflowFunction<TInput, TOutput>;
|
|
41
|
+
migrate?: (checkpoint: unknown, fromVersion: string) => unknown;
|
|
42
|
+
searchAttributes?: SearchAttributeSchema;
|
|
43
|
+
retention?: RetentionPolicy;
|
|
44
|
+
constraints?: ConstraintDefinition[];
|
|
45
|
+
}
|
|
46
|
+
export type ValidationIssueSeverity = 'error' | 'warning';
|
|
47
|
+
export type ValidationIssueCode = 'unbounded-retry' | 'stateful-without-compensator' | 'non-serializable-input';
|
|
48
|
+
export interface ValidationIssue {
|
|
49
|
+
severity: ValidationIssueSeverity;
|
|
50
|
+
code: ValidationIssueCode;
|
|
51
|
+
workflowType: string;
|
|
52
|
+
activityName?: string;
|
|
53
|
+
message: string;
|
|
54
|
+
}
|
|
55
|
+
export interface ValidationReport {
|
|
56
|
+
/** Total number of workflow registrations scanned. */
|
|
57
|
+
workflowCount: number;
|
|
58
|
+
/** All detected issues across all registrations. */
|
|
59
|
+
issues: ValidationIssue[];
|
|
60
|
+
/** `true` when there are no `error`-severity issues. */
|
|
61
|
+
valid: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Validate a collection of workflow registrations for common anti-patterns.
|
|
65
|
+
*
|
|
66
|
+
* @param registrations A record of workflow type name → WorkflowRegistration.
|
|
67
|
+
* @param activities Optional list of ActivityDefinition objects to check.
|
|
68
|
+
* Activities are not reachable from WorkflowRegistration
|
|
69
|
+
* alone, so pass them explicitly when available.
|
|
70
|
+
*/
|
|
71
|
+
export declare function validateRegistrations(registrations: Record<string, WorkflowRegistration>, activities?: ActivityDefinition[]): ValidationReport;
|
|
72
|
+
export declare function loadRegistrationsFromModule(modulePath: string): Promise<{
|
|
73
|
+
registrations: Record<string, WorkflowRegistration>;
|
|
74
|
+
activities: ActivityDefinition[];
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Format a validation report as human-readable text for console output.
|
|
78
|
+
*/
|
|
79
|
+
export declare function formatValidationReport(report: ValidationReport, entryPath: string): string;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
function checkUnboundedRetry(workflowType, activity) {
|
|
3
|
+
const maxAttempts = activity.retry?.maxAttempts;
|
|
4
|
+
if (maxAttempts !== void 0 && !isFinite(maxAttempts))
|
|
5
|
+
return {
|
|
6
|
+
severity: "error",
|
|
7
|
+
code: "unbounded-retry",
|
|
8
|
+
workflowType,
|
|
9
|
+
activityName: activity.name,
|
|
10
|
+
message: `Activity "${activity.name}" has retry.maxAttempts = ${maxAttempts}. Unbounded retries loop indefinitely on persistent failures. Set a finite maxAttempts (e.g. 3) or handle the error explicitly.`
|
|
11
|
+
};
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
function checkStatefulWithoutCompensator(workflowType, activity) {
|
|
15
|
+
if (!activity.idempotent && !activity.compensate)
|
|
16
|
+
return {
|
|
17
|
+
severity: "error",
|
|
18
|
+
code: "stateful-without-compensator",
|
|
19
|
+
workflowType,
|
|
20
|
+
activityName: activity.name,
|
|
21
|
+
message: `Activity "${activity.name}" is not marked idempotent and has no compensate function. If this activity has side effects (writes, charges, emails) it cannot participate in ctx.saga() rollback. Either add a compensate function or set idempotent: true.`
|
|
22
|
+
};
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
export function validateRegistrations(registrations, activities = []) {
|
|
26
|
+
const issues = [], workflowTypes = Object.keys(registrations);
|
|
27
|
+
for (const activity of activities) {
|
|
28
|
+
const retryIssue = checkUnboundedRetry("(standalone)", activity);
|
|
29
|
+
if (retryIssue)
|
|
30
|
+
issues.push(retryIssue);
|
|
31
|
+
const compensatorIssue = checkStatefulWithoutCompensator("(standalone)", activity);
|
|
32
|
+
if (compensatorIssue)
|
|
33
|
+
issues.push(compensatorIssue);
|
|
34
|
+
}
|
|
35
|
+
const hasErrors = issues.some((i) => i.severity === "error");
|
|
36
|
+
return {
|
|
37
|
+
workflowCount: workflowTypes.length,
|
|
38
|
+
issues,
|
|
39
|
+
valid: !hasErrors
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function collectFromExports(entries, registrations, activities, options) {
|
|
43
|
+
for (const [key, value] of entries)
|
|
44
|
+
if (isWorkflowRegistration(value)) {
|
|
45
|
+
if (options.allowOverwrite || !(key in registrations))
|
|
46
|
+
registrations[key] = value;
|
|
47
|
+
} else if (isActivityDefinition(value)) {
|
|
48
|
+
if (options.allowOverwrite || !activities.includes(value))
|
|
49
|
+
activities.push(value);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export async function loadRegistrationsFromModule(modulePath) {
|
|
53
|
+
const mod = await import(resolve(process.cwd(), modulePath)), registrations = {}, activities = [], defaultExport = mod.default;
|
|
54
|
+
if (defaultExport !== null && typeof defaultExport === "object")
|
|
55
|
+
collectFromExports(Object.entries(defaultExport), registrations, activities, { allowOverwrite: !0 });
|
|
56
|
+
const namedEntries = Object.entries(mod).filter(([key]) => key !== "default");
|
|
57
|
+
collectFromExports(namedEntries, registrations, activities, { allowOverwrite: !1 });
|
|
58
|
+
return { registrations, activities };
|
|
59
|
+
}
|
|
60
|
+
function isWorkflowRegistration(value) {
|
|
61
|
+
return typeof value === "object" && value !== null && "handler" in value && typeof value.handler === "function";
|
|
62
|
+
}
|
|
63
|
+
function isActivityDefinition(value) {
|
|
64
|
+
if (value === null || typeof value !== "object" && typeof value !== "function")
|
|
65
|
+
return !1;
|
|
66
|
+
const v = value;
|
|
67
|
+
return typeof v.name === "string" && typeof v.execute === "function";
|
|
68
|
+
}
|
|
69
|
+
export function formatValidationReport(report, entryPath) {
|
|
70
|
+
const lines = [];
|
|
71
|
+
lines.push(`Validating: ${entryPath}`);
|
|
72
|
+
lines.push(`Workflows scanned: ${report.workflowCount}`);
|
|
73
|
+
if (report.issues.length === 0) {
|
|
74
|
+
lines.push("No issues found.");
|
|
75
|
+
return lines.join(`
|
|
76
|
+
`);
|
|
77
|
+
}
|
|
78
|
+
lines.push(`Issues found: ${report.issues.length}`);
|
|
79
|
+
lines.push("");
|
|
80
|
+
for (const issue of report.issues) {
|
|
81
|
+
const location = issue.activityName ? `${issue.workflowType} / ${issue.activityName}` : issue.workflowType, severityLabel = issue.severity === "error" ? "error" : "warning";
|
|
82
|
+
lines.push(` [${severityLabel}] ${location}`);
|
|
83
|
+
lines.push(` ${issue.code}: ${issue.message}`);
|
|
84
|
+
lines.push("");
|
|
85
|
+
}
|
|
86
|
+
return lines.join(`
|
|
87
|
+
`).trimEnd();
|
|
88
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version compatibility check for running workflows against registered versions.
|
|
3
|
+
*
|
|
4
|
+
* Scans storage for active (running/pending) workflows, groups by type,
|
|
5
|
+
* and compares stored versions with currently registered versions to
|
|
6
|
+
* determine deployment safety.
|
|
7
|
+
*
|
|
8
|
+
* @module diagnostics/version-check
|
|
9
|
+
*/
|
|
10
|
+
import type { Storage } from '../storage/interface.ts';
|
|
11
|
+
import type { VersionCheckReport } from './types.ts';
|
|
12
|
+
import type { WorkflowRegistration } from './validate.ts';
|
|
13
|
+
/**
|
|
14
|
+
* Scans active (running and pending) workflows in `storage`, groups them by
|
|
15
|
+
* type, and compares stored workflow versions against currently registered
|
|
16
|
+
* versions to determine deployment safety.
|
|
17
|
+
*
|
|
18
|
+
* Returns a {@link VersionCheckReport} with a per-type breakdown and an
|
|
19
|
+
* `overallVerdict` of `'safe'`, `'unsafe'`, or `'needs-migration'`. Typically
|
|
20
|
+
* called by the `weft version:check` CLI command.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { MemoryStorage, runVersionCheck, workflow } from '@lostgradient/weft';
|
|
25
|
+
*
|
|
26
|
+
* await using storage = new MemoryStorage();
|
|
27
|
+
*
|
|
28
|
+
* const ping = workflow({ name: 'ping', version: '1.0.0' })
|
|
29
|
+
* .execute(async function* () { return 'pong'; });
|
|
30
|
+
* const report = await runVersionCheck(storage, { ping });
|
|
31
|
+
* console.log(report.overallVerdict); // 'safe'
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function runVersionCheck(storage: Storage, registrations: Record<string, WorkflowRegistration>): Promise<VersionCheckReport>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { decode } from "../core/codec.js";
|
|
2
|
+
import { DEFAULT_WORKFLOW_VERSION, checkVersionCompatibility } from "../core/versioning.js";
|
|
3
|
+
async function groupActiveWorkflowsByType(storage) {
|
|
4
|
+
const groups = new Map;
|
|
5
|
+
for await (const [key, bytes] of storage.scan("wf:")) {
|
|
6
|
+
if (key.includes(":ckpt"))
|
|
7
|
+
continue;
|
|
8
|
+
const state = decode(bytes);
|
|
9
|
+
if (state.status !== "running" && state.status !== "pending")
|
|
10
|
+
continue;
|
|
11
|
+
let group = groups.get(state.type);
|
|
12
|
+
if (!group) {
|
|
13
|
+
group = { count: 0, versionCounts: new Map };
|
|
14
|
+
groups.set(state.type, group);
|
|
15
|
+
}
|
|
16
|
+
group.count++;
|
|
17
|
+
group.versionCounts.set(state.version, (group.versionCounts.get(state.version) ?? 0) + 1);
|
|
18
|
+
}
|
|
19
|
+
return groups;
|
|
20
|
+
}
|
|
21
|
+
function findMostCommonVersion(versionCounts) {
|
|
22
|
+
let storedVersion = "", maxCount = 0;
|
|
23
|
+
for (const [version, count] of versionCounts)
|
|
24
|
+
if (count > maxCount) {
|
|
25
|
+
maxCount = count;
|
|
26
|
+
storedVersion = version;
|
|
27
|
+
}
|
|
28
|
+
return storedVersion;
|
|
29
|
+
}
|
|
30
|
+
function buildWorkflowTypeReports(groups, registrations) {
|
|
31
|
+
const reports = [];
|
|
32
|
+
for (const [type, group] of groups) {
|
|
33
|
+
const registration = registrations[type];
|
|
34
|
+
if (!registration)
|
|
35
|
+
continue;
|
|
36
|
+
const storedVersion = findMostCommonVersion(group.versionCounts), registeredVersion = registration.version ?? DEFAULT_WORKFLOW_VERSION, hasMigration = !!registration.migrate, compatibility = checkVersionCompatibility(storedVersion, registeredVersion, hasMigration);
|
|
37
|
+
reports.push({
|
|
38
|
+
type,
|
|
39
|
+
storedVersion,
|
|
40
|
+
registeredVersion,
|
|
41
|
+
runningCount: group.count,
|
|
42
|
+
compatibility,
|
|
43
|
+
hasMigration
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return reports;
|
|
47
|
+
}
|
|
48
|
+
function computeOverallVerdict(reports) {
|
|
49
|
+
let verdict = "safe";
|
|
50
|
+
for (const report of reports) {
|
|
51
|
+
if (report.compatibility === "incompatible")
|
|
52
|
+
return "unsafe";
|
|
53
|
+
if (report.compatibility === "needs-migration")
|
|
54
|
+
verdict = "needs-migration";
|
|
55
|
+
}
|
|
56
|
+
return verdict;
|
|
57
|
+
}
|
|
58
|
+
export async function runVersionCheck(storage, registrations) {
|
|
59
|
+
const groups = await groupActiveWorkflowsByType(storage), workflowTypes = buildWorkflowTypeReports(groups, registrations), overallVerdict = computeOverallVerdict(workflowTypes);
|
|
60
|
+
return { workflowTypes, overallVerdict };
|
|
61
|
+
}
|