@temelj/workflow 0.0.0-alpha.2 → 0.0.0-alpha.4
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/README.md +394 -2
- package/dist/attributes.d.mts +11 -9
- package/dist/attributes.mjs +23 -5
- package/dist/bundle.d.mts +5 -23
- package/dist/bundle.mjs +2 -18
- package/dist/client/create.d.mts +26 -23
- package/dist/client/create.mjs +26 -32
- package/dist/client/facades.d.mts +12 -18
- package/dist/client/facades.mjs +102 -93
- package/dist/client/mod.mjs +1 -2
- package/dist/client/run-handle.d.mts +17 -54
- package/dist/client/run-handle.mjs +35 -105
- package/dist/client/worker-options.d.mts +8 -8
- package/dist/client/worker-options.mjs +11 -11
- package/dist/cloudflare/cloudflare.d.mts +4 -5
- package/dist/cloudflare/codec.d.mts +28 -13
- package/dist/cloudflare/codec.mjs +40 -17
- package/dist/cloudflare/entrypoint.d.mts +3 -4
- package/dist/cloudflare/entrypoint.mjs +4 -3
- package/dist/cloudflare/execution.d.mts +3 -4
- package/dist/cloudflare/execution.mjs +20 -13
- package/dist/cloudflare/host.d.mts +6 -7
- package/dist/cloudflare/host.mjs +7 -6
- package/dist/cloudflare/mod.d.mts +4 -4
- package/dist/cloudflare/mod.mjs +2 -2
- package/dist/cloudflare/name.d.mts +3 -4
- package/dist/cloudflare/name.mjs +3 -3
- package/dist/cloudflare/registry.d.mts +3 -23
- package/dist/cloudflare/registry.mjs +2 -20
- package/dist/cloudflare/runtime.d.mts +11 -18
- package/dist/cloudflare/runtime.mjs +52 -73
- package/dist/cloudflare/step.d.mts +6 -6
- package/dist/cloudflare/step.mjs +69 -57
- package/dist/cloudflare/types.d.mts +17 -36
- package/dist/collection.d.mts +8 -11
- package/dist/collection.mjs +10 -14
- package/dist/compiled-function.d.mts +14 -19
- package/dist/compiled-function.mjs +12 -24
- package/dist/compiled.d.mts +4 -0
- package/dist/compiled.mjs +4 -0
- package/dist/compiler/ast.d.mts +26 -0
- package/dist/{vite → compiler}/ast.mjs +24 -16
- package/dist/{vite → compiler}/error.d.mts +4 -6
- package/dist/{vite → compiler}/error.mjs +14 -16
- package/dist/compiler/manifest.d.mts +6 -0
- package/dist/{vite → compiler}/manifest.mjs +9 -7
- package/dist/compiler/plugin.d.mts +7 -0
- package/dist/{vite → compiler}/plugin.mjs +45 -46
- package/dist/compiler/safety.d.mts +12 -0
- package/dist/{vite → compiler}/safety.mjs +5 -11
- package/dist/{vite → compiler}/source-edit.d.mts +3 -4
- package/dist/{vite → compiler}/source-edit.mjs +1 -1
- package/dist/{vite → compiler}/source-map.d.mts +4 -3
- package/dist/{vite → compiler}/source-map.mjs +3 -3
- package/dist/compiler/source.d.mts +7 -0
- package/dist/{vite → compiler}/source.mjs +1 -1
- package/dist/compiler/transform.d.mts +12 -0
- package/dist/{vite → compiler}/transform.mjs +37 -38
- package/dist/definition.d.mts +17 -25
- package/dist/definition.mjs +19 -35
- package/dist/engine/child-workflow.d.mts +5 -9
- package/dist/engine/child-workflow.mjs +46 -67
- package/dist/engine/command-identity.d.mts +5 -6
- package/dist/engine/command-identity.mjs +9 -5
- package/dist/engine/context.d.mts +17 -0
- package/dist/engine/create.d.mts +36 -94
- package/dist/engine/create.mjs +55 -260
- package/dist/engine/deterministic.d.mts +6 -11
- package/dist/engine/deterministic.mjs +47 -68
- package/dist/engine/durable-command.d.mts +5 -5
- package/dist/engine/durable-command.mjs +2 -2
- package/dist/engine/execution-service.d.mts +20 -24
- package/dist/engine/execution-service.mjs +54 -52
- package/dist/engine/hooks.d.mts +17 -39
- package/dist/engine/hooks.mjs +73 -94
- package/dist/engine/inspection.d.mts +23 -15
- package/dist/engine/inspection.mjs +55 -29
- package/dist/engine/lifecycle.d.mts +6 -12
- package/dist/engine/lifecycle.mjs +5 -5
- package/dist/engine/lock-replay.d.mts +8 -15
- package/dist/engine/lock-replay.mjs +12 -25
- package/dist/engine/lock.d.mts +10 -15
- package/dist/engine/lock.mjs +65 -51
- package/dist/engine/message.d.mts +14 -34
- package/dist/engine/message.mjs +94 -127
- package/dist/engine/observation.d.mts +9 -11
- package/dist/engine/observation.mjs +18 -27
- package/dist/engine/replay.d.mts +18 -19
- package/dist/engine/replay.mjs +32 -56
- package/dist/engine/resume.d.mts +16 -0
- package/dist/engine/resume.mjs +24 -0
- package/dist/engine/retry.d.mts +15 -19
- package/dist/engine/retry.mjs +17 -17
- package/dist/engine/run-data.d.mts +4 -8
- package/dist/engine/run-data.mjs +24 -22
- package/dist/engine/run-service.d.mts +24 -33
- package/dist/engine/run-service.mjs +125 -93
- package/dist/engine/run-utils.d.mts +11 -13
- package/dist/engine/run-utils.mjs +23 -46
- package/dist/engine/schedule.d.mts +8 -22
- package/dist/engine/schedule.mjs +37 -34
- package/dist/engine/serialization.d.mts +9 -6
- package/dist/engine/serialization.mjs +30 -21
- package/dist/engine/signals.d.mts +23 -0
- package/dist/engine/signals.mjs +41 -0
- package/dist/engine/start.d.mts +18 -0
- package/dist/engine/start.mjs +88 -0
- package/dist/engine/state.d.mts +37 -67
- package/dist/engine/state.mjs +127 -282
- package/dist/engine/step-api.d.mts +5 -8
- package/dist/engine/step-api.mjs +16 -16
- package/dist/engine/stream-reader.d.mts +12 -0
- package/dist/engine/stream-reader.mjs +154 -0
- package/dist/engine/stream.d.mts +9 -54
- package/dist/engine/stream.mjs +54 -196
- package/dist/engine/summary/recovery.d.mts +35 -0
- package/dist/engine/summary/recovery.mjs +363 -0
- package/dist/engine/summary/runs.d.mts +43 -0
- package/dist/engine/summary/runs.mjs +294 -0
- package/dist/engine/summary/step-attempts.d.mts +5 -10
- package/dist/engine/summary/step-attempts.mjs +157 -36
- package/dist/engine/summary/tally.d.mts +44 -0
- package/dist/engine/summary/tally.mjs +142 -0
- package/dist/engine/task.d.mts +4 -5
- package/dist/engine/task.mjs +40 -48
- package/dist/errors/base.d.mts +17 -77
- package/dist/errors/base.mjs +26 -327
- package/dist/errors/capability.d.mts +3 -6
- package/dist/errors/capability.mjs +4 -8
- package/dist/errors/codes.d.mts +116 -0
- package/dist/{types/error-code.mjs → errors/codes.mjs} +2 -17
- package/dist/errors/definition.d.mts +3 -17
- package/dist/errors/definition.mjs +5 -42
- package/dist/errors/failures.d.mts +17 -51
- package/dist/errors/failures.mjs +35 -102
- package/dist/errors/hook.d.mts +5 -9
- package/dist/errors/hook.mjs +4 -16
- package/dist/errors/implementation.d.mts +3 -6
- package/dist/errors/implementation.mjs +7 -12
- package/dist/errors/lock.d.mts +7 -20
- package/dist/errors/lock.mjs +8 -44
- package/dist/errors/message.d.mts +14 -59
- package/dist/errors/message.mjs +13 -39
- package/dist/errors/mod.d.mts +4 -5
- package/dist/errors/mod.mjs +5 -7
- package/dist/errors/records.d.mts +10 -4
- package/dist/errors/records.mjs +256 -256
- package/dist/errors/run.d.mts +27 -68
- package/dist/errors/run.mjs +31 -85
- package/dist/errors/schedule.d.mts +7 -18
- package/dist/errors/schedule.mjs +7 -39
- package/dist/errors/step.d.mts +12 -45
- package/dist/errors/step.mjs +13 -34
- package/dist/errors/stream.d.mts +8 -16
- package/dist/errors/stream.mjs +7 -41
- package/dist/esbuild.d.mts +6 -4
- package/dist/esbuild.mjs +2 -1
- package/dist/events/descriptors.d.mts +12 -241
- package/dist/events/descriptors.mjs +12 -5
- package/dist/history/projection.d.mts +4 -6
- package/dist/history/projection.mjs +22 -26
- package/dist/history/replay-projection.d.mts +44 -48
- package/dist/history/replay-projection.mjs +41 -50
- package/dist/history/{mod.d.mts → replay.d.mts} +16 -21
- package/dist/history/{mod.mjs → replay.mjs} +21 -25
- package/dist/history/sequencer.d.mts +10 -11
- package/dist/history/sequencer.mjs +11 -7
- package/dist/history/step-attempts.d.mts +4 -7
- package/dist/history/step-attempts.mjs +8 -9
- package/dist/history/timeline.d.mts +4 -13
- package/dist/history/timeline.mjs +46 -265
- package/dist/history/validator.d.mts +5 -7
- package/dist/history/validator.mjs +9 -24
- package/dist/hook-token.d.mts +7 -0
- package/dist/hook-token.mjs +32 -0
- package/dist/ids.d.mts +8 -0
- package/dist/ids.mjs +21 -0
- package/dist/message-options.d.mts +11 -5
- package/dist/message-options.mjs +9 -7
- package/dist/mod.d.mts +32 -36
- package/dist/mod.mjs +9 -13
- package/dist/otel/metrics.d.mts +31 -0
- package/dist/otel/metrics.mjs +60 -0
- package/dist/otel/mod.d.mts +3 -0
- package/dist/otel/mod.mjs +3 -0
- package/dist/otel/spans.d.mts +24 -0
- package/dist/otel/spans.mjs +218 -0
- package/dist/otel/support.d.mts +15 -8
- package/dist/otel/support.mjs +18 -40
- package/dist/{otel.d.mts → otel/telemetry.d.mts} +5 -6
- package/dist/otel/telemetry.mjs +305 -0
- package/dist/pagination.d.mts +6 -12
- package/dist/pagination.mjs +10 -14
- package/dist/registry.d.mts +8 -5
- package/dist/registry.mjs +19 -10
- package/dist/rolldown.d.mts +6 -4
- package/dist/rolldown.mjs +2 -1
- package/dist/rollup.d.mts +6 -4
- package/dist/rollup.mjs +2 -1
- package/dist/rspack.d.mts +6 -4
- package/dist/rspack.mjs +2 -1
- package/dist/run-status.d.mts +29 -0
- package/dist/run-status.mjs +42 -0
- package/dist/schema/common.d.mts +22 -0
- package/dist/schema/common.mjs +54 -0
- package/dist/schema/error.d.mts +17 -0
- package/dist/schema/error.mjs +39 -0
- package/dist/schema/events.d.mts +446 -0
- package/dist/schema/events.mjs +235 -0
- package/dist/schema/pagination.d.mts +5 -0
- package/dist/schema/pagination.mjs +11 -0
- package/dist/schema/persisted-value.d.mts +8 -0
- package/dist/schema/persisted-value.mjs +94 -0
- package/dist/schema/run.d.mts +51 -0
- package/dist/schema/run.mjs +88 -0
- package/dist/schema/store.d.mts +94 -0
- package/dist/schema/store.mjs +116 -0
- package/dist/step-definition.d.mts +4 -9
- package/dist/step-definition.mjs +2 -2
- package/dist/store/capabilities.d.mts +8 -9
- package/dist/store/capabilities.mjs +7 -7
- package/dist/store/cleanup.d.mts +9 -14
- package/dist/store/cleanup.mjs +86 -85
- package/dist/store/create.d.mts +28 -29
- package/dist/store/create.mjs +10 -11
- package/dist/store/events.d.mts +48 -0
- package/dist/store/events.mjs +263 -0
- package/dist/store/indexes.d.mts +25 -0
- package/dist/store/indexes.mjs +282 -0
- package/dist/store/instrumentation.d.mts +2 -3
- package/dist/store/instrumentation.mjs +30 -30
- package/dist/store/lock.d.mts +4 -5
- package/dist/store/lock.mjs +5 -7
- package/dist/store/materialization.d.mts +10 -17
- package/dist/store/materialization.mjs +39 -33
- package/dist/store/mod.d.mts +3 -3
- package/dist/store/mod.mjs +2 -2
- package/dist/store/query.d.mts +13 -17
- package/dist/store/query.mjs +13 -13
- package/dist/store/run.d.mts +25 -34
- package/dist/store/run.mjs +67 -108
- package/dist/store/schedule.d.mts +6 -8
- package/dist/store/schedule.mjs +11 -11
- package/dist/store/step-attempt.d.mts +9 -12
- package/dist/store/step-attempt.mjs +9 -9
- package/dist/store/storage-value.d.mts +3 -3
- package/dist/store/storage-value.mjs +17 -1
- package/dist/store/validation.d.mts +17 -20
- package/dist/store/validation.mjs +30 -33
- package/dist/store-keys.d.mts +35 -47
- package/dist/store-keys.mjs +9 -17
- package/dist/telemetry.d.mts +16 -16
- package/dist/telemetry.mjs +3 -3
- package/dist/temporal.d.mts +11 -16
- package/dist/temporal.mjs +8 -9
- package/dist/timer.d.mts +12 -10
- package/dist/timer.mjs +11 -3
- package/dist/types/cleanup.d.mts +13 -50
- package/dist/types/cleanup.mjs +1 -22
- package/dist/types/client.d.mts +101 -162
- package/dist/types/{vite.d.mts → compiler.d.mts} +17 -24
- package/dist/types/compiler.mjs +1 -0
- package/dist/types/definition.d.mts +22 -34
- package/dist/types/engine-options.d.mts +10 -17
- package/dist/types/engine.d.mts +15 -274
- package/dist/types/error.d.mts +15 -217
- package/dist/types/error.mjs +1 -48
- package/dist/types/events.d.mts +59 -2730
- package/dist/types/events.mjs +1 -283
- package/dist/types/hook.d.mts +27 -85
- package/dist/types/hook.mjs +1 -66
- package/dist/types/ids.d.mts +9 -0
- package/dist/types/ids.mjs +1 -0
- package/dist/types/lock.d.mts +8 -26
- package/dist/types/lock.mjs +1 -18
- package/dist/types/message.d.mts +29 -43
- package/dist/types/observation.d.mts +43 -58
- package/dist/types/pagination.d.mts +6 -22
- package/dist/types/pagination.mjs +1 -13
- package/dist/types/result.d.mts +11 -43
- package/dist/types/retry.d.mts +7 -14
- package/dist/types/run-list.d.mts +9 -11
- package/dist/types/run-options.d.mts +25 -32
- package/dist/types/run.d.mts +35 -315
- package/dist/types/run.mjs +1 -207
- package/dist/types/runtime.d.mts +33 -145
- package/dist/types/runtime.mjs +1 -21
- package/dist/types/schedule.d.mts +13 -72
- package/dist/types/schedule.mjs +1 -48
- package/dist/types/step-attempts.d.mts +65 -261
- package/dist/types/step-attempts.mjs +1 -43
- package/dist/types/step.d.mts +66 -77
- package/dist/types/step.mjs +1 -5
- package/dist/types/store.d.mts +50 -182
- package/dist/types/stream.d.mts +19 -40
- package/dist/types/summary.d.mts +174 -278
- package/dist/types/telemetry.d.mts +23 -28
- package/dist/types/telemetry.mjs +1 -9
- package/dist/types/timeline.d.mts +46 -233
- package/dist/types/worker.d.mts +22 -29
- package/dist/values.d.mts +15 -0
- package/dist/values.mjs +57 -0
- package/dist/vite.d.mts +5 -6
- package/dist/vite.mjs +3 -4
- package/dist/webpack.d.mts +6 -4
- package/dist/webpack.mjs +2 -1
- package/dist/worker/error.d.mts +2 -9
- package/dist/worker/error.mjs +20 -32
- package/dist/worker/missing-implementation.d.mts +19 -0
- package/dist/worker/missing-implementation.mjs +62 -0
- package/dist/worker/worker.d.mts +18 -0
- package/dist/{worker.mjs → worker/worker.mjs} +64 -118
- package/package.json +28 -47
- package/dist/engine/execution-api.d.mts +0 -29
- package/dist/engine/execution-api.mjs +0 -33
- package/dist/engine/inspection-api.d.mts +0 -34
- package/dist/engine/inspection-api.mjs +0 -78
- package/dist/engine/mod.d.mts +0 -4
- package/dist/engine/mod.mjs +0 -2
- package/dist/engine/recovery.d.mts +0 -26
- package/dist/engine/recovery.mjs +0 -92
- package/dist/engine/retry-policy.d.mts +0 -4
- package/dist/engine/retry-policy.mjs +0 -4
- package/dist/engine/start-api.d.mts +0 -30
- package/dist/engine/start-api.mjs +0 -99
- package/dist/engine/summary/active-events.d.mts +0 -34
- package/dist/engine/summary/active-events.mjs +0 -69
- package/dist/engine/summary/child-workflow-runs.d.mts +0 -24
- package/dist/engine/summary/child-workflow-runs.mjs +0 -138
- package/dist/engine/summary/child-workflow-waits.d.mts +0 -21
- package/dist/engine/summary/child-workflow-waits.mjs +0 -67
- package/dist/engine/summary/recovery-child-workflow-waits.d.mts +0 -11
- package/dist/engine/summary/recovery-child-workflow-waits.mjs +0 -89
- package/dist/engine/summary/recovery-due-runs.d.mts +0 -16
- package/dist/engine/summary/recovery-due-runs.mjs +0 -52
- package/dist/engine/summary/recovery-failed-runs.d.mts +0 -14
- package/dist/engine/summary/recovery-failed-runs.mjs +0 -33
- package/dist/engine/summary/recovery-lease-runs.d.mts +0 -16
- package/dist/engine/summary/recovery-lease-runs.mjs +0 -69
- package/dist/engine/summary/recovery-locks.d.mts +0 -18
- package/dist/engine/summary/recovery-locks.mjs +0 -100
- package/dist/engine/summary/recovery-message-waits.d.mts +0 -11
- package/dist/engine/summary/recovery-message-waits.mjs +0 -74
- package/dist/engine/summary/recovery-retry-runs.d.mts +0 -17
- package/dist/engine/summary/recovery-retry-runs.mjs +0 -65
- package/dist/engine/summary/recovery-run-timestamps.d.mts +0 -13
- package/dist/engine/summary/recovery-run-timestamps.mjs +0 -18
- package/dist/engine/summary/recovery-runs.d.mts +0 -23
- package/dist/engine/summary/recovery-runs.mjs +0 -54
- package/dist/engine/summary/recovery-schedules.d.mts +0 -10
- package/dist/engine/summary/recovery-schedules.mjs +0 -46
- package/dist/engine/summary/recovery-sleep-waits.d.mts +0 -10
- package/dist/engine/summary/recovery-sleep-waits.mjs +0 -53
- package/dist/engine/summary/recovery-waits.d.mts +0 -21
- package/dist/engine/summary/recovery-waits.mjs +0 -29
- package/dist/engine/summary/run-availability.d.mts +0 -13
- package/dist/engine/summary/run-availability.mjs +0 -37
- package/dist/engine/summary/run-cleanup.d.mts +0 -14
- package/dist/engine/summary/run-cleanup.mjs +0 -44
- package/dist/engine/summary/run-failure.d.mts +0 -14
- package/dist/engine/summary/run-failure.mjs +0 -62
- package/dist/engine/summary/run-hooks.d.mts +0 -14
- package/dist/engine/summary/run-hooks.mjs +0 -63
- package/dist/engine/summary/run-lease.d.mts +0 -11
- package/dist/engine/summary/run-lease.mjs +0 -64
- package/dist/engine/summary/run-message-waits.d.mts +0 -15
- package/dist/engine/summary/run-message-waits.mjs +0 -62
- package/dist/engine/summary/run-metrics.d.mts +0 -31
- package/dist/engine/summary/run-metrics.mjs +0 -93
- package/dist/engine/summary/run-retry.d.mts +0 -9
- package/dist/engine/summary/run-retry.mjs +0 -69
- package/dist/engine/summary/run-sleeps.d.mts +0 -15
- package/dist/engine/summary/run-sleeps.mjs +0 -61
- package/dist/engine/summary/run-state.d.mts +0 -26
- package/dist/engine/summary/run-state.mjs +0 -48
- package/dist/engine/summary/run-status.d.mts +0 -16
- package/dist/engine/summary/run-status.mjs +0 -35
- package/dist/engine/summary/run-streams.d.mts +0 -14
- package/dist/engine/summary/run-streams.mjs +0 -46
- package/dist/engine/summary/run-transition.d.mts +0 -9
- package/dist/engine/summary/run-transition.mjs +0 -39
- package/dist/engine/summary/run-workflow.d.mts +0 -9
- package/dist/engine/summary/run-workflow.mjs +0 -47
- package/dist/engine/summary/step-attempt-active-child-workflows.d.mts +0 -13
- package/dist/engine/summary/step-attempt-active-child-workflows.mjs +0 -55
- package/dist/engine/summary/step-attempt-active-fields.d.mts +0 -23
- package/dist/engine/summary/step-attempt-active-fields.mjs +0 -14
- package/dist/engine/summary/step-attempt-active-message-waits.d.mts +0 -12
- package/dist/engine/summary/step-attempt-active-message-waits.mjs +0 -47
- package/dist/engine/summary/step-attempt-active-sleeps.d.mts +0 -19
- package/dist/engine/summary/step-attempt-active-sleeps.mjs +0 -44
- package/dist/engine/summary/step-attempt-buckets.d.mts +0 -22
- package/dist/engine/summary/step-attempt-buckets.mjs +0 -152
- package/dist/engine/summary/step-attempt-failure.d.mts +0 -12
- package/dist/engine/summary/step-attempt-failure.mjs +0 -61
- package/dist/engine/summary/step-attempt-lifecycle.d.mts +0 -13
- package/dist/engine/summary/step-attempt-lifecycle.mjs +0 -19
- package/dist/engine/summary.d.mts +0 -32
- package/dist/engine/summary.mjs +0 -37
- package/dist/errors/details.d.mts +0 -13
- package/dist/errors/details.mjs +0 -66
- package/dist/errors/record-view.d.mts +0 -11
- package/dist/errors/record-view.mjs +0 -24
- package/dist/errors/runtime.d.mts +0 -12
- package/dist/errors/runtime.mjs +0 -24
- package/dist/events/mod.d.mts +0 -3
- package/dist/events/mod.mjs +0 -2
- package/dist/history/attempt-key.d.mts +0 -6
- package/dist/history/attempt-key.mjs +0 -7
- package/dist/inspection/mod.d.mts +0 -5
- package/dist/inspection/mod.mjs +0 -3
- package/dist/otel.mjs +0 -590
- package/dist/runtime.d.mts +0 -35
- package/dist/runtime.mjs +0 -198
- package/dist/store/append-projection.d.mts +0 -15
- package/dist/store/append-projection.mjs +0 -26
- package/dist/store/compaction.d.mts +0 -5
- package/dist/store/compaction.mjs +0 -8
- package/dist/store/event-append-project.d.mts +0 -15
- package/dist/store/event-append-project.mjs +0 -77
- package/dist/store/event-append.d.mts +0 -37
- package/dist/store/event-append.mjs +0 -80
- package/dist/store/event-history.d.mts +0 -22
- package/dist/store/event-history.mjs +0 -75
- package/dist/store/event.d.mts +0 -10
- package/dist/store/event.mjs +0 -28
- package/dist/store/idempotency.d.mts +0 -10
- package/dist/store/idempotency.mjs +0 -167
- package/dist/store/message-index.d.mts +0 -21
- package/dist/store/message-index.mjs +0 -122
- package/dist/store/revision.d.mts +0 -4
- package/dist/store/revision.mjs +0 -7
- package/dist/store/schema.d.mts +0 -14
- package/dist/store/schema.mjs +0 -17
- package/dist/types/common.d.mts +0 -20
- package/dist/types/common.mjs +0 -16
- package/dist/types/error-code.d.mts +0 -256
- package/dist/types/message-id.d.mts +0 -7
- package/dist/types/message-id.mjs +0 -5
- package/dist/types/run-id.d.mts +0 -7
- package/dist/types/run-id.mjs +0 -5
- package/dist/types/step-id.d.mts +0 -7
- package/dist/types/step-id.mjs +0 -5
- package/dist/types/stream-id.d.mts +0 -7
- package/dist/types/stream-id.mjs +0 -5
- package/dist/types/worker-id.d.mts +0 -7
- package/dist/types/worker-id.mjs +0 -5
- package/dist/utility.d.mts +0 -49
- package/dist/utility.mjs +0 -122
- package/dist/vite/ast.d.mts +0 -23
- package/dist/vite/generated-name.d.mts +0 -7
- package/dist/vite/generated-name.mjs +0 -9
- package/dist/vite/manifest.d.mts +0 -7
- package/dist/vite/plugin.d.mts +0 -7
- package/dist/vite/safety.d.mts +0 -12
- package/dist/vite/source.d.mts +0 -7
- package/dist/vite/transform.d.mts +0 -7
- package/dist/webhook.d.mts +0 -16
- package/dist/webhook.mjs +0 -17
- package/dist/worker.d.mts +0 -19
- /package/dist/{types/vite.mjs → engine/context.mjs} +0 -0
package/dist/engine/lock.d.mts
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
import { AcquireLockOptions, LockRecord, ReleaseLockOptions } from "../types/lock.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { StepLockApi, StepRunConfig, WorkflowStepContext } from "../types/step.mjs";
|
|
3
|
+
import { WorkflowStore } from "../types/store.mjs";
|
|
4
|
+
import { ExecutionEnvironment } from "../types/engine.mjs";
|
|
5
5
|
//#region src/engine/lock.d.ts
|
|
6
|
-
|
|
7
|
-
type WorkflowLockRunWakeStore = WorkflowRunListerRepository & WorkflowRunUnconditionalWriterRepository;
|
|
8
|
-
type WorkflowLockStepAttemptWakeStore = WorkflowStepAttemptLookup;
|
|
9
|
-
type WorkflowLockWakeStore = WorkflowLockRunWakeStore & WorkflowLockStepAttemptWakeStore;
|
|
10
|
-
type WorkflowLockReleaseStore = WorkflowLockCommandStore & WorkflowLockWakeStore;
|
|
11
|
-
interface WorkflowStepLockEngine {
|
|
6
|
+
interface StepLockEngine {
|
|
12
7
|
acquireLock(key: string, options: AcquireLockOptions): Promise<LockRecord>;
|
|
13
8
|
releaseLock(key: string, options: ReleaseLockOptions): Promise<LockRecord>;
|
|
14
9
|
}
|
|
15
|
-
type
|
|
16
|
-
declare function
|
|
17
|
-
declare function acquireLock(store:
|
|
18
|
-
declare function releaseLock(store:
|
|
19
|
-
declare function releaseStaleLock(store:
|
|
10
|
+
type StepLockRunner = <TOutput>(config: StepRunConfig, callback: (context: WorkflowStepContext) => Promise<TOutput> | TOutput) => Promise<TOutput>;
|
|
11
|
+
export declare function createStepLockApi(environment: ExecutionEnvironment, engine: StepLockEngine, run: StepLockRunner): StepLockApi;
|
|
12
|
+
export declare function acquireLock(store: WorkflowStore, key: string, lockOptions: AcquireLockOptions, acquiredAt: Temporal.Instant): Promise<LockRecord>;
|
|
13
|
+
export declare function releaseLock(store: WorkflowStore, key: string, lockOptions: ReleaseLockOptions, releasedAt: Temporal.Instant): Promise<LockRecord>;
|
|
14
|
+
export declare function releaseStaleLock(store: WorkflowStore, key: string, releasedAt: Temporal.Instant): Promise<LockRecord>;
|
|
20
15
|
//#endregion
|
|
21
|
-
export {
|
|
16
|
+
export {};
|
package/dist/engine/lock.mjs
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
import { WorkflowErrorCode } from "../errors/codes.mjs";
|
|
1
2
|
import { WorkflowOptionsError } from "../errors/base.mjs";
|
|
2
3
|
import { WorkflowNonRetryableError, WorkflowRetryableError } from "../errors/failures.mjs";
|
|
3
|
-
import { isPositiveSafeInteger, positiveSafeInteger } from "../utility.mjs";
|
|
4
4
|
import { WorkflowLockError, WorkflowLockStateError } from "../errors/lock.mjs";
|
|
5
|
+
import { matchesWorkflowError } from "../errors/records.mjs";
|
|
5
6
|
import "../errors/mod.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { isPositiveSafeInteger, positiveSafeInteger } from "../values.mjs";
|
|
8
|
+
import { Suspended } from "./signals.mjs";
|
|
9
|
+
import { patchRun } from "./state.mjs";
|
|
10
|
+
import { recordDeterministicValue } from "./deterministic.mjs";
|
|
11
|
+
import { parseLockWaitDeadlineReplay, requireLockReleaseReplayMatches, requireLockReplayMatches, requireLockWaitReplayMatches } from "./lock-replay.mjs";
|
|
9
12
|
//#region src/engine/lock.ts
|
|
10
|
-
function
|
|
13
|
+
function createStepLockApi(environment, engine, run) {
|
|
11
14
|
const { runId, history } = environment;
|
|
12
15
|
const acquire = async (commandId, key, options) => {
|
|
13
16
|
const requestedLeaseDuration = positiveSafeInteger(options.leaseDuration.total({ unit: "millisecond" }), "Workflow lock lease duration");
|
|
@@ -17,13 +20,14 @@ function createWorkflowStepLockApi(environment, engine, run) {
|
|
|
17
20
|
commandId,
|
|
18
21
|
retry: { maximumAttempts: options.wait === true ? 0 : 1 }
|
|
19
22
|
}, async (context) => {
|
|
20
|
-
|
|
23
|
+
const acquireOptions = {
|
|
21
24
|
...engineLockOptions,
|
|
22
25
|
holderId: options.holderId ?? runId,
|
|
23
26
|
holderRunId: runId,
|
|
24
27
|
holderStepId: context.step.id,
|
|
25
|
-
|
|
26
|
-
}
|
|
28
|
+
waitDeadlineAt
|
|
29
|
+
};
|
|
30
|
+
return await engine.acquireLock(key, acquireOptions);
|
|
27
31
|
});
|
|
28
32
|
requireLockReplayMatches(lock, {
|
|
29
33
|
key,
|
|
@@ -43,10 +47,11 @@ function createWorkflowStepLockApi(environment, engine, run) {
|
|
|
43
47
|
commandId,
|
|
44
48
|
retry: { maximumAttempts: 1 }
|
|
45
49
|
}, async () => {
|
|
46
|
-
|
|
50
|
+
const releaseOptions = {
|
|
47
51
|
holderId,
|
|
48
|
-
|
|
49
|
-
}
|
|
52
|
+
now: options?.now
|
|
53
|
+
};
|
|
54
|
+
return await engine.releaseLock(key, releaseOptions);
|
|
50
55
|
});
|
|
51
56
|
requireLockReleaseReplayMatches(lock, {
|
|
52
57
|
key,
|
|
@@ -61,17 +66,19 @@ function createWorkflowStepLockApi(environment, engine, run) {
|
|
|
61
66
|
const lock = await acquire(`${commandId}:acquire`, key, options);
|
|
62
67
|
try {
|
|
63
68
|
const output = await callback(lock);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
69
|
+
const releaseOptions = {
|
|
70
|
+
holderId: options.holderId,
|
|
71
|
+
now: options.now
|
|
72
|
+
};
|
|
73
|
+
await release(`${commandId}:release`, key, releaseOptions);
|
|
68
74
|
return output;
|
|
69
75
|
} catch (error) {
|
|
70
|
-
if (error instanceof
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
76
|
+
if (error instanceof Suspended) throw error;
|
|
77
|
+
const releaseOptions = {
|
|
78
|
+
holderId: options.holderId,
|
|
79
|
+
now: options.now
|
|
80
|
+
};
|
|
81
|
+
await release(`${commandId}:release`, key, releaseOptions);
|
|
75
82
|
throw error;
|
|
76
83
|
}
|
|
77
84
|
}
|
|
@@ -84,70 +91,75 @@ async function acquireLock(store, key, lockOptions, acquiredAt) {
|
|
|
84
91
|
const existing = await store.getLock(key);
|
|
85
92
|
if (existing !== void 0 && !(existing.holderId === holderId || existing.releasedAt !== void 0) && Temporal.Instant.compare(existing.leaseExpiresAt, acquiredAt) > 0) {
|
|
86
93
|
if (lockOptions.wait === true) {
|
|
87
|
-
if (waitDeadlineAt !== void 0 && Temporal.Instant.compare(waitDeadlineAt, acquiredAt) <= 0) WorkflowNonRetryableError
|
|
94
|
+
if (waitDeadlineAt !== void 0 && Temporal.Instant.compare(waitDeadlineAt, acquiredAt) <= 0) throw new WorkflowNonRetryableError(`Workflow lock wait timed out: ${key}`, { details: {
|
|
88
95
|
key,
|
|
89
96
|
holderId,
|
|
90
97
|
currentHolderId: existing.holderId,
|
|
91
98
|
waitDeadlineAt: waitDeadlineAt.toString()
|
|
92
99
|
} });
|
|
93
100
|
const retryAt = workflowLockRetryAt(existing, acquiredAt, waitDeadlineAt);
|
|
94
|
-
|
|
101
|
+
const details = {
|
|
102
|
+
key,
|
|
103
|
+
holderId,
|
|
104
|
+
currentHolderId: existing.holderId,
|
|
105
|
+
waitDeadlineAt: waitDeadlineAt !== void 0 ? waitDeadlineAt.toString() : void 0
|
|
106
|
+
};
|
|
107
|
+
throw new WorkflowRetryableError(`Workflow lock is already held: ${key}`, {
|
|
95
108
|
retryAt,
|
|
109
|
+
code: WorkflowErrorCode.LOCK_ALREADY_HELD,
|
|
96
110
|
details: {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
currentHolderId: existing.holderId,
|
|
100
|
-
...waitDeadlineAt === void 0 ? {} : { waitDeadlineAt: waitDeadlineAt.toString() }
|
|
111
|
+
...details,
|
|
112
|
+
key
|
|
101
113
|
}
|
|
102
114
|
});
|
|
103
115
|
}
|
|
104
|
-
WorkflowLockError
|
|
116
|
+
throw new WorkflowLockError(`Workflow lock is already held: ${key}`, WorkflowErrorCode.LOCK_ALREADY_HELD_WITHOUT_WAIT, { key });
|
|
105
117
|
}
|
|
106
118
|
const lock = {
|
|
107
119
|
key,
|
|
108
120
|
namespace: store.namespace,
|
|
109
121
|
holderId,
|
|
110
|
-
|
|
111
|
-
|
|
122
|
+
holderRunId: lockOptions.holderRunId,
|
|
123
|
+
holderStepId: lockOptions.holderStepId,
|
|
112
124
|
fencingToken: (existing?.fencingToken ?? 0) + 1,
|
|
113
125
|
acquiredAt,
|
|
114
126
|
leaseExpiresAt: acquiredAt.add(Temporal.Duration.from({ milliseconds: leaseDuration }))
|
|
115
127
|
};
|
|
116
128
|
const acquired = await store.updateLockIfCurrent(existing, lock);
|
|
117
|
-
if (acquired === void 0) WorkflowLockStateError
|
|
129
|
+
if (acquired === void 0) throw new WorkflowLockStateError(`Failed to acquire workflow lock ${key}`, WorkflowErrorCode.LOCK_ACQUIRE_CONFLICT_EXHAUSTED, { key });
|
|
118
130
|
return acquired;
|
|
119
131
|
}
|
|
120
132
|
async function releaseLock(store, key, lockOptions, releasedAt) {
|
|
121
133
|
const holderId = lockOptions.holderId;
|
|
122
134
|
const current = await store.getLock(key);
|
|
123
135
|
if (current === void 0) WorkflowLockStateError.notFound(key);
|
|
124
|
-
if (current.holderId !== holderId) WorkflowLockError
|
|
136
|
+
if (current.holderId !== holderId) throw new WorkflowLockError(`Workflow lock holder mismatch: ${key}`, WorkflowErrorCode.LOCK_HOLDER_MISMATCH, { key });
|
|
125
137
|
const released = {
|
|
126
138
|
...current,
|
|
127
139
|
releasedAt
|
|
128
140
|
};
|
|
129
141
|
const updated = await store.updateLockIfCurrent(current, released);
|
|
130
|
-
if (updated === void 0) WorkflowLockStateError
|
|
131
|
-
await
|
|
142
|
+
if (updated === void 0) throw new WorkflowLockStateError(`Failed to release workflow lock ${key}`, WorkflowErrorCode.LOCK_RELEASE_CONFLICT_EXHAUSTED, { key });
|
|
143
|
+
await wakeRunsWaitingForLock(store, key, releasedAt);
|
|
132
144
|
return updated;
|
|
133
145
|
}
|
|
134
146
|
async function releaseStaleLock(store, key, releasedAt) {
|
|
135
147
|
const current = await store.getLock(key);
|
|
136
148
|
if (current === void 0) WorkflowLockStateError.notFound(key);
|
|
137
|
-
if (current.releasedAt !== void 0) WorkflowLockError
|
|
138
|
-
if (Temporal.Instant.compare(current.leaseExpiresAt, releasedAt) > 0) WorkflowLockError
|
|
149
|
+
if (current.releasedAt !== void 0) throw new WorkflowLockError(`Workflow lock is already released: ${key}`, WorkflowErrorCode.LOCK_ALREADY_RELEASED, { key });
|
|
150
|
+
if (Temporal.Instant.compare(current.leaseExpiresAt, releasedAt) > 0) throw new WorkflowLockError(`Workflow lock is not stale: ${key}`, WorkflowErrorCode.LOCK_NOT_STALE, { key });
|
|
139
151
|
const released = {
|
|
140
152
|
...current,
|
|
141
153
|
releasedAt
|
|
142
154
|
};
|
|
143
155
|
const updated = await store.updateLockIfCurrent(current, released);
|
|
144
|
-
if (updated === void 0) WorkflowLockStateError
|
|
145
|
-
await
|
|
156
|
+
if (updated === void 0) throw new WorkflowLockStateError(`Failed to release stale workflow lock ${key}`, WorkflowErrorCode.LOCK_STALE_RELEASE_CONFLICT_EXHAUSTED, { key });
|
|
157
|
+
await wakeRunsWaitingForLock(store, key, releasedAt);
|
|
146
158
|
return updated;
|
|
147
159
|
}
|
|
148
160
|
function resolveLockWaitDeadline(options, now) {
|
|
149
|
-
if (options.waitTimeout !== void 0 && options.waitDeadlineAt !== void 0) WorkflowLockError.
|
|
150
|
-
if ((options.waitTimeout !== void 0 || options.waitDeadlineAt !== void 0) && options.wait !== true) WorkflowLockError.
|
|
161
|
+
if (options.waitTimeout !== void 0 && options.waitDeadlineAt !== void 0) throw new WorkflowLockError("Workflow lock options cannot include both waitTimeout and waitDeadlineAt", WorkflowErrorCode.LOCK_WAIT_DEADLINE_CONFLICT, void 0);
|
|
162
|
+
if ((options.waitTimeout !== void 0 || options.waitDeadlineAt !== void 0) && options.wait !== true) throw new WorkflowLockError("Workflow lock timeout options require wait: true", WorkflowErrorCode.LOCK_TIMEOUT_REQUIRES_WAIT, void 0);
|
|
151
163
|
if (options.waitDeadlineAt !== void 0) return options.waitDeadlineAt;
|
|
152
164
|
if (options.waitTimeout === void 0) return;
|
|
153
165
|
positiveDurationMilliseconds(options.waitTimeout, "Workflow lock waitTimeout");
|
|
@@ -155,38 +167,40 @@ function resolveLockWaitDeadline(options, now) {
|
|
|
155
167
|
}
|
|
156
168
|
function positiveDurationMilliseconds(duration, label) {
|
|
157
169
|
const milliseconds = duration.total({ unit: "millisecond" });
|
|
158
|
-
if (!isPositiveSafeInteger(milliseconds)) WorkflowOptionsError
|
|
170
|
+
if (!isPositiveSafeInteger(milliseconds)) throw new WorkflowOptionsError(`${label} must be a positive safe integer duration`, {
|
|
171
|
+
code: WorkflowErrorCode.OPTIONS_EXPECTED_POSITIVE_SAFE_INTEGER_DURATION,
|
|
172
|
+
details: { label }
|
|
173
|
+
});
|
|
159
174
|
return milliseconds;
|
|
160
175
|
}
|
|
161
176
|
async function recordLockWaitDeadline(environment, name, timeout) {
|
|
162
177
|
const resolvedTimeout = positiveSafeInteger(timeout.total({ unit: "millisecond" }), "Workflow lock waitTimeout");
|
|
163
|
-
return await
|
|
178
|
+
return await recordDeterministicValue(environment, `${name}:wait-deadline`, () => environment.now().add(Temporal.Duration.from({ milliseconds: resolvedTimeout })), (recorded) => parseLockWaitDeadlineReplay(recorded, resolvedTimeout));
|
|
164
179
|
}
|
|
165
180
|
function workflowLockRetryAt(lock, now, waitDeadlineAt) {
|
|
166
181
|
const retryAt = Temporal.Instant.compare(lock.leaseExpiresAt, now) <= 0 ? now : lock.leaseExpiresAt;
|
|
167
182
|
if (waitDeadlineAt !== void 0 && Temporal.Instant.compare(waitDeadlineAt, retryAt) < 0) return waitDeadlineAt;
|
|
168
183
|
return retryAt;
|
|
169
184
|
}
|
|
170
|
-
async function
|
|
171
|
-
const wakeAt = timestamp;
|
|
185
|
+
async function wakeRunsWaitingForLock(store, key, timestamp) {
|
|
172
186
|
const waitingRuns = await store.listRuns({
|
|
173
187
|
status: "waiting",
|
|
174
188
|
retryReason: "step"
|
|
175
189
|
});
|
|
176
190
|
await Promise.all(waitingRuns.map(async (run) => {
|
|
177
|
-
if (run.availableAt !== void 0 && Temporal.Instant.compare(run.availableAt,
|
|
191
|
+
if (run.availableAt !== void 0 && Temporal.Instant.compare(run.availableAt, timestamp) <= 0) return;
|
|
178
192
|
if (!(await store.listStepAttempts(run.id, {
|
|
179
193
|
kind: "run",
|
|
180
194
|
status: "failed"
|
|
181
|
-
})).some((attempt) =>
|
|
195
|
+
})).some((attempt) => matchesWorkflowError(attempt.error, WorkflowErrorCode.LOCK_ALREADY_HELD, { key }))) return;
|
|
182
196
|
await patchRun(store, run, {
|
|
183
|
-
availableAt:
|
|
184
|
-
retryAt:
|
|
185
|
-
updatedAt:
|
|
186
|
-
lastTransitionAt:
|
|
197
|
+
availableAt: timestamp,
|
|
198
|
+
retryAt: timestamp,
|
|
199
|
+
updatedAt: timestamp,
|
|
200
|
+
lastTransitionAt: timestamp,
|
|
187
201
|
lastTransitionReason: "retry",
|
|
188
202
|
deadlineAt: run.deadlineAt,
|
|
189
|
-
startedAt: run.startedAt ??
|
|
203
|
+
startedAt: run.startedAt ?? timestamp,
|
|
190
204
|
error: run.error,
|
|
191
205
|
output: void 0,
|
|
192
206
|
finishedAt: void 0
|
|
@@ -194,4 +208,4 @@ async function wakeWorkflowRunsWaitingForLock(store, key, timestamp) {
|
|
|
194
208
|
}));
|
|
195
209
|
}
|
|
196
210
|
//#endregion
|
|
197
|
-
export { acquireLock,
|
|
211
|
+
export { acquireLock, createStepLockApi, releaseLock, releaseStaleLock };
|
|
@@ -1,47 +1,27 @@
|
|
|
1
|
-
import { RunId } from "../types/
|
|
1
|
+
import { RunId } from "../types/ids.mjs";
|
|
2
2
|
import { BroadcastMessageChannelOptions, BroadcastMessageInput, BroadcastMessageResult, MessageChannel, SendMessageChannelOptions, SendMessageInput, SendMessageOptions, WaitForMessageOptions } from "../types/message.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { StepMessageApi } from "../types/step.mjs";
|
|
4
4
|
import { Telemetry, TelemetryContext } from "../types/telemetry.mjs";
|
|
5
|
-
import { WorkflowStepIdentity } from "../types/run.mjs";
|
|
6
5
|
import { EventRecord } from "../types/events.mjs";
|
|
7
|
-
import "../
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
6
|
+
import { WorkflowStore } from "../types/store.mjs";
|
|
7
|
+
import { ExecutionLimits } from "../types/engine-options.mjs";
|
|
8
|
+
import { EngineContext } from "./context.mjs";
|
|
9
|
+
import { ExecutionEnvironment } from "../types/engine.mjs";
|
|
11
10
|
import { Schema } from "@temelj/standard-schema";
|
|
11
|
+
import { StorageValue } from "@temelj/storage";
|
|
12
12
|
//#region src/engine/message.d.ts
|
|
13
13
|
type MessageWaitSource = Extract<EventRecord, {
|
|
14
14
|
readonly kind: "message_wait_started";
|
|
15
15
|
}>["source"];
|
|
16
|
-
type
|
|
16
|
+
type MessageWaitOptions<TPayload = StorageValue | undefined> = WaitForMessageOptions<Schema<unknown, TPayload> | undefined> & {
|
|
17
17
|
readonly source?: MessageWaitSource;
|
|
18
18
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
readonly now: () => Temporal.Instant;
|
|
24
|
-
readonly limits: WorkflowExecutionLimits;
|
|
25
|
-
readonly observeMessageSent?: (runId: RunId, event: Extract<EventRecord, {
|
|
26
|
-
readonly kind: "message_sent";
|
|
27
|
-
}>) => void;
|
|
28
|
-
readonly telemetry?: Telemetry;
|
|
29
|
-
}
|
|
30
|
-
declare function createWorkflowStepMessageApi(environment: WorkflowExecutionEnvironment): WorkflowStepMessageApi;
|
|
31
|
-
declare function sendWorkflowMessageInput<TPayload, TKey = void>(service: WorkflowMessageServiceOptions, runId: RunId, messageInput: SendMessageInput | MessageChannel<TPayload, TKey>, channelOptions: SendMessageChannelOptions<TPayload, TKey> | undefined): Promise<void>;
|
|
32
|
-
declare function broadcastWorkflowMessageInput<TPayload, TKey = void>(service: WorkflowMessageServiceOptions, messageInput: BroadcastMessageInput | MessageChannel<TPayload, TKey>, channelOptions: BroadcastMessageChannelOptions<TPayload, TKey> | undefined): Promise<BroadcastMessageResult>;
|
|
33
|
-
declare function sendWorkflowMessage(store: WorkflowMessageDeliveryStore, runId: RunId, options: SendMessageOptions, now: () => Temporal.Instant, limits: WorkflowExecutionLimits, observeMessageSent?: (runId: RunId, event: Extract<EventRecord, {
|
|
19
|
+
export declare function createStepMessageApi(environment: ExecutionEnvironment): StepMessageApi;
|
|
20
|
+
export declare function sendMessageInput<TPayload, TRawPayload = TPayload>(context: EngineContext, runId: RunId, messageInput: SendMessageInput | MessageChannel<TPayload, TRawPayload>, channelOptions: SendMessageChannelOptions<TRawPayload> | undefined): Promise<void>;
|
|
21
|
+
export declare function broadcastMessageInput<TPayload, TRawPayload = TPayload>(context: EngineContext, messageInput: BroadcastMessageInput | MessageChannel<TPayload, TRawPayload>, channelOptions: BroadcastMessageChannelOptions<TRawPayload> | undefined): Promise<BroadcastMessageResult>;
|
|
22
|
+
export declare function sendWorkflowMessage(store: WorkflowStore, runId: RunId, options: SendMessageOptions, now: () => Temporal.Instant, limits: ExecutionLimits, observeMessageSent?: (runId: RunId, event: Extract<EventRecord, {
|
|
34
23
|
readonly kind: "message_sent";
|
|
35
24
|
}>) => void, telemetry?: Telemetry, traceContext?: TelemetryContext): Promise<void>;
|
|
36
|
-
declare function
|
|
37
|
-
declare function requireMessageWaitReplayMatches(identity: WorkflowStepIdentity, started: Extract<EventRecord, {
|
|
38
|
-
readonly kind: "message_wait_started";
|
|
39
|
-
}> | undefined, event: Extract<EventRecord, {
|
|
40
|
-
readonly kind: "message_wait_started" | "message_wait_completed" | "message_wait_failed";
|
|
41
|
-
}>, options: WorkflowMessageWaitOptions): void;
|
|
42
|
-
declare function messageWaitAvailableAt(now: () => Temporal.Instant, timeoutAt: Temporal.Instant | undefined, deadlineAt: Temporal.Instant | undefined): Temporal.Instant;
|
|
43
|
-
declare function wakeRunForMessageEvent(store: WorkflowRunReaderRepository & WorkflowEventReader & WorkflowRunConditionalWriterRepository, runId: RunId, messageEvent: Extract<EventRecord, {
|
|
44
|
-
readonly kind: "message_sent";
|
|
45
|
-
}>): Promise<void>;
|
|
25
|
+
export declare function waitForMessage<TPayload = never>(environment: ExecutionEnvironment, options: MessageWaitOptions<TPayload>): Promise<TPayload | StorageValue | undefined>;
|
|
46
26
|
//#endregion
|
|
47
|
-
export {
|
|
27
|
+
export {};
|