@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,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime-agnostic primitives that all portable code uses instead of calling
|
|
3
|
+
* `Bun.*` directly. When running under Bun the fast native paths are used;
|
|
4
|
+
* otherwise standard Web APIs are preferred, with Node built-ins as a last
|
|
5
|
+
* resort (lazy-imported so browser bundles never pull in `node:*`).
|
|
6
|
+
*
|
|
7
|
+
* @module runtime/portable
|
|
8
|
+
*/
|
|
9
|
+
/** Identifies the JavaScript runtime hosting this process. */
|
|
10
|
+
export type RuntimeKind = 'bun' | 'node' | 'browser' | 'edge';
|
|
11
|
+
type PortableRuntimeTestOverrides = {
|
|
12
|
+
bun?: typeof globalThis.Bun | undefined;
|
|
13
|
+
process?: typeof globalThis.process | undefined;
|
|
14
|
+
window?: typeof globalThis.window | undefined;
|
|
15
|
+
document?: typeof globalThis.document | undefined;
|
|
16
|
+
};
|
|
17
|
+
export declare function setPortableRuntimeTestOverridesForTesting(overrides?: PortableRuntimeTestOverrides): void;
|
|
18
|
+
/**
|
|
19
|
+
* Detect the current JavaScript runtime.
|
|
20
|
+
* Detection precedence is bun → node → browser → edge: a Bun process running
|
|
21
|
+
* under a Node shim still reports 'bun'; the function never falls through if
|
|
22
|
+
* `globalThis.Bun` is defined.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { detectRuntime } from '@lostgradient/weft';
|
|
27
|
+
*
|
|
28
|
+
* const runtime = detectRuntime();
|
|
29
|
+
* // Returns 'bun' | 'node' | 'browser' | 'edge'
|
|
30
|
+
* console.log(runtime); // e.g. 'bun' when running under Bun
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function detectRuntime(): RuntimeKind;
|
|
34
|
+
/**
|
|
35
|
+
* Pause execution for the given number of milliseconds.
|
|
36
|
+
*
|
|
37
|
+
* Uses `Bun.sleep` when available (microtask-friendly), otherwise wraps
|
|
38
|
+
* `setTimeout` in a `Promise`.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* import { sleep } from '@lostgradient/weft';
|
|
43
|
+
*
|
|
44
|
+
* async function poll() {
|
|
45
|
+
* for (let i = 0; i < 3; i++) {
|
|
46
|
+
* await sleep(100);
|
|
47
|
+
* console.log('tick', i);
|
|
48
|
+
* }
|
|
49
|
+
* }
|
|
50
|
+
* await poll();
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Hash a byte buffer to a 16-character hex string.
|
|
56
|
+
*
|
|
57
|
+
* Uses FNV-1a unconditionally across all runtimes for stable output.
|
|
58
|
+
* Hashes may be persisted to durable storage (event-log chains, tool-effect
|
|
59
|
+
* dedup), so runtime-specific algorithms would break cross-runtime reads.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* import { hashBytes } from '@lostgradient/weft';
|
|
64
|
+
*
|
|
65
|
+
* const data = new TextEncoder().encode('hello');
|
|
66
|
+
* const hash = hashBytes(data);
|
|
67
|
+
* console.log(hash.length); // 16
|
|
68
|
+
* console.log(hashBytes(data) === hash); // true (deterministic)
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export declare function hashBytes(data: Uint8Array): string;
|
|
72
|
+
/**
|
|
73
|
+
* Hash a string to a 16-character hex string.
|
|
74
|
+
*
|
|
75
|
+
* Uses FNV-1a unconditionally across all runtimes for stable output.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* import { hashString } from '@lostgradient/weft';
|
|
80
|
+
*
|
|
81
|
+
* const h1 = hashString('workflow-key');
|
|
82
|
+
* const h2 = hashString('workflow-key');
|
|
83
|
+
* console.log(h1 === h2); // true (stable across calls)
|
|
84
|
+
* console.log(h1.length); // 16
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare function hashString(data: string): string;
|
|
88
|
+
/**
|
|
89
|
+
* Return the byte size of a file at the given path.
|
|
90
|
+
*
|
|
91
|
+
* - Bun: `Bun.file(path).size`
|
|
92
|
+
* - Node 22.5+: `node:fs` `statSync` loaded via `process.getBuiltinModule`
|
|
93
|
+
* - Missing files return `0` to match Bun's behavior (important for WAL
|
|
94
|
+
* probing in the diagnostics module).
|
|
95
|
+
*
|
|
96
|
+
* Not available in browser/edge runtimes — throws if called there.
|
|
97
|
+
*/
|
|
98
|
+
export declare function fileSize(path: string): number;
|
|
99
|
+
/**
|
|
100
|
+
* Gzip-compress a byte buffer synchronously.
|
|
101
|
+
*
|
|
102
|
+
* - Bun: `Bun.gzipSync`
|
|
103
|
+
* - Node 22.5+: `node:zlib` via `process.getBuiltinModule`
|
|
104
|
+
*/
|
|
105
|
+
export declare function gzipSync(data: Uint8Array): Uint8Array;
|
|
106
|
+
/**
|
|
107
|
+
* Gunzip-decompress a byte buffer synchronously.
|
|
108
|
+
*
|
|
109
|
+
* - Bun: `Bun.gunzipSync`
|
|
110
|
+
* - Node 22.5+: `node:zlib` via `process.getBuiltinModule`
|
|
111
|
+
*/
|
|
112
|
+
export declare function gunzipSync(data: Uint8Array): Uint8Array;
|
|
113
|
+
/**
|
|
114
|
+
* Load `node:zlib` if available for Node-side callers (used by compression.ts
|
|
115
|
+
* for brotli). Returns `undefined` in browsers so they can degrade cleanly.
|
|
116
|
+
* @internal
|
|
117
|
+
*/
|
|
118
|
+
export declare function tryLoadNodeZlib(): typeof import('node:zlib') | undefined;
|
|
119
|
+
export {};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
let portableRuntimeTestOverrides;
|
|
2
|
+
export function setPortableRuntimeTestOverridesForTesting(overrides) {
|
|
3
|
+
portableRuntimeTestOverrides = overrides;
|
|
4
|
+
}
|
|
5
|
+
function isBunRuntime() {
|
|
6
|
+
return typeof (portableRuntimeTestOverrides && "bun" in portableRuntimeTestOverrides ? portableRuntimeTestOverrides.bun : globalThis.Bun) < "u";
|
|
7
|
+
}
|
|
8
|
+
function getProcess() {
|
|
9
|
+
if (portableRuntimeTestOverrides && "process" in portableRuntimeTestOverrides)
|
|
10
|
+
return portableRuntimeTestOverrides.process;
|
|
11
|
+
return globalThis.process;
|
|
12
|
+
}
|
|
13
|
+
function isNodeRuntime() {
|
|
14
|
+
return typeof getProcess()?.versions?.node === "string";
|
|
15
|
+
}
|
|
16
|
+
function isBrowserRuntime() {
|
|
17
|
+
const windowValue = portableRuntimeTestOverrides && "window" in portableRuntimeTestOverrides ? portableRuntimeTestOverrides.window : globalThis.window, documentValue = portableRuntimeTestOverrides && "document" in portableRuntimeTestOverrides ? portableRuntimeTestOverrides.document : globalThis.document;
|
|
18
|
+
return typeof windowValue < "u" || typeof documentValue < "u";
|
|
19
|
+
}
|
|
20
|
+
const RUNTIME_DETECTORS = [
|
|
21
|
+
{ kind: "bun", matches: isBunRuntime },
|
|
22
|
+
{ kind: "node", matches: isNodeRuntime },
|
|
23
|
+
{ kind: "browser", matches: isBrowserRuntime }
|
|
24
|
+
];
|
|
25
|
+
export function detectRuntime() {
|
|
26
|
+
for (const detector of RUNTIME_DETECTORS)
|
|
27
|
+
if (detector.matches())
|
|
28
|
+
return detector.kind;
|
|
29
|
+
return "edge";
|
|
30
|
+
}
|
|
31
|
+
export function sleep(ms) {
|
|
32
|
+
if (isBunRuntime())
|
|
33
|
+
return Bun.sleep(ms);
|
|
34
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
35
|
+
}
|
|
36
|
+
const FNV_OFFSET_BASIS_64 = 0xcbf29ce484222325n, FNV_PRIME_64 = 0x00000100000001b3n, MASK_64 = 0xffffffffffffffffn;
|
|
37
|
+
function fnv1a64(data) {
|
|
38
|
+
let hash = FNV_OFFSET_BASIS_64;
|
|
39
|
+
for (let i = 0;i < data.length; i++) {
|
|
40
|
+
hash ^= BigInt(data[i]);
|
|
41
|
+
hash = hash * FNV_PRIME_64 & MASK_64;
|
|
42
|
+
}
|
|
43
|
+
return hash.toString(16).padStart(16, "0");
|
|
44
|
+
}
|
|
45
|
+
const textEncoder = new TextEncoder;
|
|
46
|
+
export function hashBytes(data) {
|
|
47
|
+
return fnv1a64(data);
|
|
48
|
+
}
|
|
49
|
+
export function hashString(data) {
|
|
50
|
+
return fnv1a64(textEncoder.encode(data));
|
|
51
|
+
}
|
|
52
|
+
function loadNodeBuiltin(id) {
|
|
53
|
+
const getBuiltinModule = getProcess()?.getBuiltinModule;
|
|
54
|
+
if (typeof getBuiltinModule !== "function")
|
|
55
|
+
return;
|
|
56
|
+
return getBuiltinModule(id);
|
|
57
|
+
}
|
|
58
|
+
export function fileSize(path) {
|
|
59
|
+
if (isBunRuntime())
|
|
60
|
+
return Bun.file(path).size;
|
|
61
|
+
const fs = loadNodeBuiltin("node:fs");
|
|
62
|
+
if (!fs)
|
|
63
|
+
throw Error("fileSize() requires Bun or Node 22.5+ (process.getBuiltinModule). Not available in browser or edge runtimes.");
|
|
64
|
+
try {
|
|
65
|
+
return fs.statSync(path).size;
|
|
66
|
+
} catch (error) {
|
|
67
|
+
if (typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT")
|
|
68
|
+
return 0;
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function loadNodeZlib() {
|
|
73
|
+
const zlib = loadNodeBuiltin("node:zlib");
|
|
74
|
+
if (!zlib)
|
|
75
|
+
throw Error("gzip/gunzip require Bun or Node 22.5+ (process.getBuiltinModule). " + "Not available in browser or edge runtimes \u2014 use CompressionStream directly.");
|
|
76
|
+
return zlib;
|
|
77
|
+
}
|
|
78
|
+
export function gzipSync(data) {
|
|
79
|
+
if (isBunRuntime())
|
|
80
|
+
return new Uint8Array(Bun.gzipSync(new Uint8Array(data)));
|
|
81
|
+
return new Uint8Array(loadNodeZlib().gzipSync(data));
|
|
82
|
+
}
|
|
83
|
+
export function gunzipSync(data) {
|
|
84
|
+
if (isBunRuntime())
|
|
85
|
+
return new Uint8Array(Bun.gunzipSync(new Uint8Array(data)));
|
|
86
|
+
return new Uint8Array(loadNodeZlib().gunzipSync(data));
|
|
87
|
+
}
|
|
88
|
+
export function tryLoadNodeZlib() {
|
|
89
|
+
return loadNodeBuiltin("node:zlib");
|
|
90
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generator for the `/.well-known/api-catalog` RFC 9264 linkset document.
|
|
3
|
+
*
|
|
4
|
+
* @module server/api-catalog
|
|
5
|
+
*/
|
|
6
|
+
export type ApiCatalogOptions = {
|
|
7
|
+
/** Absolute server origin, e.g. `https://api.example.com` */
|
|
8
|
+
readonly origin: string;
|
|
9
|
+
};
|
|
10
|
+
type LinksetLink = {
|
|
11
|
+
href: string;
|
|
12
|
+
type: string;
|
|
13
|
+
};
|
|
14
|
+
type LinksetEntry = {
|
|
15
|
+
anchor: string;
|
|
16
|
+
'service-desc': LinksetLink[];
|
|
17
|
+
};
|
|
18
|
+
type LinksetDocument = {
|
|
19
|
+
linkset: LinksetEntry[];
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Generate an RFC 9264 linkset document describing the API discovery endpoints.
|
|
23
|
+
*
|
|
24
|
+
* All hrefs are absolute URLs built from `options.origin`. Links are sorted
|
|
25
|
+
* alphabetically by href for deterministic output.
|
|
26
|
+
*/
|
|
27
|
+
export declare function generateApiCatalog(options: ApiCatalogOptions): LinksetDocument;
|
|
28
|
+
/**
|
|
29
|
+
* One-shot "publicOrigin not set" warner with private state. Tests can
|
|
30
|
+
* construct an isolated warner so they don't depend on a process-wide
|
|
31
|
+
* boolean — that was a maintainability smell flagged in review (test
|
|
32
|
+
* order could change, new test files could exercise the route without
|
|
33
|
+
* resetting, etc.).
|
|
34
|
+
*/
|
|
35
|
+
export type PublicOriginWarner = {
|
|
36
|
+
/** Emit the warning if it hasn't fired on this warner yet. */
|
|
37
|
+
warn(): void;
|
|
38
|
+
/** Re-arm the warner; primarily useful in tests. */
|
|
39
|
+
reset(): void;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Build a fresh `PublicOriginWarner`. State is captured in the closure;
|
|
43
|
+
* each instance is independent.
|
|
44
|
+
*/
|
|
45
|
+
export declare function createPublicOriginWarner(): PublicOriginWarner;
|
|
46
|
+
/**
|
|
47
|
+
* Reset the default process-wide warning gate. **Test-only.**
|
|
48
|
+
* Production code never calls this; exported so tests can re-arm the
|
|
49
|
+
* warning between cases.
|
|
50
|
+
*/
|
|
51
|
+
export declare function resetPublicOriginWarningForTesting(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Called by the route handler when `publicOrigin` was not configured. Emits
|
|
54
|
+
* a one-shot warning so production deployments are nudged toward the
|
|
55
|
+
* `publicOrigin` option that bypasses header-derived origins entirely.
|
|
56
|
+
*/
|
|
57
|
+
export declare function warnIfPublicOriginUnset(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Extract the origin (scheme + host) from a `Request` object, validating
|
|
60
|
+
* each header before trusting it.
|
|
61
|
+
*
|
|
62
|
+
* **Security note.** Both `Host` and `X-Forwarded-Proto` are
|
|
63
|
+
* client-controllable (the latter via a misconfigured reverse proxy).
|
|
64
|
+
* Without validation, an attacker can poison `/.well-known/api-catalog`
|
|
65
|
+
* service-desc URLs by injecting a malicious `Host: evil.example` or a
|
|
66
|
+
* non-network protocol (`X-Forwarded-Proto: javascript`).
|
|
67
|
+
*
|
|
68
|
+
* Operators in production are strongly encouraged to set
|
|
69
|
+
* `serve({ publicOrigin: 'https://api.example.com' })` so this header path
|
|
70
|
+
* is never used. When `publicOrigin` is unset, this function falls back to
|
|
71
|
+
* the request URL's origin (which is the actual incoming connection's
|
|
72
|
+
* scheme/host pair as Bun resolved them, not header-derived) and only
|
|
73
|
+
* upgrades to header-derived values when the request URL does not include
|
|
74
|
+
* an authoritative origin (e.g. unit tests using relative URLs).
|
|
75
|
+
*
|
|
76
|
+
* Validation rules:
|
|
77
|
+
* - `X-Forwarded-Proto` must be exactly `http` or `https`; anything else
|
|
78
|
+
* is dropped.
|
|
79
|
+
* - `Host` must match a conservative reg-name / IP-literal pattern with
|
|
80
|
+
* optional port; anything else is dropped.
|
|
81
|
+
* - When neither header is trustworthy, falls back to `localhost` over
|
|
82
|
+
* `https` so the function never returns an attacker-controlled value.
|
|
83
|
+
*/
|
|
84
|
+
export declare function originFromRequest(request: Request): string;
|
|
85
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export function generateApiCatalog(options) {
|
|
2
|
+
const { origin } = options, links = [
|
|
3
|
+
{ href: `${origin}/.well-known/mcp.json`, type: "application/json" },
|
|
4
|
+
{ href: `${origin}/asyncapi.json`, type: "application/asyncapi+json" },
|
|
5
|
+
{ href: `${origin}/openapi.json`, type: "application/openapi+json" },
|
|
6
|
+
{ href: `${origin}/openrpc.json`, type: "application/json" }
|
|
7
|
+
].toSorted((a, b) => a.href < b.href ? -1 : a.href > b.href ? 1 : 0);
|
|
8
|
+
return {
|
|
9
|
+
linkset: [
|
|
10
|
+
{
|
|
11
|
+
anchor: origin,
|
|
12
|
+
"service-desc": links
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const ALLOWED_FORWARDED_PROTOCOLS = new Set(["http", "https"]), HOST_HEADER_PATTERN = /^(?:[A-Za-z0-9._-]+(?::\d+)?|\[[0-9A-Fa-f:.]+\](?::\d+)?)$/, PUBLIC_ORIGIN_WARNING_TEXT = "[weft] discovery routes (`/.well-known/api-catalog`, `/.well-known/mcp.json`): `publicOrigin` is not configured. Absolute discovery URLs will be derived from the incoming request, which is safe for direct connections but vulnerable to Host-header poisoning when running behind a reverse proxy. Set `serve({ publicOrigin: 'https://api.example.com' })` in production.";
|
|
18
|
+
export function createPublicOriginWarner() {
|
|
19
|
+
let alreadyWarned = !1;
|
|
20
|
+
return {
|
|
21
|
+
warn() {
|
|
22
|
+
if (alreadyWarned)
|
|
23
|
+
return;
|
|
24
|
+
alreadyWarned = !0;
|
|
25
|
+
console.warn(PUBLIC_ORIGIN_WARNING_TEXT);
|
|
26
|
+
},
|
|
27
|
+
reset() {
|
|
28
|
+
alreadyWarned = !1;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const DEFAULT_PUBLIC_ORIGIN_WARNER = createPublicOriginWarner();
|
|
33
|
+
export function resetPublicOriginWarningForTesting() {
|
|
34
|
+
DEFAULT_PUBLIC_ORIGIN_WARNER.reset();
|
|
35
|
+
}
|
|
36
|
+
export function warnIfPublicOriginUnset() {
|
|
37
|
+
DEFAULT_PUBLIC_ORIGIN_WARNER.warn();
|
|
38
|
+
}
|
|
39
|
+
export function originFromRequest(request) {
|
|
40
|
+
try {
|
|
41
|
+
const requestUrl = new URL(request.url);
|
|
42
|
+
if (requestUrl.protocol === "https:" || requestUrl.protocol === "http:")
|
|
43
|
+
return `${requestUrl.protocol}//${requestUrl.host}`;
|
|
44
|
+
} catch {}
|
|
45
|
+
const rawHost = request.headers.get("host"), rawProto = request.headers.get("x-forwarded-proto"), proto = rawProto !== null && ALLOWED_FORWARDED_PROTOCOLS.has(rawProto.toLowerCase()) ? rawProto.toLowerCase() : "https", host = rawHost !== null && HOST_HEADER_PATTERN.test(rawHost) ? rawHost : "localhost";
|
|
46
|
+
return `${proto}://${host}`;
|
|
47
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { DefinitionSchemaDirection } from '../core/types/definition-schema-to-json.ts';
|
|
3
|
+
import type { ErasedOperation } from './operation-catalog.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Build the AsyncAPI channel object for a WebSocket subscription operation.
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildWebSocketChannel(operation: ErasedOperation): Record<string, unknown>;
|
|
8
|
+
/**
|
|
9
|
+
* Build the AsyncAPI channel object for an SSE stream operation.
|
|
10
|
+
*
|
|
11
|
+
* `restBindingPath` MUST be the operation's REST binding path translated to
|
|
12
|
+
* OpenAPI path-parameter syntax (e.g. `/v1/workflows/{id}/sse`). Without it
|
|
13
|
+
* the channel address falls back to a synthetic dotted-name-to-path
|
|
14
|
+
* conversion that does not match any wire endpoint — kept only as a
|
|
15
|
+
* non-failing default so a misconfigured registry produces a recognizable
|
|
16
|
+
* synthetic address rather than throwing during document generation.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildSseChannel(operation: ErasedOperation, restBindingPath: string | undefined): Record<string, unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* Build named component messages for a WebSocket subscription operation.
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildWebSocketMessages(operation: ErasedOperation, definitionSchemaToJsonSchema: (schema: z.ZodType, direction?: DefinitionSchemaDirection) => Record<string, unknown>): Record<string, Record<string, unknown>>;
|
|
23
|
+
/**
|
|
24
|
+
* Build named component messages for an SSE stream operation.
|
|
25
|
+
*
|
|
26
|
+
* The token message's `data:` line carries the operation's wire-encoded
|
|
27
|
+
* token text — for the only SSE operation today (`weft.workflows.streams.sse`)
|
|
28
|
+
* that is the raw `token` string from `mapTokenChunkToText`, NOT a JSON
|
|
29
|
+
* encoding of the operation's `eventSchema`. The `eventSchema` describes
|
|
30
|
+
* the logical per-element type for non-SSE callers (JSON-RPC envelopes
|
|
31
|
+
* carry the full object); SSE is a separate, plain-text wire.
|
|
32
|
+
*
|
|
33
|
+
* The schema below reflects the actual SSE wire. The `x-weft-event-schema`
|
|
34
|
+
* extension surfaces the logical schema for clients that need it.
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildSseMessages(operation: ErasedOperation, definitionSchemaToJsonSchema: (schema: z.ZodType, direction?: DefinitionSchemaDirection) => Record<string, unknown>): Record<string, Record<string, unknown>>;
|
|
37
|
+
/**
|
|
38
|
+
* Build an AsyncAPI operation entry for a stream or subscription operation.
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildOperationEntry(operation: ErasedOperation, channelName: string, kind: 'subscription' | 'stream'): Record<string, unknown>;
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { compareStrings } from "./json-schema-utilities.js";
|
|
2
|
+
import { externalApiPath } from "./route-model.js";
|
|
3
|
+
const JSON_RPC_VERSION = "2.0", EVENT_DELIVER_METHOD = "weft.events.deliver", EVENTS_TERMINATED_METHOD = "weft.events.terminated", UNSUBSCRIBE_METHOD = "weft.workflows.unsubscribe", JSON_RPC_ID_SCHEMA = {
|
|
4
|
+
oneOf: [{ type: "string" }, { type: "number" }, { type: "null" }]
|
|
5
|
+
}, SUBSCRIPTION_TERMINATION_REASON_SCHEMA = {
|
|
6
|
+
enum: ["client-unsubscribed", "server-closed", "validation-failed"],
|
|
7
|
+
type: "string"
|
|
8
|
+
};
|
|
9
|
+
export function buildWebSocketChannel(operation) {
|
|
10
|
+
const messageNames = webSocketMessageNames(operation);
|
|
11
|
+
return {
|
|
12
|
+
address: externalApiPath("/jsonrpc"),
|
|
13
|
+
bindings: {
|
|
14
|
+
ws: {
|
|
15
|
+
method: "GET"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
description: `JSON-RPC WebSocket subscription channel for ${operation.name}.`,
|
|
19
|
+
messages: messageReferenceMap(messageNames),
|
|
20
|
+
title: operation.summary,
|
|
21
|
+
"x-weft-operation-name": operation.name,
|
|
22
|
+
"x-weft-transport": "json-rpc-websocket"
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export function buildSseChannel(operation, restBindingPath) {
|
|
26
|
+
const messageNames = sseMessageNames(operation);
|
|
27
|
+
return {
|
|
28
|
+
address: restBindingPath !== void 0 ? externalApiPath(restBindingPath) : `/x-weft-unbound/${operation.name.replaceAll(".", "/")}`,
|
|
29
|
+
description: `Server-Sent Events stream channel for ${operation.name}. Responses use text/event-stream; charset=utf-8.`,
|
|
30
|
+
messages: messageReferenceMap(messageNames),
|
|
31
|
+
title: operation.summary,
|
|
32
|
+
"x-weft-operation-name": operation.name,
|
|
33
|
+
"x-weft-transport": "server-sent-events"
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export function buildWebSocketMessages(operation, definitionSchemaToJsonSchema) {
|
|
37
|
+
const names = webSocketMessageNames(operation), inputSchema = definitionSchemaToJsonSchema(operation.inputSchema), outputSchema = definitionSchemaToJsonSchema(operation.outputSchema, "output"), eventSchema = eventJsonSchema(operation, definitionSchemaToJsonSchema);
|
|
38
|
+
return {
|
|
39
|
+
[names.subscribeRequest]: {
|
|
40
|
+
name: names.subscribeRequest,
|
|
41
|
+
contentType: "application/json",
|
|
42
|
+
payload: jsonRpcRequestPayload(operation.name, inputSchema),
|
|
43
|
+
summary: `Subscribe to ${operation.name}.`
|
|
44
|
+
},
|
|
45
|
+
[names.subscribeAck]: {
|
|
46
|
+
name: names.subscribeAck,
|
|
47
|
+
contentType: "application/json",
|
|
48
|
+
payload: jsonRpcSuccessPayload(outputSchema),
|
|
49
|
+
summary: `Subscription acknowledgement for ${operation.name}.`
|
|
50
|
+
},
|
|
51
|
+
[names.eventDeliver]: {
|
|
52
|
+
name: names.eventDeliver,
|
|
53
|
+
contentType: "application/json",
|
|
54
|
+
payload: eventDeliverPayload(eventSchema),
|
|
55
|
+
summary: `Event delivery notification for ${operation.name}.`
|
|
56
|
+
},
|
|
57
|
+
[names.unsubscribeRequest]: {
|
|
58
|
+
name: names.unsubscribeRequest,
|
|
59
|
+
contentType: "application/json",
|
|
60
|
+
payload: jsonRpcRequestPayload(UNSUBSCRIBE_METHOD, {
|
|
61
|
+
additionalProperties: !1,
|
|
62
|
+
properties: {
|
|
63
|
+
subscriptionId: { type: "string" }
|
|
64
|
+
},
|
|
65
|
+
required: ["subscriptionId"],
|
|
66
|
+
type: "object"
|
|
67
|
+
}),
|
|
68
|
+
summary: `Unsubscribe from ${operation.name}.`
|
|
69
|
+
},
|
|
70
|
+
[names.terminated]: {
|
|
71
|
+
name: names.terminated,
|
|
72
|
+
contentType: "application/json",
|
|
73
|
+
payload: terminatedPayload(),
|
|
74
|
+
summary: `Subscription termination notification for ${operation.name}.`
|
|
75
|
+
},
|
|
76
|
+
[names.errorFrame]: {
|
|
77
|
+
name: names.errorFrame,
|
|
78
|
+
contentType: "application/json",
|
|
79
|
+
payload: jsonRpcErrorPayload(),
|
|
80
|
+
summary: `JSON-RPC error response for ${operation.name}.`
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
export function buildSseMessages(operation, definitionSchemaToJsonSchema) {
|
|
85
|
+
const names = sseMessageNames(operation), logicalEventSchema = eventJsonSchema(operation, definitionSchemaToJsonSchema);
|
|
86
|
+
return {
|
|
87
|
+
[names.tokenEvent]: {
|
|
88
|
+
name: names.tokenEvent,
|
|
89
|
+
contentType: "text/event-stream",
|
|
90
|
+
payload: { type: "string" },
|
|
91
|
+
summary: `SSE token event for ${operation.name}. The data: line carries the token text.`,
|
|
92
|
+
bindings: {
|
|
93
|
+
http: {
|
|
94
|
+
event: "token"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"x-weft-sse-frame": "event: token\\nid: <sequence>\\ndata: <token-text>\\n\\n",
|
|
98
|
+
"x-weft-event-schema": logicalEventSchema
|
|
99
|
+
},
|
|
100
|
+
[names.doneEvent]: {
|
|
101
|
+
name: names.doneEvent,
|
|
102
|
+
contentType: "text/event-stream",
|
|
103
|
+
payload: {
|
|
104
|
+
additionalProperties: !1,
|
|
105
|
+
properties: {},
|
|
106
|
+
type: "object"
|
|
107
|
+
},
|
|
108
|
+
summary: `SSE completion event for ${operation.name}.`,
|
|
109
|
+
bindings: {
|
|
110
|
+
http: {
|
|
111
|
+
event: "done"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"x-weft-sse-frame": "event: done\\n\\n"
|
|
115
|
+
},
|
|
116
|
+
[names.errorEvent]: {
|
|
117
|
+
name: names.errorEvent,
|
|
118
|
+
contentType: "text/event-stream",
|
|
119
|
+
payload: {
|
|
120
|
+
properties: {
|
|
121
|
+
code: { type: "string" },
|
|
122
|
+
data: {},
|
|
123
|
+
message: { type: "string" }
|
|
124
|
+
},
|
|
125
|
+
required: ["message"],
|
|
126
|
+
type: "object"
|
|
127
|
+
},
|
|
128
|
+
summary: `SSE error event for ${operation.name}.`,
|
|
129
|
+
bindings: {
|
|
130
|
+
http: {
|
|
131
|
+
event: "error"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"x-weft-sse-frame": "event: error\\ndata: <JSON Error>\\n\\n"
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
export function buildOperationEntry(operation, channelName, kind) {
|
|
139
|
+
const messageNames = kind === "subscription" ? Object.values(webSocketMessageNames(operation)) : Object.values(sseMessageNames(operation));
|
|
140
|
+
return {
|
|
141
|
+
action: "receive",
|
|
142
|
+
channel: { $ref: `#/channels/${jsonPointerEscape(channelName)}` },
|
|
143
|
+
messages: messageNames.map((name) => ({ $ref: `#/components/messages/${name}` })),
|
|
144
|
+
operationId: operation.name.replaceAll(".", "_"),
|
|
145
|
+
summary: operation.summary,
|
|
146
|
+
tags: [...operation.tags].toSorted().map((name) => ({ name }))
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function operationPrefix(operation) {
|
|
150
|
+
return operation.name.replaceAll(".", "_");
|
|
151
|
+
}
|
|
152
|
+
function webSocketMessageNames(operation) {
|
|
153
|
+
const prefix = operationPrefix(operation);
|
|
154
|
+
return {
|
|
155
|
+
subscribeRequest: `${prefix}_subscribeRequest`,
|
|
156
|
+
subscribeAck: `${prefix}_subscribeAck`,
|
|
157
|
+
eventDeliver: `${prefix}_eventDeliver`,
|
|
158
|
+
unsubscribeRequest: `${prefix}_unsubscribeRequest`,
|
|
159
|
+
terminated: `${prefix}_terminated`,
|
|
160
|
+
errorFrame: `${prefix}_errorFrame`
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
function sseMessageNames(operation) {
|
|
164
|
+
const prefix = operationPrefix(operation);
|
|
165
|
+
return {
|
|
166
|
+
tokenEvent: `${prefix}_tokenEvent`,
|
|
167
|
+
doneEvent: `${prefix}_doneEvent`,
|
|
168
|
+
errorEvent: `${prefix}_errorEvent`
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function messageReferenceMap(names) {
|
|
172
|
+
const references = {};
|
|
173
|
+
for (const [key, name] of Object.entries(names).toSorted(([left], [right]) => compareStrings(left, right)))
|
|
174
|
+
references[key] = { $ref: `#/components/messages/${name}` };
|
|
175
|
+
return references;
|
|
176
|
+
}
|
|
177
|
+
function jsonRpcRequestPayload(method, paramsSchema) {
|
|
178
|
+
return {
|
|
179
|
+
additionalProperties: !1,
|
|
180
|
+
properties: {
|
|
181
|
+
id: JSON_RPC_ID_SCHEMA,
|
|
182
|
+
jsonrpc: { const: JSON_RPC_VERSION, type: "string" },
|
|
183
|
+
method: { const: method, type: "string" },
|
|
184
|
+
params: paramsSchema
|
|
185
|
+
},
|
|
186
|
+
required: ["jsonrpc", "id", "method", "params"],
|
|
187
|
+
type: "object"
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function jsonRpcSuccessPayload(resultSchema) {
|
|
191
|
+
return {
|
|
192
|
+
additionalProperties: !1,
|
|
193
|
+
properties: {
|
|
194
|
+
id: JSON_RPC_ID_SCHEMA,
|
|
195
|
+
jsonrpc: { const: JSON_RPC_VERSION, type: "string" },
|
|
196
|
+
result: resultSchema
|
|
197
|
+
},
|
|
198
|
+
required: ["jsonrpc", "id", "result"],
|
|
199
|
+
type: "object"
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
function eventDeliverPayload(eventSchema) {
|
|
203
|
+
return {
|
|
204
|
+
additionalProperties: !1,
|
|
205
|
+
properties: {
|
|
206
|
+
jsonrpc: { const: JSON_RPC_VERSION, type: "string" },
|
|
207
|
+
method: { const: EVENT_DELIVER_METHOD, type: "string" },
|
|
208
|
+
params: {
|
|
209
|
+
additionalProperties: !1,
|
|
210
|
+
properties: {
|
|
211
|
+
envelope: eventSchema,
|
|
212
|
+
subscriptionId: { type: "string" }
|
|
213
|
+
},
|
|
214
|
+
required: ["subscriptionId", "envelope"],
|
|
215
|
+
type: "object"
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
required: ["jsonrpc", "method", "params"],
|
|
219
|
+
type: "object"
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
function terminatedPayload() {
|
|
223
|
+
return {
|
|
224
|
+
additionalProperties: !1,
|
|
225
|
+
properties: {
|
|
226
|
+
jsonrpc: { const: JSON_RPC_VERSION, type: "string" },
|
|
227
|
+
method: { const: EVENTS_TERMINATED_METHOD, type: "string" },
|
|
228
|
+
params: {
|
|
229
|
+
additionalProperties: !1,
|
|
230
|
+
properties: {
|
|
231
|
+
fault: {
|
|
232
|
+
type: "object"
|
|
233
|
+
},
|
|
234
|
+
reason: SUBSCRIPTION_TERMINATION_REASON_SCHEMA,
|
|
235
|
+
subscriptionId: { type: "string" }
|
|
236
|
+
},
|
|
237
|
+
required: ["subscriptionId", "reason"],
|
|
238
|
+
type: "object"
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
required: ["jsonrpc", "method", "params"],
|
|
242
|
+
type: "object"
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
function jsonRpcErrorPayload() {
|
|
246
|
+
return {
|
|
247
|
+
additionalProperties: !1,
|
|
248
|
+
properties: {
|
|
249
|
+
error: { $ref: "#/components/schemas/JsonRpcError" },
|
|
250
|
+
id: JSON_RPC_ID_SCHEMA,
|
|
251
|
+
jsonrpc: { const: JSON_RPC_VERSION, type: "string" }
|
|
252
|
+
},
|
|
253
|
+
required: ["jsonrpc", "id", "error"],
|
|
254
|
+
type: "object"
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
function eventJsonSchema(operation, definitionSchemaToJsonSchema) {
|
|
258
|
+
if (operation.eventSchema === void 0)
|
|
259
|
+
return { type: "object" };
|
|
260
|
+
return definitionSchemaToJsonSchema(operation.eventSchema, "output");
|
|
261
|
+
}
|
|
262
|
+
function jsonPointerEscape(value) {
|
|
263
|
+
return value.replaceAll("~", "~0").replaceAll("/", "~1");
|
|
264
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AsyncAPI 3.0 document generator driven by the operation registry.
|
|
3
|
+
*
|
|
4
|
+
* @module server/asyncapi
|
|
5
|
+
*/
|
|
6
|
+
import { type DiscoveryInfo } from './discovery-info.ts';
|
|
7
|
+
import type { OperationRegistry } from './operation-catalog.ts';
|
|
8
|
+
import { type UnknownRestBinding } from './rest-bindings.ts';
|
|
9
|
+
export type AsyncApiOptions = {
|
|
10
|
+
registry: OperationRegistry;
|
|
11
|
+
/** REST bindings used to resolve SSE channel addresses. Defaults to `createLiveRestBindings()`. */
|
|
12
|
+
restBindings?: ReadonlyArray<UnknownRestBinding>;
|
|
13
|
+
title?: string;
|
|
14
|
+
version?: string;
|
|
15
|
+
discoveryInfo?: DiscoveryInfo;
|
|
16
|
+
serverUrl?: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Generate an AsyncAPI 3.0 document from the operation registry.
|
|
20
|
+
*
|
|
21
|
+
* Only discoverable operations with kind `subscription` or `stream` are
|
|
22
|
+
* listed. The returned object is deterministic: object keys are recursively
|
|
23
|
+
* sorted, and identical component messages are deduplicated by canonical JSON.
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateAsyncApiDocument(options: AsyncApiOptions): Record<string, unknown>;
|