@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,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Weft server connection resolution for the HTTP client and CLI commands.
|
|
3
|
+
*
|
|
4
|
+
* A single resolver backs every entry point so `WEFT_ADDR`, `WEFT_TOKEN`,
|
|
5
|
+
* `~/.weft/config` profiles, the local run lockfile, and the development default
|
|
6
|
+
* are interpreted identically whether you construct an {@link HttpClient} or run
|
|
7
|
+
* `weft api`/`weft codegen`.
|
|
8
|
+
*
|
|
9
|
+
* Resolution order for the server address is explicit option, then `WEFT_ADDR`,
|
|
10
|
+
* then the selected profile's `server`, then the run lockfile written by
|
|
11
|
+
* `weft serve` (CLI only — see `includeRunLockfile`), then
|
|
12
|
+
* `http://localhost:7233`. Token resolution prefers the explicit option, then
|
|
13
|
+
* `WEFT_TOKEN`, then the profile token (with `env:` and `tokenEnv` indirection).
|
|
14
|
+
* A profile token is only applied when neither an explicit `server` option nor
|
|
15
|
+
* `WEFT_ADDR` redirected the request to a different destination.
|
|
16
|
+
*
|
|
17
|
+
* @module connection
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Inputs accepted by {@link resolveConnection}.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { resolveConnection, type ConnectionOptions } from '@lostgradient/weft';
|
|
25
|
+
*
|
|
26
|
+
* const options: ConnectionOptions = {
|
|
27
|
+
* server: 'https://weft.example.com',
|
|
28
|
+
* token: 'secret-token',
|
|
29
|
+
* };
|
|
30
|
+
*
|
|
31
|
+
* const connection = resolveConnection(options);
|
|
32
|
+
* console.log(connection.server.toString());
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export type ConnectionOptions = {
|
|
36
|
+
readonly server?: string;
|
|
37
|
+
readonly token?: string;
|
|
38
|
+
readonly profile?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Consult the local run lockfile written by `weft serve` as a fallback server
|
|
41
|
+
* address. Defaults to `true` for CLI developer convenience; library clients
|
|
42
|
+
* pass `false` so resolution stays explicit-options/env/profile/default.
|
|
43
|
+
*/
|
|
44
|
+
readonly includeRunLockfile?: boolean;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Resolved Weft server connection settings.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* import { resolveConnection, type ResolvedConnection } from '@lostgradient/weft';
|
|
52
|
+
*
|
|
53
|
+
* const connection: ResolvedConnection = resolveConnection({
|
|
54
|
+
* server: 'https://weft.example.com',
|
|
55
|
+
* token: 'secret-token',
|
|
56
|
+
* });
|
|
57
|
+
*
|
|
58
|
+
* console.log(connection.token);
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export type ResolvedConnection = {
|
|
62
|
+
readonly server: URL;
|
|
63
|
+
readonly token?: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Default local Weft server address used when nothing else resolves.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* import { DEFAULT_WEFT_ADDRESS } from '@lostgradient/weft';
|
|
71
|
+
*
|
|
72
|
+
* console.log(DEFAULT_WEFT_ADDRESS); // "http://localhost:7233"
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare const DEFAULT_WEFT_ADDRESS = "http://localhost:7233";
|
|
76
|
+
/**
|
|
77
|
+
* Raised when connection resolution fails. Two cases surface as this error:
|
|
78
|
+
* a present `~/.weft/config` file that cannot be parsed (a missing file is not
|
|
79
|
+
* an error), and a resolved server value that is not a valid URL — regardless
|
|
80
|
+
* of where it came from (`--server`/explicit option, `WEFT_ADDR`, the profile
|
|
81
|
+
* `server` field, or the run lockfile). Both are surfaced rather than silently
|
|
82
|
+
* connecting to the wrong server; the message carries the offending value (the
|
|
83
|
+
* invalid URL string, or the config path for a parse failure).
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* import { ConnectionConfigurationError, resolveConnection } from '@lostgradient/weft';
|
|
88
|
+
*
|
|
89
|
+
* try {
|
|
90
|
+
* resolveConnection();
|
|
91
|
+
* } catch (error) {
|
|
92
|
+
* if (error instanceof ConnectionConfigurationError) {
|
|
93
|
+
* console.error(error.message);
|
|
94
|
+
* }
|
|
95
|
+
* }
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export declare class ConnectionConfigurationError extends Error {
|
|
99
|
+
constructor(message: string);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Resolve Weft server connection settings from explicit options, environment
|
|
103
|
+
* variables, `~/.weft/config`, the local run lockfile (when
|
|
104
|
+
* `includeRunLockfile` is not `false`), and the development default.
|
|
105
|
+
*
|
|
106
|
+
* Resolution is synchronous so it can run inside the {@link HttpClient}
|
|
107
|
+
* constructor and CLI command handlers alike.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* import { resolveConnection } from '@lostgradient/weft';
|
|
112
|
+
*
|
|
113
|
+
* const connection = resolveConnection({ server: 'https://weft.example.com' });
|
|
114
|
+
* console.log(connection.server.toString()); // "https://weft.example.com/"
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export declare function resolveConnection(options?: ConnectionOptions): ResolvedConnection;
|
|
118
|
+
/** Record the address of a running server so later CLI commands can find it. */
|
|
119
|
+
export declare function writeRunLockfile(server: string): Promise<void>;
|
|
120
|
+
/** Remove the run lockfile when the recorded server shuts down. */
|
|
121
|
+
export declare function removeRunLockfile(server: string): Promise<void>;
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { mkdir, rm } from "node:fs/promises";
|
|
3
|
+
export const DEFAULT_WEFT_ADDRESS = "http://localhost:7233";
|
|
4
|
+
|
|
5
|
+
export class ConnectionConfigurationError extends Error {
|
|
6
|
+
constructor(message) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = "ConnectionConfigurationError";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export function resolveConnection(options = {}) {
|
|
12
|
+
const context = resolveConnectionContext(options), server = resolveServerString(context), fallbackProfile = profileForToken(context, server), token = resolveToken(options.token ?? Bun.env.WEFT_TOKEN, fallbackProfile);
|
|
13
|
+
return {
|
|
14
|
+
server: parseServerUrl(server),
|
|
15
|
+
...token === void 0 ? {} : { token }
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function parseServerUrl(server) {
|
|
19
|
+
try {
|
|
20
|
+
return new URL(server);
|
|
21
|
+
} catch (error) {
|
|
22
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
23
|
+
throw new ConnectionConfigurationError(`Invalid server URL '${server}': ${reason}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function profileForToken(context, resolvedServer) {
|
|
27
|
+
if (context.profile === void 0)
|
|
28
|
+
return;
|
|
29
|
+
if (!(context.options.server !== void 0 || Bun.env.WEFT_ADDR !== void 0))
|
|
30
|
+
return context.profile;
|
|
31
|
+
const profileServer = context.profile.server;
|
|
32
|
+
if (profileServer === void 0)
|
|
33
|
+
return;
|
|
34
|
+
return sameDestination(resolvedServer, profileServer) ? context.profile : void 0;
|
|
35
|
+
}
|
|
36
|
+
function sameDestination(a, b) {
|
|
37
|
+
let left, right;
|
|
38
|
+
try {
|
|
39
|
+
left = new URL(a);
|
|
40
|
+
right = new URL(b);
|
|
41
|
+
} catch {
|
|
42
|
+
return a === b;
|
|
43
|
+
}
|
|
44
|
+
return left.origin === right.origin && left.pathname.replace(/\/+$/, "") === right.pathname.replace(/\/+$/, "");
|
|
45
|
+
}
|
|
46
|
+
function resolveConnectionContext(options) {
|
|
47
|
+
const configuration = readWeftConfiguration(), profileName = options.profile ?? Bun.env.WEFT_PROFILE ?? configuration.defaultProfile, profile = profileName === void 0 ? void 0 : configuration.profiles?.[profileName], runLockfile = options.includeRunLockfile === !1 ? void 0 : readRunLockfile();
|
|
48
|
+
return {
|
|
49
|
+
options,
|
|
50
|
+
...profile === void 0 ? {} : { profile },
|
|
51
|
+
...runLockfile === void 0 ? {} : { runLockfile }
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function resolveServerString(context) {
|
|
55
|
+
return context.options.server ?? Bun.env.WEFT_ADDR ?? context.profile?.server ?? context.runLockfile?.server ?? context.runLockfile?.url ?? DEFAULT_WEFT_ADDRESS;
|
|
56
|
+
}
|
|
57
|
+
export async function writeRunLockfile(server) {
|
|
58
|
+
await mkdir(weftHome(), { recursive: !0 });
|
|
59
|
+
await Bun.write(runLockfilePath(), `${JSON.stringify({ server }, null, 2)}
|
|
60
|
+
`);
|
|
61
|
+
}
|
|
62
|
+
export async function removeRunLockfile(server) {
|
|
63
|
+
const lockfile = readRunLockfile();
|
|
64
|
+
if (lockfile === void 0)
|
|
65
|
+
return;
|
|
66
|
+
if ((lockfile.server ?? lockfile.url) !== server)
|
|
67
|
+
return;
|
|
68
|
+
await rm(runLockfilePath(), { force: !0 });
|
|
69
|
+
}
|
|
70
|
+
function readWeftConfiguration() {
|
|
71
|
+
const path = configurationPath();
|
|
72
|
+
if (!existsSync(path))
|
|
73
|
+
return {};
|
|
74
|
+
let parsed;
|
|
75
|
+
try {
|
|
76
|
+
parsed = Bun.TOML.parse(readFileSync(path, "utf8"));
|
|
77
|
+
} catch (error) {
|
|
78
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
79
|
+
throw new ConnectionConfigurationError(`Failed to read connection configuration at ${path}: ${message}`);
|
|
80
|
+
}
|
|
81
|
+
return normalizeConfiguration(parsed);
|
|
82
|
+
}
|
|
83
|
+
function readRunLockfile() {
|
|
84
|
+
const path = runLockfilePath();
|
|
85
|
+
if (!existsSync(path))
|
|
86
|
+
return;
|
|
87
|
+
const text = readFileSync(path, "utf8").trim();
|
|
88
|
+
if (text === "")
|
|
89
|
+
return;
|
|
90
|
+
try {
|
|
91
|
+
return normalizeRunLockfile(JSON.parse(text));
|
|
92
|
+
} catch {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function normalizeConfiguration(value) {
|
|
97
|
+
if (!isRecord(value))
|
|
98
|
+
return {};
|
|
99
|
+
const profiles = normalizeProfiles(value.profiles), defaultProfile = stringValue(value.defaultProfile ?? value.default_profile);
|
|
100
|
+
return {
|
|
101
|
+
...defaultProfile === void 0 ? {} : { defaultProfile },
|
|
102
|
+
profiles
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function normalizeProfiles(value) {
|
|
106
|
+
const profiles = {};
|
|
107
|
+
if (!isRecord(value))
|
|
108
|
+
return profiles;
|
|
109
|
+
for (const [name, profile] of Object.entries(value)) {
|
|
110
|
+
const normalized = normalizeProfile(profile);
|
|
111
|
+
if (normalized !== void 0)
|
|
112
|
+
profiles[name] = normalized;
|
|
113
|
+
}
|
|
114
|
+
return profiles;
|
|
115
|
+
}
|
|
116
|
+
function normalizeProfile(value) {
|
|
117
|
+
if (!isRecord(value))
|
|
118
|
+
return;
|
|
119
|
+
const server = stringValue(value.server), token = stringValue(value.token), tokenEnv = stringValue(value.tokenEnv ?? value.token_env);
|
|
120
|
+
return {
|
|
121
|
+
...server === void 0 ? {} : { server },
|
|
122
|
+
...token === void 0 ? {} : { token },
|
|
123
|
+
...tokenEnv === void 0 ? {} : { tokenEnv }
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function normalizeRunLockfile(value) {
|
|
127
|
+
if (!isRecord(value))
|
|
128
|
+
return;
|
|
129
|
+
const server = stringValue(value.server), url = stringValue(value.url);
|
|
130
|
+
if (server === void 0 && url === void 0)
|
|
131
|
+
return;
|
|
132
|
+
return {
|
|
133
|
+
...server === void 0 ? {} : { server },
|
|
134
|
+
...url === void 0 ? {} : { url }
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
function resolveToken(token, profile) {
|
|
138
|
+
const directToken = token ?? profile?.token;
|
|
139
|
+
if (directToken?.startsWith("env:"))
|
|
140
|
+
return Bun.env[directToken.slice(4)];
|
|
141
|
+
if (directToken !== void 0)
|
|
142
|
+
return directToken;
|
|
143
|
+
if (profile?.tokenEnv !== void 0)
|
|
144
|
+
return Bun.env[profile.tokenEnv];
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
function configurationPath() {
|
|
148
|
+
return `${weftHome()}/config`;
|
|
149
|
+
}
|
|
150
|
+
function runLockfilePath() {
|
|
151
|
+
return `${weftHome()}/run`;
|
|
152
|
+
}
|
|
153
|
+
function weftHome() {
|
|
154
|
+
return Bun.env.WEFT_HOME ?? `${Bun.env.HOME ?? "."}/.weft`;
|
|
155
|
+
}
|
|
156
|
+
function stringValue(value) {
|
|
157
|
+
return typeof value === "string" && value !== "" ? value : void 0;
|
|
158
|
+
}
|
|
159
|
+
function isRecord(value) {
|
|
160
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
161
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WeakMap-backed activity registry.
|
|
3
|
+
*
|
|
4
|
+
* Metadata is keyed to function references in a WeakMap so that lookup by
|
|
5
|
+
* function reference is O(1). A separate name index (plain Map) holds strong
|
|
6
|
+
* references to registered functions, keeping them alive until explicitly
|
|
7
|
+
* unregistered. When a function is unregistered, removing it from the name
|
|
8
|
+
* index releases the strong reference and allows the WeakMap entry to be
|
|
9
|
+
* collected.
|
|
10
|
+
*
|
|
11
|
+
* @module core/activity-registry
|
|
12
|
+
*/
|
|
13
|
+
import { type DefinitionSchema, type Duration, type RetryPolicy } from './types.ts';
|
|
14
|
+
/**
|
|
15
|
+
* Metadata stored per-activity, keyed to the function reference in a WeakMap.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { ActivityRegistry, type ActivityMetadata } from '@lostgradient/weft';
|
|
20
|
+
*
|
|
21
|
+
* const registry = new ActivityRegistry();
|
|
22
|
+
* const fn = async (input: unknown) => ({ result: input });
|
|
23
|
+
* registry.register('processOrder', fn, { queue: 'orders', timeout: '30s' });
|
|
24
|
+
*
|
|
25
|
+
* const meta: ActivityMetadata | undefined = registry.getMetadata(fn);
|
|
26
|
+
* console.log(meta?.name); // 'processOrder'
|
|
27
|
+
* console.log(meta?.queue); // 'orders'
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export interface ActivityMetadata {
|
|
31
|
+
/** Registered activity name. */
|
|
32
|
+
name: string;
|
|
33
|
+
/** Queue used for activity dispatch. */
|
|
34
|
+
queue: string;
|
|
35
|
+
/** User-facing description for catalog, code generation, and tool surfaces. */
|
|
36
|
+
description?: string;
|
|
37
|
+
/** User-facing grouping tags for catalog and documentation surfaces. */
|
|
38
|
+
tags?: ReadonlyArray<string>;
|
|
39
|
+
/** Optional input schema metadata for introspection; core execution does not validate input against it. */
|
|
40
|
+
inputSchema?: DefinitionSchema;
|
|
41
|
+
/** Optional output schema metadata for introspection; core execution does not validate output against it. */
|
|
42
|
+
outputSchema?: DefinitionSchema;
|
|
43
|
+
/** Retry policy used when the activity fails. */
|
|
44
|
+
retry?: RetryPolicy;
|
|
45
|
+
/** Activity execution timeout. */
|
|
46
|
+
timeout?: Duration;
|
|
47
|
+
/** Whether the activity can be safely repeated. */
|
|
48
|
+
idempotent?: boolean;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Optional overrides when registering an activity.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* import { ActivityRegistry, type ActivityRegistrationOptions } from '@lostgradient/weft';
|
|
56
|
+
*
|
|
57
|
+
* const options: ActivityRegistrationOptions = {
|
|
58
|
+
* queue: 'high-priority',
|
|
59
|
+
* timeout: '60s',
|
|
60
|
+
* idempotent: true,
|
|
61
|
+
* };
|
|
62
|
+
*
|
|
63
|
+
* const registry = new ActivityRegistry();
|
|
64
|
+
* const fn = async (input: unknown) => input;
|
|
65
|
+
* registry.register('sendNotification', fn, options);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export interface ActivityRegistrationOptions {
|
|
69
|
+
/** Queue used for activity dispatch. */
|
|
70
|
+
queue?: string;
|
|
71
|
+
/** User-facing description for catalog, code generation, and tool surfaces. */
|
|
72
|
+
description?: string;
|
|
73
|
+
/** User-facing grouping tags for catalog and documentation surfaces. */
|
|
74
|
+
tags?: ReadonlyArray<string>;
|
|
75
|
+
/** Optional input schema metadata for introspection; registration validates metadata shape only. */
|
|
76
|
+
inputSchema?: DefinitionSchema;
|
|
77
|
+
/** Optional output schema metadata for introspection; registration validates metadata shape only. */
|
|
78
|
+
outputSchema?: DefinitionSchema;
|
|
79
|
+
/** Retry policy used when the activity fails. */
|
|
80
|
+
retry?: RetryPolicy;
|
|
81
|
+
/** Activity execution timeout. */
|
|
82
|
+
timeout?: Duration;
|
|
83
|
+
/** Whether the activity can be safely repeated. */
|
|
84
|
+
idempotent?: boolean;
|
|
85
|
+
}
|
|
86
|
+
export type RegisteredActivityFunction = (input?: unknown, context?: unknown) => unknown;
|
|
87
|
+
export declare function copyActivityMetadata(metadata: ActivityMetadata): ActivityMetadata;
|
|
88
|
+
/**
|
|
89
|
+
* WeakMap-backed registry mapping activity names to their execute functions
|
|
90
|
+
* and metadata. Used internally by the {@link Engine} to dispatch activities
|
|
91
|
+
* by name. Call `engine.register(activityDefinition)` rather than
|
|
92
|
+
* constructing an `ActivityRegistry` directly — the engine manages the
|
|
93
|
+
* registry lifecycle.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* import { ActivityRegistry } from '@lostgradient/weft';
|
|
98
|
+
*
|
|
99
|
+
* const registry = new ActivityRegistry();
|
|
100
|
+
* const fn = async (input: unknown) => ({ result: input });
|
|
101
|
+
* registry.register('processOrder', fn, { queue: 'orders', timeout: '30s' });
|
|
102
|
+
*
|
|
103
|
+
* const meta = registry.getMetadata(fn);
|
|
104
|
+
* console.log(meta?.name); // 'processOrder'
|
|
105
|
+
* console.log(meta?.queue); // 'orders'
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
export declare class ActivityRegistry {
|
|
109
|
+
#private;
|
|
110
|
+
constructor();
|
|
111
|
+
/**
|
|
112
|
+
* Register an activity function with associated metadata.
|
|
113
|
+
*
|
|
114
|
+
* If `fn` was created via the `activity()` helper, metadata is
|
|
115
|
+
* auto-extracted from its colocated properties. Explicit `options`
|
|
116
|
+
* take precedence over auto-extracted values.
|
|
117
|
+
*/
|
|
118
|
+
register(name: string, fn: Function, options?: ActivityRegistrationOptions): void;
|
|
119
|
+
/** Check whether an activity is registered under the given name. */
|
|
120
|
+
has(name: string): boolean;
|
|
121
|
+
/** Resolve a function by its registered name. Returns `undefined` if not found. */
|
|
122
|
+
resolve(name: string): RegisteredActivityFunction | undefined;
|
|
123
|
+
/** Get metadata for a function reference. Returns `undefined` if the function was never registered. */
|
|
124
|
+
getMetadata(fn: Function): ActivityMetadata | undefined;
|
|
125
|
+
/** Get metadata by registered activity name. */
|
|
126
|
+
getMetadataByName(name: string): ActivityMetadata | undefined;
|
|
127
|
+
/** Get catalog metadata for a registered activity name. */
|
|
128
|
+
getDefinition(name: string): ActivityMetadata | undefined;
|
|
129
|
+
/** List catalog metadata for all registered activity names. */
|
|
130
|
+
listDefinitions(): ActivityMetadata[];
|
|
131
|
+
/** Remove an activity registration by name. */
|
|
132
|
+
unregister(name: string): void;
|
|
133
|
+
/** Iterate over all registered activity names. */
|
|
134
|
+
names(): IterableIterator<string>;
|
|
135
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import {
|
|
2
|
+
validateDefinitionSchemaMetadata
|
|
3
|
+
} from "./types.js";
|
|
4
|
+
import { validateWorkflowOrActivityName } from "./types/name-grammar.js";
|
|
5
|
+
function extractDefinitionMetadata(name, fn) {
|
|
6
|
+
const record = fn;
|
|
7
|
+
return {
|
|
8
|
+
...extractCatalogMetadata(record),
|
|
9
|
+
...extractSchemaMetadata(name, record),
|
|
10
|
+
...extractDispatchMetadata(record)
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function extractCatalogMetadata(record) {
|
|
14
|
+
return {
|
|
15
|
+
...typeof record.description === "string" ? { description: record.description } : {},
|
|
16
|
+
...Array.isArray(record.tags) && record.tags.every((tag) => typeof tag === "string") ? { tags: [...record.tags] } : {}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function extractSchemaMetadata(name, record) {
|
|
20
|
+
return {
|
|
21
|
+
..."inputSchema" in record ? {
|
|
22
|
+
inputSchema: validateDefinitionSchemaMetadata(record.inputSchema, `activity definition "${name}".inputSchema`)
|
|
23
|
+
} : {},
|
|
24
|
+
..."outputSchema" in record ? {
|
|
25
|
+
outputSchema: validateDefinitionSchemaMetadata(record.outputSchema, `activity definition "${name}".outputSchema`)
|
|
26
|
+
} : {}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function extractDispatchMetadata(record) {
|
|
30
|
+
return {
|
|
31
|
+
...typeof record.queue === "string" ? { queue: record.queue } : {},
|
|
32
|
+
...isRetryPolicyCandidate(record.retry) ? { retry: record.retry } : {},
|
|
33
|
+
...typeof record.timeout === "string" || typeof record.timeout === "number" ? { timeout: record.timeout } : {},
|
|
34
|
+
...typeof record.idempotent === "boolean" ? { idempotent: record.idempotent } : {}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function isRetryPolicyCandidate(value) {
|
|
38
|
+
return typeof value === "object" && value !== null;
|
|
39
|
+
}
|
|
40
|
+
export function copyActivityMetadata(metadata) {
|
|
41
|
+
return {
|
|
42
|
+
name: metadata.name,
|
|
43
|
+
queue: metadata.queue,
|
|
44
|
+
...metadata.description === void 0 ? {} : { description: metadata.description },
|
|
45
|
+
...metadata.tags === void 0 ? {} : { tags: [...metadata.tags] },
|
|
46
|
+
...metadata.inputSchema === void 0 ? {} : { inputSchema: metadata.inputSchema },
|
|
47
|
+
...metadata.outputSchema === void 0 ? {} : { outputSchema: metadata.outputSchema },
|
|
48
|
+
...metadata.retry === void 0 ? {} : { retry: copyRetryPolicy(metadata.retry) },
|
|
49
|
+
...metadata.timeout === void 0 ? {} : { timeout: metadata.timeout },
|
|
50
|
+
...metadata.idempotent === void 0 ? {} : { idempotent: metadata.idempotent }
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function copyRetryPolicy(retry) {
|
|
54
|
+
return {
|
|
55
|
+
...retry,
|
|
56
|
+
...retry.nonRetryableErrors === void 0 ? {} : { nonRetryableErrors: [...retry.nonRetryableErrors] }
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function resolveSchemaMetadata(name, extracted, options) {
|
|
60
|
+
const inputSchema = options?.inputSchema === void 0 ? extracted.inputSchema : validateDefinitionSchemaMetadata(options.inputSchema, `activity registration "${name}".inputSchema`), outputSchema = options?.outputSchema === void 0 ? extracted.outputSchema : validateDefinitionSchemaMetadata(options.outputSchema, `activity registration "${name}".outputSchema`);
|
|
61
|
+
return {
|
|
62
|
+
...inputSchema === void 0 ? {} : { inputSchema },
|
|
63
|
+
...outputSchema === void 0 ? {} : { outputSchema }
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function preferOptionValue(optionValue, extractedValue) {
|
|
67
|
+
return optionValue ?? extractedValue;
|
|
68
|
+
}
|
|
69
|
+
function applyOptionalActivityMetadata(metadata, values) {
|
|
70
|
+
if (values.description !== void 0)
|
|
71
|
+
metadata.description = values.description;
|
|
72
|
+
if (values.tags !== void 0)
|
|
73
|
+
metadata.tags = [...values.tags];
|
|
74
|
+
if (values.inputSchema !== void 0)
|
|
75
|
+
metadata.inputSchema = values.inputSchema;
|
|
76
|
+
if (values.outputSchema !== void 0)
|
|
77
|
+
metadata.outputSchema = values.outputSchema;
|
|
78
|
+
if (values.retry !== void 0)
|
|
79
|
+
metadata.retry = copyRetryPolicy(values.retry);
|
|
80
|
+
if (values.timeout !== void 0)
|
|
81
|
+
metadata.timeout = values.timeout;
|
|
82
|
+
if (values.idempotent !== void 0)
|
|
83
|
+
metadata.idempotent = values.idempotent;
|
|
84
|
+
}
|
|
85
|
+
function assignOptionalActivityMetadataValue(metadata, key, value) {
|
|
86
|
+
if (value !== void 0)
|
|
87
|
+
metadata[key] = value;
|
|
88
|
+
}
|
|
89
|
+
function buildOptionalActivityMetadata(name, extracted, options) {
|
|
90
|
+
const optionalMetadata = {
|
|
91
|
+
...resolveSchemaMetadata(name, extracted, options)
|
|
92
|
+
};
|
|
93
|
+
assignOptionalActivityMetadataValue(optionalMetadata, "description", preferOptionValue(options?.description, extracted.description));
|
|
94
|
+
assignOptionalActivityMetadataValue(optionalMetadata, "tags", preferOptionValue(options?.tags, extracted.tags));
|
|
95
|
+
assignOptionalActivityMetadataValue(optionalMetadata, "retry", preferOptionValue(options?.retry, extracted.retry));
|
|
96
|
+
assignOptionalActivityMetadataValue(optionalMetadata, "timeout", preferOptionValue(options?.timeout, extracted.timeout));
|
|
97
|
+
assignOptionalActivityMetadataValue(optionalMetadata, "idempotent", preferOptionValue(options?.idempotent, extracted.idempotent));
|
|
98
|
+
return optionalMetadata;
|
|
99
|
+
}
|
|
100
|
+
function buildActivityMetadata(name, extracted, options) {
|
|
101
|
+
const metadata = {
|
|
102
|
+
name,
|
|
103
|
+
queue: preferOptionValue(options?.queue, extracted.queue) ?? "default"
|
|
104
|
+
};
|
|
105
|
+
applyOptionalActivityMetadata(metadata, buildOptionalActivityMetadata(name, extracted, options));
|
|
106
|
+
return metadata;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export class ActivityRegistry {
|
|
110
|
+
#metadata;
|
|
111
|
+
#definitions;
|
|
112
|
+
#nameIndex;
|
|
113
|
+
constructor() {
|
|
114
|
+
this.#metadata = new WeakMap;
|
|
115
|
+
this.#definitions = new Map;
|
|
116
|
+
this.#nameIndex = new Map;
|
|
117
|
+
}
|
|
118
|
+
#retargetFunctionMetadata(fn, excludingName) {
|
|
119
|
+
let replacementMetadata;
|
|
120
|
+
for (const [registeredName, registeredFn] of this.#nameIndex)
|
|
121
|
+
if (registeredName !== excludingName && registeredFn === fn)
|
|
122
|
+
replacementMetadata = this.#definitions.get(registeredName);
|
|
123
|
+
if (replacementMetadata === void 0)
|
|
124
|
+
this.#metadata.delete(fn);
|
|
125
|
+
else
|
|
126
|
+
this.#metadata.set(fn, replacementMetadata);
|
|
127
|
+
}
|
|
128
|
+
register(name, fn, options) {
|
|
129
|
+
validateWorkflowOrActivityName(name, "activity");
|
|
130
|
+
const existingFn = this.#nameIndex.get(name);
|
|
131
|
+
if (existingFn && existingFn !== fn)
|
|
132
|
+
this.#retargetFunctionMetadata(existingFn, name);
|
|
133
|
+
const extracted = extractDefinitionMetadata(name, fn), metadata = buildActivityMetadata(name, extracted, options);
|
|
134
|
+
this.#metadata.set(fn, metadata);
|
|
135
|
+
this.#definitions.set(name, metadata);
|
|
136
|
+
this.#nameIndex.set(name, fn);
|
|
137
|
+
}
|
|
138
|
+
has(name) {
|
|
139
|
+
return this.#nameIndex.has(name);
|
|
140
|
+
}
|
|
141
|
+
resolve(name) {
|
|
142
|
+
const fn = this.#nameIndex.get(name);
|
|
143
|
+
if (!fn)
|
|
144
|
+
return;
|
|
145
|
+
return fn;
|
|
146
|
+
}
|
|
147
|
+
getMetadata(fn) {
|
|
148
|
+
const metadata = this.#metadata.get(fn);
|
|
149
|
+
return metadata === void 0 ? void 0 : copyActivityMetadata(metadata);
|
|
150
|
+
}
|
|
151
|
+
getMetadataByName(name) {
|
|
152
|
+
return this.getDefinition(name);
|
|
153
|
+
}
|
|
154
|
+
getDefinition(name) {
|
|
155
|
+
const metadata = this.#definitions.get(name);
|
|
156
|
+
return metadata === void 0 ? void 0 : copyActivityMetadata(metadata);
|
|
157
|
+
}
|
|
158
|
+
listDefinitions() {
|
|
159
|
+
return [...this.#nameIndex.keys()].flatMap((name) => {
|
|
160
|
+
const metadata = this.getDefinition(name);
|
|
161
|
+
return metadata === void 0 ? [] : [metadata];
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
unregister(name) {
|
|
165
|
+
const fn = this.#nameIndex.get(name);
|
|
166
|
+
this.#nameIndex.delete(name);
|
|
167
|
+
this.#definitions.delete(name);
|
|
168
|
+
if (fn)
|
|
169
|
+
this.#retargetFunctionMetadata(fn);
|
|
170
|
+
}
|
|
171
|
+
*names() {
|
|
172
|
+
yield* this.#nameIndex.keys();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { activity } from "./types.js";
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared schema and normalizer for `engine.aggregate()` options — the
|
|
3
|
+
* `groupBy` dimension and the optional `limit` on returned groups. Lives
|
|
4
|
+
* in `core/` so in-process callers and the server operation share one
|
|
5
|
+
* validation path.
|
|
6
|
+
*
|
|
7
|
+
* The list-filter portion of aggregate input is validated by
|
|
8
|
+
* {@link normalizeListFilter} in `list-filter-validation.ts`; this module
|
|
9
|
+
* covers only the aggregate-specific options.
|
|
10
|
+
*
|
|
11
|
+
* @module core/aggregate-validation
|
|
12
|
+
*/
|
|
13
|
+
import { z } from 'zod';
|
|
14
|
+
import { WeftError } from './weft-error.ts';
|
|
15
|
+
/**
|
|
16
|
+
* Group-by dimension for `engine.aggregate()`. Either a fixed structural
|
|
17
|
+
* dimension or an arbitrary search-attribute name.
|
|
18
|
+
*/
|
|
19
|
+
export type AggregateGroupBy = 'status' | 'type' | 'failureCategory' | {
|
|
20
|
+
attribute: string;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Validated options for `engine.aggregate()`. `limit` bounds the number
|
|
24
|
+
* of groups returned; `undefined` means "use the engine default."
|
|
25
|
+
*/
|
|
26
|
+
export type AggregateOptions = {
|
|
27
|
+
groupBy: AggregateGroupBy;
|
|
28
|
+
limit?: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Default and maximum bounds on the number of groups returned. Groups
|
|
32
|
+
* over the requested limit set `truncated: true` on the response.
|
|
33
|
+
*/
|
|
34
|
+
export declare const AGGREGATE_DEFAULT_LIMIT = 1000;
|
|
35
|
+
export declare const AGGREGATE_MAX_LIMIT = 10000;
|
|
36
|
+
/**
|
|
37
|
+
* Hard cap on the number of distinct group keys the engine will
|
|
38
|
+
* materialize for a single aggregate query. Exceeding it raises
|
|
39
|
+
* {@link AggregateDistinctKeyCapExceededError}; transport layers map
|
|
40
|
+
* the error to `Unprocessable`. The cap protects against an unbounded
|
|
41
|
+
* group-by on a high-cardinality attribute exhausting memory; it is
|
|
42
|
+
* never silently truncated because scan-order would bias which groups
|
|
43
|
+
* "win."
|
|
44
|
+
*/
|
|
45
|
+
export declare const MAX_AGGREGATE_DISTINCT_KEYS = 100000;
|
|
46
|
+
/**
|
|
47
|
+
* Concrete object schema for {@link AggregateOptions}. Exported so the
|
|
48
|
+
* server operation can `.extend()` it onto the list-filter schema.
|
|
49
|
+
*/
|
|
50
|
+
export declare const aggregateOptionsObjectSchema: z.ZodObject<{
|
|
51
|
+
groupBy: z.ZodUnion<readonly [z.ZodLiteral<"status">, z.ZodLiteral<"type">, z.ZodLiteral<"failureCategory">, z.ZodObject<{
|
|
52
|
+
attribute: z.ZodString;
|
|
53
|
+
}, z.core.$strict>]>;
|
|
54
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
}, z.core.$strict>;
|
|
56
|
+
/** A flattened Zod issue suitable for cross-transport serialization. */
|
|
57
|
+
export type AggregateOptionsValidationIssue = {
|
|
58
|
+
readonly path: ReadonlyArray<string | number>;
|
|
59
|
+
readonly message: string;
|
|
60
|
+
readonly code: string;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Thrown by {@link normalizeAggregateOptions} when input fails validation.
|
|
64
|
+
* Carries flattened Zod issues so transport adapters can map directly to
|
|
65
|
+
* the existing `InvalidParams` fault shape.
|
|
66
|
+
*/
|
|
67
|
+
export declare class AggregateOptionsValidationError extends WeftError<'AggregateOptionsValidationError'> {
|
|
68
|
+
readonly issues: ReadonlyArray<AggregateOptionsValidationIssue>;
|
|
69
|
+
constructor(issues: ReadonlyArray<AggregateOptionsValidationIssue>);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Thrown when an aggregate query would materialize more distinct group
|
|
73
|
+
* keys than {@link MAX_AGGREGATE_DISTINCT_KEYS}. Caller is expected to
|
|
74
|
+
* narrow the filter or pick a lower-cardinality `groupBy`.
|
|
75
|
+
*/
|
|
76
|
+
export declare class AggregateDistinctKeyCapExceededError extends WeftError<'AggregateDistinctKeyCapExceededError'> {
|
|
77
|
+
readonly cap: number;
|
|
78
|
+
constructor(cap: number);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Parse and validate aggregate options. Returns a typed copy on success;
|
|
82
|
+
* throws {@link AggregateOptionsValidationError} on failure with
|
|
83
|
+
* structured issues.
|
|
84
|
+
*/
|
|
85
|
+
export declare function normalizeAggregateOptions(input: unknown): AggregateOptions;
|