@temelj/workflow 0.0.0-alpha.3 → 0.0.0-alpha.5
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 +119 -280
- 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,31 +1,28 @@
|
|
|
1
|
-
import { RunId } from "../types/
|
|
2
|
-
import { WorkflowImplementation } from "../types/definition.mjs";
|
|
1
|
+
import { RunId } from "../types/ids.mjs";
|
|
2
|
+
import { WorkflowDefinition, WorkflowImplementation } from "../types/definition.mjs";
|
|
3
3
|
import { ExecutionResult } from "../types/result.mjs";
|
|
4
4
|
import { Telemetry } from "../types/telemetry.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { RunRecord } from "../types/run.mjs";
|
|
6
6
|
import { EventRecord } from "../types/events.mjs";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { WorkflowStepLockEngine } from "./lock.mjs";
|
|
7
|
+
import { WorkflowStore } from "../types/store.mjs";
|
|
8
|
+
import { DeterministicBytesContext, ExecutionLimits, RecordedIdContext } from "../types/engine-options.mjs";
|
|
9
|
+
import { ResumeOptions } from "../types/run-options.mjs";
|
|
10
|
+
import { WorkflowEngine } from "./create.mjs";
|
|
12
11
|
import { Logger } from "@temelj/log";
|
|
13
12
|
//#region src/engine/execution-service.d.ts
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
interface WorkflowExecutionServiceOptions {
|
|
17
|
-
readonly store: WorkflowExecutionServiceStore;
|
|
13
|
+
export interface ExecutionServiceOptions {
|
|
14
|
+
readonly store: WorkflowStore;
|
|
18
15
|
readonly now: () => Temporal.Instant;
|
|
19
|
-
readonly createRecordedId: (context:
|
|
20
|
-
readonly createDeterministicRandom: (context:
|
|
21
|
-
readonly createDeterministicUuid: (context:
|
|
22
|
-
readonly createDeterministicBytes: (context:
|
|
16
|
+
readonly createRecordedId: (context: RecordedIdContext) => string;
|
|
17
|
+
readonly createDeterministicRandom: (context: RecordedIdContext) => number;
|
|
18
|
+
readonly createDeterministicUuid: (context: RecordedIdContext) => string;
|
|
19
|
+
readonly createDeterministicBytes: (context: DeterministicBytesContext) => Uint8Array;
|
|
23
20
|
readonly maximumStepAttemptsPerRun: number;
|
|
24
|
-
readonly limits:
|
|
25
|
-
readonly engine:
|
|
26
|
-
readonly readCurrentRunResult: <TOutput>(runId: RunId) => Promise<ExecutionResult<TOutput>>;
|
|
27
|
-
readonly emitResultLifecycleEvent: <TOutput>(result: ExecutionResult<TOutput>, previousRun?:
|
|
28
|
-
readonly observeRunEvent: (run:
|
|
21
|
+
readonly limits: ExecutionLimits;
|
|
22
|
+
readonly engine: WorkflowEngine;
|
|
23
|
+
readonly readCurrentRunResult: <TOutput>(definition: WorkflowDefinition<unknown, TOutput, unknown>, runId: RunId) => Promise<ExecutionResult<TOutput>>;
|
|
24
|
+
readonly emitResultLifecycleEvent: <TOutput>(result: ExecutionResult<TOutput>, previousRun?: RunRecord) => Promise<ExecutionResult<TOutput>>;
|
|
25
|
+
readonly observeRunEvent: (run: RunRecord, previousRun?: RunRecord) => void;
|
|
29
26
|
readonly observeDurableEventAppended: (runId: RunId, event: EventRecord, events: readonly EventRecord[]) => void;
|
|
30
27
|
readonly observeMessageSent: (runId: RunId, event: Extract<EventRecord, {
|
|
31
28
|
readonly kind: "message_sent";
|
|
@@ -36,6 +33,5 @@ interface WorkflowExecutionServiceOptions {
|
|
|
36
33
|
readonly telemetry?: Telemetry;
|
|
37
34
|
readonly logger: Logger;
|
|
38
35
|
}
|
|
39
|
-
declare function
|
|
40
|
-
//#endregion
|
|
41
|
-
export { WorkflowExecutionServiceOptions, executeWorkflowRun };
|
|
36
|
+
export declare function executeRun<TInput, TOutput, TRawInput = TInput>(service: ExecutionServiceOptions, implementation: WorkflowImplementation<TInput, TOutput, TRawInput>, run: RunRecord, executionOptions: ResumeOptions | undefined): Promise<ExecutionResult<TOutput>>;
|
|
37
|
+
//#endregion
|
|
@@ -1,36 +1,40 @@
|
|
|
1
1
|
import { WorkflowNonRetryableError } from "../errors/failures.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { omitUndefined } from "../collection.mjs";
|
|
3
|
+
import { History } from "../history/replay.mjs";
|
|
4
|
+
import { isAbortError } from "../values.mjs";
|
|
5
|
+
import { nextRunAttempt } from "../run-status.mjs";
|
|
6
|
+
import { getRequiredRun } from "../store/query.mjs";
|
|
4
7
|
import { serializeError, toOptionalPersistedValue } from "./serialization.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
8
|
+
import { enforceEventHistoryNextLimit, nextRetryAt, nextRetryAttempt, resolveRetryConfig, retryClassificationRetryAt, shouldRetryAttempt } from "./retry.mjs";
|
|
9
|
+
import { Suspended } from "./signals.mjs";
|
|
10
|
+
import { failRunForDeadline, isCurrentExecutionOwner, patchCurrentExecutionRun, patchRun, releaseLocksForRun, requireDefinitionMatchesRun, transitionRunToCompleted, transitionRunToExecutionWait, transitionRunToFailed, transitionRunToRunning, wakeParentRun } from "./state.mjs";
|
|
7
11
|
import { makeCanceledRunResult, makeCompletedRunResult } from "./run-utils.mjs";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
12
|
+
import { WORKFLOW_ATTRIBUTES, WORKFLOW_SYSTEM, withRunTelemetry } from "../telemetry.mjs";
|
|
13
|
+
import { createDeterministicApi } from "./deterministic.mjs";
|
|
10
14
|
import { createStepApi } from "./step-api.mjs";
|
|
11
15
|
//#region src/engine/execution-service.ts
|
|
12
|
-
async function
|
|
13
|
-
return await
|
|
16
|
+
async function executeRun(service, implementation, run, executionOptions) {
|
|
17
|
+
return await executeRunCore(service, implementation, run, executionOptions);
|
|
14
18
|
}
|
|
15
|
-
async function
|
|
19
|
+
async function executeRunCore(service, implementation, run, executionOptions) {
|
|
16
20
|
requireDefinitionMatchesRun(implementation.definition, run);
|
|
17
|
-
const workflowRetry =
|
|
21
|
+
const workflowRetry = resolveRetryConfig(implementation.config.retry, {
|
|
18
22
|
maximumAttempts: 1,
|
|
19
23
|
backoffCoefficient: 2
|
|
20
24
|
}, "Workflow retry");
|
|
21
25
|
const startedAt = service.now();
|
|
22
26
|
const isClaimedRun = run.status === "running" && run.workerId !== void 0;
|
|
23
|
-
|
|
27
|
+
enforceEventHistoryNextLimit(await service.store.getEvents(run.id), service.limits);
|
|
24
28
|
const runningRun = await patchRun(service.store, run, transitionRunToRunning(run, startedAt, isClaimedRun ? run.attempts : nextRunAttempt(run.attempts)));
|
|
25
29
|
const startedEvents = await service.store.appendEventIfRunCurrent(runningRun, {
|
|
26
30
|
kind: "workflow_started",
|
|
27
31
|
timestamp: startedAt
|
|
28
32
|
});
|
|
29
|
-
if (startedEvents === void 0) return await service.readCurrentRunResult(run.id);
|
|
33
|
+
if (startedEvents === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
30
34
|
if (isClaimedRun) service.observeRunEvent(run);
|
|
31
35
|
service.observeRunEvent(runningRun, run);
|
|
32
36
|
service.observeDurableEventAppended(run.id, startedEvents.at(-1), startedEvents);
|
|
33
|
-
const history = new
|
|
37
|
+
const history = new History(startedEvents);
|
|
34
38
|
const replaying = history.hasPriorWorkflowStart();
|
|
35
39
|
const runLogger = scopedRunLogger(service.logger, runningRun, false);
|
|
36
40
|
const handlerLogger = replaying ? replayAwareLogger(runLogger, history) : runLogger;
|
|
@@ -55,66 +59,64 @@ async function executeWorkflowRunCore(service, implementation, run, executionOpt
|
|
|
55
59
|
};
|
|
56
60
|
const executionAbort = watchRunCancellationWithSignal(service.store, runningRun, executionOptions?.signal ?? new AbortController().signal);
|
|
57
61
|
const executionSignal = executionAbort.signal;
|
|
58
|
-
const deterministic =
|
|
62
|
+
const deterministic = createDeterministicApi(environment);
|
|
59
63
|
const step = createStepApi(environment, service.engine, executionSignal, deterministic);
|
|
60
64
|
const telemetryContext = {
|
|
61
65
|
run: runningRun,
|
|
62
|
-
|
|
66
|
+
traceContext: run.telemetryContext
|
|
63
67
|
};
|
|
64
68
|
const executeClaimedRun = async () => {
|
|
65
69
|
try {
|
|
66
70
|
history.requireStartedEventsAreUnique();
|
|
67
71
|
history.requireTerminalEventsHaveStartedEvents();
|
|
68
72
|
history.requireTerminalEventsAreUnique();
|
|
73
|
+
const runContext = {
|
|
74
|
+
id: runningRun.id,
|
|
75
|
+
workflowName: runningRun.workflowName,
|
|
76
|
+
workflowVersion: runningRun.workflowVersion,
|
|
77
|
+
createdAt: runningRun.createdAt
|
|
78
|
+
};
|
|
69
79
|
const output = await implementation.handler({
|
|
70
80
|
input: runningRun.input,
|
|
71
81
|
step,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
run: {
|
|
75
|
-
id: runningRun.id,
|
|
76
|
-
workflowName: runningRun.workflowName,
|
|
77
|
-
...runningRun.workflowVersion === void 0 ? {} : { workflowVersion: runningRun.workflowVersion },
|
|
78
|
-
createdAt: runningRun.createdAt
|
|
79
|
-
},
|
|
80
|
-
signal: executionSignal,
|
|
81
|
-
version: runningRun.workflowVersion
|
|
82
|
+
run: runContext,
|
|
83
|
+
signal: executionSignal
|
|
82
84
|
});
|
|
83
85
|
history.requireReplayConsumed();
|
|
84
86
|
const latestRun = await getRequiredRun(service.store, run.id);
|
|
85
87
|
if (latestRun.status === "canceled") return makeCanceledRunResult(latestRun);
|
|
86
|
-
if (!isCurrentExecutionOwner(latestRun, runningRun)) return await service.readCurrentRunResult(run.id);
|
|
88
|
+
if (!isCurrentExecutionOwner(latestRun, runningRun)) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
87
89
|
const completedAt = service.now();
|
|
88
|
-
|
|
90
|
+
enforceEventHistoryNextLimit(history.events, service.limits);
|
|
89
91
|
const completedRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToCompleted(runningRun, toOptionalPersistedValue(output, "workflow output", service.limits), completedAt));
|
|
90
|
-
if (completedRun === void 0) return await service.readCurrentRunResult(run.id);
|
|
92
|
+
if (completedRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
91
93
|
const completedEvents = await service.store.appendEventIfRunCurrent(completedRun, {
|
|
92
94
|
kind: "workflow_completed",
|
|
93
95
|
timestamp: completedAt
|
|
94
96
|
});
|
|
95
|
-
if (completedEvents === void 0) return await service.readCurrentRunResult(run.id);
|
|
97
|
+
if (completedEvents === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
96
98
|
service.observeDurableEventAppended(run.id, completedEvents.at(-1), completedEvents);
|
|
97
99
|
await releaseLocksForRun(service.store, completedRun.id, completedAt);
|
|
98
|
-
await
|
|
99
|
-
return await service.emitResultLifecycleEvent(makeCompletedRunResult(completedRun), runningRun);
|
|
100
|
+
await wakeParentRun(service.store, completedRun, completedAt);
|
|
101
|
+
return await service.emitResultLifecycleEvent(makeCompletedRunResult(implementation.definition, completedRun), runningRun);
|
|
100
102
|
} catch (error) {
|
|
101
103
|
const latestRun = await service.store.getRun(run.id);
|
|
102
104
|
if (latestRun?.status === "canceled") return makeCanceledRunResult(latestRun);
|
|
103
|
-
if (latestRun === void 0 || !isCurrentExecutionOwner(latestRun, runningRun)) return await service.readCurrentRunResult(run.id);
|
|
105
|
+
if (latestRun === void 0 || !isCurrentExecutionOwner(latestRun, runningRun)) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
104
106
|
if (executionOptions?.signal?.aborted === true && isAbortError(error)) {
|
|
105
107
|
const abortedAt = service.now();
|
|
106
108
|
const waitingRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToExecutionWait(runningRun, abortedAt, abortedAt));
|
|
107
|
-
if (waitingRun === void 0) return await service.readCurrentRunResult(run.id);
|
|
109
|
+
if (waitingRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
108
110
|
return await service.emitResultLifecycleEvent({
|
|
109
111
|
kind: "waiting",
|
|
110
112
|
run: waitingRun,
|
|
111
113
|
availableAt: abortedAt
|
|
112
114
|
}, runningRun);
|
|
113
115
|
}
|
|
114
|
-
if (error instanceof
|
|
116
|
+
if (error instanceof Suspended) {
|
|
115
117
|
const suspendedAt = service.now();
|
|
116
118
|
const deadlineAt = runningRun.deadlineAt;
|
|
117
|
-
if (deadlineAt !== void 0 && (error.retryReason !== void 0 ? Temporal.Instant.compare(deadlineAt, error.availableAt) <= 0 : Temporal.Instant.compare(deadlineAt, error.availableAt) < 0)) return await service.emitResultLifecycleEvent(await failRunForDeadline(service.store, runningRun, deadlineAt, suspendedAt, runningRun), runningRun);
|
|
119
|
+
if (deadlineAt !== void 0 && (error.retryReason !== void 0 ? Temporal.Instant.compare(deadlineAt, error.availableAt) <= 0 : Temporal.Instant.compare(deadlineAt, error.availableAt) < 0)) return await service.emitResultLifecycleEvent(await failRunForDeadline(service.store, implementation.definition, runningRun, deadlineAt, suspendedAt, runningRun), runningRun);
|
|
118
120
|
const waitingRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToExecutionWait(runningRun, suspendedAt, error.availableAt, {
|
|
119
121
|
retryAt: error.retryAt,
|
|
120
122
|
retryReason: error.retryReason,
|
|
@@ -122,7 +124,7 @@ async function executeWorkflowRunCore(service, implementation, run, executionOpt
|
|
|
122
124
|
retryStepId: error.retryStep?.id,
|
|
123
125
|
retryStepName: error.retryStep?.name
|
|
124
126
|
}));
|
|
125
|
-
if (waitingRun === void 0) return await service.readCurrentRunResult(run.id);
|
|
127
|
+
if (waitingRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
126
128
|
return await service.emitResultLifecycleEvent({
|
|
127
129
|
kind: "waiting",
|
|
128
130
|
run: waitingRun,
|
|
@@ -134,39 +136,39 @@ async function executeWorkflowRunCore(service, implementation, run, executionOpt
|
|
|
134
136
|
const workflowAttempt = runningRun.attempts ?? 1;
|
|
135
137
|
const failWorkflowRun = async (errorRecord) => {
|
|
136
138
|
const failedRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToFailed(runningRun, errorRecord, failedAt, "failed"));
|
|
137
|
-
if (failedRun === void 0) return await service.readCurrentRunResult(run.id);
|
|
139
|
+
if (failedRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
138
140
|
const failedEvents = await service.store.appendEventIfRunCurrent(failedRun, {
|
|
139
141
|
kind: "workflow_failed",
|
|
140
142
|
timestamp: failedAt
|
|
141
143
|
});
|
|
142
|
-
if (failedEvents === void 0) return await service.readCurrentRunResult(run.id);
|
|
144
|
+
if (failedEvents === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
143
145
|
service.observeDurableEventAppended(run.id, failedEvents.at(-1), failedEvents);
|
|
144
146
|
await releaseLocksForRun(service.store, failedRun.id, failedAt);
|
|
145
|
-
await
|
|
147
|
+
await wakeParentRun(service.store, failedRun, failedAt);
|
|
146
148
|
return await service.emitResultLifecycleEvent({
|
|
147
149
|
kind: "failed",
|
|
148
150
|
run: failedRun,
|
|
149
151
|
error: errorRecord
|
|
150
152
|
}, runningRun);
|
|
151
153
|
};
|
|
152
|
-
if (!(error instanceof WorkflowNonRetryableError) &&
|
|
154
|
+
if (!(error instanceof WorkflowNonRetryableError) && shouldRetryAttempt(workflowRetry, workflowAttempt)) {
|
|
153
155
|
let retryAt;
|
|
154
156
|
let nextAttempt;
|
|
155
157
|
try {
|
|
156
158
|
retryAt = retryClassificationRetryAt(failedAt, error, "Workflow retry classification") ?? nextRetryAt(failedAt, workflowRetry, workflowAttempt, "Workflow retry delay") ?? failedAt;
|
|
157
|
-
nextAttempt =
|
|
159
|
+
nextAttempt = nextRetryAttempt(workflowAttempt);
|
|
158
160
|
} catch (retryError) {
|
|
159
161
|
return await failWorkflowRun(serializeError(retryError));
|
|
160
162
|
}
|
|
161
163
|
const deadlineAt = runningRun.deadlineAt;
|
|
162
|
-
if (deadlineAt !== void 0 && Temporal.Instant.compare(deadlineAt, retryAt) <= 0) return await service.emitResultLifecycleEvent(await failRunForDeadline(service.store, runningRun, deadlineAt, failedAt, runningRun), runningRun);
|
|
164
|
+
if (deadlineAt !== void 0 && Temporal.Instant.compare(deadlineAt, retryAt) <= 0) return await service.emitResultLifecycleEvent(await failRunForDeadline(service.store, implementation.definition, runningRun, deadlineAt, failedAt, runningRun), runningRun);
|
|
163
165
|
const waitingRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToExecutionWait(runningRun, failedAt, retryAt, {
|
|
164
166
|
retryAt,
|
|
165
167
|
retryReason: "workflow",
|
|
166
168
|
retryAttempt: nextAttempt,
|
|
167
169
|
error: serialized
|
|
168
170
|
}));
|
|
169
|
-
if (waitingRun === void 0) return await service.readCurrentRunResult(run.id);
|
|
171
|
+
if (waitingRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
|
|
170
172
|
return await service.emitResultLifecycleEvent({
|
|
171
173
|
kind: "waiting",
|
|
172
174
|
run: waitingRun,
|
|
@@ -202,16 +204,16 @@ async function executeWorkflowRunCore(service, implementation, run, executionOpt
|
|
|
202
204
|
}
|
|
203
205
|
}
|
|
204
206
|
function scopedRunLogger(logger, run, replaying) {
|
|
205
|
-
return logger.child({
|
|
207
|
+
return logger.child(omitUndefined({
|
|
206
208
|
[WORKFLOW_ATTRIBUTES.system]: WORKFLOW_SYSTEM,
|
|
207
209
|
[WORKFLOW_ATTRIBUTES.workflowName]: run.workflowName,
|
|
208
|
-
|
|
210
|
+
[WORKFLOW_ATTRIBUTES.workflowVersion]: run.workflowVersion,
|
|
209
211
|
[WORKFLOW_ATTRIBUTES.runId]: run.id,
|
|
210
212
|
[WORKFLOW_ATTRIBUTES.namespace]: run.namespace,
|
|
211
213
|
[WORKFLOW_ATTRIBUTES.runAttempt]: run.attempts,
|
|
212
|
-
|
|
214
|
+
[WORKFLOW_ATTRIBUTES.workerId]: run.workerId,
|
|
213
215
|
[WORKFLOW_ATTRIBUTES.replay]: replaying
|
|
214
|
-
});
|
|
216
|
+
}));
|
|
215
217
|
}
|
|
216
218
|
function replayAwareLogger(logger, history) {
|
|
217
219
|
return new ReplayAwareLogger(logger, history);
|
|
@@ -241,11 +243,11 @@ var ReplayAwareLogger = class ReplayAwareLogger {
|
|
|
241
243
|
warn(message, attributes) {
|
|
242
244
|
if (this.#history.isReplayConsumed()) this.#logger.warn(message, attributes);
|
|
243
245
|
}
|
|
244
|
-
error(message, attributes) {
|
|
245
|
-
if (this.#history.isReplayConsumed()) this.#logger.error(message, attributes);
|
|
246
|
+
error(message, cause, attributes) {
|
|
247
|
+
if (this.#history.isReplayConsumed()) this.#logger.error(message, cause, attributes);
|
|
246
248
|
}
|
|
247
|
-
fatal(message, attributes) {
|
|
248
|
-
if (this.#history.isReplayConsumed()) this.#logger.fatal(message, attributes);
|
|
249
|
+
fatal(message, cause, attributes) {
|
|
250
|
+
if (this.#history.isReplayConsumed()) this.#logger.fatal(message, cause, attributes);
|
|
249
251
|
}
|
|
250
252
|
async flush() {
|
|
251
253
|
await this.#logger.flush?.();
|
|
@@ -285,4 +287,4 @@ function watchRunCancellationWithSignal(store, executionOwner, parentSignal) {
|
|
|
285
287
|
};
|
|
286
288
|
}
|
|
287
289
|
//#endregion
|
|
288
|
-
export {
|
|
290
|
+
export { executeRun };
|
package/dist/engine/hooks.d.mts
CHANGED
|
@@ -1,56 +1,34 @@
|
|
|
1
|
-
import { MessageId } from "../types/
|
|
2
|
-
import { RunId } from "../types/run-id.mjs";
|
|
1
|
+
import { MessageId, RunId } from "../types/ids.mjs";
|
|
3
2
|
import { CreateHookOptions, CreateWebhookOptions, Hook as Hook$1, HookInspection, ResumeHookOptions, Webhook as Webhook$1 } from "../types/hook.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { WorkflowConditionalEventAppender, WorkflowEventReader, WorkflowMessageIdempotencyIndexLookup, WorkflowRunConditionalWriterRepository, WorkflowRunReaderRepository } from "../types/store.mjs";
|
|
9
|
-
import { WorkflowExecutionLimits } from "../types/engine-options.mjs";
|
|
10
|
-
import { WorkflowExecutionEnvironment } from "../types/engine.mjs";
|
|
3
|
+
import { StepHookApi } from "../types/step.mjs";
|
|
4
|
+
import { WorkflowStore } from "../types/store.mjs";
|
|
5
|
+
import { EngineContext } from "./context.mjs";
|
|
6
|
+
import { ExecutionEnvironment } from "../types/engine.mjs";
|
|
11
7
|
import { StorageValue } from "@temelj/storage";
|
|
12
8
|
//#region src/engine/hooks.d.ts
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
readonly store: WorkflowHookStore;
|
|
16
|
-
readonly now: () => Temporal.Instant;
|
|
17
|
-
readonly limits: WorkflowExecutionLimits;
|
|
18
|
-
readonly emitMessageSent: (runId: RunId, event: Extract<EventRecord, {
|
|
19
|
-
readonly kind: "message_sent";
|
|
20
|
-
}>) => void;
|
|
21
|
-
readonly emitHookResumed: (runId: RunId, messageId: MessageId, payload: StorageValue | undefined, traceContext: TelemetryContext | undefined) => void;
|
|
22
|
-
readonly emitWebhookResumed: (runId: RunId, messageId: MessageId, payload: StorageValue | undefined, traceContext: TelemetryContext | undefined) => void;
|
|
23
|
-
readonly telemetry?: Telemetry;
|
|
24
|
-
}
|
|
25
|
-
declare function createHook<TPayload>(runId: RunId, options: CreateHookOptions, wait: () => Promise<unknown>): Hook$1<TPayload>;
|
|
26
|
-
declare function createWebhook<TPayload>(runId: RunId, options: CreateWebhookOptions, wait: () => Promise<unknown>): Webhook$1<TPayload>;
|
|
27
|
-
declare function createWorkflowStepHookApi(environment: WorkflowExecutionEnvironment): WorkflowStepHookApi;
|
|
28
|
-
declare class Hook<TPayload> implements Hook$1<TPayload> {
|
|
9
|
+
export declare function createStepHookApi(environment: ExecutionEnvironment): StepHookApi;
|
|
10
|
+
export declare class Hook<TPayload> implements Hook$1<TPayload> {
|
|
29
11
|
#private;
|
|
30
12
|
readonly token: string;
|
|
31
13
|
readonly runId: RunId;
|
|
32
14
|
readonly name: string;
|
|
33
15
|
readonly messageId: MessageId;
|
|
34
|
-
constructor(runId: RunId, options: CreateHookOptions, wait: () => Promise<
|
|
16
|
+
constructor(runId: RunId, options: Omit<CreateHookOptions, "schema">, wait: () => Promise<TPayload>);
|
|
35
17
|
wait(): Promise<TPayload>;
|
|
36
|
-
then<TResult1 = TPayload, TResult2 = never>(onfulfilled?: ((value: TPayload) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((
|
|
18
|
+
then<TResult1 = TPayload, TResult2 = never>(onfulfilled?: ((value: TPayload) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((cause: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
|
|
37
19
|
}
|
|
38
|
-
declare class Webhook<TPayload> implements Webhook$1<TPayload> {
|
|
20
|
+
export declare class Webhook<TPayload> implements Webhook$1<TPayload> {
|
|
39
21
|
#private;
|
|
40
22
|
readonly token: string;
|
|
41
23
|
readonly runId: RunId;
|
|
42
24
|
readonly name: string;
|
|
43
25
|
readonly messageId: MessageId;
|
|
44
|
-
readonly metadata?:
|
|
45
|
-
constructor(runId: RunId, options: CreateWebhookOptions, wait: () => Promise<
|
|
26
|
+
readonly metadata?: StorageValue;
|
|
27
|
+
constructor(runId: RunId, options: Omit<CreateWebhookOptions, "schema">, wait: () => Promise<TPayload>);
|
|
46
28
|
wait(): Promise<TPayload>;
|
|
47
|
-
then<TResult1 = TPayload, TResult2 = never>(onfulfilled?: ((value: TPayload) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((
|
|
29
|
+
then<TResult1 = TPayload, TResult2 = never>(onfulfilled?: ((value: TPayload) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((cause: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
|
|
48
30
|
}
|
|
49
|
-
declare function resumeHook(token: string, options: ResumeHookOptions | undefined,
|
|
50
|
-
declare function
|
|
51
|
-
declare function
|
|
52
|
-
|
|
53
|
-
declare function getHookByToken(token: string, store: WorkflowRunReaderRepository & WorkflowEventReader, now: Temporal.Instant): Promise<HookInspection>;
|
|
54
|
-
declare function inspectHookToken(token: string, run: WorkflowRunRecord | undefined, events: readonly EventRecord[], now: Temporal.Instant): HookInspection;
|
|
55
|
-
//#endregion
|
|
56
|
-
export { Hook, Webhook, createHook, createWebhook, createWorkflowStepHookApi, disposeHook, disposeWebhook, getHookByToken, inspectHookToken, resumeHook, resumeWebhook };
|
|
31
|
+
export declare function resumeHook(token: string, options: ResumeHookOptions | undefined, context: EngineContext): Promise<void>;
|
|
32
|
+
export declare function disposeHook(token: string, context: EngineContext): Promise<HookInspection>;
|
|
33
|
+
export declare function getHookByToken(token: string, store: WorkflowStore, now: Temporal.Instant): Promise<HookInspection>;
|
|
34
|
+
//#endregion
|