@devramps/sdk-typescript 0.1.1 → 0.1.3
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/base/base-step.d.ts +8 -2
- package/dist/base/base-step.js +1 -1
- package/dist/decorators/step.d.ts +5 -2
- package/dist/decorators/step.js +7 -2
- package/dist/output/step-output.d.ts +29 -201
- package/dist/registry/step-registry.d.ts +4 -32
- package/dist/registry/step-registry.js +3 -3
- package/package.json +5 -5
package/dist/base/base-step.d.ts
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import type { ZodType, z } from "zod";
|
|
2
2
|
import type { StepLogger } from "../logging/step-logger";
|
|
3
3
|
import type { PrepareOutput } from "../output/step-output";
|
|
4
|
+
import type { ZodStandardJSONSchemaPayload } from "zod/v4/core";
|
|
4
5
|
export type StepKind = "simple" | "polling";
|
|
5
6
|
export interface StepMetadata<S extends ZodType = ZodType> {
|
|
6
|
-
name
|
|
7
|
-
|
|
7
|
+
name?: string;
|
|
8
|
+
shortDescription?: string;
|
|
9
|
+
longDescription?: string;
|
|
10
|
+
yamlExample?: string;
|
|
8
11
|
schema: S;
|
|
9
12
|
stepKind: StepKind;
|
|
10
13
|
requiresApproval: boolean;
|
|
14
|
+
stepType: string;
|
|
15
|
+
jsonSchema: ZodStandardJSONSchemaPayload<S>;
|
|
16
|
+
documentationUrl?: string;
|
|
11
17
|
}
|
|
12
18
|
/**
|
|
13
19
|
* Base class for all steps.
|
package/dist/base/base-step.js
CHANGED
|
@@ -35,4 +35,4 @@ class BaseStep {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
exports.BaseStep = BaseStep;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jhc2UvYmFzZS1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHdEQUFvRDtBQUVwRCx1REFBb0Q7QUFrQnBEOzs7R0FHRztBQUNILE1BQXNCLFFBQVE7SUFDbEIsTUFBTSxHQUFlLElBQUksd0JBQVUsRUFBRSxDQUFDO0lBRWhEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxNQUFrQjtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULE1BQU0sSUFBSSxLQUFLLENBQ2IseUVBQXlFLENBQzFFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBZ0I7UUFDNUIsOERBQThEO1FBQzlELGlFQUFpRTtRQUNqRSxPQUFPLHlCQUFXLENBQUMsTUFBTSxDQUN2QixzQ0FBc0MsRUFDdEMseUJBQXlCLENBQzFCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFsQ0QsNEJBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBab2RUeXBlLCB6IH0gZnJvbSBcInpvZFwiO1xuaW1wb3J0IHR5cGUgeyBTdGVwTG9nZ2VyIH0gZnJvbSBcIi4uL2xvZ2dpbmcvc3RlcC1sb2dnZXJcIjtcbmltcG9ydCB7IE5vT3BMb2dnZXIgfSBmcm9tIFwiLi4vbG9nZ2luZy9zdGVwLWxvZ2dlclwiO1xuaW1wb3J0IHR5cGUgeyBQcmVwYXJlT3V0cHV0IH0gZnJvbSBcIi4uL291dHB1dC9zdGVwLW91dHB1dFwiO1xuaW1wb3J0IHsgU3RlcE91dHB1dHMgfSBmcm9tIFwiLi4vb3V0cHV0L3N0ZXAtb3V0cHV0XCI7XG5pbXBvcnQgdHlwZSB7IFpvZFN0YW5kYXJkSlNPTlNjaGVtYVBheWxvYWQgfSBmcm9tIFwiem9kL3Y0L2NvcmVcIjtcblxuZXhwb3J0IHR5cGUgU3RlcEtpbmQgPSBcInNpbXBsZVwiIHwgXCJwb2xsaW5nXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RlcE1ldGFkYXRhPFMgZXh0ZW5kcyBab2RUeXBlID0gWm9kVHlwZT4ge1xuICBuYW1lPzogc3RyaW5nO1xuICBzaG9ydERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBsb25nRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHlhbWxFeGFtcGxlPzogc3RyaW5nO1xuICBzY2hlbWE6IFM7XG4gIHN0ZXBLaW5kOiBTdGVwS2luZDtcbiAgcmVxdWlyZXNBcHByb3ZhbDogYm9vbGVhbjtcbiAgc3RlcFR5cGU6IHN0cmluZztcbiAganNvblNjaGVtYTogWm9kU3RhbmRhcmRKU09OU2NoZW1hUGF5bG9hZDxTPjtcbiAgZG9jdW1lbnRhdGlvblVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhbGwgc3RlcHMuXG4gKiBQcm92aWRlcyBsb2dnaW5nIGFuZCBjb21tb24gZnVuY3Rpb25hbGl0eS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTdGVwPFRQYXJhbXMgPSB1bmtub3duPiB7XG4gIHByb3RlY3RlZCBsb2dnZXI6IFN0ZXBMb2dnZXIgPSBuZXcgTm9PcExvZ2dlcigpO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgdGhlIHJlZ2lzdHJ5IHRvIGluamVjdCB0aGUgbG9nZ2VyIGJlZm9yZSBleGVjdXRpb24uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX3NldExvZ2dlcihsb2dnZXI6IFN0ZXBMb2dnZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIG1ldGFkYXRhIGFib3V0IHRoaXMgc3RlcC5cbiAgICogSW1wbGVtZW50ZWQgYnkgdGhlIEBTdGVwIGRlY29yYXRvci5cbiAgICovXG4gIGdldE1ldGFkYXRhKCk6IFN0ZXBNZXRhZGF0YSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJnZXRNZXRhZGF0YSBub3QgaW1wbGVtZW50ZWQuIERpZCB5b3UgZm9yZ2V0IHRvIGFkZCB0aGUgQFN0ZXAgZGVjb3JhdG9yP1wiXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcmVwYXJlIG1ldGhvZCBmb3IgYXBwcm92YWwgZmxvdy5cbiAgICogT3ZlcnJpZGUgdGhpcyB0byByZXF1aXJlIGFwcHJvdmFsIGJlZm9yZSBleGVjdXRpb24uXG4gICAqIElmIG5vdCBvdmVycmlkZGVuLCB0aGUgc3RlcCB3aWxsIG5vdCByZXF1aXJlIGFwcHJvdmFsLlxuICAgKi9cbiAgYXN5bmMgcHJlcGFyZShfcGFyYW1zOiBUUGFyYW1zKTogUHJvbWlzZTxQcmVwYXJlT3V0cHV0PiB7XG4gICAgLy8gRGVmYXVsdDogbm8gYXBwcm92YWwgcmVxdWlyZWQgLSB0aGlzIHNob3VsZCBuZXZlciBiZSBjYWxsZWRcbiAgICAvLyBUaGUgcmVnaXN0cnkgY2hlY2tzIGlmIHByZXBhcmUgaXMgb3ZlcnJpZGRlbiBiZWZvcmUgY2FsbGluZyBpdFxuICAgIHJldHVybiBTdGVwT3V0cHV0cy5mYWlsZWQoXG4gICAgICBcInByZXBhcmUoKSBjYWxsZWQgYnV0IG5vdCBpbXBsZW1lbnRlZFwiLFxuICAgICAgXCJQUkVQQVJFX05PVF9JTVBMRU1FTlRFRFwiXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFR5cGUgcmVwcmVzZW50aW5nIGEgY2xhc3MgY29uc3RydWN0b3IgdGhhdCBwcm9kdWNlcyBhIEJhc2VTdGVwIGluc3RhbmNlXG4gKiB3aXRoIHRoZSBnZXRNZXRhZGF0YSBtZXRob2QgYXZhaWxhYmxlLlxuICovXG5leHBvcnQgdHlwZSBTdGVwQ2xhc3M8UyBleHRlbmRzIFpvZFR5cGUgPSBab2RUeXBlPiA9IG5ldyAoXG4gIC4uLmFyZ3M6IGFueVtdXG4pID0+IEJhc2VTdGVwPHouaW5mZXI8Uz4+ICYge1xuICBnZXRNZXRhZGF0YSgpOiBTdGVwTWV0YWRhdGE8Uz47XG59O1xuIl19
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ZodType, z } from "zod";
|
|
2
2
|
import { BaseStep } from "../base/base-step";
|
|
3
3
|
export interface StepConfig<S extends ZodType> {
|
|
4
|
-
name
|
|
4
|
+
name?: string;
|
|
5
5
|
type: string;
|
|
6
|
+
shortDescription?: string;
|
|
7
|
+
longDescription?: string;
|
|
8
|
+
yamlExample?: string;
|
|
6
9
|
schema: S;
|
|
7
10
|
}
|
|
8
11
|
/**
|
package/dist/decorators/step.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Step = Step;
|
|
4
|
+
const zod_1 = require("zod");
|
|
4
5
|
const base_step_1 = require("../base/base-step");
|
|
5
6
|
/**
|
|
6
7
|
* Decorator that adds metadata to a step class.
|
|
@@ -31,9 +32,13 @@ function Step(config) {
|
|
|
31
32
|
// Check if prepare is overridden (not the default BaseStep.prepare)
|
|
32
33
|
const requiresApproval = this.prepare !== base_step_1.BaseStep.prototype.prepare;
|
|
33
34
|
return {
|
|
34
|
-
type: config.type,
|
|
35
35
|
name: config.name,
|
|
36
|
+
stepType: config.type,
|
|
37
|
+
shortDescription: config.shortDescription,
|
|
38
|
+
longDescription: config.longDescription,
|
|
39
|
+
yamlExample: config.yamlExample,
|
|
36
40
|
schema: config.schema,
|
|
41
|
+
jsonSchema: zod_1.z.toJSONSchema(config.schema),
|
|
37
42
|
stepKind,
|
|
38
43
|
requiresApproval,
|
|
39
44
|
};
|
|
@@ -42,4 +47,4 @@ function Step(config) {
|
|
|
42
47
|
return Enhanced;
|
|
43
48
|
};
|
|
44
49
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3JzL3N0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE2QkEsb0JBa0NDO0FBL0RELDZCQUFzQztBQUV0QyxpREFBNkM7QUFXN0M7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsU0FBZ0IsSUFBSSxDQUFvQixNQUFxQjtJQUMzRCxPQUFPLFVBQ0wsSUFBTztRQUVQLE1BQU0sUUFBUSxHQUFHLEtBQU0sU0FBUSxJQUFJO1lBQ3hCLFdBQVc7Z0JBQ2xCLHVEQUF1RDtnQkFDdkQsTUFBTSxpQkFBaUIsR0FDckIsU0FBUyxJQUFJLElBQUk7b0JBQ2pCLE9BQVEsSUFBWSxDQUFDLE9BQU8sS0FBSyxVQUFVO29CQUMzQyxNQUFNLElBQUksSUFBSTtvQkFDZCxPQUFRLElBQVksQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO2dCQUUzQyxNQUFNLFFBQVEsR0FBYSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7Z0JBRXBFLG9FQUFvRTtnQkFDcEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLG9CQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztnQkFFckUsT0FBTztvQkFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7b0JBQ2pCLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDckIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjtvQkFDekMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlO29CQUN2QyxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7b0JBQy9CLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtvQkFDckIsVUFBVSxFQUFFLE9BQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztvQkFDekMsUUFBUTtvQkFDUixnQkFBZ0I7aUJBQ2pCLENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBQztRQUVGLE9BQU8sUUFBYSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFpvZFR5cGUsIHogfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgdHlwZSB7IFN0ZXBLaW5kLCBTdGVwTWV0YWRhdGEgfSBmcm9tIFwiLi4vYmFzZS9iYXNlLXN0ZXBcIjtcbmltcG9ydCB7IEJhc2VTdGVwIH0gZnJvbSBcIi4uL2Jhc2UvYmFzZS1zdGVwXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RlcENvbmZpZzxTIGV4dGVuZHMgWm9kVHlwZT4ge1xuICBuYW1lPzogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHNob3J0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGxvbmdEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgeWFtbEV4YW1wbGU/OiBzdHJpbmc7XG4gIHNjaGVtYTogUztcbn1cblxuLyoqXG4gKiBEZWNvcmF0b3IgdGhhdCBhZGRzIG1ldGFkYXRhIHRvIGEgc3RlcCBjbGFzcy5cbiAqIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGFsbCBzdGVwcyB0byBiZSByZWdpc3RlcmVkIHdpdGggU3RlcFJlZ2lzdHJ5LlxuICpcbiAqIFRoZSBkZWNvcmF0ZWQgY2xhc3MgbXVzdCBleHRlbmQgU2ltcGxlU3RlcCBvciBQb2xsaW5nU3RlcC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogQFN0ZXAoeyBuYW1lOiBcIk15IFN0ZXBcIiwgdHlwZTogXCJteS1zdGVwXCIsIHNjaGVtYTogbXlTY2hlbWEgfSlcbiAqIGNsYXNzIE15U3RlcCBleHRlbmRzIFNpbXBsZVN0ZXA8TXlQYXJhbXM+IHtcbiAqICAgYXN5bmMgcnVuKHBhcmFtczogTXlQYXJhbXMpOiBQcm9taXNlPFJ1bk91dHB1dD4ge1xuICogICAgIHJldHVybiBTdGVwT3V0cHV0cy5zdWNjZXNzKCk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gU3RlcDxTIGV4dGVuZHMgWm9kVHlwZT4oY29uZmlnOiBTdGVwQ29uZmlnPFM+KSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55W10pID0+IEJhc2VTdGVwPHouaW5mZXI8Uz4+PihcbiAgICBCYXNlOiBUXG4gICk6IFQge1xuICAgIGNvbnN0IEVuaGFuY2VkID0gY2xhc3MgZXh0ZW5kcyBCYXNlIHtcbiAgICAgIG92ZXJyaWRlIGdldE1ldGFkYXRhKCk6IFN0ZXBNZXRhZGF0YTxTPiB7XG4gICAgICAgIC8vIERldGVjdCBzdGVwIGtpbmQgYnkgY2hlY2tpbmcgZm9yIFBvbGxpbmdTdGVwIG1ldGhvZHNcbiAgICAgICAgY29uc3QgaGFzUG9sbGluZ01ldGhvZHMgPVxuICAgICAgICAgIFwidHJpZ2dlclwiIGluIHRoaXMgJiZcbiAgICAgICAgICB0eXBlb2YgKHRoaXMgYXMgYW55KS50cmlnZ2VyID09PSBcImZ1bmN0aW9uXCIgJiZcbiAgICAgICAgICBcInBvbGxcIiBpbiB0aGlzICYmXG4gICAgICAgICAgdHlwZW9mICh0aGlzIGFzIGFueSkucG9sbCA9PT0gXCJmdW5jdGlvblwiO1xuXG4gICAgICAgIGNvbnN0IHN0ZXBLaW5kOiBTdGVwS2luZCA9IGhhc1BvbGxpbmdNZXRob2RzID8gXCJwb2xsaW5nXCIgOiBcInNpbXBsZVwiO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHByZXBhcmUgaXMgb3ZlcnJpZGRlbiAobm90IHRoZSBkZWZhdWx0IEJhc2VTdGVwLnByZXBhcmUpXG4gICAgICAgIGNvbnN0IHJlcXVpcmVzQXBwcm92YWwgPSB0aGlzLnByZXBhcmUgIT09IEJhc2VTdGVwLnByb3RvdHlwZS5wcmVwYXJlO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZTogY29uZmlnLm5hbWUsXG4gICAgICAgICAgc3RlcFR5cGU6IGNvbmZpZy50eXBlLFxuICAgICAgICAgIHNob3J0RGVzY3JpcHRpb246IGNvbmZpZy5zaG9ydERlc2NyaXB0aW9uLFxuICAgICAgICAgIGxvbmdEZXNjcmlwdGlvbjogY29uZmlnLmxvbmdEZXNjcmlwdGlvbixcbiAgICAgICAgICB5YW1sRXhhbXBsZTogY29uZmlnLnlhbWxFeGFtcGxlLFxuICAgICAgICAgIHNjaGVtYTogY29uZmlnLnNjaGVtYSxcbiAgICAgICAgICBqc29uU2NoZW1hOiB6LnRvSlNPTlNjaGVtYShjb25maWcuc2NoZW1hKSxcbiAgICAgICAgICBzdGVwS2luZCxcbiAgICAgICAgICByZXF1aXJlc0FwcHJvdmFsLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gRW5oYW5jZWQgYXMgVDtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -2,275 +2,103 @@ import z from "zod";
|
|
|
2
2
|
export declare const ApprovalContextSchema: z.ZodObject<{
|
|
3
3
|
approved: z.ZodLiteral<true>;
|
|
4
4
|
approverId: z.ZodString;
|
|
5
|
-
},
|
|
6
|
-
approved: true;
|
|
7
|
-
approverId: string;
|
|
8
|
-
}, {
|
|
9
|
-
approved: true;
|
|
10
|
-
approverId: string;
|
|
11
|
-
}>;
|
|
5
|
+
}, z.core.$strip>;
|
|
12
6
|
export type ApprovalContext = z.infer<typeof ApprovalContextSchema>;
|
|
13
7
|
declare const FailedOutputSchema: z.ZodObject<{
|
|
14
8
|
status: z.ZodLiteral<"FAILED">;
|
|
15
9
|
error: z.ZodString;
|
|
16
10
|
errorCode: z.ZodOptional<z.ZodString>;
|
|
17
|
-
},
|
|
18
|
-
error: string;
|
|
19
|
-
status: "FAILED";
|
|
20
|
-
errorCode?: string | undefined;
|
|
21
|
-
}, {
|
|
22
|
-
error: string;
|
|
23
|
-
status: "FAILED";
|
|
24
|
-
errorCode?: string | undefined;
|
|
25
|
-
}>;
|
|
11
|
+
}, z.core.$strip>;
|
|
26
12
|
declare const SuccessOutputSchema: z.ZodObject<{
|
|
27
13
|
status: z.ZodLiteral<"SUCCESS">;
|
|
28
14
|
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
29
|
-
},
|
|
30
|
-
status: "SUCCESS";
|
|
31
|
-
data?: Record<string, any> | undefined;
|
|
32
|
-
}, {
|
|
33
|
-
status: "SUCCESS";
|
|
34
|
-
data?: Record<string, any> | undefined;
|
|
35
|
-
}>;
|
|
15
|
+
}, z.core.$strip>;
|
|
36
16
|
export type FailedOutput = z.infer<typeof FailedOutputSchema>;
|
|
37
17
|
export type SuccessOutput = z.infer<typeof SuccessOutputSchema>;
|
|
38
18
|
declare const ApprovalRequiredOutputSchema: z.ZodObject<{
|
|
39
19
|
status: z.ZodLiteral<"APPROVAL_REQUIRED">;
|
|
40
20
|
approvalRequest: z.ZodObject<{
|
|
41
21
|
message: z.ZodString;
|
|
42
|
-
approvers: z.ZodOptional<z.ZodArray<z.ZodString
|
|
22
|
+
approvers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
23
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
metadata?: Record<string, any> | undefined;
|
|
48
|
-
}, {
|
|
49
|
-
message: string;
|
|
50
|
-
approvers?: string[] | undefined;
|
|
51
|
-
metadata?: Record<string, any> | undefined;
|
|
52
|
-
}>;
|
|
53
|
-
}, "strip", z.ZodTypeAny, {
|
|
54
|
-
status: "APPROVAL_REQUIRED";
|
|
55
|
-
approvalRequest: {
|
|
56
|
-
message: string;
|
|
57
|
-
approvers?: string[] | undefined;
|
|
58
|
-
metadata?: Record<string, any> | undefined;
|
|
59
|
-
};
|
|
60
|
-
}, {
|
|
61
|
-
status: "APPROVAL_REQUIRED";
|
|
62
|
-
approvalRequest: {
|
|
63
|
-
message: string;
|
|
64
|
-
approvers?: string[] | undefined;
|
|
65
|
-
metadata?: Record<string, any> | undefined;
|
|
66
|
-
};
|
|
67
|
-
}>;
|
|
68
|
-
export declare const PrepareOutputSchema: z.ZodDiscriminatedUnion<"status", [z.ZodObject<{
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
export declare const PrepareOutputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
69
27
|
status: z.ZodLiteral<"APPROVAL_REQUIRED">;
|
|
70
28
|
approvalRequest: z.ZodObject<{
|
|
71
29
|
message: z.ZodString;
|
|
72
|
-
approvers: z.ZodOptional<z.ZodArray<z.ZodString
|
|
30
|
+
approvers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
73
31
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
74
|
-
},
|
|
75
|
-
|
|
76
|
-
approvers?: string[] | undefined;
|
|
77
|
-
metadata?: Record<string, any> | undefined;
|
|
78
|
-
}, {
|
|
79
|
-
message: string;
|
|
80
|
-
approvers?: string[] | undefined;
|
|
81
|
-
metadata?: Record<string, any> | undefined;
|
|
82
|
-
}>;
|
|
83
|
-
}, "strip", z.ZodTypeAny, {
|
|
84
|
-
status: "APPROVAL_REQUIRED";
|
|
85
|
-
approvalRequest: {
|
|
86
|
-
message: string;
|
|
87
|
-
approvers?: string[] | undefined;
|
|
88
|
-
metadata?: Record<string, any> | undefined;
|
|
89
|
-
};
|
|
90
|
-
}, {
|
|
91
|
-
status: "APPROVAL_REQUIRED";
|
|
92
|
-
approvalRequest: {
|
|
93
|
-
message: string;
|
|
94
|
-
approvers?: string[] | undefined;
|
|
95
|
-
metadata?: Record<string, any> | undefined;
|
|
96
|
-
};
|
|
97
|
-
}>, z.ZodObject<{
|
|
32
|
+
}, z.core.$strip>;
|
|
33
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
98
34
|
status: z.ZodLiteral<"FAILED">;
|
|
99
35
|
error: z.ZodString;
|
|
100
36
|
errorCode: z.ZodOptional<z.ZodString>;
|
|
101
|
-
},
|
|
102
|
-
error: string;
|
|
103
|
-
status: "FAILED";
|
|
104
|
-
errorCode?: string | undefined;
|
|
105
|
-
}, {
|
|
106
|
-
error: string;
|
|
107
|
-
status: "FAILED";
|
|
108
|
-
errorCode?: string | undefined;
|
|
109
|
-
}>]>;
|
|
37
|
+
}, z.core.$strip>], "status">;
|
|
110
38
|
export type ApprovalRequiredOutput = z.infer<typeof ApprovalRequiredOutputSchema>;
|
|
111
39
|
export type PrepareOutput = z.infer<typeof PrepareOutputSchema>;
|
|
112
|
-
export declare const RunOutputSchema: z.ZodDiscriminatedUnion<
|
|
40
|
+
export declare const RunOutputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
113
41
|
status: z.ZodLiteral<"SUCCESS">;
|
|
114
42
|
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
115
|
-
},
|
|
116
|
-
status: "SUCCESS";
|
|
117
|
-
data?: Record<string, any> | undefined;
|
|
118
|
-
}, {
|
|
119
|
-
status: "SUCCESS";
|
|
120
|
-
data?: Record<string, any> | undefined;
|
|
121
|
-
}>, z.ZodObject<{
|
|
43
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
122
44
|
status: z.ZodLiteral<"FAILED">;
|
|
123
45
|
error: z.ZodString;
|
|
124
46
|
errorCode: z.ZodOptional<z.ZodString>;
|
|
125
|
-
},
|
|
126
|
-
error: string;
|
|
127
|
-
status: "FAILED";
|
|
128
|
-
errorCode?: string | undefined;
|
|
129
|
-
}, {
|
|
130
|
-
error: string;
|
|
131
|
-
status: "FAILED";
|
|
132
|
-
errorCode?: string | undefined;
|
|
133
|
-
}>]>;
|
|
47
|
+
}, z.core.$strip>], "status">;
|
|
134
48
|
export type RunOutput = z.infer<typeof RunOutputSchema>;
|
|
135
|
-
export declare const TriggerOutputSchema: z.ZodDiscriminatedUnion<
|
|
49
|
+
export declare const TriggerOutputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
136
50
|
status: z.ZodLiteral<"TRIGGERED">;
|
|
137
51
|
pollingState: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
138
|
-
},
|
|
139
|
-
status: "TRIGGERED";
|
|
140
|
-
pollingState: Record<string, any>;
|
|
141
|
-
}, {
|
|
142
|
-
status: "TRIGGERED";
|
|
143
|
-
pollingState: Record<string, any>;
|
|
144
|
-
}>, z.ZodObject<{
|
|
52
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
145
53
|
status: z.ZodLiteral<"FAILED">;
|
|
146
54
|
error: z.ZodString;
|
|
147
55
|
errorCode: z.ZodOptional<z.ZodString>;
|
|
148
|
-
},
|
|
149
|
-
error: string;
|
|
150
|
-
status: "FAILED";
|
|
151
|
-
errorCode?: string | undefined;
|
|
152
|
-
}, {
|
|
153
|
-
error: string;
|
|
154
|
-
status: "FAILED";
|
|
155
|
-
errorCode?: string | undefined;
|
|
156
|
-
}>]>;
|
|
56
|
+
}, z.core.$strip>], "status">;
|
|
157
57
|
export type TriggeredOutput<TPollingState = Record<string, unknown>> = {
|
|
158
58
|
status: "TRIGGERED";
|
|
159
59
|
pollingState: TPollingState;
|
|
160
60
|
};
|
|
161
61
|
export type TriggerOutput<TPollingState = Record<string, unknown>> = TriggeredOutput<TPollingState> | FailedOutput;
|
|
162
|
-
export declare const PollOutputSchema: z.ZodDiscriminatedUnion<
|
|
62
|
+
export declare const PollOutputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
163
63
|
status: z.ZodLiteral<"POLL_AGAIN">;
|
|
164
64
|
pollingState: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
165
65
|
retryAfterMs: z.ZodOptional<z.ZodNumber>;
|
|
166
|
-
},
|
|
167
|
-
status: "POLL_AGAIN";
|
|
168
|
-
pollingState: Record<string, any>;
|
|
169
|
-
retryAfterMs?: number | undefined;
|
|
170
|
-
}, {
|
|
171
|
-
status: "POLL_AGAIN";
|
|
172
|
-
pollingState: Record<string, any>;
|
|
173
|
-
retryAfterMs?: number | undefined;
|
|
174
|
-
}>, z.ZodObject<{
|
|
66
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
175
67
|
status: z.ZodLiteral<"SUCCESS">;
|
|
176
68
|
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
177
|
-
},
|
|
178
|
-
status: "SUCCESS";
|
|
179
|
-
data?: Record<string, any> | undefined;
|
|
180
|
-
}, {
|
|
181
|
-
status: "SUCCESS";
|
|
182
|
-
data?: Record<string, any> | undefined;
|
|
183
|
-
}>, z.ZodObject<{
|
|
69
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
184
70
|
status: z.ZodLiteral<"FAILED">;
|
|
185
71
|
error: z.ZodString;
|
|
186
72
|
errorCode: z.ZodOptional<z.ZodString>;
|
|
187
|
-
},
|
|
188
|
-
error: string;
|
|
189
|
-
status: "FAILED";
|
|
190
|
-
errorCode?: string | undefined;
|
|
191
|
-
}, {
|
|
192
|
-
error: string;
|
|
193
|
-
status: "FAILED";
|
|
194
|
-
errorCode?: string | undefined;
|
|
195
|
-
}>]>;
|
|
73
|
+
}, z.core.$strip>], "status">;
|
|
196
74
|
export type PollAgainOutput<TPollingState = Record<string, unknown>> = {
|
|
197
75
|
status: "POLL_AGAIN";
|
|
198
76
|
pollingState: TPollingState;
|
|
199
77
|
retryAfterMs?: number;
|
|
200
78
|
};
|
|
201
79
|
export type PollOutput<TPollingState = Record<string, unknown>> = PollAgainOutput<TPollingState> | SuccessOutput | FailedOutput;
|
|
202
|
-
export declare const StepOutputSchema: z.ZodDiscriminatedUnion<
|
|
80
|
+
export declare const StepOutputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
203
81
|
status: z.ZodLiteral<"SUCCESS">;
|
|
204
82
|
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
205
|
-
},
|
|
206
|
-
status: "SUCCESS";
|
|
207
|
-
data?: Record<string, any> | undefined;
|
|
208
|
-
}, {
|
|
209
|
-
status: "SUCCESS";
|
|
210
|
-
data?: Record<string, any> | undefined;
|
|
211
|
-
}>, z.ZodObject<{
|
|
83
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
212
84
|
status: z.ZodLiteral<"FAILED">;
|
|
213
85
|
error: z.ZodString;
|
|
214
86
|
errorCode: z.ZodOptional<z.ZodString>;
|
|
215
|
-
},
|
|
216
|
-
error: string;
|
|
217
|
-
status: "FAILED";
|
|
218
|
-
errorCode?: string | undefined;
|
|
219
|
-
}, {
|
|
220
|
-
error: string;
|
|
221
|
-
status: "FAILED";
|
|
222
|
-
errorCode?: string | undefined;
|
|
223
|
-
}>, z.ZodObject<{
|
|
87
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
224
88
|
status: z.ZodLiteral<"APPROVAL_REQUIRED">;
|
|
225
89
|
approvalRequest: z.ZodObject<{
|
|
226
90
|
message: z.ZodString;
|
|
227
|
-
approvers: z.ZodOptional<z.ZodArray<z.ZodString
|
|
91
|
+
approvers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
228
92
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
229
|
-
},
|
|
230
|
-
|
|
231
|
-
approvers?: string[] | undefined;
|
|
232
|
-
metadata?: Record<string, any> | undefined;
|
|
233
|
-
}, {
|
|
234
|
-
message: string;
|
|
235
|
-
approvers?: string[] | undefined;
|
|
236
|
-
metadata?: Record<string, any> | undefined;
|
|
237
|
-
}>;
|
|
238
|
-
}, "strip", z.ZodTypeAny, {
|
|
239
|
-
status: "APPROVAL_REQUIRED";
|
|
240
|
-
approvalRequest: {
|
|
241
|
-
message: string;
|
|
242
|
-
approvers?: string[] | undefined;
|
|
243
|
-
metadata?: Record<string, any> | undefined;
|
|
244
|
-
};
|
|
245
|
-
}, {
|
|
246
|
-
status: "APPROVAL_REQUIRED";
|
|
247
|
-
approvalRequest: {
|
|
248
|
-
message: string;
|
|
249
|
-
approvers?: string[] | undefined;
|
|
250
|
-
metadata?: Record<string, any> | undefined;
|
|
251
|
-
};
|
|
252
|
-
}>, z.ZodObject<{
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
253
95
|
status: z.ZodLiteral<"TRIGGERED">;
|
|
254
96
|
pollingState: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
255
|
-
},
|
|
256
|
-
status: "TRIGGERED";
|
|
257
|
-
pollingState: Record<string, any>;
|
|
258
|
-
}, {
|
|
259
|
-
status: "TRIGGERED";
|
|
260
|
-
pollingState: Record<string, any>;
|
|
261
|
-
}>, z.ZodObject<{
|
|
97
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
262
98
|
status: z.ZodLiteral<"POLL_AGAIN">;
|
|
263
99
|
pollingState: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
264
100
|
retryAfterMs: z.ZodOptional<z.ZodNumber>;
|
|
265
|
-
},
|
|
266
|
-
status: "POLL_AGAIN";
|
|
267
|
-
pollingState: Record<string, any>;
|
|
268
|
-
retryAfterMs?: number | undefined;
|
|
269
|
-
}, {
|
|
270
|
-
status: "POLL_AGAIN";
|
|
271
|
-
pollingState: Record<string, any>;
|
|
272
|
-
retryAfterMs?: number | undefined;
|
|
273
|
-
}>]>;
|
|
101
|
+
}, z.core.$strip>], "status">;
|
|
274
102
|
export type StepOutput = z.infer<typeof StepOutputSchema>;
|
|
275
103
|
export declare const StepOutputs: {
|
|
276
104
|
success(data?: Record<string, unknown>): SuccessOutput;
|
|
@@ -1,45 +1,17 @@
|
|
|
1
1
|
import z from "zod";
|
|
2
2
|
import type { StepClass } from "../base/base-step";
|
|
3
|
-
export declare const StepRegistryInputSchema: z.ZodDiscriminatedUnion<
|
|
3
|
+
export declare const StepRegistryInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
4
4
|
job: z.ZodLiteral<"EXECUTE">;
|
|
5
5
|
type: z.ZodString;
|
|
6
6
|
params: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
7
7
|
approvalContext: z.ZodOptional<z.ZodObject<{
|
|
8
8
|
approved: z.ZodLiteral<true>;
|
|
9
9
|
approverId: z.ZodString;
|
|
10
|
-
},
|
|
11
|
-
approved: true;
|
|
12
|
-
approverId: string;
|
|
13
|
-
}, {
|
|
14
|
-
approved: true;
|
|
15
|
-
approverId: string;
|
|
16
|
-
}>>;
|
|
10
|
+
}, z.core.$strip>>;
|
|
17
11
|
pollingState: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
18
|
-
},
|
|
19
|
-
params: Record<string, any>;
|
|
20
|
-
type: string;
|
|
21
|
-
job: "EXECUTE";
|
|
22
|
-
pollingState?: Record<string, any> | undefined;
|
|
23
|
-
approvalContext?: {
|
|
24
|
-
approved: true;
|
|
25
|
-
approverId: string;
|
|
26
|
-
} | undefined;
|
|
27
|
-
}, {
|
|
28
|
-
params: Record<string, any>;
|
|
29
|
-
type: string;
|
|
30
|
-
job: "EXECUTE";
|
|
31
|
-
pollingState?: Record<string, any> | undefined;
|
|
32
|
-
approvalContext?: {
|
|
33
|
-
approved: true;
|
|
34
|
-
approverId: string;
|
|
35
|
-
} | undefined;
|
|
36
|
-
}>, z.ZodObject<{
|
|
12
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
37
13
|
job: z.ZodLiteral<"SYNTHESIZE-METADATA">;
|
|
38
|
-
},
|
|
39
|
-
job: "SYNTHESIZE-METADATA";
|
|
40
|
-
}, {
|
|
41
|
-
job: "SYNTHESIZE-METADATA";
|
|
42
|
-
}>]>;
|
|
14
|
+
}, z.core.$strip>], "job">;
|
|
43
15
|
export type StepRegistryInput = z.infer<typeof StepRegistryInputSchema>;
|
|
44
16
|
export declare class StepRegistry {
|
|
45
17
|
private steps;
|
|
@@ -82,7 +82,7 @@ class StepRegistry {
|
|
|
82
82
|
for (const StepCls of steps) {
|
|
83
83
|
const instance = new StepCls();
|
|
84
84
|
const metadata = instance.getMetadata();
|
|
85
|
-
this.steps.set(metadata.
|
|
85
|
+
this.steps.set(metadata.stepType, StepCls);
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
@@ -149,7 +149,7 @@ class StepRegistry {
|
|
|
149
149
|
const logger = new step_logger_1.StepLogger({
|
|
150
150
|
logDir: this.logDir,
|
|
151
151
|
executionId: this.executionId,
|
|
152
|
-
stepType: metadata.
|
|
152
|
+
stepType: metadata.stepType,
|
|
153
153
|
});
|
|
154
154
|
instance._setLogger(logger);
|
|
155
155
|
// Validate params against the step's schema
|
|
@@ -235,4 +235,4 @@ class StepRegistry {
|
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
exports.StepRegistry = StepRegistry;
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWdpc3RyeS9zdGVwLXJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0Isd0RBQWdDO0FBQ2hDLDhDQUFvQjtBQUlwQix3REFBb0Q7QUFJcEQsdURBRytCO0FBRS9CLGdGQUFnRjtBQUNoRixnQkFBZ0I7QUFDaEIsZ0ZBQWdGO0FBRWhGLE1BQU0sNEJBQTRCLEdBQUcsYUFBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxHQUFHLEVBQUUsYUFBQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztDQUN0QyxDQUFDLENBQUM7QUFFSCxNQUFNLHlCQUF5QixHQUFHLGFBQUMsQ0FBQyxNQUFNLENBQUM7SUFDekMsR0FBRyxFQUFFLGFBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3pCLElBQUksRUFBRSxhQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLE1BQU0sRUFBRSxhQUFDLENBQUMsTUFBTSxDQUFDLGFBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDckMsNERBQTREO0lBQzVELGVBQWUsRUFBRSxtQ0FBcUIsQ0FBQyxRQUFRLEVBQUU7SUFDakQsWUFBWSxFQUFFLGFBQUMsQ0FBQyxNQUFNLENBQUMsYUFBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLGFBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUN2RCxDQUFDLENBQUM7QUFFVSxRQUFBLHVCQUF1QixHQUFHLGFBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7SUFDakUseUJBQXlCO0lBQ3pCLDRCQUE0QjtDQUM3QixDQUFDLENBQUM7QUFJSCxnRkFBZ0Y7QUFDaEYsZ0JBQWdCO0FBQ2hCLGdGQUFn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UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN0Qix3Q0FBd0M7WUFDeEMsT0FBTyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLHNEQUFzRDtZQUN0RCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUVELGdEQUFnRDtRQUNoRCxPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTyxXQUFXLENBQUMsTUFBa0I7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM5QixFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFFRCxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUNGO0FBOVBELG9DQThQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IG1pbmltaXN0IGZyb20gXCJtaW5pbWlzdFwiO1xuaW1wb3J0IHogZnJvbSBcInpvZFwiO1xuaW1wb3J0IHR5cGUgeyBCYXNlU3RlcCwgU3RlcENsYXNzLCBTdGVwTWV0YWRhdGEgfSBmcm9tIFwiLi4vYmFzZS9iYXNlLXN0ZXBcIjtcbmltcG9ydCB0eXBlIHsgU2ltcGxlU3RlcCB9IGZyb20gXCIuLi9iYXNlL3NpbXBsZS1zdGVwXCI7XG5pbXBvcnQgdHlwZSB7IFBvbGxpbmdTdGVwIH0gZnJvbSBcIi4uL2Jhc2UvcG9sbGluZy1zdGVwXCI7XG5pbXBvcnQgeyBTdGVwTG9nZ2VyIH0gZnJvbSBcIi4uL2xvZ2dpbmcvc3RlcC1sb2dnZXJcIjtcbmltcG9ydCB0eXBlIHtcbiAgQXBwcm92YWxDb250ZXh0LFxuICBTdGVwT3V0cHV0fSBmcm9tIFwiLi4vb3V0cHV0L3N0ZXAtb3V0cHV0XCI7XG5pbXBvcnQge1xuICBBcHByb3ZhbENvbnRleHRTY2hlbWEsXG4gIFN0ZXBPdXRwdXRzLFxufSBmcm9tIFwiLi4vb3V0cHV0L3N0ZXAtb3V0cHV0XCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJbnB1dCBTY2hlbWFzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBTdGVwUmVnaXN0cnlTeW50aGVzaXplU2NoZW1hID0gei5vYmplY3Qoe1xuICBqb2I6IHoubGl0ZXJhbChcIlNZTlRIRVNJWkUtTUVUQURBVEFcIiksXG59KTtcblxuY29uc3QgU3RlcFJlZ2lzdHJ5RXhlY3V0ZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgam9iOiB6LmxpdGVyYWwoXCJFWEVDVVRFXCIpLFxuICB0eXBlOiB6LnN0cmluZygpLFxuICBwYXJhbXM6IHoucmVjb3JkKHouc3RyaW5nKCksIHouYW55KCkpLFxuICAvLyBPcHRpb25hbCBjb250ZXh0IC0gcHJlc2VuY2UgZGV0ZXJtaW5lcyB3aGljaCBwaGFzZSB0byBydW5cbiAgYXBwcm92YWxDb250ZXh0OiBBcHByb3ZhbENvbnRleHRTY2hlbWEub3B0aW9uYWwoKSxcbiAgcG9sbGluZ1N0YXRlOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LmFueSgpKS5vcHRpb25hbCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTdGVwUmVnaXN0cnlJbnB1dFNjaGVtYSA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFwiam9iXCIsIFtcbiAgU3RlcFJlZ2lzdHJ5RXhlY3V0ZVNjaGVtYSxcbiAgU3RlcFJlZ2lzdHJ5U3ludGhlc2l6ZVNjaGVtYSxcbl0pO1xuXG5leHBvcnQgdHlwZSBTdGVwUmVnaXN0cnlJbnB1dCA9IHouaW5mZXI8dHlwZW9mIFN0ZXBSZWdpc3RyeUlucHV0U2NoZW1hPjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbmZpZ3VyYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IERFRkFVTFRfT1VUUFVUX1BBVEggPSBcIi90bXAvc3RlcC1vdXRwdXQuanNvblwiO1xuY29uc3QgREVGQVVMVF9MT0dfRElSID0gXCIvdG1wL3N0ZXAtbG9nc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3RlcFJlZ2lzdHJ5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY2xhc3MgU3RlcFJlZ2lzdHJ5IHtcbiAgcHJpdmF0ZSBzdGVwczogTWFwPHN0cmluZywgU3RlcENsYXNzPjtcbiAgcHJpdmF0ZSBvdXRwdXRQYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgbG9nRGlyOiBzdHJpbmc7XG4gIHByaXZhdGUgZXhlY3V0aW9uSWQ6IHN0cmluZztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHN0ZXBzOiBTdGVwQ2xhc3NbXSxcbiAgICBvdXRwdXRQYXRoOiBzdHJpbmcsXG4gICAgbG9nRGlyOiBzdHJpbmcsXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZ1xuICApIHtcbiAgICB0aGlzLnN0ZXBzID0gbmV3IE1hcCgpO1xuICAgIHRoaXMub3V0cHV0UGF0aCA9IG91dHB1dFBhdGg7XG4gICAgdGhpcy5sb2dEaXIgPSBsb2dEaXI7XG4gICAgdGhpcy5leGVjdXRpb25JZCA9IGV4ZWN1dGlvbklkO1xuXG4gICAgZm9yIChjb25zdCBTdGVwQ2xzIG9mIHN0ZXBzKSB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTdGVwQ2xzKCk7XG4gICAgICBjb25zdCBtZXRhZGF0YSA9IGluc3RhbmNlLmdldE1ldGFkYXRhKCk7XG4gICAgICB0aGlzLnN0ZXBzLnNldChtZXRhZGF0YS50eXBlLCBTdGVwQ2xzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFpbiBlbnRyeXBvaW50IGZvciBydW5uaW5nIHN0ZXBzLlxuICAgKiBQYXJzZXMgQ0xJIGFyZ3MgYW5kIGVpdGhlciBzeW50aGVzaXplcyBtZXRhZGF0YSBvciBleGVjdXRlcyBhIHN0ZXAuXG4gICAqXG4gICAqIFVzYWdlIGluIHVzZXIncyBlbnRyeXBvaW50IGZpbGU6XG4gICAqIGBgYFxuICAgKiBTdGVwUmVnaXN0cnkucnVuKFtNeVN0ZXAxLCBNeVN0ZXAyLCAuLi5dKTtcbiAgICogYGBgXG4gICAqXG4gICAqIENMSSBhcmd1bWVudHM6XG4gICAqIC0gLS1pbnB1dDogSlNPTiBibG9iIHdpdGggam9iIHR5cGUgYW5kIHBhcmFtZXRlcnNcbiAgICogLSAtLW91dHB1dDogUGF0aCB0byB3cml0ZSBvdXRwdXQgSlNPTiAoZGVmYXVsdDogL3RtcC9zdGVwLW91dHB1dC5qc29uKVxuICAgKiAtIC0tbG9nLWRpcjogRGlyZWN0b3J5IGZvciBsb2cgZmlsZXMgKGRlZmF1bHQ6IC90bXAvc3RlcC1sb2dzKVxuICAgKiAtIC0tZXhlY3V0aW9uLWlkOiBVbmlxdWUgSUQgZm9yIHRoaXMgZXhlY3V0aW9uIChyZXF1aXJlZCBmb3IgbG9nZ2luZylcbiAgICovXG4gIHN0YXRpYyBhc3luYyBydW4oc3RlcHM6IFN0ZXBDbGFzc1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYXJncyA9IG1pbmltaXN0KHByb2Nlc3MuYXJndi5zbGljZSgyKSk7XG4gICAgY29uc3Qgb3V0cHV0UGF0aCA9IGFyZ3NbXCJvdXRwdXRcIl0gfHwgREVGQVVMVF9PVVRQVVRfUEFUSDtcbiAgICBjb25zdCBsb2dEaXIgPSBhcmdzW1wibG9nLWRpclwiXSB8fCBERUZBVUxUX0xPR19ESVI7XG4gICAgY29uc3QgZXhlY3V0aW9uSWQgPSBhcmdzW1wiZXhlY3V0aW9uLWlkXCJdIHx8IGBleGVjLSR7RGF0ZS5ub3coKX1gO1xuXG4gICAgY29uc3QgcmVnaXN0cnkgPSBuZXcgU3RlcFJlZ2lzdHJ5KHN0ZXBzLCBvdXRwdXRQYXRoLCBsb2dEaXIsIGV4ZWN1dGlvbklkKTtcbiAgICBhd2FpdCByZWdpc3RyeS5leGVjdXRlKGFyZ3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlKGFyZ3M6IG1pbmltaXN0LlBhcnNlZEFyZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaW5wdXQgPSBTdGVwUmVnaXN0cnlJbnB1dFNjaGVtYS5wYXJzZShKU09OLnBhcnNlKGFyZ3NbXCJpbnB1dFwiXSkpO1xuXG4gICAgICBzd2l0Y2ggKGlucHV0LmpvYikge1xuICAgICAgICBjYXNlIFwiU1lOVEhFU0laRS1NRVRBREFUQVwiOiB7XG4gICAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLnN5bnRoZXNpemVNZXRhZGF0YSgpO1xuICAgICAgICAgIHRoaXMud3JpdGVPdXRwdXQoeyBzdGF0dXM6IFwiU1VDQ0VTU1wiLCBkYXRhOiB7IG1ldGFkYXRhIH0gfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIFwiRVhFQ1VURVwiOiB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5leGVjdXRlU3RlcChcbiAgICAgICAgICAgIGlucHV0LnR5cGUsXG4gICAgICAgICAgICBpbnB1dC5wYXJhbXMsXG4gICAgICAgICAgICBpbnB1dC5hcHByb3ZhbENvbnRleHQsXG4gICAgICAgICAgICBpbnB1dC5wb2xsaW5nU3RhdGVcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9XG4gICAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKTtcbiAgICAgIHRoaXMud3JpdGVPdXRwdXQoU3RlcE91dHB1dHMuZmFpbGVkKGVycm9yTWVzc2FnZSwgXCJSRUdJU1RSWV9FUlJPUlwiKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzeW50aGVzaXplTWV0YWRhdGEoKTogU3RlcE1ldGFkYXRhW10ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBTdGVwTWV0YWRhdGFbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBTdGVwQ2xzIG9mIHRoaXMuc3RlcHMudmFsdWVzKCkpIHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFN0ZXBDbHMoKTtcbiAgICAgIG1ldGFkYXRhLnB1c2goaW5zdGFuY2UuZ2V0TWV0YWRhdGEoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGFkYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlU3RlcChcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICBhcHByb3ZhbENvbnRleHQ/OiBBcHByb3ZhbENvbnRleHQsXG4gICAgcG9sbGluZ1N0YXRlPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgU3RlcENscyA9IHRoaXMuc3RlcHMuZ2V0KHR5cGUpO1xuXG4gICAgaWYgKCFTdGVwQ2xzKSB7XG4gICAgICB0aGlzLndyaXRlT3V0cHV0KFxuICAgICAgICBTdGVwT3V0cHV0cy5mYWlsZWQoYE5vIHN0ZXAgcmVnaXN0ZXJlZCB3aXRoIHR5cGU6ICR7dHlwZX1gLCBcIlNURVBfTk9UX0ZPVU5EXCIpXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBTdGVwQ2xzKCk7XG4gICAgICBjb25zdCBtZXRhZGF0YSA9IGluc3RhbmNlLmdldE1ldGFkYXRhKCk7XG5cbiAgICAgIC8vIEluamVjdCBsb2dnZXJcbiAgICAgIGNvbnN0IGxvZ2dlciA9IG5ldyBTdGVwTG9nZ2VyKHtcbiAgICAgICAgbG9nRGlyOiB0aGlzLmxvZ0RpcixcbiAgICAgICAgZXhlY3V0aW9uSWQ6IHRoaXMuZXhlY3V0aW9uSWQsXG4gICAgICAgIHN0ZXBUeXBlOiBtZXRhZGF0YS50eXBlLFxuICAgICAgfSk7XG4gICAgICBpbnN0YW5jZS5fc2V0TG9nZ2VyKGxvZ2dlcik7XG5cbiAgICAgIC8vIFZhbGlkYXRlIHBhcmFtcyBhZ2FpbnN0IHRoZSBzdGVwJ3Mgc2NoZW1hXG4gICAgICBjb25zdCBwYXJzZVJlc3VsdCA9IG1ldGFkYXRhLnNjaGVtYS5zYWZlUGFyc2UocGFyYW1zKTtcbiAgICAgIGlmICghcGFyc2VSZXN1bHQuc3VjY2Vzcykge1xuICAgICAgICB0aGlzLndyaXRlT3V0cHV0KFxuICAgICAgICAgIFN0ZXBPdXRwdXRzLmZhaWxlZChcbiAgICAgICAgICAgIGBJbnZhbGlkIHBhcmFtczogJHtwYXJzZVJlc3VsdC5lcnJvci5tZXNzYWdlfWAsXG4gICAgICAgICAgICBcIklOVkFMSURfUEFSQU1TXCJcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsaWRhdGVkUGFyYW1zID0gcGFyc2VSZXN1bHQuZGF0YTtcblxuICAgICAgLy8gUm91dGUgdG8gYXBwcm9wcmlhdGUgcGhhc2UgYmFzZWQgb24gc3RlcCBraW5kIGFuZCBpbnB1dCBjb250ZXh0XG4gICAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCB0aGlzLnJvdXRlRXhlY3V0aW9uKFxuICAgICAgICBpbnN0YW5jZSxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIHZhbGlkYXRlZFBhcmFtcyxcbiAgICAgICAgYXBwcm92YWxDb250ZXh0LFxuICAgICAgICBwb2xsaW5nU3RhdGVcbiAgICAgICk7XG5cbiAgICAgIHRoaXMud3JpdGVPdXRwdXQob3V0cHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID1cbiAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICAgICAgdGhpcy53cml0ZU91dHB1dChTdGVwT3V0cHV0cy5mYWlsZWQoZXJyb3JNZXNzYWdlLCBcIkVYRUNVVElPTl9FUlJPUlwiKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByb3V0ZUV4ZWN1dGlvbihcbiAgICBpbnN0YW5jZTogQmFzZVN0ZXA8dW5rbm93bj4sXG4gICAgbWV0YWRhdGE6IFN0ZXBNZXRhZGF0YSxcbiAgICBwYXJhbXM6IHVua25vd24sXG4gICAgYXBwcm92YWxDb250ZXh0PzogQXBwcm92YWxDb250ZXh0LFxuICAgIHBvbGxpbmdTdGF0ZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IFByb21pc2U8U3RlcE91dHB1dD4ge1xuICAgIGNvbnN0IHJlcXVpcmVzQXBwcm92YWwgPSBtZXRhZGF0YS5yZXF1aXJlc0FwcHJvdmFsO1xuXG4gICAgaWYgKG1ldGFkYXRhLnN0ZXBLaW5kID09PSBcInNpbXBsZVwiKSB7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZVNpbXBsZVN0ZXAoXG4gICAgICAgIGluc3RhbmNlIGFzIFNpbXBsZVN0ZXA8dW5rbm93bj4sXG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgcmVxdWlyZXNBcHByb3ZhbCxcbiAgICAgICAgYXBwcm92YWxDb250ZXh0XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtZXRhZGF0YS5zdGVwS2luZCA9PT0gXCJwb2xsaW5nXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlUG9sbGluZ1N0ZXAoXG4gICAgICAgIGluc3RhbmNlIGFzIFBvbGxpbmdTdGVwPHVua25vd24sIFJlY29yZDxzdHJpbmcsIHVua25vd24+PixcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICByZXF1aXJlc0FwcHJvdmFsLFxuICAgICAgICBhcHByb3ZhbENvbnRleHQsXG4gICAgICAgIHBvbGxpbmdTdGF0ZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RlcE91dHB1dHMuZmFpbGVkKFxuICAgICAgYFVua25vd24gc3RlcCBraW5kOiAke21ldGFkYXRhLnN0ZXBLaW5kfWAsXG4gICAgICBcIlVOS05PV05fU1RFUF9LSU5EXCJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvdXRlIFNpbXBsZVN0ZXAgZXhlY3V0aW9uIGJhc2VkIG9uIGFwcHJvdmFsIHN0YXRlLlxuICAgKlxuICAgKiB8IHJlcXVpcmVzQXBwcm92YWwgfCBhcHByb3ZhbENvbnRleHQgcHJvdmlkZWQ/IHwgQWN0aW9uICAgICAgICAgICAgICB8XG4gICAqIHwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAgICogfCBObyAgICAgICAgICAgICAgIHwgLSAgICAgICAgICAgICAgICAgICAgICAgICB8IENhbGwgcnVuKHBhcmFtcykgICAgfFxuICAgKiB8IFllcyAgICAgICAgICAgICAgfCBObyAgICAgICAgICAgICAgICAgICAgICAgIHwgQ2FsbCBwcmVwYXJlKHBhcmFtcyl8XG4gICAqIHwgWWVzICAgICAgICAgICAgICB8IFllcyAgICAgICAgICAgICAgICAgICAgICAgfCBDYWxsIHJ1bihwYXJhbXMsIGFwcHJvdmFsKSB8XG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHJvdXRlU2ltcGxlU3RlcChcbiAgICBpbnN0YW5jZTogU2ltcGxlU3RlcDx1bmtub3duPixcbiAgICBwYXJhbXM6IHVua25vd24sXG4gICAgcmVxdWlyZXNBcHByb3ZhbDogYm9vbGVhbixcbiAgICBhcHByb3ZhbENvbnRleHQ/OiBBcHByb3ZhbENvbnRleHRcbiAgKTogUHJvbWlzZTxTdGVwT3V0cHV0PiB7XG4gICAgaWYgKCFyZXF1aXJlc0FwcHJvdmFsKSB7XG4gICAgICAvLyBObyBhcHByb3ZhbCBuZWVkZWQgLSBqdXN0IHJ1blxuICAgICAgcmV0dXJuIGluc3RhbmNlLmV4ZWN1dGUocGFyYW1zLCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIGlmICghYXBwcm92YWxDb250ZXh0KSB7XG4gICAgICAvLyBOZWVkcyBhcHByb3ZhbCBidXQgZG9uJ3QgaGF2ZSBpdCB5ZXQgLSBjYWxsIHByZXBhcmVcbiAgICAgIHJldHVybiBpbnN0YW5jZS5wcmVwYXJlKHBhcmFtcyk7XG4gICAgfVxuXG4gICAgLy8gSGF2ZSBhcHByb3ZhbCAtIHJ1biB3aXRoIGFwcHJvdmFsIGNvbnRleHRcbiAgICByZXR1cm4gaW5zdGFuY2UuZXhlY3V0ZShwYXJhbXMsIGFwcHJvdmFsQ29udGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogUm91dGUgUG9sbGluZ1N0ZXAgZXhlY3V0aW9uIGJhc2VkIG9uIGFwcHJvdmFsIGFuZCBwb2xsaW5nIHN0YXRlLlxuICAgKlxuICAgKiB8IHJlcXVpcmVzQXBwcm92YWwgfCBhcHByb3ZhbENvbnRleHQ/IHwgcG9sbGluZ1N0YXRlPyB8IEFjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICogfC0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gICAqIHwgTm8gICAgICAgICAgICAgICB8IC0gICAgICAgICAgICAgICAgfCBObyAgICAgICAgICAgIHwgQ2FsbCB0cmlnZ2VyKHBhcmFtcykgICAgICAgICAgfFxuICAgKiB8IE5vICAgICAgICAgICAgICAgfCAtICAgICAgICAgICAgICAgIHwgWWVzICAgICAgICAgICB8IENhbGwgcG9sbChwYXJhbXMsIHBvbGxpbmdTdGF0ZSl8XG4gICAqIHwgWWVzICAgICAgICAgICAgICB8IE5vICAgICAgICAgICAgICAgfCBObyAgICAgICAgICAgIHwgQ2FsbCBwcmVwYXJlKHBhcmFtcykgICAgICAgICAgfFxuICAgKiB8IFllcyAgICAgICAgICAgICAgfCBZZXMgICAgICAgICAgICAgIHwgTm8gICAgICAgICAgICB8IENhbGwgdHJpZ2dlcihwYXJhbXMsIGFwcHJvdmFsKXxcbiAgICogfCBZZXMgICAgICAgICAgICAgIHwgWWVzICAgICAgICAgICAgICB8IFllcyAgICAgICAgICAgfCBDYWxsIHBvbGwocGFyYW1zLCBwb2xsaW5nU3RhdGUpfFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyByb3V0ZVBvbGxpbmdTdGVwKFxuICAgIGluc3RhbmNlOiBQb2xsaW5nU3RlcDx1bmtub3duLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4sXG4gICAgcGFyYW1zOiB1bmtub3duLFxuICAgIHJlcXVpcmVzQXBwcm92YWw6IGJvb2xlYW4sXG4gICAgYXBwcm92YWxDb250ZXh0PzogQXBwcm92YWxDb250ZXh0LFxuICAgIHBvbGxpbmdTdGF0ZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IFByb21pc2U8U3RlcE91dHB1dD4ge1xuICAgIC8vIElmIHdlIGhhdmUgcG9sbGluZyBzdGF0ZSwgd2UncmUgaW4gdGhlIHBvbGwgcGhhc2UgKHJlZ2FyZGxlc3Mgb2YgYXBwcm92YWwpXG4gICAgaWYgKHBvbGxpbmdTdGF0ZSkge1xuICAgICAgcmV0dXJuIGluc3RhbmNlLmV4ZWN1dGVQb2xsKHBhcmFtcywgcG9sbGluZ1N0YXRlKTtcbiAgICB9XG5cbiAgICBpZiAoIXJlcXVpcmVzQXBwcm92YWwpIHtcbiAgICAgIC8vIE5vIGFwcHJvdmFsIG5lZWRlZCAtIHRyaWdnZXIgZGlyZWN0bHlcbiAgICAgIHJldHVybiBpbnN0YW5jZS5leGVjdXRlVHJpZ2dlcihwYXJhbXMsIHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgaWYgKCFhcHByb3ZhbENvbnRleHQpIHtcbiAgICAgIC8vIE5lZWRzIGFwcHJvdmFsIGJ1dCBkb24ndCBoYXZlIGl0IHlldCAtIGNhbGwgcHJlcGFyZVxuICAgICAgcmV0dXJuIGluc3RhbmNlLnByZXBhcmUocGFyYW1zKTtcbiAgICB9XG5cbiAgICAvLyBIYXZlIGFwcHJvdmFsIC0gdHJpZ2dlciB3aXRoIGFwcHJvdmFsIGNvbnRleHRcbiAgICByZXR1cm4gaW5zdGFuY2UuZXhlY3V0ZVRyaWdnZXIocGFyYW1zLCBhcHByb3ZhbENvbnRleHQpO1xuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZU91dHB1dChvdXRwdXQ6IFN0ZXBPdXRwdXQpOiB2b2lkIHtcbiAgICBjb25zdCBvdXRwdXREaXIgPSBwYXRoLmRpcm5hbWUodGhpcy5vdXRwdXRQYXRoKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMob3V0cHV0RGlyKSkge1xuICAgICAgZnMubWtkaXJTeW5jKG91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLm91dHB1dFBhdGgsIEpTT04uc3RyaW5naWZ5KG91dHB1dCwgbnVsbCwgMikpO1xuICB9XG59XG4iXX0=
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWdpc3RyeS9zdGVwLXJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0Isd0RBQWdDO0FBQ2hDLDhDQUFvQjtBQUlwQix3REFBb0Q7QUFFcEQsdURBQTJFO0FBRTNFLGdGQUFnRjtBQUNoRixnQkFBZ0I7QUFDaEIsZ0ZBQWdGO0FBRWhGLE1BQU0sNEJBQTRCLEdBQUcsYUFBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxHQUFHLEVBQUUsYUFBQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztDQUN0QyxDQUFDLENBQUM7QUFFSCxNQUFNLHlCQUF5QixHQUFHLGFBQUMsQ0FBQyxNQUFNLENBQUM7SUFDekMsR0FBRyxFQUFFLGFBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3pCLElBQUksRUFBRSxhQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLE1BQU0sRUFBRSxhQUFDLENBQUMsTUFBTSxDQUFDLGFBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDckMsNERBQTREO0lBQzVELGVBQWUsRUFBRSxtQ0FBcUIsQ0FBQyxRQUFRLEVBQUU7SUFDakQsWUFBWSxFQUFFLGFBQUMsQ0FBQyxNQUFNLENBQUMsYUFBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLGFBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUN2RCxDQUFDLENBQUM7QUFFVSxRQUFBLHVCQUF1QixHQUFHLGFBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7SUFDakUseUJBQXlCO0lBQ3pCLDRCQUE0QjtDQUM3QixDQUFDLENBQUM7QUFJSCxnRkFBZ0Y7QUFDaEYsZ0JBQWdCO0FBQ2hCLGdGQUFn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QztRQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RCLHdDQUF3QztZQUN4QyxPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsc0RBQXNEO1lBQ3RELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsZ0RBQWdEO1FBQ2hELE9BQU8sUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUFrQjtRQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0Y7QUFqUUQsb0NBaVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgbWluaW1pc3QgZnJvbSBcIm1pbmltaXN0XCI7XG5pbXBvcnQgeiBmcm9tIFwiem9kXCI7XG5pbXBvcnQgdHlwZSB7IEJhc2VTdGVwLCBTdGVwQ2xhc3MsIFN0ZXBNZXRhZGF0YSB9IGZyb20gXCIuLi9iYXNlL2Jhc2Utc3RlcFwiO1xuaW1wb3J0IHR5cGUgeyBTaW1wbGVTdGVwIH0gZnJvbSBcIi4uL2Jhc2Uvc2ltcGxlLXN0ZXBcIjtcbmltcG9ydCB0eXBlIHsgUG9sbGluZ1N0ZXAgfSBmcm9tIFwiLi4vYmFzZS9wb2xsaW5nLXN0ZXBcIjtcbmltcG9ydCB7IFN0ZXBMb2dnZXIgfSBmcm9tIFwiLi4vbG9nZ2luZy9zdGVwLWxvZ2dlclwiO1xuaW1wb3J0IHR5cGUgeyBBcHByb3ZhbENvbnRleHQsIFN0ZXBPdXRwdXQgfSBmcm9tIFwiLi4vb3V0cHV0L3N0ZXAtb3V0cHV0XCI7XG5pbXBvcnQgeyBBcHByb3ZhbENvbnRleHRTY2hlbWEsIFN0ZXBPdXRwdXRzIH0gZnJvbSBcIi4uL291dHB1dC9zdGVwLW91dHB1dFwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW5wdXQgU2NoZW1hc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3RlcFJlZ2lzdHJ5U3ludGhlc2l6ZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgam9iOiB6LmxpdGVyYWwoXCJTWU5USEVTSVpFLU1FVEFEQVRBXCIpLFxufSk7XG5cbmNvbnN0IFN0ZXBSZWdpc3RyeUV4ZWN1dGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGpvYjogei5saXRlcmFsKFwiRVhFQ1VURVwiKSxcbiAgdHlwZTogei5zdHJpbmcoKSxcbiAgcGFyYW1zOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LmFueSgpKSxcbiAgLy8gT3B0aW9uYWwgY29udGV4dCAtIHByZXNlbmNlIGRldGVybWluZXMgd2hpY2ggcGhhc2UgdG8gcnVuXG4gIGFwcHJvdmFsQ29udGV4dDogQXBwcm92YWxDb250ZXh0U2NoZW1hLm9wdGlvbmFsKCksXG4gIHBvbGxpbmdTdGF0ZTogei5yZWNvcmQoei5zdHJpbmcoKSwgei5hbnkoKSkub3B0aW9uYWwoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU3RlcFJlZ2lzdHJ5SW5wdXRTY2hlbWEgPSB6LmRpc2NyaW1pbmF0ZWRVbmlvbihcImpvYlwiLCBbXG4gIFN0ZXBSZWdpc3RyeUV4ZWN1dGVTY2hlbWEsXG4gIFN0ZXBSZWdpc3RyeVN5bnRoZXNpemVTY2hlbWEsXG5dKTtcblxuZXhwb3J0IHR5cGUgU3RlcFJlZ2lzdHJ5SW5wdXQgPSB6LmluZmVyPHR5cGVvZiBTdGVwUmVnaXN0cnlJbnB1dFNjaGVtYT47XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb25maWd1cmF0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBERUZBVUxUX09VVFBVVF9QQVRIID0gXCIvdG1wL3N0ZXAtb3V0cHV0Lmpzb25cIjtcbmNvbnN0IERFRkFVTFRfTE9HX0RJUiA9IFwiL3RtcC9zdGVwLWxvZ3NcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFN0ZXBSZWdpc3RyeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGNsYXNzIFN0ZXBSZWdpc3RyeSB7XG4gIHByaXZhdGUgc3RlcHM6IE1hcDxzdHJpbmcsIFN0ZXBDbGFzcz47XG4gIHByaXZhdGUgb3V0cHV0UGF0aDogc3RyaW5nO1xuICBwcml2YXRlIGxvZ0Rpcjogc3RyaW5nO1xuICBwcml2YXRlIGV4ZWN1dGlvbklkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBzdGVwczogU3RlcENsYXNzW10sXG4gICAgb3V0cHV0UGF0aDogc3RyaW5nLFxuICAgIGxvZ0Rpcjogc3RyaW5nLFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy5zdGVwcyA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLm91dHB1dFBhdGggPSBvdXRwdXRQYXRoO1xuICAgIHRoaXMubG9nRGlyID0gbG9nRGlyO1xuICAgIHRoaXMuZXhlY3V0aW9uSWQgPSBleGVjdXRpb25JZDtcblxuICAgIGZvciAoY29uc3QgU3RlcENscyBvZiBzdGVwcykge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU3RlcENscygpO1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBpbnN0YW5jZS5nZXRNZXRhZGF0YSgpO1xuICAgICAgdGhpcy5zdGVwcy5zZXQobWV0YWRhdGEuc3RlcFR5cGUsIFN0ZXBDbHMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNYWluIGVudHJ5cG9pbnQgZm9yIHJ1bm5pbmcgc3RlcHMuXG4gICAqIFBhcnNlcyBDTEkgYXJncyBhbmQgZWl0aGVyIHN5bnRoZXNpemVzIG1ldGFkYXRhIG9yIGV4ZWN1dGVzIGEgc3RlcC5cbiAgICpcbiAgICogVXNhZ2UgaW4gdXNlcidzIGVudHJ5cG9pbnQgZmlsZTpcbiAgICogYGBgXG4gICAqIFN0ZXBSZWdpc3RyeS5ydW4oW015U3RlcDEsIE15U3RlcDIsIC4uLl0pO1xuICAgKiBgYGBcbiAgICpcbiAgICogQ0xJIGFyZ3VtZW50czpcbiAgICogLSAtLWlucHV0OiBKU09OIGJsb2Igd2l0aCBqb2IgdHlwZSBhbmQgcGFyYW1ldGVyc1xuICAgKiAtIC0tb3V0cHV0OiBQYXRoIHRvIHdyaXRlIG91dHB1dCBKU09OIChkZWZhdWx0OiAvdG1wL3N0ZXAtb3V0cHV0Lmpzb24pXG4gICAqIC0gLS1sb2ctZGlyOiBEaXJlY3RvcnkgZm9yIGxvZyBmaWxlcyAoZGVmYXVsdDogL3RtcC9zdGVwLWxvZ3MpXG4gICAqIC0gLS1leGVjdXRpb24taWQ6IFVuaXF1ZSBJRCBmb3IgdGhpcyBleGVjdXRpb24gKHJlcXVpcmVkIGZvciBsb2dnaW5nKVxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHJ1bihzdGVwczogU3RlcENsYXNzW10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBhcmdzID0gbWluaW1pc3QocHJvY2Vzcy5hcmd2LnNsaWNlKDIpKTtcbiAgICBjb25zdCBvdXRwdXRQYXRoID0gYXJnc1tcIm91dHB1dFwiXSB8fCBERUZBVUxUX09VVFBVVF9QQVRIO1xuICAgIGNvbnN0IGxvZ0RpciA9IGFyZ3NbXCJsb2ctZGlyXCJdIHx8IERFRkFVTFRfTE9HX0RJUjtcbiAgICBjb25zdCBleGVjdXRpb25JZCA9IGFyZ3NbXCJleGVjdXRpb24taWRcIl0gfHwgYGV4ZWMtJHtEYXRlLm5vdygpfWA7XG5cbiAgICBjb25zdCByZWdpc3RyeSA9IG5ldyBTdGVwUmVnaXN0cnkoc3RlcHMsIG91dHB1dFBhdGgsIGxvZ0RpciwgZXhlY3V0aW9uSWQpO1xuICAgIGF3YWl0IHJlZ2lzdHJ5LmV4ZWN1dGUoYXJncyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGUoYXJnczogbWluaW1pc3QuUGFyc2VkQXJncyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBpbnB1dCA9IFN0ZXBSZWdpc3RyeUlucHV0U2NoZW1hLnBhcnNlKEpTT04ucGFyc2UoYXJnc1tcImlucHV0XCJdKSk7XG5cbiAgICAgIHN3aXRjaCAoaW5wdXQuam9iKSB7XG4gICAgICAgIGNhc2UgXCJTWU5USEVTSVpFLU1FVEFEQVRBXCI6IHtcbiAgICAgICAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuc3ludGhlc2l6ZU1ldGFkYXRhKCk7XG4gICAgICAgICAgdGhpcy53cml0ZU91dHB1dCh7IHN0YXR1czogXCJTVUNDRVNTXCIsIGRhdGE6IHsgbWV0YWRhdGEgfSB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgXCJFWEVDVVRFXCI6IHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmV4ZWN1dGVTdGVwKFxuICAgICAgICAgICAgaW5wdXQudHlwZSxcbiAgICAgICAgICAgIGlucHV0LnBhcmFtcyxcbiAgICAgICAgICAgIGlucHV0LmFwcHJvdmFsQ29udGV4dCxcbiAgICAgICAgICAgIGlucHV0LnBvbGxpbmdTdGF0ZVxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID1cbiAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICAgICAgdGhpcy53cml0ZU91dHB1dChTdGVwT3V0cHV0cy5mYWlsZWQoZXJyb3JNZXNzYWdlLCBcIlJFR0lTVFJZX0VSUk9SXCIpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN5bnRoZXNpemVNZXRhZGF0YSgpOiBTdGVwTWV0YWRhdGFbXSB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFN0ZXBNZXRhZGF0YVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IFN0ZXBDbHMgb2YgdGhpcy5zdGVwcy52YWx1ZXMoKSkge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU3RlcENscygpO1xuICAgICAgbWV0YWRhdGEucHVzaChpbnN0YW5jZS5nZXRNZXRhZGF0YSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWV0YWRhdGE7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVTdGVwKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIGFwcHJvdmFsQ29udGV4dD86IEFwcHJvdmFsQ29udGV4dCxcbiAgICBwb2xsaW5nU3RhdGU/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBTdGVwQ2xzID0gdGhpcy5zdGVwcy5nZXQodHlwZSk7XG5cbiAgICBpZiAoIVN0ZXBDbHMpIHtcbiAgICAgIHRoaXMud3JpdGVPdXRwdXQoXG4gICAgICAgIFN0ZXBPdXRwdXRzLmZhaWxlZChcbiAgICAgICAgICBgTm8gc3RlcCByZWdpc3RlcmVkIHdpdGggdHlwZTogJHt0eXBlfWAsXG4gICAgICAgICAgXCJTVEVQX05PVF9GT1VORFwiXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IFN0ZXBDbHMoKTtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gaW5zdGFuY2UuZ2V0TWV0YWRhdGEoKTtcblxuICAgICAgLy8gSW5qZWN0IGxvZ2dlclxuICAgICAgY29uc3QgbG9nZ2VyID0gbmV3IFN0ZXBMb2dnZXIoe1xuICAgICAgICBsb2dEaXI6IHRoaXMubG9nRGlyLFxuICAgICAgICBleGVjdXRpb25JZDogdGhpcy5leGVjdXRpb25JZCxcbiAgICAgICAgc3RlcFR5cGU6IG1ldGFkYXRhLnN0ZXBUeXBlLFxuICAgICAgfSk7XG4gICAgICBpbnN0YW5jZS5fc2V0TG9nZ2VyKGxvZ2dlcik7XG5cbiAgICAgIC8vIFZhbGlkYXRlIHBhcmFtcyBhZ2FpbnN0IHRoZSBzdGVwJ3Mgc2NoZW1hXG4gICAgICBjb25zdCBwYXJzZVJlc3VsdCA9IG1ldGFkYXRhLnNjaGVtYS5zYWZlUGFyc2UocGFyYW1zKTtcbiAgICAgIGlmICghcGFyc2VSZXN1bHQuc3VjY2Vzcykge1xuICAgICAgICB0aGlzLndyaXRlT3V0cHV0KFxuICAgICAgICAgIFN0ZXBPdXRwdXRzLmZhaWxlZChcbiAgICAgICAgICAgIGBJbnZhbGlkIHBhcmFtczogJHtwYXJzZVJlc3VsdC5lcnJvci5tZXNzYWdlfWAsXG4gICAgICAgICAgICBcIklOVkFMSURfUEFSQU1TXCJcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsaWRhdGVkUGFyYW1zID0gcGFyc2VSZXN1bHQuZGF0YTtcblxuICAgICAgLy8gUm91dGUgdG8gYXBwcm9wcmlhdGUgcGhhc2UgYmFzZWQgb24gc3RlcCBraW5kIGFuZCBpbnB1dCBjb250ZXh0XG4gICAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCB0aGlzLnJvdXRlRXhlY3V0aW9uKFxuICAgICAgICBpbnN0YW5jZSxcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIHZhbGlkYXRlZFBhcmFtcyxcbiAgICAgICAgYXBwcm92YWxDb250ZXh0LFxuICAgICAgICBwb2xsaW5nU3RhdGVcbiAgICAgICk7XG5cbiAgICAgIHRoaXMud3JpdGVPdXRwdXQob3V0cHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID1cbiAgICAgICAgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICAgICAgdGhpcy53cml0ZU91dHB1dChTdGVwT3V0cHV0cy5mYWlsZWQoZXJyb3JNZXNzYWdlLCBcIkVYRUNVVElPTl9FUlJPUlwiKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByb3V0ZUV4ZWN1dGlvbihcbiAgICBpbnN0YW5jZTogQmFzZVN0ZXA8dW5rbm93bj4sXG4gICAgbWV0YWRhdGE6IFN0ZXBNZXRhZGF0YSxcbiAgICBwYXJhbXM6IHVua25vd24sXG4gICAgYXBwcm92YWxDb250ZXh0PzogQXBwcm92YWxDb250ZXh0LFxuICAgIHBvbGxpbmdTdGF0ZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IFByb21pc2U8U3RlcE91dHB1dD4ge1xuICAgIGNvbnN0IHJlcXVpcmVzQXBwcm92YWwgPSBtZXRhZGF0YS5yZXF1aXJlc0FwcHJvdmFsO1xuXG4gICAgaWYgKG1ldGFkYXRhLnN0ZXBLaW5kID09PSBcInNpbXBsZVwiKSB7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZVNpbXBsZVN0ZXAoXG4gICAgICAgIGluc3RhbmNlIGFzIFNpbXBsZVN0ZXA8dW5rbm93bj4sXG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgcmVxdWlyZXNBcHByb3ZhbCxcbiAgICAgICAgYXBwcm92YWxDb250ZXh0XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChtZXRhZGF0YS5zdGVwS2luZCA9PT0gXCJwb2xsaW5nXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlUG9sbGluZ1N0ZXAoXG4gICAgICAgIGluc3RhbmNlIGFzIFBvbGxpbmdTdGVwPHVua25vd24sIFJlY29yZDxzdHJpbmcsIHVua25vd24+PixcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICByZXF1aXJlc0FwcHJvdmFsLFxuICAgICAgICBhcHByb3ZhbENvbnRleHQsXG4gICAgICAgIHBvbGxpbmdTdGF0ZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RlcE91dHB1dHMuZmFpbGVkKFxuICAgICAgYFVua25vd24gc3RlcCBraW5kOiAke21ldGFkYXRhLnN0ZXBLaW5kfWAsXG4gICAgICBcIlVOS05PV05fU1RFUF9LSU5EXCJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvdXRlIFNpbXBsZVN0ZXAgZXhlY3V0aW9uIGJhc2VkIG9uIGFwcHJvdmFsIHN0YXRlLlxuICAgKlxuICAgKiB8IHJlcXVpcmVzQXBwcm92YWwgfCBhcHByb3ZhbENvbnRleHQgcHJvdmlkZWQ/IHwgQWN0aW9uICAgICAgICAgICAgICB8XG4gICAqIHwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAgICogfCBObyAgICAgICAgICAgICAgIHwgLSAgICAgICAgICAgICAgICAgICAgICAgICB8IENhbGwgcnVuKHBhcmFtcykgICAgfFxuICAgKiB8IFllcyAgICAgICAgICAgICAgfCBObyAgICAgICAgICAgICAgICAgICAgICAgIHwgQ2FsbCBwcmVwYXJlKHBhcmFtcyl8XG4gICAqIHwgWWVzICAgICAgICAgICAgICB8IFllcyAgICAgICAgICAgICAgICAgICAgICAgfCBDYWxsIHJ1bihwYXJhbXMsIGFwcHJvdmFsKSB8XG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHJvdXRlU2ltcGxlU3RlcChcbiAgICBpbnN0YW5jZTogU2ltcGxlU3RlcDx1bmtub3duPixcbiAgICBwYXJhbXM6IHVua25vd24sXG4gICAgcmVxdWlyZXNBcHByb3ZhbDogYm9vbGVhbixcbiAgICBhcHByb3ZhbENvbnRleHQ/OiBBcHByb3ZhbENvbnRleHRcbiAgKTogUHJvbWlzZTxTdGVwT3V0cHV0PiB7XG4gICAgaWYgKCFyZXF1aXJlc0FwcHJvdmFsKSB7XG4gICAgICAvLyBObyBhcHByb3ZhbCBuZWVkZWQgLSBqdXN0IHJ1blxuICAgICAgcmV0dXJuIGluc3RhbmNlLmV4ZWN1dGUocGFyYW1zLCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIGlmICghYXBwcm92YWxDb250ZXh0KSB7XG4gICAgICAvLyBOZWVkcyBhcHByb3ZhbCBidXQgZG9uJ3QgaGF2ZSBpdCB5ZXQgLSBjYWxsIHByZXBhcmVcbiAgICAgIHJldHVybiBpbnN0YW5jZS5wcmVwYXJlKHBhcmFtcyk7XG4gICAgfVxuXG4gICAgLy8gSGF2ZSBhcHByb3ZhbCAtIHJ1biB3aXRoIGFwcHJvdmFsIGNvbnRleHRcbiAgICByZXR1cm4gaW5zdGFuY2UuZXhlY3V0ZShwYXJhbXMsIGFwcHJvdmFsQ29udGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogUm91dGUgUG9sbGluZ1N0ZXAgZXhlY3V0aW9uIGJhc2VkIG9uIGFwcHJvdmFsIGFuZCBwb2xsaW5nIHN0YXRlLlxuICAgKlxuICAgKiB8IHJlcXVpcmVzQXBwcm92YWwgfCBhcHByb3ZhbENvbnRleHQ/IHwgcG9sbGluZ1N0YXRlPyB8IEFjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICogfC0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gICAqIHwgTm8gICAgICAgICAgICAgICB8IC0gICAgICAgICAgICAgICAgfCBObyAgICAgICAgICAgIHwgQ2FsbCB0cmlnZ2VyKHBhcmFtcykgICAgICAgICAgfFxuICAgKiB8IE5vICAgICAgICAgICAgICAgfCAtICAgICAgICAgICAgICAgIHwgWWVzICAgICAgICAgICB8IENhbGwgcG9sbChwYXJhbXMsIHBvbGxpbmdTdGF0ZSl8XG4gICAqIHwgWWVzICAgICAgICAgICAgICB8IE5vICAgICAgICAgICAgICAgfCBObyAgICAgICAgICAgIHwgQ2FsbCBwcmVwYXJlKHBhcmFtcykgICAgICAgICAgfFxuICAgKiB8IFllcyAgICAgICAgICAgICAgfCBZZXMgICAgICAgICAgICAgIHwgTm8gICAgICAgICAgICB8IENhbGwgdHJpZ2dlcihwYXJhbXMsIGFwcHJvdmFsKXxcbiAgICogfCBZZXMgICAgICAgICAgICAgIHwgWWVzICAgICAgICAgICAgICB8IFllcyAgICAgICAgICAgfCBDYWxsIHBvbGwocGFyYW1zLCBwb2xsaW5nU3RhdGUpfFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyByb3V0ZVBvbGxpbmdTdGVwKFxuICAgIGluc3RhbmNlOiBQb2xsaW5nU3RlcDx1bmtub3duLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4sXG4gICAgcGFyYW1zOiB1bmtub3duLFxuICAgIHJlcXVpcmVzQXBwcm92YWw6IGJvb2xlYW4sXG4gICAgYXBwcm92YWxDb250ZXh0PzogQXBwcm92YWxDb250ZXh0LFxuICAgIHBvbGxpbmdTdGF0ZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICk6IFByb21pc2U8U3RlcE91dHB1dD4ge1xuICAgIC8vIElmIHdlIGhhdmUgcG9sbGluZyBzdGF0ZSwgd2UncmUgaW4gdGhlIHBvbGwgcGhhc2UgKHJlZ2FyZGxlc3Mgb2YgYXBwcm92YWwpXG4gICAgaWYgKHBvbGxpbmdTdGF0ZSkge1xuICAgICAgcmV0dXJuIGluc3RhbmNlLmV4ZWN1dGVQb2xsKHBhcmFtcywgcG9sbGluZ1N0YXRlKTtcbiAgICB9XG5cbiAgICBpZiAoIXJlcXVpcmVzQXBwcm92YWwpIHtcbiAgICAgIC8vIE5vIGFwcHJvdmFsIG5lZWRlZCAtIHRyaWdnZXIgZGlyZWN0bHlcbiAgICAgIHJldHVybiBpbnN0YW5jZS5leGVjdXRlVHJpZ2dlcihwYXJhbXMsIHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgaWYgKCFhcHByb3ZhbENvbnRleHQpIHtcbiAgICAgIC8vIE5lZWRzIGFwcHJvdmFsIGJ1dCBkb24ndCBoYXZlIGl0IHlldCAtIGNhbGwgcHJlcGFyZVxuICAgICAgcmV0dXJuIGluc3RhbmNlLnByZXBhcmUocGFyYW1zKTtcbiAgICB9XG5cbiAgICAvLyBIYXZlIGFwcHJvdmFsIC0gdHJpZ2dlciB3aXRoIGFwcHJvdmFsIGNvbnRleHRcbiAgICByZXR1cm4gaW5zdGFuY2UuZXhlY3V0ZVRyaWdnZXIocGFyYW1zLCBhcHByb3ZhbENvbnRleHQpO1xuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZU91dHB1dChvdXRwdXQ6IFN0ZXBPdXRwdXQpOiB2b2lkIHtcbiAgICBjb25zdCBvdXRwdXREaXIgPSBwYXRoLmRpcm5hbWUodGhpcy5vdXRwdXRQYXRoKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMob3V0cHV0RGlyKSkge1xuICAgICAgZnMubWtkaXJTeW5jKG91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLm91dHB1dFBhdGgsIEpTT04uc3RyaW5naWZ5KG91dHB1dCwgbnVsbCwgMikpO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devramps/sdk-typescript",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "SDK for building custom deployment steps for DevRamps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -55,17 +55,17 @@
|
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
|
57
57
|
"typescript": ">=5.0.0",
|
|
58
|
-
"zod": "^3.
|
|
58
|
+
"zod": "^4.3.4"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@eslint/js": "^9.17.0",
|
|
62
62
|
"@types/minimist": "^1.2.5",
|
|
63
|
-
"zod": "^3.23.8",
|
|
64
63
|
"@types/node": "^22.10.0",
|
|
65
|
-
"@vitest/coverage-v8": "^
|
|
64
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
66
65
|
"eslint": "^9.17.0",
|
|
67
66
|
"typescript": "^5.7.0",
|
|
68
67
|
"typescript-eslint": "^8.18.0",
|
|
69
|
-
"vitest": "^
|
|
68
|
+
"vitest": "^4.0.16",
|
|
69
|
+
"zod": "^4.3.4"
|
|
70
70
|
}
|
|
71
71
|
}
|