@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
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { RunId } from "./
|
|
1
|
+
import { RunId } from "./ids.mjs";
|
|
2
2
|
import { Telemetry } from "./telemetry.mjs";
|
|
3
3
|
import { WorkflowLifecycleCallback } from "./run.mjs";
|
|
4
4
|
import { WorkflowStorage, WorkflowStore } from "./store.mjs";
|
|
5
5
|
import { Logger } from "@temelj/log";
|
|
6
6
|
//#region src/types/engine-options.d.ts
|
|
7
7
|
/** Options for creating the storage-backed workflow engine. */
|
|
8
|
-
interface CreateWorkflowEngineOptions extends
|
|
8
|
+
export interface CreateWorkflowEngineOptions extends ExecutionLimits {
|
|
9
9
|
readonly storage?: WorkflowStorage;
|
|
10
10
|
readonly store?: WorkflowStore;
|
|
11
11
|
/**
|
|
@@ -17,28 +17,28 @@ interface CreateWorkflowEngineOptions extends WorkflowExecutionLimits {
|
|
|
17
17
|
*/
|
|
18
18
|
readonly now?: () => Temporal.Instant;
|
|
19
19
|
readonly createRunId?: () => string;
|
|
20
|
-
readonly createRecordedId?: (context:
|
|
20
|
+
readonly createRecordedId?: (context: RecordedIdContext) => string;
|
|
21
21
|
/**
|
|
22
22
|
* Creates the first value recorded by deterministic random commands.
|
|
23
23
|
*
|
|
24
24
|
* Hosts that patch `Math.random()` during workflow execution should route
|
|
25
25
|
* patched calls through the same durable recording path.
|
|
26
26
|
*/
|
|
27
|
-
readonly createDeterministicRandom?: (context:
|
|
27
|
+
readonly createDeterministicRandom?: (context: RecordedIdContext) => number;
|
|
28
28
|
/**
|
|
29
29
|
* Creates the first value recorded by deterministic UUID commands.
|
|
30
30
|
*
|
|
31
31
|
* Hosts that patch `crypto.randomUUID()` during workflow execution should
|
|
32
32
|
* route patched calls through the same durable recording path.
|
|
33
33
|
*/
|
|
34
|
-
readonly createDeterministicUuid?: (context:
|
|
34
|
+
readonly createDeterministicUuid?: (context: RecordedIdContext) => string;
|
|
35
35
|
/**
|
|
36
36
|
* Creates the first value recorded by deterministic byte commands.
|
|
37
37
|
*
|
|
38
38
|
* Hosts that patch `crypto.getRandomValues()` during workflow execution
|
|
39
39
|
* should route patched calls through the same durable recording path.
|
|
40
40
|
*/
|
|
41
|
-
readonly createDeterministicBytes?: (context:
|
|
41
|
+
readonly createDeterministicBytes?: (context: DeterministicBytesContext) => Uint8Array;
|
|
42
42
|
readonly onLifecycleEvent?: WorkflowLifecycleCallback;
|
|
43
43
|
readonly onRunCompleted?: WorkflowLifecycleCallback;
|
|
44
44
|
readonly onRunFailed?: WorkflowLifecycleCallback;
|
|
@@ -50,27 +50,20 @@ interface CreateWorkflowEngineOptions extends WorkflowExecutionLimits {
|
|
|
50
50
|
readonly logger?: Logger | false;
|
|
51
51
|
}
|
|
52
52
|
/** Runtime limits applied while executing workflows. */
|
|
53
|
-
interface
|
|
53
|
+
export interface ExecutionLimits {
|
|
54
54
|
readonly maximumPersistedValueBytes?: number;
|
|
55
55
|
readonly maximumEventHistoryEvents?: number;
|
|
56
56
|
readonly maximumStreamChunks?: number;
|
|
57
57
|
}
|
|
58
|
-
/** Runtime limits that affect persisted value serialization. */
|
|
59
|
-
interface WorkflowEngineSerializationLimits {
|
|
60
|
-
readonly maximumPersistedValueBytes?: number;
|
|
61
|
-
}
|
|
62
58
|
/** Context passed to custom deterministic ID generators. */
|
|
63
|
-
interface
|
|
59
|
+
export interface RecordedIdContext {
|
|
64
60
|
readonly runId: RunId;
|
|
65
61
|
readonly commandId: string;
|
|
66
62
|
readonly commandName: string;
|
|
67
63
|
readonly commandCount: number;
|
|
68
64
|
}
|
|
69
|
-
/** Context passed to custom deterministic first-run value generators. */
|
|
70
|
-
type WorkflowDeterministicValueContext = WorkflowRecordedIdContext;
|
|
71
65
|
/** Context passed to custom deterministic byte generators. */
|
|
72
|
-
interface
|
|
66
|
+
export interface DeterministicBytesContext extends RecordedIdContext {
|
|
73
67
|
readonly length: number;
|
|
74
68
|
}
|
|
75
|
-
//#endregion
|
|
76
|
-
export { CreateWorkflowEngineOptions, WorkflowDeterministicBytesContext, WorkflowDeterministicValueContext, WorkflowEngineSerializationLimits, WorkflowExecutionLimits, WorkflowRecordedIdContext };
|
|
69
|
+
//#endregion
|
package/dist/types/engine.d.mts
CHANGED
|
@@ -1,56 +1,35 @@
|
|
|
1
|
-
import { RunId } from "./
|
|
2
|
-
import { CleanupMarkerRecord, CleanupRunsOptions, CleanupRunsResult, RetentionPolicyOptions } from "./cleanup.mjs";
|
|
3
|
-
import { PageOptions, WorkflowPage } from "./pagination.mjs";
|
|
4
|
-
import { ListSchedulesOptions, ListSchedulesPageOptions, ScheduleConfig, ScheduleId, ScheduleRecord, TickSchedulesOptions, TickSchedulesResult } from "./schedule.mjs";
|
|
5
|
-
import { WorkflowImplementation, WorkflowStartTarget } from "./definition.mjs";
|
|
6
|
-
import { HookInspection, ResumeHookOptions, ResumeWebhookOptions } from "./hook.mjs";
|
|
7
|
-
import { AcquireLockOptions, LockRecord, ReleaseLockOptions, ReleaseStaleLockOptions } from "./lock.mjs";
|
|
8
|
-
import { WorkflowListRunsOptions, WorkflowListRunsPageOptions, WorkflowListStepAttemptsPageOptions } from "./run-list.mjs";
|
|
9
|
-
import { BroadcastMessageInput, BroadcastMessageResult, MessageChannel, SendMessageChannelOptions, SendMessageInput } from "./message.mjs";
|
|
10
|
-
import { StreamIdOrName } from "./stream-id.mjs";
|
|
11
|
-
import { FollowStreamOptions, ReadStreamOptions, ReadStreamPageOptions, StreamChunk, StreamInfo, StreamPage, StreamState, StreamUpdate, WaitStreamOptions } from "./stream.mjs";
|
|
12
|
-
import { WorkflowRecoverySummary, WorkflowRecoverySummaryOptions, WorkflowRunSummary, WorkflowRunSummaryOptions } from "./summary.mjs";
|
|
13
|
-
import { WorkflowListStepAttemptsOptions, WorkflowStepAttemptRecord, WorkflowStepAttemptSummary } from "./step-attempts.mjs";
|
|
14
|
-
import { ObservationEventHandler, ObservationEventPattern, ObservationUnsubscribe, ScheduleRunCreatedObservationEvent, WorkerOperationObservationEvent } from "./observation.mjs";
|
|
15
|
-
import { Timeline } from "./timeline.mjs";
|
|
16
|
-
import { ExecutionResult, WorkflowHandle } from "./result.mjs";
|
|
1
|
+
import { RunId } from "./ids.mjs";
|
|
17
2
|
import { Telemetry } from "./telemetry.mjs";
|
|
18
|
-
import {
|
|
3
|
+
import { RunRecord } from "./run.mjs";
|
|
19
4
|
import { EventRecord } from "./events.mjs";
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import { WorkflowDeterministicBytesContext, WorkflowDeterministicValueContext, WorkflowExecutionLimits, WorkflowRecordedIdContext } from "./engine-options.mjs";
|
|
5
|
+
import { WorkflowStore } from "./store.mjs";
|
|
6
|
+
import { DeterministicBytesContext, ExecutionLimits, RecordedIdContext } from "./engine-options.mjs";
|
|
7
|
+
import { History } from "../history/replay.mjs";
|
|
24
8
|
import { Logger } from "@temelj/log";
|
|
25
9
|
//#region src/types/engine.d.ts
|
|
26
|
-
/** Store operations used while replaying and advancing one workflow run. */
|
|
27
|
-
interface WorkflowExecutionEnvironmentStore extends WorkflowRunReaderRepository, WorkflowRunListerRepository, WorkflowRunWriterRepository, WorkflowMessageIdempotencyIndexLookup, WorkflowConditionalEventAppender, WorkflowEventReader {}
|
|
28
|
-
/** Store operations used by workflow workers. */
|
|
29
|
-
interface WorkflowWorkerEngineStore extends WorkflowStoreCapabilitiesSource, WorkflowRunLeaseRepository, WorkflowRunReaderRepository, WorkflowRunWriterRepository, WorkflowConditionalEventAppender, WorkflowEventReader, WorkflowStepAttemptLookup {}
|
|
30
10
|
/** Internal execution context used while replaying and advancing one workflow run. */
|
|
31
|
-
interface
|
|
11
|
+
export interface ExecutionEnvironment {
|
|
32
12
|
/** Store used to read and persist run state during execution. */
|
|
33
|
-
readonly store:
|
|
34
|
-
/** Run ID currently being executed. */
|
|
13
|
+
readonly store: WorkflowStore;
|
|
35
14
|
readonly runId: RunId;
|
|
36
15
|
/** Replay history built from the run's durable events. */
|
|
37
|
-
readonly history:
|
|
16
|
+
readonly history: History;
|
|
38
17
|
/** Clock used for timestamps recorded by this execution. */
|
|
39
18
|
readonly now: () => Temporal.Instant;
|
|
40
19
|
/** Deterministic ID factory used for recorded workflow commands. */
|
|
41
|
-
readonly createRecordedId: (context:
|
|
20
|
+
readonly createRecordedId: (context: RecordedIdContext) => string;
|
|
42
21
|
/** Deterministic random-number factory used when first recording random commands. */
|
|
43
|
-
readonly createDeterministicRandom: (context:
|
|
22
|
+
readonly createDeterministicRandom: (context: RecordedIdContext) => number;
|
|
44
23
|
/** Deterministic UUID factory used when first recording UUID commands. */
|
|
45
|
-
readonly createDeterministicUuid: (context:
|
|
24
|
+
readonly createDeterministicUuid: (context: RecordedIdContext) => string;
|
|
46
25
|
/** Deterministic byte factory used when first recording byte commands. */
|
|
47
|
-
readonly createDeterministicBytes: (context:
|
|
26
|
+
readonly createDeterministicBytes: (context: DeterministicBytesContext) => Uint8Array;
|
|
48
27
|
/** Maximum number of materialized step attempts allowed for this run. */
|
|
49
28
|
readonly maximumStepAttemptsPerRun: number;
|
|
50
29
|
/** Runtime execution limits enforced by the engine. */
|
|
51
|
-
readonly limits:
|
|
30
|
+
readonly limits: ExecutionLimits;
|
|
52
31
|
/** Current run record that owns this execution attempt. */
|
|
53
|
-
readonly executionOwner:
|
|
32
|
+
readonly executionOwner: RunRecord;
|
|
54
33
|
/** Optional telemetry adapter used for workflow and step execution observations. */
|
|
55
34
|
readonly telemetry?: Telemetry;
|
|
56
35
|
/** Logger scoped to this execution. */
|
|
@@ -68,242 +47,4 @@ interface WorkflowExecutionEnvironment {
|
|
|
68
47
|
readonly kind: "child_workflow_started";
|
|
69
48
|
}>) => void;
|
|
70
49
|
}
|
|
71
|
-
|
|
72
|
-
interface WorkflowRunStarter {
|
|
73
|
-
/** Creates one pending workflow run and returns a durable handle. */
|
|
74
|
-
startWorkflow<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowStartOptions): Promise<WorkflowHandle<TOutput>>;
|
|
75
|
-
}
|
|
76
|
-
/** Engine capability for starting workflow runs. */
|
|
77
|
-
interface WorkflowStarter extends WorkflowRunStarter {
|
|
78
|
-
/** Creates multiple pending workflow runs for the same definition. */
|
|
79
|
-
startWorkflows<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, items: readonly WorkflowBatchStartItem<TRawInput>[]): Promise<readonly WorkflowHandle<TOutput>[]>;
|
|
80
|
-
}
|
|
81
|
-
/** Engine capability for canceling workflow runs. */
|
|
82
|
-
interface WorkflowRunCanceler {
|
|
83
|
-
/** Cancels a workflow run if it has not already reached a terminal status. */
|
|
84
|
-
cancelRun(runId: RunId): Promise<WorkflowRunRecord>;
|
|
85
|
-
}
|
|
86
|
-
/** Engine capability for maintaining one workflow run. */
|
|
87
|
-
interface WorkflowRunMaintenance extends WorkflowRunCanceler {
|
|
88
|
-
/** Moves a run back to pending at an optional new availability time. */
|
|
89
|
-
rescheduleRun(runId: RunId, options?: WorkflowRescheduleRunOptions): Promise<WorkflowRunRecord>;
|
|
90
|
-
/** Releases a run's worker lease when it is stale. */
|
|
91
|
-
releaseStaleRunLease(runId: RunId, options?: WorkflowReleaseStaleLeaseOptions): Promise<WorkflowRunRecord>;
|
|
92
|
-
/** Retries a failed workflow run. */
|
|
93
|
-
retryFailedRun(runId: RunId, options?: WorkflowRetryFailedRunOptions): Promise<WorkflowRunRecord>;
|
|
94
|
-
/** Marks a workflow run as permanently failed with an operator reason. */
|
|
95
|
-
markRunPermanentlyFailed(runId: RunId, options: WorkflowMarkRunPermanentlyFailedOptions): Promise<WorkflowRunRecord>;
|
|
96
|
-
/** Replaces a workflow run's metadata value. */
|
|
97
|
-
updateRunMetadata(runId: RunId, metadata: unknown): Promise<WorkflowRunRecord>;
|
|
98
|
-
/** Applies an attribute patch to a workflow run. */
|
|
99
|
-
setRunAttributes(runId: RunId, attributes: WorkflowAttributePatch): Promise<WorkflowRunRecord>;
|
|
100
|
-
}
|
|
101
|
-
/** Engine capability for managing recurring workflow schedules. */
|
|
102
|
-
interface WorkflowScheduler {
|
|
103
|
-
/** Creates one pending run at the next interval boundary. */
|
|
104
|
-
scheduleNextWorkflow<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options: ScheduleNextOptions): Promise<WorkflowHandle<TOutput>>;
|
|
105
|
-
/** Creates a recurring workflow schedule. */
|
|
106
|
-
createSchedule<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, options: ScheduleConfig<TInput, TRawInput>): Promise<ScheduleRecord<TInput>>;
|
|
107
|
-
/** Creates or updates a recurring workflow schedule. */
|
|
108
|
-
upsertSchedule<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, options: ScheduleConfig<TInput, TRawInput>): Promise<ScheduleRecord<TInput>>;
|
|
109
|
-
/** Returns a schedule by ID, if it exists. */
|
|
110
|
-
getSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord | undefined>;
|
|
111
|
-
/** Lists schedules matching optional filters. */
|
|
112
|
-
listSchedules(options?: ListSchedulesOptions): Promise<readonly ScheduleRecord[]>;
|
|
113
|
-
/** Lists one page of schedules matching optional filters. */
|
|
114
|
-
listSchedulesPage(options?: ListSchedulesPageOptions): Promise<WorkflowPage<ScheduleRecord>>;
|
|
115
|
-
/** Pauses an active schedule. */
|
|
116
|
-
pauseSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord>;
|
|
117
|
-
/** Resumes a paused or archived schedule. */
|
|
118
|
-
resumeSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord>;
|
|
119
|
-
/** Archives a schedule without deleting its record. */
|
|
120
|
-
archiveSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord>;
|
|
121
|
-
/** Marks a schedule as deleted. */
|
|
122
|
-
deleteSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord>;
|
|
123
|
-
/** Starts runs for schedules that are due. */
|
|
124
|
-
tickSchedules(options?: TickSchedulesOptions): Promise<TickSchedulesResult>;
|
|
125
|
-
}
|
|
126
|
-
/** Engine capability for observing worker-side operations. */
|
|
127
|
-
interface WorkflowWorkerOperationObserver {
|
|
128
|
-
/** Observes worker-side operations that do not always produce durable run transitions. */
|
|
129
|
-
observeWorkerOperation(event: WorkerOperationObservationEvent): void;
|
|
130
|
-
}
|
|
131
|
-
/** Engine capability for observing schedule-created runs. */
|
|
132
|
-
interface WorkflowScheduleRunObserver {
|
|
133
|
-
/** Observes recurring schedule ticks that create workflow runs. */
|
|
134
|
-
observeScheduleRunCreated(event: ScheduleRunCreatedObservationEvent): void;
|
|
135
|
-
}
|
|
136
|
-
/** Engine capability for managing workflow locks. */
|
|
137
|
-
interface LockManager {
|
|
138
|
-
/** Acquires a workflow lock for a holder. */
|
|
139
|
-
acquireLock(key: string, options: AcquireLockOptions): Promise<LockRecord>;
|
|
140
|
-
/** Returns a workflow lock by key, if it exists. */
|
|
141
|
-
getLock(key: string): Promise<LockRecord | undefined>;
|
|
142
|
-
/** Lists workflow locks. */
|
|
143
|
-
listLocks(): Promise<readonly LockRecord[]>;
|
|
144
|
-
/** Releases a workflow lock held by the supplied holder. */
|
|
145
|
-
releaseLock(key: string, options: ReleaseLockOptions): Promise<LockRecord>;
|
|
146
|
-
/** Releases a workflow lock only when its lease is stale. */
|
|
147
|
-
releaseStaleLock(key: string, options?: ReleaseStaleLockOptions): Promise<LockRecord>;
|
|
148
|
-
}
|
|
149
|
-
/** Engine capability for resuming workflow execution. */
|
|
150
|
-
interface WorkflowExecutor {
|
|
151
|
-
/** Resumes an existing run with a registered workflow implementation. */
|
|
152
|
-
resumeWorkflow<TInput, TOutput, TRawInput = TInput>(implementation: WorkflowImplementation<TInput, TOutput, TRawInput>, runId: RunId, options?: WorkflowResumeOptions): Promise<ExecutionResult<TOutput>>;
|
|
153
|
-
}
|
|
154
|
-
/** Engine capability for reading one workflow run handle. */
|
|
155
|
-
interface WorkflowRunHandleReader {
|
|
156
|
-
/** Returns a workflow run by ID, if it exists. */
|
|
157
|
-
getRun(runId: RunId): Promise<WorkflowRunRecord | undefined>;
|
|
158
|
-
/** Returns all durable events recorded for a run. */
|
|
159
|
-
getEvents(runId: RunId): Promise<readonly EventRecord[]>;
|
|
160
|
-
/** Returns a timeline projection for one run. */
|
|
161
|
-
getTimeline(runId: RunId): Promise<Timeline>;
|
|
162
|
-
}
|
|
163
|
-
/** Engine capability for reading workflow runs and event history. */
|
|
164
|
-
interface WorkflowRunReader extends WorkflowRunHandleReader {
|
|
165
|
-
/** Lists one page of durable events recorded for a run. */
|
|
166
|
-
listEventsPage(runId: RunId, options?: PageOptions): Promise<WorkflowPage<EventRecord>>;
|
|
167
|
-
/** Lists workflow runs matching optional filters. */
|
|
168
|
-
listRuns(options?: WorkflowListRunsOptions): Promise<readonly WorkflowRunRecord[]>;
|
|
169
|
-
/** Lists one page of workflow runs matching optional filters. */
|
|
170
|
-
listRunsPage(options?: WorkflowListRunsPageOptions): Promise<WorkflowPage<WorkflowRunRecord>>;
|
|
171
|
-
/** Counts workflow runs matching optional filters. */
|
|
172
|
-
countRuns(options?: WorkflowListRunsOptions): Promise<number>;
|
|
173
|
-
/** Returns aggregate run metrics for runs matching optional filters. */
|
|
174
|
-
getRunSummary(options?: WorkflowRunSummaryOptions): Promise<WorkflowRunSummary>;
|
|
175
|
-
/** Returns recovery-oriented aggregate metrics for runs matching optional filters. */
|
|
176
|
-
getRecoverySummary(options?: WorkflowRecoverySummaryOptions): Promise<WorkflowRecoverySummary>;
|
|
177
|
-
}
|
|
178
|
-
/** Engine capability for listing materialized step attempt state. */
|
|
179
|
-
interface WorkflowStepAttemptLookupReader {
|
|
180
|
-
/** Lists materialized step attempts for a run. */
|
|
181
|
-
listStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<readonly WorkflowStepAttemptRecord[]>;
|
|
182
|
-
}
|
|
183
|
-
/** Engine capability for reading materialized step attempt state. */
|
|
184
|
-
interface WorkflowStepAttemptReader extends WorkflowStepAttemptLookupReader {
|
|
185
|
-
/** Lists one page of materialized step attempts for a run. */
|
|
186
|
-
listStepAttemptsPage(runId: RunId, options?: WorkflowListStepAttemptsPageOptions): Promise<WorkflowPage<WorkflowStepAttemptRecord>>;
|
|
187
|
-
/** Counts materialized step attempts for a run. */
|
|
188
|
-
countStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<number>;
|
|
189
|
-
/** Returns aggregate step-attempt metrics for a run. */
|
|
190
|
-
getStepAttemptSummary(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<WorkflowStepAttemptSummary>;
|
|
191
|
-
}
|
|
192
|
-
/** Engine capability for maintaining materialized step attempt state. */
|
|
193
|
-
interface WorkflowStepAttemptMaintenance {
|
|
194
|
-
/** Rebuilds materialized step attempts for a run from its event history. */
|
|
195
|
-
repairStepAttempts(runId: RunId): Promise<readonly WorkflowStepAttemptRecord[]>;
|
|
196
|
-
}
|
|
197
|
-
/** Engine capability for maintaining message idempotency indexes. */
|
|
198
|
-
interface WorkflowMessageIdempotencyMaintenance {
|
|
199
|
-
/** Rebuilds message idempotency indexes for a run from its event history. */
|
|
200
|
-
repairMessageIdempotencyIndexes(runId: RunId): Promise<readonly WorkflowMessageIdempotencyIndex[]>;
|
|
201
|
-
}
|
|
202
|
-
/** Engine capability for cleaning up terminal workflow data. */
|
|
203
|
-
interface WorkflowCleanupAdmin {
|
|
204
|
-
/** Deletes terminal run data according to cleanup options. */
|
|
205
|
-
cleanupRuns(options: CleanupRunsOptions): Promise<CleanupRunsResult>;
|
|
206
|
-
/** Lists cleanup marker records. */
|
|
207
|
-
listCleanupMarkers(): Promise<readonly CleanupMarkerRecord[]>;
|
|
208
|
-
/** Deletes terminal run data according to a retention policy. */
|
|
209
|
-
applyRetentionPolicy(options: RetentionPolicyOptions): Promise<CleanupRunsResult>;
|
|
210
|
-
}
|
|
211
|
-
/** Engine capability for creating new runs from existing run records. */
|
|
212
|
-
interface WorkflowRunRerunner {
|
|
213
|
-
/** Creates a new run from an existing run record and returns its handle. */
|
|
214
|
-
rerunWorkflow(runId: RunId, options?: WorkflowRerunOptions): Promise<WorkflowHandle<unknown>>;
|
|
215
|
-
}
|
|
216
|
-
/** Engine capability for administrative workflow maintenance. */
|
|
217
|
-
interface WorkflowAdmin extends WorkflowCleanupAdmin, WorkflowRunRerunner {}
|
|
218
|
-
/** Engine capability for managing external resume hooks. */
|
|
219
|
-
interface WorkflowHookManager {
|
|
220
|
-
/** Completes a pending message-backed external resume hook. */
|
|
221
|
-
resumeHook(token: string, options?: ResumeHookOptions): Promise<void>;
|
|
222
|
-
/** Completes a pending webhook-labeled external resume hook. */
|
|
223
|
-
resumeWebhook(token: string, options?: ResumeWebhookOptions): Promise<void>;
|
|
224
|
-
/** Disposes a pending message-backed external resume hook. */
|
|
225
|
-
disposeHook(token: string): Promise<HookInspection>;
|
|
226
|
-
/** Disposes a pending webhook-labeled external resume hook. */
|
|
227
|
-
disposeWebhook(token: string): Promise<HookInspection>;
|
|
228
|
-
/** Returns inspection data for an external resume hook token. */
|
|
229
|
-
getHookByToken(token: string): Promise<HookInspection>;
|
|
230
|
-
}
|
|
231
|
-
/** Engine capability for reading and following durable streams. */
|
|
232
|
-
interface WorkflowStreamReader {
|
|
233
|
-
/** Returns metadata for a durable stream on a run. */
|
|
234
|
-
getStreamInfo(runId: RunId, streamIdOrName: StreamIdOrName): Promise<StreamInfo>;
|
|
235
|
-
/** Follows durable stream updates from a run. */
|
|
236
|
-
followStream<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, options?: FollowStreamOptions): AsyncIterable<StreamUpdate<TChunk>>;
|
|
237
|
-
/** Waits until a durable stream exists on a run. */
|
|
238
|
-
waitForStream(runId: RunId, streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
|
|
239
|
-
/** Waits for the next durable stream chunk after an index. */
|
|
240
|
-
waitForStreamChunk<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, afterIndex: number, options?: WaitStreamOptions): Promise<StreamChunk<TChunk> | undefined>;
|
|
241
|
-
/** Waits until a durable stream is closed or failed. */
|
|
242
|
-
waitForStreamTerminal(runId: RunId, streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
|
|
243
|
-
/** Reads all currently stored chunks for a durable stream. */
|
|
244
|
-
readStream<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, options?: ReadStreamOptions): Promise<StreamState<TChunk>>;
|
|
245
|
-
/** Reads one page of currently stored chunks for a durable stream. */
|
|
246
|
-
readStreamPage<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, options?: ReadStreamPageOptions): Promise<StreamPage<TChunk>>;
|
|
247
|
-
}
|
|
248
|
-
/** Engine capability for sending workflow messages. */
|
|
249
|
-
interface WorkflowMessageSender {
|
|
250
|
-
/** Sends a named message to a workflow run. */
|
|
251
|
-
sendMessage(runId: RunId, options: SendMessageInput): Promise<void>;
|
|
252
|
-
/** Sends a typed message channel payload to a workflow run. */
|
|
253
|
-
sendMessage<TPayload, TKey = void>(runId: RunId, channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<void>;
|
|
254
|
-
/** Sends a named message to runs matching the broadcast target. */
|
|
255
|
-
broadcastMessage(options: BroadcastMessageInput): Promise<BroadcastMessageResult>;
|
|
256
|
-
/** Sends a typed message channel payload to runs matching the broadcast target. */
|
|
257
|
-
broadcastMessage<TPayload, TKey = void>(channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<BroadcastMessageResult>;
|
|
258
|
-
}
|
|
259
|
-
/** Engine surface required by the workflow client facade. */
|
|
260
|
-
interface WorkflowClientEngine extends WorkflowStarter, WorkflowRunCanceler, WorkflowRunMaintenance, WorkflowScheduler, LockManager, WorkflowRunReader, WorkflowStepAttemptReader, WorkflowAdmin, WorkflowHookManager, WorkflowStreamReader, WorkflowMessageSender {
|
|
261
|
-
/** Flushes owned logger resources and shuts down owned telemetry, when supported. */
|
|
262
|
-
close?(): Promise<void>;
|
|
263
|
-
}
|
|
264
|
-
/** Engine surface required by workflow workers. */
|
|
265
|
-
interface WorkflowWorkerEngine extends WorkflowExecutor {
|
|
266
|
-
/** Store used by workers to claim, heartbeat, and release runs. */
|
|
267
|
-
readonly store: WorkflowWorkerEngineStore;
|
|
268
|
-
/** Returns a workflow run by ID, if it exists. */
|
|
269
|
-
getRun(runId: RunId): Promise<WorkflowRunRecord | undefined>;
|
|
270
|
-
/** Returns aggregate run metrics for runs matching optional filters. */
|
|
271
|
-
getRunSummary(options?: WorkflowRunSummaryOptions): Promise<WorkflowRunSummary>;
|
|
272
|
-
/** Lists schedules matching optional filters. */
|
|
273
|
-
listSchedules(options?: ListSchedulesOptions): Promise<readonly ScheduleRecord[]>;
|
|
274
|
-
/** Starts runs for schedules that are due. */
|
|
275
|
-
tickSchedules(options?: TickSchedulesOptions): Promise<TickSchedulesResult>;
|
|
276
|
-
/** Observes worker-side operations that do not always produce durable run transitions. */
|
|
277
|
-
observeWorkerOperation?(event: WorkerOperationObservationEvent): void;
|
|
278
|
-
}
|
|
279
|
-
/** Combined workflow engine surface used by runtime and adapter APIs. */
|
|
280
|
-
interface WorkflowEngineLike extends WorkflowStarter, WorkflowScheduler, LockManager, WorkflowExecutor, WorkflowRunReader, WorkflowStepAttemptReader, WorkflowStepAttemptMaintenance, WorkflowMessageIdempotencyMaintenance, WorkflowWorkerOperationObserver, WorkflowScheduleRunObserver, WorkflowRunCanceler, WorkflowRunMaintenance, WorkflowAdmin, WorkflowHookManager, WorkflowStreamReader, WorkflowMessageSender {}
|
|
281
|
-
/** Describes the workflow engine contract. */
|
|
282
|
-
interface WorkflowEngine extends WorkflowEngineLike {
|
|
283
|
-
/** Underlying key-value storage used by the default workflow store. */
|
|
284
|
-
readonly storage: WorkflowStorage;
|
|
285
|
-
/** Store used for durable workflow state, events, schedules, locks, and indexes. */
|
|
286
|
-
readonly store: WorkflowStore;
|
|
287
|
-
/** Subscribes to workflow observation events matching a pattern. */
|
|
288
|
-
on<Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>): ObservationUnsubscribe;
|
|
289
|
-
/** Subscribes to the next workflow observation event matching a pattern. */
|
|
290
|
-
once<Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>): ObservationUnsubscribe;
|
|
291
|
-
/** Removes a workflow observation event handler for a pattern. */
|
|
292
|
-
off<Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>): void;
|
|
293
|
-
/** Returns all registered observation event handlers. */
|
|
294
|
-
listeners(): readonly ObservationEventHandler[];
|
|
295
|
-
/** Returns observation event handlers registered for a pattern. */
|
|
296
|
-
listeners<Pattern extends ObservationEventPattern>(pattern: Pattern): readonly ObservationEventHandler<Pattern>[];
|
|
297
|
-
/** Removes observation event handlers, optionally limited to a pattern. */
|
|
298
|
-
clearListeners(pattern?: ObservationEventPattern): void;
|
|
299
|
-
/** Returns the number of observation event handlers, optionally limited to a pattern. */
|
|
300
|
-
listenerCount(pattern?: ObservationEventPattern): number;
|
|
301
|
-
/** Flushes the engine logger and shuts down the telemetry adapter configured on this engine. */
|
|
302
|
-
close(): Promise<void>;
|
|
303
|
-
/** Starts and immediately attempts to execute a workflow implementation. */
|
|
304
|
-
runWorkflow<TInput, TOutput, TRawInput = TInput>(implementation: WorkflowImplementation<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowExecutionOptions): Promise<WorkflowHandle<TOutput>>;
|
|
305
|
-
/** Executes a workflow implementation synchronously against a newly started run. */
|
|
306
|
-
runWorkflowNow<TInput, TOutput, TRawInput = TInput>(implementation: WorkflowImplementation<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowExecutionOptions): Promise<ExecutionResult<TOutput>>;
|
|
307
|
-
}
|
|
308
|
-
//#endregion
|
|
309
|
-
export { LockManager, WorkflowAdmin, WorkflowCleanupAdmin, WorkflowClientEngine, WorkflowEngine, WorkflowEngineLike, WorkflowExecutionEnvironment, WorkflowExecutionEnvironmentStore, WorkflowExecutor, WorkflowHookManager, WorkflowMessageIdempotencyMaintenance, WorkflowMessageSender, WorkflowRunCanceler, WorkflowRunHandleReader, WorkflowRunMaintenance, WorkflowRunReader, WorkflowRunRerunner, WorkflowRunStarter, WorkflowScheduleRunObserver, WorkflowScheduler, WorkflowStarter, WorkflowStepAttemptLookupReader, WorkflowStepAttemptMaintenance, WorkflowStepAttemptReader, WorkflowStreamReader, WorkflowWorkerEngine, WorkflowWorkerEngineStore, WorkflowWorkerOperationObserver };
|
|
50
|
+
//#endregion
|