@workflow/core 5.0.0-beta.43 → 5.0.0-beta.46
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/dist/attribute-changes.d.ts +3 -5
- package/dist/attribute-changes.d.ts.map +1 -1
- package/dist/attribute-changes.js +2 -2
- package/dist/capabilities.d.ts +6 -6
- package/dist/capabilities.js +8 -8
- package/dist/capture-stack.d.ts +1 -1
- package/dist/capture-stack.js +2 -2
- package/dist/class-serialization.d.ts +8 -8
- package/dist/class-serialization.js +9 -9
- package/dist/classify-error.js +5 -5
- package/dist/context-violation-error.d.ts +5 -5
- package/dist/context-violation-error.d.ts.map +1 -1
- package/dist/context-violation-error.js +5 -5
- package/dist/create-hook.d.ts +2 -2
- package/dist/create-hook.js +1 -1
- package/dist/define-hook.js +2 -2
- package/dist/describe-error.d.ts +7 -7
- package/dist/describe-error.js +8 -8
- package/dist/encryption.d.ts +5 -5
- package/dist/encryption.js +7 -7
- package/dist/events-consumer.d.ts +20 -8
- package/dist/events-consumer.d.ts.map +1 -1
- package/dist/events-consumer.js +34 -12
- package/dist/flushable-stream.d.ts +4 -4
- package/dist/flushable-stream.js +13 -13
- package/dist/global.d.ts +4 -2
- package/dist/global.d.ts.map +1 -1
- package/dist/global.js +8 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/log-format.d.ts +2 -2
- package/dist/log-format.js +5 -5
- package/dist/logger.js +4 -4
- package/dist/private.d.ts +29 -71
- package/dist/private.d.ts.map +1 -1
- package/dist/private.js +170 -38
- package/dist/replay-payload-cache.d.ts +1 -1
- package/dist/replay-payload-cache.js +4 -4
- package/dist/runtime/compute-instance.d.ts +4 -3
- package/dist/runtime/compute-instance.d.ts.map +1 -1
- package/dist/runtime/compute-instance.js +5 -4
- package/dist/runtime/constants.d.ts +24 -24
- package/dist/runtime/constants.d.ts.map +1 -1
- package/dist/runtime/constants.js +49 -43
- package/dist/runtime/count-step-started-events.d.ts +7 -7
- package/dist/runtime/count-step-started-events.js +4 -4
- package/dist/runtime/deployment-guard.d.ts +7 -7
- package/dist/runtime/deployment-guard.js +8 -8
- package/dist/runtime/get-port-lazy.d.ts +2 -2
- package/dist/runtime/get-port-lazy.d.ts.map +1 -1
- package/dist/runtime/get-port-lazy.js +37 -30
- package/dist/runtime/get-world-lazy.d.ts +2 -2
- package/dist/runtime/get-world-lazy.js +3 -3
- package/dist/runtime/helpers.d.ts +21 -21
- package/dist/runtime/helpers.js +27 -27
- package/dist/runtime/quickjs-entrypoint.d.ts +21 -10
- package/dist/runtime/quickjs-entrypoint.d.ts.map +1 -1
- package/dist/runtime/quickjs-entrypoint.js +206 -81
- package/dist/runtime/quickjs-runtime.d.ts +31 -15
- package/dist/runtime/quickjs-runtime.d.ts.map +1 -1
- package/dist/runtime/quickjs-runtime.js +132 -77
- package/dist/runtime/quickjs-serde.d.ts +10 -10
- package/dist/runtime/quickjs-serde.js +20 -20
- package/dist/runtime/replay-budget.d.ts +4 -4
- package/dist/runtime/replay-budget.js +5 -5
- package/dist/runtime/replay-recovery-reporter.d.ts +1 -1
- package/dist/runtime/replay-recovery-reporter.js +2 -2
- package/dist/runtime/resume-hook.d.ts +27 -12
- package/dist/runtime/resume-hook.d.ts.map +1 -1
- package/dist/runtime/resume-hook.js +200 -200
- package/dist/runtime/resume-latency.d.ts +40 -30
- package/dist/runtime/resume-latency.d.ts.map +1 -1
- package/dist/runtime/resume-latency.js +7 -5
- package/dist/runtime/run-id-time.d.ts +2 -2
- package/dist/runtime/run-id-time.js +5 -5
- package/dist/runtime/run.d.ts +22 -5
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +106 -11
- package/dist/runtime/runs.d.ts +4 -4
- package/dist/runtime/runs.js +2 -2
- package/dist/runtime/start.d.ts +3 -3
- package/dist/runtime/start.d.ts.map +1 -1
- package/dist/runtime/start.js +29 -25
- package/dist/runtime/step-executor.d.ts +14 -14
- package/dist/runtime/step-executor.d.ts.map +1 -1
- package/dist/runtime/step-executor.js +54 -39
- package/dist/runtime/step-latency.d.ts +42 -25
- package/dist/runtime/step-latency.d.ts.map +1 -1
- package/dist/runtime/step-latency.js +29 -23
- package/dist/runtime/step-ownership.d.ts +6 -6
- package/dist/runtime/step-ownership.js +8 -8
- package/dist/runtime/step-single-flight.d.ts +1 -1
- package/dist/runtime/step-single-flight.d.ts.map +1 -1
- package/dist/runtime/step-single-flight.js +17 -11
- package/dist/runtime/suspension-handler.d.ts +38 -24
- package/dist/runtime/suspension-handler.d.ts.map +1 -1
- package/dist/runtime/suspension-handler.js +238 -103
- package/dist/runtime/unserializable-step.d.ts +34 -0
- package/dist/runtime/unserializable-step.d.ts.map +1 -0
- package/dist/runtime/unserializable-step.js +52 -0
- package/dist/runtime/vm-mode.d.ts +1 -1
- package/dist/runtime/vm-mode.js +2 -2
- package/dist/runtime/wait-continuation.d.ts +31 -9
- package/dist/runtime/wait-continuation.d.ts.map +1 -1
- package/dist/runtime/wait-continuation.js +44 -13
- package/dist/runtime/wait-until.d.ts +1 -1
- package/dist/runtime/wait-until.js +2 -2
- package/dist/runtime/world-compatibility.d.ts +20 -9
- package/dist/runtime/world-compatibility.d.ts.map +1 -1
- package/dist/runtime/world-compatibility.js +24 -13
- package/dist/runtime/world-init.d.ts +5 -5
- package/dist/runtime/world-init.js +6 -6
- package/dist/runtime/world.d.ts.map +1 -1
- package/dist/runtime/world.js +13 -3
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +427 -266
- package/dist/sealed-box.d.ts +7 -7
- package/dist/sealed-box.js +15 -15
- package/dist/serialization/client.js +2 -2
- package/dist/serialization/codec-devalue-vm.d.ts +1 -1
- package/dist/serialization/codec-devalue-vm.js +4 -4
- package/dist/serialization/codec-devalue.d.ts +1 -1
- package/dist/serialization/codec-devalue.js +2 -2
- package/dist/serialization/codec.d.ts +4 -4
- package/dist/serialization/codec.js +2 -2
- package/dist/serialization/compression.d.ts +12 -11
- package/dist/serialization/compression.d.ts.map +1 -1
- package/dist/serialization/compression.js +16 -15
- package/dist/serialization/encryption.d.ts +7 -7
- package/dist/serialization/encryption.d.ts.map +1 -1
- package/dist/serialization/encryption.js +8 -8
- package/dist/serialization/errors.js +2 -2
- package/dist/serialization/format.d.ts +6 -6
- package/dist/serialization/format.js +7 -7
- package/dist/serialization/hardened.d.ts +23 -22
- package/dist/serialization/hardened.d.ts.map +1 -1
- package/dist/serialization/hardened.js +47 -32
- package/dist/serialization/index.d.ts +1 -1
- package/dist/serialization/index.js +2 -2
- package/dist/serialization/reducers/class-vm.d.ts +1 -1
- package/dist/serialization/reducers/class-vm.js +2 -2
- package/dist/serialization/reducers/class.js +2 -2
- package/dist/serialization/reducers/common-vm.js +12 -12
- package/dist/serialization/reducers/common.js +12 -12
- package/dist/serialization/reducers/step-function-vm.d.ts +1 -1
- package/dist/serialization/reducers/step-function-vm.js +2 -2
- package/dist/serialization/reducers/step-function.js +2 -2
- package/dist/serialization/step.js +2 -2
- package/dist/serialization/types.d.ts +5 -5
- package/dist/serialization/types.js +2 -2
- package/dist/serialization/workflow-vm.d.ts +1 -1
- package/dist/serialization/workflow-vm.d.ts.map +1 -1
- package/dist/serialization/workflow-vm.js +13 -10
- package/dist/serialization-format.d.ts +11 -11
- package/dist/serialization-format.d.ts.map +1 -1
- package/dist/serialization-format.js +30 -24
- package/dist/serialization.d.ts +15 -16
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +116 -109
- package/dist/set-attributes.js +2 -2
- package/dist/source-map.d.ts +1 -1
- package/dist/source-map.d.ts.map +1 -1
- package/dist/source-map.js +18 -12
- package/dist/step/context-storage.d.ts +5 -5
- package/dist/step/context-storage.js +1 -1
- package/dist/step/writable-stream.d.ts +3 -3
- package/dist/step/writable-stream.js +7 -7
- package/dist/step.d.ts.map +1 -1
- package/dist/step.js +14 -22
- package/dist/symbols.d.ts +2 -2
- package/dist/symbols.js +3 -3
- package/dist/telemetry/semantic-conventions.d.ts +34 -17
- package/dist/telemetry/semantic-conventions.d.ts.map +1 -1
- package/dist/telemetry/semantic-conventions.js +32 -17
- package/dist/telemetry.d.ts +3 -3
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +19 -10
- package/dist/test-support/orchestrator-context.d.ts.map +1 -1
- package/dist/test-support/orchestrator-context.js +12 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -2
- package/dist/vm/index.js +4 -4
- package/dist/vm/script-cache.d.ts.map +1 -1
- package/dist/vm/script-cache.js +23 -17
- package/dist/vm/uint8array-base64.js +1 -1
- package/dist/workflow/abort-controller.d.ts +1 -1
- package/dist/workflow/abort-controller.js +12 -12
- package/dist/workflow/attribute-dispatcher.d.ts.map +1 -1
- package/dist/workflow/attribute-dispatcher.js +3 -6
- package/dist/workflow/create-hook.js +2 -2
- package/dist/workflow/get-workflow-metadata.js +2 -2
- package/dist/workflow/hook.d.ts.map +1 -1
- package/dist/workflow/hook.js +21 -30
- package/dist/workflow/set-attributes.d.ts +1 -1
- package/dist/workflow/set-attributes.js +2 -2
- package/dist/workflow/sleep.js +2 -2
- package/dist/workflow/world-init-stub.d.ts +1 -1
- package/dist/workflow/world-init-stub.js +2 -2
- package/dist/workflow.d.ts +2 -2
- package/dist/workflow.js +26 -13
- package/docs/api-reference/create-hook.mdx +15 -15
- package/docs/api-reference/create-webhook.mdx +15 -15
- package/docs/api-reference/define-hook.mdx +10 -10
- package/docs/api-reference/fatal-error.mdx +2 -2
- package/docs/api-reference/fetch.mdx +7 -7
- package/docs/api-reference/get-step-metadata.mdx +2 -2
- package/docs/api-reference/get-workflow-metadata.mdx +3 -3
- package/docs/api-reference/get-writable.mdx +7 -7
- package/docs/api-reference/index.mdx +1 -1
- package/docs/api-reference/retryable-error.mdx +1 -1
- package/docs/api-reference/set-attributes.mdx +2 -2
- package/docs/api-reference/sleep.mdx +3 -3
- package/docs/foundations/cancellation.mdx +31 -31
- package/docs/foundations/errors-and-retries.mdx +42 -11
- package/docs/foundations/hooks.mdx +35 -35
- package/docs/foundations/idempotency.mdx +9 -9
- package/docs/foundations/serialization.mdx +21 -22
- package/docs/foundations/starting-workflows.mdx +36 -37
- package/docs/foundations/streaming.mdx +46 -41
- package/docs/foundations/versioning.mdx +3 -3
- package/docs/foundations/workflows-and-steps.mdx +9 -9
- package/docs/how-it-works/cancellation.mdx +62 -62
- package/docs/how-it-works/code-transform.mdx +66 -54
- package/docs/how-it-works/encryption.mdx +25 -21
- package/docs/how-it-works/event-sourcing.mdx +53 -35
- package/docs/how-it-works/framework-integrations.mdx +12 -12
- package/docs/how-it-works/understanding-directives.mdx +21 -21
- package/package.json +7 -7
|
@@ -4,7 +4,7 @@ import { type SlotSnapshotParams } from './helpers.js';
|
|
|
4
4
|
* handler run: deterministic event-log replay, workflow-VM execution
|
|
5
5
|
* between step boundaries, suspension handling, queue round-trips, etc.
|
|
6
6
|
* Inline step bodies (`"use step"` functions invoked via `executeStep`)
|
|
7
|
-
* are intentionally excluded
|
|
7
|
+
* are intentionally excluded since they are bounded by the platform's
|
|
8
8
|
* function `maxDuration` and the `NO_INLINE_REPLAY_AFTER_MS` early-return
|
|
9
9
|
* guard.
|
|
10
10
|
*
|
|
@@ -30,7 +30,7 @@ import { type SlotSnapshotParams } from './helpers.js';
|
|
|
30
30
|
* This protects against double-counting in future refactors that nest
|
|
31
31
|
* step execution or take an early-return path between a `pause()` and
|
|
32
32
|
* the matching `resume()`.
|
|
33
|
-
* - `isExhausted()` is checked at loop boundaries by the caller
|
|
33
|
+
* - `isExhausted()` is checked at loop boundaries by the caller; the
|
|
34
34
|
* budget itself does not arm any timers. This means an in-flight
|
|
35
35
|
* pathological `runWorkflow` call (e.g. a huge event-log replay) can
|
|
36
36
|
* overshoot the budget by up to one iteration's worth of work before
|
|
@@ -54,13 +54,13 @@ export declare class ReplayBudget {
|
|
|
54
54
|
*/
|
|
55
55
|
elapsed(): number;
|
|
56
56
|
/**
|
|
57
|
-
* Stop counting elapsed time toward the budget. Idempotent
|
|
57
|
+
* Stop counting elapsed time toward the budget. Idempotent: safe to
|
|
58
58
|
* call multiple times in a row; subsequent calls are no-ops until
|
|
59
59
|
* `resume()` reopens an interval.
|
|
60
60
|
*/
|
|
61
61
|
pause(): void;
|
|
62
62
|
/**
|
|
63
|
-
* Resume counting elapsed time toward the budget. Idempotent
|
|
63
|
+
* Resume counting elapsed time toward the budget. Idempotent: safe to
|
|
64
64
|
* call multiple times in a row; subsequent calls re-anchor the
|
|
65
65
|
* interval start to `now()`, which is fine because no time accrues
|
|
66
66
|
* between back-to-back `resume()` calls.
|
|
@@ -11,7 +11,7 @@ import { getWorld } from './world.js';
|
|
|
11
11
|
* handler run: deterministic event-log replay, workflow-VM execution
|
|
12
12
|
* between step boundaries, suspension handling, queue round-trips, etc.
|
|
13
13
|
* Inline step bodies (`"use step"` functions invoked via `executeStep`)
|
|
14
|
-
* are intentionally excluded
|
|
14
|
+
* are intentionally excluded since they are bounded by the platform's
|
|
15
15
|
* function `maxDuration` and the `NO_INLINE_REPLAY_AFTER_MS` early-return
|
|
16
16
|
* guard.
|
|
17
17
|
*
|
|
@@ -37,7 +37,7 @@ import { getWorld } from './world.js';
|
|
|
37
37
|
* This protects against double-counting in future refactors that nest
|
|
38
38
|
* step execution or take an early-return path between a `pause()` and
|
|
39
39
|
* the matching `resume()`.
|
|
40
|
-
* - `isExhausted()` is checked at loop boundaries by the caller
|
|
40
|
+
* - `isExhausted()` is checked at loop boundaries by the caller; the
|
|
41
41
|
* budget itself does not arm any timers. This means an in-flight
|
|
42
42
|
* pathological `runWorkflow` call (e.g. a huge event-log replay) can
|
|
43
43
|
* overshoot the budget by up to one iteration's worth of work before
|
|
@@ -69,7 +69,7 @@ export class ReplayBudget {
|
|
|
69
69
|
return this.elapsedMs + open;
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
|
-
* Stop counting elapsed time toward the budget. Idempotent
|
|
72
|
+
* Stop counting elapsed time toward the budget. Idempotent: safe to
|
|
73
73
|
* call multiple times in a row; subsequent calls are no-ops until
|
|
74
74
|
* `resume()` reopens an interval.
|
|
75
75
|
*/
|
|
@@ -80,7 +80,7 @@ export class ReplayBudget {
|
|
|
80
80
|
this.intervalStart = null;
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
|
-
* Resume counting elapsed time toward the budget. Idempotent
|
|
83
|
+
* Resume counting elapsed time toward the budget. Idempotent: safe to
|
|
84
84
|
* call multiple times in a row; subsequent calls re-anchor the
|
|
85
85
|
* interval start to `now()`, which is fine because no time accrues
|
|
86
86
|
* between back-to-back `resume()` calls.
|
|
@@ -136,4 +136,4 @@ export async function handleReplayBudgetExhausted(args) {
|
|
|
136
136
|
},
|
|
137
137
|
}, { requestId, ...slotSnapshot });
|
|
138
138
|
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGF5LWJ1ZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL3JlcGxheS1idWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQTJCLE1BQU0sY0FBYyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ04sT0FBTyxDQUFTO0lBQ3pCLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxhQUFhLENBQWdCO0lBRXJDLFlBQVksVUFBa0Isa0JBQWtCLEVBQUU7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPO1FBQ0wsTUFBTSxJQUFJLEdBQ1IsSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSTtZQUFFLE9BQU87UUFDeEMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNO1FBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsS0FBSztJQUM5QixJQUFJLEdBQUcseUJBQXlCLENBQUM7Q0FDcEQ7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUFDLElBYWpEO0lBQ0MsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQ3RFLElBQUksQ0FBQztJQUNQLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRTVELE1BQU0sVUFBVSxHQUFHLDBCQUEwQixFQUFFLENBQUM7SUFDaEQsSUFBSSxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7UUFDMUIsU0FBUyxDQUFDLElBQUksQ0FBQyxxREFBcUQsRUFBRTtZQUNwRSxTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPO1lBQ1AsVUFBVTtTQUNYLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSx1QkFBdUIsQ0FDL0IsOENBQThDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FDakUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsRUFBRSxDQUFDO0lBRS9CLE1BQU0sd0JBQXdCLEdBQUcsYUFBYSxDQUM1QyxTQUFTLEVBQ1QsZUFBZSxDQUFDLGNBQWMsQ0FDL0IsQ0FBQztJQUNGLFNBQVMsQ0FBQyxLQUFLLENBQ2IsNEVBQTRFLEVBQzVFO1FBQ0UsU0FBUyxFQUFFLE9BQU87UUFDbEIsT0FBTztRQUNQLFVBQVU7UUFDVixTQUFTLEVBQUUsd0JBQXdCLENBQUMsU0FBUztRQUM3QyxnQkFBZ0IsRUFBRSx3QkFBd0IsQ0FBQyxXQUFXO0tBQ3ZELENBQ0YsQ0FBQztJQUVGLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUMvQiw4Q0FBOEMsT0FBTyxHQUFHLElBQUksWUFBWSxPQUFPLFdBQVcsQ0FDM0YsQ0FBQztJQUNGLE1BQU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ3ZCLEtBQUssRUFDTDtRQUNFLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsU0FBUyxFQUFFO1lBQ1QsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQzVCLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxnQkFBZ0IsRUFBRSxDQUN6QjtZQUNELFNBQVMsRUFBRSxlQUFlLENBQUMsY0FBYztTQUMxQztLQUNGLEVBQ0QsRUFBRSxTQUFTLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FDL0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYXRhbEVycm9yLCBSVU5fRVJST1JfQ09ERVMgfSBmcm9tICdAd29ya2Zsb3cvZXJyb3JzJztcbmltcG9ydCB7IFNQRUNfVkVSU0lPTl9DVVJSRU5UIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkJztcbmltcG9ydCB7IGRlc2NyaWJlRXJyb3IgfSBmcm9tICcuLi9kZXNjcmliZS1lcnJvci5qcyc7XG5pbXBvcnQgeyBydW50aW1lTG9nZ2VyIH0gZnJvbSAnLi4vbG9nZ2VyLmpzJztcbmltcG9ydCB7IGRlaHlkcmF0ZVJ1bkVycm9yIH0gZnJvbSAnLi4vc2VyaWFsaXphdGlvbi5qcyc7XG5pbXBvcnQgeyBnZXRSZXBsYXlUaW1lb3V0TWF4UmV0cmllcywgZ2V0UmVwbGF5VGltZW91dE1zIH0gZnJvbSAnLi9jb25zdGFudHMuanMnO1xuaW1wb3J0IHsgbWVtb2l6ZUVuY3J5cHRpb25LZXksIHR5cGUgU2xvdFNuYXBzaG90UGFyYW1zIH0gZnJvbSAnLi9oZWxwZXJzLmpzJztcbmltcG9ydCB7IGdldFdvcmxkIH0gZnJvbSAnLi93b3JsZC5qcyc7XG5cbi8qKlxuICogUGVyLWludm9jYXRpb24gYWNjb3VudGluZyBvZiB0aGUgKm5vbi1zdGVwKiBwb3J0aW9uIG9mIGEgd29ya2Zsb3dcbiAqIGhhbmRsZXIgcnVuOiBkZXRlcm1pbmlzdGljIGV2ZW50LWxvZyByZXBsYXksIHdvcmtmbG93LVZNIGV4ZWN1dGlvblxuICogYmV0d2VlbiBzdGVwIGJvdW5kYXJpZXMsIHN1c3BlbnNpb24gaGFuZGxpbmcsIHF1ZXVlIHJvdW5kLXRyaXBzLCBldGMuXG4gKiBJbmxpbmUgc3RlcCBib2RpZXMgKGBcInVzZSBzdGVwXCJgIGZ1bmN0aW9ucyBpbnZva2VkIHZpYSBgZXhlY3V0ZVN0ZXBgKVxuICogYXJlIGludGVudGlvbmFsbHkgZXhjbHVkZWQg4oCUIHRoZXkgYXJlIGJvdW5kZWQgYnkgdGhlIHBsYXRmb3JtJ3NcbiAqIGZ1bmN0aW9uIGBtYXhEdXJhdGlvbmAgYW5kIHRoZSBgTk9fSU5MSU5FX1JFUExBWV9BRlRFUl9NU2AgZWFybHktcmV0dXJuXG4gKiBndWFyZC5cbiAqXG4gKiBVc2FnZTpcbiAqXG4gKiBgYGB0c1xuICogY29uc3QgYnVkZ2V0ID0gbmV3IFJlcGxheUJ1ZGdldCgpO1xuICogLy8g4oCmbm9uLXN0ZXAgd29yayBoYXBwZW5zIGhlcmUsIGFjY3VtdWxhdGVzIGFnYWluc3QgdGhlIGJ1ZGdldOKAplxuICogYnVkZ2V0LnBhdXNlKCk7XG4gKiB0cnkge1xuICogICBhd2FpdCBleGVjdXRlU3RlcCguLi4pOyAvLyBub3QgY2hhcmdlZFxuICogfSBmaW5hbGx5IHtcbiAqICAgYnVkZ2V0LnJlc3VtZSgpO1xuICogfVxuICogLy8gYmFjayB0byBjaGFyZ2luZ1xuICogaWYgKGJ1ZGdldC5pc0V4aGF1c3RlZCgpKSB7IC4uLiB9XG4gKiBgYGBcbiAqXG4gKiBJbXBsZW1lbnRhdGlvbiBub3RlczpcbiAqXG4gKiAtIGBwYXVzZSgpYCBhbmQgYHJlc3VtZSgpYCBhcmUgaWRlbXBvdGVudDogY2FsbGluZyBgcGF1c2UoKWAgd2hpbGVcbiAqICAgYWxyZWFkeSBwYXVzZWQgKG9yIGByZXN1bWUoKWAgd2hpbGUgYWxyZWFkeSByZXN1bWVkKSBpcyBhIG5vLW9wLlxuICogICBUaGlzIHByb3RlY3RzIGFnYWluc3QgZG91YmxlLWNvdW50aW5nIGluIGZ1dHVyZSByZWZhY3RvcnMgdGhhdCBuZXN0XG4gKiAgIHN0ZXAgZXhlY3V0aW9uIG9yIHRha2UgYW4gZWFybHktcmV0dXJuIHBhdGggYmV0d2VlbiBhIGBwYXVzZSgpYCBhbmRcbiAqICAgdGhlIG1hdGNoaW5nIGByZXN1bWUoKWAuXG4gKiAtIGBpc0V4aGF1c3RlZCgpYCBpcyBjaGVja2VkIGF0IGxvb3AgYm91bmRhcmllcyBieSB0aGUgY2FsbGVyIOKAlCB0aGVcbiAqICAgYnVkZ2V0IGl0c2VsZiBkb2VzIG5vdCBhcm0gYW55IHRpbWVycy4gVGhpcyBtZWFucyBhbiBpbi1mbGlnaHRcbiAqICAgcGF0aG9sb2dpY2FsIGBydW5Xb3JrZmxvd2AgY2FsbCAoZS5nLiBhIGh1Z2UgZXZlbnQtbG9nIHJlcGxheSkgY2FuXG4gKiAgIG92ZXJzaG9vdCB0aGUgYnVkZ2V0IGJ5IHVwIHRvIG9uZSBpdGVyYXRpb24ncyB3b3J0aCBvZiB3b3JrIGJlZm9yZVxuICogICB0aGUgbmV4dCBjaGVjayBmaXJlcy4gSW4gcHJhY3RpY2UgdGhlIDIwcyBoZWFkcm9vbSBidWlsdCBpbnRvXG4gKiAgIGBNQVhfUkVQTEFZX1RJTUVPVVRfTVNgIChhbmQgdGhlIGZ1bmN0aW9uIGBtYXhEdXJhdGlvbmAgY2VpbGluZylcbiAqICAgZ2l2ZXMgdXMgc2xhY2s7IHRoZSBvbGQgYHNldFRpbWVvdXRgLWJhc2VkIGFwcHJvYWNoIGFsc28gdWx0aW1hdGVseVxuICogICByZWxpZWQgb24gdGhlIHBsYXRmb3JtIFNJR1RFUk0gYXMgdGhlIGhhcmQgYmFja3N0b3AuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXBsYXlCdWRnZXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGxpbWl0TXM6IG51bWJlcjtcbiAgcHJpdmF0ZSBlbGFwc2VkTXMgPSAwO1xuICBwcml2YXRlIGludGVydmFsU3RhcnQ6IG51bWJlciB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IobGltaXRNczogbnVtYmVyID0gZ2V0UmVwbGF5VGltZW91dE1zKCkpIHtcbiAgICB0aGlzLmxpbWl0TXMgPSBsaW1pdE1zO1xuICAgIHRoaXMuaW50ZXJ2YWxTdGFydCA9IERhdGUubm93KCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyZWQgcmVwbGF5LXRpbWVvdXQgbGltaXQsIGluIG1zLiBVc2VmdWwgZm9yIGxvZyBtZXNzYWdlcy5cbiAgICovXG4gIGdldCBjb25maWd1cmVkTGltaXRNcygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxpbWl0TXM7XG4gIH1cblxuICAvKipcbiAgICogVG90YWwgbm9uLXN0ZXAgdGltZSBhY2N1bXVsYXRlZCBzbyBmYXIsIGluIG1zLiBJbmNsdWRlcyB0aGVcbiAgICogY3VycmVudGx5LWFjdGl2ZSBpbnRlcnZhbCBpZiB0aGUgYnVkZ2V0IGlzIG5vdCBwYXVzZWQuXG4gICAqL1xuICBlbGFwc2VkKCk6IG51bWJlciB7XG4gICAgY29uc3Qgb3BlbiA9XG4gICAgICB0aGlzLmludGVydmFsU3RhcnQgPT09IG51bGwgPyAwIDogRGF0ZS5ub3coKSAtIHRoaXMuaW50ZXJ2YWxTdGFydDtcbiAgICByZXR1cm4gdGhpcy5lbGFwc2VkTXMgKyBvcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgY291bnRpbmcgZWxhcHNlZCB0aW1lIHRvd2FyZCB0aGUgYnVkZ2V0LiBJZGVtcG90ZW50IOKAlCBzYWZlIHRvXG4gICAqIGNhbGwgbXVsdGlwbGUgdGltZXMgaW4gYSByb3c7IHN1YnNlcXVlbnQgY2FsbHMgYXJlIG5vLW9wcyB1bnRpbFxuICAgKiBgcmVzdW1lKClgIHJlb3BlbnMgYW4gaW50ZXJ2YWwuXG4gICAqL1xuICBwYXVzZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnRlcnZhbFN0YXJ0ID09PSBudWxsKSByZXR1cm47XG4gICAgdGhpcy5lbGFwc2VkTXMgKz0gRGF0ZS5ub3coKSAtIHRoaXMuaW50ZXJ2YWxTdGFydDtcbiAgICB0aGlzLmludGVydmFsU3RhcnQgPSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3VtZSBjb3VudGluZyBlbGFwc2VkIHRpbWUgdG93YXJkIHRoZSBidWRnZXQuIElkZW1wb3RlbnQg4oCUIHNhZmUgdG9cbiAgICogY2FsbCBtdWx0aXBsZSB0aW1lcyBpbiBhIHJvdzsgc3Vic2VxdWVudCBjYWxscyByZS1hbmNob3IgdGhlXG4gICAqIGludGVydmFsIHN0YXJ0IHRvIGBub3coKWAsIHdoaWNoIGlzIGZpbmUgYmVjYXVzZSBubyB0aW1lIGFjY3J1ZXNcbiAgICogYmV0d2VlbiBiYWNrLXRvLWJhY2sgYHJlc3VtZSgpYCBjYWxscy5cbiAgICovXG4gIHJlc3VtZSgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVydmFsU3RhcnQgPSBEYXRlLm5vdygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRydWUgaWYgdGhlIGJ1ZGdldCBoYXMgYmVlbiBleGhhdXN0ZWQgKGBlbGFwc2VkKCkgPj0gbGltaXRNc2ApLlxuICAgKiBDYWxsZXJzIHNob3VsZCBpbnZva2UgYGhhbmRsZUV4aGF1c3RlZCguLi4pYCBhZnRlcndhcmQgYW5kIHJldHVyblxuICAgKiBmcm9tIHRoZSBoYW5kbGVyLlxuICAgKi9cbiAgaXNFeGhhdXN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZWxhcHNlZCgpID49IHRoaXMubGltaXRNcztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVwbGF5VGltZW91dFJldHJ5RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IG5hbWUgPSAnUmVwbGF5VGltZW91dFJldHJ5RXJyb3InO1xufVxuXG4vKipcbiAqIFJlamVjdCB0aGUgY3VycmVudCBkZWxpdmVyeSB3aGlsZSByZXBsYXktdGltZW91dCByZXRyaWVzIHJlbWFpbi4gT25jZVxuICogZXhoYXVzdGVkLCBmYWlsIHRoZSBydW4gYW5kIGxldCB0aGUgcXVldWUgYWNrbm93bGVkZ2UgdGhlIGRlbGl2ZXJ5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlUmVwbGF5QnVkZ2V0RXhoYXVzdGVkKGFyZ3M6IHtcbiAgcnVuSWQ6IHN0cmluZztcbiAgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIHJlcXVlc3RJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBhdHRlbXB0OiBudW1iZXI7XG4gIGxpbWl0TXM6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhvdyBtdWNoIG9mIHRoZSBsb2cgdGhlIHJlcGxheSB0aGF0IHJhbiBvdXQgb2YgYnVkZ2V0IGhhZCBsb2FkZWQuIENhcnJpZWRcbiAgICogb250byB0aGUgdGVybWluYWwgd3JpdGUgZm9yIHRoZSBzYW1lIHJlYXNvbiBldmVyeSBvdGhlciB3cml0ZSBmcm9tIHRoYXRcbiAgICogcmVwbGF5IGNhcnJpZXMgaXQ6IHRoZSBydW4gaXMgYmVpbmcgZmFpbGVkIG9uIGEgdmlldyBvZiB0aGUgbG9nLCBhbmQgdGhlXG4gICAqIFdvcmxkIHNob3VsZCBiZSB0b2xkIHdoaWNoIHZpZXcuXG4gICAqL1xuICBzbG90U25hcHNob3Q/OiBTbG90U25hcHNob3RQYXJhbXM7XG59KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgcnVuSWQsIHdvcmtmbG93TmFtZSwgcmVxdWVzdElkLCBhdHRlbXB0LCBsaW1pdE1zLCBzbG90U25hcHNob3QgfSA9XG4gICAgYXJncztcbiAgY29uc3QgcnVuTG9nZ2VyID0gcnVudGltZUxvZ2dlci5mb3JSdW4ocnVuSWQsIHdvcmtmbG93TmFtZSk7XG5cbiAgY29uc3QgbWF4UmV0cmllcyA9IGdldFJlcGxheVRpbWVvdXRNYXhSZXRyaWVzKCk7XG4gIGlmIChhdHRlbXB0IDw9IG1heFJldHJpZXMpIHtcbiAgICBydW5Mb2dnZXIud2FybignV29ya2Zsb3cgcmVwbGF5IGV4Y2VlZGVkIHRpbWVvdXQ7IHJldHJ5aW5nIGRlbGl2ZXJ5Jywge1xuICAgICAgdGltZW91dE1zOiBsaW1pdE1zLFxuICAgICAgYXR0ZW1wdCxcbiAgICAgIG1heFJldHJpZXMsXG4gICAgfSk7XG4gICAgdGhyb3cgbmV3IFJlcGxheVRpbWVvdXRSZXRyeUVycm9yKFxuICAgICAgYFdvcmtmbG93IHJlcGxheSBleGNlZWRlZCBtYXhpbXVtIGR1cmF0aW9uICgke2xpbWl0TXMgLyAxMDAwfXMpYFxuICAgICk7XG4gIH1cblxuICBjb25zdCB3b3JsZCA9IGF3YWl0IGdldFdvcmxkKCk7XG5cbiAgY29uc3QgcmVwbGF5VGltZW91dERlc2NyaXB0aW9uID0gZGVzY3JpYmVFcnJvcihcbiAgICB1bmRlZmluZWQsXG4gICAgUlVOX0VSUk9SX0NPREVTLlJFUExBWV9USU1FT1VUXG4gICk7XG4gIHJ1bkxvZ2dlci5lcnJvcihcbiAgICAnV29ya2Zsb3cgcmVwbGF5IGV4Y2VlZGVkIHRpbWVvdXQgYW5kIG1heCByZXRyaWVzIGV4Y2VlZGVkLiBGYWlsaW5nIHRoZSBydW4nLFxuICAgIHtcbiAgICAgIHRpbWVvdXRNczogbGltaXRNcyxcbiAgICAgIGF0dGVtcHQsXG4gICAgICBtYXhSZXRyaWVzLFxuICAgICAgZXJyb3JDb2RlOiByZXBsYXlUaW1lb3V0RGVzY3JpcHRpb24uZXJyb3JDb2RlLFxuICAgICAgZXJyb3JBdHRyaWJ1dGlvbjogcmVwbGF5VGltZW91dERlc2NyaXB0aW9uLmF0dHJpYnV0aW9uLFxuICAgIH1cbiAgKTtcblxuICBjb25zdCBnZXRFbmNyeXB0aW9uS2V5ID0gbWVtb2l6ZUVuY3J5cHRpb25LZXkod29ybGQsIHJ1bklkKTtcbiAgY29uc3QgdGltZW91dEVyciA9IG5ldyBGYXRhbEVycm9yKFxuICAgIGBXb3JrZmxvdyByZXBsYXkgZXhjZWVkZWQgbWF4aW11bSBkdXJhdGlvbiAoJHtsaW1pdE1zIC8gMTAwMH1zKSBhZnRlciAke2F0dGVtcHR9IGF0dGVtcHRzYFxuICApO1xuICBhd2FpdCB3b3JsZC5ldmVudHMuY3JlYXRlKFxuICAgIHJ1bklkLFxuICAgIHtcbiAgICAgIGV2ZW50VHlwZTogJ3J1bl9mYWlsZWQnLFxuICAgICAgc3BlY1ZlcnNpb246IFNQRUNfVkVSU0lPTl9DVVJSRU5ULFxuICAgICAgZXZlbnREYXRhOiB7XG4gICAgICAgIGVycm9yOiBhd2FpdCBkZWh5ZHJhdGVSdW5FcnJvcihcbiAgICAgICAgICB0aW1lb3V0RXJyLFxuICAgICAgICAgIHJ1bklkLFxuICAgICAgICAgIGF3YWl0IGdldEVuY3J5cHRpb25LZXkoKVxuICAgICAgICApLFxuICAgICAgICBlcnJvckNvZGU6IFJVTl9FUlJPUl9DT0RFUy5SRVBMQVlfVElNRU9VVCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7IHJlcXVlc3RJZCwgLi4uc2xvdFNuYXBzaG90IH1cbiAgKTtcbn1cbiJdfQ==
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGF5LWJ1ZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL3JlcGxheS1idWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQTJCLE1BQU0sY0FBYyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBQ04sT0FBTyxDQUFTO0lBQ3pCLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDZCxhQUFhLENBQWdCO0lBRXJDLFlBQVksVUFBa0Isa0JBQWtCLEVBQUU7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPO1FBQ0wsTUFBTSxJQUFJLEdBQ1IsSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSTtZQUFFLE9BQU87UUFDeEMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNO1FBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsS0FBSztJQUM5QixJQUFJLEdBQUcseUJBQXlCLENBQUM7Q0FDcEQ7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLDJCQUEyQixDQUFDLElBYWpEO0lBQ0MsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQ3RFLElBQUksQ0FBQztJQUNQLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBRTVELE1BQU0sVUFBVSxHQUFHLDBCQUEwQixFQUFFLENBQUM7SUFDaEQsSUFBSSxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7UUFDMUIsU0FBUyxDQUFDLElBQUksQ0FBQyxxREFBcUQsRUFBRTtZQUNwRSxTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPO1lBQ1AsVUFBVTtTQUNYLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSx1QkFBdUIsQ0FDL0IsOENBQThDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FDakUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsRUFBRSxDQUFDO0lBRS9CLE1BQU0sd0JBQXdCLEdBQUcsYUFBYSxDQUM1QyxTQUFTLEVBQ1QsZUFBZSxDQUFDLGNBQWMsQ0FDL0IsQ0FBQztJQUNGLFNBQVMsQ0FBQyxLQUFLLENBQ2IsNEVBQTRFLEVBQzVFO1FBQ0UsU0FBUyxFQUFFLE9BQU87UUFDbEIsT0FBTztRQUNQLFVBQVU7UUFDVixTQUFTLEVBQUUsd0JBQXdCLENBQUMsU0FBUztRQUM3QyxnQkFBZ0IsRUFBRSx3QkFBd0IsQ0FBQyxXQUFXO0tBQ3ZELENBQ0YsQ0FBQztJQUVGLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVELE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUMvQiw4Q0FBOEMsT0FBTyxHQUFHLElBQUksWUFBWSxPQUFPLFdBQVcsQ0FDM0YsQ0FBQztJQUNGLE1BQU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ3ZCLEtBQUssRUFDTDtRQUNFLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsU0FBUyxFQUFFO1lBQ1QsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQzVCLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxnQkFBZ0IsRUFBRSxDQUN6QjtZQUNELFNBQVMsRUFBRSxlQUFlLENBQUMsY0FBYztTQUMxQztLQUNGLEVBQ0QsRUFBRSxTQUFTLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FDL0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYXRhbEVycm9yLCBSVU5fRVJST1JfQ09ERVMgfSBmcm9tICdAd29ya2Zsb3cvZXJyb3JzJztcbmltcG9ydCB7IFNQRUNfVkVSU0lPTl9DVVJSRU5UIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkJztcbmltcG9ydCB7IGRlc2NyaWJlRXJyb3IgfSBmcm9tICcuLi9kZXNjcmliZS1lcnJvci5qcyc7XG5pbXBvcnQgeyBydW50aW1lTG9nZ2VyIH0gZnJvbSAnLi4vbG9nZ2VyLmpzJztcbmltcG9ydCB7IGRlaHlkcmF0ZVJ1bkVycm9yIH0gZnJvbSAnLi4vc2VyaWFsaXphdGlvbi5qcyc7XG5pbXBvcnQgeyBnZXRSZXBsYXlUaW1lb3V0TWF4UmV0cmllcywgZ2V0UmVwbGF5VGltZW91dE1zIH0gZnJvbSAnLi9jb25zdGFudHMuanMnO1xuaW1wb3J0IHsgbWVtb2l6ZUVuY3J5cHRpb25LZXksIHR5cGUgU2xvdFNuYXBzaG90UGFyYW1zIH0gZnJvbSAnLi9oZWxwZXJzLmpzJztcbmltcG9ydCB7IGdldFdvcmxkIH0gZnJvbSAnLi93b3JsZC5qcyc7XG5cbi8qKlxuICogUGVyLWludm9jYXRpb24gYWNjb3VudGluZyBvZiB0aGUgKm5vbi1zdGVwKiBwb3J0aW9uIG9mIGEgd29ya2Zsb3dcbiAqIGhhbmRsZXIgcnVuOiBkZXRlcm1pbmlzdGljIGV2ZW50LWxvZyByZXBsYXksIHdvcmtmbG93LVZNIGV4ZWN1dGlvblxuICogYmV0d2VlbiBzdGVwIGJvdW5kYXJpZXMsIHN1c3BlbnNpb24gaGFuZGxpbmcsIHF1ZXVlIHJvdW5kLXRyaXBzLCBldGMuXG4gKiBJbmxpbmUgc3RlcCBib2RpZXMgKGBcInVzZSBzdGVwXCJgIGZ1bmN0aW9ucyBpbnZva2VkIHZpYSBgZXhlY3V0ZVN0ZXBgKVxuICogYXJlIGludGVudGlvbmFsbHkgZXhjbHVkZWQgc2luY2UgdGhleSBhcmUgYm91bmRlZCBieSB0aGUgcGxhdGZvcm0nc1xuICogZnVuY3Rpb24gYG1heER1cmF0aW9uYCBhbmQgdGhlIGBOT19JTkxJTkVfUkVQTEFZX0FGVEVSX01TYCBlYXJseS1yZXR1cm5cbiAqIGd1YXJkLlxuICpcbiAqIFVzYWdlOlxuICpcbiAqIGBgYHRzXG4gKiBjb25zdCBidWRnZXQgPSBuZXcgUmVwbGF5QnVkZ2V0KCk7XG4gKiAvLyDigKZub24tc3RlcCB3b3JrIGhhcHBlbnMgaGVyZSwgYWNjdW11bGF0ZXMgYWdhaW5zdCB0aGUgYnVkZ2V04oCmXG4gKiBidWRnZXQucGF1c2UoKTtcbiAqIHRyeSB7XG4gKiAgIGF3YWl0IGV4ZWN1dGVTdGVwKC4uLik7IC8vIG5vdCBjaGFyZ2VkXG4gKiB9IGZpbmFsbHkge1xuICogICBidWRnZXQucmVzdW1lKCk7XG4gKiB9XG4gKiAvLyBiYWNrIHRvIGNoYXJnaW5nXG4gKiBpZiAoYnVkZ2V0LmlzRXhoYXVzdGVkKCkpIHsgLi4uIH1cbiAqIGBgYFxuICpcbiAqIEltcGxlbWVudGF0aW9uIG5vdGVzOlxuICpcbiAqIC0gYHBhdXNlKClgIGFuZCBgcmVzdW1lKClgIGFyZSBpZGVtcG90ZW50OiBjYWxsaW5nIGBwYXVzZSgpYCB3aGlsZVxuICogICBhbHJlYWR5IHBhdXNlZCAob3IgYHJlc3VtZSgpYCB3aGlsZSBhbHJlYWR5IHJlc3VtZWQpIGlzIGEgbm8tb3AuXG4gKiAgIFRoaXMgcHJvdGVjdHMgYWdhaW5zdCBkb3VibGUtY291bnRpbmcgaW4gZnV0dXJlIHJlZmFjdG9ycyB0aGF0IG5lc3RcbiAqICAgc3RlcCBleGVjdXRpb24gb3IgdGFrZSBhbiBlYXJseS1yZXR1cm4gcGF0aCBiZXR3ZWVuIGEgYHBhdXNlKClgIGFuZFxuICogICB0aGUgbWF0Y2hpbmcgYHJlc3VtZSgpYC5cbiAqIC0gYGlzRXhoYXVzdGVkKClgIGlzIGNoZWNrZWQgYXQgbG9vcCBib3VuZGFyaWVzIGJ5IHRoZSBjYWxsZXI7IHRoZVxuICogICBidWRnZXQgaXRzZWxmIGRvZXMgbm90IGFybSBhbnkgdGltZXJzLiBUaGlzIG1lYW5zIGFuIGluLWZsaWdodFxuICogICBwYXRob2xvZ2ljYWwgYHJ1bldvcmtmbG93YCBjYWxsIChlLmcuIGEgaHVnZSBldmVudC1sb2cgcmVwbGF5KSBjYW5cbiAqICAgb3ZlcnNob290IHRoZSBidWRnZXQgYnkgdXAgdG8gb25lIGl0ZXJhdGlvbidzIHdvcnRoIG9mIHdvcmsgYmVmb3JlXG4gKiAgIHRoZSBuZXh0IGNoZWNrIGZpcmVzLiBJbiBwcmFjdGljZSB0aGUgMjBzIGhlYWRyb29tIGJ1aWx0IGludG9cbiAqICAgYE1BWF9SRVBMQVlfVElNRU9VVF9NU2AgKGFuZCB0aGUgZnVuY3Rpb24gYG1heER1cmF0aW9uYCBjZWlsaW5nKVxuICogICBnaXZlcyB1cyBzbGFjazsgdGhlIG9sZCBgc2V0VGltZW91dGAtYmFzZWQgYXBwcm9hY2ggYWxzbyB1bHRpbWF0ZWx5XG4gKiAgIHJlbGllZCBvbiB0aGUgcGxhdGZvcm0gU0lHVEVSTSBhcyB0aGUgaGFyZCBiYWNrc3RvcC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlcGxheUJ1ZGdldCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGltaXRNczogbnVtYmVyO1xuICBwcml2YXRlIGVsYXBzZWRNcyA9IDA7XG4gIHByaXZhdGUgaW50ZXJ2YWxTdGFydDogbnVtYmVyIHwgbnVsbDtcblxuICBjb25zdHJ1Y3RvcihsaW1pdE1zOiBudW1iZXIgPSBnZXRSZXBsYXlUaW1lb3V0TXMoKSkge1xuICAgIHRoaXMubGltaXRNcyA9IGxpbWl0TXM7XG4gICAgdGhpcy5pbnRlcnZhbFN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJlZCByZXBsYXktdGltZW91dCBsaW1pdCwgaW4gbXMuIFVzZWZ1bCBmb3IgbG9nIG1lc3NhZ2VzLlxuICAgKi9cbiAgZ2V0IGNvbmZpZ3VyZWRMaW1pdE1zKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubGltaXRNcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCBub24tc3RlcCB0aW1lIGFjY3VtdWxhdGVkIHNvIGZhciwgaW4gbXMuIEluY2x1ZGVzIHRoZVxuICAgKiBjdXJyZW50bHktYWN0aXZlIGludGVydmFsIGlmIHRoZSBidWRnZXQgaXMgbm90IHBhdXNlZC5cbiAgICovXG4gIGVsYXBzZWQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBvcGVuID1cbiAgICAgIHRoaXMuaW50ZXJ2YWxTdGFydCA9PT0gbnVsbCA/IDAgOiBEYXRlLm5vdygpIC0gdGhpcy5pbnRlcnZhbFN0YXJ0O1xuICAgIHJldHVybiB0aGlzLmVsYXBzZWRNcyArIG9wZW47XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBjb3VudGluZyBlbGFwc2VkIHRpbWUgdG93YXJkIHRoZSBidWRnZXQuIElkZW1wb3RlbnQ6IHNhZmUgdG9cbiAgICogY2FsbCBtdWx0aXBsZSB0aW1lcyBpbiBhIHJvdzsgc3Vic2VxdWVudCBjYWxscyBhcmUgbm8tb3BzIHVudGlsXG4gICAqIGByZXN1bWUoKWAgcmVvcGVucyBhbiBpbnRlcnZhbC5cbiAgICovXG4gIHBhdXNlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmludGVydmFsU3RhcnQgPT09IG51bGwpIHJldHVybjtcbiAgICB0aGlzLmVsYXBzZWRNcyArPSBEYXRlLm5vdygpIC0gdGhpcy5pbnRlcnZhbFN0YXJ0O1xuICAgIHRoaXMuaW50ZXJ2YWxTdGFydCA9IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmVzdW1lIGNvdW50aW5nIGVsYXBzZWQgdGltZSB0b3dhcmQgdGhlIGJ1ZGdldC4gSWRlbXBvdGVudDogc2FmZSB0b1xuICAgKiBjYWxsIG11bHRpcGxlIHRpbWVzIGluIGEgcm93OyBzdWJzZXF1ZW50IGNhbGxzIHJlLWFuY2hvciB0aGVcbiAgICogaW50ZXJ2YWwgc3RhcnQgdG8gYG5vdygpYCwgd2hpY2ggaXMgZmluZSBiZWNhdXNlIG5vIHRpbWUgYWNjcnVlc1xuICAgKiBiZXR3ZWVuIGJhY2stdG8tYmFjayBgcmVzdW1lKClgIGNhbGxzLlxuICAgKi9cbiAgcmVzdW1lKCk6IHZvaWQge1xuICAgIHRoaXMuaW50ZXJ2YWxTdGFydCA9IERhdGUubm93KCk7XG4gIH1cblxuICAvKipcbiAgICogVHJ1ZSBpZiB0aGUgYnVkZ2V0IGhhcyBiZWVuIGV4aGF1c3RlZCAoYGVsYXBzZWQoKSA+PSBsaW1pdE1zYCkuXG4gICAqIENhbGxlcnMgc2hvdWxkIGludm9rZSBgaGFuZGxlRXhoYXVzdGVkKC4uLilgIGFmdGVyd2FyZCBhbmQgcmV0dXJuXG4gICAqIGZyb20gdGhlIGhhbmRsZXIuXG4gICAqL1xuICBpc0V4aGF1c3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbGFwc2VkKCkgPj0gdGhpcy5saW1pdE1zO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXBsYXlUaW1lb3V0UmV0cnlFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbmFtZSA9ICdSZXBsYXlUaW1lb3V0UmV0cnlFcnJvcic7XG59XG5cbi8qKlxuICogUmVqZWN0IHRoZSBjdXJyZW50IGRlbGl2ZXJ5IHdoaWxlIHJlcGxheS10aW1lb3V0IHJldHJpZXMgcmVtYWluLiBPbmNlXG4gKiBleGhhdXN0ZWQsIGZhaWwgdGhlIHJ1biBhbmQgbGV0IHRoZSBxdWV1ZSBhY2tub3dsZWRnZSB0aGUgZGVsaXZlcnkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVSZXBsYXlCdWRnZXRFeGhhdXN0ZWQoYXJnczoge1xuICBydW5JZDogc3RyaW5nO1xuICB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgcmVxdWVzdElkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGF0dGVtcHQ6IG51bWJlcjtcbiAgbGltaXRNczogbnVtYmVyO1xuICAvKipcbiAgICogSG93IG11Y2ggb2YgdGhlIGxvZyB0aGUgcmVwbGF5IHRoYXQgcmFuIG91dCBvZiBidWRnZXQgaGFkIGxvYWRlZC4gQ2FycmllZFxuICAgKiBvbnRvIHRoZSB0ZXJtaW5hbCB3cml0ZSBmb3IgdGhlIHNhbWUgcmVhc29uIGV2ZXJ5IG90aGVyIHdyaXRlIGZyb20gdGhhdFxuICAgKiByZXBsYXkgY2FycmllcyBpdDogdGhlIHJ1biBpcyBiZWluZyBmYWlsZWQgb24gYSB2aWV3IG9mIHRoZSBsb2csIGFuZCB0aGVcbiAgICogV29ybGQgc2hvdWxkIGJlIHRvbGQgd2hpY2ggdmlldy5cbiAgICovXG4gIHNsb3RTbmFwc2hvdD86IFNsb3RTbmFwc2hvdFBhcmFtcztcbn0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBydW5JZCwgd29ya2Zsb3dOYW1lLCByZXF1ZXN0SWQsIGF0dGVtcHQsIGxpbWl0TXMsIHNsb3RTbmFwc2hvdCB9ID1cbiAgICBhcmdzO1xuICBjb25zdCBydW5Mb2dnZXIgPSBydW50aW1lTG9nZ2VyLmZvclJ1bihydW5JZCwgd29ya2Zsb3dOYW1lKTtcblxuICBjb25zdCBtYXhSZXRyaWVzID0gZ2V0UmVwbGF5VGltZW91dE1heFJldHJpZXMoKTtcbiAgaWYgKGF0dGVtcHQgPD0gbWF4UmV0cmllcykge1xuICAgIHJ1bkxvZ2dlci53YXJuKCdXb3JrZmxvdyByZXBsYXkgZXhjZWVkZWQgdGltZW91dDsgcmV0cnlpbmcgZGVsaXZlcnknLCB7XG4gICAgICB0aW1lb3V0TXM6IGxpbWl0TXMsXG4gICAgICBhdHRlbXB0LFxuICAgICAgbWF4UmV0cmllcyxcbiAgICB9KTtcbiAgICB0aHJvdyBuZXcgUmVwbGF5VGltZW91dFJldHJ5RXJyb3IoXG4gICAgICBgV29ya2Zsb3cgcmVwbGF5IGV4Y2VlZGVkIG1heGltdW0gZHVyYXRpb24gKCR7bGltaXRNcyAvIDEwMDB9cylgXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHdvcmxkID0gYXdhaXQgZ2V0V29ybGQoKTtcblxuICBjb25zdCByZXBsYXlUaW1lb3V0RGVzY3JpcHRpb24gPSBkZXNjcmliZUVycm9yKFxuICAgIHVuZGVmaW5lZCxcbiAgICBSVU5fRVJST1JfQ09ERVMuUkVQTEFZX1RJTUVPVVRcbiAgKTtcbiAgcnVuTG9nZ2VyLmVycm9yKFxuICAgICdXb3JrZmxvdyByZXBsYXkgZXhjZWVkZWQgdGltZW91dCBhbmQgbWF4IHJldHJpZXMgZXhjZWVkZWQuIEZhaWxpbmcgdGhlIHJ1bicsXG4gICAge1xuICAgICAgdGltZW91dE1zOiBsaW1pdE1zLFxuICAgICAgYXR0ZW1wdCxcbiAgICAgIG1heFJldHJpZXMsXG4gICAgICBlcnJvckNvZGU6IHJlcGxheVRpbWVvdXREZXNjcmlwdGlvbi5lcnJvckNvZGUsXG4gICAgICBlcnJvckF0dHJpYnV0aW9uOiByZXBsYXlUaW1lb3V0RGVzY3JpcHRpb24uYXR0cmlidXRpb24sXG4gICAgfVxuICApO1xuXG4gIGNvbnN0IGdldEVuY3J5cHRpb25LZXkgPSBtZW1vaXplRW5jcnlwdGlvbktleSh3b3JsZCwgcnVuSWQpO1xuICBjb25zdCB0aW1lb3V0RXJyID0gbmV3IEZhdGFsRXJyb3IoXG4gICAgYFdvcmtmbG93IHJlcGxheSBleGNlZWRlZCBtYXhpbXVtIGR1cmF0aW9uICgke2xpbWl0TXMgLyAxMDAwfXMpIGFmdGVyICR7YXR0ZW1wdH0gYXR0ZW1wdHNgXG4gICk7XG4gIGF3YWl0IHdvcmxkLmV2ZW50cy5jcmVhdGUoXG4gICAgcnVuSWQsXG4gICAge1xuICAgICAgZXZlbnRUeXBlOiAncnVuX2ZhaWxlZCcsXG4gICAgICBzcGVjVmVyc2lvbjogU1BFQ19WRVJTSU9OX0NVUlJFTlQsXG4gICAgICBldmVudERhdGE6IHtcbiAgICAgICAgZXJyb3I6IGF3YWl0IGRlaHlkcmF0ZVJ1bkVycm9yKFxuICAgICAgICAgIHRpbWVvdXRFcnIsXG4gICAgICAgICAgcnVuSWQsXG4gICAgICAgICAgYXdhaXQgZ2V0RW5jcnlwdGlvbktleSgpXG4gICAgICAgICksXG4gICAgICAgIGVycm9yQ29kZTogUlVOX0VSUk9SX0NPREVTLlJFUExBWV9USU1FT1VULFxuICAgICAgfSxcbiAgICB9LFxuICAgIHsgcmVxdWVzdElkLCAuLi5zbG90U25hcHNob3QgfVxuICApO1xufVxuIl19
|
|
@@ -17,7 +17,7 @@ export declare class ReplayRecoveryReporter {
|
|
|
17
17
|
* it, so `withEventCreate` always passes writes through untouched. Lets every
|
|
18
18
|
* call site hold a non-optional reporter instead of branching on one.
|
|
19
19
|
*
|
|
20
|
-
* Structurally inert rather than a zero-count reporter on purpose
|
|
20
|
+
* Structurally inert rather than a zero-count reporter on purpose: the
|
|
21
21
|
* server rejects a count below 1 as out-of-range and emits a
|
|
22
22
|
* `telemetry_rejected` metric, so a reporter that *can* report zero is a
|
|
23
23
|
* live footgun.
|
|
@@ -18,7 +18,7 @@ export class ReplayRecoveryReporter {
|
|
|
18
18
|
* it, so `withEventCreate` always passes writes through untouched. Lets every
|
|
19
19
|
* call site hold a non-optional reporter instead of branching on one.
|
|
20
20
|
*
|
|
21
|
-
* Structurally inert rather than a zero-count reporter on purpose
|
|
21
|
+
* Structurally inert rather than a zero-count reporter on purpose: the
|
|
22
22
|
* server rejects a count below 1 as out-of-range and emits a
|
|
23
23
|
* `telemetry_rejected` metric, so a reporter that *can* report zero is a
|
|
24
24
|
* live footgun.
|
|
@@ -61,4 +61,4 @@ class InertReplayRecoveryReporter extends ReplayRecoveryReporter {
|
|
|
61
61
|
// Deliberately empty: nothing to report, so nothing can arm.
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGF5LXJlY292ZXJ5LXJlcG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvcmVwbGF5LXJlY292ZXJ5LXJlcG9ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBSUo7SUFIckIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFekIsWUFBNkIsZUFBdUI7UUFBdkIsb0JBQWUsR0FBZixlQUFlLENBQVE7SUFBRyxDQUFDO0lBRXhEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxLQUFLO1FBQ1YsT0FBTyxJQUFJLDJCQUEyQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FDbkIsTUFBcUMsRUFDckMsTUFBNkQ7UUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUM7WUFDSCxPQUFPLE1BQU0sTUFBTSxDQUFDO2dCQUNsQixHQUFHLE1BQU07Z0JBQ1QscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGVBQWU7YUFDNUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxnREFBZ0Q7QUFDaEQsTUFBTSwyQkFBNEIsU0FBUSxzQkFBc0I7SUFDOUQ7UUFDRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRVEsUUFBUTtRQUNmLDZEQUE2RDtJQUMvRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENyZWF0ZUV2ZW50UGFyYW1zIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkJztcblxuLyoqXG4gKiBJbnZvY2F0aW9uLXNjb3BlZCwgb25lLXNob3QgcmVwb3J0ZXIgZm9yIGEgcmVwbGF5LWRpdmVyZ2VuY2UgcmVjb3ZlcnkuXG4gKlxuICogVGhlIHJlcG9ydGVyIHN0YXlzIGRvcm1hbnQgdW50aWwgcmVwbGF5IHJlYWNoZXMgYSB2YWxpZCBkZXRlcm1pbmlzdGljXG4gKiBib3VuZGFyeS4gVGhlIGZpcnN0IHN1YnNlcXVlbnQgZXZlbnQgd3JpdGUgY2FycmllcyB0aGUgdGVsZW1ldHJ5IGZvciBmcmVlLlxuICogQSByZWNvdmVyZWQgaW52b2NhdGlvbiB3aXRoIG5vIG5hdHVyYWwgZXZlbnQgd3JpdGUgaW50ZW50aW9uYWxseSByZXBvcnRzXG4gKiBub3RoaW5nLlxuICovXG5leHBvcnQgY2xhc3MgUmVwbGF5UmVjb3ZlcnlSZXBvcnRlciB7XG4gIHByaXZhdGUgYWN0aXZlID0gZmFsc2U7XG4gIHByaXZhdGUgcmVwb3J0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpdmVyZ2VuY2VDb3VudDogbnVtYmVyKSB7fVxuXG4gIC8qKlxuICAgKiBBIHJlcG9ydGVyIGZvciBhbiBpbnZvY2F0aW9uIHRoYXQgbmV2ZXIgZGl2ZXJnZWQ6IGBhY3RpdmF0ZSgpYCBjYW5ub3QgYXJtXG4gICAqIGl0LCBzbyBgd2l0aEV2ZW50Q3JlYXRlYCBhbHdheXMgcGFzc2VzIHdyaXRlcyB0aHJvdWdoIHVudG91Y2hlZC4gTGV0cyBldmVyeVxuICAgKiBjYWxsIHNpdGUgaG9sZCBhIG5vbi1vcHRpb25hbCByZXBvcnRlciBpbnN0ZWFkIG9mIGJyYW5jaGluZyBvbiBvbmUuXG4gICAqXG4gICAqIFN0cnVjdHVyYWxseSBpbmVydCByYXRoZXIgdGhhbiBhIHplcm8tY291bnQgcmVwb3J0ZXIgb24gcHVycG9zZTogdGhlXG4gICAqIHNlcnZlciByZWplY3RzIGEgY291bnQgYmVsb3cgMSBhcyBvdXQtb2YtcmFuZ2UgYW5kIGVtaXRzIGFcbiAgICogYHRlbGVtZXRyeV9yZWplY3RlZGAgbWV0cmljLCBzbyBhIHJlcG9ydGVyIHRoYXQgKmNhbiogcmVwb3J0IHplcm8gaXMgYVxuICAgKiBsaXZlIGZvb3RndW4uXG4gICAqL1xuICBzdGF0aWMgaW5lcnQoKTogUmVwbGF5UmVjb3ZlcnlSZXBvcnRlciB7XG4gICAgcmV0dXJuIG5ldyBJbmVydFJlcGxheVJlY292ZXJ5UmVwb3J0ZXIoKTtcbiAgfVxuXG4gIGFjdGl2YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvcmF0ZSBvbmUgbmF0dXJhbCBldmVudCB3cml0ZSB3aXRoIHJlY292ZXJ5IHRlbGVtZXRyeS5cbiAgICpcbiAgICogVGhlIGNsYWltIGlzIHRha2VuIHN5bmNocm9ub3VzbHksIHNvIGNvbmN1cnJlbnQgc3VzcGVuc2lvbiB3cml0ZXMgY2Fubm90XG4gICAqIGFsbCBjYXJyeSB0aGUgc2FtZSBjb3VudC4gQSBmYWlsZWQgcmVxdWVzdCByZWxlYXNlcyBpdCBmb3IgYSBsYXRlciBuYXR1cmFsXG4gICAqIHdyaXRlIGluIHRoZSBzYW1lIGludm9jYXRpb24uXG4gICAqL1xuICBhc3luYyB3aXRoRXZlbnRDcmVhdGU8VD4oXG4gICAgcGFyYW1zOiBDcmVhdGVFdmVudFBhcmFtcyB8IHVuZGVmaW5lZCxcbiAgICBjcmVhdGU6IChwYXJhbXM6IENyZWF0ZUV2ZW50UGFyYW1zIHwgdW5kZWZpbmVkKSA9PiBQcm9taXNlPFQ+XG4gICk6IFByb21pc2U8VD4ge1xuICAgIGlmICghdGhpcy5hY3RpdmUgfHwgdGhpcy5yZXBvcnRlZCkgcmV0dXJuIGNyZWF0ZShwYXJhbXMpO1xuXG4gICAgdGhpcy5yZXBvcnRlZCA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGUoe1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHJlcGxheURpdmVyZ2VuY2VDb3VudDogdGhpcy5kaXZlcmdlbmNlQ291bnQsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5yZXBvcnRlZCA9IGZhbHNlO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG5cbi8qKiBTZWUge0BsaW5rIFJlcGxheVJlY292ZXJ5UmVwb3J0ZXIuaW5lcnR9LiAqL1xuY2xhc3MgSW5lcnRSZXBsYXlSZWNvdmVyeVJlcG9ydGVyIGV4dGVuZHMgUmVwbGF5UmVjb3ZlcnlSZXBvcnRlciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKDApO1xuICB9XG5cbiAgb3ZlcnJpZGUgYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgLy8gRGVsaWJlcmF0ZWx5IGVtcHR5OiBub3RoaW5nIHRvIHJlcG9ydCwgc28gbm90aGluZyBjYW4gYXJtLlxuICB9XG59XG4iXX0=
|
|
@@ -15,18 +15,13 @@ export declare function getHookByToken(token: string): Promise<Hook>;
|
|
|
15
15
|
* The result of {@link resumeHook}: a {@link Hook} augmented with an optional
|
|
16
16
|
* resilience signal.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* `resilientResume: true`.
|
|
26
|
-
*
|
|
27
|
-
* On the happy path (the direct write landed) and on the sequential fallback
|
|
28
|
-
* path, the flag is absent (`undefined`). Callers that don't care about the
|
|
29
|
-
* distinction can treat the result as a plain {@link Hook}.
|
|
18
|
+
* `resilientResume` is retained for source compatibility and is never set. It
|
|
19
|
+
* signalled a resume whose direct `hook_received` write had failed while the
|
|
20
|
+
* queue dispatch succeeded, back when the lazy path raced the two. The lazy
|
|
21
|
+
* path no longer writes the event at all (the queue consumer materializes it
|
|
22
|
+
* from `hookInput`), so there is no longer a distinction to report, and the
|
|
23
|
+
* sequential path never set the flag either. Treat the result as a plain
|
|
24
|
+
* {@link Hook}.
|
|
30
25
|
*/
|
|
31
26
|
export type ResumedHook = Hook & {
|
|
32
27
|
resilientResume?: boolean;
|
|
@@ -61,6 +56,26 @@ export type ResumedHook = Hook & {
|
|
|
61
56
|
* ```
|
|
62
57
|
*/
|
|
63
58
|
export declare function resumeHook<T = any>(tokenOrHook: string | Hook, payload: T, encryptionKeyOverride?: PayloadKey): Promise<ResumedHook>;
|
|
59
|
+
/**
|
|
60
|
+
* {@link resumeHook} with the `hook_received` event written BEFORE this
|
|
61
|
+
* resolves, for the one caller that needs the resume to be durable at that
|
|
62
|
+
* instant rather than merely dispatched.
|
|
63
|
+
*
|
|
64
|
+
* The lazy path leaves the write to the queue consumer, so a normal
|
|
65
|
+
* `resumeHook()` resolves while the event is still in flight. That is fine for
|
|
66
|
+
* an external resume, whose caller has nothing racing it. It is NOT fine for a
|
|
67
|
+
* resume the runtime itself issues as a barrier: a step that aborts a shared
|
|
68
|
+
* `AbortController` resumes the hook that records the abort in the event log,
|
|
69
|
+
* and that write has to land before the step completes, or the workflow
|
|
70
|
+
* continuation `step_completed` enqueues can dispatch the next step with a
|
|
71
|
+
* stale, non-aborted signal (see `reviveAbortController` in serialization.ts).
|
|
72
|
+
*
|
|
73
|
+
* Forcing the eager write costs the round trip the lazy path removes, which is
|
|
74
|
+
* the right trade here: this is an internal ordering barrier, not the
|
|
75
|
+
* latency-sensitive external resume the optimization targets. The resume span
|
|
76
|
+
* reports `resume_fallback_reason: durable_required`.
|
|
77
|
+
*/
|
|
78
|
+
export declare function resumeHookDurable<T = any>(tokenOrHook: string | Hook, payload: T, encryptionKeyOverride?: PayloadKey): Promise<ResumedHook>;
|
|
64
79
|
/**
|
|
65
80
|
* Resumes a webhook by sending a {@link https://developer.mozilla.org/en-US/docs/Web/API/Request | Request}
|
|
66
81
|
* object to a hook identified by its token.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume-hook.d.ts","sourceRoot":"","sources":["../../src/runtime/resume-hook.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,IAAI,EAUV,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"resume-hook.d.ts","sourceRoot":"","sources":["../../src/runtime/resume-hook.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,IAAI,EAUV,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,qBAAqB,CAAC;AA0J7B;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,UAAU,CAAC,CAAC,GAAG,GAAG,EACtC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,EAAE,CAAC,EACV,qBAAqB,CAAC,EAAE,UAAU,GACjC,OAAO,CAAC,WAAW,CAAC,CAoBtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAC7C,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,EAAE,CAAC,EACV,qBAAqB,CAAC,EAAE,UAAU,GACjC,OAAO,CAAC,WAAW,CAAC,CAStB;AA+ZD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,QAAQ,CAAC,CA4EnB"}
|