@temelj/workflow 0.0.0-alpha.2 → 0.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +394 -2
- package/dist/attributes.d.mts +11 -9
- package/dist/attributes.mjs +23 -5
- package/dist/bundle.d.mts +5 -23
- package/dist/bundle.mjs +2 -18
- package/dist/client/create.d.mts +26 -23
- package/dist/client/create.mjs +26 -32
- package/dist/client/facades.d.mts +12 -18
- package/dist/client/facades.mjs +102 -93
- package/dist/client/mod.mjs +1 -2
- package/dist/client/run-handle.d.mts +17 -54
- package/dist/client/run-handle.mjs +35 -105
- package/dist/client/worker-options.d.mts +8 -8
- package/dist/client/worker-options.mjs +11 -11
- package/dist/cloudflare/cloudflare.d.mts +4 -5
- package/dist/cloudflare/codec.d.mts +28 -13
- package/dist/cloudflare/codec.mjs +40 -17
- package/dist/cloudflare/entrypoint.d.mts +3 -4
- package/dist/cloudflare/entrypoint.mjs +4 -3
- package/dist/cloudflare/execution.d.mts +3 -4
- package/dist/cloudflare/execution.mjs +20 -13
- package/dist/cloudflare/host.d.mts +6 -7
- package/dist/cloudflare/host.mjs +7 -6
- package/dist/cloudflare/mod.d.mts +4 -4
- package/dist/cloudflare/mod.mjs +2 -2
- package/dist/cloudflare/name.d.mts +3 -4
- package/dist/cloudflare/name.mjs +3 -3
- package/dist/cloudflare/registry.d.mts +3 -23
- package/dist/cloudflare/registry.mjs +2 -20
- package/dist/cloudflare/runtime.d.mts +11 -18
- package/dist/cloudflare/runtime.mjs +52 -73
- package/dist/cloudflare/step.d.mts +6 -6
- package/dist/cloudflare/step.mjs +69 -57
- package/dist/cloudflare/types.d.mts +17 -36
- package/dist/collection.d.mts +8 -11
- package/dist/collection.mjs +10 -14
- package/dist/compiled-function.d.mts +14 -19
- package/dist/compiled-function.mjs +12 -24
- package/dist/compiled.d.mts +4 -0
- package/dist/compiled.mjs +4 -0
- package/dist/compiler/ast.d.mts +26 -0
- package/dist/{vite → compiler}/ast.mjs +24 -16
- package/dist/{vite → compiler}/error.d.mts +4 -6
- package/dist/{vite → compiler}/error.mjs +14 -16
- package/dist/compiler/manifest.d.mts +6 -0
- package/dist/{vite → compiler}/manifest.mjs +9 -7
- package/dist/compiler/plugin.d.mts +7 -0
- package/dist/{vite → compiler}/plugin.mjs +45 -46
- package/dist/compiler/safety.d.mts +12 -0
- package/dist/{vite → compiler}/safety.mjs +5 -11
- package/dist/{vite → compiler}/source-edit.d.mts +3 -4
- package/dist/{vite → compiler}/source-edit.mjs +1 -1
- package/dist/{vite → compiler}/source-map.d.mts +4 -3
- package/dist/{vite → compiler}/source-map.mjs +3 -3
- package/dist/compiler/source.d.mts +7 -0
- package/dist/{vite → compiler}/source.mjs +1 -1
- package/dist/compiler/transform.d.mts +12 -0
- package/dist/{vite → compiler}/transform.mjs +37 -38
- package/dist/definition.d.mts +17 -25
- package/dist/definition.mjs +19 -35
- package/dist/engine/child-workflow.d.mts +5 -9
- package/dist/engine/child-workflow.mjs +46 -67
- package/dist/engine/command-identity.d.mts +5 -6
- package/dist/engine/command-identity.mjs +9 -5
- package/dist/engine/context.d.mts +17 -0
- package/dist/engine/create.d.mts +36 -94
- package/dist/engine/create.mjs +55 -260
- package/dist/engine/deterministic.d.mts +6 -11
- package/dist/engine/deterministic.mjs +47 -68
- package/dist/engine/durable-command.d.mts +5 -5
- package/dist/engine/durable-command.mjs +2 -2
- package/dist/engine/execution-service.d.mts +20 -24
- package/dist/engine/execution-service.mjs +54 -52
- package/dist/engine/hooks.d.mts +17 -39
- package/dist/engine/hooks.mjs +73 -94
- package/dist/engine/inspection.d.mts +23 -15
- package/dist/engine/inspection.mjs +55 -29
- package/dist/engine/lifecycle.d.mts +6 -12
- package/dist/engine/lifecycle.mjs +5 -5
- package/dist/engine/lock-replay.d.mts +8 -15
- package/dist/engine/lock-replay.mjs +12 -25
- package/dist/engine/lock.d.mts +10 -15
- package/dist/engine/lock.mjs +65 -51
- package/dist/engine/message.d.mts +14 -34
- package/dist/engine/message.mjs +94 -127
- package/dist/engine/observation.d.mts +9 -11
- package/dist/engine/observation.mjs +18 -27
- package/dist/engine/replay.d.mts +18 -19
- package/dist/engine/replay.mjs +32 -56
- package/dist/engine/resume.d.mts +16 -0
- package/dist/engine/resume.mjs +24 -0
- package/dist/engine/retry.d.mts +15 -19
- package/dist/engine/retry.mjs +17 -17
- package/dist/engine/run-data.d.mts +4 -8
- package/dist/engine/run-data.mjs +24 -22
- package/dist/engine/run-service.d.mts +24 -33
- package/dist/engine/run-service.mjs +125 -93
- package/dist/engine/run-utils.d.mts +11 -13
- package/dist/engine/run-utils.mjs +23 -46
- package/dist/engine/schedule.d.mts +8 -22
- package/dist/engine/schedule.mjs +37 -34
- package/dist/engine/serialization.d.mts +9 -6
- package/dist/engine/serialization.mjs +30 -21
- package/dist/engine/signals.d.mts +23 -0
- package/dist/engine/signals.mjs +41 -0
- package/dist/engine/start.d.mts +18 -0
- package/dist/engine/start.mjs +88 -0
- package/dist/engine/state.d.mts +37 -67
- package/dist/engine/state.mjs +127 -282
- package/dist/engine/step-api.d.mts +5 -8
- package/dist/engine/step-api.mjs +16 -16
- package/dist/engine/stream-reader.d.mts +12 -0
- package/dist/engine/stream-reader.mjs +154 -0
- package/dist/engine/stream.d.mts +9 -54
- package/dist/engine/stream.mjs +54 -196
- package/dist/engine/summary/recovery.d.mts +35 -0
- package/dist/engine/summary/recovery.mjs +363 -0
- package/dist/engine/summary/runs.d.mts +43 -0
- package/dist/engine/summary/runs.mjs +294 -0
- package/dist/engine/summary/step-attempts.d.mts +5 -10
- package/dist/engine/summary/step-attempts.mjs +157 -36
- package/dist/engine/summary/tally.d.mts +44 -0
- package/dist/engine/summary/tally.mjs +142 -0
- package/dist/engine/task.d.mts +4 -5
- package/dist/engine/task.mjs +40 -48
- package/dist/errors/base.d.mts +17 -77
- package/dist/errors/base.mjs +26 -327
- package/dist/errors/capability.d.mts +3 -6
- package/dist/errors/capability.mjs +4 -8
- package/dist/errors/codes.d.mts +116 -0
- package/dist/{types/error-code.mjs → errors/codes.mjs} +2 -17
- package/dist/errors/definition.d.mts +3 -17
- package/dist/errors/definition.mjs +5 -42
- package/dist/errors/failures.d.mts +17 -51
- package/dist/errors/failures.mjs +35 -102
- package/dist/errors/hook.d.mts +5 -9
- package/dist/errors/hook.mjs +4 -16
- package/dist/errors/implementation.d.mts +3 -6
- package/dist/errors/implementation.mjs +7 -12
- package/dist/errors/lock.d.mts +7 -20
- package/dist/errors/lock.mjs +8 -44
- package/dist/errors/message.d.mts +14 -59
- package/dist/errors/message.mjs +13 -39
- package/dist/errors/mod.d.mts +4 -5
- package/dist/errors/mod.mjs +5 -7
- package/dist/errors/records.d.mts +10 -4
- package/dist/errors/records.mjs +256 -256
- package/dist/errors/run.d.mts +27 -68
- package/dist/errors/run.mjs +31 -85
- package/dist/errors/schedule.d.mts +7 -18
- package/dist/errors/schedule.mjs +7 -39
- package/dist/errors/step.d.mts +12 -45
- package/dist/errors/step.mjs +13 -34
- package/dist/errors/stream.d.mts +8 -16
- package/dist/errors/stream.mjs +7 -41
- package/dist/esbuild.d.mts +6 -4
- package/dist/esbuild.mjs +2 -1
- package/dist/events/descriptors.d.mts +12 -241
- package/dist/events/descriptors.mjs +12 -5
- package/dist/history/projection.d.mts +4 -6
- package/dist/history/projection.mjs +22 -26
- package/dist/history/replay-projection.d.mts +44 -48
- package/dist/history/replay-projection.mjs +41 -50
- package/dist/history/{mod.d.mts → replay.d.mts} +16 -21
- package/dist/history/{mod.mjs → replay.mjs} +21 -25
- package/dist/history/sequencer.d.mts +10 -11
- package/dist/history/sequencer.mjs +11 -7
- package/dist/history/step-attempts.d.mts +4 -7
- package/dist/history/step-attempts.mjs +8 -9
- package/dist/history/timeline.d.mts +4 -13
- package/dist/history/timeline.mjs +46 -265
- package/dist/history/validator.d.mts +5 -7
- package/dist/history/validator.mjs +9 -24
- package/dist/hook-token.d.mts +7 -0
- package/dist/hook-token.mjs +32 -0
- package/dist/ids.d.mts +8 -0
- package/dist/ids.mjs +21 -0
- package/dist/message-options.d.mts +11 -5
- package/dist/message-options.mjs +9 -7
- package/dist/mod.d.mts +32 -36
- package/dist/mod.mjs +9 -13
- package/dist/otel/metrics.d.mts +31 -0
- package/dist/otel/metrics.mjs +60 -0
- package/dist/otel/mod.d.mts +3 -0
- package/dist/otel/mod.mjs +3 -0
- package/dist/otel/spans.d.mts +24 -0
- package/dist/otel/spans.mjs +218 -0
- package/dist/otel/support.d.mts +15 -8
- package/dist/otel/support.mjs +18 -40
- package/dist/{otel.d.mts → otel/telemetry.d.mts} +5 -6
- package/dist/otel/telemetry.mjs +305 -0
- package/dist/pagination.d.mts +6 -12
- package/dist/pagination.mjs +10 -14
- package/dist/registry.d.mts +8 -5
- package/dist/registry.mjs +19 -10
- package/dist/rolldown.d.mts +6 -4
- package/dist/rolldown.mjs +2 -1
- package/dist/rollup.d.mts +6 -4
- package/dist/rollup.mjs +2 -1
- package/dist/rspack.d.mts +6 -4
- package/dist/rspack.mjs +2 -1
- package/dist/run-status.d.mts +29 -0
- package/dist/run-status.mjs +42 -0
- package/dist/schema/common.d.mts +22 -0
- package/dist/schema/common.mjs +54 -0
- package/dist/schema/error.d.mts +17 -0
- package/dist/schema/error.mjs +39 -0
- package/dist/schema/events.d.mts +446 -0
- package/dist/schema/events.mjs +235 -0
- package/dist/schema/pagination.d.mts +5 -0
- package/dist/schema/pagination.mjs +11 -0
- package/dist/schema/persisted-value.d.mts +8 -0
- package/dist/schema/persisted-value.mjs +94 -0
- package/dist/schema/run.d.mts +51 -0
- package/dist/schema/run.mjs +88 -0
- package/dist/schema/store.d.mts +94 -0
- package/dist/schema/store.mjs +116 -0
- package/dist/step-definition.d.mts +4 -9
- package/dist/step-definition.mjs +2 -2
- package/dist/store/capabilities.d.mts +8 -9
- package/dist/store/capabilities.mjs +7 -7
- package/dist/store/cleanup.d.mts +9 -14
- package/dist/store/cleanup.mjs +86 -85
- package/dist/store/create.d.mts +28 -29
- package/dist/store/create.mjs +10 -11
- package/dist/store/events.d.mts +48 -0
- package/dist/store/events.mjs +263 -0
- package/dist/store/indexes.d.mts +25 -0
- package/dist/store/indexes.mjs +282 -0
- package/dist/store/instrumentation.d.mts +2 -3
- package/dist/store/instrumentation.mjs +30 -30
- package/dist/store/lock.d.mts +4 -5
- package/dist/store/lock.mjs +5 -7
- package/dist/store/materialization.d.mts +10 -17
- package/dist/store/materialization.mjs +39 -33
- package/dist/store/mod.d.mts +3 -3
- package/dist/store/mod.mjs +2 -2
- package/dist/store/query.d.mts +13 -17
- package/dist/store/query.mjs +13 -13
- package/dist/store/run.d.mts +25 -34
- package/dist/store/run.mjs +67 -108
- package/dist/store/schedule.d.mts +6 -8
- package/dist/store/schedule.mjs +11 -11
- package/dist/store/step-attempt.d.mts +9 -12
- package/dist/store/step-attempt.mjs +9 -9
- package/dist/store/storage-value.d.mts +3 -3
- package/dist/store/storage-value.mjs +17 -1
- package/dist/store/validation.d.mts +17 -20
- package/dist/store/validation.mjs +30 -33
- package/dist/store-keys.d.mts +35 -47
- package/dist/store-keys.mjs +9 -17
- package/dist/telemetry.d.mts +16 -16
- package/dist/telemetry.mjs +3 -3
- package/dist/temporal.d.mts +11 -16
- package/dist/temporal.mjs +8 -9
- package/dist/timer.d.mts +12 -10
- package/dist/timer.mjs +11 -3
- package/dist/types/cleanup.d.mts +13 -50
- package/dist/types/cleanup.mjs +1 -22
- package/dist/types/client.d.mts +101 -162
- package/dist/types/{vite.d.mts → compiler.d.mts} +17 -24
- package/dist/types/compiler.mjs +1 -0
- package/dist/types/definition.d.mts +22 -34
- package/dist/types/engine-options.d.mts +10 -17
- package/dist/types/engine.d.mts +15 -274
- package/dist/types/error.d.mts +15 -217
- package/dist/types/error.mjs +1 -48
- package/dist/types/events.d.mts +59 -2730
- package/dist/types/events.mjs +1 -283
- package/dist/types/hook.d.mts +27 -85
- package/dist/types/hook.mjs +1 -66
- package/dist/types/ids.d.mts +9 -0
- package/dist/types/ids.mjs +1 -0
- package/dist/types/lock.d.mts +8 -26
- package/dist/types/lock.mjs +1 -18
- package/dist/types/message.d.mts +29 -43
- package/dist/types/observation.d.mts +43 -58
- package/dist/types/pagination.d.mts +6 -22
- package/dist/types/pagination.mjs +1 -13
- package/dist/types/result.d.mts +11 -43
- package/dist/types/retry.d.mts +7 -14
- package/dist/types/run-list.d.mts +9 -11
- package/dist/types/run-options.d.mts +25 -32
- package/dist/types/run.d.mts +35 -315
- package/dist/types/run.mjs +1 -207
- package/dist/types/runtime.d.mts +33 -145
- package/dist/types/runtime.mjs +1 -21
- package/dist/types/schedule.d.mts +13 -72
- package/dist/types/schedule.mjs +1 -48
- package/dist/types/step-attempts.d.mts +65 -261
- package/dist/types/step-attempts.mjs +1 -43
- package/dist/types/step.d.mts +66 -77
- package/dist/types/step.mjs +1 -5
- package/dist/types/store.d.mts +50 -182
- package/dist/types/stream.d.mts +19 -40
- package/dist/types/summary.d.mts +174 -278
- package/dist/types/telemetry.d.mts +23 -28
- package/dist/types/telemetry.mjs +1 -9
- package/dist/types/timeline.d.mts +46 -233
- package/dist/types/worker.d.mts +22 -29
- package/dist/values.d.mts +15 -0
- package/dist/values.mjs +57 -0
- package/dist/vite.d.mts +5 -6
- package/dist/vite.mjs +3 -4
- package/dist/webpack.d.mts +6 -4
- package/dist/webpack.mjs +2 -1
- package/dist/worker/error.d.mts +2 -9
- package/dist/worker/error.mjs +20 -32
- package/dist/worker/missing-implementation.d.mts +19 -0
- package/dist/worker/missing-implementation.mjs +62 -0
- package/dist/worker/worker.d.mts +18 -0
- package/dist/{worker.mjs → worker/worker.mjs} +64 -118
- package/package.json +28 -47
- package/dist/engine/execution-api.d.mts +0 -29
- package/dist/engine/execution-api.mjs +0 -33
- package/dist/engine/inspection-api.d.mts +0 -34
- package/dist/engine/inspection-api.mjs +0 -78
- package/dist/engine/mod.d.mts +0 -4
- package/dist/engine/mod.mjs +0 -2
- package/dist/engine/recovery.d.mts +0 -26
- package/dist/engine/recovery.mjs +0 -92
- package/dist/engine/retry-policy.d.mts +0 -4
- package/dist/engine/retry-policy.mjs +0 -4
- package/dist/engine/start-api.d.mts +0 -30
- package/dist/engine/start-api.mjs +0 -99
- package/dist/engine/summary/active-events.d.mts +0 -34
- package/dist/engine/summary/active-events.mjs +0 -69
- package/dist/engine/summary/child-workflow-runs.d.mts +0 -24
- package/dist/engine/summary/child-workflow-runs.mjs +0 -138
- package/dist/engine/summary/child-workflow-waits.d.mts +0 -21
- package/dist/engine/summary/child-workflow-waits.mjs +0 -67
- package/dist/engine/summary/recovery-child-workflow-waits.d.mts +0 -11
- package/dist/engine/summary/recovery-child-workflow-waits.mjs +0 -89
- package/dist/engine/summary/recovery-due-runs.d.mts +0 -16
- package/dist/engine/summary/recovery-due-runs.mjs +0 -52
- package/dist/engine/summary/recovery-failed-runs.d.mts +0 -14
- package/dist/engine/summary/recovery-failed-runs.mjs +0 -33
- package/dist/engine/summary/recovery-lease-runs.d.mts +0 -16
- package/dist/engine/summary/recovery-lease-runs.mjs +0 -69
- package/dist/engine/summary/recovery-locks.d.mts +0 -18
- package/dist/engine/summary/recovery-locks.mjs +0 -100
- package/dist/engine/summary/recovery-message-waits.d.mts +0 -11
- package/dist/engine/summary/recovery-message-waits.mjs +0 -74
- package/dist/engine/summary/recovery-retry-runs.d.mts +0 -17
- package/dist/engine/summary/recovery-retry-runs.mjs +0 -65
- package/dist/engine/summary/recovery-run-timestamps.d.mts +0 -13
- package/dist/engine/summary/recovery-run-timestamps.mjs +0 -18
- package/dist/engine/summary/recovery-runs.d.mts +0 -23
- package/dist/engine/summary/recovery-runs.mjs +0 -54
- package/dist/engine/summary/recovery-schedules.d.mts +0 -10
- package/dist/engine/summary/recovery-schedules.mjs +0 -46
- package/dist/engine/summary/recovery-sleep-waits.d.mts +0 -10
- package/dist/engine/summary/recovery-sleep-waits.mjs +0 -53
- package/dist/engine/summary/recovery-waits.d.mts +0 -21
- package/dist/engine/summary/recovery-waits.mjs +0 -29
- package/dist/engine/summary/run-availability.d.mts +0 -13
- package/dist/engine/summary/run-availability.mjs +0 -37
- package/dist/engine/summary/run-cleanup.d.mts +0 -14
- package/dist/engine/summary/run-cleanup.mjs +0 -44
- package/dist/engine/summary/run-failure.d.mts +0 -14
- package/dist/engine/summary/run-failure.mjs +0 -62
- package/dist/engine/summary/run-hooks.d.mts +0 -14
- package/dist/engine/summary/run-hooks.mjs +0 -63
- package/dist/engine/summary/run-lease.d.mts +0 -11
- package/dist/engine/summary/run-lease.mjs +0 -64
- package/dist/engine/summary/run-message-waits.d.mts +0 -15
- package/dist/engine/summary/run-message-waits.mjs +0 -62
- package/dist/engine/summary/run-metrics.d.mts +0 -31
- package/dist/engine/summary/run-metrics.mjs +0 -93
- package/dist/engine/summary/run-retry.d.mts +0 -9
- package/dist/engine/summary/run-retry.mjs +0 -69
- package/dist/engine/summary/run-sleeps.d.mts +0 -15
- package/dist/engine/summary/run-sleeps.mjs +0 -61
- package/dist/engine/summary/run-state.d.mts +0 -26
- package/dist/engine/summary/run-state.mjs +0 -48
- package/dist/engine/summary/run-status.d.mts +0 -16
- package/dist/engine/summary/run-status.mjs +0 -35
- package/dist/engine/summary/run-streams.d.mts +0 -14
- package/dist/engine/summary/run-streams.mjs +0 -46
- package/dist/engine/summary/run-transition.d.mts +0 -9
- package/dist/engine/summary/run-transition.mjs +0 -39
- package/dist/engine/summary/run-workflow.d.mts +0 -9
- package/dist/engine/summary/run-workflow.mjs +0 -47
- package/dist/engine/summary/step-attempt-active-child-workflows.d.mts +0 -13
- package/dist/engine/summary/step-attempt-active-child-workflows.mjs +0 -55
- package/dist/engine/summary/step-attempt-active-fields.d.mts +0 -23
- package/dist/engine/summary/step-attempt-active-fields.mjs +0 -14
- package/dist/engine/summary/step-attempt-active-message-waits.d.mts +0 -12
- package/dist/engine/summary/step-attempt-active-message-waits.mjs +0 -47
- package/dist/engine/summary/step-attempt-active-sleeps.d.mts +0 -19
- package/dist/engine/summary/step-attempt-active-sleeps.mjs +0 -44
- package/dist/engine/summary/step-attempt-buckets.d.mts +0 -22
- package/dist/engine/summary/step-attempt-buckets.mjs +0 -152
- package/dist/engine/summary/step-attempt-failure.d.mts +0 -12
- package/dist/engine/summary/step-attempt-failure.mjs +0 -61
- package/dist/engine/summary/step-attempt-lifecycle.d.mts +0 -13
- package/dist/engine/summary/step-attempt-lifecycle.mjs +0 -19
- package/dist/engine/summary.d.mts +0 -32
- package/dist/engine/summary.mjs +0 -37
- package/dist/errors/details.d.mts +0 -13
- package/dist/errors/details.mjs +0 -66
- package/dist/errors/record-view.d.mts +0 -11
- package/dist/errors/record-view.mjs +0 -24
- package/dist/errors/runtime.d.mts +0 -12
- package/dist/errors/runtime.mjs +0 -24
- package/dist/events/mod.d.mts +0 -3
- package/dist/events/mod.mjs +0 -2
- package/dist/history/attempt-key.d.mts +0 -6
- package/dist/history/attempt-key.mjs +0 -7
- package/dist/inspection/mod.d.mts +0 -5
- package/dist/inspection/mod.mjs +0 -3
- package/dist/otel.mjs +0 -590
- package/dist/runtime.d.mts +0 -35
- package/dist/runtime.mjs +0 -198
- package/dist/store/append-projection.d.mts +0 -15
- package/dist/store/append-projection.mjs +0 -26
- package/dist/store/compaction.d.mts +0 -5
- package/dist/store/compaction.mjs +0 -8
- package/dist/store/event-append-project.d.mts +0 -15
- package/dist/store/event-append-project.mjs +0 -77
- package/dist/store/event-append.d.mts +0 -37
- package/dist/store/event-append.mjs +0 -80
- package/dist/store/event-history.d.mts +0 -22
- package/dist/store/event-history.mjs +0 -75
- package/dist/store/event.d.mts +0 -10
- package/dist/store/event.mjs +0 -28
- package/dist/store/idempotency.d.mts +0 -10
- package/dist/store/idempotency.mjs +0 -167
- package/dist/store/message-index.d.mts +0 -21
- package/dist/store/message-index.mjs +0 -122
- package/dist/store/revision.d.mts +0 -4
- package/dist/store/revision.mjs +0 -7
- package/dist/store/schema.d.mts +0 -14
- package/dist/store/schema.mjs +0 -17
- package/dist/types/common.d.mts +0 -20
- package/dist/types/common.mjs +0 -16
- package/dist/types/error-code.d.mts +0 -256
- package/dist/types/message-id.d.mts +0 -7
- package/dist/types/message-id.mjs +0 -5
- package/dist/types/run-id.d.mts +0 -7
- package/dist/types/run-id.mjs +0 -5
- package/dist/types/step-id.d.mts +0 -7
- package/dist/types/step-id.mjs +0 -5
- package/dist/types/stream-id.d.mts +0 -7
- package/dist/types/stream-id.mjs +0 -5
- package/dist/types/worker-id.d.mts +0 -7
- package/dist/types/worker-id.mjs +0 -5
- package/dist/utility.d.mts +0 -49
- package/dist/utility.mjs +0 -122
- package/dist/vite/ast.d.mts +0 -23
- package/dist/vite/generated-name.d.mts +0 -7
- package/dist/vite/generated-name.mjs +0 -9
- package/dist/vite/manifest.d.mts +0 -7
- package/dist/vite/plugin.d.mts +0 -7
- package/dist/vite/safety.d.mts +0 -12
- package/dist/vite/source.d.mts +0 -7
- package/dist/vite/transform.d.mts +0 -7
- package/dist/webhook.d.mts +0 -16
- package/dist/webhook.mjs +0 -17
- package/dist/worker.d.mts +0 -19
- /package/dist/{types/vite.mjs → engine/context.mjs} +0 -0
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { greatestOptionalNumber, isScheduledWorkflowRunStatus, isWorkflowRunStatus } from "../../utility.mjs";
|
|
2
|
-
import { optionalProperty, optionalSortedStringSetProperty, sortedStringSet } from "../../collection.mjs";
|
|
3
|
-
import { latestOptionalTimestamp } from "../../temporal.mjs";
|
|
4
|
-
import { createWorkflowRunRetryReasonCounts, createWorkflowRunStatusCounts } from "./run-metrics.mjs";
|
|
5
|
-
//#region src/engine/summary/child-workflow-runs.ts
|
|
6
|
-
async function getChildRunsForAttempts(store, parentRunId, attempts) {
|
|
7
|
-
const childRunIds = [...new Set(attempts.flatMap((attempt) => attempt.childRunId === void 0 ? [] : [attempt.childRunId]))];
|
|
8
|
-
return (await Promise.all(childRunIds.map(async (runId) => await store.getRun(runId)))).filter((run) => run !== void 0 && attempts.some((attempt) => isChildRunForWorkflowStepAttempt(run, parentRunId, attempt)));
|
|
9
|
-
}
|
|
10
|
-
/** Creates a reducer for child workflow run state embedded in active child workflow waits. */
|
|
11
|
-
function createWorkflowChildWorkflowRunSummaryReducer() {
|
|
12
|
-
const childStatus = createWorkflowRunStatusCounts();
|
|
13
|
-
const retry = createWorkflowChildWorkflowRunRetryAccumulator();
|
|
14
|
-
const failure = createWorkflowChildWorkflowRunFailureAccumulator();
|
|
15
|
-
const failedChildRunIds = /* @__PURE__ */ new Set();
|
|
16
|
-
const canceledChildRunIds = /* @__PURE__ */ new Set();
|
|
17
|
-
return {
|
|
18
|
-
addRun(run) {
|
|
19
|
-
if (!isWorkflowRunStatus(run.status)) return;
|
|
20
|
-
const runStatus = run.status;
|
|
21
|
-
childStatus[runStatus]++;
|
|
22
|
-
addWorkflowChildWorkflowRunRetry(retry, run, runStatus);
|
|
23
|
-
if (runStatus === "failed") {
|
|
24
|
-
addWorkflowChildWorkflowRunFailure(failure, run);
|
|
25
|
-
failedChildRunIds.add(run.id);
|
|
26
|
-
}
|
|
27
|
-
if (runStatus === "canceled") canceledChildRunIds.add(run.id);
|
|
28
|
-
},
|
|
29
|
-
finish() {
|
|
30
|
-
return {
|
|
31
|
-
childStatus,
|
|
32
|
-
...optionalSortedStringSetProperty("retryChildRunIds", retry.retryRunIds),
|
|
33
|
-
...optionalSortedStringSetProperty("failedChildRunIds", failedChildRunIds),
|
|
34
|
-
...optionalSortedStringSetProperty("canceledChildRunIds", canceledChildRunIds),
|
|
35
|
-
...finishWorkflowChildWorkflowRunRetrySummary(retry),
|
|
36
|
-
...finishWorkflowChildWorkflowRunFailureSummary(failure)
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
function summarizeChildWorkflowRuns(runs) {
|
|
42
|
-
const reducer = createWorkflowChildWorkflowRunSummaryReducer();
|
|
43
|
-
for (const run of runs) reducer.addRun(run);
|
|
44
|
-
return reducer.finish();
|
|
45
|
-
}
|
|
46
|
-
function isChildRunForWorkflowStepAttempt(run, parentRunId, attempt) {
|
|
47
|
-
return run.parentRunId === parentRunId && run.parentStepId === attempt.stepId && run.parentStepName === attempt.stepName && run.parentStepAttempt === attempt.attempt && attempt.childRunId === run.id && attempt.workflowName === run.workflowName && attempt.workflowVersion === run.workflowVersion;
|
|
48
|
-
}
|
|
49
|
-
function createWorkflowChildWorkflowRunRetryAccumulator() {
|
|
50
|
-
return {
|
|
51
|
-
total: 0,
|
|
52
|
-
reason: createWorkflowRunRetryReasonCounts(),
|
|
53
|
-
retryRunIds: /* @__PURE__ */ new Set(),
|
|
54
|
-
retryStepIds: /* @__PURE__ */ new Set(),
|
|
55
|
-
retryStepNames: /* @__PURE__ */ new Set()
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
function createWorkflowChildWorkflowRunFailureAccumulator() {
|
|
59
|
-
return {
|
|
60
|
-
total: 0,
|
|
61
|
-
errors: /* @__PURE__ */ new Map(),
|
|
62
|
-
failedRunIds: /* @__PURE__ */ new Set()
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
function addWorkflowChildWorkflowRunRetry(retry, run, runStatus) {
|
|
66
|
-
const retryReason = workflowChildWorkflowRunRetryReason(run);
|
|
67
|
-
if (!isScheduledWorkflowRunStatus(runStatus) || retryReason === void 0) return;
|
|
68
|
-
retry.total++;
|
|
69
|
-
retry.retryRunIds.add(run.id);
|
|
70
|
-
addWorkflowChildWorkflowRunRetryMetadata(retry, run);
|
|
71
|
-
retry.reason[retryReason]++;
|
|
72
|
-
setWorkflowChildWorkflowRunHighestAttempt(retry, run);
|
|
73
|
-
setWorkflowChildWorkflowRunNextRetry(retry, run);
|
|
74
|
-
}
|
|
75
|
-
function setWorkflowChildWorkflowRunHighestAttempt(retry, run) {
|
|
76
|
-
retry.highestAttempt = greatestOptionalNumber(retry.highestAttempt, run.retryAttempt);
|
|
77
|
-
}
|
|
78
|
-
function addWorkflowChildWorkflowRunRetryMetadata(retry, run) {
|
|
79
|
-
if (run.retryStepId !== void 0) retry.retryStepIds.add(run.retryStepId);
|
|
80
|
-
if (run.retryStepName !== void 0) retry.retryStepNames.add(run.retryStepName);
|
|
81
|
-
}
|
|
82
|
-
function setWorkflowChildWorkflowRunNextRetry(retry, run) {
|
|
83
|
-
if (run.retryAt === void 0 || retry.nextRetryAt !== void 0 && Temporal.Instant.compare(run.retryAt, retry.nextRetryAt) >= 0) return;
|
|
84
|
-
retry.nextRetryAt = run.retryAt;
|
|
85
|
-
retry.nextRetryRunId = run.id;
|
|
86
|
-
}
|
|
87
|
-
function workflowChildWorkflowRunRetryReason(run) {
|
|
88
|
-
return run.retryReason === "workflow" || run.retryReason === "step" || run.retryReason === "missing_implementation" ? run.retryReason : void 0;
|
|
89
|
-
}
|
|
90
|
-
function addWorkflowChildWorkflowRunFailure(failure, run) {
|
|
91
|
-
failure.total++;
|
|
92
|
-
failure.failedRunIds.add(run.id);
|
|
93
|
-
failure.latestFailedAt = latestOptionalTimestamp(failure.latestFailedAt, run.finishedAt);
|
|
94
|
-
addWorkflowChildWorkflowRunFailureError(failure, run);
|
|
95
|
-
}
|
|
96
|
-
function addWorkflowChildWorkflowRunFailureError(failure, run) {
|
|
97
|
-
const errorName = run.error?.name ?? "Error";
|
|
98
|
-
const current = failure.errors.get(errorName) ?? {
|
|
99
|
-
count: 0,
|
|
100
|
-
failedRunIds: /* @__PURE__ */ new Set()
|
|
101
|
-
};
|
|
102
|
-
current.count++;
|
|
103
|
-
current.failedRunIds.add(run.id);
|
|
104
|
-
current.latestFailedAt = latestOptionalTimestamp(current.latestFailedAt, run.finishedAt);
|
|
105
|
-
failure.errors.set(errorName, current);
|
|
106
|
-
}
|
|
107
|
-
function finishWorkflowChildWorkflowRunRetrySummary(retry) {
|
|
108
|
-
return retry.total === 0 ? {} : { childRetry: {
|
|
109
|
-
total: retry.total,
|
|
110
|
-
retryRunIds: sortedStringSet(retry.retryRunIds),
|
|
111
|
-
retryStepIds: sortedStringSet(retry.retryStepIds),
|
|
112
|
-
retryStepNames: sortedStringSet(retry.retryStepNames),
|
|
113
|
-
reason: retry.reason,
|
|
114
|
-
...retry.nextRetryAt === void 0 ? {} : {
|
|
115
|
-
nextRetryAt: retry.nextRetryAt,
|
|
116
|
-
...optionalProperty("nextRetryRunId", retry.nextRetryRunId)
|
|
117
|
-
},
|
|
118
|
-
...optionalProperty("highestAttempt", retry.highestAttempt)
|
|
119
|
-
} };
|
|
120
|
-
}
|
|
121
|
-
function finishWorkflowChildWorkflowRunFailureSummary(failure) {
|
|
122
|
-
return failure.total === 0 ? {} : { childFailure: {
|
|
123
|
-
total: failure.total,
|
|
124
|
-
failedRunIds: sortedStringSet(failure.failedRunIds),
|
|
125
|
-
errors: finishWorkflowChildWorkflowRunFailureErrors(failure.errors),
|
|
126
|
-
...optionalProperty("latestFailedAt", failure.latestFailedAt)
|
|
127
|
-
} };
|
|
128
|
-
}
|
|
129
|
-
function finishWorkflowChildWorkflowRunFailureErrors(errors) {
|
|
130
|
-
return [...errors.entries()].sort(([left], [right]) => left.localeCompare(right)).map(([name, summary]) => ({
|
|
131
|
-
name,
|
|
132
|
-
count: summary.count,
|
|
133
|
-
failedRunIds: sortedStringSet(summary.failedRunIds),
|
|
134
|
-
...optionalProperty("latestFailedAt", summary.latestFailedAt)
|
|
135
|
-
}));
|
|
136
|
-
}
|
|
137
|
-
//#endregion
|
|
138
|
-
export { createWorkflowChildWorkflowRunSummaryReducer, getChildRunsForAttempts, summarizeChildWorkflowRuns };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { RunId } from "../../types/run-id.mjs";
|
|
2
|
-
import { WorkflowRunChildWorkflowSummary } from "../../types/summary.mjs";
|
|
3
|
-
import { WorkflowStepAttemptRecord } from "../../types/step-attempts.mjs";
|
|
4
|
-
import { WorkflowRunRecord } from "../../types/run.mjs";
|
|
5
|
-
//#region src/engine/summary/child-workflow-waits.d.ts
|
|
6
|
-
interface WorkflowRunChildWorkflowWaitInput {
|
|
7
|
-
readonly runId: RunId;
|
|
8
|
-
readonly attempts: readonly WorkflowStepAttemptRecord[];
|
|
9
|
-
readonly childRuns: readonly WorkflowRunRecord[];
|
|
10
|
-
}
|
|
11
|
-
interface WorkflowRunChildWorkflowWaitSummary {
|
|
12
|
-
readonly childWorkflow?: WorkflowRunChildWorkflowSummary;
|
|
13
|
-
}
|
|
14
|
-
interface WorkflowRunChildWorkflowWaitSummaryReducer {
|
|
15
|
-
addChildWorkflowAttempts(runId: RunId, attempts: readonly WorkflowStepAttemptRecord[], childRuns: readonly WorkflowRunRecord[]): void;
|
|
16
|
-
finish(): WorkflowRunChildWorkflowWaitSummary;
|
|
17
|
-
}
|
|
18
|
-
/** Creates a reducer for active child workflow waits across workflow runs. */
|
|
19
|
-
declare function createWorkflowRunChildWorkflowWaitSummaryReducer(): WorkflowRunChildWorkflowWaitSummaryReducer;
|
|
20
|
-
//#endregion
|
|
21
|
-
export { WorkflowRunChildWorkflowWaitInput, WorkflowRunChildWorkflowWaitSummaryReducer, createWorkflowRunChildWorkflowWaitSummaryReducer };
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { makeWorkflowRunStepAttemptKey } from "../../utility.mjs";
|
|
2
|
-
import { optionalProperty, sortedStringSet } from "../../collection.mjs";
|
|
3
|
-
import { earliestOptionalTimestamp, shouldReplaceWorkflowEarliestDefinedInstant } from "../../temporal.mjs";
|
|
4
|
-
import { summarizeChildWorkflowRuns } from "./child-workflow-runs.mjs";
|
|
5
|
-
//#region src/engine/summary/child-workflow-waits.ts
|
|
6
|
-
/** Creates a reducer for active child workflow waits across workflow runs. */
|
|
7
|
-
function createWorkflowRunChildWorkflowWaitSummaryReducer() {
|
|
8
|
-
const waits = createWorkflowRunChildWorkflowWaitAccumulator();
|
|
9
|
-
return {
|
|
10
|
-
addChildWorkflowAttempts(runId, attempts, childRuns) {
|
|
11
|
-
for (const attempt of attempts) addWorkflowRunChildWorkflowWaitAttempt(waits, runId, attempt);
|
|
12
|
-
for (const childRun of childRuns) waits.childRunRecords.set(childRun.id, childRun);
|
|
13
|
-
},
|
|
14
|
-
finish() {
|
|
15
|
-
return finishWorkflowRunChildWorkflowWaitSummary(waits);
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
function createWorkflowRunChildWorkflowWaitAccumulator() {
|
|
20
|
-
return {
|
|
21
|
-
total: 0,
|
|
22
|
-
attemptKeys: /* @__PURE__ */ new Set(),
|
|
23
|
-
childRunIds: /* @__PURE__ */ new Set(),
|
|
24
|
-
childRunRecords: /* @__PURE__ */ new Map(),
|
|
25
|
-
runIds: /* @__PURE__ */ new Set(),
|
|
26
|
-
stepIds: /* @__PURE__ */ new Set(),
|
|
27
|
-
workflows: /* @__PURE__ */ new Set()
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function addWorkflowRunChildWorkflowWaitAttempt(waits, runId, attempt) {
|
|
31
|
-
const attemptKey = makeWorkflowRunStepAttemptKey(runId, attempt);
|
|
32
|
-
waits.total++;
|
|
33
|
-
waits.runIds.add(runId);
|
|
34
|
-
waits.stepIds.add(attempt.stepId);
|
|
35
|
-
waits.attemptKeys.add(attemptKey);
|
|
36
|
-
waits.oldestStartedAt = earliestOptionalTimestamp(waits.oldestStartedAt, attempt.startedAt);
|
|
37
|
-
if (shouldReplaceWorkflowEarliestDefinedInstant(waits.nextTimeoutAt, attempt.timeoutAt)) setWorkflowRunChildWorkflowWaitNextTimeout(waits, runId, attempt, attemptKey);
|
|
38
|
-
if (attempt.childRunId !== void 0) waits.childRunIds.add(attempt.childRunId);
|
|
39
|
-
if (attempt.workflowName !== void 0) waits.workflows.add(attempt.workflowVersion === void 0 ? attempt.workflowName : `${attempt.workflowName}@${attempt.workflowVersion}`);
|
|
40
|
-
}
|
|
41
|
-
function setWorkflowRunChildWorkflowWaitNextTimeout(waits, runId, attempt, attemptKey) {
|
|
42
|
-
waits.nextTimeoutAt = attempt.timeoutAt;
|
|
43
|
-
waits.nextTimeoutRunId = runId;
|
|
44
|
-
waits.nextTimeoutStepId = attempt.stepId;
|
|
45
|
-
waits.nextTimeoutAttemptKey = attemptKey;
|
|
46
|
-
}
|
|
47
|
-
function finishWorkflowRunChildWorkflowWaitSummary(waits) {
|
|
48
|
-
return waits.total === 0 ? {} : { childWorkflow: {
|
|
49
|
-
activeWaits: waits.total,
|
|
50
|
-
activeWaitRuns: waits.runIds.size,
|
|
51
|
-
waitRunIds: sortedStringSet(waits.runIds),
|
|
52
|
-
waitStepIds: sortedStringSet(waits.stepIds),
|
|
53
|
-
waitAttemptKeys: sortedStringSet(waits.attemptKeys),
|
|
54
|
-
childRunIds: sortedStringSet(waits.childRunIds),
|
|
55
|
-
workflows: sortedStringSet(waits.workflows),
|
|
56
|
-
...summarizeChildWorkflowRuns([...waits.childRunRecords.values()]),
|
|
57
|
-
...optionalProperty("oldestWaitStartedAt", waits.oldestStartedAt),
|
|
58
|
-
...waits.nextTimeoutAt === void 0 ? {} : {
|
|
59
|
-
nextWaitTimeoutAt: waits.nextTimeoutAt,
|
|
60
|
-
...optionalProperty("nextWaitTimeoutRunId", waits.nextTimeoutRunId),
|
|
61
|
-
...optionalProperty("nextWaitTimeoutStepId", waits.nextTimeoutStepId),
|
|
62
|
-
...optionalProperty("nextWaitTimeoutAttemptKey", waits.nextTimeoutAttemptKey)
|
|
63
|
-
}
|
|
64
|
-
} };
|
|
65
|
-
}
|
|
66
|
-
//#endregion
|
|
67
|
-
export { createWorkflowRunChildWorkflowWaitSummaryReducer };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { WorkflowRecoveryChildWorkflowWaitSummary } from "../../types/summary.mjs";
|
|
2
|
-
import { WorkflowStepAttemptRecord } from "../../types/step-attempts.mjs";
|
|
3
|
-
import { WorkflowRunRecord } from "../../types/run.mjs";
|
|
4
|
-
//#region src/engine/summary/recovery-child-workflow-waits.d.ts
|
|
5
|
-
interface WorkflowRecoveryChildWorkflowWaitSummaryReducer {
|
|
6
|
-
addAttempts(attempts: readonly WorkflowStepAttemptRecord[]): void;
|
|
7
|
-
finish(): WorkflowRecoveryChildWorkflowWaitSummary;
|
|
8
|
-
}
|
|
9
|
-
declare function createWorkflowRecoveryChildWorkflowWaitSummaryReducer(childRuns: readonly WorkflowRunRecord[], now: Temporal.Instant): WorkflowRecoveryChildWorkflowWaitSummaryReducer;
|
|
10
|
-
//#endregion
|
|
11
|
-
export { WorkflowRecoveryChildWorkflowWaitSummaryReducer, createWorkflowRecoveryChildWorkflowWaitSummaryReducer };
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { earliestWorkflowRecoveryTimestamp } from "./recovery-run-timestamps.mjs";
|
|
2
|
-
//#region src/engine/summary/recovery-child-workflow-waits.ts
|
|
3
|
-
function createWorkflowRecoveryChildWorkflowWaitSummaryReducer(childRuns, now) {
|
|
4
|
-
const childWorkflow = createWorkflowChildWorkflowWaitAccumulator();
|
|
5
|
-
const childByRunId = new Map(childRuns.map((run) => [run.id, run]));
|
|
6
|
-
return {
|
|
7
|
-
addAttempts(attempts) {
|
|
8
|
-
for (const attempt of attempts) addWorkflowChildWorkflowWaitAttempt(childWorkflow, attempt, childByRunId, now);
|
|
9
|
-
},
|
|
10
|
-
finish() {
|
|
11
|
-
return finishWorkflowChildWorkflowWaitSummary(childWorkflow);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
function createWorkflowChildWorkflowWaitAccumulator() {
|
|
16
|
-
return {
|
|
17
|
-
runIds: /* @__PURE__ */ new Set(),
|
|
18
|
-
terminalRunIds: /* @__PURE__ */ new Set(),
|
|
19
|
-
missingRunIds: /* @__PURE__ */ new Set(),
|
|
20
|
-
timedOutRunIds: /* @__PURE__ */ new Set(),
|
|
21
|
-
terminalStepIds: /* @__PURE__ */ new Set(),
|
|
22
|
-
missingStepIds: /* @__PURE__ */ new Set(),
|
|
23
|
-
timedOutStepIds: /* @__PURE__ */ new Set(),
|
|
24
|
-
childRunIds: /* @__PURE__ */ new Set(),
|
|
25
|
-
completedChildRunIds: /* @__PURE__ */ new Set(),
|
|
26
|
-
failedChildRunIds: /* @__PURE__ */ new Set(),
|
|
27
|
-
canceledChildRunIds: /* @__PURE__ */ new Set()
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function addWorkflowChildWorkflowWaitAttempt(childWorkflow, attempt, childByRunId, now) {
|
|
31
|
-
if (attempt.status !== "running" || attempt.kind !== "workflow") return;
|
|
32
|
-
childWorkflow.runIds.add(attempt.runId);
|
|
33
|
-
if (!addResolvedWorkflowChildWorkflowWaitAttempt(childWorkflow, attempt, childByRunId)) addTimedOutWorkflowChildWorkflowWaitAttempt(childWorkflow, attempt, now);
|
|
34
|
-
}
|
|
35
|
-
function addResolvedWorkflowChildWorkflowWaitAttempt(childWorkflow, attempt, childByRunId) {
|
|
36
|
-
if (attempt.childRunId === void 0) {
|
|
37
|
-
addMissingWorkflowChildWorkflowWaitAttempt(childWorkflow, attempt);
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
childWorkflow.childRunIds.add(attempt.childRunId);
|
|
41
|
-
const child = childByRunId.get(attempt.childRunId);
|
|
42
|
-
if (child === void 0) {
|
|
43
|
-
addMissingWorkflowChildWorkflowWaitAttempt(childWorkflow, attempt);
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
if (child.status !== "completed" && child.status !== "failed" && child.status !== "canceled") return false;
|
|
47
|
-
childWorkflow.terminalRunIds.add(attempt.runId);
|
|
48
|
-
childWorkflow.terminalStepIds.add(attempt.stepId);
|
|
49
|
-
if (child.status === "completed") childWorkflow.completedChildRunIds.add(child.id);
|
|
50
|
-
else if (child.status === "failed") childWorkflow.failedChildRunIds.add(child.id);
|
|
51
|
-
else childWorkflow.canceledChildRunIds.add(child.id);
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
function addMissingWorkflowChildWorkflowWaitAttempt(childWorkflow, attempt) {
|
|
55
|
-
childWorkflow.missingRunIds.add(attempt.runId);
|
|
56
|
-
childWorkflow.missingStepIds.add(attempt.stepId);
|
|
57
|
-
}
|
|
58
|
-
function addTimedOutWorkflowChildWorkflowWaitAttempt(childWorkflow, attempt, now) {
|
|
59
|
-
if (attempt.timeoutAt === void 0) return;
|
|
60
|
-
if (Temporal.Instant.compare(attempt.timeoutAt, now) <= 0) {
|
|
61
|
-
childWorkflow.timedOutRunIds.add(attempt.runId);
|
|
62
|
-
childWorkflow.timedOutStepIds.add(attempt.stepId);
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
childWorkflow.nextTimeout = earliestWorkflowRecoveryTimestamp(childWorkflow.nextTimeout, attempt.runId, attempt.timeoutAt);
|
|
66
|
-
}
|
|
67
|
-
function finishWorkflowChildWorkflowWaitSummary(childWorkflow) {
|
|
68
|
-
return {
|
|
69
|
-
active: childWorkflow.runIds.size,
|
|
70
|
-
terminal: childWorkflow.terminalRunIds.size,
|
|
71
|
-
missing: childWorkflow.missingRunIds.size,
|
|
72
|
-
timedOut: childWorkflow.timedOutRunIds.size,
|
|
73
|
-
runIds: [...childWorkflow.runIds].sort(),
|
|
74
|
-
terminalRunIds: [...childWorkflow.terminalRunIds].sort(),
|
|
75
|
-
missingRunIds: [...childWorkflow.missingRunIds].sort(),
|
|
76
|
-
timedOutRunIds: [...childWorkflow.timedOutRunIds].sort(),
|
|
77
|
-
terminalStepIds: [...childWorkflow.terminalStepIds].sort(),
|
|
78
|
-
missingStepIds: [...childWorkflow.missingStepIds].sort(),
|
|
79
|
-
timedOutStepIds: [...childWorkflow.timedOutStepIds].sort(),
|
|
80
|
-
childRunIds: [...childWorkflow.childRunIds].sort(),
|
|
81
|
-
completedChildRunIds: [...childWorkflow.completedChildRunIds].sort(),
|
|
82
|
-
failedChildRunIds: [...childWorkflow.failedChildRunIds].sort(),
|
|
83
|
-
canceledChildRunIds: [...childWorkflow.canceledChildRunIds].sort(),
|
|
84
|
-
...childWorkflow.nextTimeout === void 0 ? {} : { nextTimeoutAt: childWorkflow.nextTimeout.timestamp },
|
|
85
|
-
...childWorkflow.nextTimeout === void 0 ? {} : { nextTimeoutRunId: childWorkflow.nextTimeout.runId }
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
//#endregion
|
|
89
|
-
export { createWorkflowRecoveryChildWorkflowWaitSummaryReducer };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { WorkflowRecoveryDueSummary } from "../../types/summary.mjs";
|
|
2
|
-
import { WorkflowRunRecord } from "../../types/run.mjs";
|
|
3
|
-
import { WorkflowRecoveryTimestamp } from "./recovery-run-timestamps.mjs";
|
|
4
|
-
//#region src/engine/summary/recovery-due-runs.d.ts
|
|
5
|
-
interface WorkflowRecoveryDueRunSummaryParts {
|
|
6
|
-
readonly due: WorkflowRecoveryDueSummary;
|
|
7
|
-
readonly dueRunIds: readonly string[];
|
|
8
|
-
readonly nextAvailable?: WorkflowRecoveryTimestamp;
|
|
9
|
-
}
|
|
10
|
-
interface WorkflowRecoveryDueRunSummaryReducer {
|
|
11
|
-
addRun(run: WorkflowRunRecord): void;
|
|
12
|
-
finish(): WorkflowRecoveryDueRunSummaryParts;
|
|
13
|
-
}
|
|
14
|
-
declare function createWorkflowRecoveryDueRunSummaryReducer(now: Temporal.Instant): WorkflowRecoveryDueRunSummaryReducer;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { WorkflowRecoveryDueRunSummaryParts, WorkflowRecoveryDueRunSummaryReducer, createWorkflowRecoveryDueRunSummaryReducer };
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { isScheduledWorkflowRunStatus } from "../../utility.mjs";
|
|
2
|
-
import { earliestWorkflowRecoveryTimestamp, isWorkflowRecoveryRunDueAt } from "./recovery-run-timestamps.mjs";
|
|
3
|
-
//#region src/engine/summary/recovery-due-runs.ts
|
|
4
|
-
function createWorkflowRecoveryDueRunSummaryReducer(now) {
|
|
5
|
-
const due = createWorkflowRecoveryDueRunAccumulator();
|
|
6
|
-
return {
|
|
7
|
-
addRun(run) {
|
|
8
|
-
addWorkflowRecoveryDueRun(due, run, now);
|
|
9
|
-
},
|
|
10
|
-
finish() {
|
|
11
|
-
return {
|
|
12
|
-
due: finishWorkflowRecoveryDueSummary(due),
|
|
13
|
-
dueRunIds: [...due.runIds].sort(),
|
|
14
|
-
...due.nextAvailable === void 0 ? {} : { nextAvailable: due.nextAvailable }
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
function createWorkflowRecoveryDueRunAccumulator() {
|
|
20
|
-
return {
|
|
21
|
-
runIds: /* @__PURE__ */ new Set(),
|
|
22
|
-
pendingRunIds: /* @__PURE__ */ new Set(),
|
|
23
|
-
waitingRunIds: /* @__PURE__ */ new Set(),
|
|
24
|
-
invalidScheduleRunIds: /* @__PURE__ */ new Set()
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
function addWorkflowRecoveryDueRun(due, run, now) {
|
|
28
|
-
if (!isScheduledWorkflowRunStatus(run.status)) return;
|
|
29
|
-
const availableAt = run.availableAt;
|
|
30
|
-
if (isWorkflowRecoveryRunDueAt(availableAt, now)) {
|
|
31
|
-
due.runIds.add(run.id);
|
|
32
|
-
if (run.status === "pending") due.pendingRunIds.add(run.id);
|
|
33
|
-
else due.waitingRunIds.add(run.id);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
if (availableAt !== void 0) due.nextAvailable = earliestWorkflowRecoveryTimestamp(due.nextAvailable, run.id, availableAt);
|
|
37
|
-
}
|
|
38
|
-
function finishWorkflowRecoveryDueSummary(due) {
|
|
39
|
-
return {
|
|
40
|
-
total: due.runIds.size,
|
|
41
|
-
runIds: [...due.runIds].sort(),
|
|
42
|
-
pendingRunIds: [...due.pendingRunIds].sort(),
|
|
43
|
-
waitingRunIds: [...due.waitingRunIds].sort(),
|
|
44
|
-
invalidScheduleRunIds: [...due.invalidScheduleRunIds].sort(),
|
|
45
|
-
...due.nextAvailable === void 0 ? {} : {
|
|
46
|
-
nextAvailableAt: due.nextAvailable.timestamp,
|
|
47
|
-
nextAvailableRunId: due.nextAvailable.runId
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
//#endregion
|
|
52
|
-
export { createWorkflowRecoveryDueRunSummaryReducer };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { WorkflowRecoveryFailedSummary } from "../../types/summary.mjs";
|
|
2
|
-
import { WorkflowRunRecord } from "../../types/run.mjs";
|
|
3
|
-
//#region src/engine/summary/recovery-failed-runs.d.ts
|
|
4
|
-
interface WorkflowRecoveryFailedRunSummaryParts {
|
|
5
|
-
readonly failed: WorkflowRecoveryFailedSummary;
|
|
6
|
-
readonly failedRunIds: readonly string[];
|
|
7
|
-
}
|
|
8
|
-
interface WorkflowRecoveryFailedRunSummaryReducer {
|
|
9
|
-
addRun(run: WorkflowRunRecord): void;
|
|
10
|
-
finish(): WorkflowRecoveryFailedRunSummaryParts;
|
|
11
|
-
}
|
|
12
|
-
declare function createWorkflowRecoveryFailedRunSummaryReducer(): WorkflowRecoveryFailedRunSummaryReducer;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { WorkflowRecoveryFailedRunSummaryParts, WorkflowRecoveryFailedRunSummaryReducer, createWorkflowRecoveryFailedRunSummaryReducer };
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { latestOptionalWorkflowRecoveryInstant } from "./recovery-run-timestamps.mjs";
|
|
2
|
-
//#region src/engine/summary/recovery-failed-runs.ts
|
|
3
|
-
function createWorkflowRecoveryFailedRunSummaryReducer() {
|
|
4
|
-
const failed = createWorkflowRecoveryFailedRunAccumulator();
|
|
5
|
-
return {
|
|
6
|
-
addRun(run) {
|
|
7
|
-
addWorkflowRecoveryFailedRun(failed, run);
|
|
8
|
-
},
|
|
9
|
-
finish() {
|
|
10
|
-
return {
|
|
11
|
-
failed: finishWorkflowRecoveryFailedSummary(failed),
|
|
12
|
-
failedRunIds: [...failed.runIds].sort()
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function createWorkflowRecoveryFailedRunAccumulator() {
|
|
18
|
-
return { runIds: /* @__PURE__ */ new Set() };
|
|
19
|
-
}
|
|
20
|
-
function addWorkflowRecoveryFailedRun(failed, run) {
|
|
21
|
-
if (run.status !== "failed") return;
|
|
22
|
-
failed.runIds.add(run.id);
|
|
23
|
-
failed.latestFailedAt = latestOptionalWorkflowRecoveryInstant(failed.latestFailedAt, run.finishedAt);
|
|
24
|
-
}
|
|
25
|
-
function finishWorkflowRecoveryFailedSummary(failed) {
|
|
26
|
-
return {
|
|
27
|
-
total: failed.runIds.size,
|
|
28
|
-
runIds: [...failed.runIds].sort(),
|
|
29
|
-
...failed.latestFailedAt === void 0 ? {} : { latestFailedAt: failed.latestFailedAt }
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
//#endregion
|
|
33
|
-
export { createWorkflowRecoveryFailedRunSummaryReducer };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { WorkflowRecoveryLeaseSummary } from "../../types/summary.mjs";
|
|
2
|
-
import { WorkflowRunRecord } from "../../types/run.mjs";
|
|
3
|
-
import { WorkflowRecoveryTimestamp } from "./recovery-run-timestamps.mjs";
|
|
4
|
-
//#region src/engine/summary/recovery-lease-runs.d.ts
|
|
5
|
-
interface WorkflowRecoveryLeaseRunSummaryParts {
|
|
6
|
-
readonly lease: WorkflowRecoveryLeaseSummary;
|
|
7
|
-
readonly staleRunIds: readonly string[];
|
|
8
|
-
readonly nextLeaseExpires?: WorkflowRecoveryTimestamp;
|
|
9
|
-
}
|
|
10
|
-
interface WorkflowRecoveryLeaseRunSummaryReducer {
|
|
11
|
-
addRun(run: WorkflowRunRecord): void;
|
|
12
|
-
finish(): WorkflowRecoveryLeaseRunSummaryParts;
|
|
13
|
-
}
|
|
14
|
-
declare function createWorkflowRecoveryLeaseRunSummaryReducer(now: Temporal.Instant): WorkflowRecoveryLeaseRunSummaryReducer;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { WorkflowRecoveryLeaseRunSummaryParts, WorkflowRecoveryLeaseRunSummaryReducer, createWorkflowRecoveryLeaseRunSummaryReducer };
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { earliestWorkflowRecoveryInstant, earliestWorkflowRecoveryTimestamp } from "./recovery-run-timestamps.mjs";
|
|
2
|
-
//#region src/engine/summary/recovery-lease-runs.ts
|
|
3
|
-
function createWorkflowRecoveryLeaseRunSummaryReducer(now) {
|
|
4
|
-
const lease = createWorkflowRecoveryLeaseRunAccumulator();
|
|
5
|
-
return {
|
|
6
|
-
addRun(run) {
|
|
7
|
-
addWorkflowRecoveryLeaseRun(lease, run, now);
|
|
8
|
-
},
|
|
9
|
-
finish() {
|
|
10
|
-
return {
|
|
11
|
-
lease: finishWorkflowRecoveryLeaseSummary(lease),
|
|
12
|
-
staleRunIds: [...lease.staleRunIds].sort(),
|
|
13
|
-
...lease.nextExpires === void 0 ? {} : { nextLeaseExpires: lease.nextExpires }
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function createWorkflowRecoveryLeaseRunAccumulator() {
|
|
19
|
-
return {
|
|
20
|
-
runIds: /* @__PURE__ */ new Set(),
|
|
21
|
-
staleRunIds: /* @__PURE__ */ new Set(),
|
|
22
|
-
ownerlessRunIds: /* @__PURE__ */ new Set(),
|
|
23
|
-
missingExpiresAtRunIds: /* @__PURE__ */ new Set(),
|
|
24
|
-
invalidExpiresAtRunIds: /* @__PURE__ */ new Set(),
|
|
25
|
-
expiredRunIds: /* @__PURE__ */ new Set(),
|
|
26
|
-
workerIds: /* @__PURE__ */ new Set()
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function addWorkflowRecoveryLeaseRun(lease, run, now) {
|
|
30
|
-
if (run.status !== "running") return;
|
|
31
|
-
lease.runIds.add(run.id);
|
|
32
|
-
if (run.workerId !== void 0) lease.workerIds.add(run.workerId);
|
|
33
|
-
else {
|
|
34
|
-
lease.staleRunIds.add(run.id);
|
|
35
|
-
lease.ownerlessRunIds.add(run.id);
|
|
36
|
-
}
|
|
37
|
-
if (run.leaseExpiresAt === void 0) {
|
|
38
|
-
lease.staleRunIds.add(run.id);
|
|
39
|
-
lease.missingExpiresAtRunIds.add(run.id);
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
if (Temporal.Instant.compare(run.leaseExpiresAt, now) <= 0) {
|
|
43
|
-
lease.staleRunIds.add(run.id);
|
|
44
|
-
lease.expiredRunIds.add(run.id);
|
|
45
|
-
lease.oldestStaleAt = earliestWorkflowRecoveryInstant(lease.oldestStaleAt, run.leaseExpiresAt);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (run.workerId !== void 0) lease.nextExpires = earliestWorkflowRecoveryTimestamp(lease.nextExpires, run.id, run.leaseExpiresAt);
|
|
49
|
-
}
|
|
50
|
-
function finishWorkflowRecoveryLeaseSummary(lease) {
|
|
51
|
-
return {
|
|
52
|
-
total: lease.runIds.size,
|
|
53
|
-
stale: lease.staleRunIds.size,
|
|
54
|
-
runIds: [...lease.runIds].sort(),
|
|
55
|
-
staleRunIds: [...lease.staleRunIds].sort(),
|
|
56
|
-
ownerlessRunIds: [...lease.ownerlessRunIds].sort(),
|
|
57
|
-
missingExpiresAtRunIds: [...lease.missingExpiresAtRunIds].sort(),
|
|
58
|
-
invalidExpiresAtRunIds: [...lease.invalidExpiresAtRunIds].sort(),
|
|
59
|
-
expiredRunIds: [...lease.expiredRunIds].sort(),
|
|
60
|
-
workerIds: [...lease.workerIds].sort(),
|
|
61
|
-
...lease.nextExpires === void 0 ? {} : {
|
|
62
|
-
nextExpiresAt: lease.nextExpires.timestamp,
|
|
63
|
-
nextExpiringRunId: lease.nextExpires.runId
|
|
64
|
-
},
|
|
65
|
-
...lease.oldestStaleAt === void 0 ? {} : { oldestStaleAt: lease.oldestStaleAt }
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
//#endregion
|
|
69
|
-
export { createWorkflowRecoveryLeaseRunSummaryReducer };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { LockRecord } from "../../types/lock.mjs";
|
|
2
|
-
import { WorkflowRecoveryLockSummary } from "../../types/summary.mjs";
|
|
3
|
-
import { WorkflowStepAttemptRecord } from "../../types/step-attempts.mjs";
|
|
4
|
-
import { WorkflowRunRecord } from "../../types/run.mjs";
|
|
5
|
-
//#region src/engine/summary/recovery-locks.d.ts
|
|
6
|
-
interface WorkflowRecoveryLockWaitDetails {
|
|
7
|
-
readonly key: string;
|
|
8
|
-
readonly waitDeadlineAt?: Temporal.Instant;
|
|
9
|
-
}
|
|
10
|
-
interface WorkflowRecoveryLockSummaryReducer {
|
|
11
|
-
addLock(lock: LockRecord): void;
|
|
12
|
-
addLockWaitAttempt(attempt: WorkflowStepAttemptRecord): void;
|
|
13
|
-
finish(): WorkflowRecoveryLockSummary;
|
|
14
|
-
}
|
|
15
|
-
declare function createWorkflowRecoveryLockSummaryReducer(runs: readonly WorkflowRunRecord[], now: Temporal.Instant): WorkflowRecoveryLockSummaryReducer;
|
|
16
|
-
declare function workflowRecoveryLockWaitDetails(attempt: WorkflowStepAttemptRecord): WorkflowRecoveryLockWaitDetails | undefined;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { WorkflowRecoveryLockSummaryReducer, WorkflowRecoveryLockWaitDetails, createWorkflowRecoveryLockSummaryReducer, workflowRecoveryLockWaitDetails };
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { WorkflowRetryableError } from "../../errors/failures.mjs";
|
|
2
|
-
import "../../errors/mod.mjs";
|
|
3
|
-
import { earliestWorkflowRecoveryInstant, earliestWorkflowRecoveryTimestamp } from "./recovery-run-timestamps.mjs";
|
|
4
|
-
//#region src/engine/summary/recovery-locks.ts
|
|
5
|
-
function createWorkflowRecoveryLockSummaryReducer(runs, now) {
|
|
6
|
-
const locks = createWorkflowRecoveryLockAccumulator();
|
|
7
|
-
const runById = new Map(runs.map((run) => [run.id, run]));
|
|
8
|
-
return {
|
|
9
|
-
addLock(lock) {
|
|
10
|
-
addWorkflowRecoveryLock(locks, lock, now);
|
|
11
|
-
},
|
|
12
|
-
addLockWaitAttempt(attempt) {
|
|
13
|
-
addWorkflowRecoveryLockWaitAttempt(locks, attempt, runById, now);
|
|
14
|
-
},
|
|
15
|
-
finish() {
|
|
16
|
-
return finishWorkflowRecoveryLockSummary(locks);
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
function createWorkflowRecoveryLockAccumulator() {
|
|
21
|
-
return {
|
|
22
|
-
dueWaitingRunIds: /* @__PURE__ */ new Set(),
|
|
23
|
-
holderIds: /* @__PURE__ */ new Set(),
|
|
24
|
-
keys: /* @__PURE__ */ new Set(),
|
|
25
|
-
staleKeys: /* @__PURE__ */ new Set(),
|
|
26
|
-
waitingKeys: /* @__PURE__ */ new Set(),
|
|
27
|
-
waitingRunIds: /* @__PURE__ */ new Set(),
|
|
28
|
-
waitingStepIds: /* @__PURE__ */ new Set()
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function addWorkflowRecoveryLock(locks, lock, now) {
|
|
32
|
-
if (lock.releasedAt !== void 0) return;
|
|
33
|
-
locks.keys.add(lock.key);
|
|
34
|
-
if (lock.holderId !== void 0) locks.holderIds.add(lock.holderId);
|
|
35
|
-
if (Temporal.Instant.compare(lock.leaseExpiresAt, now) <= 0) {
|
|
36
|
-
locks.staleKeys.add(lock.key);
|
|
37
|
-
locks.oldestStaleAt = earliestWorkflowRecoveryInstant(locks.oldestStaleAt, lock.leaseExpiresAt);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
locks.nextExpires = earliestWorkflowRecoveryLockExpiration(locks.nextExpires, lock.key, lock.leaseExpiresAt);
|
|
41
|
-
}
|
|
42
|
-
function addWorkflowRecoveryLockWaitAttempt(locks, attempt, runById, now) {
|
|
43
|
-
const details = workflowRecoveryLockWaitDetails(attempt);
|
|
44
|
-
if (details === void 0) return;
|
|
45
|
-
const run = runById.get(attempt.runId);
|
|
46
|
-
if (run === void 0 || run.status !== "waiting" || run.retryReason !== "step") return;
|
|
47
|
-
locks.waitingRunIds.add(attempt.runId);
|
|
48
|
-
locks.waitingStepIds.add(attempt.stepId);
|
|
49
|
-
locks.waitingKeys.add(details.key);
|
|
50
|
-
if (run.retryAt === void 0 || Temporal.Instant.compare(run.retryAt, now) <= 0) locks.dueWaitingRunIds.add(attempt.runId);
|
|
51
|
-
if (details.waitDeadlineAt !== void 0 && Temporal.Instant.compare(details.waitDeadlineAt, now) > 0) locks.nextWaitDeadline = earliestWorkflowRecoveryTimestamp(locks.nextWaitDeadline, attempt.runId, details.waitDeadlineAt);
|
|
52
|
-
}
|
|
53
|
-
function finishWorkflowRecoveryLockSummary(locks) {
|
|
54
|
-
return {
|
|
55
|
-
total: locks.keys.size,
|
|
56
|
-
stale: locks.staleKeys.size,
|
|
57
|
-
keys: [...locks.keys].sort(),
|
|
58
|
-
staleKeys: [...locks.staleKeys].sort(),
|
|
59
|
-
holderIds: [...locks.holderIds].sort(),
|
|
60
|
-
waitingRunIds: [...locks.waitingRunIds].sort(),
|
|
61
|
-
dueWaitingRunIds: [...locks.dueWaitingRunIds].sort(),
|
|
62
|
-
waitingStepIds: [...locks.waitingStepIds].sort(),
|
|
63
|
-
waitingKeys: [...locks.waitingKeys].sort(),
|
|
64
|
-
...locks.nextExpires === void 0 ? {} : {
|
|
65
|
-
nextExpiresAt: locks.nextExpires.timestamp,
|
|
66
|
-
nextExpiringKey: locks.nextExpires.key
|
|
67
|
-
},
|
|
68
|
-
...locks.oldestStaleAt === void 0 ? {} : { oldestStaleAt: locks.oldestStaleAt },
|
|
69
|
-
...locks.nextWaitDeadline === void 0 ? {} : {
|
|
70
|
-
nextWaitDeadlineAt: locks.nextWaitDeadline.timestamp,
|
|
71
|
-
nextWaitDeadlineRunId: locks.nextWaitDeadline.runId
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
function workflowRecoveryLockWaitDetails(attempt) {
|
|
76
|
-
const error = attempt.error;
|
|
77
|
-
if (!(attempt.status === "failed" && attempt.kind === "run" && error !== void 0 && WorkflowRetryableError.isLockAlreadyHeld(error) && typeof error.details?.key === "string" && error.details.key.trim() !== "")) return;
|
|
78
|
-
const waitDeadlineAt = workflowLockWaitDeadline(attempt);
|
|
79
|
-
return {
|
|
80
|
-
key: error.details.key,
|
|
81
|
-
...waitDeadlineAt === void 0 ? {} : { waitDeadlineAt }
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
function workflowLockWaitDeadline(attempt) {
|
|
85
|
-
const deadline = attempt.error?.details?.waitDeadlineAt;
|
|
86
|
-
if (!(typeof deadline === "string" && deadline.trim() !== "")) return;
|
|
87
|
-
try {
|
|
88
|
-
return Temporal.Instant.from(deadline);
|
|
89
|
-
} catch {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
function earliestWorkflowRecoveryLockExpiration(current, key, timestamp) {
|
|
94
|
-
return current === void 0 || Temporal.Instant.compare(timestamp, current.timestamp) < 0 ? {
|
|
95
|
-
key,
|
|
96
|
-
timestamp
|
|
97
|
-
} : current;
|
|
98
|
-
}
|
|
99
|
-
//#endregion
|
|
100
|
-
export { createWorkflowRecoveryLockSummaryReducer, workflowRecoveryLockWaitDetails };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { WorkflowRecoveryMessageWaitSummary } from "../../types/summary.mjs";
|
|
2
|
-
import { WorkflowStepAttemptRecord } from "../../types/step-attempts.mjs";
|
|
3
|
-
import { EventRecord } from "../../types/events.mjs";
|
|
4
|
-
//#region src/engine/summary/recovery-message-waits.d.ts
|
|
5
|
-
interface WorkflowRecoveryMessageWaitSummaryReducer {
|
|
6
|
-
addAttempts(attempts: readonly WorkflowStepAttemptRecord[]): void;
|
|
7
|
-
finish(): WorkflowRecoveryMessageWaitSummary;
|
|
8
|
-
}
|
|
9
|
-
declare function createWorkflowRecoveryMessageWaitSummaryReducer(eventsByRunId: ReadonlyMap<string, readonly EventRecord[]>, now: Temporal.Instant): WorkflowRecoveryMessageWaitSummaryReducer;
|
|
10
|
-
//#endregion
|
|
11
|
-
export { WorkflowRecoveryMessageWaitSummaryReducer, createWorkflowRecoveryMessageWaitSummaryReducer };
|