@workflow/core 5.0.0-beta.38 → 5.0.0-beta.39
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/capabilities.d.ts +5 -0
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +20 -2
- package/dist/context-violation-error.d.ts.map +1 -1
- package/dist/context-violation-error.js +4 -2
- package/dist/replay-payload-cache.d.ts +11 -0
- package/dist/replay-payload-cache.d.ts.map +1 -1
- package/dist/replay-payload-cache.js +21 -4
- package/dist/runtime/compute-instance.d.ts +12 -0
- package/dist/runtime/compute-instance.d.ts.map +1 -0
- package/dist/runtime/compute-instance.js +13 -0
- package/dist/runtime/constants.d.ts +18 -0
- package/dist/runtime/constants.d.ts.map +1 -1
- package/dist/runtime/constants.js +42 -1
- package/dist/runtime/helpers.d.ts +103 -31
- package/dist/runtime/helpers.d.ts.map +1 -1
- package/dist/runtime/helpers.js +138 -61
- package/dist/runtime/replay-recovery-reporter.d.ts +36 -0
- package/dist/runtime/replay-recovery-reporter.d.ts.map +1 -0
- package/dist/runtime/replay-recovery-reporter.js +64 -0
- package/dist/runtime/resume-hook.d.ts +22 -2
- package/dist/runtime/resume-hook.d.ts.map +1 -1
- package/dist/runtime/resume-hook.js +281 -47
- package/dist/runtime/start.d.ts.map +1 -1
- package/dist/runtime/start.js +50 -3
- package/dist/runtime/step-executor.d.ts +17 -13
- package/dist/runtime/step-executor.d.ts.map +1 -1
- package/dist/runtime/step-executor.js +36 -24
- package/dist/runtime/suspension-handler.d.ts +13 -8
- package/dist/runtime/suspension-handler.d.ts.map +1 -1
- package/dist/runtime/suspension-handler.js +60 -18
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +622 -67
- package/dist/serialization/codec-devalue.d.ts.map +1 -1
- package/dist/serialization/codec-devalue.js +9 -2
- package/dist/serialization/codec.d.ts +17 -0
- package/dist/serialization/codec.d.ts.map +1 -1
- package/dist/serialization/codec.js +1 -1
- package/dist/serialization/hardened.d.ts +155 -0
- package/dist/serialization/hardened.d.ts.map +1 -0
- package/dist/serialization/hardened.js +523 -0
- package/dist/serialization/index.d.ts +2 -1
- package/dist/serialization/index.d.ts.map +1 -1
- package/dist/serialization/index.js +1 -1
- package/dist/serialization/reducers/class.d.ts.map +1 -1
- package/dist/serialization/reducers/class.js +11 -6
- package/dist/serialization/reducers/common.d.ts +1 -1
- package/dist/serialization/reducers/common.d.ts.map +1 -1
- package/dist/serialization/reducers/common.js +100 -61
- package/dist/serialization/reducers/step-function.d.ts.map +1 -1
- package/dist/serialization/reducers/step-function.js +25 -9
- package/dist/serialization.d.ts +13 -9
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +149 -48
- package/dist/set-attributes.d.ts.map +1 -1
- package/dist/set-attributes.js +5 -1
- package/dist/step/context-storage.d.ts +1 -1
- package/dist/step/context-storage.d.ts.map +1 -1
- package/dist/step/context-storage.js +6 -4
- package/dist/step/writable-stream.d.ts.map +1 -1
- package/dist/step/writable-stream.js +3 -2
- package/dist/step.d.ts.map +1 -1
- package/dist/step.js +9 -2
- package/dist/telemetry/semantic-conventions.d.ts +41 -0
- package/dist/telemetry/semantic-conventions.d.ts.map +1 -1
- package/dist/telemetry/semantic-conventions.js +32 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -2
- package/dist/workflow/hook.d.ts.map +1 -1
- package/dist/workflow/hook.js +38 -1
- package/dist/workflow.d.ts +1 -1
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +6 -2
- package/package.json +6 -6
package/dist/capabilities.d.ts
CHANGED
|
@@ -37,6 +37,11 @@
|
|
|
37
37
|
* which a run only carries if the deployment that created it could also
|
|
38
38
|
* open `encp`. The entry exists so the capability set stays a complete,
|
|
39
39
|
* auditable description of a run's decoding ability.
|
|
40
|
+
* - Lazy hook resume ("consumer re-ensures `hook_received` from `hookInput`"):
|
|
41
|
+
* deliberately NOT tracked here. Rather than predict a release cutoff, the
|
|
42
|
+
* run's creating deployment stamps an explicit `hookResumeInputVersion`
|
|
43
|
+
* execution-context marker; `resumeHook()` gates the parallel fast path on
|
|
44
|
+
* that marker (mirrored onto the hook's resumeContext by the server).
|
|
40
45
|
*/
|
|
41
46
|
import { type SerializationFormatType } from './serialization.js';
|
|
42
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAGH,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,gBAAgB,EAAE,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAEvD;;;;;;;OAOG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AA8DD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC,eAAe,CA4BjB"}
|
package/dist/capabilities.js
CHANGED
|
@@ -37,6 +37,11 @@
|
|
|
37
37
|
* which a run only carries if the deployment that created it could also
|
|
38
38
|
* open `encp`. The entry exists so the capability set stays a complete,
|
|
39
39
|
* auditable description of a run's decoding ability.
|
|
40
|
+
* - Lazy hook resume ("consumer re-ensures `hook_received` from `hookInput`"):
|
|
41
|
+
* deliberately NOT tracked here. Rather than predict a release cutoff, the
|
|
42
|
+
* run's creating deployment stamps an explicit `hookResumeInputVersion`
|
|
43
|
+
* execution-context marker; `resumeHook()` gates the parallel fast path on
|
|
44
|
+
* that marker (mirrored onto the hook's resumeContext by the server).
|
|
40
45
|
*/
|
|
41
46
|
import semver from 'semver';
|
|
42
47
|
import { SerializationFormat, } from './serialization.js';
|
|
@@ -69,7 +74,20 @@ const FORMAT_VERSION_TABLE = [
|
|
|
69
74
|
* Maps non-format capability flags (booleans on `RunCapabilities`) to the
|
|
70
75
|
* minimum `@workflow/core` version that introduced support for them.
|
|
71
76
|
*/
|
|
72
|
-
const CAPABILITY_VERSION_TABLE = [
|
|
77
|
+
const CAPABILITY_VERSION_TABLE = [
|
|
78
|
+
// TODO(release): verify this matches the actual version that ships byte-stream
|
|
79
|
+
// framing. If a "Version Packages (beta)" PR merges before this change, bump
|
|
80
|
+
// to the next beta. A too-low cutoff makes new producers write framed bytes to
|
|
81
|
+
// consumers that cannot unframe them (silent corruption); too-high merely
|
|
82
|
+
// delays the optimization (safe).
|
|
83
|
+
{ capability: 'framedByteStreams', minVersion: '5.0.0-beta.15' },
|
|
84
|
+
// NOTE: lazy hook resume ("does the consumer re-ensure `hook_received` from
|
|
85
|
+
// the queue message's `hookInput`?") is intentionally NOT gated here. A
|
|
86
|
+
// version-compare against a predicted release cutoff is a guess; instead the
|
|
87
|
+
// run's creating deployment stamps an explicit `hookResumeInputVersion`
|
|
88
|
+
// marker into its execution context, which the server mirrors onto the hook's
|
|
89
|
+
// resumeContext. `resumeHook()` gates the parallel fast path on that marker.
|
|
90
|
+
];
|
|
73
91
|
/**
|
|
74
92
|
* The set of formats supported by all specVersion 2 runs, regardless of
|
|
75
93
|
* `@workflow/core` version. These are the baseline formats that were present
|
|
@@ -111,4 +129,4 @@ export function getRunCapabilities(workflowCoreVersion) {
|
|
|
111
129
|
}
|
|
112
130
|
return result;
|
|
113
131
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NhcGFiaWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUNHO0FBRUgsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFDTCxtQkFBbUIsR0FFcEIsTUFBTSxvQkFBb0IsQ0FBQztBQXdCNUI7Ozs7R0FJRztBQUNILE1BQU0sb0JBQW9CLEdBR3JCO0lBQ0gsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUU7SUFDdEUsMkVBQTJFO0lBQzNFLDRFQUE0RTtJQUM1RSxvRUFBb0U7SUFDcEUseUVBQXlFO0lBQ3pFLHlFQUF5RTtJQUN6RSxvRUFBb0U7SUFDcEUsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUU7SUFDakUsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUU7SUFDakUsOEVBQThFO0lBQzlFLDJFQUEyRTtJQUMzRSwwRUFBMEU7SUFDMUUsNkVBQTZFO0lBQzdFLG1FQUFtRTtJQUNuRSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRTtJQUNuRSxrQkFBa0I7SUFDbEIsNkRBQTZEO0lBQzdELHFFQUFxRTtDQUN0RSxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSx3QkFBd0IsR0FRekIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztBQUV4RTs7OztHQUlHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBeUMsSUFBSSxHQUFHLENBQUM7SUFDckUsbUJBQW1CLENBQUMsVUFBVTtDQUMvQixDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsbUJBQXVDO0lBRXZDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1FBQy9ELE9BQU87WUFDTCxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsaUJBQWlCLEVBQUUsS0FBSztTQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUEwQixnQkFBZ0IsQ0FBQyxDQUFDO0lBRW5FLEtBQUssTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQzFELElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBb0I7UUFDOUIsZ0JBQWdCLEVBQUUsT0FBTztRQUN6QixpQkFBaUIsRUFBRSxLQUFLO0tBQ3pCLENBQUM7SUFFRixLQUFLLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUNsRSxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNoRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ2FwYWJpbGl0aWVzIHRhYmxlIGZvciB3b3JrZmxvdyBydW5zIGJhc2VkIG9uIHRoZWlyIGBAd29ya2Zsb3cvY29yZWAgdmVyc2lvbi5cbiAqXG4gKiBXaGVuIHJlc3VtaW5nIGEgaG9vayBvciB3ZWJob29rLCB0aGUgcGF5bG9hZCBtdXN0IGJlIGVuY29kZWQgaW4gYSBmb3JtYXRcbiAqIHRoYXQgdGhlICp0YXJnZXQqIHdvcmtmbG93IHJ1bidzIGRlcGxveW1lbnQgY2FuIGRlY29kZS4gVGhpcyBtb2R1bGUgcHJvdmlkZXNcbiAqIGEgd2F5IHRvIGxvb2sgdXAgd2hhdCBzZXJpYWxpemF0aW9uIGZvcm1hdHMgYSBnaXZlbiBgQHdvcmtmbG93L2NvcmVgIHZlcnNpb25cbiAqIHN1cHBvcnRzLCBzbyB0aGF0IG5ld2VyIGRlcGxveW1lbnRzIGNhbiBhdm9pZCBlbmNvZGluZyBwYXlsb2FkcyBpbiBmb3JtYXRzXG4gKiB0aGF0IG9sZGVyIGRlcGxveW1lbnRzIGRvbid0IHVuZGVyc3RhbmQgKGUuZy4sIHRoZSBgZW5jcmAgZW5jcnlwdGlvbiBmb3JtYXQpLlxuICpcbiAqICMjIEFkZGluZyBhIG5ldyBmb3JtYXRcbiAqXG4gKiBXaGVuIGEgbmV3IHNlcmlhbGl6YXRpb24gZm9ybWF0IGlzIGludHJvZHVjZWQ6XG4gKiAxLiBBZGQgdGhlIGZvcm1hdCBjb25zdGFudCB0byBgU2VyaWFsaXphdGlvbkZvcm1hdGAgaW4gYHNlcmlhbGl6YXRpb24udHNgXG4gKiAyLiBBZGQgYW4gZW50cnkgdG8gYEZPUk1BVF9WRVJTSU9OX1RBQkxFYCBiZWxvdyB3aXRoIHRoZSBtaW5pbXVtXG4gKiAgICBgQHdvcmtmbG93L2NvcmVgIHZlcnNpb24gdGhhdCBzdXBwb3J0cyBpdFxuICogMy4gVGhlIGBnZXRSdW5DYXBhYmlsaXRpZXMoKWAgZnVuY3Rpb24gd2lsbCBhdXRvbWF0aWNhbGx5IGluY2x1ZGUgaXRcbiAqXG4gKiAjIyBBZGRpbmcgYSBuZXcgbm9uLWZvcm1hdCBjYXBhYmlsaXR5XG4gKlxuICogU29tZSBjYXBhYmlsaXRpZXMgYXJlbid0IHNlcmlhbGl6YXRpb24gZm9ybWF0IHByZWZpeGVzIOKAlCBlLmcuXG4gKiBieXRlLXN0cmVhbSB3aXJlIGZyYW1pbmcgaXMgYW4gZW52ZWxvcGUgYXJvdW5kIGNodW5rcyByYXRoZXIgdGhhblxuICogYSBjb250ZW50IGZvcm1hdC4gRm9yIHRob3NlLCBhZGQgYSBib29sZWFuIGZpZWxkIHRvIGBSdW5DYXBhYmlsaXRpZXNgXG4gKiBhbmQgYW4gZW50cnkgaW4gYENBUEFCSUxJVFlfVkVSU0lPTl9UQUJMRWAgYmVsb3cuXG4gKlxuICogIyMgSGlzdG9yeVxuICpcbiAqIC0gYGVuY3JgIChBRVMtMjU2LUdDTSBlbmNyeXB0aW9uKTogYWRkZWQgaW4gYDQuMi4wLWJldGEuNjRgXG4gKiAgIENvbW1pdDogNzYxOGFjMzYgXCJXaXJlIEFFUy1HQ00gZW5jcnlwdGlvbiBpbnRvIHNlcmlhbGl6YXRpb24gbGF5ZXIgKCMxMjUxKVwiXG4gKiAgIGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvd29ya2Zsb3cvY29tbWl0Lzc2MThhYzM2XG4gKiAtIGBmcmFtZWRCeXRlU3RyZWFtc2AgKHdpcmUtbGV2ZWwgY2h1bmsgZnJhbWluZyBmb3IgYnl0ZSBzdHJlYW1zKTogYWRkZWQgaW4gYDUuMC4wLWJldGEuMTVgXG4gKiAtIGBnemlwYCAoZ3ppcCBwYXlsb2FkIGNvbXByZXNzaW9uKTogYWRkZWQgaW4gYDUuMC4wLWJldGEuMThgXG4gKiAtIGB6c3RkYCAoenN0ZCBwYXlsb2FkIGNvbXByZXNzaW9uLCBwcmVmZXJyZWQgY29kZWMpOiBhZGRlZCBpbiBgNS4wLjAtYmV0YS4xOGBcbiAqICAgYWxvbmdzaWRlIGd6aXAg4oCUIHRoZXkgY28tc2hpcCwgc28gYW55IHJ1biB0aGF0IGNhbiByZWFkIG9uZSBjYW4gcmVhZCBib3RoLlxuICogLSBgZW5jcGAgKFgyNTUxOSBzZWFsZWQtYm94IGVuY3J5cHRpb24gZm9yIGNyb3NzLXJ1biB3cml0ZXMpOiBhZGRlZCBpblxuICogICBgNS4wLjAtYmV0YS4zN2AuIE5vdGUgdGhhdCBwcm9kdWNlcnMgZG8gKipub3QqKiBnYXRlIGBlbmNwYCBvbiB0aGlzIHRhYmxlOlxuICogICB0aGV5IGdhdGUgb24gdGhlIHByZXNlbmNlIG9mIGBlbmNyeXB0aW9uUHVibGljS2V5YCBvbiB0aGUgdGFyZ2V0IHJ1bixcbiAqICAgd2hpY2ggYSBydW4gb25seSBjYXJyaWVzIGlmIHRoZSBkZXBsb3ltZW50IHRoYXQgY3JlYXRlZCBpdCBjb3VsZCBhbHNvXG4gKiAgIG9wZW4gYGVuY3BgLiBUaGUgZW50cnkgZXhpc3RzIHNvIHRoZSBjYXBhYmlsaXR5IHNldCBzdGF5cyBhIGNvbXBsZXRlLFxuICogICBhdWRpdGFibGUgZGVzY3JpcHRpb24gb2YgYSBydW4ncyBkZWNvZGluZyBhYmlsaXR5LlxuICovXG5cbmltcG9ydCBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB7XG4gIFNlcmlhbGl6YXRpb25Gb3JtYXQsXG4gIHR5cGUgU2VyaWFsaXphdGlvbkZvcm1hdFR5cGUsXG59IGZyb20gJy4vc2VyaWFsaXphdGlvbi5qcyc7XG5cbi8qKlxuICogQ2FwYWJpbGl0aWVzIG9mIGEgd29ya2Zsb3cgcnVuIGJhc2VkIG9uIGl0cyBgQHdvcmtmbG93L2NvcmVgIHZlcnNpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVuQ2FwYWJpbGl0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBzZXQgb2Ygc2VyaWFsaXphdGlvbiBmb3JtYXQgcHJlZml4ZXMgdGhhdCB0aGUgdGFyZ2V0IHJ1biBjYW4gZGVjb2RlLlxuICAgKiBVc2UgYHN1cHBvcnRlZEZvcm1hdHMuaGFzKFNlcmlhbGl6YXRpb25Gb3JtYXQuRU5DUllQVEVEKWAgdG8gY2hlY2tcbiAgICogaWYgZW5jcnlwdGlvbiBpcyBzdXBwb3J0ZWQsIGV0Yy5cbiAgICovXG4gIHN1cHBvcnRlZEZvcm1hdHM6IFJlYWRvbmx5U2V0PFNlcmlhbGl6YXRpb25Gb3JtYXRUeXBlPjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdGFyZ2V0IHJ1biBjYW4gZGVjb2RlIHdpcmUtZnJhbWVkIGJ5dGUgc3RyZWFtcy4gV2hlbiB0cnVlLFxuICAgKiBieXRlIHN0cmVhbXMgKGB0eXBlOiAnYnl0ZXMnYCBSZWFkYWJsZVN0cmVhbXMgcGFzc2VkIGFjcm9zcyBib3VuZGFyaWVzKVxuICAgKiBhcmUgd3JhcHBlZCBpbiBhIGxlbmd0aC1wcmVmaXhlZCBmcmFtZSBlbnZlbG9wZSBvbiB0aGUgd2lyZSBzbyB0aGVcbiAgICogcmVhZGVyIGNhbiBpZGVudGlmeSBjaHVuayBib3VuZGFyaWVzIOKAlCB3aGljaCBlbmFibGVzIGF1dG8tcmVjb25uZWN0XG4gICAqIG9uIHRyYW5zaWVudCBzdHJlYW0gZXJyb3JzLiBXaGVuIGZhbHNlLCBieXRlIHN0cmVhbXMgYXJlIHdyaXR0ZW4gYXNcbiAgICogcmF3IGJ5dGVzICh0aGUgbGVnYWN5IGZvcm1hdCkgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciBydW5zLlxuICAgKi9cbiAgZnJhbWVkQnl0ZVN0cmVhbXM6IGJvb2xlYW47XG59XG5cbi8qKlxuICogTWFwcyBzZXJpYWxpemF0aW9uIGZvcm1hdCBpZGVudGlmaWVycyB0byB0aGUgbWluaW11bSBgQHdvcmtmbG93L2NvcmVgXG4gKiB2ZXJzaW9uIHRoYXQgaW50cm9kdWNlZCBzdXBwb3J0IGZvciB0aGVtLiBGb3JtYXRzIG5vdCBsaXN0ZWQgaGVyZSBhcmVcbiAqIGFzc3VtZWQgdG8gYmUgc3VwcG9ydGVkIGJ5IGFsbCBzcGVjVmVyc2lvbiAyIHJ1bnMgKGUuZy4sIGBkZXZsYCkuXG4gKi9cbmNvbnN0IEZPUk1BVF9WRVJTSU9OX1RBQkxFOiBSZWFkb25seUFycmF5PHtcbiAgZm9ybWF0OiBTZXJpYWxpemF0aW9uRm9ybWF0VHlwZTtcbiAgbWluVmVyc2lvbjogc3RyaW5nO1xufT4gPSBbXG4gIHsgZm9ybWF0OiBTZXJpYWxpemF0aW9uRm9ybWF0LkVOQ1JZUFRFRCwgbWluVmVyc2lvbjogJzQuMi4wLWJldGEuNjQnIH0sXG4gIC8vIFRPRE8ocmVsZWFzZSk6IHZlcmlmeSB0aGlzIG1hdGNoZXMgdGhlIGFjdHVhbCB2ZXJzaW9uIHRoYXQgc2hpcHMgcGF5bG9hZFxuICAvLyBjb21wcmVzc2lvbi4gSWYgYSBcIlZlcnNpb24gUGFja2FnZXMgKGJldGEpXCIgUFIgbWVyZ2VzIGJlZm9yZSB0aGlzIGNoYW5nZSxcbiAgLy8gYnVtcCB0byB0aGUgbmV4dCBiZXRhLiBBIHRvby1sb3cgY3V0b2ZmIG1ha2VzIG5ldyBwcm9kdWNlcnMgd3JpdGVcbiAgLy8gY29tcHJlc3NlZCBwYXlsb2FkcyB0byBjb25zdW1lcnMgdGhhdCBjYW5ub3QgZGVjb21wcmVzcyB0aGVtOyB0b28taGlnaFxuICAvLyBtZXJlbHkgZGVsYXlzIHRoZSBvcHRpbWl6YXRpb24gKHNhZmUpLiBnemlwIGFuZCB6c3RkIHNoaXAgdG9nZXRoZXIsIHNvXG4gIC8vIHRoZXkgc2hhcmUgYSBtaW4gdmVyc2lvbiDigJQgYSBydW4gdGhhdCBjYW4gcmVhZCBvbmUgY2FuIHJlYWQgYm90aC5cbiAgeyBmb3JtYXQ6IFNlcmlhbGl6YXRpb25Gb3JtYXQuR1pJUCwgbWluVmVyc2lvbjogJzUuMC4wLWJldGEuMTgnIH0sXG4gIHsgZm9ybWF0OiBTZXJpYWxpemF0aW9uRm9ybWF0LlpTVEQsIG1pblZlcnNpb246ICc1LjAuMC1iZXRhLjE4JyB9LFxuICAvLyBUT0RPKHJlbGVhc2UpOiB2ZXJpZnkgdGhpcyBtYXRjaGVzIHRoZSBhY3R1YWwgdmVyc2lvbiB0aGF0IHNoaXBzIHNlYWxlZC1ib3hcbiAgLy8gZW5jcnlwdGlvbi4gSWYgYSBcIlZlcnNpb24gUGFja2FnZXMgKGJldGEpXCIgUFIgbWVyZ2VzIGJlZm9yZSB0aGlzIGNoYW5nZSxcbiAgLy8gYnVtcCB0byB0aGUgbmV4dCBiZXRhLiBVbmxpa2UgdGhlIGVudHJpZXMgYWJvdmUsIGEgd3JvbmcgY3V0b2ZmIGhlcmUgaXNcbiAgLy8gbm90IGEgY29ycmVjdG5lc3MgaGF6YXJkOiBwcm9kdWNlcnMgZ2F0ZSBgZW5jcGAgb24gdGhlIHRhcmdldCBydW4gY2FycnlpbmdcbiAgLy8gYW4gYGVuY3J5cHRpb25QdWJsaWNLZXlgLCBub3Qgb24gdGhpcyB0YWJsZSAoc2VlIEhpc3RvcnkgYWJvdmUpLlxuICB7IGZvcm1hdDogU2VyaWFsaXphdGlvbkZvcm1hdC5TRUFMRUQsIG1pblZlcnNpb246ICc1LjAuMC1iZXRhLjM3JyB9LFxuICAvLyBGdXR1cmUgZW50cmllczpcbiAgLy8geyBmb3JtYXQ6IFNlcmlhbGl6YXRpb25Gb3JtYXQuQ0JPUiwgbWluVmVyc2lvbjogJzUueC55JyB9LFxuICAvLyB7IGZvcm1hdDogU2VyaWFsaXphdGlvbkZvcm1hdC5FTkNSWVBURURfVjIsIG1pblZlcnNpb246ICc1LngueScgfSxcbl07XG5cbi8qKlxuICogTWFwcyBub24tZm9ybWF0IGNhcGFiaWxpdHkgZmxhZ3MgKGJvb2xlYW5zIG9uIGBSdW5DYXBhYmlsaXRpZXNgKSB0byB0aGVcbiAqIG1pbmltdW0gYEB3b3JrZmxvdy9jb3JlYCB2ZXJzaW9uIHRoYXQgaW50cm9kdWNlZCBzdXBwb3J0IGZvciB0aGVtLlxuICovXG5jb25zdCBDQVBBQklMSVRZX1ZFUlNJT05fVEFCTEU6IFJlYWRvbmx5QXJyYXk8e1xuICBjYXBhYmlsaXR5OiBrZXlvZiBPbWl0PFJ1bkNhcGFiaWxpdGllcywgJ3N1cHBvcnRlZEZvcm1hdHMnPjtcbiAgbWluVmVyc2lvbjogc3RyaW5nO1xuICAvLyBUT0RPKHJlbGVhc2UpOiB2ZXJpZnkgdGhpcyBtYXRjaGVzIHRoZSBhY3R1YWwgdmVyc2lvbiB0aGF0IHNoaXBzIGJ5dGUtc3RyZWFtXG4gIC8vIGZyYW1pbmcuIElmIGEgXCJWZXJzaW9uIFBhY2thZ2VzIChiZXRhKVwiIFBSIG1lcmdlcyBiZWZvcmUgdGhpcyBjaGFuZ2UsIGJ1bXBcbiAgLy8gdG8gdGhlIG5leHQgYmV0YS4gQSB0b28tbG93IGN1dG9mZiBtYWtlcyBuZXcgcHJvZHVjZXJzIHdyaXRlIGZyYW1lZCBieXRlcyB0b1xuICAvLyBjb25zdW1lcnMgdGhhdCBjYW5ub3QgdW5mcmFtZSB0aGVtIChzaWxlbnQgY29ycnVwdGlvbik7IHRvby1oaWdoIG1lcmVseVxuICAvLyBkZWxheXMgdGhlIG9wdGltaXphdGlvbiAoc2FmZSkuXG59PiA9IFt7IGNhcGFiaWxpdHk6ICdmcmFtZWRCeXRlU3RyZWFtcycsIG1pblZlcnNpb246ICc1LjAuMC1iZXRhLjE1JyB9XTtcblxuLyoqXG4gKiBUaGUgc2V0IG9mIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IGFsbCBzcGVjVmVyc2lvbiAyIHJ1bnMsIHJlZ2FyZGxlc3Mgb2ZcbiAqIGBAd29ya2Zsb3cvY29yZWAgdmVyc2lvbi4gVGhlc2UgYXJlIHRoZSBiYXNlbGluZSBmb3JtYXRzIHRoYXQgd2VyZSBwcmVzZW50XG4gKiBmcm9tIHRoZSBzdGFydCBvZiB0aGUgc3BlY1ZlcnNpb24gMiBwcm90b2NvbC5cbiAqL1xuY29uc3QgQkFTRUxJTkVfRk9STUFUUzogUmVhZG9ubHlTZXQ8U2VyaWFsaXphdGlvbkZvcm1hdFR5cGU+ID0gbmV3IFNldChbXG4gIFNlcmlhbGl6YXRpb25Gb3JtYXQuREVWQUxVRV9WMSxcbl0pO1xuXG4vKipcbiAqIExvb2sgdXAgd2hhdCBzZXJpYWxpemF0aW9uIGNhcGFiaWxpdGllcyBhIHdvcmtmbG93IHJ1biBzdXBwb3J0cyBiYXNlZCBvblxuICogaXRzIGBAd29ya2Zsb3cvY29yZWAgdmVyc2lvbiBzdHJpbmcgKGZyb20gYGV4ZWN1dGlvbkNvbnRleHQud29ya2Zsb3dDb3JlVmVyc2lvbmApLlxuICpcbiAqIFdoZW4gdGhlIHZlcnNpb24gaXMgYHVuZGVmaW5lZGAsIG5vdCBhIHN0cmluZywgb3Igbm90IGEgdmFsaWQgc2VtdmVyIHN0cmluZ1xuICogKGUuZy4gdmVyeSBvbGQgcnVucyB0aGF0IHByZWRhdGUgdGhlIGZpZWxkLCBvciBjb3JydXB0ZWQgbWV0YWRhdGEpLFxuICogd2UgYXNzdW1lIHRoZSBtb3N0IGNvbnNlcnZhdGl2ZSBjYXBhYmlsaXRpZXMgKGJhc2VsaW5lIGZvcm1hdHMgb25seSxcbiAqIG5vbi1mb3JtYXQgY2FwYWJpbGl0aWVzIGFsbCBgZmFsc2VgKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJ1bkNhcGFiaWxpdGllcyhcbiAgd29ya2Zsb3dDb3JlVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBSdW5DYXBhYmlsaXRpZXMge1xuICBpZiAoIXdvcmtmbG93Q29yZVZlcnNpb24gfHwgIXNlbXZlci52YWxpZCh3b3JrZmxvd0NvcmVWZXJzaW9uKSkge1xuICAgIHJldHVybiB7XG4gICAgICBzdXBwb3J0ZWRGb3JtYXRzOiBCQVNFTElORV9GT1JNQVRTLFxuICAgICAgZnJhbWVkQnl0ZVN0cmVhbXM6IGZhbHNlLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBmb3JtYXRzID0gbmV3IFNldDxTZXJpYWxpemF0aW9uRm9ybWF0VHlwZT4oQkFTRUxJTkVfRk9STUFUUyk7XG5cbiAgZm9yIChjb25zdCB7IGZvcm1hdCwgbWluVmVyc2lvbiB9IG9mIEZPUk1BVF9WRVJTSU9OX1RBQkxFKSB7XG4gICAgaWYgKHNlbXZlci5ndGUod29ya2Zsb3dDb3JlVmVyc2lvbiwgbWluVmVyc2lvbikpIHtcbiAgICAgIGZvcm1hdHMuYWRkKGZvcm1hdCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBSdW5DYXBhYmlsaXRpZXMgPSB7XG4gICAgc3VwcG9ydGVkRm9ybWF0czogZm9ybWF0cyxcbiAgICBmcmFtZWRCeXRlU3RyZWFtczogZmFsc2UsXG4gIH07XG5cbiAgZm9yIChjb25zdCB7IGNhcGFiaWxpdHksIG1pblZlcnNpb24gfSBvZiBDQVBBQklMSVRZX1ZFUlNJT05fVEFCTEUpIHtcbiAgICBpZiAoc2VtdmVyLmd0ZSh3b3JrZmxvd0NvcmVWZXJzaW9uLCBtaW5WZXJzaW9uKSkge1xuICAgICAgcmVzdWx0W2NhcGFiaWxpdHldID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NhcGFiaWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q0c7QUFFSCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUNMLG1CQUFtQixHQUVwQixNQUFNLG9CQUFvQixDQUFDO0FBd0I1Qjs7OztHQUlHO0FBQ0gsTUFBTSxvQkFBb0IsR0FHckI7SUFDSCxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRTtJQUN0RSwyRUFBMkU7SUFDM0UsNEVBQTRFO0lBQzVFLG9FQUFvRTtJQUNwRSx5RUFBeUU7SUFDekUseUVBQXlFO0lBQ3pFLG9FQUFvRTtJQUNwRSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRTtJQUNqRSxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRTtJQUNqRSw4RUFBOEU7SUFDOUUsMkVBQTJFO0lBQzNFLDBFQUEwRTtJQUMxRSw2RUFBNkU7SUFDN0UsbUVBQW1FO0lBQ25FLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFO0lBQ25FLGtCQUFrQjtJQUNsQiw2REFBNkQ7SUFDN0QscUVBQXFFO0NBQ3RFLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLHdCQUF3QixHQUd6QjtJQUNILCtFQUErRTtJQUMvRSw2RUFBNkU7SUFDN0UsK0VBQStFO0lBQy9FLDBFQUEwRTtJQUMxRSxrQ0FBa0M7SUFDbEMsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRTtJQUNoRSw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLDZFQUE2RTtJQUM3RSx3RUFBd0U7SUFDeEUsOEVBQThFO0lBQzlFLDZFQUE2RTtDQUM5RSxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sZ0JBQWdCLEdBQXlDLElBQUksR0FBRyxDQUFDO0lBQ3JFLG1CQUFtQixDQUFDLFVBQVU7Q0FDL0IsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLG1CQUF1QztJQUV2QyxJQUFJLENBQUMsbUJBQW1CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztRQUMvRCxPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGlCQUFpQixFQUFFLEtBQUs7U0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBMEIsZ0JBQWdCLENBQUMsQ0FBQztJQUVuRSxLQUFLLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMxRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQW9CO1FBQzlCLGdCQUFnQixFQUFFLE9BQU87UUFDekIsaUJBQWlCLEVBQUUsS0FBSztLQUN6QixDQUFDO0lBRUYsS0FBSyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFDbEUsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDaEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENhcGFiaWxpdGllcyB0YWJsZSBmb3Igd29ya2Zsb3cgcnVucyBiYXNlZCBvbiB0aGVpciBgQHdvcmtmbG93L2NvcmVgIHZlcnNpb24uXG4gKlxuICogV2hlbiByZXN1bWluZyBhIGhvb2sgb3Igd2ViaG9vaywgdGhlIHBheWxvYWQgbXVzdCBiZSBlbmNvZGVkIGluIGEgZm9ybWF0XG4gKiB0aGF0IHRoZSAqdGFyZ2V0KiB3b3JrZmxvdyBydW4ncyBkZXBsb3ltZW50IGNhbiBkZWNvZGUuIFRoaXMgbW9kdWxlIHByb3ZpZGVzXG4gKiBhIHdheSB0byBsb29rIHVwIHdoYXQgc2VyaWFsaXphdGlvbiBmb3JtYXRzIGEgZ2l2ZW4gYEB3b3JrZmxvdy9jb3JlYCB2ZXJzaW9uXG4gKiBzdXBwb3J0cywgc28gdGhhdCBuZXdlciBkZXBsb3ltZW50cyBjYW4gYXZvaWQgZW5jb2RpbmcgcGF5bG9hZHMgaW4gZm9ybWF0c1xuICogdGhhdCBvbGRlciBkZXBsb3ltZW50cyBkb24ndCB1bmRlcnN0YW5kIChlLmcuLCB0aGUgYGVuY3JgIGVuY3J5cHRpb24gZm9ybWF0KS5cbiAqXG4gKiAjIyBBZGRpbmcgYSBuZXcgZm9ybWF0XG4gKlxuICogV2hlbiBhIG5ldyBzZXJpYWxpemF0aW9uIGZvcm1hdCBpcyBpbnRyb2R1Y2VkOlxuICogMS4gQWRkIHRoZSBmb3JtYXQgY29uc3RhbnQgdG8gYFNlcmlhbGl6YXRpb25Gb3JtYXRgIGluIGBzZXJpYWxpemF0aW9uLnRzYFxuICogMi4gQWRkIGFuIGVudHJ5IHRvIGBGT1JNQVRfVkVSU0lPTl9UQUJMRWAgYmVsb3cgd2l0aCB0aGUgbWluaW11bVxuICogICAgYEB3b3JrZmxvdy9jb3JlYCB2ZXJzaW9uIHRoYXQgc3VwcG9ydHMgaXRcbiAqIDMuIFRoZSBgZ2V0UnVuQ2FwYWJpbGl0aWVzKClgIGZ1bmN0aW9uIHdpbGwgYXV0b21hdGljYWxseSBpbmNsdWRlIGl0XG4gKlxuICogIyMgQWRkaW5nIGEgbmV3IG5vbi1mb3JtYXQgY2FwYWJpbGl0eVxuICpcbiAqIFNvbWUgY2FwYWJpbGl0aWVzIGFyZW4ndCBzZXJpYWxpemF0aW9uIGZvcm1hdCBwcmVmaXhlcyDigJQgZS5nLlxuICogYnl0ZS1zdHJlYW0gd2lyZSBmcmFtaW5nIGlzIGFuIGVudmVsb3BlIGFyb3VuZCBjaHVua3MgcmF0aGVyIHRoYW5cbiAqIGEgY29udGVudCBmb3JtYXQuIEZvciB0aG9zZSwgYWRkIGEgYm9vbGVhbiBmaWVsZCB0byBgUnVuQ2FwYWJpbGl0aWVzYFxuICogYW5kIGFuIGVudHJ5IGluIGBDQVBBQklMSVRZX1ZFUlNJT05fVEFCTEVgIGJlbG93LlxuICpcbiAqICMjIEhpc3RvcnlcbiAqXG4gKiAtIGBlbmNyYCAoQUVTLTI1Ni1HQ00gZW5jcnlwdGlvbik6IGFkZGVkIGluIGA0LjIuMC1iZXRhLjY0YFxuICogICBDb21taXQ6IDc2MThhYzM2IFwiV2lyZSBBRVMtR0NNIGVuY3J5cHRpb24gaW50byBzZXJpYWxpemF0aW9uIGxheWVyICgjMTI1MSlcIlxuICogICBodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL3dvcmtmbG93L2NvbW1pdC83NjE4YWMzNlxuICogLSBgZnJhbWVkQnl0ZVN0cmVhbXNgICh3aXJlLWxldmVsIGNodW5rIGZyYW1pbmcgZm9yIGJ5dGUgc3RyZWFtcyk6IGFkZGVkIGluIGA1LjAuMC1iZXRhLjE1YFxuICogLSBgZ3ppcGAgKGd6aXAgcGF5bG9hZCBjb21wcmVzc2lvbik6IGFkZGVkIGluIGA1LjAuMC1iZXRhLjE4YFxuICogLSBgenN0ZGAgKHpzdGQgcGF5bG9hZCBjb21wcmVzc2lvbiwgcHJlZmVycmVkIGNvZGVjKTogYWRkZWQgaW4gYDUuMC4wLWJldGEuMThgXG4gKiAgIGFsb25nc2lkZSBnemlwIOKAlCB0aGV5IGNvLXNoaXAsIHNvIGFueSBydW4gdGhhdCBjYW4gcmVhZCBvbmUgY2FuIHJlYWQgYm90aC5cbiAqIC0gYGVuY3BgIChYMjU1MTkgc2VhbGVkLWJveCBlbmNyeXB0aW9uIGZvciBjcm9zcy1ydW4gd3JpdGVzKTogYWRkZWQgaW5cbiAqICAgYDUuMC4wLWJldGEuMzdgLiBOb3RlIHRoYXQgcHJvZHVjZXJzIGRvICoqbm90KiogZ2F0ZSBgZW5jcGAgb24gdGhpcyB0YWJsZTpcbiAqICAgdGhleSBnYXRlIG9uIHRoZSBwcmVzZW5jZSBvZiBgZW5jcnlwdGlvblB1YmxpY0tleWAgb24gdGhlIHRhcmdldCBydW4sXG4gKiAgIHdoaWNoIGEgcnVuIG9ubHkgY2FycmllcyBpZiB0aGUgZGVwbG95bWVudCB0aGF0IGNyZWF0ZWQgaXQgY291bGQgYWxzb1xuICogICBvcGVuIGBlbmNwYC4gVGhlIGVudHJ5IGV4aXN0cyBzbyB0aGUgY2FwYWJpbGl0eSBzZXQgc3RheXMgYSBjb21wbGV0ZSxcbiAqICAgYXVkaXRhYmxlIGRlc2NyaXB0aW9uIG9mIGEgcnVuJ3MgZGVjb2RpbmcgYWJpbGl0eS5cbiAqIC0gTGF6eSBob29rIHJlc3VtZSAoXCJjb25zdW1lciByZS1lbnN1cmVzIGBob29rX3JlY2VpdmVkYCBmcm9tIGBob29rSW5wdXRgXCIpOlxuICogICBkZWxpYmVyYXRlbHkgTk9UIHRyYWNrZWQgaGVyZS4gUmF0aGVyIHRoYW4gcHJlZGljdCBhIHJlbGVhc2UgY3V0b2ZmLCB0aGVcbiAqICAgcnVuJ3MgY3JlYXRpbmcgZGVwbG95bWVudCBzdGFtcHMgYW4gZXhwbGljaXQgYGhvb2tSZXN1bWVJbnB1dFZlcnNpb25gXG4gKiAgIGV4ZWN1dGlvbi1jb250ZXh0IG1hcmtlcjsgYHJlc3VtZUhvb2soKWAgZ2F0ZXMgdGhlIHBhcmFsbGVsIGZhc3QgcGF0aCBvblxuICogICB0aGF0IG1hcmtlciAobWlycm9yZWQgb250byB0aGUgaG9vaydzIHJlc3VtZUNvbnRleHQgYnkgdGhlIHNlcnZlcikuXG4gKi9cblxuaW1wb3J0IHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHtcbiAgU2VyaWFsaXphdGlvbkZvcm1hdCxcbiAgdHlwZSBTZXJpYWxpemF0aW9uRm9ybWF0VHlwZSxcbn0gZnJvbSAnLi9zZXJpYWxpemF0aW9uLmpzJztcblxuLyoqXG4gKiBDYXBhYmlsaXRpZXMgb2YgYSB3b3JrZmxvdyBydW4gYmFzZWQgb24gaXRzIGBAd29ya2Zsb3cvY29yZWAgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdW5DYXBhYmlsaXRpZXMge1xuICAvKipcbiAgICogVGhlIHNldCBvZiBzZXJpYWxpemF0aW9uIGZvcm1hdCBwcmVmaXhlcyB0aGF0IHRoZSB0YXJnZXQgcnVuIGNhbiBkZWNvZGUuXG4gICAqIFVzZSBgc3VwcG9ydGVkRm9ybWF0cy5oYXMoU2VyaWFsaXphdGlvbkZvcm1hdC5FTkNSWVBURUQpYCB0byBjaGVja1xuICAgKiBpZiBlbmNyeXB0aW9uIGlzIHN1cHBvcnRlZCwgZXRjLlxuICAgKi9cbiAgc3VwcG9ydGVkRm9ybWF0czogUmVhZG9ubHlTZXQ8U2VyaWFsaXphdGlvbkZvcm1hdFR5cGU+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0YXJnZXQgcnVuIGNhbiBkZWNvZGUgd2lyZS1mcmFtZWQgYnl0ZSBzdHJlYW1zLiBXaGVuIHRydWUsXG4gICAqIGJ5dGUgc3RyZWFtcyAoYHR5cGU6ICdieXRlcydgIFJlYWRhYmxlU3RyZWFtcyBwYXNzZWQgYWNyb3NzIGJvdW5kYXJpZXMpXG4gICAqIGFyZSB3cmFwcGVkIGluIGEgbGVuZ3RoLXByZWZpeGVkIGZyYW1lIGVudmVsb3BlIG9uIHRoZSB3aXJlIHNvIHRoZVxuICAgKiByZWFkZXIgY2FuIGlkZW50aWZ5IGNodW5rIGJvdW5kYXJpZXMg4oCUIHdoaWNoIGVuYWJsZXMgYXV0by1yZWNvbm5lY3RcbiAgICogb24gdHJhbnNpZW50IHN0cmVhbSBlcnJvcnMuIFdoZW4gZmFsc2UsIGJ5dGUgc3RyZWFtcyBhcmUgd3JpdHRlbiBhc1xuICAgKiByYXcgYnl0ZXMgKHRoZSBsZWdhY3kgZm9ybWF0KSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIHJ1bnMuXG4gICAqL1xuICBmcmFtZWRCeXRlU3RyZWFtczogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNYXBzIHNlcmlhbGl6YXRpb24gZm9ybWF0IGlkZW50aWZpZXJzIHRvIHRoZSBtaW5pbXVtIGBAd29ya2Zsb3cvY29yZWBcbiAqIHZlcnNpb24gdGhhdCBpbnRyb2R1Y2VkIHN1cHBvcnQgZm9yIHRoZW0uIEZvcm1hdHMgbm90IGxpc3RlZCBoZXJlIGFyZVxuICogYXNzdW1lZCB0byBiZSBzdXBwb3J0ZWQgYnkgYWxsIHNwZWNWZXJzaW9uIDIgcnVucyAoZS5nLiwgYGRldmxgKS5cbiAqL1xuY29uc3QgRk9STUFUX1ZFUlNJT05fVEFCTEU6IFJlYWRvbmx5QXJyYXk8e1xuICBmb3JtYXQ6IFNlcmlhbGl6YXRpb25Gb3JtYXRUeXBlO1xuICBtaW5WZXJzaW9uOiBzdHJpbmc7XG59PiA9IFtcbiAgeyBmb3JtYXQ6IFNlcmlhbGl6YXRpb25Gb3JtYXQuRU5DUllQVEVELCBtaW5WZXJzaW9uOiAnNC4yLjAtYmV0YS42NCcgfSxcbiAgLy8gVE9ETyhyZWxlYXNlKTogdmVyaWZ5IHRoaXMgbWF0Y2hlcyB0aGUgYWN0dWFsIHZlcnNpb24gdGhhdCBzaGlwcyBwYXlsb2FkXG4gIC8vIGNvbXByZXNzaW9uLiBJZiBhIFwiVmVyc2lvbiBQYWNrYWdlcyAoYmV0YSlcIiBQUiBtZXJnZXMgYmVmb3JlIHRoaXMgY2hhbmdlLFxuICAvLyBidW1wIHRvIHRoZSBuZXh0IGJldGEuIEEgdG9vLWxvdyBjdXRvZmYgbWFrZXMgbmV3IHByb2R1Y2VycyB3cml0ZVxuICAvLyBjb21wcmVzc2VkIHBheWxvYWRzIHRvIGNvbnN1bWVycyB0aGF0IGNhbm5vdCBkZWNvbXByZXNzIHRoZW07IHRvby1oaWdoXG4gIC8vIG1lcmVseSBkZWxheXMgdGhlIG9wdGltaXphdGlvbiAoc2FmZSkuIGd6aXAgYW5kIHpzdGQgc2hpcCB0b2dldGhlciwgc29cbiAgLy8gdGhleSBzaGFyZSBhIG1pbiB2ZXJzaW9uIOKAlCBhIHJ1biB0aGF0IGNhbiByZWFkIG9uZSBjYW4gcmVhZCBib3RoLlxuICB7IGZvcm1hdDogU2VyaWFsaXphdGlvbkZvcm1hdC5HWklQLCBtaW5WZXJzaW9uOiAnNS4wLjAtYmV0YS4xOCcgfSxcbiAgeyBmb3JtYXQ6IFNlcmlhbGl6YXRpb25Gb3JtYXQuWlNURCwgbWluVmVyc2lvbjogJzUuMC4wLWJldGEuMTgnIH0sXG4gIC8vIFRPRE8ocmVsZWFzZSk6IHZlcmlmeSB0aGlzIG1hdGNoZXMgdGhlIGFjdHVhbCB2ZXJzaW9uIHRoYXQgc2hpcHMgc2VhbGVkLWJveFxuICAvLyBlbmNyeXB0aW9uLiBJZiBhIFwiVmVyc2lvbiBQYWNrYWdlcyAoYmV0YSlcIiBQUiBtZXJnZXMgYmVmb3JlIHRoaXMgY2hhbmdlLFxuICAvLyBidW1wIHRvIHRoZSBuZXh0IGJldGEuIFVubGlrZSB0aGUgZW50cmllcyBhYm92ZSwgYSB3cm9uZyBjdXRvZmYgaGVyZSBpc1xuICAvLyBub3QgYSBjb3JyZWN0bmVzcyBoYXphcmQ6IHByb2R1Y2VycyBnYXRlIGBlbmNwYCBvbiB0aGUgdGFyZ2V0IHJ1biBjYXJyeWluZ1xuICAvLyBhbiBgZW5jcnlwdGlvblB1YmxpY0tleWAsIG5vdCBvbiB0aGlzIHRhYmxlIChzZWUgSGlzdG9yeSBhYm92ZSkuXG4gIHsgZm9ybWF0OiBTZXJpYWxpemF0aW9uRm9ybWF0LlNFQUxFRCwgbWluVmVyc2lvbjogJzUuMC4wLWJldGEuMzcnIH0sXG4gIC8vIEZ1dHVyZSBlbnRyaWVzOlxuICAvLyB7IGZvcm1hdDogU2VyaWFsaXphdGlvbkZvcm1hdC5DQk9SLCBtaW5WZXJzaW9uOiAnNS54LnknIH0sXG4gIC8vIHsgZm9ybWF0OiBTZXJpYWxpemF0aW9uRm9ybWF0LkVOQ1JZUFRFRF9WMiwgbWluVmVyc2lvbjogJzUueC55JyB9LFxuXTtcblxuLyoqXG4gKiBNYXBzIG5vbi1mb3JtYXQgY2FwYWJpbGl0eSBmbGFncyAoYm9vbGVhbnMgb24gYFJ1bkNhcGFiaWxpdGllc2ApIHRvIHRoZVxuICogbWluaW11bSBgQHdvcmtmbG93L2NvcmVgIHZlcnNpb24gdGhhdCBpbnRyb2R1Y2VkIHN1cHBvcnQgZm9yIHRoZW0uXG4gKi9cbmNvbnN0IENBUEFCSUxJVFlfVkVSU0lPTl9UQUJMRTogUmVhZG9ubHlBcnJheTx7XG4gIGNhcGFiaWxpdHk6IGtleW9mIE9taXQ8UnVuQ2FwYWJpbGl0aWVzLCAnc3VwcG9ydGVkRm9ybWF0cyc+O1xuICBtaW5WZXJzaW9uOiBzdHJpbmc7XG59PiA9IFtcbiAgLy8gVE9ETyhyZWxlYXNlKTogdmVyaWZ5IHRoaXMgbWF0Y2hlcyB0aGUgYWN0dWFsIHZlcnNpb24gdGhhdCBzaGlwcyBieXRlLXN0cmVhbVxuICAvLyBmcmFtaW5nLiBJZiBhIFwiVmVyc2lvbiBQYWNrYWdlcyAoYmV0YSlcIiBQUiBtZXJnZXMgYmVmb3JlIHRoaXMgY2hhbmdlLCBidW1wXG4gIC8vIHRvIHRoZSBuZXh0IGJldGEuIEEgdG9vLWxvdyBjdXRvZmYgbWFrZXMgbmV3IHByb2R1Y2VycyB3cml0ZSBmcmFtZWQgYnl0ZXMgdG9cbiAgLy8gY29uc3VtZXJzIHRoYXQgY2Fubm90IHVuZnJhbWUgdGhlbSAoc2lsZW50IGNvcnJ1cHRpb24pOyB0b28taGlnaCBtZXJlbHlcbiAgLy8gZGVsYXlzIHRoZSBvcHRpbWl6YXRpb24gKHNhZmUpLlxuICB7IGNhcGFiaWxpdHk6ICdmcmFtZWRCeXRlU3RyZWFtcycsIG1pblZlcnNpb246ICc1LjAuMC1iZXRhLjE1JyB9LFxuICAvLyBOT1RFOiBsYXp5IGhvb2sgcmVzdW1lIChcImRvZXMgdGhlIGNvbnN1bWVyIHJlLWVuc3VyZSBgaG9va19yZWNlaXZlZGAgZnJvbVxuICAvLyB0aGUgcXVldWUgbWVzc2FnZSdzIGBob29rSW5wdXRgP1wiKSBpcyBpbnRlbnRpb25hbGx5IE5PVCBnYXRlZCBoZXJlLiBBXG4gIC8vIHZlcnNpb24tY29tcGFyZSBhZ2FpbnN0IGEgcHJlZGljdGVkIHJlbGVhc2UgY3V0b2ZmIGlzIGEgZ3Vlc3M7IGluc3RlYWQgdGhlXG4gIC8vIHJ1bidzIGNyZWF0aW5nIGRlcGxveW1lbnQgc3RhbXBzIGFuIGV4cGxpY2l0IGBob29rUmVzdW1lSW5wdXRWZXJzaW9uYFxuICAvLyBtYXJrZXIgaW50byBpdHMgZXhlY3V0aW9uIGNvbnRleHQsIHdoaWNoIHRoZSBzZXJ2ZXIgbWlycm9ycyBvbnRvIHRoZSBob29rJ3NcbiAgLy8gcmVzdW1lQ29udGV4dC4gYHJlc3VtZUhvb2soKWAgZ2F0ZXMgdGhlIHBhcmFsbGVsIGZhc3QgcGF0aCBvbiB0aGF0IG1hcmtlci5cbl07XG5cbi8qKlxuICogVGhlIHNldCBvZiBmb3JtYXRzIHN1cHBvcnRlZCBieSBhbGwgc3BlY1ZlcnNpb24gMiBydW5zLCByZWdhcmRsZXNzIG9mXG4gKiBgQHdvcmtmbG93L2NvcmVgIHZlcnNpb24uIFRoZXNlIGFyZSB0aGUgYmFzZWxpbmUgZm9ybWF0cyB0aGF0IHdlcmUgcHJlc2VudFxuICogZnJvbSB0aGUgc3RhcnQgb2YgdGhlIHNwZWNWZXJzaW9uIDIgcHJvdG9jb2wuXG4gKi9cbmNvbnN0IEJBU0VMSU5FX0ZPUk1BVFM6IFJlYWRvbmx5U2V0PFNlcmlhbGl6YXRpb25Gb3JtYXRUeXBlPiA9IG5ldyBTZXQoW1xuICBTZXJpYWxpemF0aW9uRm9ybWF0LkRFVkFMVUVfVjEsXG5dKTtcblxuLyoqXG4gKiBMb29rIHVwIHdoYXQgc2VyaWFsaXphdGlvbiBjYXBhYmlsaXRpZXMgYSB3b3JrZmxvdyBydW4gc3VwcG9ydHMgYmFzZWQgb25cbiAqIGl0cyBgQHdvcmtmbG93L2NvcmVgIHZlcnNpb24gc3RyaW5nIChmcm9tIGBleGVjdXRpb25Db250ZXh0LndvcmtmbG93Q29yZVZlcnNpb25gKS5cbiAqXG4gKiBXaGVuIHRoZSB2ZXJzaW9uIGlzIGB1bmRlZmluZWRgLCBub3QgYSBzdHJpbmcsIG9yIG5vdCBhIHZhbGlkIHNlbXZlciBzdHJpbmdcbiAqIChlLmcuIHZlcnkgb2xkIHJ1bnMgdGhhdCBwcmVkYXRlIHRoZSBmaWVsZCwgb3IgY29ycnVwdGVkIG1ldGFkYXRhKSxcbiAqIHdlIGFzc3VtZSB0aGUgbW9zdCBjb25zZXJ2YXRpdmUgY2FwYWJpbGl0aWVzIChiYXNlbGluZSBmb3JtYXRzIG9ubHksXG4gKiBub24tZm9ybWF0IGNhcGFiaWxpdGllcyBhbGwgYGZhbHNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSdW5DYXBhYmlsaXRpZXMoXG4gIHdvcmtmbG93Q29yZVZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogUnVuQ2FwYWJpbGl0aWVzIHtcbiAgaWYgKCF3b3JrZmxvd0NvcmVWZXJzaW9uIHx8ICFzZW12ZXIudmFsaWQod29ya2Zsb3dDb3JlVmVyc2lvbikpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3VwcG9ydGVkRm9ybWF0czogQkFTRUxJTkVfRk9STUFUUyxcbiAgICAgIGZyYW1lZEJ5dGVTdHJlYW1zOiBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZm9ybWF0cyA9IG5ldyBTZXQ8U2VyaWFsaXphdGlvbkZvcm1hdFR5cGU+KEJBU0VMSU5FX0ZPUk1BVFMpO1xuXG4gIGZvciAoY29uc3QgeyBmb3JtYXQsIG1pblZlcnNpb24gfSBvZiBGT1JNQVRfVkVSU0lPTl9UQUJMRSkge1xuICAgIGlmIChzZW12ZXIuZ3RlKHdvcmtmbG93Q29yZVZlcnNpb24sIG1pblZlcnNpb24pKSB7XG4gICAgICBmb3JtYXRzLmFkZChmb3JtYXQpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogUnVuQ2FwYWJpbGl0aWVzID0ge1xuICAgIHN1cHBvcnRlZEZvcm1hdHM6IGZvcm1hdHMsXG4gICAgZnJhbWVkQnl0ZVN0cmVhbXM6IGZhbHNlLFxuICB9O1xuXG4gIGZvciAoY29uc3QgeyBjYXBhYmlsaXR5LCBtaW5WZXJzaW9uIH0gb2YgQ0FQQUJJTElUWV9WRVJTSU9OX1RBQkxFKSB7XG4gICAgaWYgKHNlbXZlci5ndGUod29ya2Zsb3dDb3JlVmVyc2lvbiwgbWluVmVyc2lvbikpIHtcbiAgICAgIHJlc3VsdFtjYXBhYmlsaXR5XSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-violation-error.d.ts","sourceRoot":"","sources":["../src/context-violation-error.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,WAAW,MAAM,EAAE,CAAC;AAE1C,QAAA,MAAM,cAAc,eAA2C,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,MAAM,OAAO,GACf;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7B,MAAM,MAAM,MAAM,GACd;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAwBrD,wBAAgB,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"context-violation-error.d.ts","sourceRoot":"","sources":["../src/context-violation-error.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,WAAW,MAAM,EAAE,CAAC;AAE1C,QAAA,MAAM,cAAc,eAA2C,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,MAAM,OAAO,GACf;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7B,MAAM,MAAM,MAAM,GACd;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAwBrD,wBAAgB,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAepD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAGrD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,8BAAsB,qBAAsB,SAAQ,KAAK;;IACvD,qCAAqC;IACrC,QAAQ,CAAC,KAAK,QAAQ;gBAIV,OAAO,EAAE,aAAa;IAKlC;;;;;OAKG;IACH,CAAC,cAAc,CAAC,IAAI,MAAM;IAgB1B,QAAQ,IAAI,MAAM;CAGnB;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,qBAAqB;IAClE,IAAI,SAA+B;gBAEvB,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CASnD;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,qBAAqB;IAC9D,IAAI,SAA2B;gBAEnB,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CASnD;AAED;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,qBAAqB;IACxE,IAAI,SAAqC;gBAE7B,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;CASnD"}
|
|
@@ -34,7 +34,9 @@ export function renderPlain(c) {
|
|
|
34
34
|
const first = isLast ? '╰▶ ' : '├▶ ';
|
|
35
35
|
const cont = isLast ? ' ' : '│ ';
|
|
36
36
|
const raw = renderDetailPlain(detail).split('\n');
|
|
37
|
-
raw.forEach((line, i) =>
|
|
37
|
+
raw.forEach((line, i) => {
|
|
38
|
+
lines.push(`${i === 0 ? first : cont}${line}`);
|
|
39
|
+
});
|
|
38
40
|
});
|
|
39
41
|
return lines.join('\n');
|
|
40
42
|
}
|
|
@@ -144,4 +146,4 @@ export class NotInWorkflowOrStepContextError extends ContextViolationError {
|
|
|
144
146
|
});
|
|
145
147
|
}
|
|
146
148
|
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC12aW9sYXRpb24tZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dC12aW9sYXRpb24tZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSx1QkFBdUIsQ0FBQztBQVE5QyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUEwQmhFLFNBQVMsa0JBQWtCLENBQUMsQ0FBVTtJQUNwQyxJQUFJLE1BQU0sSUFBSSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN4QyxJQUFJLEtBQUssSUFBSSxDQUFDO1FBQUUsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxDQUFVO0lBQ3JDLElBQUksTUFBTSxJQUFJLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLElBQUksS0FBSyxJQUFJLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxDQUFTO0lBQ2xDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNO1FBQUUsT0FBTyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLENBQVM7SUFDbkMsSUFBSSxDQUFDLENBQUMs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ekMsWUFBWSxZQUFvQixFQUFFLE9BQWdCO1FBQ2hELEtBQUssQ0FBQztZQUNKLEtBQUssRUFBRTtnQkFDTCxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7Z0JBQ3RCLEVBQUUsSUFBSSxFQUFFLHdEQUF3RCxFQUFFO2FBQ25FO1lBQ0QsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBbnNpIGZyb20gJ0B3b3JrZmxvdy9lcnJvcnMvYW5zaSc7XG5cbi8qKlxuICogQSBgZG9jczpgIGxpbmUgVVJMLiBUaGUgbGVhZGluZyBwcm90b2NvbCBpcyBwYXJ0IG9mIHRoZSB0eXBlIHNvIGNhbGwgc2l0ZXNcbiAqIGNhbid0IGFjY2lkZW50YWxseSBwYXNzIGEgcHJvdG9jb2wtcmVsYXRpdmUgb3IgYmFyZSBwYXRoLlxuICovXG5leHBvcnQgdHlwZSBEb2NzVXJsID0gYGh0dHBzOi8vJHtzdHJpbmd9YDtcblxuY29uc3QgSU5TUEVDVF9DVVNUT00gPSBTeW1ib2wuZm9yKCdub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbScpO1xuXG4vKipcbiAqIFN0cnVjdHVyZWQgZGF0YSBmb3IgYSBmcmFtZWQgZXJyb3IuIFRoZSBiYXNlIGNsYXNzIHRha2VzIHRoaXMgYW5kIHJlbmRlcnNcbiAqIGl0IHRvIHBsYWluIHRleHQgKGZvciBgLm1lc3NhZ2VgIC8gYC5zdGFja2AgLyBzdHJ1Y3R1cmVkIGxvZ3MpIG9yIHRvIGFuXG4gKiBBTlNJLWZyYW1lZCBzdHJpbmcgKGZvciB0ZXJtaW5hbCBkaXNwbGF5IHZpYSBgdXRpbC5pbnNwZWN0YCAvIGB0b1N0cmluZ2ApLlxuICpcbiAqIEtlZXBpbmcgdGhlIHBpZWNlcyBzdHJ1Y3R1cmVkIG1lYW5zIHdlIG5ldmVyIGhhdmUgdG8gc3RyaXAgQU5TSSBiYWNrIG91dFxuICogb25jZSBpdCdzIGluIHRoZSBtZXNzYWdlIOKAlCB3ZSBqdXN0IGRvbid0IHB1dCBpdCB0aGVyZSBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnJhbWVkQ29udGVudCB7XG4gIC8qKiBIZWFkbGluZS4gYHsgY29kZTogJ2ZvbygpJyB9YCBzZWdtZW50cyByZW5kZXIgYXMgYmFja3RpY2tlZCBpbmxpbmUgY29kZS4gKi9cbiAgcmVhZG9ubHkgdGl0bGU6IHJlYWRvbmx5IFNlZ21lbnRbXTtcbiAgLyoqIE9uZSBmcmFtZWQgYnJhbmNoIHBlciBlbnRyeS4gVGhlIGxhc3QgdXNlcyBg4pWw4pa2YCwgb3RoZXJzIHVzZSBg4pSc4pa2YC4gKi9cbiAgcmVhZG9ubHkgZGV0YWlsczogcmVhZG9ubHkgRGV0YWlsW107XG59XG5cbmV4cG9ydCB0eXBlIFNlZ21lbnQgPVxuICB8IHsgcmVhZG9ubHkgdGV4dDogc3RyaW5nIH1cbiAgfCB7IHJlYWRvbmx5IGNvZGU6IHN0cmluZyB9XG4gIHwgeyByZWFkb25seSBkaW06IHN0cmluZyB9O1xuXG5leHBvcnQgdHlwZSBEZXRhaWwgPVxuICB8IHsgcmVhZG9ubHkgdHlwZTogJ3BsYWluJzsgcmVhZG9ubHkgc2VnbWVudHM6IHJlYWRvbmx5IFNlZ21lbnRbXSB9XG4gIHwgeyByZWFkb25seSB0eXBlOiAnZG9jcyc7IHJlYWRvbmx5IHVybDogRG9jc1VybCB9O1xuXG5mdW5jdGlvbiByZW5kZXJTZWdtZW50UGxhaW4oczogU2VnbWVudCk6IHN0cmluZyB7XG4gIGlmICgnY29kZScgaW4gcykgcmV0dXJuIGBcXGAke3MuY29kZX1cXGBgO1xuICBpZiAoJ2RpbScgaW4gcykgcmV0dXJuIHMuZGltO1xuICByZXR1cm4gcy50ZXh0O1xufVxuXG5mdW5jdGlvbiByZW5kZXJTZWdtZW50UHJldHR5KHM6IFNlZ21lbnQpOiBzdHJpbmcge1xuICBpZiAoJ2NvZGUnIGluIHMpIHJldHVybiBBbnNpLmNvZGUocy5jb2RlKTtcbiAgaWYgKCdkaW0nIGluIHMpIHJldHVybiBBbnNpLmRpbShzLmRpbSk7XG4gIHJldHVybiBzLnRleHQ7XG59XG5cbmZ1bmN0aW9uIHJlbmRlckRldGFpbFBsYWluKGQ6IERldGFpbCk6IHN0cmluZyB7XG4gIGlmIChkLnR5cGUgPT09ICdkb2NzJykgcmV0dXJuIGBkb2NzOiAke2QudXJsfWA7XG4gIHJldHVybiBkLnNlZ21lbnRzLm1hcChyZW5kZXJTZWdtZW50UGxhaW4pLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiByZW5kZXJEZXRhaWxQcmV0dHkoZDogRGV0YWlsKTogc3RyaW5nIHtcbiAgaWYgKGQudHlwZSA9PT0gJ2RvY3MnKSByZXR1cm4gQW5zaS5kb2NzKGQudXJsKTtcbiAgcmV0dXJuIGQuc2VnbWVudHMubWFwKHJlbmRlclNlZ21lbnRQcmV0dHkpLmpvaW4oJycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyUGxhaW4oYzogRnJhbWVkQ29udGVudCk6IHN0cmluZyB7XG4gIC8vIE1pbWljIGBBbnNpLmZyYW1lYCBzdHJ1Y3R1cmUgc28gYC5tZXNzYWdlYCBpcyBzdGlsbCByZWFkYWJsZSBpbiBsb2dzXG4gIC8vIGV2ZW4gd2l0aG91dCB0aGUgY29sb3IuXG4gIGNvbnN0IHRpdGxlID0gYy50aXRsZS5tYXAocmVuZGVyU2VnbWVudFBsYWluKS5qb2luKCcnKTtcbiAgY29uc3QgbGluZXMgPSBbdGl0bGVdO1xuICBjLmRldGFpbHMuZm9yRWFjaCgoZGV0YWlsLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGlzTGFzdCA9IGluZGV4ID09PSBjLmRldGFpbHMubGVuZ3RoIC0gMTtcbiAgICBjb25zdCBmaXJzdCA9IGlzTGFzdCA/ICfilbDilrYgJyA6ICfilJzilrYgJztcbiAgICBjb25zdCBjb250ID0gaXNMYXN0ID8gJyAgICcgOiAn4pSCICAnO1xuICAgIGNvbnN0IHJhdyA9IHJlbmRlckRldGFpbFBsYWluKGRldGFpbCkuc3BsaXQoJ1xcbicpO1xuICAgIHJhdy5mb3JFYWNoKChsaW5lLCBpKSA9PiBsaW5lcy5wdXNoKGAke2kgPT09IDAgPyBmaXJzdCA6IGNvbnR9JHtsaW5lfWApKTtcbiAgfSk7XG4gIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclByZXR0eShjOiBGcmFtZWRDb250ZW50KTogc3RyaW5nIHtcbiAgY29uc3QgdGl0bGUgPSBjLnRpdGxlLm1hcChyZW5kZXJTZWdtZW50UHJldHR5KS5qb2luKCcnKTtcbiAgcmV0dXJuIEFuc2kuZnJhbWUodGl0bGUsIGMuZGV0YWlscy5tYXAocmVuZGVyRGV0YWlsUHJldHR5KSk7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3Igc3RydWN0dXJlZCBjb250ZXh0LXZpb2xhdGlvbiBlcnJvcnMuXG4gKlxuICogRGVzaWduIG5vdGVzOlxuICpcbiAqIC0gYC5tZXNzYWdlYCBpcyAqKnBsYWluIHRleHQqKiAobm8gQU5TSSBlc2NhcGUgYnl0ZXMpLiBTdHJ1Y3R1cmVkIGxvZ3MsXG4gKiAgIGxvZyBkcmFpbnMsIENCT1Itc2VyaWFsaXplZCBldmVudCBkYXRhLCBhbmQgYW55dGhpbmcgZWxzZSB0aGF0IHJlYWRzXG4gKiAgIGBlcnIubWVzc2FnZWAgLyBgZXJyLnN0YWNrYCBhcyBhIHN0cmluZyBnZXRzIGNsZWFuIG91dHB1dCDigJQgbm8gbW9qaWJha2VcbiAqICAgaW4gSlNPTiwgbm8gYFxceDFCWy4uLm1gIG5vaXNlIGluIFZlcmNlbCBsb2dzLlxuICpcbiAqIC0gVGhlIEFOU0ktZnJhbWVkIHZlcnNpb24gaXMgcmVuZGVyZWQgKipsYXppbHkqKiB2aWEgYHRvU3RyaW5nKClgIGFuZFxuICogICBgW3V0aWwuaW5zcGVjdC5jdXN0b21dYC4gV2hlbiB0aGUgZXJyb3IgaXMgdGhyb3duIGFuZCBOb2RlIHByaW50cyBpdFxuICogICB2aWEgYHV0aWwuaW5zcGVjdGAsIHRoZSB1c2VyIHNlZXMgdGhlIGNvbG9yZWQsIGZyYW1lZCBib3guIFdoZW4gaXQnc1xuICogICBhdHRhY2hlZCB0byBhIHN0cnVjdHVyZWQgbG9nIGZpZWxkLCB0aGUgY29uc3VtZXIgc2VlcyBwbGFpbiB0ZXh0LlxuICpcbiAqIC0gYGZhdGFsID0gdHJ1ZWAgbWFya3MgdGhlc2UgYXMgbm9uLXJldHJ5YWJsZS4gQ2FsbGluZyBgY3JlYXRlSG9vaygpYFxuICogICBmcm9tIGEgc3RlcCBmdW5jdGlvbiB3aWxsIG5ldmVyIHN1Y2NlZWQgbm8gbWF0dGVyIGhvdyBtYW55IHJldHJpZXMg4oCUXG4gKiAgIGJ1cm5pbmcgYXR0ZW1wdHMganVzdCBwcm9kdWNlcyBkdXBsaWNhdGVkIGxvZyBvdXRwdXQuIFRoZSBydW50aW1lJ3NcbiAqICAgYEZhdGFsRXJyb3IuaXMoZXJyKWAgZ2F0ZSByZWNvZ25pemVzIGFueSBlcnJvciB3aXRoIGBmYXRhbDogdHJ1ZWAuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250ZXh0VmlvbGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIC8qKiBOb24tcmV0cnlhYmxlIOKAlCBzZWUgY2xhc3MgZG9jLiAqL1xuICByZWFkb25seSBmYXRhbCA9IHRydWU7XG5cbiAgcmVhZG9ubHkgI2NvbnRlbnQ6IEZyYW1lZENvbnRlbnQ7XG5cbiAgY29uc3RydWN0b3IoY29udGVudDogRnJhbWVkQ29udGVudCkge1xuICAgIHN1cGVyKHJlbmRlclBsYWluKGNvbnRlbnQpKTtcbiAgICB0aGlzLiNjb250ZW50ID0gY29udGVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBgY29uc29sZS5sb2coZXJyKWAgYW5kIG1vc3QgTm9kZSBpbnRlcm5hbHMgcm91dGUgdGhyb3VnaCBgdXRpbC5pbnNwZWN0YCxcbiAgICogd2hpY2ggcmVzcGVjdHMgdGhpcyBzeW1ib2wuIFJldHVybmluZyBhIGN1c3RvbSBzdHJpbmcgaGVyZSBtZWFucyB0aGVcbiAgICogdGhyb3duIGVycm9yIHByaW50cyBhcyBhIHByZXR0eSBmcmFtZSBpbiB0aGUgdGVybWluYWwgd2hpbGUgYC5tZXNzYWdlYFxuICAgKiBhbmQgYC5zdGFja2Agc3RheSBwbGFpbi5cbiAgICovXG4gIFtJTlNQRUNUX0NVU1RPTV0oKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmV0dHkgPSByZW5kZXJQcmV0dHkodGhpcy4jY29udGVudCk7XG4gICAgLy8gYHN0YWNrYCBzdGFydHMgd2l0aCBgJHtuYW1lfTogJHttZXNzYWdlfVxcbiAgICBhdCAuLi5gLiBPdXIgbWVzc2FnZSBpc1xuICAgIC8vIG11bHRpLWxpbmUgKGB0aXRsZVxcbuKVsOKWtiBkb2NzOiDigKZgKSwgc28gc2xpY2luZyBvbmx5IHRoZSBmaXJzdCBsaW5lIGdsdWVzXG4gICAgLy8gdGhlIGZyYW1lZC1kZXRhaWwgdGFpbCBvZiB0aGUgbWVzc2FnZSBvbnRvIHRoZSBwcmVwZW5kZWQgcHJldHR5IGZvcm1cbiAgICAvLyBhbmQgcmVuZGVycyBldmVyeSBkZXRhaWwgbGluZSB0d2ljZS4gU2xpY2UgcGFzdCAqYWxsKiBtZXNzYWdlIGxpbmVzLlxuICAgIGNvbnN0IG1lc3NhZ2VMaW5lQ291bnQgPSB0aGlzLm1lc3NhZ2Uuc3BsaXQoJ1xcbicpLmxlbmd0aDtcbiAgICBjb25zdCB0YWlsID0gKHRoaXMuc3RhY2sgPz8gJycpXG4gICAgICAuc3BsaXQoJ1xcbicpXG4gICAgICAuc2xpY2UobWVzc2FnZUxpbmVDb3VudClcbiAgICAgIC5qb2luKCdcXG4nKTtcbiAgICByZXR1cm4gdGFpbFxuICAgICAgPyBgJHt0aGlzLm5hbWV9OiAke3ByZXR0eX1cXG4ke3RhaWx9YFxuICAgICAgOiBgJHt0aGlzLm5hbWV9OiAke3ByZXR0eX1gO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lfTogJHtyZW5kZXJQcmV0dHkodGhpcy4jY29udGVudCl9YDtcbiAgfVxufVxuXG4vKipcbiAqIFRocm93biB3aGVuIGFuIEFQSSB0aGF0IG11c3QgcnVuIGluc2lkZSBhIHdvcmtmbG93IGZ1bmN0aW9uIGlzIGNhbGxlZFxuICogZnJvbSBvdXRzaWRlIGEgd29ya2Zsb3cgY29udGV4dCAoZS5nLiBmcm9tIGEgc3RlcCBmdW5jdGlvbiBvciBmcm9tXG4gKiByZWd1bGFyIGFwcGxpY2F0aW9uIGNvZGUpLlxuICovXG5leHBvcnQgY2xhc3MgTm90SW5Xb3JrZmxvd0NvbnRleHRFcnJvciBleHRlbmRzIENvbnRleHRWaW9sYXRpb25FcnJvciB7XG4gIG5hbWUgPSAnTm90SW5Xb3JrZmxvd0NvbnRleHRFcnJvcic7XG5cbiAgY29uc3RydWN0b3IoZnVuY3Rpb25OYW1lOiBzdHJpbmcsIGRvY3NVcmw6IERvY3NVcmwpIHtcbiAgICBzdXBlcih7XG4gICAgICB0aXRsZTogW1xuICAgICAgICB7IGNvZGU6IGZ1bmN0aW9uTmFtZSB9LFxuICAgICAgICB7IHRleHQ6ICcgY2FuIG9ubHkgYmUgY2FsbGVkIGluc2lkZSBhIHdvcmtmbG93IGZ1bmN0aW9uJyB9LFxuICAgICAgXSxcbiAgICAgIGRldGFpbHM6IFt7IHR5cGU6ICdkb2NzJywgdXJsOiBkb2NzVXJsIH1dLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVGhyb3duIHdoZW4gYW4gQVBJIHRoYXQgbXVzdCBydW4gaW5zaWRlIGEgc3RlcCBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbVxuICogb3V0c2lkZSBhIHN0ZXAgY29udGV4dC5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vdEluU3RlcENvbnRleHRFcnJvciBleHRlbmRzIENvbnRleHRWaW9sYXRpb25FcnJvciB7XG4gIG5hbWUgPSAnTm90SW5TdGVwQ29udGV4dEVycm9yJztcblxuICBjb25zdHJ1Y3RvcihmdW5jdGlvbk5hbWU6IHN0cmluZywgZG9jc1VybDogRG9jc1VybCkge1xuICAgIHN1cGVyKHtcbiAgICAgIHRpdGxlOiBbXG4gICAgICAgIHsgY29kZTogZnVuY3Rpb25OYW1lIH0sXG4gICAgICAgIHsgdGV4dDogJyBjYW4gb25seSBiZSBjYWxsZWQgaW5zaWRlIGEgc3RlcCBmdW5jdGlvbicgfSxcbiAgICAgIF0sXG4gICAgICBkZXRhaWxzOiBbeyB0eXBlOiAnZG9jcycsIHVybDogZG9jc1VybCB9XSxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFRocm93biB3aGVuIGFuIEFQSSB0aGF0IG11c3QgcnVuIGluc2lkZSBlaXRoZXIgYSB3b3JrZmxvdyBvciBzdGVwIGZ1bmN0aW9uXG4gKiBpcyBjYWxsZWQgZnJvbSByZWd1bGFyIGFwcGxpY2F0aW9uIGNvZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3RJbldvcmtmbG93T3JTdGVwQ29udGV4dEVycm9yIGV4dGVuZHMgQ29udGV4dFZpb2xhdGlvbkVycm9yIHtcbiAgbmFtZSA9ICdOb3RJbldvcmtmbG93T3JTdGVwQ29udGV4dEVycm9yJztcblxuICBjb25zdHJ1Y3RvcihmdW5jdGlvbk5hbWU6IHN0cmluZywgZG9jc1VybDogRG9jc1VybCkge1xuICAgIHN1cGVyKHtcbiAgICAgIHRpdGxlOiBbXG4gICAgICAgIHsgY29kZTogZnVuY3Rpb25OYW1lIH0sXG4gICAgICAgIHsgdGV4dDogJyBjYW4gb25seSBiZSBjYWxsZWQgaW5zaWRlIGEgd29ya2Zsb3cgb3Igc3RlcCBmdW5jdGlvbicgfSxcbiAgICAgIF0sXG4gICAgICBkZXRhaWxzOiBbeyB0eXBlOiAnZG9jcycsIHVybDogZG9jc1VybCB9XSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC12aW9sYXRpb24tZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dC12aW9sYXRpb24tZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSx1QkFBdUIsQ0FBQztBQVE5QyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUEwQmhFLFNBQVMsa0JBQWtCLENBQUMsQ0FBVTtJQUNwQyxJQUFJLE1BQU0sSUFBSSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN4QyxJQUFJLEtBQUssSUFBSSxDQUFDO1FBQUUsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxDQUFVO0lBQ3JDLElBQUksTUFBTSxJQUFJLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLElBQUksS0FBSyxJQUFJLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxDQUFTO0lBQ2xDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNO1FBQUUsT0FBTyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLENBQVM7SUFDbkMsSUFBSSxDQUFDLENBQUMs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LGlDQUFpQyxDQUFDO0lBRXpDLFlBQVksWUFBb0IsRUFBRSxPQUFnQjtRQUNoRCxLQUFLLENBQUM7WUFDSixLQUFLLEVBQUU7Z0JBQ0wsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO2dCQUN0QixFQUFFLElBQUksRUFBRSx3REFBd0QsRUFBRTthQUNuRTtZQUNELE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDMUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQW5zaSBmcm9tICdAd29ya2Zsb3cvZXJyb3JzL2Fuc2knO1xuXG4vKipcbiAqIEEgYGRvY3M6YCBsaW5lIFVSTC4gVGhlIGxlYWRpbmcgcHJvdG9jb2wgaXMgcGFydCBvZiB0aGUgdHlwZSBzbyBjYWxsIHNpdGVzXG4gKiBjYW4ndCBhY2NpZGVudGFsbHkgcGFzcyBhIHByb3RvY29sLXJlbGF0aXZlIG9yIGJhcmUgcGF0aC5cbiAqL1xuZXhwb3J0IHR5cGUgRG9jc1VybCA9IGBodHRwczovLyR7c3RyaW5nfWA7XG5cbmNvbnN0IElOU1BFQ1RfQ1VTVE9NID0gU3ltYm9sLmZvcignbm9kZWpzLnV0aWwuaW5zcGVjdC5jdXN0b20nKTtcblxuLyoqXG4gKiBTdHJ1Y3R1cmVkIGRhdGEgZm9yIGEgZnJhbWVkIGVycm9yLiBUaGUgYmFzZSBjbGFzcyB0YWtlcyB0aGlzIGFuZCByZW5kZXJzXG4gKiBpdCB0byBwbGFpbiB0ZXh0IChmb3IgYC5tZXNzYWdlYCAvIGAuc3RhY2tgIC8gc3RydWN0dXJlZCBsb2dzKSBvciB0byBhblxuICogQU5TSS1mcmFtZWQgc3RyaW5nIChmb3IgdGVybWluYWwgZGlzcGxheSB2aWEgYHV0aWwuaW5zcGVjdGAgLyBgdG9TdHJpbmdgKS5cbiAqXG4gKiBLZWVwaW5nIHRoZSBwaWVjZXMgc3RydWN0dXJlZCBtZWFucyB3ZSBuZXZlciBoYXZlIHRvIHN0cmlwIEFOU0kgYmFjayBvdXRcbiAqIG9uY2UgaXQncyBpbiB0aGUgbWVzc2FnZSDigJQgd2UganVzdCBkb24ndCBwdXQgaXQgdGhlcmUgaW4gdGhlIGZpcnN0IHBsYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZyYW1lZENvbnRlbnQge1xuICAvKiogSGVhZGxpbmUuIGB7IGNvZGU6ICdmb28oKScgfWAgc2VnbWVudHMgcmVuZGVyIGFzIGJhY2t0aWNrZWQgaW5saW5lIGNvZGUuICovXG4gIHJlYWRvbmx5IHRpdGxlOiByZWFkb25seSBTZWdtZW50W107XG4gIC8qKiBPbmUgZnJhbWVkIGJyYW5jaCBwZXIgZW50cnkuIFRoZSBsYXN0IHVzZXMgYOKVsOKWtmAsIG90aGVycyB1c2UgYOKUnOKWtmAuICovXG4gIHJlYWRvbmx5IGRldGFpbHM6IHJlYWRvbmx5IERldGFpbFtdO1xufVxuXG5leHBvcnQgdHlwZSBTZWdtZW50ID1cbiAgfCB7IHJlYWRvbmx5IHRleHQ6IHN0cmluZyB9XG4gIHwgeyByZWFkb25seSBjb2RlOiBzdHJpbmcgfVxuICB8IHsgcmVhZG9ubHkgZGltOiBzdHJpbmcgfTtcblxuZXhwb3J0IHR5cGUgRGV0YWlsID1cbiAgfCB7IHJlYWRvbmx5IHR5cGU6ICdwbGFpbic7IHJlYWRvbmx5IHNlZ21lbnRzOiByZWFkb25seSBTZWdtZW50W10gfVxuICB8IHsgcmVhZG9ubHkgdHlwZTogJ2RvY3MnOyByZWFkb25seSB1cmw6IERvY3NVcmwgfTtcblxuZnVuY3Rpb24gcmVuZGVyU2VnbWVudFBsYWluKHM6IFNlZ21lbnQpOiBzdHJpbmcge1xuICBpZiAoJ2NvZGUnIGluIHMpIHJldHVybiBgXFxgJHtzLmNvZGV9XFxgYDtcbiAgaWYgKCdkaW0nIGluIHMpIHJldHVybiBzLmRpbTtcbiAgcmV0dXJuIHMudGV4dDtcbn1cblxuZnVuY3Rpb24gcmVuZGVyU2VnbWVudFByZXR0eShzOiBTZWdtZW50KTogc3RyaW5nIHtcbiAgaWYgKCdjb2RlJyBpbiBzKSByZXR1cm4gQW5zaS5jb2RlKHMuY29kZSk7XG4gIGlmICgnZGltJyBpbiBzKSByZXR1cm4gQW5zaS5kaW0ocy5kaW0pO1xuICByZXR1cm4gcy50ZXh0O1xufVxuXG5mdW5jdGlvbiByZW5kZXJEZXRhaWxQbGFpbihkOiBEZXRhaWwpOiBzdHJpbmcge1xuICBpZiAoZC50eXBlID09PSAnZG9jcycpIHJldHVybiBgZG9jczogJHtkLnVybH1gO1xuICByZXR1cm4gZC5zZWdtZW50cy5tYXAocmVuZGVyU2VnbWVudFBsYWluKS5qb2luKCcnKTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyRGV0YWlsUHJldHR5KGQ6IERldGFpbCk6IHN0cmluZyB7XG4gIGlmIChkLnR5cGUgPT09ICdkb2NzJykgcmV0dXJuIEFuc2kuZG9jcyhkLnVybCk7XG4gIHJldHVybiBkLnNlZ21lbnRzLm1hcChyZW5kZXJTZWdtZW50UHJldHR5KS5qb2luKCcnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclBsYWluKGM6IEZyYW1lZENvbnRlbnQpOiBzdHJpbmcge1xuICAvLyBNaW1pYyBgQW5zaS5mcmFtZWAgc3RydWN0dXJlIHNvIGAubWVzc2FnZWAgaXMgc3RpbGwgcmVhZGFibGUgaW4gbG9nc1xuICAvLyBldmVuIHdpdGhvdXQgdGhlIGNvbG9yLlxuICBjb25zdCB0aXRsZSA9IGMudGl0bGUubWFwKHJlbmRlclNlZ21lbnRQbGFpbikuam9pbignJyk7XG4gIGNvbnN0IGxpbmVzID0gW3RpdGxlXTtcbiAgYy5kZXRhaWxzLmZvckVhY2goKGRldGFpbCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBpc0xhc3QgPSBpbmRleCA9PT0gYy5kZXRhaWxzLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgZmlyc3QgPSBpc0xhc3QgPyAn4pWw4pa2ICcgOiAn4pSc4pa2ICc7XG4gICAgY29uc3QgY29udCA9IGlzTGFzdCA/ICcgICAnIDogJ+KUgiAgJztcbiAgICBjb25zdCByYXcgPSByZW5kZXJEZXRhaWxQbGFpbihkZXRhaWwpLnNwbGl0KCdcXG4nKTtcbiAgICByYXcuZm9yRWFjaCgobGluZSwgaSkgPT4ge1xuICAgICAgbGluZXMucHVzaChgJHtpID09PSAwID8gZmlyc3QgOiBjb250fSR7bGluZX1gKTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclByZXR0eShjOiBGcmFtZWRDb250ZW50KTogc3RyaW5nIHtcbiAgY29uc3QgdGl0bGUgPSBjLnRpdGxlLm1hcChyZW5kZXJTZWdtZW50UHJldHR5KS5qb2luKCcnKTtcbiAgcmV0dXJuIEFuc2kuZnJhbWUodGl0bGUsIGMuZGV0YWlscy5tYXAocmVuZGVyRGV0YWlsUHJldHR5KSk7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3Igc3RydWN0dXJlZCBjb250ZXh0LXZpb2xhdGlvbiBlcnJvcnMuXG4gKlxuICogRGVzaWduIG5vdGVzOlxuICpcbiAqIC0gYC5tZXNzYWdlYCBpcyAqKnBsYWluIHRleHQqKiAobm8gQU5TSSBlc2NhcGUgYnl0ZXMpLiBTdHJ1Y3R1cmVkIGxvZ3MsXG4gKiAgIGxvZyBkcmFpbnMsIENCT1Itc2VyaWFsaXplZCBldmVudCBkYXRhLCBhbmQgYW55dGhpbmcgZWxzZSB0aGF0IHJlYWRzXG4gKiAgIGBlcnIubWVzc2FnZWAgLyBgZXJyLnN0YWNrYCBhcyBhIHN0cmluZyBnZXRzIGNsZWFuIG91dHB1dCDigJQgbm8gbW9qaWJha2VcbiAqICAgaW4gSlNPTiwgbm8gYFxceDFCWy4uLm1gIG5vaXNlIGluIFZlcmNlbCBsb2dzLlxuICpcbiAqIC0gVGhlIEFOU0ktZnJhbWVkIHZlcnNpb24gaXMgcmVuZGVyZWQgKipsYXppbHkqKiB2aWEgYHRvU3RyaW5nKClgIGFuZFxuICogICBgW3V0aWwuaW5zcGVjdC5jdXN0b21dYC4gV2hlbiB0aGUgZXJyb3IgaXMgdGhyb3duIGFuZCBOb2RlIHByaW50cyBpdFxuICogICB2aWEgYHV0aWwuaW5zcGVjdGAsIHRoZSB1c2VyIHNlZXMgdGhlIGNvbG9yZWQsIGZyYW1lZCBib3guIFdoZW4gaXQnc1xuICogICBhdHRhY2hlZCB0byBhIHN0cnVjdHVyZWQgbG9nIGZpZWxkLCB0aGUgY29uc3VtZXIgc2VlcyBwbGFpbiB0ZXh0LlxuICpcbiAqIC0gYGZhdGFsID0gdHJ1ZWAgbWFya3MgdGhlc2UgYXMgbm9uLXJldHJ5YWJsZS4gQ2FsbGluZyBgY3JlYXRlSG9vaygpYFxuICogICBmcm9tIGEgc3RlcCBmdW5jdGlvbiB3aWxsIG5ldmVyIHN1Y2NlZWQgbm8gbWF0dGVyIGhvdyBtYW55IHJldHJpZXMg4oCUXG4gKiAgIGJ1cm5pbmcgYXR0ZW1wdHMganVzdCBwcm9kdWNlcyBkdXBsaWNhdGVkIGxvZyBvdXRwdXQuIFRoZSBydW50aW1lJ3NcbiAqICAgYEZhdGFsRXJyb3IuaXMoZXJyKWAgZ2F0ZSByZWNvZ25pemVzIGFueSBlcnJvciB3aXRoIGBmYXRhbDogdHJ1ZWAuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb250ZXh0VmlvbGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIC8qKiBOb24tcmV0cnlhYmxlIOKAlCBzZWUgY2xhc3MgZG9jLiAqL1xuICByZWFkb25seSBmYXRhbCA9IHRydWU7XG5cbiAgcmVhZG9ubHkgI2NvbnRlbnQ6IEZyYW1lZENvbnRlbnQ7XG5cbiAgY29uc3RydWN0b3IoY29udGVudDogRnJhbWVkQ29udGVudCkge1xuICAgIHN1cGVyKHJlbmRlclBsYWluKGNvbnRlbnQpKTtcbiAgICB0aGlzLiNjb250ZW50ID0gY29udGVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBgY29uc29sZS5sb2coZXJyKWAgYW5kIG1vc3QgTm9kZSBpbnRlcm5hbHMgcm91dGUgdGhyb3VnaCBgdXRpbC5pbnNwZWN0YCxcbiAgICogd2hpY2ggcmVzcGVjdHMgdGhpcyBzeW1ib2wuIFJldHVybmluZyBhIGN1c3RvbSBzdHJpbmcgaGVyZSBtZWFucyB0aGVcbiAgICogdGhyb3duIGVycm9yIHByaW50cyBhcyBhIHByZXR0eSBmcmFtZSBpbiB0aGUgdGVybWluYWwgd2hpbGUgYC5tZXNzYWdlYFxuICAgKiBhbmQgYC5zdGFja2Agc3RheSBwbGFpbi5cbiAgICovXG4gIFtJTlNQRUNUX0NVU1RPTV0oKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmV0dHkgPSByZW5kZXJQcmV0dHkodGhpcy4jY29udGVudCk7XG4gICAgLy8gYHN0YWNrYCBzdGFydHMgd2l0aCBgJHtuYW1lfTogJHttZXNzYWdlfVxcbiAgICBhdCAuLi5gLiBPdXIgbWVzc2FnZSBpc1xuICAgIC8vIG11bHRpLWxpbmUgKGB0aXRsZVxcbuKVsOKWtiBkb2NzOiDigKZgKSwgc28gc2xpY2luZyBvbmx5IHRoZSBmaXJzdCBsaW5lIGdsdWVzXG4gICAgLy8gdGhlIGZyYW1lZC1kZXRhaWwgdGFpbCBvZiB0aGUgbWVzc2FnZSBvbnRvIHRoZSBwcmVwZW5kZWQgcHJldHR5IGZvcm1cbiAgICAvLyBhbmQgcmVuZGVycyBldmVyeSBkZXRhaWwgbGluZSB0d2ljZS4gU2xpY2UgcGFzdCAqYWxsKiBtZXNzYWdlIGxpbmVzLlxuICAgIGNvbnN0IG1lc3NhZ2VMaW5lQ291bnQgPSB0aGlzLm1lc3NhZ2Uuc3BsaXQoJ1xcbicpLmxlbmd0aDtcbiAgICBjb25zdCB0YWlsID0gKHRoaXMuc3RhY2sgPz8gJycpXG4gICAgICAuc3BsaXQoJ1xcbicpXG4gICAgICAuc2xpY2UobWVzc2FnZUxpbmVDb3VudClcbiAgICAgIC5qb2luKCdcXG4nKTtcbiAgICByZXR1cm4gdGFpbFxuICAgICAgPyBgJHt0aGlzLm5hbWV9OiAke3ByZXR0eX1cXG4ke3RhaWx9YFxuICAgICAgOiBgJHt0aGlzLm5hbWV9OiAke3ByZXR0eX1gO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lfTogJHtyZW5kZXJQcmV0dHkodGhpcy4jY29udGVudCl9YDtcbiAgfVxufVxuXG4vKipcbiAqIFRocm93biB3aGVuIGFuIEFQSSB0aGF0IG11c3QgcnVuIGluc2lkZSBhIHdvcmtmbG93IGZ1bmN0aW9uIGlzIGNhbGxlZFxuICogZnJvbSBvdXRzaWRlIGEgd29ya2Zsb3cgY29udGV4dCAoZS5nLiBmcm9tIGEgc3RlcCBmdW5jdGlvbiBvciBmcm9tXG4gKiByZWd1bGFyIGFwcGxpY2F0aW9uIGNvZGUpLlxuICovXG5leHBvcnQgY2xhc3MgTm90SW5Xb3JrZmxvd0NvbnRleHRFcnJvciBleHRlbmRzIENvbnRleHRWaW9sYXRpb25FcnJvciB7XG4gIG5hbWUgPSAnTm90SW5Xb3JrZmxvd0NvbnRleHRFcnJvcic7XG5cbiAgY29uc3RydWN0b3IoZnVuY3Rpb25OYW1lOiBzdHJpbmcsIGRvY3NVcmw6IERvY3NVcmwpIHtcbiAgICBzdXBlcih7XG4gICAgICB0aXRsZTogW1xuICAgICAgICB7IGNvZGU6IGZ1bmN0aW9uTmFtZSB9LFxuICAgICAgICB7IHRleHQ6ICcgY2FuIG9ubHkgYmUgY2FsbGVkIGluc2lkZSBhIHdvcmtmbG93IGZ1bmN0aW9uJyB9LFxuICAgICAgXSxcbiAgICAgIGRldGFpbHM6IFt7IHR5cGU6ICdkb2NzJywgdXJsOiBkb2NzVXJsIH1dLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVGhyb3duIHdoZW4gYW4gQVBJIHRoYXQgbXVzdCBydW4gaW5zaWRlIGEgc3RlcCBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbVxuICogb3V0c2lkZSBhIHN0ZXAgY29udGV4dC5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vdEluU3RlcENvbnRleHRFcnJvciBleHRlbmRzIENvbnRleHRWaW9sYXRpb25FcnJvciB7XG4gIG5hbWUgPSAnTm90SW5TdGVwQ29udGV4dEVycm9yJztcblxuICBjb25zdHJ1Y3RvcihmdW5jdGlvbk5hbWU6IHN0cmluZywgZG9jc1VybDogRG9jc1VybCkge1xuICAgIHN1cGVyKHtcbiAgICAgIHRpdGxlOiBbXG4gICAgICAgIHsgY29kZTogZnVuY3Rpb25OYW1lIH0sXG4gICAgICAgIHsgdGV4dDogJyBjYW4gb25seSBiZSBjYWxsZWQgaW5zaWRlIGEgc3RlcCBmdW5jdGlvbicgfSxcbiAgICAgIF0sXG4gICAgICBkZXRhaWxzOiBbeyB0eXBlOiAnZG9jcycsIHVybDogZG9jc1VybCB9XSxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFRocm93biB3aGVuIGFuIEFQSSB0aGF0IG11c3QgcnVuIGluc2lkZSBlaXRoZXIgYSB3b3JrZmxvdyBvciBzdGVwIGZ1bmN0aW9uXG4gKiBpcyBjYWxsZWQgZnJvbSByZWd1bGFyIGFwcGxpY2F0aW9uIGNvZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3RJbldvcmtmbG93T3JTdGVwQ29udGV4dEVycm9yIGV4dGVuZHMgQ29udGV4dFZpb2xhdGlvbkVycm9yIHtcbiAgbmFtZSA9ICdOb3RJbldvcmtmbG93T3JTdGVwQ29udGV4dEVycm9yJztcblxuICBjb25zdHJ1Y3RvcihmdW5jdGlvbk5hbWU6IHN0cmluZywgZG9jc1VybDogRG9jc1VybCkge1xuICAgIHN1cGVyKHtcbiAgICAgIHRpdGxlOiBbXG4gICAgICAgIHsgY29kZTogZnVuY3Rpb25OYW1lIH0sXG4gICAgICAgIHsgdGV4dDogJyBjYW4gb25seSBiZSBjYWxsZWQgaW5zaWRlIGEgd29ya2Zsb3cgb3Igc3RlcCBmdW5jdGlvbicgfSxcbiAgICAgIF0sXG4gICAgICBkZXRhaWxzOiBbeyB0eXBlOiAnZG9jcycsIHVybDogZG9jc1VybCB9XSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -27,6 +27,17 @@ export declare class ReplayPayloadCache {
|
|
|
27
27
|
* original rejection before that entry becomes retryable.
|
|
28
28
|
*/
|
|
29
29
|
prewarm(workflowRun: WorkflowRun, events: Event[]): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Forget how much of the event log has been scanned, so the next
|
|
32
|
+
* {@link prewarm} walks it from the start again.
|
|
33
|
+
*
|
|
34
|
+
* Required before a replay whose event log was reloaded rather than extended:
|
|
35
|
+
* a corrected log inserts the events the previous load was missing, which
|
|
36
|
+
* shifts every later position, so a positional resume would skip exactly the
|
|
37
|
+
* events the reload was for. Already-prepared payloads are kept — they are
|
|
38
|
+
* keyed by event id, so re-scanning re-observes them for free.
|
|
39
|
+
*/
|
|
40
|
+
resetScan(): void;
|
|
30
41
|
/** Return the workflow input after shared host-side preparation. */
|
|
31
42
|
prepareWorkflowInput(workflowRun: WorkflowRun): Promise<PreparedReplayPayload>;
|
|
32
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay-payload-cache.d.ts","sourceRoot":"","sources":["../src/replay-payload-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAC;AAG5B,KAAK,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAezD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAkB;IAS3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG7B;IACJ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IACnE,OAAO,CAAC,uBAAuB,CAAK;gBAGjB,aAAa,EAAE,UAAU,GAAG,SAAS,EACrC,QAAQ,GAAE,qBAA4C;IAGzE;;;;OAIG;IACG,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"replay-payload-cache.d.ts","sourceRoot":"","sources":["../src/replay-payload-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAC;AAG5B,KAAK,kBAAkB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAezD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAkB;IAS3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG7B;IACJ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IACnE,OAAO,CAAC,uBAAuB,CAAK;gBAGjB,aAAa,EAAE,UAAU,GAAG,SAAS,EACrC,QAAQ,GAAE,qBAA4C;IAGzE;;;;OAIG;IACG,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDvE;;;;;;;;;OASG;IACH,SAAS,IAAI,IAAI;IAIjB,oEAAoE;IACpE,oBAAoB,CAClB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,qBAAqB,CAAC;IAOjC;;;;OAIG;IACH,mBAAmB,CACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;OAIG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC;IAYnB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAe1B,oEAAoE;IACpE,OAAO,CAAC,iBAAiB;IAYzB,gFAAgF;YAClE,cAAc;IAI5B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;CAGxB"}
|
|
@@ -56,9 +56,13 @@ export class ReplayPayloadCache {
|
|
|
56
56
|
preparations.push(this.ensurePreparation(cacheKey, value));
|
|
57
57
|
};
|
|
58
58
|
start(this.workflowInputKey(workflowRun.runId), workflowRun.input);
|
|
59
|
-
// This cache is scoped to one invocation
|
|
60
|
-
//
|
|
61
|
-
//
|
|
59
|
+
// This cache is scoped to one invocation. Incremental loads and write
|
|
60
|
+
// response deltas only ever append, so the scanned length locates the
|
|
61
|
+
// events added since the previous replay. A reload that can insert events
|
|
62
|
+
// BELOW that length — a stale-snapshot restart replacing the log with a
|
|
63
|
+
// corrected one — must call `resetScan()` first, or the inserted events are
|
|
64
|
+
// never scanned. Prepared entries stay valid across that: they are keyed by
|
|
65
|
+
// event id, not by position.
|
|
62
66
|
for (let index = this.nextUnscannedEventIndex; index < events.length; index++) {
|
|
63
67
|
const event = events[index];
|
|
64
68
|
switch (event.eventType) {
|
|
@@ -78,6 +82,19 @@ export class ReplayPayloadCache {
|
|
|
78
82
|
// event is consumed. allSettled also attaches rejection handlers eagerly.
|
|
79
83
|
await Promise.allSettled(preparations);
|
|
80
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Forget how much of the event log has been scanned, so the next
|
|
87
|
+
* {@link prewarm} walks it from the start again.
|
|
88
|
+
*
|
|
89
|
+
* Required before a replay whose event log was reloaded rather than extended:
|
|
90
|
+
* a corrected log inserts the events the previous load was missing, which
|
|
91
|
+
* shifts every later position, so a positional resume would skip exactly the
|
|
92
|
+
* events the reload was for. Already-prepared payloads are kept — they are
|
|
93
|
+
* keyed by event id, so re-scanning re-observes them for free.
|
|
94
|
+
*/
|
|
95
|
+
resetScan() {
|
|
96
|
+
this.nextUnscannedEventIndex = 0;
|
|
97
|
+
}
|
|
81
98
|
/** Return the workflow input after shared host-side preparation. */
|
|
82
99
|
prepareWorkflowInput(workflowRun) {
|
|
83
100
|
return this.consumePreparation(this.workflowInputKey(workflowRun.runId), workflowRun.input);
|
|
@@ -140,4 +157,4 @@ export class ReplayPayloadCache {
|
|
|
140
157
|
return `event:${eventId}:${field}`;
|
|
141
158
|
}
|
|
142
159
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGF5LXBheWxvYWQtY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVwbGF5LXBheWxvYWQtY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUVMLG9CQUFvQixHQUVyQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxDQUFDO0FBRzNDLFNBQVMscUJBQXFCLENBQUMsS0FBYztJQUMzQyxJQUFJLEtBQUssS0FBSyxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDaEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7SUFDMUIsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDM0QsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdEIsT0FBUSxLQUFnQixDQUFDLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdEIsT0FBUSxLQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQztJQUM5RSxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBU1Y7SUFDQTtJQVRGLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUd4QyxDQUFDO0lBQ2Esb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7SUFDM0QsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0lBRXBDLFlBQ21CLGFBQXFDLEVBQ3JDLFdBQWtDLG9CQUFvQjtRQUR0RCxrQkFBYSxHQUFiLGFBQWEsQ0FBd0I7UUFDckMsYUFBUSxHQUFSLFFBQVEsQ0FBOEM7SUFDdEUsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FB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QyxjQUFjLENBQUMsS0FBYztRQUN6QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYTtRQUNwQyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxPQUFlLEVBQUUsS0FBeUI7UUFDaEUsT0FBTyxTQUFTLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV2ZW50LCBXb3JrZmxvd1J1biB9IGZyb20gJ0B3b3JrZmxvdy93b3JsZCc7XG5pbXBvcnQgdHlwZSB7IFBheWxvYWRLZXkgfSBmcm9tICcuL3NlcmlhbGl6YXRpb24vZW5jcnlwdGlvbi5qcyc7XG5pbXBvcnQge1xuICB0eXBlIFByZXBhcmVkUmVwbGF5UGF5bG9hZCxcbiAgcHJlcGFyZVJlcGxheVBheWxvYWQsXG4gIHR5cGUgUmVwbGF5UGF5bG9hZFByZXBhcmVyLFxufSBmcm9tICcuL3NlcmlhbGl6YXRpb24uanMnO1xuXG5jb25zdCBNQVhfTUVNT0laRURfUFJJTUlUSVZFX0xFTkdUSCA9IDQwOTY7XG50eXBlIFJlcGxheVBheWxvYWRGaWVsZCA9ICdyZXN1bHQnIHwgJ2Vycm9yJyB8ICdwYXlsb2FkJztcblxuZnVuY3Rpb24gaXNNZW1vaXphYmxlUHJpbWl0aXZlKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIHRydWU7XG4gIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gIGlmICh0eXBlID09PSAnb2JqZWN0JyB8fCB0eXBlID09PSAnZnVuY3Rpb24nKSByZXR1cm4gZmFsc2U7XG4gIGlmICh0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiAodmFsdWUgYXMgc3RyaW5nKS5sZW5ndGggPD0gTUFYX01FTU9JWkVEX1BSSU1JVElWRV9MRU5HVEg7XG4gIH1cbiAgaWYgKHR5cGUgPT09ICdiaWdpbnQnKSB7XG4gICAgcmV0dXJuICh2YWx1ZSBhcyBiaWdpbnQpLnRvU3RyaW5nKCkubGVuZ3RoIDw9IE1BWF9NRU1PSVpFRF9QUklNSVRJVkVfTEVOR1RIO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIEludm9jYXRpb24tc2NvcGVkIGNhY2hlIGZvciByZXBsYXkgcGF5bG9hZCBoeWRyYXRpb24uXG4gKlxuICogQSB3b3JrZmxvdyBpbnZvY2F0aW9uIG1heSByZXBsYXkgdGhlIHNhbWUgZXZlbnQgbG9nIHRocm91Z2ggc2V2ZXJhbCBmcmVzaFxuICogVk1zLiBUaGlzIGNhY2hlIGtlZXBzIHRoZSBWTS1pbmRlcGVuZGVudCBkZWNyeXB0L2RlY29tcHJlc3MgcmVzdWx0IGFjcm9zc1xuICogdGhvc2UgcmVwbGF5cy4gRGVzZXJpYWxpemF0aW9uIHN0aWxsIHJ1bnMgYWdhaW5zdCBlYWNoIFZNJ3MgZ2xvYmFscyBzbyBldmVyeVxuICogcmVwbGF5IHJlY2VpdmVzIGZyZXNoIG9iamVjdCBncmFwaHMgYW5kIGNvcnJlY3RseSByZXZpdmVkIFdvcmtmbG93IG9iamVjdHMuXG4gKlxuICogU3VjY2Vzc2Z1bCBwcmVwYXJlZCBwbGFpbnRleHQgcmVtYWlucyByZXNpZGVudCBmb3IgdGhlIGludm9jYXRpb24gbGlmZXRpbWUuXG4gKiBJdHMgbWVtb3J5IGNvc3QgaXMgdGhlIHN1bSBvZiBkZWNyeXB0ZWQgYW5kIGRlY29tcHJlc3NlZCBwYXlsb2FkIHNpemVzLCBidXRcbiAqIGl0IG5ldmVyIGNyb3NzZXMgd29ya2Zsb3cgcnVucyBvciBxdWV1ZSBkZWxpdmVyaWVzLlxuICovXG5leHBvcnQgY2xhc3MgUmVwbGF5UGF5bG9hZENhY2hlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcmVwYXJlZFBheWxvYWRzID0gbmV3IE1hcDxcbiAgICBzdHJpbmcsXG4gICAgUHJvbWlzZTxQcmVwYXJlZFJlcGxheVBheWxvYWQ+XG4gID4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVTdGVwUmVzdWx0cyA9IG5ldyBNYXA8c3RyaW5nLCB1bmtub3duPigpO1xuICBwcml2YXRlIG5leHRVbnNjYW5uZWRFdmVudEluZGV4ID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuY3J5cHRpb25LZXk6IFBheWxvYWRLZXkgfCB1bmRlZmluZWQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmVwYXJlcjogUmVwbGF5UGF5bG9hZFByZXBhcmVyID0gcHJlcGFyZVJlcGxheVBheWxvYWRcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBTdGFydCBldmVyeSBtaXNzaW5nIGJpbmFyeSBwcmVwYXJhdGlvbiBiZWZvcmUgd29ya2Zsb3cgZXhlY3V0aW9uLiBGYWlsdXJlc1xuICAgKiBhcmUgaW50ZW50aW9uYWxseSByZXRhaW5lZDogdGhlIG9yZGVyZWQgZXZlbnQgY29uc3VtZXIgbXVzdCBvYnNlcnZlIHRoZVxuICAgKiBvcmlnaW5hbCByZWplY3Rpb24gYmVmb3JlIHRoYXQgZW50cnkgYmVjb21lcyByZXRyeWFibGUuXG4gICAqL1xuICBhc3luYyBwcmV3YXJtKHdvcmtmbG93UnVuOiBXb3JrZmxvd1J1biwgZXZlbnRzOiBFdmVudFtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcHJlcGFyYXRpb25zOiBQcm9taXNlPFByZXBhcmVkUmVwbGF5UGF5bG9hZD5bXSA9IFtdO1xuICAgIGNvbnN0IHN0YXJ0ID0gKGNhY2hlS2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgICAvLyBMZWdhY3kgZmxhdHRlbmVkIHZhbHVlcyBtYXkgYmUgbXV0YXRlZCBieSBkZXZhbHVlJ3MgdW5mbGF0dGVuIGFuZCBhcmVcbiAgICAgIC8vIHRoZXJlZm9yZSBwcmVwYXJlZCBvbmx5IGJ5IHRoZWlyIGV2ZW50dWFsIGNvbnN1bWVyLCBuZXZlciBjYWNoZWQuXG4gICAgICBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKSByZXR1cm47XG5cbiAgICAgIC8vIEVhY2ggcmVwbGF5IHNjYW5zIHRoZSBmdWxsIGV2ZW50IGxvZywgc28gYXdhaXRpbmcgY2FjaGVkIHByb21pc2VzIGhlcmVcbiAgICAgIC8vIHdvdWxkIGFkZCBPKE5eMikgcHJvbWlzZSByZWFjdGlvbnMgb3ZlciBhbiBOLXN0ZXAgaW52b2NhdGlvbi4gT25seSB3YWl0XG4gICAgICAvLyBmb3IgcHJlcGFyYXRpb25zIGZpcnN0IGRpc2NvdmVyZWQgYnkgdGhpcyBwcmV3YXJtIHBhc3MuXG4gICAgICBpZiAodGhpcy5wcmVwYXJlZFBheWxvYWRzLmhhcyhjYWNoZUtleSkpIHJldHVybjtcbiAgICAgIHByZXBhcmF0aW9ucy5wdXNoKHRoaXMuZW5zdXJlUHJlcGFyYXRpb24oY2FjaGVLZXksIHZhbHVlKSk7XG4gICAgfTtcblxuICAgIHN0YXJ0KHRoaXMud29ya2Zsb3dJbnB1dEtleSh3b3JrZmxvd1J1bi5ydW5JZCksIHdvcmtmbG93UnVuLmlucHV0KTtcbiAgICAvLyBUaGlzIGNhY2hlIGlzIHNjb3BlZCB0byBvbmUgaW52b2NhdGlvbiBhbmQgaXRzIGFwcGVuZC1vbmx5IGV2ZW50IGxvZy5cbiAgICAvLyBGdWxsIHNuYXBzaG90IHJlbG9hZHMgcHJlc2VydmUgdGhlIGFscmVhZHktc2VlbiBwcmVmaXgsIHNvIGl0cyBsZW5ndGggaXNcbiAgICAvLyBlbm91Z2ggdG8gbG9jYXRlIGV2ZW50cyBhcHBlbmRlZCBzaW5jZSB0aGUgcHJldmlvdXMgcmVwbGF5LlxuICAgIGZvciAoXG4gICAgICBsZXQgaW5kZXggPSB0aGlzLm5leHRVbnNjYW5uZWRFdmVudEluZGV4O1xuICAgICAgaW5kZXggPCBldmVudHMubGVuZ3RoO1xuICAgICAgaW5kZXgrK1xuICAgICkge1xuICAgICAgY29uc3QgZXZlbnQgPSBldmVudHNbaW5kZXhdO1xuICAgICAgc3dpdGNoIChldmVudC5ldmVudFR5cGUpIHtcbiAgICAgICAgY2FzZSAnc3RlcF9jb21wbGV0ZWQnOlxuICAgICAgICAgIHN0YXJ0KFxuICAgICAgICAgICAgdGhpcy5ldmVudFBheWxvYWRLZXkoZXZlbnQuZXZlbnRJZCwgJ3Jlc3VsdCcpLFxuICAgICAgICAgICAgZXZlbnQuZXZlbnREYXRhPy5yZXN1bHRcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdGVwX2ZhaWxlZCc6XG4gICAgICAgICAgc3RhcnQoXG4gICAgICAgICAgICB0aGlzLmV2ZW50UGF5bG9hZEtleShldmVudC5ldmVudElkLCAnZXJyb3InKSxcbiAgICAgICAgICAgIGV2ZW50LmV2ZW50RGF0YT8uZXJyb3JcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdob29rX3JlY2VpdmVkJzpcbiAgICAgICAgICBzdGFydChcbiAgICAgICAgICAgIHRoaXMuZXZlbnRQYXlsb2FkS2V5KGV2ZW50LmV2ZW50SWQsICdwYXlsb2FkJyksXG4gICAgICAgICAgICBldmVudC5ldmVudERhdGE/LnBheWxvYWRcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm5leHRVbnNjYW5uZWRFdmVudEluZGV4ID0gZXZlbnRzLmxlbmd0aDtcblxuICAgIC8vIFByZXdhcm1pbmcgaXMgc3BlY3VsYXRpdmUgYW5kIG11c3Qgbm90IGZhaWwgcmVwbGF5IGJlZm9yZSB0aGUgbWF0Y2hpbmdcbiAgICAvLyBldmVudCBpcyBjb25zdW1lZC4gYWxsU2V0dGxlZCBhbHNvIGF0dGFjaGVzIHJlamVjdGlvbiBoYW5kbGVycyBlYWdlcmx5LlxuICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChwcmVwYXJhdGlvbnMpO1xuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgd29ya2Zsb3cgaW5wdXQgYWZ0ZXIgc2hhcmVkIGhvc3Qtc2lkZSBwcmVwYXJhdGlvbi4gKi9cbiAgcHJlcGFyZVdvcmtmbG93SW5wdXQoXG4gICAgd29ya2Zsb3dSdW46IFdvcmtmbG93UnVuXG4gICk6IFByb21pc2U8UHJlcGFyZWRSZXBsYXlQYXlsb2FkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uc3VtZVByZXBhcmF0aW9uKFxuICAgICAgdGhpcy53b3JrZmxvd0lucHV0S2V5KHdvcmtmbG93UnVuLnJ1bklkKSxcbiAgICAgIHdvcmtmbG93UnVuLmlucHV0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gZXZlbnQgcGF5bG9hZCBhZnRlciBzaGFyZWQgaG9zdC1zaWRlIHByZXBhcmF0aW9uLiBBIHJlamVjdGVkXG4gICAqIHByZXBhcmF0aW9uIGlzIGV2aWN0ZWQgb25seSBhZnRlciB0aGlzIG9yZGVyZWQgY29uc3VtZXIgcmVxdWVzdHMgaXQsIHNvIGFcbiAgICogbGF0ZXIgcmVwbGF5IGNhbiByZXRyeSB3aXRob3V0IGhpZGluZyB0aGUgb3JpZ2luYWwgZmFpbHVyZS5cbiAgICovXG4gIHByZXBhcmVFdmVudFBheWxvYWQoXG4gICAgZXZlbnRJZDogc3RyaW5nLFxuICAgIGZpZWxkOiBSZXBsYXlQYXlsb2FkRmllbGQsXG4gICAgdmFsdWU6IHVua25vd25cbiAgKTogUHJvbWlzZTxQcmVwYXJlZFJlcGxheVBheWxvYWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25zdW1lUHJlcGFyYXRpb24odGhpcy5ldmVudFBheWxvYWRLZXkoZXZlbnRJZCwgZmllbGQpLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV1c2UgZmluYWwgc3RlcCB2YWx1ZXMgb25seSB3aGVuIHNoYXJpbmcgdGhlbSBhY3Jvc3MgVk1zIGlzIHVub2JzZXJ2YWJsZS5cbiAgICogT2JqZWN0cyBhbmQgbGFyZ2Ugc3RyaW5ncy9iaWdpbnRzIGFsd2F5cyBydW4gYGh5ZHJhdGVgIGFnYWluLCBwcm9kdWNpbmcgYVxuICAgKiBmcmVzaCBWTS1zcGVjaWZpYyB2YWx1ZSBmcm9tIHRoZSBzZXBhcmF0ZWx5IGNhY2hlZCBwcmVwYXJlZCBwYXlsb2FkLlxuICAgKi9cbiAgYXN5bmMgZ2V0U3RlcFJlc3VsdChcbiAgICBldmVudElkOiBzdHJpbmcsXG4gICAgaHlkcmF0ZTogKCkgPT4gUHJvbWlzZTx1bmtub3duPlxuICApOiBQcm9taXNlPHVua25vd24+IHtcbiAgICBpZiAodGhpcy5wcmltaXRpdmVTdGVwUmVzdWx0cy5oYXMoZXZlbnRJZCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByaW1pdGl2ZVN0ZXBSZXN1bHRzLmdldChldmVudElkKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IGh5ZHJhdGUoKTtcbiAgICBpZiAoaXNNZW1vaXphYmxlUHJpbWl0aXZlKHZhbHVlKSkge1xuICAgICAgdGhpcy5wcmltaXRpdmVTdGVwUmVzdWx0cy5zZXQoZXZlbnRJZCwgdmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3VtZXItZmFjaW5nIGxvb2t1cC4gQmluYXJ5IHBheWxvYWRzIHNoYXJlIHByZXBhcmF0aW9uOyBsZWdhY3kgdmFsdWVzXG4gICAqIGJ5cGFzcyB0aGUgY2FjaGUgYmVjYXVzZSB0aGVpciBmbGF0dGVuZWQgcmVwcmVzZW50YXRpb24gbWF5IGJlIG11dGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIGNvbnN1bWVQcmVwYXJhdGlvbihcbiAgICBjYWNoZUtleTogc3RyaW5nLFxuICAgIHZhbHVlOiB1bmtub3duXG4gICk6IFByb21pc2U8UHJlcGFyZWRSZXBsYXlQYXlsb2FkPiB7XG4gICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSkgcmV0dXJuIHRoaXMucnVuUHJlcGFyYXRpb24odmFsdWUpO1xuXG4gICAgY29uc3QgcHJlcGFyYXRpb24gPSB0aGlzLmVuc3VyZVByZXBhcmF0aW9uKGNhY2hlS2V5LCB2YWx1ZSk7XG4gICAgdm9pZCBwcmVwYXJhdGlvbi5jYXRjaCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcmVwYXJlZFBheWxvYWRzLmdldChjYWNoZUtleSkgPT09IHByZXBhcmF0aW9uKSB7XG4gICAgICAgIHRoaXMucHJlcGFyZWRQYXlsb2Fkcy5kZWxldGUoY2FjaGVLZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwcmVwYXJhdGlvbjtcbiAgfVxuXG4gIC8qKiBTdGFydCBwcmVwYXJhdGlvbiBvbmNlIGFuZCBzaGFyZSB0aGUgZXhhY3QgaW4tZmxpZ2h0IHByb21pc2UuICovXG4gIHByaXZhdGUgZW5zdXJlUHJlcGFyYXRpb24oXG4gICAgY2FjaGVLZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogVWludDhBcnJheVxuICApOiBQcm9taXNlPFByZXBhcmVkUmVwbGF5UGF5bG9hZD4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMucHJlcGFyZWRQYXlsb2Fkcy5nZXQoY2FjaGVLZXkpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQ7XG5cbiAgICBjb25zdCBwcmVwYXJhdGlvbiA9IHRoaXMucnVuUHJlcGFyYXRpb24odmFsdWUpO1xuICAgIHRoaXMucHJlcGFyZWRQYXlsb2Fkcy5zZXQoY2FjaGVLZXksIHByZXBhcmF0aW9uKTtcbiAgICByZXR1cm4gcHJlcGFyYXRpb247XG4gIH1cblxuICAvKiogTm9ybWFsaXplIHN5bmNocm9ub3VzIGFuZCBhc3luY2hyb25vdXMgcHJlcGFyZXJzIHRvIG9uZSBwcm9taXNlIGNvbnRyYWN0LiAqL1xuICBwcml2YXRlIGFzeW5jIHJ1blByZXBhcmF0aW9uKHZhbHVlOiB1bmtub3duKTogUHJvbWlzZTxQcmVwYXJlZFJlcGxheVBheWxvYWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wcmVwYXJlcih2YWx1ZSwgdGhpcy5lbmNyeXB0aW9uS2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgd29ya2Zsb3dJbnB1dEtleShydW5JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHJ1bjoke3J1bklkfTppbnB1dGA7XG4gIH1cblxuICBwcml2YXRlIGV2ZW50UGF5bG9hZEtleShldmVudElkOiBzdHJpbmcsIGZpZWxkOiBSZXBsYXlQYXlsb2FkRmllbGQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgZXZlbnQ6JHtldmVudElkfToke2ZpZWxkfWA7XG4gIH1cbn1cbiJdfQ==
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGF5LXBheWxvYWQtY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVwbGF5LXBheWxvYWQtY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUVMLG9CQUFvQixHQUVyQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxDQUFDO0FBRzNDLFNBQVMscUJBQXFCLENBQUMsS0FBYztJQUMzQyxJQUFJLEtBQUssS0FBSyxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDaEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7SUFDMUIsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDM0QsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdEIsT0FBUSxLQUFnQixDQUFDLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdEIsT0FBUSxLQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQztJQUM5RSxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBU1Y7SUFDQTtJQVRGLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUd4QyxDQUFDO0lBQ2Esb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7SUFDM0QsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0lBRXBDLFlBQ21CLGFBQXFDLEVBQ3JDLFdBQWtDLG9CQUFvQjtRQUR0RCxrQkFBYSxHQUFiLGFBQWEsQ0FBd0I7UUFDckMsYUFBUSxHQUFSLFFBQVEsQ0FBOEM7SUFDdEUsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsT0FB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QyxDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnRkFBZ0Y7SUFDeEUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFjO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ3BDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQWUsRUFBRSxLQUF5QjtRQUNoRSxPQUFPLFNBQVMsT0FBTyxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXZlbnQsIFdvcmtmbG93UnVuIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkJztcbmltcG9ydCB0eXBlIHsgUGF5bG9hZEtleSB9IGZyb20gJy4vc2VyaWFsaXphdGlvbi9lbmNyeXB0aW9uLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgUHJlcGFyZWRSZXBsYXlQYXlsb2FkLFxuICBwcmVwYXJlUmVwbGF5UGF5bG9hZCxcbiAgdHlwZSBSZXBsYXlQYXlsb2FkUHJlcGFyZXIsXG59IGZyb20gJy4vc2VyaWFsaXphdGlvbi5qcyc7XG5cbmNvbnN0IE1BWF9NRU1PSVpFRF9QUklNSVRJVkVfTEVOR1RIID0gNDA5NjtcbnR5cGUgUmVwbGF5UGF5bG9hZEZpZWxkID0gJ3Jlc3VsdCcgfCAnZXJyb3InIHwgJ3BheWxvYWQnO1xuXG5mdW5jdGlvbiBpc01lbW9pemFibGVQcmltaXRpdmUodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gdHJ1ZTtcbiAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgaWYgKHR5cGUgPT09ICdvYmplY3QnIHx8IHR5cGUgPT09ICdmdW5jdGlvbicpIHJldHVybiBmYWxzZTtcbiAgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLmxlbmd0aCA8PSBNQVhfTUVNT0laRURfUFJJTUlUSVZFX0xFTkdUSDtcbiAgfVxuICBpZiAodHlwZSA9PT0gJ2JpZ2ludCcpIHtcbiAgICByZXR1cm4gKHZhbHVlIGFzIGJpZ2ludCkudG9TdHJpbmcoKS5sZW5ndGggPD0gTUFYX01FTU9JWkVEX1BSSU1JVElWRV9MRU5HVEg7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogSW52b2NhdGlvbi1zY29wZWQgY2FjaGUgZm9yIHJlcGxheSBwYXlsb2FkIGh5ZHJhdGlvbi5cbiAqXG4gKiBBIHdvcmtmbG93IGludm9jYXRpb24gbWF5IHJlcGxheSB0aGUgc2FtZSBldmVudCBsb2cgdGhyb3VnaCBzZXZlcmFsIGZyZXNoXG4gKiBWTXMuIFRoaXMgY2FjaGUga2VlcHMgdGhlIFZNLWluZGVwZW5kZW50IGRlY3J5cHQvZGVjb21wcmVzcyByZXN1bHQgYWNyb3NzXG4gKiB0aG9zZSByZXBsYXlzLiBEZXNlcmlhbGl6YXRpb24gc3RpbGwgcnVucyBhZ2FpbnN0IGVhY2ggVk0ncyBnbG9iYWxzIHNvIGV2ZXJ5XG4gKiByZXBsYXkgcmVjZWl2ZXMgZnJlc2ggb2JqZWN0IGdyYXBocyBhbmQgY29ycmVjdGx5IHJldml2ZWQgV29ya2Zsb3cgb2JqZWN0cy5cbiAqXG4gKiBTdWNjZXNzZnVsIHByZXBhcmVkIHBsYWludGV4dCByZW1haW5zIHJlc2lkZW50IGZvciB0aGUgaW52b2NhdGlvbiBsaWZldGltZS5cbiAqIEl0cyBtZW1vcnkgY29zdCBpcyB0aGUgc3VtIG9mIGRlY3J5cHRlZCBhbmQgZGVjb21wcmVzc2VkIHBheWxvYWQgc2l6ZXMsIGJ1dFxuICogaXQgbmV2ZXIgY3Jvc3NlcyB3b3JrZmxvdyBydW5zIG9yIHF1ZXVlIGRlbGl2ZXJpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXBsYXlQYXlsb2FkQ2FjaGUge1xuICBwcml2YXRlIHJlYWRvbmx5IHByZXBhcmVkUGF5bG9hZHMgPSBuZXcgTWFwPFxuICAgIHN0cmluZyxcbiAgICBQcm9taXNlPFByZXBhcmVkUmVwbGF5UGF5bG9hZD5cbiAgPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHByaW1pdGl2ZVN0ZXBSZXN1bHRzID0gbmV3IE1hcDxzdHJpbmcsIHVua25vd24+KCk7XG4gIHByaXZhdGUgbmV4dFVuc2Nhbm5lZEV2ZW50SW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZW5jcnlwdGlvbktleTogUGF5bG9hZEtleSB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByZXBhcmVyOiBSZXBsYXlQYXlsb2FkUHJlcGFyZXIgPSBwcmVwYXJlUmVwbGF5UGF5bG9hZFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IGV2ZXJ5IG1pc3NpbmcgYmluYXJ5IHByZXBhcmF0aW9uIGJlZm9yZSB3b3JrZmxvdyBleGVjdXRpb24uIEZhaWx1cmVzXG4gICAqIGFyZSBpbnRlbnRpb25hbGx5IHJldGFpbmVkOiB0aGUgb3JkZXJlZCBldmVudCBjb25zdW1lciBtdXN0IG9ic2VydmUgdGhlXG4gICAqIG9yaWdpbmFsIHJlamVjdGlvbiBiZWZvcmUgdGhhdCBlbnRyeSBiZWNvbWVzIHJldHJ5YWJsZS5cbiAgICovXG4gIGFzeW5jIHByZXdhcm0od29ya2Zsb3dSdW46IFdvcmtmbG93UnVuLCBldmVudHM6IEV2ZW50W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwcmVwYXJhdGlvbnM6IFByb21pc2U8UHJlcGFyZWRSZXBsYXlQYXlsb2FkPltdID0gW107XG4gICAgY29uc3Qgc3RhcnQgPSAoY2FjaGVLZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgIC8vIExlZ2FjeSBmbGF0dGVuZWQgdmFsdWVzIG1heSBiZSBtdXRhdGVkIGJ5IGRldmFsdWUncyB1bmZsYXR0ZW4gYW5kIGFyZVxuICAgICAgLy8gdGhlcmVmb3JlIHByZXBhcmVkIG9ubHkgYnkgdGhlaXIgZXZlbnR1YWwgY29uc3VtZXIsIG5ldmVyIGNhY2hlZC5cbiAgICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgVWludDhBcnJheSkpIHJldHVybjtcblxuICAgICAgLy8gRWFjaCByZXBsYXkgc2NhbnMgdGhlIGZ1bGwgZXZlbnQgbG9nLCBzbyBhd2FpdGluZyBjYWNoZWQgcHJvbWlzZXMgaGVyZVxuICAgICAgLy8gd291bGQgYWRkIE8oTl4yKSBwcm9taXNlIHJlYWN0aW9ucyBvdmVyIGFuIE4tc3RlcCBpbnZvY2F0aW9uLiBPbmx5IHdhaXRcbiAgICAgIC8vIGZvciBwcmVwYXJhdGlvbnMgZmlyc3QgZGlzY292ZXJlZCBieSB0aGlzIHByZXdhcm0gcGFzcy5cbiAgICAgIGlmICh0aGlzLnByZXBhcmVkUGF5bG9hZHMuaGFzKGNhY2hlS2V5KSkgcmV0dXJuO1xuICAgICAgcHJlcGFyYXRpb25zLnB1c2godGhpcy5lbnN1cmVQcmVwYXJhdGlvbihjYWNoZUtleSwgdmFsdWUpKTtcbiAgICB9O1xuXG4gICAgc3RhcnQodGhpcy53b3JrZmxvd0lucHV0S2V5KHdvcmtmbG93UnVuLnJ1bklkKSwgd29ya2Zsb3dSdW4uaW5wdXQpO1xuICAgIC8vIFRoaXMgY2FjaGUgaXMgc2NvcGVkIHRvIG9uZSBpbnZvY2F0aW9uLiBJbmNyZW1lbnRhbCBsb2FkcyBhbmQgd3JpdGVcbiAgICAvLyByZXNwb25zZSBkZWx0YXMgb25seSBldmVyIGFwcGVuZCwgc28gdGhlIHNjYW5uZWQgbGVuZ3RoIGxvY2F0ZXMgdGhlXG4gICAgLy8gZXZlbnRzIGFkZGVkIHNpbmNlIHRoZSBwcmV2aW91cyByZXBsYXkuIEEgcmVsb2FkIHRoYXQgY2FuIGluc2VydCBldmVudHNcbiAgICAvLyBCRUxPVyB0aGF0IGxlbmd0aCDigJQgYSBzdGFsZS1zbmFwc2hvdCByZXN0YXJ0IHJlcGxhY2luZyB0aGUgbG9nIHdpdGggYVxuICAgIC8vIGNvcnJlY3RlZCBvbmUg4oCUIG11c3QgY2FsbCBgcmVzZXRTY2FuKClgIGZpcnN0LCBvciB0aGUgaW5zZXJ0ZWQgZXZlbnRzIGFyZVxuICAgIC8vIG5ldmVyIHNjYW5uZWQuIFByZXBhcmVkIGVudHJpZXMgc3RheSB2YWxpZCBhY3Jvc3MgdGhhdDogdGhleSBhcmUga2V5ZWQgYnlcbiAgICAvLyBldmVudCBpZCwgbm90IGJ5IHBvc2l0aW9uLlxuICAgIGZvciAoXG4gICAgICBsZXQgaW5kZXggPSB0aGlzLm5leHRVbnNjYW5uZWRFdmVudEluZGV4O1xuICAgICAgaW5kZXggPCBldmVudHMubGVuZ3RoO1xuICAgICAgaW5kZXgrK1xuICAgICkge1xuICAgICAgY29uc3QgZXZlbnQgPSBldmVudHNbaW5kZXhdO1xuICAgICAgc3dpdGNoIChldmVudC5ldmVudFR5cGUpIHtcbiAgICAgICAgY2FzZSAnc3RlcF9jb21wbGV0ZWQnOlxuICAgICAgICAgIHN0YXJ0KFxuICAgICAgICAgICAgdGhpcy5ldmVudFBheWxvYWRLZXkoZXZlbnQuZXZlbnRJZCwgJ3Jlc3VsdCcpLFxuICAgICAgICAgICAgZXZlbnQuZXZlbnREYXRhPy5yZXN1bHRcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzdGVwX2ZhaWxlZCc6XG4gICAgICAgICAgc3RhcnQoXG4gICAgICAgICAgICB0aGlzLmV2ZW50UGF5bG9hZEtleShldmVudC5ldmVudElkLCAnZXJyb3InKSxcbiAgICAgICAgICAgIGV2ZW50LmV2ZW50RGF0YT8uZXJyb3JcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdob29rX3JlY2VpdmVkJzpcbiAgICAgICAgICBzdGFydChcbiAgICAgICAgICAgIHRoaXMuZXZlbnRQYXlsb2FkS2V5KGV2ZW50LmV2ZW50SWQsICdwYXlsb2FkJyksXG4gICAgICAgICAgICBldmVudC5ldmVudERhdGE/LnBheWxvYWRcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm5leHRVbnNjYW5uZWRFdmVudEluZGV4ID0gZXZlbnRzLmxlbmd0aDtcblxuICAgIC8vIFByZXdhcm1pbmcgaXMgc3BlY3VsYXRpdmUgYW5kIG11c3Qgbm90IGZhaWwgcmVwbGF5IGJlZm9yZSB0aGUgbWF0Y2hpbmdcbiAgICAvLyBldmVudCBpcyBjb25zdW1lZC4gYWxsU2V0dGxlZCBhbHNvIGF0dGFjaGVzIHJlamVjdGlvbiBoYW5kbGVycyBlYWdlcmx5LlxuICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChwcmVwYXJhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcmdldCBob3cgbXVjaCBvZiB0aGUgZXZlbnQgbG9nIGhhcyBiZWVuIHNjYW5uZWQsIHNvIHRoZSBuZXh0XG4gICAqIHtAbGluayBwcmV3YXJtfSB3YWxrcyBpdCBmcm9tIHRoZSBzdGFydCBhZ2Fpbi5cbiAgICpcbiAgICogUmVxdWlyZWQgYmVmb3JlIGEgcmVwbGF5IHdob3NlIGV2ZW50IGxvZyB3YXMgcmVsb2FkZWQgcmF0aGVyIHRoYW4gZXh0ZW5kZWQ6XG4gICAqIGEgY29ycmVjdGVkIGxvZyBpbnNlcnRzIHRoZSBldmVudHMgdGhlIHByZXZpb3VzIGxvYWQgd2FzIG1pc3NpbmcsIHdoaWNoXG4gICAqIHNoaWZ0cyBldmVyeSBsYXRlciBwb3NpdGlvbiwgc28gYSBwb3NpdGlvbmFsIHJlc3VtZSB3b3VsZCBza2lwIGV4YWN0bHkgdGhlXG4gICAqIGV2ZW50cyB0aGUgcmVsb2FkIHdhcyBmb3IuIEFscmVhZHktcHJlcGFyZWQgcGF5bG9hZHMgYXJlIGtlcHQg4oCUIHRoZXkgYXJlXG4gICAqIGtleWVkIGJ5IGV2ZW50IGlkLCBzbyByZS1zY2FubmluZyByZS1vYnNlcnZlcyB0aGVtIGZvciBmcmVlLlxuICAgKi9cbiAgcmVzZXRTY2FuKCk6IHZvaWQge1xuICAgIHRoaXMubmV4dFVuc2Nhbm5lZEV2ZW50SW5kZXggPSAwO1xuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgd29ya2Zsb3cgaW5wdXQgYWZ0ZXIgc2hhcmVkIGhvc3Qtc2lkZSBwcmVwYXJhdGlvbi4gKi9cbiAgcHJlcGFyZVdvcmtmbG93SW5wdXQoXG4gICAgd29ya2Zsb3dSdW46IFdvcmtmbG93UnVuXG4gICk6IFByb21pc2U8UHJlcGFyZWRSZXBsYXlQYXlsb2FkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uc3VtZVByZXBhcmF0aW9uKFxuICAgICAgdGhpcy53b3JrZmxvd0lucHV0S2V5KHdvcmtmbG93UnVuLnJ1bklkKSxcbiAgICAgIHdvcmtmbG93UnVuLmlucHV0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gZXZlbnQgcGF5bG9hZCBhZnRlciBzaGFyZWQgaG9zdC1zaWRlIHByZXBhcmF0aW9uLiBBIHJlamVjdGVkXG4gICAqIHByZXBhcmF0aW9uIGlzIGV2aWN0ZWQgb25seSBhZnRlciB0aGlzIG9yZGVyZWQgY29uc3VtZXIgcmVxdWVzdHMgaXQsIHNvIGFcbiAgICogbGF0ZXIgcmVwbGF5IGNhbiByZXRyeSB3aXRob3V0IGhpZGluZyB0aGUgb3JpZ2luYWwgZmFpbHVyZS5cbiAgICovXG4gIHByZXBhcmVFdmVudFBheWxvYWQoXG4gICAgZXZlbnRJZDogc3RyaW5nLFxuICAgIGZpZWxkOiBSZXBsYXlQYXlsb2FkRmllbGQsXG4gICAgdmFsdWU6IHVua25vd25cbiAgKTogUHJvbWlzZTxQcmVwYXJlZFJlcGxheVBheWxvYWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25zdW1lUHJlcGFyYXRpb24odGhpcy5ldmVudFBheWxvYWRLZXkoZXZlbnRJZCwgZmllbGQpLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV1c2UgZmluYWwgc3RlcCB2YWx1ZXMgb25seSB3aGVuIHNoYXJpbmcgdGhlbSBhY3Jvc3MgVk1zIGlzIHVub2JzZXJ2YWJsZS5cbiAgICogT2JqZWN0cyBhbmQgbGFyZ2Ugc3RyaW5ncy9iaWdpbnRzIGFsd2F5cyBydW4gYGh5ZHJhdGVgIGFnYWluLCBwcm9kdWNpbmcgYVxuICAgKiBmcmVzaCBWTS1zcGVjaWZpYyB2YWx1ZSBmcm9tIHRoZSBzZXBhcmF0ZWx5IGNhY2hlZCBwcmVwYXJlZCBwYXlsb2FkLlxuICAgKi9cbiAgYXN5bmMgZ2V0U3RlcFJlc3VsdChcbiAgICBldmVudElkOiBzdHJpbmcsXG4gICAgaHlkcmF0ZTogKCkgPT4gUHJvbWlzZTx1bmtub3duPlxuICApOiBQcm9taXNlPHVua25vd24+IHtcbiAgICBpZiAodGhpcy5wcmltaXRpdmVTdGVwUmVzdWx0cy5oYXMoZXZlbnRJZCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByaW1pdGl2ZVN0ZXBSZXN1bHRzLmdldChldmVudElkKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IGh5ZHJhdGUoKTtcbiAgICBpZiAoaXNNZW1vaXphYmxlUHJpbWl0aXZlKHZhbHVlKSkge1xuICAgICAgdGhpcy5wcmltaXRpdmVTdGVwUmVzdWx0cy5zZXQoZXZlbnRJZCwgdmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3VtZXItZmFjaW5nIGxvb2t1cC4gQmluYXJ5IHBheWxvYWRzIHNoYXJlIHByZXBhcmF0aW9uOyBsZWdhY3kgdmFsdWVzXG4gICAqIGJ5cGFzcyB0aGUgY2FjaGUgYmVjYXVzZSB0aGVpciBmbGF0dGVuZWQgcmVwcmVzZW50YXRpb24gbWF5IGJlIG11dGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIGNvbnN1bWVQcmVwYXJhdGlvbihcbiAgICBjYWNoZUtleTogc3RyaW5nLFxuICAgIHZhbHVlOiB1bmtub3duXG4gICk6IFByb21pc2U8UHJlcGFyZWRSZXBsYXlQYXlsb2FkPiB7XG4gICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSkgcmV0dXJuIHRoaXMucnVuUHJlcGFyYXRpb24odmFsdWUpO1xuXG4gICAgY29uc3QgcHJlcGFyYXRpb24gPSB0aGlzLmVuc3VyZVByZXBhcmF0aW9uKGNhY2hlS2V5LCB2YWx1ZSk7XG4gICAgdm9pZCBwcmVwYXJhdGlvbi5jYXRjaCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcmVwYXJlZFBheWxvYWRzLmdldChjYWNoZUtleSkgPT09IHByZXBhcmF0aW9uKSB7XG4gICAgICAgIHRoaXMucHJlcGFyZWRQYXlsb2Fkcy5kZWxldGUoY2FjaGVLZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwcmVwYXJhdGlvbjtcbiAgfVxuXG4gIC8qKiBTdGFydCBwcmVwYXJhdGlvbiBvbmNlIGFuZCBzaGFyZSB0aGUgZXhhY3QgaW4tZmxpZ2h0IHByb21pc2UuICovXG4gIHByaXZhdGUgZW5zdXJlUHJlcGFyYXRpb24oXG4gICAgY2FjaGVLZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogVWludDhBcnJheVxuICApOiBQcm9taXNlPFByZXBhcmVkUmVwbGF5UGF5bG9hZD4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMucHJlcGFyZWRQYXlsb2Fkcy5nZXQoY2FjaGVLZXkpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQ7XG5cbiAgICBjb25zdCBwcmVwYXJhdGlvbiA9IHRoaXMucnVuUHJlcGFyYXRpb24odmFsdWUpO1xuICAgIHRoaXMucHJlcGFyZWRQYXlsb2Fkcy5zZXQoY2FjaGVLZXksIHByZXBhcmF0aW9uKTtcbiAgICByZXR1cm4gcHJlcGFyYXRpb247XG4gIH1cblxuICAvKiogTm9ybWFsaXplIHN5bmNocm9ub3VzIGFuZCBhc3luY2hyb25vdXMgcHJlcGFyZXJzIHRvIG9uZSBwcm9taXNlIGNvbnRyYWN0LiAqL1xuICBwcml2YXRlIGFzeW5jIHJ1blByZXBhcmF0aW9uKHZhbHVlOiB1bmtub3duKTogUHJvbWlzZTxQcmVwYXJlZFJlcGxheVBheWxvYWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wcmVwYXJlcih2YWx1ZSwgdGhpcy5lbmNyeXB0aW9uS2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgd29ya2Zsb3dJbnB1dEtleShydW5JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHJ1bjoke3J1bklkfTppbnB1dGA7XG4gIH1cblxuICBwcml2YXRlIGV2ZW50UGF5bG9hZEtleShldmVudElkOiBzdHJpbmcsIGZpZWxkOiBSZXBsYXlQYXlsb2FkRmllbGQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgZXZlbnQ6JHtldmVudElkfToke2ZpZWxkfWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identifier for the compute instance (microVM) this module was loaded into.
|
|
3
|
+
*
|
|
4
|
+
* Vercel exposes no native per-instance id under Fluid compute (`AWS_LAMBDA_*`
|
|
5
|
+
* is blocked), so we synthesize one at module load: a prefixed ULID
|
|
6
|
+
* (`cinst_<ulid>`, per the `wrun_`/`step_` convention) whose timestamp is the
|
|
7
|
+
* instance's birth time. Stable for the instance's life and shared by every
|
|
8
|
+
* invocation it handles — including the concurrent ones Fluid packs onto it;
|
|
9
|
+
* cold starts mint fresh ids. Emitted as the OTEL `faas.instance` attribute.
|
|
10
|
+
*/
|
|
11
|
+
export declare const COMPUTE_INSTANCE_ID: string;
|
|
12
|
+
//# sourceMappingURL=compute-instance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-instance.d.ts","sourceRoot":"","sources":["../../src/runtime/compute-instance.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,QAAoB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ulid } from 'ulid';
|
|
2
|
+
/**
|
|
3
|
+
* Identifier for the compute instance (microVM) this module was loaded into.
|
|
4
|
+
*
|
|
5
|
+
* Vercel exposes no native per-instance id under Fluid compute (`AWS_LAMBDA_*`
|
|
6
|
+
* is blocked), so we synthesize one at module load: a prefixed ULID
|
|
7
|
+
* (`cinst_<ulid>`, per the `wrun_`/`step_` convention) whose timestamp is the
|
|
8
|
+
* instance's birth time. Stable for the instance's life and shared by every
|
|
9
|
+
* invocation it handles — including the concurrent ones Fluid packs onto it;
|
|
10
|
+
* cold starts mint fresh ids. Emitted as the OTEL `faas.instance` attribute.
|
|
11
|
+
*/
|
|
12
|
+
export const COMPUTE_INSTANCE_ID = `cinst_${ulid()}`;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL2NvbXB1dGUtaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1Qjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLElBQUksRUFBRSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1bGlkIH0gZnJvbSAndWxpZCc7XG5cbi8qKlxuICogSWRlbnRpZmllciBmb3IgdGhlIGNvbXB1dGUgaW5zdGFuY2UgKG1pY3JvVk0pIHRoaXMgbW9kdWxlIHdhcyBsb2FkZWQgaW50by5cbiAqXG4gKiBWZXJjZWwgZXhwb3NlcyBubyBuYXRpdmUgcGVyLWluc3RhbmNlIGlkIHVuZGVyIEZsdWlkIGNvbXB1dGUgKGBBV1NfTEFNQkRBXypgXG4gKiBpcyBibG9ja2VkKSwgc28gd2Ugc3ludGhlc2l6ZSBvbmUgYXQgbW9kdWxlIGxvYWQ6IGEgcHJlZml4ZWQgVUxJRFxuICogKGBjaW5zdF88dWxpZD5gLCBwZXIgdGhlIGB3cnVuX2AvYHN0ZXBfYCBjb252ZW50aW9uKSB3aG9zZSB0aW1lc3RhbXAgaXMgdGhlXG4gKiBpbnN0YW5jZSdzIGJpcnRoIHRpbWUuIFN0YWJsZSBmb3IgdGhlIGluc3RhbmNlJ3MgbGlmZSBhbmQgc2hhcmVkIGJ5IGV2ZXJ5XG4gKiBpbnZvY2F0aW9uIGl0IGhhbmRsZXMg4oCUIGluY2x1ZGluZyB0aGUgY29uY3VycmVudCBvbmVzIEZsdWlkIHBhY2tzIG9udG8gaXQ7XG4gKiBjb2xkIHN0YXJ0cyBtaW50IGZyZXNoIGlkcy4gRW1pdHRlZCBhcyB0aGUgT1RFTCBgZmFhcy5pbnN0YW5jZWAgYXR0cmlidXRlLlxuICovXG5leHBvcnQgY29uc3QgQ09NUFVURV9JTlNUQU5DRV9JRCA9IGBjaW5zdF8ke3VsaWQoKX1gO1xuIl19
|
|
@@ -201,4 +201,22 @@ export declare const REPLAY_DIVERGENCE_MAX_RETRIES = 3;
|
|
|
201
201
|
* `WORKFLOW_REPLAY_DIVERGENCE_MAX_RETRIES`.
|
|
202
202
|
*/
|
|
203
203
|
export declare function getReplayDivergenceMaxRetries(): number;
|
|
204
|
+
export declare const PRECONDITION_MAX_INPROCESS_RESTARTS = 3;
|
|
205
|
+
/**
|
|
206
|
+
* Effective in-process replay-restart budget for stale-snapshot rejections.
|
|
207
|
+
* Override via `WORKFLOW_PRECONDITION_MAX_INPROCESS_RESTARTS`.
|
|
208
|
+
*/
|
|
209
|
+
export declare function getPreconditionMaxInProcessRestarts(): number;
|
|
210
|
+
export declare const PRECONDITION_MAX_REINVOCATIONS = 5;
|
|
211
|
+
/**
|
|
212
|
+
* Effective per-run budget for re-invocations caused by stale-snapshot
|
|
213
|
+
* rejections. Override via `WORKFLOW_PRECONDITION_MAX_REINVOCATIONS`.
|
|
214
|
+
*/
|
|
215
|
+
export declare function getPreconditionMaxReinvocations(): number;
|
|
216
|
+
export declare const PRECONDITION_REINVOKE_DELAY_SECONDS = 2;
|
|
217
|
+
/**
|
|
218
|
+
* Effective delay before a precondition re-invocation. Override via
|
|
219
|
+
* `WORKFLOW_PRECONDITION_REINVOKE_DELAY_SECONDS`.
|
|
220
|
+
*/
|
|
221
|
+
export declare function getPreconditionReinvokeDelaySeconds(): number;
|
|
204
222
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/runtime/constants.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAW9C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,SAAU,CAAC;AAEzC,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAgB7C;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CA6B3C;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAMD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAMnD;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAKvC;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CA2B1C;AAID;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAezD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAIxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,yCAAyC,IAAI,OAAO,CAInE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAIxC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAIlD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAMvD;AAKD,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,CAMtD"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/runtime/constants.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAW9C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,SAAU,CAAC;AAEzC,2DAA2D;AAC3D,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAgB7C;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CA6B3C;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAMD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAMnD;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAKvC;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CA2B1C;AAID;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAezD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAIxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,yCAAyC,IAAI,OAAO,CAInE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAIxC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAIlD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,CAMvD;AAKD,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,CAMtD;AAQD,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD;;;GAGG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAM5D;AASD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,MAAM,CAMxD;AAMD,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD;;;GAGG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAM5D"}
|