@temelj/workflow 0.0.0-alpha.3 → 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 +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
package/dist/store-keys.d.mts
CHANGED
|
@@ -1,50 +1,38 @@
|
|
|
1
|
-
import { RunId } from "./types/
|
|
1
|
+
import { RunId, StepId } from "./types/ids.mjs";
|
|
2
2
|
import { ScheduleId } from "./types/schedule.mjs";
|
|
3
|
-
import "./types/
|
|
4
|
-
import {
|
|
3
|
+
import { StepAttemptRecord } from "./types/step-attempts.mjs";
|
|
4
|
+
import { IdempotencyKeyOptions } from "./types/store.mjs";
|
|
5
5
|
//#region src/store-keys.d.ts
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
type
|
|
9
|
-
type
|
|
10
|
-
type
|
|
11
|
-
type
|
|
12
|
-
type
|
|
13
|
-
type
|
|
14
|
-
type
|
|
15
|
-
type
|
|
16
|
-
type
|
|
17
|
-
type
|
|
18
|
-
type
|
|
19
|
-
type
|
|
20
|
-
|
|
21
|
-
declare function makeWorkflowIdempotencyKey(namespace: string, options:
|
|
22
|
-
|
|
23
|
-
declare function
|
|
24
|
-
|
|
25
|
-
declare function
|
|
26
|
-
|
|
27
|
-
declare function
|
|
28
|
-
|
|
29
|
-
declare function
|
|
30
|
-
declare function
|
|
31
|
-
|
|
32
|
-
declare function
|
|
33
|
-
|
|
34
|
-
declare function
|
|
35
|
-
|
|
36
|
-
declare function
|
|
37
|
-
/** Builds a workflow lock storage key. */
|
|
38
|
-
declare function makeLockKey(namespace: string, key: string): WorkflowLockKey;
|
|
39
|
-
/** Builds a workflow cleanup marker storage key. */
|
|
40
|
-
declare function makeCleanupMarkerKey(namespace: string, runId: RunId): WorkflowCleanupMarkerKey;
|
|
41
|
-
/** Builds a workflow cleanup marker storage key prefix. */
|
|
42
|
-
declare function makeCleanupMarkerKeyPrefix(namespace: string): WorkflowCleanupMarkerKeyPrefix;
|
|
43
|
-
/** Builds a workflow lock storage key prefix. */
|
|
44
|
-
declare function makeLockKeyPrefix(namespace: string): WorkflowLockKeyPrefix;
|
|
45
|
-
/** Builds a workflow idempotency storage key. */
|
|
46
|
-
declare function makeIdempotencyKey(namespace: string, options: WorkflowIdempotencyKeyOptions): WorkflowIdempotencyKey;
|
|
47
|
-
/** Builds a workflow run storage key prefix. */
|
|
48
|
-
declare function makeRunKeyPrefix(namespace: string): WorkflowRunKeyPrefix;
|
|
6
|
+
/** The key of one step attempt within a run, such as `run:step_1:2`. */
|
|
7
|
+
export declare function stepAttemptKey(stepId: StepId, attempt: number): string;
|
|
8
|
+
export type IdempotencyKey = `workflow:${string}:idempotency:${string}:${string}`;
|
|
9
|
+
export type MessageIdempotencyKey = `workflow:${string}:message-idempotency:${string}:${string}`;
|
|
10
|
+
type RunKey = `workflow:${string}:run:${string}`;
|
|
11
|
+
export type EventsKey = `workflow:${string}:events:${string}`;
|
|
12
|
+
type StepAttemptKey = `workflow:${string}:step-attempt:${string}:${string}`;
|
|
13
|
+
type ScheduleKey = `workflow:${string}:schedule:${string}`;
|
|
14
|
+
type LockKey = `workflow:${string}:lock:${string}`;
|
|
15
|
+
type CleanupMarkerKey = `workflow:${string}:cleanup:${string}`;
|
|
16
|
+
type RunKeyPrefix = `workflow:${string}:run:`;
|
|
17
|
+
type StepAttemptKeyPrefix = `workflow:${string}:step-attempt:${string}:`;
|
|
18
|
+
type ScheduleKeyPrefix = `workflow:${string}:schedule:`;
|
|
19
|
+
type LockKeyPrefix = `workflow:${string}:lock:`;
|
|
20
|
+
type CleanupMarkerKeyPrefix = `workflow:${string}:cleanup:`;
|
|
21
|
+
export declare function makeWorkflowIdempotencyKey(namespace: string, options: IdempotencyKeyOptions): IdempotencyKey;
|
|
22
|
+
export declare function makeRunKey(namespace: string, runId: RunId): RunKey;
|
|
23
|
+
export declare function makeEventsKey(namespace: string, runId: RunId): EventsKey;
|
|
24
|
+
export declare function makeStepAttemptKey(namespace: string, runId: RunId, attemptKey: string): StepAttemptKey;
|
|
25
|
+
export declare function makeStepAttemptKeyPrefix(namespace: string, runId: RunId): StepAttemptKeyPrefix;
|
|
26
|
+
export declare function isStepAttemptKey(key: string, namespace: string, runId: RunId): boolean;
|
|
27
|
+
export declare function makeMessageIdempotencyKey(namespace: string, runId: RunId, idempotencyKey: string): MessageIdempotencyKey;
|
|
28
|
+
export declare function makeScheduleKey(namespace: string, scheduleId: ScheduleId): ScheduleKey;
|
|
29
|
+
export declare function makeScheduleKeyPrefix(namespace: string): ScheduleKeyPrefix;
|
|
30
|
+
export declare function makeLockKey(namespace: string, key: string): LockKey;
|
|
31
|
+
export declare function makeCleanupMarkerKey(namespace: string, runId: RunId): CleanupMarkerKey;
|
|
32
|
+
export declare function makeCleanupMarkerKeyPrefix(namespace: string): CleanupMarkerKeyPrefix;
|
|
33
|
+
export declare function makeLockKeyPrefix(namespace: string): LockKeyPrefix;
|
|
34
|
+
export declare function makeIdempotencyKey(namespace: string, options: IdempotencyKeyOptions): IdempotencyKey;
|
|
35
|
+
export declare function makeRunKeyPrefix(namespace: string): RunKeyPrefix;
|
|
36
|
+
export declare function runStepAttemptKey(runId: RunId, attempt: StepAttemptRecord): string;
|
|
49
37
|
//#endregion
|
|
50
|
-
export {
|
|
38
|
+
export {};
|
package/dist/store-keys.mjs
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
import { makeWorkflowStepAttemptKey } from "./history/attempt-key.mjs";
|
|
2
1
|
//#region src/store-keys.ts
|
|
3
|
-
/**
|
|
2
|
+
/** The key of one step attempt within a run, such as `run:step_1:2`. */
|
|
3
|
+
function stepAttemptKey(stepId, attempt) {
|
|
4
|
+
return `run:${stepId}:${attempt}`;
|
|
5
|
+
}
|
|
4
6
|
function makeWorkflowIdempotencyKey(namespace, options) {
|
|
5
7
|
return makeIdempotencyKey(namespace, options);
|
|
6
8
|
}
|
|
7
|
-
/** Builds a workflow run storage key. */
|
|
8
9
|
function makeRunKey(namespace, runId) {
|
|
9
10
|
return `${namespacePrefix(namespace)}run:${runId}`;
|
|
10
11
|
}
|
|
11
|
-
/** Builds a workflow event-history storage key. */
|
|
12
12
|
function makeEventsKey(namespace, runId) {
|
|
13
13
|
return `${namespacePrefix(namespace)}events:${runId}`;
|
|
14
14
|
}
|
|
15
|
-
/** Builds a workflow step-attempt storage key. */
|
|
16
15
|
function makeStepAttemptKey(namespace, runId, attemptKey) {
|
|
17
16
|
return `${makeStepAttemptKeyPrefix(namespace, runId)}${encodeURIComponent(attemptKey)}`;
|
|
18
17
|
}
|
|
19
|
-
/** Builds a workflow step-attempt storage key prefix. */
|
|
20
18
|
function makeStepAttemptKeyPrefix(namespace, runId) {
|
|
21
19
|
return `${namespacePrefix(namespace)}step-attempt:${runId}:`;
|
|
22
20
|
}
|
|
@@ -30,7 +28,7 @@ function isStepAttemptKey(key, namespace, runId) {
|
|
|
30
28
|
const stepId = attemptKey.slice(4, separator);
|
|
31
29
|
const attempt = Number(attemptKey.slice(separator + 1));
|
|
32
30
|
try {
|
|
33
|
-
return
|
|
31
|
+
return stepAttemptKey(stepId, attempt) === attemptKey;
|
|
34
32
|
} catch {
|
|
35
33
|
return false;
|
|
36
34
|
}
|
|
@@ -42,45 +40,39 @@ function decodeStepAttemptKey(key, prefix) {
|
|
|
42
40
|
return;
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
|
-
/** Builds a workflow message idempotency storage key. */
|
|
46
43
|
function makeMessageIdempotencyKey(namespace, runId, idempotencyKey) {
|
|
47
44
|
return `${namespacePrefix(namespace)}message-idempotency:${encodeURIComponent(runId)}:${encodeURIComponent(idempotencyKey)}`;
|
|
48
45
|
}
|
|
49
|
-
/** Builds a workflow schedule storage key. */
|
|
50
46
|
function makeScheduleKey(namespace, scheduleId) {
|
|
51
47
|
return `${namespacePrefix(namespace)}schedule:${encodeURIComponent(scheduleId)}`;
|
|
52
48
|
}
|
|
53
|
-
/** Builds a workflow schedule storage key prefix. */
|
|
54
49
|
function makeScheduleKeyPrefix(namespace) {
|
|
55
50
|
return `${namespacePrefix(namespace)}schedule:`;
|
|
56
51
|
}
|
|
57
|
-
/** Builds a workflow lock storage key. */
|
|
58
52
|
function makeLockKey(namespace, key) {
|
|
59
53
|
return `${namespacePrefix(namespace)}lock:${encodeURIComponent(key)}`;
|
|
60
54
|
}
|
|
61
|
-
/** Builds a workflow cleanup marker storage key. */
|
|
62
55
|
function makeCleanupMarkerKey(namespace, runId) {
|
|
63
56
|
return `${namespacePrefix(namespace)}cleanup:${encodeURIComponent(runId)}`;
|
|
64
57
|
}
|
|
65
|
-
/** Builds a workflow cleanup marker storage key prefix. */
|
|
66
58
|
function makeCleanupMarkerKeyPrefix(namespace) {
|
|
67
59
|
return `${namespacePrefix(namespace)}cleanup:`;
|
|
68
60
|
}
|
|
69
|
-
/** Builds a workflow lock storage key prefix. */
|
|
70
61
|
function makeLockKeyPrefix(namespace) {
|
|
71
62
|
return `${namespacePrefix(namespace)}lock:`;
|
|
72
63
|
}
|
|
73
|
-
/** Builds a workflow idempotency storage key. */
|
|
74
64
|
function makeIdempotencyKey(namespace, options) {
|
|
75
65
|
const versionedName = options.workflowVersion === void 0 ? options.workflowName : `${options.workflowName}@${options.workflowVersion}`;
|
|
76
66
|
return `${namespacePrefix(namespace)}idempotency:${encodeURIComponent(versionedName)}:${encodeURIComponent(options.idempotencyKey)}`;
|
|
77
67
|
}
|
|
78
|
-
/** Builds a workflow run storage key prefix. */
|
|
79
68
|
function makeRunKeyPrefix(namespace) {
|
|
80
69
|
return `${namespacePrefix(namespace)}run:`;
|
|
81
70
|
}
|
|
82
71
|
function namespacePrefix(namespace) {
|
|
83
72
|
return `workflow:${encodeURIComponent(namespace)}:`;
|
|
84
73
|
}
|
|
74
|
+
function runStepAttemptKey(runId, attempt) {
|
|
75
|
+
return `${runId}:${stepAttemptKey(attempt.stepId, attempt.attempt)}`;
|
|
76
|
+
}
|
|
85
77
|
//#endregion
|
|
86
|
-
export { isStepAttemptKey, makeCleanupMarkerKey, makeCleanupMarkerKeyPrefix, makeEventsKey, makeIdempotencyKey, makeLockKey, makeLockKeyPrefix, makeMessageIdempotencyKey, makeRunKey, makeRunKeyPrefix, makeScheduleKey, makeScheduleKeyPrefix, makeStepAttemptKey, makeStepAttemptKeyPrefix, makeWorkflowIdempotencyKey };
|
|
78
|
+
export { isStepAttemptKey, makeCleanupMarkerKey, makeCleanupMarkerKeyPrefix, makeEventsKey, makeIdempotencyKey, makeLockKey, makeLockKeyPrefix, makeMessageIdempotencyKey, makeRunKey, makeRunKeyPrefix, makeScheduleKey, makeScheduleKeyPrefix, makeStepAttemptKey, makeStepAttemptKeyPrefix, makeWorkflowIdempotencyKey, runStepAttemptKey, stepAttemptKey };
|
package/dist/telemetry.d.mts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ObservationEventArgs } from "./types/observation.mjs";
|
|
2
|
+
import { ExecutionResult } from "./types/result.mjs";
|
|
2
3
|
import { RunTelemetryContext, StepTelemetryContext, StorageTelemetryContext, Telemetry, TelemetryContext } from "./types/telemetry.mjs";
|
|
4
|
+
import "temporal-polyfill/global";
|
|
3
5
|
//#region src/telemetry.d.ts
|
|
4
6
|
/** Instrumentation scope used by workflow telemetry adapters. */
|
|
5
|
-
declare const WORKFLOW_INSTRUMENTATION_NAME = "temelj.workflow";
|
|
6
|
-
|
|
7
|
-
declare const WORKFLOW_INSTRUMENTATION_VERSION = "0.1.0";
|
|
7
|
+
export declare const WORKFLOW_INSTRUMENTATION_NAME = "temelj.workflow";
|
|
8
|
+
export declare const WORKFLOW_INSTRUMENTATION_VERSION = "0.1.0";
|
|
8
9
|
/** Stable workflow system identifier used on spans, metrics, and logs. */
|
|
9
|
-
declare const WORKFLOW_SYSTEM = "temelj";
|
|
10
|
+
export declare const WORKFLOW_SYSTEM = "temelj";
|
|
10
11
|
/** Stable OpenTelemetry span names emitted by `@temelj/workflow`. */
|
|
11
|
-
declare const WORKFLOW_SPAN_NAMES: {
|
|
12
|
+
export declare const WORKFLOW_SPAN_NAMES: {
|
|
12
13
|
readonly childWorkflowOperation: "temelj.workflow.child_workflow.operation";
|
|
13
14
|
readonly cleanupOperation: "temelj.workflow.cleanup.operation";
|
|
14
15
|
readonly hookResume: "temelj.workflow.hook.resume";
|
|
@@ -24,7 +25,7 @@ declare const WORKFLOW_SPAN_NAMES: {
|
|
|
24
25
|
readonly workerOperation: "temelj.workflow.worker.operation";
|
|
25
26
|
};
|
|
26
27
|
/** Stable metric names emitted by `@temelj/workflow` telemetry. */
|
|
27
|
-
declare const WORKFLOW_METRIC_NAMES: {
|
|
28
|
+
export declare const WORKFLOW_METRIC_NAMES: {
|
|
28
29
|
readonly cleanupDeletedRuns: "temelj.workflow.cleanup.deleted_runs";
|
|
29
30
|
readonly eventsAppended: "temelj.workflow.events.appended";
|
|
30
31
|
readonly hooksResumed: "temelj.workflow.hooks.resumed";
|
|
@@ -53,7 +54,7 @@ declare const WORKFLOW_METRIC_NAMES: {
|
|
|
53
54
|
readonly workerLeaseReleases: "temelj.workflow.worker.lease_releases";
|
|
54
55
|
};
|
|
55
56
|
/** Stable workflow attribute names used by traces, metrics, and logs. */
|
|
56
|
-
declare const WORKFLOW_ATTRIBUTES: {
|
|
57
|
+
export declare const WORKFLOW_ATTRIBUTES: {
|
|
57
58
|
readonly canceled: "workflow.canceled";
|
|
58
59
|
readonly childWorkflowDurationMs: "workflow.child_workflow.duration_ms";
|
|
59
60
|
readonly childWorkflowOperation: "workflow.child_workflow.operation";
|
|
@@ -116,17 +117,16 @@ declare const WORKFLOW_ATTRIBUTES: {
|
|
|
116
117
|
readonly workflowVersion: "workflow.version";
|
|
117
118
|
};
|
|
118
119
|
/** OpenTelemetry semantic convention attributes used when workflow operations act like messages. */
|
|
119
|
-
declare const WORKFLOW_MESSAGING_ATTRIBUTES: {
|
|
120
|
+
export declare const WORKFLOW_MESSAGING_ATTRIBUTES: {
|
|
120
121
|
readonly destinationName: "messaging.destination.name";
|
|
121
122
|
readonly messageId: "messaging.message.id";
|
|
122
123
|
readonly operationName: "messaging.operation.name";
|
|
123
124
|
readonly operationType: "messaging.operation.type";
|
|
124
125
|
readonly system: "messaging.system";
|
|
125
126
|
};
|
|
126
|
-
declare function captureTelemetryContext(telemetry: Telemetry | undefined): TelemetryContext | undefined;
|
|
127
|
-
declare function withRunTelemetry<T>(telemetry: Telemetry | undefined, context: RunTelemetryContext, callback: () => Promise<T>): Promise<T>;
|
|
128
|
-
declare function withStepTelemetry<T>(telemetry: Telemetry | undefined, context: StepTelemetryContext, callback: () => Promise<T>): Promise<T>;
|
|
129
|
-
declare function withStorageTelemetry<T>(telemetry: Telemetry | undefined, context: StorageTelemetryContext, callback: () => Promise<T>): Promise<T>;
|
|
130
|
-
declare function observeTelemetry
|
|
131
|
-
//#endregion
|
|
132
|
-
export { WORKFLOW_ATTRIBUTES, WORKFLOW_INSTRUMENTATION_NAME, WORKFLOW_INSTRUMENTATION_VERSION, WORKFLOW_MESSAGING_ATTRIBUTES, WORKFLOW_METRIC_NAMES, WORKFLOW_SPAN_NAMES, WORKFLOW_SYSTEM, captureTelemetryContext, observeTelemetry, withRunTelemetry, withStepTelemetry, withStorageTelemetry };
|
|
127
|
+
export declare function captureTelemetryContext(telemetry: Telemetry | undefined): TelemetryContext | undefined;
|
|
128
|
+
export declare function withRunTelemetry<T extends ExecutionResult>(telemetry: Telemetry | undefined, context: RunTelemetryContext, callback: () => Promise<T>): Promise<T>;
|
|
129
|
+
export declare function withStepTelemetry<T>(telemetry: Telemetry | undefined, context: StepTelemetryContext, callback: () => Promise<T>): Promise<T>;
|
|
130
|
+
export declare function withStorageTelemetry<T>(telemetry: Telemetry | undefined, context: StorageTelemetryContext, callback: () => Promise<T>): Promise<T>;
|
|
131
|
+
export declare function observeTelemetry(telemetry: Telemetry | undefined, ...event: ObservationEventArgs): void;
|
|
132
|
+
//#endregion
|
package/dist/telemetry.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import "temporal-polyfill/global";
|
|
1
2
|
//#region src/telemetry.ts
|
|
2
3
|
/** Instrumentation scope used by workflow telemetry adapters. */
|
|
3
4
|
const WORKFLOW_INSTRUMENTATION_NAME = "temelj.workflow";
|
|
4
|
-
/** Version of the built-in workflow telemetry instrumentation. */
|
|
5
5
|
const WORKFLOW_INSTRUMENTATION_VERSION = "0.1.0";
|
|
6
6
|
/** Stable workflow system identifier used on spans, metrics, and logs. */
|
|
7
7
|
const WORKFLOW_SYSTEM = "temelj";
|
|
@@ -140,9 +140,9 @@ async function withStorageTelemetry(telemetry, context, callback) {
|
|
|
140
140
|
if (telemetry?.withStorageOperation === void 0) return await callback();
|
|
141
141
|
return await withTelemetry((wrappedCallback) => telemetry.withStorageOperation(context, wrappedCallback), callback);
|
|
142
142
|
}
|
|
143
|
-
function observeTelemetry(telemetry,
|
|
143
|
+
function observeTelemetry(telemetry, ...event) {
|
|
144
144
|
try {
|
|
145
|
-
telemetry?.observe?.(
|
|
145
|
+
telemetry?.observe?.(...event);
|
|
146
146
|
} catch {
|
|
147
147
|
return;
|
|
148
148
|
}
|
package/dist/temporal.d.mts
CHANGED
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
//#region src/temporal.d.ts
|
|
2
|
-
/** Returns a
|
|
3
|
-
declare function
|
|
2
|
+
/** Returns a duration's total milliseconds, or NaN when Temporal cannot represent it safely. */
|
|
3
|
+
export declare function durationTotal(value: Temporal.Duration): number;
|
|
4
4
|
/** Returns a non-negative millisecond duration between optional instants. */
|
|
5
|
-
declare function optionalDurationBetweenMilliseconds(from: Temporal.Instant | undefined, to: Temporal.Instant | undefined): number | undefined;
|
|
5
|
+
export declare function optionalDurationBetweenMilliseconds(from: Temporal.Instant | undefined, to: Temporal.Instant | undefined): number | undefined;
|
|
6
6
|
/** Returns a non-negative Temporal duration between two instants. */
|
|
7
|
-
declare function durationBetween(from: Temporal.Instant, to: Temporal.Instant): Temporal.Duration;
|
|
7
|
+
export declare function durationBetween(from: Temporal.Instant, to: Temporal.Instant): Temporal.Duration;
|
|
8
8
|
/** Returns whether a timestamp falls inside an inclusive optional instant range. */
|
|
9
|
-
declare function matchesTimestampRange(timestamp: Temporal.Instant, from: Temporal.Instant | undefined, to: Temporal.Instant | undefined): boolean;
|
|
9
|
+
export declare function matchesTimestampRange(timestamp: Temporal.Instant, from: Temporal.Instant | undefined, to: Temporal.Instant | undefined): boolean;
|
|
10
10
|
/** Returns whether an optional timestamp falls inside an inclusive optional instant range. */
|
|
11
|
-
declare function matchesOptionalTimestampRange(timestamp: Temporal.Instant | undefined, from: Temporal.Instant | undefined, to: Temporal.Instant | undefined): boolean;
|
|
11
|
+
export declare function matchesOptionalTimestampRange(timestamp: Temporal.Instant | undefined, from: Temporal.Instant | undefined, to: Temporal.Instant | undefined): boolean;
|
|
12
12
|
/** Returns whether an optional duration falls inside an inclusive optional duration range. */
|
|
13
|
-
declare function matchesOptionalDurationRange(value: Temporal.Duration | undefined, from: Temporal.Duration | undefined, to: Temporal.Duration | undefined): boolean;
|
|
13
|
+
export declare function matchesOptionalDurationRange(value: Temporal.Duration | undefined, from: Temporal.Duration | undefined, to: Temporal.Duration | undefined): boolean;
|
|
14
14
|
/** Compares optional timestamps, sorting present timestamps before undefined values. */
|
|
15
|
-
declare function compareOptionalTimestamps(left: Temporal.Instant | undefined, right: Temporal.Instant | undefined): number;
|
|
16
|
-
|
|
17
|
-
declare function
|
|
18
|
-
|
|
19
|
-
declare function latestOptionalTimestamp(current: Temporal.Instant | undefined, next: Temporal.Instant | undefined): Temporal.Instant | undefined;
|
|
20
|
-
/** Returns whether `next` should replace `current` as the earliest defined instant. */
|
|
21
|
-
declare function shouldReplaceWorkflowEarliestDefinedInstant(current: Temporal.Instant | undefined, next: Temporal.Instant | undefined): boolean;
|
|
22
|
-
//#endregion
|
|
23
|
-
export { compareOptionalTimestamps, durationBetween, durationBetweenMilliseconds, earliestOptionalTimestamp, latestOptionalTimestamp, matchesOptionalDurationRange, matchesOptionalTimestampRange, matchesTimestampRange, optionalDurationBetweenMilliseconds, shouldReplaceWorkflowEarliestDefinedInstant };
|
|
15
|
+
export declare function compareOptionalTimestamps(left: Temporal.Instant | undefined, right: Temporal.Instant | undefined): number;
|
|
16
|
+
export declare function earliestOptionalTimestamp(current: Temporal.Instant | undefined, next: Temporal.Instant | undefined): Temporal.Instant | undefined;
|
|
17
|
+
export declare function latestOptionalTimestamp(current: Temporal.Instant | undefined, next: Temporal.Instant | undefined): Temporal.Instant | undefined;
|
|
18
|
+
//#endregion
|
package/dist/temporal.mjs
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
//#region src/temporal.ts
|
|
2
|
+
/** Returns a duration's total milliseconds, or NaN when Temporal cannot represent it safely. */
|
|
3
|
+
function durationTotal(value) {
|
|
4
|
+
const total = value.total({ unit: "millisecond" });
|
|
5
|
+
return Number.isFinite(total) ? total : NaN;
|
|
6
|
+
}
|
|
2
7
|
/** Returns a non-negative millisecond duration between two instants. */
|
|
3
8
|
function durationBetweenMilliseconds(from, to) {
|
|
4
9
|
return Math.max(0, to.epochMilliseconds - from.epochMilliseconds);
|
|
@@ -28,8 +33,8 @@ function matchesOptionalDurationRange(value, from, to) {
|
|
|
28
33
|
if (from === void 0 && to === void 0) return true;
|
|
29
34
|
if (value === void 0) return false;
|
|
30
35
|
const current = value.total({ unit: "millisecond" });
|
|
31
|
-
const lower = from
|
|
32
|
-
const upper = to
|
|
36
|
+
const lower = from?.total({ unit: "millisecond" });
|
|
37
|
+
const upper = to?.total({ unit: "millisecond" });
|
|
33
38
|
return (lower === void 0 || current >= lower) && (upper === void 0 || current <= upper);
|
|
34
39
|
}
|
|
35
40
|
/** Compares optional timestamps, sorting present timestamps before undefined values. */
|
|
@@ -39,21 +44,15 @@ function compareOptionalTimestamps(left, right) {
|
|
|
39
44
|
if (right !== void 0) return 1;
|
|
40
45
|
return 0;
|
|
41
46
|
}
|
|
42
|
-
/** Returns the earlier of two optional timestamps. */
|
|
43
47
|
function earliestOptionalTimestamp(current, next) {
|
|
44
48
|
if (next === void 0) return current;
|
|
45
49
|
if (current === void 0) return next;
|
|
46
50
|
return Temporal.Instant.compare(next, current) < 0 ? next : current;
|
|
47
51
|
}
|
|
48
|
-
/** Returns the later of two optional timestamps. */
|
|
49
52
|
function latestOptionalTimestamp(current, next) {
|
|
50
53
|
if (next === void 0) return current;
|
|
51
54
|
if (current === void 0) return next;
|
|
52
55
|
return Temporal.Instant.compare(next, current) > 0 ? next : current;
|
|
53
56
|
}
|
|
54
|
-
/** Returns whether `next` should replace `current` as the earliest defined instant. */
|
|
55
|
-
function shouldReplaceWorkflowEarliestDefinedInstant(current, next) {
|
|
56
|
-
return next !== void 0 && (current === void 0 || Temporal.Instant.compare(next, current) < 0);
|
|
57
|
-
}
|
|
58
57
|
//#endregion
|
|
59
|
-
export { compareOptionalTimestamps, durationBetween,
|
|
58
|
+
export { compareOptionalTimestamps, durationBetween, durationTotal, earliestOptionalTimestamp, latestOptionalTimestamp, matchesOptionalDurationRange, matchesOptionalTimestampRange, matchesTimestampRange, optionalDurationBetweenMilliseconds };
|
package/dist/timer.d.mts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { TimerDelay } from "./types/common.mjs";
|
|
2
1
|
//#region src/timer.d.ts
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
/** Timer delay after validation and runtime clamping. */
|
|
3
|
+
interface TimerDelay {
|
|
4
|
+
readonly duration: Temporal.Duration;
|
|
5
|
+
readonly clampedDelay: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const MAX_TIMER_DELAY: number;
|
|
8
|
+
export type TimeoutHandle = ReturnType<typeof setTimeout>;
|
|
9
|
+
export type IntervalHandle = ReturnType<typeof setInterval>;
|
|
10
|
+
export declare function nonNegativeTimerDelay(duration: Temporal.Duration, label: string, maximumDelay?: number): TimerDelay;
|
|
11
|
+
export declare function positiveTimerDelay(duration: Temporal.Duration, label: string, maximumDelay?: number): TimerDelay;
|
|
12
|
+
export declare function sleep(duration: number): Promise<void>;
|
|
11
13
|
//#endregion
|
|
12
|
-
export {
|
|
14
|
+
export {};
|
package/dist/timer.mjs
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
import { durationTotal } from "./temporal.mjs";
|
|
2
|
+
import { WorkflowErrorCode } from "./errors/codes.mjs";
|
|
1
3
|
import { WorkflowOptionsError } from "./errors/base.mjs";
|
|
2
|
-
import { durationTotal, isNonNegativeSafeInteger, isPositiveSafeInteger } from "./utility.mjs";
|
|
3
4
|
import "./errors/mod.mjs";
|
|
5
|
+
import { isNonNegativeSafeInteger, isPositiveSafeInteger } from "./values.mjs";
|
|
4
6
|
//#region src/timer.ts
|
|
5
7
|
const MAX_TIMER_DELAY = 2 ** 31 - 1;
|
|
6
8
|
function nonNegativeTimerDelay(duration, label, maximumDelay = MAX_TIMER_DELAY) {
|
|
7
9
|
const delay = durationTotal(duration);
|
|
8
|
-
if (!isNonNegativeSafeInteger(delay)) WorkflowOptionsError
|
|
10
|
+
if (!isNonNegativeSafeInteger(delay)) throw new WorkflowOptionsError(`${label} must be non-negative`, {
|
|
11
|
+
code: WorkflowErrorCode.OPTIONS_EXPECTED_NON_NEGATIVE_DURATION,
|
|
12
|
+
details: { label }
|
|
13
|
+
});
|
|
9
14
|
return {
|
|
10
15
|
duration,
|
|
11
16
|
clampedDelay: Math.min(delay, maximumDelay)
|
|
@@ -13,7 +18,10 @@ function nonNegativeTimerDelay(duration, label, maximumDelay = MAX_TIMER_DELAY)
|
|
|
13
18
|
}
|
|
14
19
|
function positiveTimerDelay(duration, label, maximumDelay = MAX_TIMER_DELAY) {
|
|
15
20
|
const delay = durationTotal(duration);
|
|
16
|
-
if (!isPositiveSafeInteger(delay)) WorkflowOptionsError
|
|
21
|
+
if (!isPositiveSafeInteger(delay)) throw new WorkflowOptionsError(`${label} must be greater than zero`, {
|
|
22
|
+
code: WorkflowErrorCode.OPTIONS_EXPECTED_POSITIVE_DURATION,
|
|
23
|
+
details: { label }
|
|
24
|
+
});
|
|
17
25
|
return {
|
|
18
26
|
duration,
|
|
19
27
|
clampedDelay: Math.min(delay, maximumDelay)
|
package/dist/types/cleanup.d.mts
CHANGED
|
@@ -1,59 +1,29 @@
|
|
|
1
|
-
import { RunId } from "./
|
|
2
|
-
import {
|
|
3
|
-
import { WorkflowTerminalRunStatus } from "./run.mjs";
|
|
4
|
-
import { z } from "zod";
|
|
1
|
+
import { RunId } from "./ids.mjs";
|
|
2
|
+
import { RunLinks, TerminalRunStatus } from "./run.mjs";
|
|
5
3
|
//#region src/types/cleanup.d.ts
|
|
6
|
-
declare const workflowCleanupModeSchema: z.ZodLiteral<"best_effort">;
|
|
7
|
-
declare const workflowCleanupMarkerRecordSchema: z.ZodObject<{
|
|
8
|
-
mode: z.ZodLiteral<"best_effort">;
|
|
9
|
-
runId: z.ZodString;
|
|
10
|
-
workflowName: z.ZodString;
|
|
11
|
-
workflowVersion: z.ZodOptional<z.ZodString>;
|
|
12
|
-
status: z.ZodEnum<{
|
|
13
|
-
canceled: "canceled";
|
|
14
|
-
completed: "completed";
|
|
15
|
-
failed: "failed";
|
|
16
|
-
}>;
|
|
17
|
-
createdAt: z.ZodCustom<Temporal.Instant, Temporal.Instant>;
|
|
18
|
-
finishedAt: z.ZodCustom<Temporal.Instant, Temporal.Instant>;
|
|
19
|
-
cleanupStartedAt: z.ZodCustom<Temporal.Instant, Temporal.Instant>;
|
|
20
|
-
events: z.ZodNumber;
|
|
21
|
-
stepAttempts: z.ZodNumber;
|
|
22
|
-
idempotencyKeys: z.ZodNumber;
|
|
23
|
-
messageIdempotencyKeys: z.ZodNumber;
|
|
24
|
-
}, z.core.$strip>;
|
|
25
4
|
/** Cleanup strategy used when deleting terminal run data from the store. */
|
|
26
|
-
type CleanupMode = "best_effort";
|
|
27
|
-
|
|
28
|
-
interface CleanupRunsOptions extends WorkflowCleanupRunFilterOptions {
|
|
5
|
+
export type CleanupMode = "best_effort";
|
|
6
|
+
export interface CleanupRunsOptions extends CleanupRunFilterOptions {
|
|
29
7
|
readonly finishedAtBefore: Temporal.Instant;
|
|
30
8
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
/** Options for workflow retention policy. */
|
|
34
|
-
interface RetentionPolicyOptions extends WorkflowCleanupRunFilterOptions {
|
|
9
|
+
export type CleanupStatusFilter = TerminalRunStatus | readonly TerminalRunStatus[];
|
|
10
|
+
export interface RetentionPolicyOptions extends CleanupRunFilterOptions {
|
|
35
11
|
readonly olderThan: Temporal.Duration;
|
|
36
12
|
readonly now?: Temporal.Instant;
|
|
37
13
|
}
|
|
38
|
-
interface
|
|
14
|
+
interface CleanupRunFilterOptions extends RunLinks {
|
|
39
15
|
readonly status?: CleanupStatusFilter;
|
|
40
16
|
readonly workflowName?: string;
|
|
41
17
|
readonly workflowVersion?: string;
|
|
42
|
-
readonly idempotencyKey?: string;
|
|
43
|
-
readonly parentRunId?: RunId;
|
|
44
|
-
readonly parentStepId?: StepId;
|
|
45
|
-
readonly parentStepName?: string;
|
|
46
|
-
readonly parentStepAttempt?: number;
|
|
47
18
|
readonly dryRun?: boolean;
|
|
48
19
|
readonly limit?: number;
|
|
49
20
|
}
|
|
50
|
-
|
|
51
|
-
interface CleanupMarkerRecord {
|
|
21
|
+
export interface CleanupMarkerRecord {
|
|
52
22
|
readonly mode: CleanupMode;
|
|
53
23
|
readonly runId: RunId;
|
|
54
24
|
readonly workflowName: string;
|
|
55
25
|
readonly workflowVersion?: string;
|
|
56
|
-
readonly status:
|
|
26
|
+
readonly status: TerminalRunStatus;
|
|
57
27
|
readonly createdAt: Temporal.Instant;
|
|
58
28
|
readonly finishedAt: Temporal.Instant;
|
|
59
29
|
readonly cleanupStartedAt: Temporal.Instant;
|
|
@@ -62,8 +32,7 @@ interface CleanupMarkerRecord {
|
|
|
62
32
|
readonly idempotencyKeys: number;
|
|
63
33
|
readonly messageIdempotencyKeys: number;
|
|
64
34
|
}
|
|
65
|
-
|
|
66
|
-
interface CleanupRunsResult {
|
|
35
|
+
export interface CleanupRunsResult {
|
|
67
36
|
readonly mode: CleanupMode;
|
|
68
37
|
readonly runIds: readonly RunId[];
|
|
69
38
|
readonly runs: readonly CleanupRunResult[];
|
|
@@ -81,21 +50,15 @@ interface CleanupRunsResult {
|
|
|
81
50
|
readonly deletedIdempotencyKeys: number;
|
|
82
51
|
readonly deletedMessageIdempotencyKeys: number;
|
|
83
52
|
}
|
|
84
|
-
|
|
85
|
-
interface CleanupRunResult {
|
|
53
|
+
export interface CleanupRunResult extends RunLinks {
|
|
86
54
|
readonly mode: CleanupMode;
|
|
87
55
|
readonly runId: RunId;
|
|
88
56
|
readonly workflowName: string;
|
|
89
57
|
readonly workflowVersion?: string;
|
|
90
|
-
readonly status:
|
|
58
|
+
readonly status: TerminalRunStatus;
|
|
91
59
|
readonly createdAt: Temporal.Instant;
|
|
92
60
|
readonly updatedAt: Temporal.Instant;
|
|
93
61
|
readonly finishedAt: Temporal.Instant;
|
|
94
|
-
readonly idempotencyKey?: string;
|
|
95
|
-
readonly parentRunId?: RunId;
|
|
96
|
-
readonly parentStepId?: StepId;
|
|
97
|
-
readonly parentStepName?: string;
|
|
98
|
-
readonly parentStepAttempt?: number;
|
|
99
62
|
readonly events: number;
|
|
100
63
|
readonly stepAttempts: number;
|
|
101
64
|
readonly idempotencyKeys: number;
|
|
@@ -109,4 +72,4 @@ interface CleanupRunResult {
|
|
|
109
72
|
readonly deletedMessageIdempotencyKeys: number;
|
|
110
73
|
}
|
|
111
74
|
//#endregion
|
|
112
|
-
export {
|
|
75
|
+
export {};
|
package/dist/types/cleanup.mjs
CHANGED
|
@@ -1,22 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { runIdSchema } from "./run-id.mjs";
|
|
3
|
-
import { workflowTerminalRunStatusSchema } from "./run.mjs";
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
//#region src/types/cleanup.ts
|
|
6
|
-
const workflowCleanupModeSchema = z.literal("best_effort");
|
|
7
|
-
const workflowCleanupMarkerRecordSchema = z.object({
|
|
8
|
-
mode: workflowCleanupModeSchema,
|
|
9
|
-
runId: runIdSchema,
|
|
10
|
-
workflowName: nonBlankStringSchema,
|
|
11
|
-
workflowVersion: nonBlankStringSchema.optional(),
|
|
12
|
-
status: workflowTerminalRunStatusSchema,
|
|
13
|
-
createdAt: temporalInstantSchema,
|
|
14
|
-
finishedAt: temporalInstantSchema,
|
|
15
|
-
cleanupStartedAt: temporalInstantSchema,
|
|
16
|
-
events: nonNegativeSafeIntegerSchema,
|
|
17
|
-
stepAttempts: nonNegativeSafeIntegerSchema,
|
|
18
|
-
idempotencyKeys: nonNegativeSafeIntegerSchema,
|
|
19
|
-
messageIdempotencyKeys: nonNegativeSafeIntegerSchema
|
|
20
|
-
});
|
|
21
|
-
//#endregion
|
|
22
|
-
export { workflowCleanupMarkerRecordSchema, workflowCleanupModeSchema };
|
|
1
|
+
export {};
|