@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/types/step.d.mts
CHANGED
|
@@ -1,183 +1,172 @@
|
|
|
1
|
-
import { RunId } from "./run-id.mjs";
|
|
2
|
-
import { StepId } from "./step-id.mjs";
|
|
3
|
-
import { WorkflowResolvedStepRetryConfig, WorkflowRetryConfig } from "./retry.mjs";
|
|
4
|
-
import { WorkflowStartTarget } from "./definition.mjs";
|
|
5
1
|
import { CreateHookOptions, CreateWebhookOptions, Hook, Webhook } from "./hook.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
2
|
+
import { ResolvedRetryConfig, RetryConfig } from "./retry.mjs";
|
|
3
|
+
import { StartTarget } from "./definition.mjs";
|
|
4
|
+
import { LockRecord, StepAcquireLockOptions, StepReleaseLockOptions } from "./lock.mjs";
|
|
5
|
+
import { MessageChannel, MessageSender, WaitForMessageChannelOptions, WaitForMessageOptions } from "./message.mjs";
|
|
8
6
|
import { CreateStreamOptions, Stream } from "./stream.mjs";
|
|
9
|
-
import {
|
|
10
|
-
import { z } from "zod";
|
|
7
|
+
import { AttributePatch, MaterializedStepType } from "./run.mjs";
|
|
11
8
|
import { Schema, SchemaOutput } from "@temelj/standard-schema";
|
|
9
|
+
import { StorageValue } from "@temelj/storage";
|
|
12
10
|
import { Logger } from "@temelj/log";
|
|
13
11
|
//#region src/types/step.d.ts
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
detach: "detach";
|
|
17
|
-
}>;
|
|
18
|
-
/** Grouped durable commands available inside a workflow handler. */
|
|
19
|
-
interface WorkflowStepApi {
|
|
12
|
+
/** Durable commands available inside a workflow handler. */
|
|
13
|
+
export interface StepApi extends StepTaskApi {
|
|
20
14
|
/** Scoped operational logger for workflow orchestration code. */
|
|
21
15
|
readonly log: Logger;
|
|
22
|
-
/** Durable task, reusable step, sleep, and sleep-until commands. */
|
|
23
|
-
readonly task: WorkflowStepTaskApi;
|
|
24
16
|
/** Durable child-workflow start and run commands. */
|
|
25
|
-
readonly workflow:
|
|
17
|
+
readonly workflow: StepWorkflowApi;
|
|
26
18
|
/** Durable message send and wait commands. */
|
|
27
|
-
readonly message:
|
|
19
|
+
readonly message: StepMessageApi;
|
|
28
20
|
/** Durable lock acquire, release, and scoped lock commands. */
|
|
29
|
-
readonly lock:
|
|
21
|
+
readonly lock: StepLockApi;
|
|
30
22
|
/** Commands that persist workflow run metadata and attributes. */
|
|
31
|
-
readonly runData:
|
|
23
|
+
readonly runData: StepRunDataApi;
|
|
32
24
|
/** Replay-safe time, random, ID, and byte sources. */
|
|
33
|
-
readonly deterministic:
|
|
25
|
+
readonly deterministic: DeterministicApi;
|
|
34
26
|
/** Durable stream creation commands. */
|
|
35
|
-
readonly stream:
|
|
27
|
+
readonly stream: StepStreamApi;
|
|
36
28
|
/** External resume hook and webhook creation commands. */
|
|
37
|
-
readonly hook:
|
|
29
|
+
readonly hook: StepHookApi;
|
|
38
30
|
}
|
|
39
|
-
/**
|
|
40
|
-
interface
|
|
31
|
+
/** Inline tasks, reusable steps, and sleeps. */
|
|
32
|
+
export interface StepTaskApi {
|
|
41
33
|
/** Runs an inline durable task and records the callback result for replay. */
|
|
42
|
-
run<TOutput>(config:
|
|
34
|
+
run<TOutput>(config: StepRunConfig, callback: (context: WorkflowStepContext) => Promise<TOutput> | TOutput): Promise<TOutput>;
|
|
43
35
|
/** Calls a reusable step definition with typed arguments. */
|
|
44
|
-
call<const TArgs extends readonly unknown[], TOutput>(definition:
|
|
36
|
+
call<const TArgs extends readonly unknown[], TOutput>(definition: StepDefinition<TArgs, TOutput>, ...args: TArgs): Promise<TOutput>;
|
|
45
37
|
/** Pauses workflow execution for a durable duration. */
|
|
46
38
|
sleep(commandId: string, duration: Temporal.Duration): Promise<void>;
|
|
47
39
|
/** Pauses workflow execution until a durable instant. */
|
|
48
40
|
sleepUntil(commandId: string, timestamp: Temporal.Instant): Promise<void>;
|
|
49
41
|
}
|
|
50
42
|
/** Durable child-workflow commands available inside a workflow handler. */
|
|
51
|
-
interface
|
|
43
|
+
export interface StepWorkflowApi {
|
|
52
44
|
/** Starts a child workflow and waits for its result. */
|
|
53
|
-
run<TInput, TOutput, TRawInput = TInput>(workflow:
|
|
45
|
+
run<TInput, TOutput, TRawInput = TInput>(workflow: StartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: StepRunWorkflowOptions): Promise<TOutput>;
|
|
54
46
|
/** Starts a child workflow without waiting for it to finish and returns its run ID. */
|
|
55
|
-
start<TInput, TOutput, TRawInput = TInput>(workflow:
|
|
47
|
+
start<TInput, TOutput, TRawInput = TInput>(workflow: StartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: StepStartWorkflowOptions): Promise<string>;
|
|
56
48
|
}
|
|
57
49
|
/** Durable message send and wait commands available inside a workflow handler. */
|
|
58
|
-
interface
|
|
59
|
-
/** Sends a named message to another workflow run. */
|
|
60
|
-
send(runId: RunId, options: SendMessageOptions): Promise<void>;
|
|
61
|
-
/** Sends a message through a typed message channel to another workflow run. */
|
|
62
|
-
send<TPayload, TKey = void>(runId: RunId, channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<void>;
|
|
50
|
+
export interface StepMessageApi extends MessageSender {
|
|
63
51
|
/** Waits for a named message and returns its payload. */
|
|
64
|
-
wait
|
|
52
|
+
wait(options: WaitForMessageOptions): Promise<StorageValue | undefined>;
|
|
65
53
|
/** Waits for a named message and validates its payload with the configured schema. */
|
|
66
|
-
wait<const TSchema extends Schema>(options: WaitForMessageOptions<TSchema>
|
|
54
|
+
wait<const TSchema extends Schema>(options: WaitForMessageOptions<TSchema> & {
|
|
55
|
+
readonly schema: TSchema;
|
|
56
|
+
}): Promise<SchemaOutput<TSchema>>;
|
|
67
57
|
/** Waits for a message through a typed message channel. */
|
|
68
|
-
wait<TPayload
|
|
58
|
+
wait<TPayload>(channel: MessageChannel<TPayload, unknown>, options?: WaitForMessageChannelOptions): Promise<TPayload>;
|
|
69
59
|
}
|
|
70
60
|
/** Durable lock commands available inside a workflow handler. */
|
|
71
|
-
interface
|
|
61
|
+
export interface StepLockApi {
|
|
72
62
|
/** Acquires a workflow lock and records the fencing token in history. */
|
|
73
|
-
acquire(commandId: string, key: string, options:
|
|
63
|
+
acquire(commandId: string, key: string, options: StepAcquireLockOptions): Promise<LockRecord>;
|
|
74
64
|
/** Releases a workflow lock held by this workflow. */
|
|
75
|
-
release(commandId: string, key: string, options?:
|
|
65
|
+
release(commandId: string, key: string, options?: StepReleaseLockOptions): Promise<LockRecord>;
|
|
76
66
|
/** Acquires a workflow lock, runs a callback, and releases the lock afterward. */
|
|
77
|
-
with<TOutput>(commandId: string, key: string, options:
|
|
67
|
+
with<TOutput>(commandId: string, key: string, options: StepAcquireLockOptions, callback: (lock: LockRecord) => Promise<TOutput> | TOutput): Promise<TOutput>;
|
|
78
68
|
}
|
|
79
69
|
/** Durable run metadata and attribute update commands available inside a workflow handler. */
|
|
80
|
-
interface
|
|
81
|
-
|
|
82
|
-
setMetadata(commandId: string, metadata: unknown): Promise<void>;
|
|
70
|
+
export interface StepRunDataApi {
|
|
71
|
+
setMetadata(commandId: string, metadata: StorageValue): Promise<void>;
|
|
83
72
|
/** Applies a workflow run attribute patch. */
|
|
84
|
-
setAttributes(commandId: string, attributes:
|
|
73
|
+
setAttributes(commandId: string, attributes: AttributePatch): Promise<void>;
|
|
85
74
|
}
|
|
86
75
|
/** Replay-safe sources for time, randomness, generated IDs, and bytes inside a workflow handler. */
|
|
87
|
-
interface
|
|
76
|
+
export interface DeterministicApi {
|
|
88
77
|
/** Returns the current instant, recording it once so replay sees the same value. */
|
|
89
78
|
now(commandId?: string): Promise<Temporal.Instant>;
|
|
90
79
|
/** Returns a random number in [0, 1), recording it once so replay sees the same value. */
|
|
91
80
|
random(commandId?: string): Promise<number>;
|
|
92
81
|
/** Returns an engine-generated recorded ID for the command. */
|
|
93
82
|
recordedId(commandId?: string): Promise<string>;
|
|
94
|
-
/** Alias for recordedId. */
|
|
95
83
|
id(commandId?: string): Promise<string>;
|
|
96
84
|
/** Returns a random UUID, recording it once so replay sees the same value. */
|
|
97
85
|
uuid(commandId?: string): Promise<string>;
|
|
98
86
|
/** Returns recorded random bytes with the requested length. */
|
|
99
87
|
bytes(commandId: string, length: number): Promise<Uint8Array>;
|
|
100
88
|
}
|
|
101
|
-
/** Compatibility alias for the deterministic API exposed on WorkflowStepApi. */
|
|
102
|
-
type WorkflowStepDeterministicApi = WorkflowDeterministicApi;
|
|
103
89
|
/** Durable stream creation commands available inside a workflow handler. */
|
|
104
|
-
interface
|
|
90
|
+
export interface StepStreamApi {
|
|
105
91
|
/** Creates a durable stream that can be read while the workflow is running. */
|
|
106
92
|
create<TChunk = unknown>(commandId: string, options?: CreateStreamOptions): Stream<TChunk>;
|
|
107
93
|
}
|
|
108
94
|
/** External resume token commands available inside a workflow handler. */
|
|
109
|
-
interface
|
|
95
|
+
export interface StepHookApi {
|
|
110
96
|
/** Creates a message-backed external resume hook. */
|
|
111
|
-
create
|
|
97
|
+
create(options: CreateHookOptions): Hook<StorageValue | undefined>;
|
|
112
98
|
/** Creates a message-backed external resume hook with schema-validated payloads. */
|
|
113
|
-
create<const TSchema extends Schema>(options: CreateHookOptions<TSchema>
|
|
99
|
+
create<const TSchema extends Schema>(options: CreateHookOptions<TSchema> & {
|
|
100
|
+
readonly schema: TSchema;
|
|
101
|
+
}): Hook<SchemaOutput<TSchema>>;
|
|
114
102
|
/** Creates a webhook-labeled external resume hook. */
|
|
115
|
-
createWebhook
|
|
103
|
+
createWebhook(options: CreateWebhookOptions): Webhook<StorageValue | undefined>;
|
|
116
104
|
/** Creates a webhook-labeled external resume hook with schema-validated payloads. */
|
|
117
|
-
createWebhook<const TSchema extends Schema>(options: CreateWebhookOptions<TSchema>
|
|
105
|
+
createWebhook<const TSchema extends Schema>(options: CreateWebhookOptions<TSchema> & {
|
|
106
|
+
readonly schema: TSchema;
|
|
107
|
+
}): Webhook<SchemaOutput<TSchema>>;
|
|
118
108
|
}
|
|
119
109
|
/** Configuration for a single durable task command or reusable step definition. */
|
|
120
|
-
interface
|
|
110
|
+
export interface StepRunConfig {
|
|
121
111
|
readonly name?: string;
|
|
122
112
|
readonly commandId?: string;
|
|
123
|
-
readonly retry?:
|
|
113
|
+
readonly retry?: RetryConfig;
|
|
124
114
|
readonly timeout?: Temporal.Duration;
|
|
125
115
|
}
|
|
126
116
|
/** Handler signature for reusable durable step definitions. */
|
|
127
|
-
type
|
|
117
|
+
export type StepDefinitionHandler<TArgs extends readonly unknown[], TOutput> = (context: WorkflowStepContext, ...args: TArgs) => Promise<TOutput> | TOutput;
|
|
128
118
|
/** Reusable named durable task that can be called from workflow handlers. */
|
|
129
|
-
interface
|
|
119
|
+
export interface StepDefinition<TArgs extends readonly unknown[] = readonly unknown[], TOutput = unknown> {
|
|
130
120
|
/** Runtime configuration used when the reusable step is called. */
|
|
131
|
-
readonly config:
|
|
121
|
+
readonly config: StepRunConfig;
|
|
132
122
|
/** Durable command name used as the step identity by default. */
|
|
133
123
|
readonly name: string;
|
|
134
124
|
/** Handler invoked when the step is first executed. */
|
|
135
|
-
readonly handler:
|
|
125
|
+
readonly handler: StepDefinitionHandler<TArgs, TOutput>;
|
|
136
126
|
/** Compile-time type markers for arguments and output. */
|
|
137
|
-
readonly types?:
|
|
127
|
+
readonly types?: StepDefinitionTypes<TArgs, TOutput>;
|
|
138
128
|
}
|
|
139
129
|
/** Compile-time type markers carried by a reusable step definition. */
|
|
140
|
-
interface
|
|
141
|
-
/** Argument tuple accepted by the step handler
|
|
130
|
+
export interface StepDefinitionTypes<TArgs extends readonly unknown[], TOutput> {
|
|
131
|
+
/** Argument tuple accepted by the step handler after the context parameter. */
|
|
142
132
|
readonly args: TArgs;
|
|
143
133
|
/** Awaited output returned by the step handler. */
|
|
144
134
|
readonly output: TOutput;
|
|
145
135
|
}
|
|
146
136
|
/** Options for running a child workflow and waiting for its result from a durable step. */
|
|
147
|
-
interface
|
|
137
|
+
export interface StepRunWorkflowOptions extends StepStartWorkflowOptions {
|
|
148
138
|
readonly timeout?: Temporal.Duration;
|
|
149
139
|
readonly pollInterval?: Temporal.Duration;
|
|
150
|
-
readonly retry?:
|
|
140
|
+
readonly retry?: RetryConfig;
|
|
151
141
|
}
|
|
152
142
|
/** Options for starting a child workflow in the background from a durable step. */
|
|
153
|
-
interface
|
|
143
|
+
export interface StepStartWorkflowOptions {
|
|
154
144
|
readonly commandId?: string;
|
|
155
145
|
readonly name?: string;
|
|
156
146
|
readonly id?: string;
|
|
157
147
|
readonly idempotencyKey?: string;
|
|
158
|
-
readonly cancellation?:
|
|
148
|
+
readonly cancellation?: ChildWorkflowCancellationPolicy;
|
|
159
149
|
}
|
|
160
150
|
/** Controls whether child workflow runs are canceled when their parent run is canceled. */
|
|
161
|
-
type
|
|
151
|
+
export type ChildWorkflowCancellationPolicy = "cascade" | "detach";
|
|
162
152
|
/** Context passed to a durable task attempt. */
|
|
163
|
-
interface WorkflowStepContext {
|
|
153
|
+
export interface WorkflowStepContext {
|
|
164
154
|
/** Stable identity and encounter count for this durable command. */
|
|
165
|
-
readonly step:
|
|
155
|
+
readonly step: StepMetadata;
|
|
166
156
|
/** Current attempt number for retryable durable work. */
|
|
167
157
|
readonly attempt: number;
|
|
168
158
|
/** Resolved retry configuration for this attempt. */
|
|
169
|
-
readonly config:
|
|
159
|
+
readonly config: ResolvedRetryConfig;
|
|
170
160
|
/** Abort signal for cancellation or timeout of this attempt. */
|
|
171
161
|
readonly signal: AbortSignal;
|
|
172
162
|
/** Scoped operational logger for this durable task attempt. */
|
|
173
163
|
readonly log: Logger;
|
|
174
164
|
}
|
|
175
165
|
/** Identity and encounter metadata for a durable task attempt. */
|
|
176
|
-
interface
|
|
166
|
+
export interface StepMetadata {
|
|
177
167
|
readonly id: string;
|
|
178
168
|
readonly name: string;
|
|
179
169
|
readonly count: number;
|
|
180
|
-
readonly kind:
|
|
170
|
+
readonly kind: MaterializedStepType;
|
|
181
171
|
}
|
|
182
|
-
//#endregion
|
|
183
|
-
export { type StepId, WorkflowChildWorkflowCancellationPolicy, WorkflowDeterministicApi, WorkflowStepApi, WorkflowStepContext, WorkflowStepDefinition, WorkflowStepDefinitionHandler, WorkflowStepDefinitionTypes, WorkflowStepDeterministicApi, WorkflowStepHookApi, WorkflowStepLockApi, WorkflowStepMessageApi, WorkflowStepMetadata, WorkflowStepRunConfig, WorkflowStepRunDataApi, WorkflowStepRunWorkflowOptions, WorkflowStepStartWorkflowOptions, WorkflowStepStreamApi, WorkflowStepTaskApi, WorkflowStepWorkflowApi, workflowChildWorkflowCancellationPolicySchema };
|
|
172
|
+
//#endregion
|
package/dist/types/step.mjs
CHANGED
package/dist/types/store.d.mts
CHANGED
|
@@ -1,208 +1,81 @@
|
|
|
1
|
-
import { MessageId } from "./
|
|
2
|
-
import { RunId } from "./run-id.mjs";
|
|
1
|
+
import { MessageId, RunId } from "./ids.mjs";
|
|
3
2
|
import { CleanupMarkerRecord, CleanupRunsOptions, CleanupRunsResult } from "./cleanup.mjs";
|
|
4
3
|
import { PageOptions, WorkflowPage } from "./pagination.mjs";
|
|
5
4
|
import { ListSchedulesOptions, ScheduleId, ScheduleRecord } from "./schedule.mjs";
|
|
6
5
|
import { LockRecord } from "./lock.mjs";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
6
|
+
import { ListRunsOptions } from "./run-list.mjs";
|
|
7
|
+
import { ListStepAttemptsOptions, StepAttemptRecord } from "./step-attempts.mjs";
|
|
8
|
+
import { RunRecord } from "./run.mjs";
|
|
10
9
|
import { EventRecord } from "./events.mjs";
|
|
11
|
-
import {
|
|
10
|
+
import { WorkerRunFilterOptions } from "./worker.mjs";
|
|
12
11
|
import { Storage, StorageValue, StoredValue } from "@temelj/storage";
|
|
13
12
|
//#region src/types/store.d.ts
|
|
14
|
-
|
|
15
|
-
type WorkflowStorage = Storage<Record<string, StorageValue>, StorageValue, StoredValue>;
|
|
16
|
-
/** Storage value stored for cleanup index entries. */
|
|
17
|
-
type WorkflowCleanupIndexValue = StorageValue;
|
|
13
|
+
export type WorkflowStorage = Storage<Record<string, StorageValue>, StorageValue, StoredValue>;
|
|
18
14
|
/** Storage index entry removed during workflow cleanup. */
|
|
19
|
-
interface
|
|
15
|
+
export interface CleanupIndexKey {
|
|
20
16
|
readonly key: string;
|
|
21
|
-
readonly value:
|
|
17
|
+
readonly value: StorageValue;
|
|
22
18
|
}
|
|
23
19
|
/** Index entry used to detect duplicate messageId delivery idempotency keys. */
|
|
24
|
-
interface
|
|
20
|
+
export interface MessageIdempotencyIndex {
|
|
25
21
|
readonly runId: RunId;
|
|
26
22
|
readonly messageId: MessageId;
|
|
27
23
|
readonly timestamp: Temporal.Instant;
|
|
28
24
|
}
|
|
29
|
-
|
|
30
|
-
interface CreateWorkflowStoreOptions {
|
|
25
|
+
export interface CreateWorkflowStoreOptions {
|
|
31
26
|
readonly storage?: WorkflowStorage;
|
|
32
27
|
readonly namespace?: string;
|
|
33
28
|
}
|
|
34
|
-
/**
|
|
35
|
-
interface
|
|
36
|
-
/**
|
|
29
|
+
/** Durable records of one namespace: runs, events, step attempts, schedules, and locks. */
|
|
30
|
+
export interface WorkflowStore {
|
|
31
|
+
/** Prefix that isolates this store's records in storage. */
|
|
37
32
|
readonly namespace: string;
|
|
38
|
-
}
|
|
39
|
-
/** Exposes workflow store storage identity. */
|
|
40
|
-
interface WorkflowStoreStorageContext extends WorkflowStoreNamespace {
|
|
41
|
-
/** Underlying key-value storage used by the workflow store. */
|
|
42
33
|
readonly storage: WorkflowStorage;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
createRun(run: WorkflowRunRecord): Promise<WorkflowRunRecord>;
|
|
55
|
-
}
|
|
56
|
-
/** Reads workflow run records. */
|
|
57
|
-
interface WorkflowRunReaderRepository {
|
|
58
|
-
/** Returns a workflow run by ID, if it exists. */
|
|
59
|
-
getRun(runId: RunId): Promise<WorkflowRunRecord | undefined>;
|
|
60
|
-
}
|
|
61
|
-
/** Updates workflow run records conditionally. */
|
|
62
|
-
interface WorkflowRunConditionalWriterRepository {
|
|
63
|
-
/** Replaces a workflow run only when the stored record still matches the current value. */
|
|
64
|
-
updateRunIfCurrent(current: WorkflowRunRecord, next: WorkflowRunRecord): Promise<WorkflowRunRecord | undefined>;
|
|
65
|
-
}
|
|
66
|
-
/** Updates workflow run records unconditionally. */
|
|
67
|
-
interface WorkflowRunUnconditionalWriterRepository {
|
|
68
|
-
/** Replaces a workflow run record. */
|
|
69
|
-
updateRun(run: WorkflowRunRecord): Promise<WorkflowRunRecord>;
|
|
70
|
-
}
|
|
71
|
-
/** Updates workflow run records. */
|
|
72
|
-
interface WorkflowRunWriterRepository extends WorkflowRunUnconditionalWriterRepository, WorkflowRunConditionalWriterRepository {}
|
|
73
|
-
/** Lists workflow run records. */
|
|
74
|
-
interface WorkflowRunListerRepository {
|
|
75
|
-
/** Lists workflow runs matching optional filters. */
|
|
76
|
-
listRuns(options?: WorkflowListRunsOptions): Promise<readonly WorkflowRunRecord[]>;
|
|
77
|
-
}
|
|
78
|
-
/** Queries workflow run records. */
|
|
79
|
-
interface WorkflowRunQueryRepository extends WorkflowRunReaderRepository, WorkflowRunListerRepository {
|
|
80
|
-
/** Lists one page of workflow runs matching optional filters. */
|
|
81
|
-
listRunsPage(options?: WorkflowListRunsOptions & PageOptions): Promise<WorkflowPage<WorkflowRunRecord>>;
|
|
82
|
-
/** Counts workflow runs matching optional filters. */
|
|
83
|
-
countRuns(options?: WorkflowListRunsOptions): Promise<number>;
|
|
84
|
-
}
|
|
85
|
-
/** Coordinates workflow run worker leases. */
|
|
86
|
-
interface WorkflowRunLeaseRepository {
|
|
34
|
+
/** What the storage guarantees, so the engine can pick safe coordination paths. */
|
|
35
|
+
readonly capabilities: StoreCapabilities;
|
|
36
|
+
createRun(run: RunRecord): Promise<RunRecord>;
|
|
37
|
+
getRun(runId: RunId): Promise<RunRecord | undefined>;
|
|
38
|
+
getRunByIdempotencyKey(options: IdempotencyKeyOptions): Promise<RunRecord | undefined>;
|
|
39
|
+
updateRun(run: RunRecord): Promise<RunRecord>;
|
|
40
|
+
/** Replaces a run only when the stored record still equals `current`. */
|
|
41
|
+
updateRunIfCurrent(current: RunRecord, next: RunRecord): Promise<RunRecord | undefined>;
|
|
42
|
+
listRuns(options?: ListRunsOptions): Promise<readonly RunRecord[]>;
|
|
43
|
+
listRunsPage(options?: ListRunsOptions & PageOptions): Promise<WorkflowPage<RunRecord>>;
|
|
44
|
+
countRuns(options?: ListRunsOptions): Promise<number>;
|
|
87
45
|
/** Claims a pending or reclaimable run for a worker. */
|
|
88
|
-
claimRun(options:
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
/** Releases the lease for a run claimed by a worker. */
|
|
92
|
-
releaseRunLease(options: WorkflowReleaseRunLeaseOptions): Promise<WorkflowRunRecord | undefined>;
|
|
93
|
-
}
|
|
94
|
-
/** Stores workflow run records and run leases. */
|
|
95
|
-
interface WorkflowRunRepository extends WorkflowRunCreationRepository, WorkflowRunReaderRepository, WorkflowRunUnconditionalWriterRepository, WorkflowRunConditionalWriterRepository, WorkflowRunWriterRepository, WorkflowRunListerRepository, WorkflowRunQueryRepository, WorkflowRunLeaseRepository {}
|
|
96
|
-
/** Stores workflow-scoped idempotency indexes for run creation. */
|
|
97
|
-
interface WorkflowIdempotencyIndex {
|
|
98
|
-
/** Returns a workflow run by its workflow-scoped idempotency key, if it exists. */
|
|
99
|
-
getRunByIdempotencyKey(options: WorkflowIdempotencyKeyOptions): Promise<WorkflowRunRecord | undefined>;
|
|
100
|
-
}
|
|
101
|
-
/** Repairs duplicate-delivery idempotency indexes for messages sent to workflow runs. */
|
|
102
|
-
interface WorkflowMessageIdempotencyRepairModel {
|
|
103
|
-
/** Rebuilds message idempotency indexes for a run from its event history. */
|
|
104
|
-
repairMessageIdempotencyIndexes(runId: RunId): Promise<readonly WorkflowMessageIdempotencyIndex[]>;
|
|
105
|
-
}
|
|
106
|
-
/** Looks up duplicate-delivery idempotency indexes for messages sent to workflow runs. */
|
|
107
|
-
interface WorkflowMessageIdempotencyIndexLookup {
|
|
108
|
-
/** Returns true when a message idempotency key is already claimed for a run. */
|
|
109
|
-
hasMessageIdempotencyKey(runId: RunId, idempotencyKey: string): Promise<boolean>;
|
|
110
|
-
}
|
|
111
|
-
/** Appends durable workflow events. */
|
|
112
|
-
interface WorkflowEventAppender {
|
|
113
|
-
/** Appends one durable event to a run's history. */
|
|
46
|
+
claimRun(options: ClaimRunOptions): Promise<RunRecord | undefined>;
|
|
47
|
+
extendRunLease(options: ExtendRunLeaseOptions): Promise<RunRecord | undefined>;
|
|
48
|
+
releaseRunLease(options: ReleaseRunLeaseOptions): Promise<RunRecord | undefined>;
|
|
114
49
|
appendEvent(runId: RunId, event: EventRecord): Promise<readonly EventRecord[]>;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
interface WorkflowConditionalEventAppender {
|
|
118
|
-
/** Appends one durable event only when the stored run still matches the current value. */
|
|
119
|
-
appendEventIfRunCurrent(current: WorkflowRunRecord, event: EventRecord): Promise<readonly EventRecord[] | undefined>;
|
|
120
|
-
}
|
|
121
|
-
/** Reads durable workflow event history. */
|
|
122
|
-
interface WorkflowEventReader {
|
|
123
|
-
/** Returns all durable events recorded for a run. */
|
|
50
|
+
/** Appends an event only when the stored run still equals `current`. */
|
|
51
|
+
appendEventIfRunCurrent(current: RunRecord, event: EventRecord): Promise<readonly EventRecord[] | undefined>;
|
|
124
52
|
getEvents(runId: RunId): Promise<readonly EventRecord[]>;
|
|
125
|
-
|
|
126
|
-
/** Waits for durable workflow event history changes. */
|
|
127
|
-
interface WorkflowEventHistoryWatcher {
|
|
128
|
-
/** Resolves after the durable event history for a run changes or the optional signal aborts. */
|
|
53
|
+
/** Resolves after the run's event history changes, or when `signal` aborts. */
|
|
129
54
|
waitForEventHistoryChange(runId: RunId, options?: WorkflowEventHistoryChangeWaitOptions): Promise<void>;
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
interface WorkflowStepAttemptLookup {
|
|
139
|
-
/** Lists materialized step attempts for a run. */
|
|
140
|
-
listStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<readonly WorkflowStepAttemptRecord[]>;
|
|
141
|
-
}
|
|
142
|
-
/** Stores materialized step-attempt read models. */
|
|
143
|
-
interface WorkflowStepAttemptReadModel extends WorkflowStepAttemptLookup {
|
|
144
|
-
/** Lists one page of materialized step attempts for a run. */
|
|
145
|
-
listStepAttemptsPage(runId: RunId, options?: WorkflowListStepAttemptsOptions & PageOptions): Promise<WorkflowPage<WorkflowStepAttemptRecord>>;
|
|
146
|
-
/** Counts materialized step attempts for a run. */
|
|
147
|
-
countStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<number>;
|
|
148
|
-
/** Rebuilds materialized step attempts for a run from its event history. */
|
|
149
|
-
repairStepAttempts(runId: RunId): Promise<readonly WorkflowStepAttemptRecord[]>;
|
|
150
|
-
}
|
|
151
|
-
/** Stores workflow cleanup markers and terminal-run cleanup operations. */
|
|
152
|
-
interface WorkflowCleanupRepository {
|
|
153
|
-
/** Deletes terminal run data according to cleanup options. */
|
|
55
|
+
hasMessageIdempotencyKey(runId: RunId, idempotencyKey: string): Promise<boolean>;
|
|
56
|
+
/** Rebuilds a run's message idempotency indexes from its event history. */
|
|
57
|
+
repairMessageIdempotencyIndexes(runId: RunId): Promise<readonly MessageIdempotencyIndex[]>;
|
|
58
|
+
listStepAttempts(runId: RunId, options?: ListStepAttemptsOptions): Promise<readonly StepAttemptRecord[]>;
|
|
59
|
+
listStepAttemptsPage(runId: RunId, options?: ListStepAttemptsOptions & PageOptions): Promise<WorkflowPage<StepAttemptRecord>>;
|
|
60
|
+
countStepAttempts(runId: RunId, options?: ListStepAttemptsOptions): Promise<number>;
|
|
61
|
+
/** Rebuilds a run's step attempts from its event history. */
|
|
62
|
+
repairStepAttempts(runId: RunId): Promise<readonly StepAttemptRecord[]>;
|
|
154
63
|
cleanupRuns(options: CleanupRunsOptions): Promise<CleanupRunsResult>;
|
|
155
|
-
/** Lists cleanup marker records. */
|
|
156
64
|
listCleanupMarkers(): Promise<readonly CleanupMarkerRecord[]>;
|
|
157
|
-
|
|
158
|
-
/** Creates workflow schedule records. */
|
|
159
|
-
interface WorkflowScheduleCreationRepository {
|
|
160
|
-
/** Creates a workflow schedule record. */
|
|
161
|
-
createSchedule<TInput = StorageValue>(schedule: ScheduleRecord<TInput>): Promise<ScheduleRecord<TInput>>;
|
|
162
|
-
}
|
|
163
|
-
/** Reads workflow schedule records. */
|
|
164
|
-
interface WorkflowScheduleReaderRepository {
|
|
165
|
-
/** Returns a workflow schedule by ID, if it exists. */
|
|
65
|
+
createSchedule(schedule: ScheduleRecord): Promise<ScheduleRecord>;
|
|
166
66
|
getSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord | undefined>;
|
|
167
|
-
|
|
168
|
-
/** Updates workflow schedule records conditionally. */
|
|
169
|
-
interface WorkflowScheduleConditionalWriterRepository {
|
|
170
|
-
/** Replaces a schedule only when the stored record still matches the current value. */
|
|
171
|
-
updateScheduleIfCurrent<TInput = StorageValue>(current: ScheduleRecord, next: ScheduleRecord<TInput>): Promise<ScheduleRecord<TInput> | undefined>;
|
|
172
|
-
}
|
|
173
|
-
/** Lists workflow schedule records. */
|
|
174
|
-
interface WorkflowScheduleListerRepository {
|
|
175
|
-
/** Lists workflow schedules matching optional filters. */
|
|
67
|
+
updateScheduleIfCurrent(current: ScheduleRecord, next: ScheduleRecord): Promise<ScheduleRecord | undefined>;
|
|
176
68
|
listSchedules(options?: ListSchedulesOptions): Promise<readonly ScheduleRecord[]>;
|
|
177
|
-
}
|
|
178
|
-
/** Queries workflow schedule records. */
|
|
179
|
-
interface WorkflowScheduleQueryRepository extends WorkflowScheduleListerRepository {
|
|
180
|
-
/** Lists one page of workflow schedules matching optional filters. */
|
|
181
69
|
listSchedulesPage(options?: ListSchedulesOptions & PageOptions): Promise<WorkflowPage<ScheduleRecord>>;
|
|
182
|
-
}
|
|
183
|
-
/** Stores workflow schedules. */
|
|
184
|
-
interface WorkflowScheduleRepository extends WorkflowScheduleCreationRepository, WorkflowScheduleReaderRepository, WorkflowScheduleConditionalWriterRepository, WorkflowScheduleQueryRepository {}
|
|
185
|
-
/** Reads workflow lock records. */
|
|
186
|
-
interface WorkflowLockReaderRepository {
|
|
187
|
-
/** Returns a workflow lock by key, if it exists. */
|
|
188
70
|
getLock(key: string): Promise<LockRecord | undefined>;
|
|
189
|
-
}
|
|
190
|
-
/** Lists workflow lock records. */
|
|
191
|
-
interface WorkflowLockListerRepository {
|
|
192
|
-
/** Lists workflow locks. */
|
|
193
71
|
listLocks(): Promise<readonly LockRecord[]>;
|
|
194
|
-
|
|
195
|
-
/** Updates workflow lock records conditionally. */
|
|
196
|
-
interface WorkflowLockConditionalWriterRepository {
|
|
197
|
-
/** Replaces or creates a lock only when the stored record still matches the current value. */
|
|
72
|
+
/** Creates or replaces a lock only when the stored record still equals `current`. */
|
|
198
73
|
updateLockIfCurrent(current: LockRecord | undefined, next: LockRecord): Promise<LockRecord | undefined>;
|
|
199
74
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
interface
|
|
204
|
-
/** Describes the workflow store capabilities contract. */
|
|
205
|
-
interface WorkflowStoreCapabilities {
|
|
75
|
+
export interface WorkflowEventHistoryChangeWaitOptions {
|
|
76
|
+
readonly signal?: AbortSignal;
|
|
77
|
+
}
|
|
78
|
+
export interface StoreCapabilities {
|
|
206
79
|
readonly conditionalWrites: boolean;
|
|
207
80
|
readonly conditionalRunClaims: boolean;
|
|
208
81
|
readonly conditionalRunUpdates: boolean;
|
|
@@ -222,33 +95,28 @@ interface WorkflowStoreCapabilities {
|
|
|
222
95
|
readonly rollsBackEventsOnMaterializationFailure: boolean;
|
|
223
96
|
readonly reconcilesStepAttemptsFromEvents: boolean;
|
|
224
97
|
}
|
|
225
|
-
|
|
226
|
-
interface WorkflowIdempotencyKeyOptions {
|
|
98
|
+
export interface IdempotencyKeyOptions {
|
|
227
99
|
readonly workflowName: string;
|
|
228
100
|
readonly workflowVersion?: string;
|
|
229
101
|
readonly idempotencyKey: string;
|
|
230
102
|
}
|
|
231
|
-
|
|
232
|
-
interface WorkflowClaimRunOptions extends WorkflowWorkerRunFilterOptions {
|
|
103
|
+
export interface ClaimRunOptions extends WorkerRunFilterOptions {
|
|
233
104
|
readonly runId?: RunId;
|
|
234
105
|
readonly workerId: string;
|
|
235
106
|
readonly now: Temporal.Instant;
|
|
236
107
|
readonly leaseDuration: Temporal.Duration;
|
|
237
108
|
}
|
|
238
|
-
|
|
239
|
-
interface WorkflowExtendRunLeaseOptions {
|
|
109
|
+
export interface ExtendRunLeaseOptions {
|
|
240
110
|
readonly runId: RunId;
|
|
241
111
|
readonly workerId: string;
|
|
242
112
|
readonly attempts?: number;
|
|
243
113
|
readonly now: Temporal.Instant;
|
|
244
114
|
readonly leaseDuration: Temporal.Duration;
|
|
245
115
|
}
|
|
246
|
-
|
|
247
|
-
interface WorkflowReleaseRunLeaseOptions {
|
|
116
|
+
export interface ReleaseRunLeaseOptions {
|
|
248
117
|
readonly runId: RunId;
|
|
249
118
|
readonly workerId: string;
|
|
250
119
|
readonly attempts?: number;
|
|
251
120
|
readonly now: Temporal.Instant;
|
|
252
121
|
}
|
|
253
|
-
//#endregion
|
|
254
|
-
export { CreateWorkflowStoreOptions, WorkflowClaimRunOptions, WorkflowCleanupIndexKey, WorkflowCleanupIndexValue, WorkflowCleanupRepository, WorkflowConditionalEventAppender, WorkflowEventAppender, WorkflowEventHistoryChangeWaitOptions, WorkflowEventHistoryWatcher, WorkflowEventLog, WorkflowEventReader, WorkflowExtendRunLeaseOptions, WorkflowIdempotencyIndex, WorkflowIdempotencyKeyOptions, WorkflowLockConditionalWriterRepository, WorkflowLockListerRepository, WorkflowLockReaderRepository, WorkflowLockRepository, WorkflowMessageIdempotencyIndex, WorkflowMessageIdempotencyIndexLookup, WorkflowMessageIdempotencyRepairModel, WorkflowReleaseRunLeaseOptions, WorkflowRunConditionalWriterRepository, WorkflowRunCreationRepository, WorkflowRunLeaseRepository, WorkflowRunListerRepository, WorkflowRunQueryRepository, WorkflowRunReaderRepository, WorkflowRunRepository, WorkflowRunUnconditionalWriterRepository, WorkflowRunWriterRepository, WorkflowScheduleConditionalWriterRepository, WorkflowScheduleCreationRepository, WorkflowScheduleListerRepository, WorkflowScheduleQueryRepository, WorkflowScheduleReaderRepository, WorkflowScheduleRepository, WorkflowStepAttemptLookup, WorkflowStepAttemptReadModel, WorkflowStorage, WorkflowStore, WorkflowStoreCapabilities, WorkflowStoreCapabilitiesSource, WorkflowStoreMetadata, WorkflowStoreNamespace, WorkflowStoreStorageContext };
|
|
122
|
+
//#endregion
|