@restatedev/restate-cdk 0.4.0 → 0.4.1
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.
|
@@ -40,7 +40,7 @@ exports.handler = void 0;
|
|
|
40
40
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
41
41
|
const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
|
|
42
42
|
const https = __importStar(require("https"));
|
|
43
|
-
const MAX_HEALTH_CHECK_ATTEMPTS =
|
|
43
|
+
const MAX_HEALTH_CHECK_ATTEMPTS = 3;
|
|
44
44
|
const MAX_REGISTRATION_ATTEMPTS = 3;
|
|
45
45
|
const INSECURE = true;
|
|
46
46
|
/**
|
|
@@ -101,8 +101,8 @@ const handler = async function (event) {
|
|
|
101
101
|
errorMessage = e?.message;
|
|
102
102
|
console.error(`Restate health check failed: "${errorMessage}" (attempt ${attempt})`);
|
|
103
103
|
}
|
|
104
|
-
if (attempt
|
|
105
|
-
console.error(`
|
|
104
|
+
if (attempt > MAX_HEALTH_CHECK_ATTEMPTS) {
|
|
105
|
+
console.error(`Meta health check still failing after ${attempt} attempts.`);
|
|
106
106
|
throw new Error(errorMessage ?? `${healthResponse?.statusText} (${healthResponse?.status})`);
|
|
107
107
|
}
|
|
108
108
|
attempt += 1;
|
|
@@ -115,7 +115,8 @@ const handler = async function (event) {
|
|
|
115
115
|
arn: props.serviceLambdaArn,
|
|
116
116
|
assume_role_arn: props.invokeRoleArn,
|
|
117
117
|
});
|
|
118
|
-
|
|
118
|
+
let failureReason;
|
|
119
|
+
console.log(`Triggering registration at ${endpointsUrl}: ${registrationRequest}`);
|
|
119
120
|
attempt = 1;
|
|
120
121
|
while (true) {
|
|
121
122
|
try {
|
|
@@ -134,9 +135,11 @@ const handler = async function (event) {
|
|
|
134
135
|
if (discoveryResponse.status >= 200 && discoveryResponse.status < 300) {
|
|
135
136
|
const response = (await discoveryResponse.json());
|
|
136
137
|
if (response?.services?.[0]?.name !== props.servicePath) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
failureReason =
|
|
139
|
+
"Restate service registration failed: service name indicated by service response" +
|
|
140
|
+
` ("${response?.services?.[0]?.name})) does not match the expected value ("${props.servicePath}")!`;
|
|
141
|
+
console.error(failureReason);
|
|
142
|
+
break; // don't throw immediately - let retry loop decide whether to abort
|
|
140
143
|
}
|
|
141
144
|
console.log("Success!");
|
|
142
145
|
return;
|
|
@@ -145,14 +148,16 @@ const handler = async function (event) {
|
|
|
145
148
|
catch (e) {
|
|
146
149
|
console.error(`Service registration call failed: ${e?.message} (attempt ${attempt})`);
|
|
147
150
|
}
|
|
148
|
-
if (attempt
|
|
151
|
+
if (attempt > MAX_REGISTRATION_ATTEMPTS) {
|
|
149
152
|
console.error(`Service registration failed after ${attempt} attempts.`);
|
|
150
153
|
break;
|
|
151
154
|
}
|
|
152
155
|
attempt += 1;
|
|
153
|
-
|
|
156
|
+
const waitTimeMillis = 2000 + 2 ** attempt * 1000; // 3s -> 6s -> 10s
|
|
157
|
+
console.log(`Retrying registration after ${waitTimeMillis} ms...`);
|
|
158
|
+
await sleep(waitTimeMillis);
|
|
154
159
|
}
|
|
155
|
-
throw new Error(
|
|
160
|
+
throw new Error(failureReason ?? "Restate service registration failed. Please see logs for details.");
|
|
156
161
|
};
|
|
157
162
|
exports.handler = handler;
|
|
158
163
|
async function createAuthHeader(props) {
|
|
@@ -172,4 +177,4 @@ async function createAuthHeader(props) {
|
|
|
172
177
|
async function sleep(millis) {
|
|
173
178
|
await new Promise((resolve) => setTimeout(resolve, millis));
|
|
174
179
|
}
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcmVzdGF0ZS1jb25zdHJ1Y3RzL3JlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlILDREQUErQjtBQUUvQiw0RUFBOEY7QUFDOUYsNkNBQStCO0FBaUIvQixNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUNwQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUVwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUM7QUFFdEI7OztHQUdHO0FBQ0ksTUFBTSxPQUFPLEdBQXFELEtBQUssV0FBVyxLQUFLO0lBQzVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRXZCLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUU7UUFDbEMsaUhBQWlIO1FBQ2pILDJHQUEyRztRQUMzRywrR0FBK0c7UUFDL0csdUJBQXVCO1FBRXZCLG9FQUFvRTtRQUNwRSwyREFBMkQ7UUFDM0QscUVBQXFFO1FBQ3JFLDhDQUE4QztRQUM5QyxtR0FBbUc7UUFDbkcsb0ZBQW9GO1FBQ3BGLDZGQUE2RjtRQUM3RixpQ0FBaUM7UUFDakMsd0JBQXdCO1FBQ3hCLG9GQUFvRjtRQUNwRix1REFBdUQ7UUFDdkQsRUFBRTtRQUNGLHVFQUF1RTtRQUN2RSx3Q0FBd0M7UUFDeEMsb0hBQW9IO1FBQ3BILE1BQU07UUFDTixJQUFJO1FBRUosT0FBTyxDQUFDLElBQUksQ0FBQyw4RkFBOEYsQ0FBQyxDQUFDO1FBQzdHLE9BQU87S0FDUjtJQUVELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBNEMsQ0FBQztJQUNqRSxNQUFNLFVBQVUsR0FBRyxNQUFNLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpELElBQUksT0FBTyxDQUFDO0lBQ1osTUFBTSxVQUFVLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUV6QyxNQUFNLGNBQWMsR0FBRyxHQUFHLEtBQUssQ0FBQyxZQUFZLFNBQVMsQ0FBQztJQUV0RCxPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDWixPQUFPLElBQUksRUFBRTtRQUNYLE1BQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSyxDQUFDLENBQUM7UUFDaEYsSUFBSSxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQy9CLElBQUksWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUM3QixJQUFJO1lBQ0YsY0FBYyxHQUFHLE1BQU0sSUFBQSxvQkFBSyxFQUFDLGNBQWMsRUFBRTtnQkFDM0MsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO2dCQUN6QixPQUFPLEVBQUUsVUFBVTtnQkFDbkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUM3RSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFFbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDeEUsSUFBSSxjQUFjLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDL0QsTUFBTTthQUNQO1lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FDWCxnQ0FBZ0MsY0FBYyxDQUFDLFVBQVUsS0FBSyxjQUFjLENBQUMsTUFBTSxhQUFhLE9BQU8sR0FBRyxDQUMzRyxDQUFDO1NBQ0g7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLFlBQVksR0FBSSxDQUFXLEVBQUUsT0FBTyxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUNBQWlDLFlBQVksY0FBYyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsSUFBSSxPQUFPLElBQUkseUJBQXlCLEVBQUU7WUFDeEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsT0FBTyxZQUFZLENBQUMsQ0FBQztZQUN4RSxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxHQUFHLGNBQWMsRUFBRSxVQUFVLEtBQUssY0FBYyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDOUY7UUFDRCxPQUFPLElBQUksQ0FBQyxDQUFDO1FBRWIsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFJLE9BQU8sR0FBRyxJQUFLLENBQUM7UUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsY0FBYyxRQUFRLENBQUMsQ0FBQztRQUN0RCxNQUFNLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM3QjtJQUVELE1BQU0sWUFBWSxHQUFHLEdBQUcsS0FBSyxDQUFDLFlBQVksWUFBWSxDQUFDO0lBQ3ZELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN6QyxHQUFHLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixlQUFlLEVBQUUsS0FBSyxDQUFDLGFBQWE7S0FDckMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsWUFBWSxLQUFLLG1CQUFtQixhQUFhLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDdkcsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNaLE9BQU8sSUFBSSxFQUFFO1FBQ1gsSUFBSTtZQUNGLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBTSxDQUFDLENBQUM7WUFDbEYsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUEsb0JBQUssRUFBQyxZQUFZLEVBQUU7Z0JBQ2xELE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsT0FBTyxFQUFFO29CQUNQLGNBQWMsRUFBRSxrQkFBa0I7b0JBQ2xDLEdBQUcsVUFBVTtpQkFDZDtnQkFDRCxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQzdFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztZQUVwRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRTNFLElBQUksaUJBQWlCLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNyRSxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0saUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQXFCLENBQUM7Z0JBRXRFLElBQUksUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFO29CQUN2RCxPQUFPLENBQUMsS0FBSyxDQUNYLGlGQUFpRjt3QkFDL0UsTUFBTSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSwwQ0FBMEMsS0FBSyxDQUFDLFdBQVcsS0FBSyxDQUN0RyxDQUFDO29CQUNGLE1BQU07aUJBQ1A7Z0JBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEIsT0FBTzthQUNSO1NBQ0Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXNDLENBQVcsRUFBRSxPQUFPLGFBQWEsT0FBTyxHQUFHLENBQUMsQ0FBQztTQUNsRztRQUVELElBQUksT0FBTyxJQUFJLHlCQUF5QixFQUFFO1lBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLE9BQU8sWUFBWSxDQUFDLENBQUM7WUFDeEUsTUFBTTtTQUNQO1FBQ0QsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUNiLE1BQU0sS0FBSyxDQUFDLElBQUssQ0FBQyxDQUFDO0tBQ3BCO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQztBQTlIVyxRQUFBLE9BQU8sV0E4SGxCO0FBRUYsS0FBSyxVQUFVLGdCQUFnQixDQUFDLEtBQTZCO0lBQzNELElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUU7UUFDN0IsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsaURBQWlELEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDekYsTUFBTSxHQUFHLEdBQUcsSUFBSSw2Q0FBb0IsRUFBRSxDQUFDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FDN0IsSUFBSSw4Q0FBcUIsQ0FBQztRQUN4QixRQUFRLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtLQUNuQyxDQUFDLENBQ0gsQ0FBQztJQUVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLFFBQVEsQ0FBQyxJQUFJLGFBQWEsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDOUYsT0FBTztRQUNMLGFBQWEsRUFBRSxVQUFVLFFBQVEsQ0FBQyxZQUFZLEVBQUU7S0FDakQsQ0FBQztBQUNKLENBQUM7QUFFRCxLQUFLLFVBQVUsS0FBSyxDQUFDLE1BQWM7SUFDakMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIzIC0gUmVzdGF0ZSBTb2Z0d2FyZSwgSW5jLiwgUmVzdGF0ZSBHbWJIXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFJlc3RhdGUgU0RLIGZvciBOb2RlLmpzL1R5cGVTY3JpcHQsXG4gKiB3aGljaCBpcyByZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4gKlxuICogWW91IGNhbiBmaW5kIGEgY29weSBvZiB0aGUgbGljZW5zZSBpbiBmaWxlIExJQ0VOU0UgaW4gdGhlIHJvb3RcbiAqIGRpcmVjdG9yeSBvZiB0aGlzIHJlcG9zaXRvcnkgb3IgcGFja2FnZSwgb3IgYXRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9yZXN0YXRlZGV2L3Nkay10eXBlc2NyaXB0L2Jsb2IvbWFpbi9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhL2hhbmRsZXJcIjtcbmltcG9ydCB7IENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCB9IGZyb20gXCJhd3MtbGFtYmRhL3RyaWdnZXIvY2xvdWRmb3JtYXRpb24tY3VzdG9tLXJlc291cmNlXCI7XG5pbXBvcnQgZmV0Y2ggZnJvbSBcIm5vZGUtZmV0Y2hcIjtcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IEdldFNlY3JldFZhbHVlQ29tbWFuZCwgU2VjcmV0c01hbmFnZXJDbGllbnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiO1xuaW1wb3J0ICogYXMgaHR0cHMgZnJvbSBcImh0dHBzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cmF0aW9uUHJvcGVydGllcyB7XG4gIHNlcnZpY2VQYXRoPzogc3RyaW5nO1xuICBtZXRhRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIHNlcnZpY2VFbmRwb2ludD86IHN0cmluZztcbiAgc2VydmljZUxhbWJkYUFybj86IHN0cmluZztcbiAgaW52b2tlUm9sZUFybj86IHN0cmluZztcbiAgcmVtb3ZhbFBvbGljeT86IGNkay5SZW1vdmFsUG9saWN5O1xuICBhdXRoVG9rZW5TZWNyZXRBcm4/OiBzdHJpbmc7XG59XG5cbnR5cGUgRW5kcG9pbnRSZXNwb25zZSA9IHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHNlcnZpY2VzPzogeyBuYW1lPzogc3RyaW5nOyByZXZpc2lvbj86IG51bWJlciB9W107XG59O1xuXG5jb25zdCBNQVhfSEVBTFRIX0NIRUNLX0FUVEVNUFRTID0gNDtcbmNvbnN0IE1BWF9SRUdJU1RSQVRJT05fQVRURU1QVFMgPSAzO1xuXG5jb25zdCBJTlNFQ1VSRSA9IHRydWU7XG5cbi8qKlxuICogQ3VzdG9tIFJlc291cmNlIGV2ZW50IGhhbmRsZXIgZm9yIFJlc3RhdGUgc2VydmljZSByZWdpc3RyYXRpb24uIFRoaXMgaGFuZGxlciBiYWNrcyB0aGUgY3VzdG9tIHJlc291cmNlcyBjcmVhdGVkIGJ5XG4gKiB7QGxpbmsgTGFtYmRhU2VydmljZVJlZ2lzdHJ5fSB0byBmYWNpbGl0YXRlIExhbWJkYSBzZXJ2aWNlIGhhbmRsZXIgZGlzY292ZXJ5LlxuICovXG5leHBvcnQgY29uc3QgaGFuZGxlcjogSGFuZGxlcjxDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQsIHZvaWQ+ID0gYXN5bmMgZnVuY3Rpb24gKGV2ZW50KSB7XG4gIGNvbnNvbGUubG9nKHsgZXZlbnQgfSk7XG5cbiAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSBcIkRlbGV0ZVwiKSB7XG4gICAgLy8gU2luY2Ugd2UgcmV0YWluIG9sZGVyIExhbWJkYSBoYW5kbGVyIHZlcnNpb25zIG9uIHVwZGF0ZSwgd2UgYWxzbyBsZWF2ZSB0aGUgcmVnaXN0ZXJlZCBzZXJ2aWNlIGFsb25lLiBUaGVyZSBtYXlcbiAgICAvLyBiZSB1bmZpbmlzaGVkIGludm9jYXRpb25zIHRoYXQgcmVxdWlyZSBpdDsgaW4gdGhlIGZ1dHVyZSB3ZSB3b3VsZCB3YW50IHRvIGluZm9ybSBSZXN0YXRlIHRoYXQgd2Ugd2FudCB0b1xuICAgIC8vIGRlLXJlZ2lzdGVyIHRoZSBzZXJ2aWNlLCBhbmQgd2FpdCBmb3IgUmVzdGF0ZSB0byBsZXQgdXMga25vdyB0aGF0IGl0IGlzIHNhZmUgdG8gZGVsZXRlIHRoZSBkZXBsb3llZCBGdW5jdGlvblxuICAgIC8vIHZlcnNpb24gZnJvbSBMYW1iZGEuXG5cbiAgICAvLyBjb25zdCBwcm9wcyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcyBhcyBSZWdpc3RyYXRpb25Qcm9wZXJ0aWVzO1xuICAgIC8vIGlmIChwcm9wcy5yZW1vdmFsUG9saWN5ID09PSBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKSB7XG4gICAgLy8gICBjb25zb2xlLmxvZyhgRGUtcmVnaXN0ZXJpbmcgc2VydmljZSAke3Byb3BzLnNlcnZpY2VMYW1iZGFBcm59YCk7XG4gICAgLy8gICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIC8vICAgY29uc3QgaWQgPSBidG9hKHByb3BzLnNlcnZpY2VMYW1iZGFBcm4hKTsgLy8gVE9ETzogd2Ugc2hvdWxkIGJlIHRyZWF0aW5nIHNlcnZpY2UgaWRzIGFzIG9wYXF1ZVxuICAgIC8vICAgY29uc3QgZGVsZXRlQ2FsbFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IGNvbnRyb2xsZXIuYWJvcnQoXCJ0aW1lb3V0XCIpLCA1XzAwMCk7XG4gICAgLy8gICBjb25zdCBkZWxldGVSZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3Byb3BzLm1ldGFFbmRwb2ludH0vZW5kcG9pbnRzLyR7aWR9P2ZvcmNlPXRydWVgLCB7XG4gICAgLy8gICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgLy8gICAgIG1ldGhvZDogXCJERUxFVEVcIixcbiAgICAvLyAgICAgYWdlbnQ6IElOU0VDVVJFID8gbmV3IGh0dHBzLkFnZW50KHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSB9KSA6IHVuZGVmaW5lZCxcbiAgICAvLyAgIH0pLmZpbmFsbHkoKCkgPT4gY2xlYXJUaW1lb3V0KGRlbGV0ZUNhbGxUaW1lb3V0KSk7XG4gICAgLy9cbiAgICAvLyAgIGNvbnNvbGUubG9nKGBHb3QgZGVsZXRlIHJlc3BvbnNlIGJhY2s6ICR7ZGVsZXRlUmVzcG9uc2Uuc3RhdHVzfWApO1xuICAgIC8vICAgaWYgKGRlbGV0ZVJlc3BvbnNlLnN0YXR1cyAhPSAyMDIpIHtcbiAgICAvLyAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWxldGluZyBzZXJ2aWNlIGVuZHBvaW50IGZhaWxlZDogJHtkZWxldGVSZXNwb25zZS5zdGF0dXNUZXh0fSAoJHtkZWxldGVSZXNwb25zZS5zdGF0dXN9KWApO1xuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIGNvbnNvbGUud2FybihcIkRlLXJlZ2lzdGVyaW5nIHNlcnZpY2VzIGlzIG5vdCBzdXBwb3J0ZWQgY3VycmVudGx5LiBQcmV2aW91cyB2ZXJzaW9uIHdpbGwgcmVtYWluIHJlZ2lzdGVyZWQuXCIpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHByb3BzID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzIGFzIFJlZ2lzdHJhdGlvblByb3BlcnRpZXM7XG4gIGNvbnN0IGF1dGhIZWFkZXIgPSBhd2FpdCBjcmVhdGVBdXRoSGVhZGVyKHByb3BzKTtcblxuICBsZXQgYXR0ZW1wdDtcbiAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBjb25zdCBoZWFsdGhDaGVja1VybCA9IGAke3Byb3BzLm1ldGFFbmRwb2ludH0vaGVhbHRoYDtcblxuICBjb25zb2xlLmxvZyhgUGVyZm9ybWluZyBoZWFsdGggY2hlY2sgYWdhaW5zdDogJHtoZWFsdGhDaGVja1VybH1gKTtcbiAgYXR0ZW1wdCA9IDE7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgY29uc3QgaGVhbHRoQ2hlY2tUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KFwidGltZW91dFwiKSwgNV8wMDApO1xuICAgIGxldCBoZWFsdGhSZXNwb25zZSA9IHVuZGVmaW5lZDtcbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gdW5kZWZpbmVkO1xuICAgIHRyeSB7XG4gICAgICBoZWFsdGhSZXNwb25zZSA9IGF3YWl0IGZldGNoKGhlYWx0aENoZWNrVXJsLCB7XG4gICAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIGhlYWRlcnM6IGF1dGhIZWFkZXIsXG4gICAgICAgIGFnZW50OiBJTlNFQ1VSRSA/IG5ldyBodHRwcy5BZ2VudCh7IHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSkgOiB1bmRlZmluZWQsXG4gICAgICB9KS5maW5hbGx5KCgpID0+IGNsZWFyVGltZW91dChoZWFsdGhDaGVja1RpbWVvdXQpKTtcblxuICAgICAgY29uc29sZS5sb2coYEdvdCBoZWFsdGggY2hlY2sgcmVzcG9uc2UgYmFjazogJHtoZWFsdGhSZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgICBpZiAoaGVhbHRoUmVzcG9uc2Uuc3RhdHVzID49IDIwMCAmJiBoZWFsdGhSZXNwb25zZS5zdGF0dXMgPCAzMDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgUmVzdGF0ZSBoZWFsdGggY2hlY2sgZmFpbGVkOiAke2hlYWx0aFJlc3BvbnNlLnN0YXR1c1RleHR9ICgke2hlYWx0aFJlc3BvbnNlLnN0YXR1c307IGF0dGVtcHQgJHthdHRlbXB0fSlgLFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBlcnJvck1lc3NhZ2UgPSAoZSBhcyBFcnJvcik/Lm1lc3NhZ2U7XG4gICAgICBjb25zb2xlLmVycm9yKGBSZXN0YXRlIGhlYWx0aCBjaGVjayBmYWlsZWQ6IFwiJHtlcnJvck1lc3NhZ2V9XCIgKGF0dGVtcHQgJHthdHRlbXB0fSlgKTtcbiAgICB9XG5cbiAgICBpZiAoYXR0ZW1wdCA+PSBNQVhfSEVBTFRIX0NIRUNLX0FUVEVNUFRTKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBTZXJ2aWNlIHJlZ2lzdHJhdGlvbiBmYWlsZWQgYWZ0ZXIgJHthdHRlbXB0fSBhdHRlbXB0cy5gKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UgPz8gYCR7aGVhbHRoUmVzcG9uc2U/LnN0YXR1c1RleHR9ICgke2hlYWx0aFJlc3BvbnNlPy5zdGF0dXN9KWApO1xuICAgIH1cbiAgICBhdHRlbXB0ICs9IDE7XG5cbiAgICBjb25zdCB3YWl0VGltZU1pbGxpcyA9IDIgKiogYXR0ZW1wdCAqIDFfMDAwO1xuICAgIGNvbnNvbGUubG9nKGBSZXRyeWluZyBhZnRlciAke3dhaXRUaW1lTWlsbGlzfSBtcy4uLmApO1xuICAgIGF3YWl0IHNsZWVwKHdhaXRUaW1lTWlsbGlzKTtcbiAgfVxuXG4gIGNvbnN0IGVuZHBvaW50c1VybCA9IGAke3Byb3BzLm1ldGFFbmRwb2ludH0vZW5kcG9pbnRzYDtcbiAgY29uc3QgcmVnaXN0cmF0aW9uUmVxdWVzdCA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBhcm46IHByb3BzLnNlcnZpY2VMYW1iZGFBcm4sXG4gICAgYXNzdW1lX3JvbGVfYXJuOiBwcm9wcy5pbnZva2VSb2xlQXJuLFxuICB9KTtcblxuICBjb25zb2xlLmxvZyhgVHJpZ2dlcmluZyByZWdpc3RyYXRpb24gYXQgJHtlbmRwb2ludHNVcmx9OiAke3JlZ2lzdHJhdGlvblJlcXVlc3R9IChhdHRlbXB0ICR7YXR0ZW1wdH0pYCk7XG4gIGF0dGVtcHQgPSAxO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZWdpc3RlckNhbGxUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KFwidGltZW91dFwiKSwgMTBfMDAwKTtcbiAgICAgIGNvbnN0IGRpc2NvdmVyeVJlc3BvbnNlID0gYXdhaXQgZmV0Y2goZW5kcG9pbnRzVXJsLCB7XG4gICAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGJvZHk6IHJlZ2lzdHJhdGlvblJlcXVlc3QsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAuLi5hdXRoSGVhZGVyLFxuICAgICAgICB9LFxuICAgICAgICBhZ2VudDogSU5TRUNVUkUgPyBuZXcgaHR0cHMuQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pIDogdW5kZWZpbmVkLFxuICAgICAgfSkuZmluYWxseSgoKSA9PiBjbGVhclRpbWVvdXQocmVnaXN0ZXJDYWxsVGltZW91dCkpO1xuXG4gICAgICBjb25zb2xlLmxvZyhgR290IHJlZ2lzdHJhdGlvbiByZXNwb25zZSBiYWNrOiAke2Rpc2NvdmVyeVJlc3BvbnNlLnN0YXR1c31gKTtcblxuICAgICAgaWYgKGRpc2NvdmVyeVJlc3BvbnNlLnN0YXR1cyA+PSAyMDAgJiYgZGlzY292ZXJ5UmVzcG9uc2Uuc3RhdHVzIDwgMzAwKSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGRpc2NvdmVyeVJlc3BvbnNlLmpzb24oKSkgYXMgRW5kcG9pbnRSZXNwb25zZTtcblxuICAgICAgICBpZiAocmVzcG9uc2U/LnNlcnZpY2VzPy5bMF0/Lm5hbWUgIT09IHByb3BzLnNlcnZpY2VQYXRoKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgIFwiUmVzdGF0ZSBzZXJ2aWNlIHJlZ2lzdHJhdGlvbiBmYWlsZWQ6IHNlcnZpY2UgbmFtZSBpbmRpY2F0ZWQgYnkgc2VydmljZSByZXNwb25zZVwiICtcbiAgICAgICAgICAgICAgYCAoXCIke3Jlc3BvbnNlPy5zZXJ2aWNlcz8uWzBdPy5uYW1lfSkpIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCB2YWx1ZSAoXCIke3Byb3BzLnNlcnZpY2VQYXRofVwiKSFgLFxuICAgICAgICAgICk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLmxvZyhcIlN1Y2Nlc3MhXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihgU2VydmljZSByZWdpc3RyYXRpb24gY2FsbCBmYWlsZWQ6ICR7KGUgYXMgRXJyb3IpPy5tZXNzYWdlfSAoYXR0ZW1wdCAke2F0dGVtcHR9KWApO1xuICAgIH1cblxuICAgIGlmIChhdHRlbXB0ID49IE1BWF9SRUdJU1RSQVRJT05fQVRURU1QVFMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFNlcnZpY2UgcmVnaXN0cmF0aW9uIGZhaWxlZCBhZnRlciAke2F0dGVtcHR9IGF0dGVtcHRzLmApO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGF0dGVtcHQgKz0gMTtcbiAgICBhd2FpdCBzbGVlcCgxXzAwMCk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gcmVnaXN0ZXIgc2VydmljZSB3aXRoIFJlc3RhdGUuXCIpO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlQXV0aEhlYWRlcihwcm9wczogUmVnaXN0cmF0aW9uUHJvcGVydGllcyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuICBpZiAoIXByb3BzLmF1dGhUb2tlblNlY3JldEFybikge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKGBVc2luZyBiZWFyZXIgYXV0aGVudGljYXRpb24gdG9rZW4gZnJvbSBzZWNyZXQgJHtwcm9wcy5hdXRoVG9rZW5TZWNyZXRBcm59YCk7XG4gIGNvbnN0IHNzbSA9IG5ldyBTZWNyZXRzTWFuYWdlckNsaWVudCgpO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHNzbS5zZW5kKFxuICAgIG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoe1xuICAgICAgU2VjcmV0SWQ6IHByb3BzLmF1dGhUb2tlblNlY3JldEFybixcbiAgICB9KSxcbiAgKTtcblxuICBjb25zb2xlLmxvZyhgU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBzZWNyZXQgXCIke3Jlc3BvbnNlLk5hbWV9XCIgdmVyc2lvbiAke3Jlc3BvbnNlLlZlcnNpb25JZH1gKTtcbiAgcmV0dXJuIHtcbiAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVzcG9uc2UuU2VjcmV0U3RyaW5nfWAsXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNsZWVwKG1pbGxpczogbnVtYmVyKSB7XG4gIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1pbGxpcykpO1xufVxuIl19
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcmVzdGF0ZS1jb25zdHJ1Y3RzL3JlZ2lzdGVyLXNlcnZpY2UtaGFuZGxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7OztHQVNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlILDREQUErQjtBQUUvQiw0RUFBOEY7QUFDOUYsNkNBQStCO0FBaUIvQixNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUNwQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUVwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUM7QUFFdEI7OztHQUdHO0FBQ0ksTUFBTSxPQUFPLEdBQXFELEtBQUssV0FBVyxLQUFLO0lBQzVGLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRXZCLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUU7UUFDbEMsaUhBQWlIO1FBQ2pILDJHQUEyRztRQUMzRywrR0FBK0c7UUFDL0csdUJBQXVCO1FBRXZCLG9FQUFvRTtRQUNwRSwyREFBMkQ7UUFDM0QscUVBQXFFO1FBQ3JFLDhDQUE4QztRQUM5QyxtR0FBbUc7UUFDbkcsb0ZBQW9GO1FBQ3BGLDZGQUE2RjtRQUM3RixpQ0FBaUM7UUFDakMsd0JBQXdCO1FBQ3hCLG9GQUFvRjtRQUNwRix1REFBdUQ7UUFDdkQsRUFBRTtRQUNGLHVFQUF1RTtRQUN2RSx3Q0FBd0M7UUFDeEMsb0hBQW9IO1FBQ3BILE1BQU07UUFDTixJQUFJO1FBRUosT0FBTyxDQUFDLElBQUksQ0FBQyw4RkFBOEYsQ0FBQyxDQUFDO1FBQzdHLE9BQU87S0FDUjtJQUVELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxrQkFBNEMsQ0FBQztJQUNqRSxNQUFNLFVBQVUsR0FBRyxNQUFNLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWpELElBQUks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RixPQUFPO1FBQ0wsYUFBYSxFQUFFLFVBQVUsUUFBUSxDQUFDLFlBQVksRUFBRTtLQUNqRCxDQUFDO0FBQ0osQ0FBQztBQUVELEtBQUssVUFBVSxLQUFLLENBQUMsTUFBYztJQUNqQyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMgLSBSZXN0YXRlIFNvZnR3YXJlLCBJbmMuLCBSZXN0YXRlIEdtYkhcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgUmVzdGF0ZSBTREsgZm9yIE5vZGUuanMvVHlwZVNjcmlwdCxcbiAqIHdoaWNoIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqXG4gKiBZb3UgY2FuIGZpbmQgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGluIGZpbGUgTElDRU5TRSBpbiB0aGUgcm9vdFxuICogZGlyZWN0b3J5IG9mIHRoaXMgcmVwb3NpdG9yeSBvciBwYWNrYWdlLCBvciBhdFxuICogaHR0cHM6Ly9naXRodWIuY29tL3Jlc3RhdGVkZXYvc2RrLXR5cGVzY3JpcHQvYmxvYi9tYWluL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBIYW5kbGVyIH0gZnJvbSBcImF3cy1sYW1iZGEvaGFuZGxlclwiO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZUV2ZW50IH0gZnJvbSBcImF3cy1sYW1iZGEvdHJpZ2dlci9jbG91ZGZvcm1hdGlvbi1jdXN0b20tcmVzb3VyY2VcIjtcbmltcG9ydCBmZXRjaCBmcm9tIFwibm9kZS1mZXRjaFwiO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgR2V0U2VjcmV0VmFsdWVDb21tYW5kLCBTZWNyZXRzTWFuYWdlckNsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyXCI7XG5pbXBvcnQgKiBhcyBodHRwcyBmcm9tIFwiaHR0cHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyYXRpb25Qcm9wZXJ0aWVzIHtcbiAgc2VydmljZVBhdGg/OiBzdHJpbmc7XG4gIG1ldGFFbmRwb2ludD86IHN0cmluZztcbiAgc2VydmljZUVuZHBvaW50Pzogc3RyaW5nO1xuICBzZXJ2aWNlTGFtYmRhQXJuPzogc3RyaW5nO1xuICBpbnZva2VSb2xlQXJuPzogc3RyaW5nO1xuICByZW1vdmFsUG9saWN5PzogY2RrLlJlbW92YWxQb2xpY3k7XG4gIGF1dGhUb2tlblNlY3JldEFybj86IHN0cmluZztcbn1cblxudHlwZSBFbmRwb2ludFJlc3BvbnNlID0ge1xuICBpZD86IHN0cmluZztcbiAgc2VydmljZXM/OiB7IG5hbWU/OiBzdHJpbmc7IHJldmlzaW9uPzogbnVtYmVyIH1bXTtcbn07XG5cbmNvbnN0IE1BWF9IRUFMVEhfQ0hFQ0tfQVRURU1QVFMgPSAzO1xuY29uc3QgTUFYX1JFR0lTVFJBVElPTl9BVFRFTVBUUyA9IDM7XG5cbmNvbnN0IElOU0VDVVJFID0gdHJ1ZTtcblxuLyoqXG4gKiBDdXN0b20gUmVzb3VyY2UgZXZlbnQgaGFuZGxlciBmb3IgUmVzdGF0ZSBzZXJ2aWNlIHJlZ2lzdHJhdGlvbi4gVGhpcyBoYW5kbGVyIGJhY2tzIHRoZSBjdXN0b20gcmVzb3VyY2VzIGNyZWF0ZWQgYnlcbiAqIHtAbGluayBMYW1iZGFTZXJ2aWNlUmVnaXN0cnl9IHRvIGZhY2lsaXRhdGUgTGFtYmRhIHNlcnZpY2UgaGFuZGxlciBkaXNjb3ZlcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBoYW5kbGVyOiBIYW5kbGVyPENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VFdmVudCwgdm9pZD4gPSBhc3luYyBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgY29uc29sZS5sb2coeyBldmVudCB9KTtcblxuICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09IFwiRGVsZXRlXCIpIHtcbiAgICAvLyBTaW5jZSB3ZSByZXRhaW4gb2xkZXIgTGFtYmRhIGhhbmRsZXIgdmVyc2lvbnMgb24gdXBkYXRlLCB3ZSBhbHNvIGxlYXZlIHRoZSByZWdpc3RlcmVkIHNlcnZpY2UgYWxvbmUuIFRoZXJlIG1heVxuICAgIC8vIGJlIHVuZmluaXNoZWQgaW52b2NhdGlvbnMgdGhhdCByZXF1aXJlIGl0OyBpbiB0aGUgZnV0dXJlIHdlIHdvdWxkIHdhbnQgdG8gaW5mb3JtIFJlc3RhdGUgdGhhdCB3ZSB3YW50IHRvXG4gICAgLy8gZGUtcmVnaXN0ZXIgdGhlIHNlcnZpY2UsIGFuZCB3YWl0IGZvciBSZXN0YXRlIHRvIGxldCB1cyBrbm93IHRoYXQgaXQgaXMgc2FmZSB0byBkZWxldGUgdGhlIGRlcGxveWVkIEZ1bmN0aW9uXG4gICAgLy8gdmVyc2lvbiBmcm9tIExhbWJkYS5cblxuICAgIC8vIGNvbnN0IHByb3BzID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzIGFzIFJlZ2lzdHJhdGlvblByb3BlcnRpZXM7XG4gICAgLy8gaWYgKHByb3BzLnJlbW92YWxQb2xpY3kgPT09IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1kpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKGBEZS1yZWdpc3RlcmluZyBzZXJ2aWNlICR7cHJvcHMuc2VydmljZUxhbWJkYUFybn1gKTtcbiAgICAvLyAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgLy8gICBjb25zdCBpZCA9IGJ0b2EocHJvcHMuc2VydmljZUxhbWJkYUFybiEpOyAvLyBUT0RPOiB3ZSBzaG91bGQgYmUgdHJlYXRpbmcgc2VydmljZSBpZHMgYXMgb3BhcXVlXG4gICAgLy8gICBjb25zdCBkZWxldGVDYWxsVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydChcInRpbWVvdXRcIiksIDVfMDAwKTtcbiAgICAvLyAgIGNvbnN0IGRlbGV0ZVJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7cHJvcHMubWV0YUVuZHBvaW50fS9lbmRwb2ludHMvJHtpZH0/Zm9yY2U9dHJ1ZWAsIHtcbiAgICAvLyAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICAvLyAgICAgbWV0aG9kOiBcIkRFTEVURVwiLFxuICAgIC8vICAgICBhZ2VudDogSU5TRUNVUkUgPyBuZXcgaHR0cHMuQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pIDogdW5kZWZpbmVkLFxuICAgIC8vICAgfSkuZmluYWxseSgoKSA9PiBjbGVhclRpbWVvdXQoZGVsZXRlQ2FsbFRpbWVvdXQpKTtcbiAgICAvL1xuICAgIC8vICAgY29uc29sZS5sb2coYEdvdCBkZWxldGUgcmVzcG9uc2UgYmFjazogJHtkZWxldGVSZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgLy8gICBpZiAoZGVsZXRlUmVzcG9uc2Uuc3RhdHVzICE9IDIwMikge1xuICAgIC8vICAgICB0aHJvdyBuZXcgRXJyb3IoYERlbGV0aW5nIHNlcnZpY2UgZW5kcG9pbnQgZmFpbGVkOiAke2RlbGV0ZVJlc3BvbnNlLnN0YXR1c1RleHR9ICgke2RlbGV0ZVJlc3BvbnNlLnN0YXR1c30pYCk7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgY29uc29sZS53YXJuKFwiRGUtcmVnaXN0ZXJpbmcgc2VydmljZXMgaXMgbm90IHN1cHBvcnRlZCBjdXJyZW50bHkuIFByZXZpb3VzIHZlcnNpb24gd2lsbCByZW1haW4gcmVnaXN0ZXJlZC5cIik7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcHJvcHMgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMgYXMgUmVnaXN0cmF0aW9uUHJvcGVydGllcztcbiAgY29uc3QgYXV0aEhlYWRlciA9IGF3YWl0IGNyZWF0ZUF1dGhIZWFkZXIocHJvcHMpO1xuXG4gIGxldCBhdHRlbXB0O1xuICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGNvbnN0IGhlYWx0aENoZWNrVXJsID0gYCR7cHJvcHMubWV0YUVuZHBvaW50fS9oZWFsdGhgO1xuXG4gIGNvbnNvbGUubG9nKGBQZXJmb3JtaW5nIGhlYWx0aCBjaGVjayBhZ2FpbnN0OiAke2hlYWx0aENoZWNrVXJsfWApO1xuICBhdHRlbXB0ID0gMTtcbiAgd2hpbGUgKHRydWUpIHtcbiAgICBjb25zdCBoZWFsdGhDaGVja1RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IGNvbnRyb2xsZXIuYWJvcnQoXCJ0aW1lb3V0XCIpLCA1XzAwMCk7XG4gICAgbGV0IGhlYWx0aFJlc3BvbnNlID0gdW5kZWZpbmVkO1xuICAgIGxldCBlcnJvck1lc3NhZ2UgPSB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIGhlYWx0aFJlc3BvbnNlID0gYXdhaXQgZmV0Y2goaGVhbHRoQ2hlY2tVcmwsIHtcbiAgICAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgaGVhZGVyczogYXV0aEhlYWRlcixcbiAgICAgICAgYWdlbnQ6IElOU0VDVVJFID8gbmV3IGh0dHBzLkFnZW50KHsgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSB9KSA6IHVuZGVmaW5lZCxcbiAgICAgIH0pLmZpbmFsbHkoKCkgPT4gY2xlYXJUaW1lb3V0KGhlYWx0aENoZWNrVGltZW91dCkpO1xuXG4gICAgICBjb25zb2xlLmxvZyhgR290IGhlYWx0aCBjaGVjayByZXNwb25zZSBiYWNrOiAke2hlYWx0aFJlc3BvbnNlLnN0YXR1c31gKTtcbiAgICAgIGlmIChoZWFsdGhSZXNwb25zZS5zdGF0dXMgPj0gMjAwICYmIGhlYWx0aFJlc3BvbnNlLnN0YXR1cyA8IDMwMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBSZXN0YXRlIGhlYWx0aCBjaGVjayBmYWlsZWQ6ICR7aGVhbHRoUmVzcG9uc2Uuc3RhdHVzVGV4dH0gKCR7aGVhbHRoUmVzcG9uc2Uuc3RhdHVzfTsgYXR0ZW1wdCAke2F0dGVtcHR9KWAsXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGVycm9yTWVzc2FnZSA9IChlIGFzIEVycm9yKT8ubWVzc2FnZTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFJlc3RhdGUgaGVhbHRoIGNoZWNrIGZhaWxlZDogXCIke2Vycm9yTWVzc2FnZX1cIiAoYXR0ZW1wdCAke2F0dGVtcHR9KWApO1xuICAgIH1cblxuICAgIGlmIChhdHRlbXB0ID4gTUFYX0hFQUxUSF9DSEVDS19BVFRFTVBUUykge1xuICAgICAgY29uc29sZS5lcnJvcihgTWV0YSBoZWFsdGggY2hlY2sgc3RpbGwgZmFpbGluZyBhZnRlciAke2F0dGVtcHR9IGF0dGVtcHRzLmApO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZSA/PyBgJHtoZWFsdGhSZXNwb25zZT8uc3RhdHVzVGV4dH0gKCR7aGVhbHRoUmVzcG9uc2U/LnN0YXR1c30pYCk7XG4gICAgfVxuICAgIGF0dGVtcHQgKz0gMTtcblxuICAgIGNvbnN0IHdhaXRUaW1lTWlsbGlzID0gMiAqKiBhdHRlbXB0ICogMV8wMDA7XG4gICAgY29uc29sZS5sb2coYFJldHJ5aW5nIGFmdGVyICR7d2FpdFRpbWVNaWxsaXN9IG1zLi4uYCk7XG4gICAgYXdhaXQgc2xlZXAod2FpdFRpbWVNaWxsaXMpO1xuICB9XG5cbiAgY29uc3QgZW5kcG9pbnRzVXJsID0gYCR7cHJvcHMubWV0YUVuZHBvaW50fS9lbmRwb2ludHNgO1xuICBjb25zdCByZWdpc3RyYXRpb25SZXF1ZXN0ID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgIGFybjogcHJvcHMuc2VydmljZUxhbWJkYUFybixcbiAgICBhc3N1bWVfcm9sZV9hcm46IHByb3BzLmludm9rZVJvbGVBcm4sXG4gIH0pO1xuXG4gIGxldCBmYWlsdXJlUmVhc29uO1xuICBjb25zb2xlLmxvZyhgVHJpZ2dlcmluZyByZWdpc3RyYXRpb24gYXQgJHtlbmRwb2ludHNVcmx9OiAke3JlZ2lzdHJhdGlvblJlcXVlc3R9YCk7XG4gIGF0dGVtcHQgPSAxO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZWdpc3RlckNhbGxUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KFwidGltZW91dFwiKSwgMTBfMDAwKTtcbiAgICAgIGNvbnN0IGRpc2NvdmVyeVJlc3BvbnNlID0gYXdhaXQgZmV0Y2goZW5kcG9pbnRzVXJsLCB7XG4gICAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGJvZHk6IHJlZ2lzdHJhdGlvblJlcXVlc3QsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAuLi5hdXRoSGVhZGVyLFxuICAgICAgICB9LFxuICAgICAgICBhZ2VudDogSU5TRUNVUkUgPyBuZXcgaHR0cHMuQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pIDogdW5kZWZpbmVkLFxuICAgICAgfSkuZmluYWxseSgoKSA9PiBjbGVhclRpbWVvdXQocmVnaXN0ZXJDYWxsVGltZW91dCkpO1xuXG4gICAgICBjb25zb2xlLmxvZyhgR290IHJlZ2lzdHJhdGlvbiByZXNwb25zZSBiYWNrOiAke2Rpc2NvdmVyeVJlc3BvbnNlLnN0YXR1c31gKTtcblxuICAgICAgaWYgKGRpc2NvdmVyeVJlc3BvbnNlLnN0YXR1cyA+PSAyMDAgJiYgZGlzY292ZXJ5UmVzcG9uc2Uuc3RhdHVzIDwgMzAwKSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IGRpc2NvdmVyeVJlc3BvbnNlLmpzb24oKSkgYXMgRW5kcG9pbnRSZXNwb25zZTtcblxuICAgICAgICBpZiAocmVzcG9uc2U/LnNlcnZpY2VzPy5bMF0/Lm5hbWUgIT09IHByb3BzLnNlcnZpY2VQYXRoKSB7XG4gICAgICAgICAgZmFpbHVyZVJlYXNvbiA9XG4gICAgICAgICAgICBcIlJlc3RhdGUgc2VydmljZSByZWdpc3RyYXRpb24gZmFpbGVkOiBzZXJ2aWNlIG5hbWUgaW5kaWNhdGVkIGJ5IHNlcnZpY2UgcmVzcG9uc2VcIiArXG4gICAgICAgICAgICBgIChcIiR7cmVzcG9uc2U/LnNlcnZpY2VzPy5bMF0/Lm5hbWV9KSkgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlIChcIiR7cHJvcHMuc2VydmljZVBhdGh9XCIpIWA7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihmYWlsdXJlUmVhc29uKTtcbiAgICAgICAgICBicmVhazsgLy8gZG9uJ3QgdGhyb3cgaW1tZWRpYXRlbHkgLSBsZXQgcmV0cnkgbG9vcCBkZWNpZGUgd2hldGhlciB0byBhYm9ydFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coXCJTdWNjZXNzIVwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFNlcnZpY2UgcmVnaXN0cmF0aW9uIGNhbGwgZmFpbGVkOiAkeyhlIGFzIEVycm9yKT8ubWVzc2FnZX0gKGF0dGVtcHQgJHthdHRlbXB0fSlgKTtcbiAgICB9XG5cbiAgICBpZiAoYXR0ZW1wdCA+IE1BWF9SRUdJU1RSQVRJT05fQVRURU1QVFMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFNlcnZpY2UgcmVnaXN0cmF0aW9uIGZhaWxlZCBhZnRlciAke2F0dGVtcHR9IGF0dGVtcHRzLmApO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGF0dGVtcHQgKz0gMTtcbiAgICBjb25zdCB3YWl0VGltZU1pbGxpcyA9IDJfMDAwICsgMiAqKiBhdHRlbXB0ICogMV8wMDA7IC8vIDNzIC0+IDZzIC0+IDEwc1xuICAgIGNvbnNvbGUubG9nKGBSZXRyeWluZyByZWdpc3RyYXRpb24gYWZ0ZXIgJHt3YWl0VGltZU1pbGxpc30gbXMuLi5gKTtcbiAgICBhd2FpdCBzbGVlcCh3YWl0VGltZU1pbGxpcyk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoZmFpbHVyZVJlYXNvbiA/PyBcIlJlc3RhdGUgc2VydmljZSByZWdpc3RyYXRpb24gZmFpbGVkLiBQbGVhc2Ugc2VlIGxvZ3MgZm9yIGRldGFpbHMuXCIpO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlQXV0aEhlYWRlcihwcm9wczogUmVnaXN0cmF0aW9uUHJvcGVydGllcyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuICBpZiAoIXByb3BzLmF1dGhUb2tlblNlY3JldEFybikge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKGBVc2luZyBiZWFyZXIgYXV0aGVudGljYXRpb24gdG9rZW4gZnJvbSBzZWNyZXQgJHtwcm9wcy5hdXRoVG9rZW5TZWNyZXRBcm59YCk7XG4gIGNvbnN0IHNzbSA9IG5ldyBTZWNyZXRzTWFuYWdlckNsaWVudCgpO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHNzbS5zZW5kKFxuICAgIG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoe1xuICAgICAgU2VjcmV0SWQ6IHByb3BzLmF1dGhUb2tlblNlY3JldEFybixcbiAgICB9KSxcbiAgKTtcblxuICBjb25zb2xlLmxvZyhgU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBzZWNyZXQgXCIke3Jlc3BvbnNlLk5hbWV9XCIgdmVyc2lvbiAke3Jlc3BvbnNlLlZlcnNpb25JZH1gKTtcbiAgcmV0dXJuIHtcbiAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7cmVzcG9uc2UuU2VjcmV0U3RyaW5nfWAsXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNsZWVwKG1pbGxpczogbnVtYmVyKSB7XG4gIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1pbGxpcykpO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@restatedev/restate-cdk",
|
|
3
3
|
"description": "Restate.dev CDK constructs",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.1",
|
|
5
5
|
"author": "Restate Developers",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"email": "code@restate.dev",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"ts-node": "^10.9.1",
|
|
36
36
|
"typescript": "~5.2.2"
|
|
37
37
|
},
|
|
38
|
-
"
|
|
38
|
+
"peerDependencies": {
|
|
39
39
|
"@aws-sdk/client-secrets-manager": "^3.462.0",
|
|
40
|
-
"aws-cdk-lib": "2.
|
|
40
|
+
"aws-cdk-lib": "^2.113.0",
|
|
41
41
|
"constructs": "^10.0.0",
|
|
42
42
|
"node-fetch": "^3.3.2",
|
|
43
43
|
"source-map-support": "^0.5.21"
|