@pipeline-builder/pipeline-manager 3.4.149 → 3.4.151
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/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +10 -1
- package/dist/lambda/token-renew-handler.d.ts.map +1 -1
- package/dist/lambda/token-renew-handler.js +19 -3
- package/dist/templates/token-renew-stack.json +2 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +11 -3
- package/dist/utils/platform-secret.d.ts.map +1 -1
- package/dist/utils/platform-secret.js +8 -1
- package/dist/utils/tls.d.ts +23 -0
- package/dist/utils/tls.d.ts.map +1 -1
- package/dist/utils/tls.js +33 -2
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkM5C"}
|
package/dist/commands/login.js
CHANGED
|
@@ -8,6 +8,7 @@ import { generateExecutionId, TIMEOUTS } from '../config/cli.constants.js';
|
|
|
8
8
|
import { ERROR_CODES, handleError } from '../utils/error-handler.js';
|
|
9
9
|
import { printDebug, printError, printInfo, printSection, printSuccess, printWarning } from '../utils/output-utils.js';
|
|
10
10
|
import { checkAuthRateLimit, recordAuthFailure, recordAuthSuccess } from '../utils/rate-limiter.js';
|
|
11
|
+
import { isProductionEnv } from '../utils/tls.js';
|
|
11
12
|
const { bold, cyan, green, magenta } = pico;
|
|
12
13
|
/**
|
|
13
14
|
* Registers the `login` command with the CLI program.
|
|
@@ -42,6 +43,14 @@ export function login(program) {
|
|
|
42
43
|
.action(async (options) => {
|
|
43
44
|
const executionId = generateExecutionId();
|
|
44
45
|
const isRefresh = !!options.refresh;
|
|
46
|
+
// SECURITY: login/refresh POST plaintext passwords and JWTs. Never send them
|
|
47
|
+
// over an unverified TLS connection in production — a MITM would harvest them.
|
|
48
|
+
// Mirrors the guard in config-loader / tls. In non-production, --no-verify-ssl
|
|
49
|
+
// is still honored (self-signed dev platforms).
|
|
50
|
+
if (options.verifySsl === false && isProductionEnv()) {
|
|
51
|
+
printError('Refusing to disable TLS verification in production (NODE_ENV=production) — credentials must not be transmitted over an unverified connection. Use a valid certificate, or unset NODE_ENV for local/self-signed development.');
|
|
52
|
+
process.exit(ERROR_CODES.AUTHENTICATION);
|
|
53
|
+
}
|
|
45
54
|
// Credentials may come from flags OR the PLATFORM_IDENTIFIER/PLATFORM_PASSWORD
|
|
46
55
|
// env vars (so the password need not appear in shell history / `ps`).
|
|
47
56
|
const identifier = options.identifier || process.env.PLATFORM_IDENTIFIER;
|
|
@@ -181,4 +190,4 @@ export function login(program) {
|
|
|
181
190
|
}
|
|
182
191
|
});
|
|
183
192
|
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvbG9naW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXBHLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFhNUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBQyxPQUFnQjtJQUNwQyxPQUFPO1NBQ0osT0FBTyxDQUFDLE9BQU8sQ0FBQztTQUNoQixXQUFXLENBQUMsNERBQTRELENBQUM7U0FDekUsTUFBTSxDQUFDLCtCQUErQixFQUFFLG1CQUFtQixDQUFDO1NBQzVELE1BQU0sQ0FBQywyQkFBMkIsRUFBRSxVQUFVLENBQUM7U0FDL0MsTUFBTSxDQUFDLDBCQUEwQixFQUFFLGtEQUFrRCxDQUFDO1NBQ3RGLE1BQU0sQ0FBQyxlQUFlLEVBQUUsK0NBQStDLENBQUM7U0FDeEUsTUFB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LEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNELGtEQUFrRDtZQUNsRCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7Z0JBQ3RDLE1BQU0sT0FBTyxHQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsSUFBNkIsRUFBRSxPQUFPLENBQUM7Z0JBRXhFLFVBQVUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxPQUFPLFNBQVMsRUFBRTtvQkFDNUQsTUFBTSxFQUFFLE1BQU0sSUFBSSxhQUFhO29CQUMvQixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7aUJBQ2hDLENBQUMsQ0FBQztnQkFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBRUQsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsY0FBYyxFQUFFO2dCQUM3QyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUs7Z0JBQzNCLElBQUksRUFBRSxJQUFJO2dCQUNWLE9BQU8sRUFBRTtvQkFDUCxPQUFPLEVBQUUsT0FBTztvQkFDaEIsV0FBVztvQkFDWCxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7b0JBQzlCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztpQkFDakI7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCBodHRwcyBmcm9tICdodHRwcyc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQgcGljbyBmcm9tICdwaWNvY29sb3JzJztcbmltcG9ydCB7IGdlbmVyYXRlRXhlY3V0aW9uSWQsIFRJTUVPVVRTIH0gZnJvbSAnLi4vY29uZmlnL2NsaS5jb25zdGFudHMuanMnO1xuaW1wb3J0IHsgRVJST1JfQ09ERVMsIGhhbmRsZUVycm9yIH0gZnJvbSAnLi4vdXRpbHMvZXJyb3ItaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBwcmludERlYnVnLCBwcmludEVycm9yLCBwcmludEluZm8sIHByaW50U2VjdGlvbiwgcHJpbnRTdWNjZXNzLCBwcmludFdhcm5pbmcgfSBmcm9tICcuLi91dGlscy9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgY2hlY2tBdXRoUmF0ZUxpbWl0LCByZWNvcmRBdXRoRmFpbHVyZSwgcmVjb3JkQXV0aFN1Y2Nlc3MgfSBmcm9tICcuLi91dGlscy9yYXRlLWxpbWl0ZXIuanMnO1xuXG5jb25zdCB7IGJvbGQsIGN5YW4sIGdyZWVuLCBtYWdlbnRhIH0gPSBwaWNvO1xuXG4vKipcbiAqIEV4cGVjdGVkIHNoYXBlIG9mIHRoZSBsb2dpbi9yZWZyZXNoIEFQSSByZXNwb25zZS5cbiAqL1xuaW50ZXJmYWNlIExvZ2luUmVzcG9uc2Uge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBkYXRhOiB7XG4gICAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgICByZWZyZXNoVG9rZW46IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGBsb2dpbmAgY29tbWFuZCB3aXRoIHRoZSBDTEkgcHJvZ3JhbS5cbiAqXG4gKiBBdXRoZW50aWNhdGVzIGFnYWluc3QgdGhlIHBsYXRmb3JtIEFQSSBhbmQgcHJpbnRzIGFuIGV4cG9ydCBzdGF0ZW1lbnRcbiAqIGZvciBgUExBVEZPUk1fVE9LRU5gIG9uIHN1Y2Nlc3MuICBEb2VzIE5PVCByZXF1aXJlIGBQTEFURk9STV9UT0tFTmBcbiAqIHRvIGJlIHNldCBiZWZvcmVoYW5kICh1bmxpa2Ugb3RoZXIgY29tbWFuZHMpLlxuICpcbiAqIEBwYXJhbSBwcm9ncmFtIC0gVGhlIHJvb3QgQ29tbWFuZGVyIHByb2dyYW0gaW5zdGFuY2UgdG8gYXR0YWNoIHRoZSBjb21tYW5kIHRvLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBiYXNoXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC0taWRlbnRpZmllciBhZG1pbkBleGFtcGxlLmNvbSAtLXBhc3N3b3JkIHNlY3JldFxuICogcGlwZWxpbmUtbWFuYWdlciBsb2dpbiAtdSBhZG1pbkBleGFtcGxlLmNvbSAtcCBzZWNyZXRcbiAqIHBpcGVsaW5lLW1hbmFnZXIgbG9naW4gLXUgYWRtaW5AZXhhbXBsZS5jb20gLXAgc2VjcmV0IC0tdXJsIGh0dHBzOi8vbXlob3N0Ojg0NDNcbiAqIGV2YWwgJChwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC11IGFkbWluQGV4YW1wbGUuY29tIC1wIHNlY3JldCAtLXF1aWV0KVxuICogcGlwZWxpbmUtbWFuYWdlciBsb2dpbiAtLXJlZnJlc2ggPHJlZnJlc2gtdG9rZW4+XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvZ2luKHByb2dyYW06IENvbW1hbmQpOiB2b2lkIHtcbiAgcHJvZ3JhbVxuICAgIC5jb21tYW5kKCdsb2dpbicpXG4gICAgLmRlc2NyaXB0aW9uKCdBdXRoZW50aWNhdGUgd2l0aCB0aGUgcGxhdGZvcm0gYW5kIG9idGFpbiBhIFBMQVRGT1JNX1RPS0VOJylcbiAgICAub3B0aW9uKCctdSwgLS1pZGVudGlmaWVyIDxpZGVudGlmaWVyPicsICdVc2VybmFtZSBvciBlbWFpbCcpXG4gICAgLm9wdGlvbignLXAsIC0tcGFzc3dvcmQgPHBhc3N3b3JkPicsICdQYXNzd29yZCcpXG4gICAgLm9wdGlvbignLS1yZWZyZXNoIDxyZWZyZXNoVG9rZW4+JywgJ1VzZSBhIHJlZnJlc2ggdG9rZW4gaW5zdGVhZCBvZiBsb2dpbiBjcmVkZW50aWFscycpXG4gICAgLm9wdGlvbignLS1vcmcgPG9yZ0lkPicsICdTd2l0Y2ggdG8gYSBzcGVjaWZpYyBvcmdhbml6YXRpb24gYWZ0ZXIgbG9naW4nKVxuICAgIC5vcHRpb24oJy0tdXJsIDx1cmw+JywgJ1BsYXRmb3JtIGJhc2UgVVJMJywgcHJvY2Vzcy5lbnYuUExBVEZPUk1fQkFTRV9VUkwgfHwgJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnKVxuICAgIC5vcHRpb24oJy0tdmVyaWZ5LXNzbCcsICdFbmFibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG4gICAgLm9wdGlvbignLS1uby12ZXJpZnktc3NsJywgJ0Rpc2FibGUgU1NMIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbicpXG4gICAgLm9wdGlvbignLS1xdWlldCcsICdPbmx5IHByaW50IHRoZSBleHBvcnQgc3RhdGVtZW50ICh1c2VmdWwgZm9yIGV2YWwpJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCBleGVjdXRpb25JZCA9IGdlbmVyYXRlRXhlY3V0aW9uSWQoKTtcbiAgICAgIGNvbnN0IGlzUmVmcmVzaCA9ICEhb3B0aW9ucy5yZWZyZXNoO1xuXG4gICAgICAvLyBDcmVkZW50aWFscyBtYXkgY29tZSBmcm9tIGZsYWdzIE9SIHRoZSBQTEFURk9STV9JREVOVElGSUVSL1BMQVRGT1JNX1BBU1NXT1JEXG4gICAgICAvLyBlbnYgdmFycyAoc28gdGhlIHBhc3N3b3JkIG5lZWQgbm90IGFwcGVhciBpbiBzaGVsbCBoaXN0b3J5IC8gYHBzYCkuXG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gb3B0aW9ucy5pZGVudGlmaWVyIHx8IHByb2Nlc3MuZW52LlBMQVRGT1JNX0lERU5USUZJRVI7XG4gICAgICBjb25zdCBwYXNzd29yZCA9IG9wdGlvbnMucGFzc3dvcmQgfHwgcHJvY2Vzcy5lbnYuUExBVEZPUk1fUEFTU1dPUkQ7XG5cbiAgICAgIHRyeSB7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgcmVxdWlyZWQgb3B0aW9uc1xuICAgICAgICBpZiAoIWlzUmVmcmVzaCAmJiAoIWlkZW50aWZpZXIgfHwgIXBhc3N3b3JkKSkge1xuICAgICAgICAgIHByaW50RXJyb3IoJ0xvZ2luIHJlcXVpcmVzIC0taWRlbnRpZmllciBhbmQgLS1wYXNzd29yZCAob3IgUExBVEZPUk1fSURFTlRJRklFUi9QTEFURk9STV9QQVNTV09SRCBlbnYpLCBvciAtLXJlZnJlc2ggPHRva2VuPicpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1JlZnJlc2ggJiYgb3B0aW9ucy5wYXNzd29yZCkge1xuICAgICAgICAgIHByaW50V2FybmluZygnUGFzc2luZyAtLXBhc3N3b3JkIG9uIHRoZSBjb21tYW5kIGxpbmUgY2FuIGV4cG9zZSBpdCB2aWEgc2hlbGwgaGlzdG9yeTsgcHJlZmVyIHRoZSBQTEFURk9STV9QQVNTV09SRCBlbnYgdmFyLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmF0ZSBsaW1pdGluZyDigJQgcHJldmVudCBicnV0ZSBmb3JjZSAobG9naW4gb25seSlcbiAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHtcbiAgICAgICAgICBjb25zdCByYXRlTGltaXRNc2cgPSBjaGVja0F1dGhSYXRlTGltaXQoaWRlbnRpZmllciwgb3B0aW9ucy51cmwpO1xuICAgICAgICAgIGlmIChyYXRlTGltaXRNc2cpIHtcbiAgICAgICAgICAgIHByaW50RXJyb3IocmF0ZUxpbWl0TXNnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcXVpZXQgPSBvcHRpb25zLnF1aWV0ID8/IGZhbHNlO1xuXG4gICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICBwcmludFNlY3Rpb24oaXNSZWZyZXNoID8gJ1Rva2VuIFJlZnJlc2gnIDogJ0xvZ2luJyk7XG4gICAgICAgICAgY29uc29sZS5sb2coYCR7bWFnZW50YShgW0VYRS0ke2V4ZWN1dGlvbklkfV1gKX0gJHtjeWFuKGJvbGQoaXNSZWZyZXNoID8gJ1Rva2VuIFJlZnJlc2gnIDogJ1BsYXRmb3JtIEF1dGhlbnRpY2F0aW9uJykpfWApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBwcmludEluZm8oaXNSZWZyZXNoID8gJ1JlZnJlc2hpbmcgYWNjZXNzIHRva2VuJyA6ICdBdXRoZW50aWNhdGluZycsIHtcbiAgICAgICAgICAgIC4uLihpZGVudGlmaWVyID8geyBpZGVudGlmaWVyIH0gOiB7fSksXG4gICAgICAgICAgICB1cmw6IG9wdGlvbnMudXJsLFxuICAgICAgICAgICAgdmVyaWZ5U3NsOiBvcHRpb25zLnZlcmlmeVNzbCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGh0dHBzQWdlbnQgPSBuZXcgaHR0cHMuQWdlbnQoe1xuICAgICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogb3B0aW9ucy52ZXJpZnlTc2wgPz8gdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGlzUmVmcmVzaCkge1xuICAgICAgICAgIGNvbnN0IHJlZnJlc2hVcmwgPSBgJHtvcHRpb25zLnVybH0vYXBpL2F1dGgvcmVmcmVzaGA7XG4gICAgICAgICAgcHJpbnREZWJ1ZygnUE9TVCcsIHsgdXJsOiByZWZyZXNoVXJsIH0pO1xuXG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PExvZ2luUmVzcG9uc2U+KFxuICAgICAgICAgICAgcmVmcmVzaFVybCxcbiAgICAgICAgICAgIHsgcmVmcmVzaFRva2VuOiBvcHRpb25zLnJlZnJlc2ggfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgICAgICAgIGh0dHBzQWdlbnQsXG4gICAgICAgICAgICAgIHRpbWVvdXQ6IFRJTUVPVVRTLkhUVFBfUkVRVUVTVCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRva2VuID0gcmVzcG9uc2UuZGF0YT8uZGF0YT8uYWNjZXNzVG9rZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbG9naW5VcmwgPSBgJHtvcHRpb25zLnVybH0vYXBpL2F1dGgvbG9naW5gO1xuICAgICAgICAgIHByaW50RGVidWcoJ1BPU1QnLCB7IHVybDogbG9naW5VcmwgfSk7XG5cbiAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3Q8TG9naW5SZXNwb25zZT4oXG4gICAgICAgICAgICBsb2dpblVybCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWRlbnRpZmllcixcbiAgICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgICAgICAgaHR0cHNBZ2VudCxcbiAgICAgICAgICAgICAgdGltZW91dDogVElNRU9VVFMuSFRUUF9SRVFVRVNULFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdG9rZW4gPSByZXNwb25zZS5kYXRhPy5kYXRhPy5hY2Nlc3NUb2tlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICBpZiAoIWlzUmVmcmVzaCkgcmVjb3JkQXV0aEZhaWx1cmUoaWRlbnRpZmllciwgb3B0aW9ucy51cmwpO1xuICAgICAgICAgIHByaW50RXJyb3IoYCR7aXNSZWZyZXNoID8gJ1Rva2VuIHJlZnJlc2gnIDogJ0xvZ2luJ30gZmFpbGVkOiBubyBhY2Nlc3MgdG9rZW4gaW4gcmVzcG9uc2VgKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHJlY29yZEF1dGhTdWNjZXNzKGlkZW50aWZpZXIsIG9wdGlvbnMudXJsKTtcblxuICAgICAgICAvLyBTd2l0Y2ggdG8gYSBzcGVjaWZpYyBvcmdhbml6YXRpb24gaWYgLS1vcmcgaXMgcHJvdmlkZWRcbiAgICAgICAgaWYgKG9wdGlvbnMub3JnKSB7XG4gICAgICAgICAgaWYgKCFxdWlldCkge1xuICAgICAgICAgICAgcHJpbnRJbmZvKCdTd2l0Y2hpbmcgdG8gb3JnYW5pemF0aW9uJywgeyBvcmdJZDogb3B0aW9ucy5vcmcgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc3dpdGNoVXJsID0gYCR7b3B0aW9ucy51cmx9L2FwaS9hdXRoL3N3aXRjaC1vcmdgO1xuICAgICAgICAgIHByaW50RGVidWcoJ1BPU1QnLCB7IHVybDogc3dpdGNoVXJsIH0pO1xuXG4gICAgICAgICAgY29uc3Qgc3dpdGNoUmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PExvZ2luUmVzcG9uc2U+KFxuICAgICAgICAgICAgc3dpdGNoVXJsLFxuICAgICAgICAgICAgeyBvcmdhbml6YXRpb25JZDogb3B0aW9ucy5vcmcgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHR0cHNBZ2VudCxcbiAgICAgICAgICAgICAgdGltZW91dDogVElNRU9VVFMuSFRUUF9SRVFVRVNULFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3Qgc3dpdGNoZWRUb2tlbiA9IHN3aXRjaFJlc3BvbnNlLmRhdGE/LmRhdGE/LmFjY2Vzc1Rva2VuO1xuICAgICAgICAgIGlmICghc3dpdGNoZWRUb2tlbikge1xuICAgICAgICAgICAgcHJpbnRFcnJvcignT3JnYW5pemF0aW9uIHN3aXRjaCBmYWlsZWQ6IG5vIGFjY2VzcyB0b2tlbiBpbiByZXNwb25zZScpO1xuICAgICAgICAgICAgcHJvY2Vzcy5leGl0KEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0b2tlbiA9IHN3aXRjaGVkVG9rZW47XG5cbiAgICAgICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgICAgICBwcmludFN1Y2Nlc3MoYFN3aXRjaGVkIHRvIG9yZ2FuaXphdGlvbiAke29wdGlvbnMub3JnfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgcHJpbnRTdWNjZXNzKGlzUmVmcmVzaCA/ICdUb2tlbiByZWZyZXNoZWQgc3VjY2Vzc2Z1bGx5JyA6ICdMb2dpbiBzdWNjZXNzZnVsJyk7XG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coYGV4cG9ydCBQTEFURk9STV9UT0tFTj0ke3Rva2VufWApO1xuXG4gICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgcHJpbnRJbmZvKCdUaXA6IFJ1biB0aGUgZm9sbG93aW5nIHRvIHNldCB0aGUgdG9rZW4gaW4geW91ciBzaGVsbDonKTtcbiAgICAgICAgICBjb25zdCBvcmdGbGFnID0gb3B0aW9ucy5vcmcgPyBgIC0tb3JnICR7b3B0aW9ucy5vcmd9YCA6ICcnO1xuICAgICAgICAgIGlmIChpc1JlZnJlc2gpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGdyZWVuKGAgIGV2YWwgJChwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC0tcmVmcmVzaCAnPHJlZnJlc2gtdG9rZW4+JyR7b3JnRmxhZ30gLS1xdWlldClgKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGdyZWVuKGAgIGV2YWwgJChwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC11ICR7aWRlbnRpZmllcn0gLXAgJyoqKicke29yZ0ZsYWd9IC0tcXVpZXQpYCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gS2V5IHRoZSBmYWlsdXJlIHRvIChpZGVudGlmaWVyLCB1cmwpIGxpa2UgdGhlIGNoZWNrL3N1Y2Nlc3Mvbm8tdG9rZW5cbiAgICAgICAgLy8gcGF0aHMg4oCUIGEgYmFkLXBhc3N3b3JkIDQwMSB0aHJvd3MgdG8gaGVyZSwgc28ga2V5aW5nIGl0IHRvIHRoZSBzaGFyZWRcbiAgICAgICAgLy8gZGVmYXVsdCBidWNrZXQgbWVhbnQgYnJ1dGUtZm9yY2UgYXR0ZW1wdHMgbmV2ZXIgYWNjcnVlZCB0b3dhcmQgbG9ja291dC5cbiAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHJlY29yZEF1dGhGYWlsdXJlKGlkZW50aWZpZXIsIG9wdGlvbnMudXJsKTtcbiAgICAgICAgLy8gUHJvdmlkZSBhIGNsZWFyIGZhaWx1cmUgbWVzc2FnZSBmb3IgYXV0aCBlcnJvcnNcbiAgICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnJvcikpIHtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSBlcnJvci5yZXNwb25zZT8uc3RhdHVzO1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoZXJyb3IucmVzcG9uc2U/LmRhdGEgYXMgeyBtZXNzYWdlPzogc3RyaW5nIH0pPy5tZXNzYWdlO1xuXG4gICAgICAgICAgcHJpbnRFcnJvcihgJHtpc1JlZnJlc2ggPyAnVG9rZW4gcmVmcmVzaCcgOiAnTG9naW4nfSBmYWlsZWRgLCB7XG4gICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyA/PyAnbm8gcmVzcG9uc2UnLFxuICAgICAgICAgICAgLi4uKG1lc3NhZ2UgPyB7IG1lc3NhZ2UgfSA6IHt9KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICB9XG5cbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OLCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgY29tbWFuZDogJ2xvZ2luJyxcbiAgICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogb3B0aW9ucy5pZGVudGlmaWVyLFxuICAgICAgICAgICAgdXJsOiBvcHRpb25zLnVybCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvbG9naW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBYTVDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsT0FBZ0I7SUFDcEMsT0FBTztTQUNKLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEIsV0FBVyxDQUFDLDREQUE0RCxDQUFDO1NBQ3pFLE1BQU0sQ0FBQywrQkFBK0IsRUFBRSxtQkFBbUIsQ0FBQztTQUM1RCxNQUFNLENBQUMsMkJBQTJCLEVBQUUsVUFBVSxDQUFDO1NBQy9DLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxrREFBa0QsQ0FBQztTQUN0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QUFFLE9BQU8sQ0FBQyxVQUFVO29CQUM5QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7aUJBQ2pCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgaHR0cHMgZnJvbSAnaHR0cHMnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbW1hbmQgfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUV4ZWN1dGlvbklkLCBUSU1FT1VUUyB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcbmltcG9ydCB7IEVSUk9SX0NPREVTLCBoYW5kbGVFcnJvciB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgcHJpbnREZWJ1ZywgcHJpbnRFcnJvciwgcHJpbnRJbmZvLCBwcmludFNlY3Rpb24sIHByaW50U3VjY2VzcywgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi4vdXRpbHMvb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IGNoZWNrQXV0aFJhdGVMaW1pdCwgcmVjb3JkQXV0aEZhaWx1cmUsIHJlY29yZEF1dGhTdWNjZXNzIH0gZnJvbSAnLi4vdXRpbHMvcmF0ZS1saW1pdGVyLmpzJztcbmltcG9ydCB7IGlzUHJvZHVjdGlvbkVudiB9IGZyb20gJy4uL3V0aWxzL3Rscy5qcyc7XG5cbmNvbnN0IHsgYm9sZCwgY3lhbiwgZ3JlZW4sIG1hZ2VudGEgfSA9IHBpY287XG5cbi8qKlxuICogRXhwZWN0ZWQgc2hhcGUgb2YgdGhlIGxvZ2luL3JlZnJlc2ggQVBJIHJlc3BvbnNlLlxuICovXG5pbnRlcmZhY2UgTG9naW5SZXNwb25zZSB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGRhdGE6IHtcbiAgICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICAgIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYGxvZ2luYCBjb21tYW5kIHdpdGggdGhlIENMSSBwcm9ncmFtLlxuICpcbiAqIEF1dGhlbnRpY2F0ZXMgYWdhaW5zdCB0aGUgcGxhdGZvcm0gQVBJIGFuZCBwcmludHMgYW4gZXhwb3J0IHN0YXRlbWVudFxuICogZm9yIGBQTEFURk9STV9UT0tFTmAgb24gc3VjY2Vzcy4gIERvZXMgTk9UIHJlcXVpcmUgYFBMQVRGT1JNX1RPS0VOYFxuICogdG8gYmUgc2V0IGJlZm9yZWhhbmQgKHVubGlrZSBvdGhlciBjb21tYW5kcykuXG4gKlxuICogQHBhcmFtIHByb2dyYW0gLSBUaGUgcm9vdCBDb21tYW5kZXIgcHJvZ3JhbSBpbnN0YW5jZSB0byBhdHRhY2ggdGhlIGNvbW1hbmQgdG8uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGJhc2hcbiAqIHBpcGVsaW5lLW1hbmFnZXIgbG9naW4gLS1pZGVudGlmaWVyIGFkbWluQGV4YW1wbGUuY29tIC0tcGFzc3dvcmQgc2VjcmV0XG4gKiBwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC11IGFkbWluQGV4YW1wbGUuY29tIC1wIHNlY3JldFxuICogcGlwZWxpbmUtbWFuYWdlciBsb2dpbiAtdSBhZG1pbkBleGFtcGxlLmNvbSAtcCBzZWNyZXQgLS11cmwgaHR0cHM6Ly9teWhvc3Q6ODQ0M1xuICogZXZhbCAkKHBpcGVsaW5lLW1hbmFnZXIgbG9naW4gLXUgYWRtaW5AZXhhbXBsZS5jb20gLXAgc2VjcmV0IC0tcXVpZXQpXG4gKiBwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC0tcmVmcmVzaCA8cmVmcmVzaC10b2tlbj5cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9naW4ocHJvZ3JhbTogQ29tbWFuZCk6IHZvaWQge1xuICBwcm9ncmFtXG4gICAgLmNvbW1hbmQoJ2xvZ2luJylcbiAgICAuZGVzY3JpcHRpb24oJ0F1dGhlbnRpY2F0ZSB3aXRoIHRoZSBwbGF0Zm9ybSBhbmQgb2J0YWluIGEgUExBVEZPUk1fVE9LRU4nKVxuICAgIC5vcHRpb24oJy11LCAtLWlkZW50aWZpZXIgPGlkZW50aWZpZXI+JywgJ1VzZXJuYW1lIG9yIGVtYWlsJylcbiAgICAub3B0aW9uKCctcCwgLS1wYXNzd29yZCA8cGFzc3dvcmQ+JywgJ1Bhc3N3b3JkJylcbiAgICAub3B0aW9uKCctLXJlZnJlc2ggPHJlZnJlc2hUb2tlbj4nLCAnVXNlIGEgcmVmcmVzaCB0b2tlbiBpbnN0ZWFkIG9mIGxvZ2luIGNyZWRlbnRpYWxzJylcbiAgICAub3B0aW9uKCctLW9yZyA8b3JnSWQ+JywgJ1N3aXRjaCB0byBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiBhZnRlciBsb2dpbicpXG4gICAgLm9wdGlvbignLS11cmwgPHVybD4nLCAnUGxhdGZvcm0gYmFzZSBVUkwnLCBwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCB8fCAnaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0MycpXG4gICAgLm9wdGlvbignLS12ZXJpZnktc3NsJywgJ0VuYWJsZSBTU0wgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uJylcbiAgICAub3B0aW9uKCctLW5vLXZlcmlmeS1zc2wnLCAnRGlzYWJsZSBTU0wgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uJylcbiAgICAub3B0aW9uKCctLXF1aWV0JywgJ09ubHkgcHJpbnQgdGhlIGV4cG9ydCBzdGF0ZW1lbnQgKHVzZWZ1bCBmb3IgZXZhbCknKVxuICAgIC5hY3Rpb24oYXN5bmMgKG9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbklkID0gZ2VuZXJhdGVFeGVjdXRpb25JZCgpO1xuICAgICAgY29uc3QgaXNSZWZyZXNoID0gISFvcHRpb25zLnJlZnJlc2g7XG5cbiAgICAgIC8vIFNFQ1VSSVRZOiBsb2dpbi9yZWZyZXNoIFBPU1QgcGxhaW50ZXh0IHBhc3N3b3JkcyBhbmQgSldUcy4gTmV2ZXIgc2VuZCB0aGVtXG4gICAgICAvLyBvdmVyIGFuIHVudmVyaWZpZWQgVExTIGNvbm5lY3Rpb24gaW4gcHJvZHVjdGlvbiDigJQgYSBNSVRNIHdvdWxkIGhhcnZlc3QgdGhlbS5cbiAgICAgIC8vIE1pcnJvcnMgdGhlIGd1YXJkIGluIGNvbmZpZy1sb2FkZXIgLyB0bHMuIEluIG5vbi1wcm9kdWN0aW9uLCAtLW5vLXZlcmlmeS1zc2xcbiAgICAgIC8vIGlzIHN0aWxsIGhvbm9yZWQgKHNlbGYtc2lnbmVkIGRldiBwbGF0Zm9ybXMpLlxuICAgICAgaWYgKG9wdGlvbnMudmVyaWZ5U3NsID09PSBmYWxzZSAmJiBpc1Byb2R1Y3Rpb25FbnYoKSkge1xuICAgICAgICBwcmludEVycm9yKCdSZWZ1c2luZyB0byBkaXNhYmxlIFRMUyB2ZXJpZmljYXRpb24gaW4gcHJvZHVjdGlvbiAoTk9ERV9FTlY9cHJvZHVjdGlvbikg4oCUIGNyZWRlbnRpYWxzIG11c3Qgbm90IGJlIHRyYW5zbWl0dGVkIG92ZXIgYW4gdW52ZXJpZmllZCBjb25uZWN0aW9uLiBVc2UgYSB2YWxpZCBjZXJ0aWZpY2F0ZSwgb3IgdW5zZXQgTk9ERV9FTlYgZm9yIGxvY2FsL3NlbGYtc2lnbmVkIGRldmVsb3BtZW50LicpO1xuICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgfVxuXG4gICAgICAvLyBDcmVkZW50aWFscyBtYXkgY29tZSBmcm9tIGZsYWdzIE9SIHRoZSBQTEFURk9STV9JREVOVElGSUVSL1BMQVRGT1JNX1BBU1NXT1JEXG4gICAgICAvLyBlbnYgdmFycyAoc28gdGhlIHBhc3N3b3JkIG5lZWQgbm90IGFwcGVhciBpbiBzaGVsbCBoaXN0b3J5IC8gYHBzYCkuXG4gICAgICBjb25zdCBpZGVudGlmaWVyID0gb3B0aW9ucy5pZGVudGlmaWVyIHx8IHByb2Nlc3MuZW52LlBMQVRGT1JNX0lERU5USUZJRVI7XG4gICAgICBjb25zdCBwYXNzd29yZCA9IG9wdGlvbnMucGFzc3dvcmQgfHwgcHJvY2Vzcy5lbnYuUExBVEZPUk1fUEFTU1dPUkQ7XG5cbiAgICAgIHRyeSB7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgcmVxdWlyZWQgb3B0aW9uc1xuICAgICAgICBpZiAoIWlzUmVmcmVzaCAmJiAoIWlkZW50aWZpZXIgfHwgIXBhc3N3b3JkKSkge1xuICAgICAgICAgIHByaW50RXJyb3IoJ0xvZ2luIHJlcXVpcmVzIC0taWRlbnRpZmllciBhbmQgLS1wYXNzd29yZCAob3IgUExBVEZPUk1fSURFTlRJRklFUi9QTEFURk9STV9QQVNTV09SRCBlbnYpLCBvciAtLXJlZnJlc2ggPHRva2VuPicpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1JlZnJlc2ggJiYgb3B0aW9ucy5wYXNzd29yZCkge1xuICAgICAgICAgIHByaW50V2FybmluZygnUGFzc2luZyAtLXBhc3N3b3JkIG9uIHRoZSBjb21tYW5kIGxpbmUgY2FuIGV4cG9zZSBpdCB2aWEgc2hlbGwgaGlzdG9yeTsgcHJlZmVyIHRoZSBQTEFURk9STV9QQVNTV09SRCBlbnYgdmFyLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmF0ZSBsaW1pdGluZyDigJQgcHJldmVudCBicnV0ZSBmb3JjZSAobG9naW4gb25seSlcbiAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHtcbiAgICAgICAgICBjb25zdCByYXRlTGltaXRNc2cgPSBjaGVja0F1dGhSYXRlTGltaXQoaWRlbnRpZmllciwgb3B0aW9ucy51cmwpO1xuICAgICAgICAgIGlmIChyYXRlTGltaXRNc2cpIHtcbiAgICAgICAgICAgIHByaW50RXJyb3IocmF0ZUxpbWl0TXNnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdChFUlJPUl9DT0RFUy5BVVRIRU5USUNBVElPTik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcXVpZXQgPSBvcHRpb25zLnF1aWV0ID8/IGZhbHNlO1xuXG4gICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICBwcmludFNlY3Rpb24oaXNSZWZyZXNoID8gJ1Rva2VuIFJlZnJlc2gnIDogJ0xvZ2luJyk7XG4gICAgICAgICAgY29uc29sZS5sb2coYCR7bWFnZW50YShgW0VYRS0ke2V4ZWN1dGlvbklkfV1gKX0gJHtjeWFuKGJvbGQoaXNSZWZyZXNoID8gJ1Rva2VuIFJlZnJlc2gnIDogJ1BsYXRmb3JtIEF1dGhlbnRpY2F0aW9uJykpfWApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgICAgICAgICBwcmludEluZm8oaXNSZWZyZXNoID8gJ1JlZnJlc2hpbmcgYWNjZXNzIHRva2VuJyA6ICdBdXRoZW50aWNhdGluZycsIHtcbiAgICAgICAgICAgIC4uLihpZGVudGlmaWVyID8geyBpZGVudGlmaWVyIH0gOiB7fSksXG4gICAgICAgICAgICB1cmw6IG9wdGlvbnMudXJsLFxuICAgICAgICAgICAgdmVyaWZ5U3NsOiBvcHRpb25zLnZlcmlmeVNzbCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGh0dHBzQWdlbnQgPSBuZXcgaHR0cHMuQWdlbnQoe1xuICAgICAgICAgIHJlamVjdFVuYXV0aG9yaXplZDogb3B0aW9ucy52ZXJpZnlTc2wgPz8gdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IHRva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgaWYgKGlzUmVmcmVzaCkge1xuICAgICAgICAgIGNvbnN0IHJlZnJlc2hVcmwgPSBgJHtvcHRpb25zLnVybH0vYXBpL2F1dGgvcmVmcmVzaGA7XG4gICAgICAgICAgcHJpbnREZWJ1ZygnUE9TVCcsIHsgdXJsOiByZWZyZXNoVXJsIH0pO1xuXG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PExvZ2luUmVzcG9uc2U+KFxuICAgICAgICAgICAgcmVmcmVzaFVybCxcbiAgICAgICAgICAgIHsgcmVmcmVzaFRva2VuOiBvcHRpb25zLnJlZnJlc2ggfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgICAgICAgIGh0dHBzQWdlbnQsXG4gICAgICAgICAgICAgIHRpbWVvdXQ6IFRJTUVPVVRTLkhUVFBfUkVRVUVTVCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRva2VuID0gcmVzcG9uc2UuZGF0YT8uZGF0YT8uYWNjZXNzVG9rZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbG9naW5VcmwgPSBgJHtvcHRpb25zLnVybH0vYXBpL2F1dGgvbG9naW5gO1xuICAgICAgICAgIHByaW50RGVidWcoJ1BPU1QnLCB7IHVybDogbG9naW5VcmwgfSk7XG5cbiAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGF4aW9zLnBvc3Q8TG9naW5SZXNwb25zZT4oXG4gICAgICAgICAgICBsb2dpblVybCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWRlbnRpZmllcixcbiAgICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgICAgICAgaHR0cHNBZ2VudCxcbiAgICAgICAgICAgICAgdGltZW91dDogVElNRU9VVFMuSFRUUF9SRVFVRVNULFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdG9rZW4gPSByZXNwb25zZS5kYXRhPy5kYXRhPy5hY2Nlc3NUb2tlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICBpZiAoIWlzUmVmcmVzaCkgcmVjb3JkQXV0aEZhaWx1cmUoaWRlbnRpZmllciwgb3B0aW9ucy51cmwpO1xuICAgICAgICAgIHByaW50RXJyb3IoYCR7aXNSZWZyZXNoID8gJ1Rva2VuIHJlZnJlc2gnIDogJ0xvZ2luJ30gZmFpbGVkOiBubyBhY2Nlc3MgdG9rZW4gaW4gcmVzcG9uc2VgKTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHJlY29yZEF1dGhTdWNjZXNzKGlkZW50aWZpZXIsIG9wdGlvbnMudXJsKTtcblxuICAgICAgICAvLyBTd2l0Y2ggdG8gYSBzcGVjaWZpYyBvcmdhbml6YXRpb24gaWYgLS1vcmcgaXMgcHJvdmlkZWRcbiAgICAgICAgaWYgKG9wdGlvbnMub3JnKSB7XG4gICAgICAgICAgaWYgKCFxdWlldCkge1xuICAgICAgICAgICAgcHJpbnRJbmZvKCdTd2l0Y2hpbmcgdG8gb3JnYW5pemF0aW9uJywgeyBvcmdJZDogb3B0aW9ucy5vcmcgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc3dpdGNoVXJsID0gYCR7b3B0aW9ucy51cmx9L2FwaS9hdXRoL3N3aXRjaC1vcmdgO1xuICAgICAgICAgIHByaW50RGVidWcoJ1BPU1QnLCB7IHVybDogc3dpdGNoVXJsIH0pO1xuXG4gICAgICAgICAgY29uc3Qgc3dpdGNoUmVzcG9uc2UgPSBhd2FpdCBheGlvcy5wb3N0PExvZ2luUmVzcG9uc2U+KFxuICAgICAgICAgICAgc3dpdGNoVXJsLFxuICAgICAgICAgICAgeyBvcmdhbml6YXRpb25JZDogb3B0aW9ucy5vcmcgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaHR0cHNBZ2VudCxcbiAgICAgICAgICAgICAgdGltZW91dDogVElNRU9VVFMuSFRUUF9SRVFVRVNULFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3Qgc3dpdGNoZWRUb2tlbiA9IHN3aXRjaFJlc3BvbnNlLmRhdGE/LmRhdGE/LmFjY2Vzc1Rva2VuO1xuICAgICAgICAgIGlmICghc3dpdGNoZWRUb2tlbikge1xuICAgICAgICAgICAgcHJpbnRFcnJvcignT3JnYW5pemF0aW9uIHN3aXRjaCBmYWlsZWQ6IG5vIGFjY2VzcyB0b2tlbiBpbiByZXNwb25zZScpO1xuICAgICAgICAgICAgcHJvY2Vzcy5leGl0KEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0b2tlbiA9IHN3aXRjaGVkVG9rZW47XG5cbiAgICAgICAgICBpZiAoIXF1aWV0KSB7XG4gICAgICAgICAgICBwcmludFN1Y2Nlc3MoYFN3aXRjaGVkIHRvIG9yZ2FuaXphdGlvbiAke29wdGlvbnMub3JnfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgcHJpbnRTdWNjZXNzKGlzUmVmcmVzaCA/ICdUb2tlbiByZWZyZXNoZWQgc3VjY2Vzc2Z1bGx5JyA6ICdMb2dpbiBzdWNjZXNzZnVsJyk7XG4gICAgICAgICAgY29uc29sZS5sb2coJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5sb2coYGV4cG9ydCBQTEFURk9STV9UT0tFTj0ke3Rva2VufWApO1xuXG4gICAgICAgIGlmICghcXVpZXQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgICAgICAgcHJpbnRJbmZvKCdUaXA6IFJ1biB0aGUgZm9sbG93aW5nIHRvIHNldCB0aGUgdG9rZW4gaW4geW91ciBzaGVsbDonKTtcbiAgICAgICAgICBjb25zdCBvcmdGbGFnID0gb3B0aW9ucy5vcmcgPyBgIC0tb3JnICR7b3B0aW9ucy5vcmd9YCA6ICcnO1xuICAgICAgICAgIGlmIChpc1JlZnJlc2gpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGdyZWVuKGAgIGV2YWwgJChwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC0tcmVmcmVzaCAnPHJlZnJlc2gtdG9rZW4+JyR7b3JnRmxhZ30gLS1xdWlldClgKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGdyZWVuKGAgIGV2YWwgJChwaXBlbGluZS1tYW5hZ2VyIGxvZ2luIC11ICR7aWRlbnRpZmllcn0gLXAgJyoqKicke29yZ0ZsYWd9IC0tcXVpZXQpYCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gS2V5IHRoZSBmYWlsdXJlIHRvIChpZGVudGlmaWVyLCB1cmwpIGxpa2UgdGhlIGNoZWNrL3N1Y2Nlc3Mvbm8tdG9rZW5cbiAgICAgICAgLy8gcGF0aHMg4oCUIGEgYmFkLXBhc3N3b3JkIDQwMSB0aHJvd3MgdG8gaGVyZSwgc28ga2V5aW5nIGl0IHRvIHRoZSBzaGFyZWRcbiAgICAgICAgLy8gZGVmYXVsdCBidWNrZXQgbWVhbnQgYnJ1dGUtZm9yY2UgYXR0ZW1wdHMgbmV2ZXIgYWNjcnVlZCB0b3dhcmQgbG9ja291dC5cbiAgICAgICAgaWYgKCFpc1JlZnJlc2gpIHJlY29yZEF1dGhGYWlsdXJlKGlkZW50aWZpZXIsIG9wdGlvbnMudXJsKTtcbiAgICAgICAgLy8gUHJvdmlkZSBhIGNsZWFyIGZhaWx1cmUgbWVzc2FnZSBmb3IgYXV0aCBlcnJvcnNcbiAgICAgICAgaWYgKGF4aW9zLmlzQXhpb3NFcnJvcihlcnJvcikpIHtcbiAgICAgICAgICBjb25zdCBzdGF0dXMgPSBlcnJvci5yZXNwb25zZT8uc3RhdHVzO1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoZXJyb3IucmVzcG9uc2U/LmRhdGEgYXMgeyBtZXNzYWdlPzogc3RyaW5nIH0pPy5tZXNzYWdlO1xuXG4gICAgICAgICAgcHJpbnRFcnJvcihgJHtpc1JlZnJlc2ggPyAnVG9rZW4gcmVmcmVzaCcgOiAnTG9naW4nfSBmYWlsZWRgLCB7XG4gICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyA/PyAnbm8gcmVzcG9uc2UnLFxuICAgICAgICAgICAgLi4uKG1lc3NhZ2UgPyB7IG1lc3NhZ2UgfSA6IHt9KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pO1xuICAgICAgICB9XG5cbiAgICAgICAgaGFuZGxlRXJyb3IoZXJyb3IsIEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OLCB7XG4gICAgICAgICAgZGVidWc6IHByb2dyYW0ub3B0cygpLmRlYnVnLFxuICAgICAgICAgIGV4aXQ6IHRydWUsXG4gICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgY29tbWFuZDogJ2xvZ2luJyxcbiAgICAgICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICAgICAgaWRlbnRpZmllcjogb3B0aW9ucy5pZGVudGlmaWVyLFxuICAgICAgICAgICAgdXJsOiBvcHRpb25zLnVybCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-renew-handler.d.ts","sourceRoot":"","sources":["../../src/lambda/token-renew-handler.ts"],"names":[],"mappings":"AAwCA,eAAO,MAAM,OAAO,QAAa,OAAO,CAAC,IAAI,CA+
|
|
1
|
+
{"version":3,"file":"token-renew-handler.d.ts","sourceRoot":"","sources":["../../src/lambda/token-renew-handler.ts"],"names":[],"mappings":"AAwCA,eAAO,MAAM,OAAO,QAAa,OAAO,CAAC,IAAI,CA+D5C,CAAC"}
|
|
@@ -66,13 +66,29 @@ export const handler = async () => {
|
|
|
66
66
|
// store-token no longer takes --secret-name; it reads PLATFORM_SECRET_NAME from
|
|
67
67
|
// the environment (else derives it from the token's org).
|
|
68
68
|
const args = ['store-token', '--region', region, '--days', days];
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
// SECURITY: the spawned store-token POSTs the JWT to the platform. Refuse to
|
|
70
|
+
// disable TLS verification in production so a MITM can't harvest it. Production
|
|
71
|
+
// is this Lambda's normal mode (the renew stack sets NODE_ENV=production), so
|
|
72
|
+
// PLATFORM_VERIFY_SSL=false is honored ONLY outside production. This inlines the
|
|
73
|
+
// same `NODE_ENV==='production'` policy as utils/tls.ts#assertSslDisableAllowed
|
|
74
|
+
// (the handler ships as a single self-contained index.mjs and can't import it).
|
|
75
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
76
|
+
if (process.env.PLATFORM_VERIFY_SSL === 'false') {
|
|
77
|
+
if (isProduction) {
|
|
78
|
+
// eslint-disable-next-line no-console
|
|
79
|
+
console.log(JSON.stringify({ level: 'WARN', msg: 'Refusing PLATFORM_VERIFY_SSL=false in production (NODE_ENV=production) — TLS verification stays enabled' }));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
args.push('--no-verify-ssl');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
71
85
|
execFileSync('node', [CLI, ...args], {
|
|
86
|
+
// NODE_ENV is inherited via npmEnv (spread of process.env), so the spawned CLI
|
|
87
|
+
// enforces the same production TLS-disable refusal as this handler.
|
|
72
88
|
env: { ...npmEnv, PLATFORM_TOKEN: jwt, PLATFORM_BASE_URL: platformUrl, PLATFORM_SECRET_NAME: secretName },
|
|
73
89
|
stdio: 'inherit',
|
|
74
90
|
});
|
|
75
91
|
// eslint-disable-next-line no-console
|
|
76
92
|
console.log(JSON.stringify({ level: 'INFO', msg: 'platform token renewed', secretName }));
|
|
77
93
|
};
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tcmVuZXctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYW1iZGEvdG9rZW4tcmVuZXctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlGLE1BQU0sVUFBVSxHQUFHLG9DQUFvQyxDQUFDO0FBQ3hELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQztBQUNuQixNQUFNLFNBQVMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO0FBQzlCLE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUM7QUFDaEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQztBQUM5QixNQUFNLEdBQUcsR0FBRyxHQUFHLFNBQVMsaUJBQWlCLFVBQVUsY0FBYyxDQUFDO0FBRWxFLFNBQVMsUUFBUSxDQUFDLElBQVk7SUFDNUIsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixJQUFJLENBQUMsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLG1DQUFtQyxDQUFDLENBQUM7SUFDcEUsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEtBQUssSUFBbUIsRUFBRTtJQUMvQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNwRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsbUJBQW1C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VUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIExhbWJkYSBoYW5kbGVyIHRoYXQgcmUtbWludHMgdGhlIHBsYXRmb3JtIEpXVCBpbiBTZWNyZXRzIE1hbmFnZXIgc28gaXQgbmV2ZXJcbiAqIGxhcHNlcy4gRGVwbG95ZWQgKyBzY2hlZHVsZWQgKG9uY2UgYSBkYXkpIGJ5IGBwaXBlbGluZS1tYW5hZ2VyIHN0b3JlLXRva2VuXG4gKiAtLXNjaGVkdWxlYC4gUmF0aGVyIHRoYW4gcmUtaW1wbGVtZW50aW5nIHRoZSB0b2tlbiBmbG93LCBpdCBpcyBhIHRoaW5cbiAqIG9yY2hlc3RyYXRvciB0aGF0IHJldXNlcyB0aGUgdGVzdGVkIENMSSDigJQgZWFjaCBydW46XG4gKlxuICogICAxLiBQb2ludCB0aGUgYEBwaXBlbGluZS1idWlsZGVyYCBucG0gc2NvcGUgYXQgcHVibGljIG5wbS5cbiAqICAgMi4gRG93bmxvYWQgYEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLW1hbmFnZXJgIGZyb20gbnBtIGludG8gL3RtcC5cbiAqICAgMy4gUmVhZCB0aGUgY3VycmVudCBwbGF0Zm9ybSBKV1QgZnJvbSB0aGUgc2VjcmV0LlxuICogICA0LiBSdW4gYHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW5gLCB3aGljaCBtaW50cyBhIGZyZXNoIGxvbmctbGl2ZWQgdG9rZW5cbiAqICAgICAgdmlhIC9hcGkvdXNlci9nZW5lcmF0ZS10b2tlbiBhbmQgd3JpdGVzIGl0IGJhY2sgdG8gdGhlIHNhbWUgc2VjcmV0LlxuICpcbiAqIGAvdG1wYCBpcyB0aGUgb25seSB3cml0YWJsZSBwYXRoIGluIExhbWJkYSwgc28gbnBtJ3MgSE9NRS9jYWNoZS9wcmVmaXggYWxsIGxpdmVcbiAqIHRoZXJlLiBzdG9yZS10b2tlbiBkb2VzIE5PVCBkZXBsb3kgdGhlIHJlbmV3YWwgc3RhY2sgYnkgZGVmYXVsdCAobm8gLS1zY2hlZHVsZSksXG4gKiBzbyB0aGUgcmVuZXdhbCBydW4gbmV2ZXIgcmVkZXBsb3lzL3JlY3Vyc2VzIGludG8gaXRzIG93biBzdGFjay5cbiAqXG4gKiBFbnY6IFBMQVRGT1JNX1NFQ1JFVF9OQU1FLCBQTEFURk9STV9CQVNFX1VSTCwgUkVORVdfREFZUyAoZGVmYXVsdCAzMCksXG4gKiAgICAgIFBJUEVMSU5FX01BTkFHRVJfVkVSU0lPTiAoZGVmYXVsdCBcImxhdGVzdFwiKSwgUExBVEZPUk1fVkVSSUZZX1NTTCAoXCJmYWxzZVwiXG4gKiAgICAgIHRvIGRpc2FibGUgVExTIHZlcmlmaWNhdGlvbikuXG4gKi9cbmltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBta2RpclN5bmMsIHdyaXRlRmlsZVN5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IFNlY3JldHNNYW5hZ2VyQ2xpZW50LCBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJztcblxuY29uc3QgUE1fUEFDS0FHRSA9ICdAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1tYW5hZ2VyJztcbmNvbnN0IFRNUCA9ICcvdG1wJztcbmNvbnN0IFBNX1BSRUZJWCA9IGAke1RNUH0vcG1gO1xuY29uc3QgTlBNX0NBQ0hFID0gYCR7VE1QfS8ubnBtYDtcbmNvbnN0IE5QTVJDID0gYCR7VE1QfS8ubnBtcmNgO1xuY29uc3QgQ0xJID0gYCR7UE1fUFJFRklYfS9ub2RlX21vZHVsZXMvJHtQTV9QQUNLQUdFfS9kaXN0L2NsaS5qc2A7XG5cbmZ1bmN0aW9uIHJlcXVpcmVkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHYgPSBwcm9jZXNzLmVudltuYW1lXTtcbiAgaWYgKCF2KSB0aHJvdyBuZXcgRXJyb3IoYCR7bmFtZX0gZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgcmVxdWlyZWRgKTtcbiAgcmV0dXJuIHY7XG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBzZWNyZXROYW1lID0gcmVxdWlyZWQoJ1BMQVRGT1JNX1NFQ1JFVF9OQU1FJyk7XG4gIGNvbnN0IHBsYXRmb3JtVXJsID0gcmVxdWlyZWQoJ1BMQVRGT1JNX0JBU0VfVVJMJykucmVwbGFjZSgvXFwvJC8sICcnKTtcbiAgY29uc3QgZGF5cyA9IHByb2Nlc3MuZW52LlJFTkVXX0RBWVMgfHwgJzMwJztcbiAgY29uc3QgdmVyc2lvbiA9IHByb2Nlc3MuZW52LlBJUEVMSU5FX01BTkFHRVJfVkVSU0lPTiB8fCAnbGF0ZXN0JztcbiAgY29uc3QgcmVnaW9uID0gcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCAndXMtZWFzdC0xJztcblxuICAvLyBucG0gaW4gTGFtYmRhIGNhbiBvbmx5IHdyaXRlIHVuZGVyIC90bXA7IEhPTUUvY2FjaGUvdXNlcmNvbmZpZyBwb2ludCB0aGVyZS5cbiAgY29uc3QgbnBtRW52ID0geyAuLi5wcm9jZXNzLmVudiwgSE9NRTogVE1QLCBucG1fY29uZmlnX2NhY2hlOiBOUE1fQ0FDSEUgfTtcblxuICAvLyAxLiBTY29wZSBjb25maWc6IHJlc29sdmUgQHBpcGVsaW5lLWJ1aWxkZXIgZnJvbSBwdWJsaWMgbnBtIHJlZ2FyZGxlc3Mgb2YgYW55XG4gIC8vICAgIGluaGVyaXRlZCByZWdpc3RyeS4gV3JpdHRlbiBhcyBhIHVzZXJjb25maWcgZmlsZSAoZW52IG1hcHBpbmcgb2Ygc2NvcGVkXG4gIC8vICAgIGtleXMgaXMgdW5yZWxpYWJsZSkuXG4gIHdyaXRlRmlsZVN5bmMoTlBNUkMsICdAcGlwZWxpbmUtYnVpbGRlcjpyZWdpc3RyeT1odHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9cXG4nKTtcblxuICAvLyAyLiBEb3dubG9hZCBwaXBlbGluZS1tYW5hZ2VyIGludG8gL3RtcC5cbiAgbWtkaXJTeW5jKFBNX1BSRUZJWCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHsgbGV2ZWw6ICdJTkZPJywgbXNnOiAnaW5zdGFsbGluZyBwaXBlbGluZS1tYW5hZ2VyJywgcGFja2FnZTogYCR7UE1fUEFDS0FHRX1AJHt2ZXJzaW9ufWAgfSkpO1xuICBleGVjRmlsZVN5bmMoXG4gICAgJ25wbScsXG4gICAgWydpbnN0YWxsJywgJy0tcHJlZml4JywgUE1fUFJFRklYLCAnLS1uby1hdWRpdCcsICctLW5vLWZ1bmQnLCAnLS11c2VyY29uZmlnJywgTlBNUkMsIGAke1BNX1BBQ0tBR0V9QCR7dmVyc2lvbn1gXSxcbiAgICB7IGVudjogbnBtRW52LCBzdGRpbzogJ2luaGVyaXQnIH0sXG4gICk7XG5cbiAgLy8gMy4gUmVhZCB0aGUgY3VycmVudCBwbGF0Zm9ybSBKV1Qg4oCUIGl0IGF1dGhlbnRpY2F0ZXMgdGhlIHJlbmV3YWwgcmVxdWVzdC5cbiAgY29uc3Qgc20gPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoeyByZWdpb24gfSk7XG4gIGNvbnN0IGN1cnJlbnQgPSBhd2FpdCBzbS5zZW5kKG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoeyBTZWNyZXRJZDogc2VjcmV0TmFtZSB9KSk7XG4gIGlmICghY3VycmVudC5TZWNyZXRTdHJpbmcpIHRocm93IG5ldyBFcnJvcihgU2VjcmV0IFwiJHtzZWNyZXROYW1lfVwiIGlzIGVtcHR5YCk7XG4gIGNvbnN0IGp3dCA9IChKU09OLnBhcnNlKGN1cnJlbnQuU2VjcmV0U3RyaW5nKSBhcyB7IHBhc3N3b3JkPzogc3RyaW5nIH0pLnBhc3N3b3JkO1xuICBpZiAoIWp3dCkgdGhyb3cgbmV3IEVycm9yKGBTZWNyZXQgXCIke3NlY3JldE5hbWV9XCIgbWlzc2luZyBwYXNzd29yZCAoSldUKWApO1xuXG4gIC8vIDQuIFJ1biBzdG9yZS10b2tlbiAod2l0aG91dCAtLXNjaGVkdWxlLCB0aGUgZGVmYXVsdCkgc28gaXQgT05MWSByZS1taW50cyBhbmRcbiAgLy8gICAgd3JpdGVzIHRoZSBzZWNyZXQg4oCUIGl0IG11c3Qgbm90IHJlZGVwbG95IHRoaXMgc3RhY2sgKHdvdWxkIHJlY3Vyc2UpLiBUaGVcbiAgLy8gICAgd3JpdGUgdXNlcyB0aGUgTGFtYmRhIHJvbGUncyBjcmVkcy5cbiAgLy8gc3RvcmUtdG9rZW4gbm8gbG9uZ2VyIHRha2VzIC0tc2VjcmV0LW5hbWU7IGl0IHJlYWRzIFBMQVRGT1JNX1NFQ1JFVF9OQU1FIGZyb21cbiAgLy8gdGhlIGVudmlyb25tZW50IChlbHNlIGRlcml2ZXMgaXQgZnJvbSB0aGUgdG9rZW4ncyBvcmcpLlxuICBjb25zdCBhcmdzID0gWydzdG9yZS10b2tlbicsICctLXJlZ2lvbicsIHJlZ2lvbiwgJy0tZGF5cycsIGRheXNdO1xuICBpZiAocHJvY2Vzcy5lbnYuUExBVEZPUk1fVkVSSUZZX1NTTCA9PT0gJ2ZhbHNlJykgYXJncy5wdXNoKCctLW5vLXZlcmlmeS1zc2wnKTtcblxuICBleGVjRmlsZVN5bmMoJ25vZGUnLCBbQ0xJLCAuLi5hcmdzXSwge1xuICAgIGVudjogeyAuLi5ucG1FbnYsIFBMQVRGT1JNX1RPS0VOOiBqd3QsIFBMQVRGT1JNX0JBU0VfVVJMOiBwbGF0Zm9ybVVybCwgUExBVEZPUk1fU0VDUkVUX05BTUU6IHNlY3JldE5hbWUgfSxcbiAgICBzdGRpbzogJ2luaGVyaXQnLFxuICB9KTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh7IGxldmVsOiAnSU5GTycsIG1zZzogJ3BsYXRmb3JtIHRva2VuIHJlbmV3ZWQnLCBzZWNyZXROYW1lIH0pKTtcbn07XG4iXX0=
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tcmVuZXctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYW1iZGEvdG9rZW4tcmVuZXctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlGLE1BQU0sVUFBVSxHQUFHLG9DQUFvQyxDQUFDO0FBQ3hELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQztBQUNuQixNQUFNLFNBQVMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO0FBQzlCLE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUM7QUFDaEMsTUFBTSxLQUFLLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQztBQUM5QixNQUFNLEdBQUcsR0FBRyxHQUFHLFNBQVMsaUJBQWlCLFVBQVUsY0FBYyxDQUFDO0FBRWxFLFNBQVMsUUFBUSxDQUFDLElBQVk7SUFDNUIsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixJQUFJLENBQUMsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLG1DQUFtQyxDQUFDLENBQUM7SUFDcEUsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEtBQUssSUFBbUIsRUFBRTtJQUMvQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNwRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixJQUFJLFFBQVEsQ0FBQztJQUNqRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxXQUFXLENBQUM7SUFFckQsOEVBQThFO0lBQzlFLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFFMUUsK0VBQStFO0lBQy9FLDZFQUE2RTtJQUM3RSwwQkFBMEI7SUFDMUIsYUFBYSxDQUFDLEtBQUssRUFBRSwwREFBMEQsQ0FBQyxDQUFDO0lBRWpGLDBDQUEwQztJQUMxQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUMsc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLDZCQUE2QixFQUFFLE9BQU8sRUFBRSxHQUFHLFVBQVUsSUFBSSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4SCxZQUFZLENBQ1YsS0FBSyxFQUNMLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVSxJQUFJLE9BQU8sRUFBRSxDQUFDLEVBQ2hILEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQ2xDLENBQUM7SUFFRiwyRUFBMkU7SUFDM0UsTUFBTSxFQUFFLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUkscUJBQXFCLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25GLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxVQUFVLFlBQVksQ0FBQyxDQUFDO0lBQzlFLE1BQU0sR0FBRyxHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBMkIsQ0FBQyxRQUFRLENBQUM7SUFDakYsSUFBSSxDQUFDLEdBQUc7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsVUFBVSwwQkFBMEIsQ0FBQyxDQUFDO0lBRTNFLCtFQUErRTtJQUMvRSw4RUFBOEU7SUFDOUUseUNBQXlDO0lBQ3pDLGdGQUFnRjtJQUNoRiwwREFBMEQ7SUFDMUQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakUsNkVBQTZFO0lBQzdFLGdGQUFnRjtJQUNoRiw4RUFBOEU7SUFDOUUsaUZBQWlGO0lBQ2pGLGdGQUFnRjtJQUNoRixnRkFBZ0Y7SUFDaEYsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDO0lBQzNELElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUNoRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLHNDQUFzQztZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSx5R0FBeUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqSyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRTtRQUNuQywrRUFBK0U7UUFDL0Usb0VBQW9FO1FBQ3BFLEdBQUcsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRTtRQUN6RyxLQUFLLEVBQUUsU0FBUztLQUNqQixDQUFDLENBQUM7SUFFSCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIExhbWJkYSBoYW5kbGVyIHRoYXQgcmUtbWludHMgdGhlIHBsYXRmb3JtIEpXVCBpbiBTZWNyZXRzIE1hbmFnZXIgc28gaXQgbmV2ZXJcbiAqIGxhcHNlcy4gRGVwbG95ZWQgKyBzY2hlZHVsZWQgKG9uY2UgYSBkYXkpIGJ5IGBwaXBlbGluZS1tYW5hZ2VyIHN0b3JlLXRva2VuXG4gKiAtLXNjaGVkdWxlYC4gUmF0aGVyIHRoYW4gcmUtaW1wbGVtZW50aW5nIHRoZSB0b2tlbiBmbG93LCBpdCBpcyBhIHRoaW5cbiAqIG9yY2hlc3RyYXRvciB0aGF0IHJldXNlcyB0aGUgdGVzdGVkIENMSSDigJQgZWFjaCBydW46XG4gKlxuICogICAxLiBQb2ludCB0aGUgYEBwaXBlbGluZS1idWlsZGVyYCBucG0gc2NvcGUgYXQgcHVibGljIG5wbS5cbiAqICAgMi4gRG93bmxvYWQgYEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLW1hbmFnZXJgIGZyb20gbnBtIGludG8gL3RtcC5cbiAqICAgMy4gUmVhZCB0aGUgY3VycmVudCBwbGF0Zm9ybSBKV1QgZnJvbSB0aGUgc2VjcmV0LlxuICogICA0LiBSdW4gYHBpcGVsaW5lLW1hbmFnZXIgc3RvcmUtdG9rZW5gLCB3aGljaCBtaW50cyBhIGZyZXNoIGxvbmctbGl2ZWQgdG9rZW5cbiAqICAgICAgdmlhIC9hcGkvdXNlci9nZW5lcmF0ZS10b2tlbiBhbmQgd3JpdGVzIGl0IGJhY2sgdG8gdGhlIHNhbWUgc2VjcmV0LlxuICpcbiAqIGAvdG1wYCBpcyB0aGUgb25seSB3cml0YWJsZSBwYXRoIGluIExhbWJkYSwgc28gbnBtJ3MgSE9NRS9jYWNoZS9wcmVmaXggYWxsIGxpdmVcbiAqIHRoZXJlLiBzdG9yZS10b2tlbiBkb2VzIE5PVCBkZXBsb3kgdGhlIHJlbmV3YWwgc3RhY2sgYnkgZGVmYXVsdCAobm8gLS1zY2hlZHVsZSksXG4gKiBzbyB0aGUgcmVuZXdhbCBydW4gbmV2ZXIgcmVkZXBsb3lzL3JlY3Vyc2VzIGludG8gaXRzIG93biBzdGFjay5cbiAqXG4gKiBFbnY6IFBMQVRGT1JNX1NFQ1JFVF9OQU1FLCBQTEFURk9STV9CQVNFX1VSTCwgUkVORVdfREFZUyAoZGVmYXVsdCAzMCksXG4gKiAgICAgIFBJUEVMSU5FX01BTkFHRVJfVkVSU0lPTiAoZGVmYXVsdCBcImxhdGVzdFwiKSwgUExBVEZPUk1fVkVSSUZZX1NTTCAoXCJmYWxzZVwiXG4gKiAgICAgIHRvIGRpc2FibGUgVExTIHZlcmlmaWNhdGlvbikuXG4gKi9cbmltcG9ydCB7IGV4ZWNGaWxlU3luYyB9IGZyb20gJ25vZGU6Y2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBta2RpclN5bmMsIHdyaXRlRmlsZVN5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IFNlY3JldHNNYW5hZ2VyQ2xpZW50LCBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJztcblxuY29uc3QgUE1fUEFDS0FHRSA9ICdAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1tYW5hZ2VyJztcbmNvbnN0IFRNUCA9ICcvdG1wJztcbmNvbnN0IFBNX1BSRUZJWCA9IGAke1RNUH0vcG1gO1xuY29uc3QgTlBNX0NBQ0hFID0gYCR7VE1QfS8ubnBtYDtcbmNvbnN0IE5QTVJDID0gYCR7VE1QfS8ubnBtcmNgO1xuY29uc3QgQ0xJID0gYCR7UE1fUFJFRklYfS9ub2RlX21vZHVsZXMvJHtQTV9QQUNLQUdFfS9kaXN0L2NsaS5qc2A7XG5cbmZ1bmN0aW9uIHJlcXVpcmVkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHYgPSBwcm9jZXNzLmVudltuYW1lXTtcbiAgaWYgKCF2KSB0aHJvdyBuZXcgRXJyb3IoYCR7bmFtZX0gZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgcmVxdWlyZWRgKTtcbiAgcmV0dXJuIHY7XG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBzZWNyZXROYW1lID0gcmVxdWlyZWQoJ1BMQVRGT1JNX1NFQ1JFVF9OQU1FJyk7XG4gIGNvbnN0IHBsYXRmb3JtVXJsID0gcmVxdWlyZWQoJ1BMQVRGT1JNX0JBU0VfVVJMJykucmVwbGFjZSgvXFwvJC8sICcnKTtcbiAgY29uc3QgZGF5cyA9IHByb2Nlc3MuZW52LlJFTkVXX0RBWVMgfHwgJzMwJztcbiAgY29uc3QgdmVyc2lvbiA9IHByb2Nlc3MuZW52LlBJUEVMSU5FX01BTkFHRVJfVkVSU0lPTiB8fCAnbGF0ZXN0JztcbiAgY29uc3QgcmVnaW9uID0gcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCAndXMtZWFzdC0xJztcblxuICAvLyBucG0gaW4gTGFtYmRhIGNhbiBvbmx5IHdyaXRlIHVuZGVyIC90bXA7IEhPTUUvY2FjaGUvdXNlcmNvbmZpZyBwb2ludCB0aGVyZS5cbiAgY29uc3QgbnBtRW52ID0geyAuLi5wcm9jZXNzLmVudiwgSE9NRTogVE1QLCBucG1fY29uZmlnX2NhY2hlOiBOUE1fQ0FDSEUgfTtcblxuICAvLyAxLiBTY29wZSBjb25maWc6IHJlc29sdmUgQHBpcGVsaW5lLWJ1aWxkZXIgZnJvbSBwdWJsaWMgbnBtIHJlZ2FyZGxlc3Mgb2YgYW55XG4gIC8vICAgIGluaGVyaXRlZCByZWdpc3RyeS4gV3JpdHRlbiBhcyBhIHVzZXJjb25maWcgZmlsZSAoZW52IG1hcHBpbmcgb2Ygc2NvcGVkXG4gIC8vICAgIGtleXMgaXMgdW5yZWxpYWJsZSkuXG4gIHdyaXRlRmlsZVN5bmMoTlBNUkMsICdAcGlwZWxpbmUtYnVpbGRlcjpyZWdpc3RyeT1odHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9cXG4nKTtcblxuICAvLyAyLiBEb3dubG9hZCBwaXBlbGluZS1tYW5hZ2VyIGludG8gL3RtcC5cbiAgbWtkaXJTeW5jKFBNX1BSRUZJWCwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHsgbGV2ZWw6ICdJTkZPJywgbXNnOiAnaW5zdGFsbGluZyBwaXBlbGluZS1tYW5hZ2VyJywgcGFja2FnZTogYCR7UE1fUEFDS0FHRX1AJHt2ZXJzaW9ufWAgfSkpO1xuICBleGVjRmlsZVN5bmMoXG4gICAgJ25wbScsXG4gICAgWydpbnN0YWxsJywgJy0tcHJlZml4JywgUE1fUFJFRklYLCAnLS1uby1hdWRpdCcsICctLW5vLWZ1bmQnLCAnLS11c2VyY29uZmlnJywgTlBNUkMsIGAke1BNX1BBQ0tBR0V9QCR7dmVyc2lvbn1gXSxcbiAgICB7IGVudjogbnBtRW52LCBzdGRpbzogJ2luaGVyaXQnIH0sXG4gICk7XG5cbiAgLy8gMy4gUmVhZCB0aGUgY3VycmVudCBwbGF0Zm9ybSBKV1Qg4oCUIGl0IGF1dGhlbnRpY2F0ZXMgdGhlIHJlbmV3YWwgcmVxdWVzdC5cbiAgY29uc3Qgc20gPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoeyByZWdpb24gfSk7XG4gIGNvbnN0IGN1cnJlbnQgPSBhd2FpdCBzbS5zZW5kKG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoeyBTZWNyZXRJZDogc2VjcmV0TmFtZSB9KSk7XG4gIGlmICghY3VycmVudC5TZWNyZXRTdHJpbmcpIHRocm93IG5ldyBFcnJvcihgU2VjcmV0IFwiJHtzZWNyZXROYW1lfVwiIGlzIGVtcHR5YCk7XG4gIGNvbnN0IGp3dCA9IChKU09OLnBhcnNlKGN1cnJlbnQuU2VjcmV0U3RyaW5nKSBhcyB7IHBhc3N3b3JkPzogc3RyaW5nIH0pLnBhc3N3b3JkO1xuICBpZiAoIWp3dCkgdGhyb3cgbmV3IEVycm9yKGBTZWNyZXQgXCIke3NlY3JldE5hbWV9XCIgbWlzc2luZyBwYXNzd29yZCAoSldUKWApO1xuXG4gIC8vIDQuIFJ1biBzdG9yZS10b2tlbiAod2l0aG91dCAtLXNjaGVkdWxlLCB0aGUgZGVmYXVsdCkgc28gaXQgT05MWSByZS1taW50cyBhbmRcbiAgLy8gICAgd3JpdGVzIHRoZSBzZWNyZXQg4oCUIGl0IG11c3Qgbm90IHJlZGVwbG95IHRoaXMgc3RhY2sgKHdvdWxkIHJlY3Vyc2UpLiBUaGVcbiAgLy8gICAgd3JpdGUgdXNlcyB0aGUgTGFtYmRhIHJvbGUncyBjcmVkcy5cbiAgLy8gc3RvcmUtdG9rZW4gbm8gbG9uZ2VyIHRha2VzIC0tc2VjcmV0LW5hbWU7IGl0IHJlYWRzIFBMQVRGT1JNX1NFQ1JFVF9OQU1FIGZyb21cbiAgLy8gdGhlIGVudmlyb25tZW50IChlbHNlIGRlcml2ZXMgaXQgZnJvbSB0aGUgdG9rZW4ncyBvcmcpLlxuICBjb25zdCBhcmdzID0gWydzdG9yZS10b2tlbicsICctLXJlZ2lvbicsIHJlZ2lvbiwgJy0tZGF5cycsIGRheXNdO1xuICAvLyBTRUNVUklUWTogdGhlIHNwYXduZWQgc3RvcmUtdG9rZW4gUE9TVHMgdGhlIEpXVCB0byB0aGUgcGxhdGZvcm0uIFJlZnVzZSB0b1xuICAvLyBkaXNhYmxlIFRMUyB2ZXJpZmljYXRpb24gaW4gcHJvZHVjdGlvbiBzbyBhIE1JVE0gY2FuJ3QgaGFydmVzdCBpdC4gUHJvZHVjdGlvblxuICAvLyBpcyB0aGlzIExhbWJkYSdzIG5vcm1hbCBtb2RlICh0aGUgcmVuZXcgc3RhY2sgc2V0cyBOT0RFX0VOVj1wcm9kdWN0aW9uKSwgc29cbiAgLy8gUExBVEZPUk1fVkVSSUZZX1NTTD1mYWxzZSBpcyBob25vcmVkIE9OTFkgb3V0c2lkZSBwcm9kdWN0aW9uLiBUaGlzIGlubGluZXMgdGhlXG4gIC8vIHNhbWUgYE5PREVfRU5WPT09J3Byb2R1Y3Rpb24nYCBwb2xpY3kgYXMgdXRpbHMvdGxzLnRzI2Fzc2VydFNzbERpc2FibGVBbGxvd2VkXG4gIC8vICh0aGUgaGFuZGxlciBzaGlwcyBhcyBhIHNpbmdsZSBzZWxmLWNvbnRhaW5lZCBpbmRleC5tanMgYW5kIGNhbid0IGltcG9ydCBpdCkuXG4gIGNvbnN0IGlzUHJvZHVjdGlvbiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbic7XG4gIGlmIChwcm9jZXNzLmVudi5QTEFURk9STV9WRVJJRllfU1NMID09PSAnZmFsc2UnKSB7XG4gICAgaWYgKGlzUHJvZHVjdGlvbikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHsgbGV2ZWw6ICdXQVJOJywgbXNnOiAnUmVmdXNpbmcgUExBVEZPUk1fVkVSSUZZX1NTTD1mYWxzZSBpbiBwcm9kdWN0aW9uIChOT0RFX0VOVj1wcm9kdWN0aW9uKSDigJQgVExTIHZlcmlmaWNhdGlvbiBzdGF5cyBlbmFibGVkJyB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyZ3MucHVzaCgnLS1uby12ZXJpZnktc3NsJyk7XG4gICAgfVxuICB9XG5cbiAgZXhlY0ZpbGVTeW5jKCdub2RlJywgW0NMSSwgLi4uYXJnc10sIHtcbiAgICAvLyBOT0RFX0VOViBpcyBpbmhlcml0ZWQgdmlhIG5wbUVudiAoc3ByZWFkIG9mIHByb2Nlc3MuZW52KSwgc28gdGhlIHNwYXduZWQgQ0xJXG4gICAgLy8gZW5mb3JjZXMgdGhlIHNhbWUgcHJvZHVjdGlvbiBUTFMtZGlzYWJsZSByZWZ1c2FsIGFzIHRoaXMgaGFuZGxlci5cbiAgICBlbnY6IHsgLi4ubnBtRW52LCBQTEFURk9STV9UT0tFTjogand0LCBQTEFURk9STV9CQVNFX1VSTDogcGxhdGZvcm1VcmwsIFBMQVRGT1JNX1NFQ1JFVF9OQU1FOiBzZWNyZXROYW1lIH0sXG4gICAgc3RkaW86ICdpbmhlcml0JyxcbiAgfSk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoeyBsZXZlbDogJ0lORk8nLCBtc2c6ICdwbGF0Zm9ybSB0b2tlbiByZW5ld2VkJywgc2VjcmV0TmFtZSB9KSk7XG59O1xuIl19
|
|
@@ -80,7 +80,8 @@
|
|
|
80
80
|
"PLATFORM_BASE_URL": { "Ref": "PlatformBaseUrl" },
|
|
81
81
|
"PLATFORM_SECRET_NAME": { "Ref": "PlatformSecretName" },
|
|
82
82
|
"RENEW_DAYS": { "Ref": "RenewDays" },
|
|
83
|
-
"PIPELINE_MANAGER_VERSION": { "Ref": "PipelineManagerVersion" }
|
|
83
|
+
"PIPELINE_MANAGER_VERSION": { "Ref": "PipelineManagerVersion" },
|
|
84
|
+
"NODE_ENV": "production"
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKhD,YAAY,EAAE,MAAM,EAAE,CAAC;AA4CvB;;;;;;;;;;GAUG;AACH;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAoCnD;AAED,wBAAgB,SAAS,IAAI,MAAM,CAyBlC;AAaD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAU7E"}
|
|
@@ -6,6 +6,7 @@ import * as os from 'os';
|
|
|
6
6
|
import * as path from 'path';
|
|
7
7
|
import * as yaml from 'yaml';
|
|
8
8
|
import { printDebug, printError, printWarning } from './output-utils.js';
|
|
9
|
+
import { assertSslDisableAllowed, isProductionEnv } from './tls.js';
|
|
9
10
|
import {} from '../types/index.js';
|
|
10
11
|
// ESM has no __dirname; derive it from this module's URL.
|
|
11
12
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
@@ -81,7 +82,7 @@ export function getApiConfig() {
|
|
|
81
82
|
}
|
|
82
83
|
if (process.env.TLS_REJECT_UNAUTHORIZED !== undefined) {
|
|
83
84
|
const disable = process.env.TLS_REJECT_UNAUTHORIZED === '0';
|
|
84
|
-
if (disable &&
|
|
85
|
+
if (disable && isProductionEnv()) {
|
|
85
86
|
printWarning('Ignoring TLS_REJECT_UNAUTHORIZED=0 in production — SSL verification remains enabled');
|
|
86
87
|
}
|
|
87
88
|
else {
|
|
@@ -140,6 +141,13 @@ function withSSLDisabled(config) {
|
|
|
140
141
|
*/
|
|
141
142
|
export function getConfigWithOptions(options) {
|
|
142
143
|
const config = getConfig();
|
|
143
|
-
|
|
144
|
+
if (options.verifySsl === false) {
|
|
145
|
+
// Every authenticated command flows its token through here — refuse to
|
|
146
|
+
// disable cert verification in production (mirrors the login/renewal guards)
|
|
147
|
+
// so a MITM can't harvest the Bearer JWT. No-op in non-production.
|
|
148
|
+
assertSslDisableAllowed('authenticated API client (--no-verify-ssl)');
|
|
149
|
+
return withSSLDisabled(config);
|
|
150
|
+
}
|
|
151
|
+
return config;
|
|
144
152
|
}
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb25maWctbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RSxPQUFPLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCwwREFBMEQ7QUFDMUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBSS9EOztHQUVHO0FBQ0gsTUFBTSxhQUFhLEdBQXlCO0lBQzFDLEdBQUcsRUFBRTtRQUNILE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsT0FBTyxFQUFFLE1BQU07UUFDZixXQUFXLEVBQUUsZUFBZTtRQUM1QixlQUFlLEVBQUUsZ0JBQWdCO1FBQ2pDLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLGFBQWEsRUFBRSxjQUFjO1FBQzdCLGVBQWUsRUFBRSxvQkFBb0I7UUFDckMsa0JBQWtCLEVBQUUsSUFBSTtLQUN6QjtDQUNGLENBQUM7QUFFRiw0REFBNEQ7QUFDNUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUVwRjs7O0dBR0c7QUFDSCxT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RUFBRSxLQUFLLEVBQUU7S0FDbEQsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQWdDO0lBQ25FLE1BQU0sTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFDO0lBQzNCLE9BQU8sT0FBTyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyB5YW1sIGZyb20gJ3lhbWwnO1xuaW1wb3J0IHsgcHJpbnREZWJ1ZywgcHJpbnRFcnJvciwgcHJpbnRXYXJuaW5nIH0gZnJvbSAnLi9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgdHlwZSBDb25maWcgfSBmcm9tICcuLi90eXBlcy9pbmRleC5qcyc7XG5cbi8vIEVTTSBoYXMgbm8gX19kaXJuYW1lOyBkZXJpdmUgaXQgZnJvbSB0aGlzIG1vZHVsZSdzIFVSTC5cbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5leHBvcnQgdHlwZSB7IENvbmZpZyB9O1xuXG4vKipcbiAqIERlZmF1bHQgY29uZmlndXJhdGlvbiDigJQgQVBJIGVuZHBvaW50IHBhdGhzIGFuZCBjb25uZWN0aW9uIHNldHRpbmdzLlxuICovXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBPbWl0PENvbmZpZywgJ2F1dGgnPiA9IHtcbiAgYXBpOiB7XG4gICAgYmFzZVVybDogJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnLFxuICAgIHRpbWVvdXQ6IDMwXzAwMCxcbiAgICBwaXBlbGluZVVybDogJy9hcGkvcGlwZWxpbmUnLFxuICAgIHBpcGVsaW5lTGlzdFVybDogJy9hcGkvcGlwZWxpbmVzJyxcbiAgICBwbHVnaW5Vcmw6ICcvYXBpL3BsdWdpbicsXG4gICAgcGx1Z2luTGlzdFVybDogJy9hcGkvcGx1Z2lucycsXG4gICAgcGx1Z2luVXBsb2FkVXJsOiAnL2FwaS9wbHVnaW4vdXBsb2FkJyxcbiAgICByZWplY3RVbmF1dGhvcml6ZWQ6IHRydWUsXG4gIH0sXG59O1xuXG4vKiogVXNlciBjb25maWcgZmlsZSBwYXRoOiB+Ly5waXBlbGluZS1tYW5hZ2VyL2NvbmZpZy55bWwgKi9cbmNvbnN0IFVTRVJfQ09ORklHX1BBVEggPSBwYXRoLmpvaW4ob3MuaG9tZWRpcigpLCAnLnBpcGVsaW5lLW1hbmFnZXInLCAnY29uZmlnLnltbCcpO1xuXG4vKipcbiAqIExvYWQgYSBZQU1MIGNvbmZpZyBmaWxlIGFuZCBtZXJnZSBpdHMgYGFwaWAgc2VjdGlvbiBpbnRvIHRoZSBjb25maWcuXG4gKiBSZXR1cm5zIHRoZSBtZXJnZWQgY29uZmlnIG9yIHRoZSBvcmlnaW5hbCBpZiBmaWxlIGRvZXNuJ3QgZXhpc3Qgb3IgZmFpbHMuXG4gKi9cbmZ1bmN0aW9uIGxvYWRDb25maWdGaWxlKGZpbGVQYXRoOiBzdHJpbmcsIGNvbmZpZzogT21pdDxDb25maWcsICdhdXRoJz4pOiBPbWl0PENvbmZpZywgJ2F1dGgnPiB7XG4gIGlmICghZnMuZXhpc3RzU3luYyhmaWxlUGF0aCkpIHJldHVybiBjb25maWc7XG5cbiAgdHJ5IHtcbiAgICBwcmludERlYnVnKCdMb2FkaW5nIGNvbmZpZ3VyYXRpb24nLCB7IHBhdGg6IGZpbGVQYXRoIH0pO1xuICAgIGNvbnN0IHBhcnNlZCA9IHlhbWwucGFyc2UoZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCAndXRmLTgnKSk7XG4gICAgaWYgKHBhcnNlZD8uYXV0aCkge1xuICAgICAgcHJpbnRXYXJuaW5nKCdBdXRoIHNlY3Rpb24gaW4gY29uZmlnIGZpbGUgaXMgaWdub3JlZCDigJQgdXNlIFBMQVRGT1JNX1RPS0VOIGVudiB2YXInKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYXBpOiB7IC4uLmNvbmZpZy5hcGksIC4uLnBhcnNlZD8uYXBpIH0gfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBwcmludFdhcm5pbmcoJ0ZhaWxlZCB0byBsb2FkIGNvbmZpZyBmaWxlLCB1c2luZyBkZWZhdWx0cycsIHtcbiAgICAgIHBhdGg6IGZpbGVQYXRoLFxuICAgICAgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKSxcbiAgICB9KTtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG59XG5cbi8qKlxuICogTG9hZCBjb25maWd1cmF0aW9uIGZyb20gZmlsZXMgYW5kIGVudmlyb25tZW50LlxuICpcbiAqIFByaW9yaXR5IChsYXN0IHdpbnMpOlxuICogMS4gQnVpbHQtaW4gZGVmYXVsdHNcbiAqIDIuIFVzZXIgY29uZmlnIGZpbGU6IH4vLnBpcGVsaW5lLW1hbmFnZXIvY29uZmlnLnltbFxuICogMy4gUHJvamVjdCBjb25maWcgZmlsZTogQ0xJX0NPTkZJR19QQVRIIG9yIC4vY29uZmlnLnltbFxuICogNC4gRW52aXJvbm1lbnQgdmFyaWFibGVzXG4gKlxuICogQXV0aCB0b2tlbiBNVVNUIGNvbWUgZnJvbSBQTEFURk9STV9UT0tFTiBlbnYgdmFyIChuZXZlciBmcm9tIGNvbmZpZyBmaWxlKS5cbiAqL1xuLyoqXG4gKiBSZXNvbHZlIHRoZSBBUEkvY29ubmVjdGlvbiBjb25maWcgKGJhc2UgVVJMLCBTU0wsIHRpbWVvdXRzKSBmcm9tIGZpbGVzIGFuZFxuICogZW52aXJvbm1lbnQgV0lUSE9VVCByZXF1aXJpbmcgYFBMQVRGT1JNX1RPS0VOYC5cbiAqXG4gKiBUaGlzIGlzIHRoZSB0b2tlbi1vcHRpb25hbCBzbGljZSBvZiB7QGxpbmsgZ2V0Q29uZmlnfS4gVGhlIHByZS1hdXRoIGxvZ2luIHN0ZXBcbiAqIChgZW5zdXJlUGxhdGZvcm1Ub2tlbmApIG5lZWRzIHRoZSByZXNvbHZlZCBiYXNlIFVSTCB0byBQT1NUIGAvYXBpL2F1dGgvbG9naW5gXG4gKiAqYmVmb3JlKiBhbnkgdG9rZW4gZXhpc3RzIOKAlCBjYWxsaW5nIGBnZXRDb25maWcoKWAgdGhlcmUgd291bGQgdGhyb3cgb24gdGhlXG4gKiBtaXNzaW5nIHRva2VuIGFuZCBtYWtlIGlubGluZS1sb2dpbiBkZWFkLW9uLWFycml2YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcGlDb25maWcoKTogT21pdDxDb25maWcsICdhdXRoJz4ge1xuICBjb25zdCBwcm9qZWN0Q29uZmlnUGF0aCA9IHByb2Nlc3MuZW52LkNMSV9DT05GSUdfUEFUSCB8fCBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vY29uZmlnLnltbCcpO1xuXG4gIC8vIExheWVyIDE6IGRlZmF1bHRzIOKGkiBMYXllciAyOiB1c2VyIGNvbmZpZyDihpIgTGF5ZXIgMzogcHJvamVjdCBjb25maWdcbiAgbGV0IGNvbmZpZyA9IGxvYWRDb25maWdGaWxlKFVTRVJfQ09ORklHX1BBVEgsIHsgLi4uZGVmYXVsdENvbmZpZyB9KTtcbiAgY29uZmlnID0gbG9hZENvbmZpZ0ZpbGUocHJvamVjdENvbmZpZ1BhdGgsIGNvbmZpZyk7XG5cbiAgLy8gTGF5ZXIgNDogZW52aXJvbm1lbnQgdmFyaWFibGUgb3ZlcnJpZGVzXG4gIGlmIChwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCkge1xuICAgIGNvbmZpZy5hcGkuYmFzZVVybCA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMO1xuICAgIHByaW50RGVidWcoJ1VzaW5nIFBMQVRGT1JNX0JBU0VfVVJMIGZyb20gZW52aXJvbm1lbnQnLCB7IGJhc2VVcmw6IGNvbmZpZy5hcGkuYmFzZVVybCB9KTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5UTFNfUkVKRUNUX1VOQVVUSE9SSVpFRCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGlzYWJsZSA9IHByb2Nlc3MuZW52LlRMU19SRUpFQ1RfVU5BVVRIT1JJWkVEID09PSAnMCc7XG4gICAgaWYgKGRpc2FibGUgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgcHJpbnRXYXJuaW5nKCdJZ25vcmluZyBUTFNfUkVKRUNUX1VOQVVUSE9SSVpFRD0wIGluIHByb2R1Y3Rpb24g4oCUIFNTTCB2ZXJpZmljYXRpb24gcmVtYWlucyBlbmFibGVkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmZpZy5hcGkucmVqZWN0VW5hdXRob3JpemVkID0gIWRpc2FibGU7XG4gICAgICBpZiAoZGlzYWJsZSkge1xuICAgICAgICBwcmludFdhcm5pbmcoJ1NTTCBjZXJ0aWZpY2F0ZSB2YWxpZGF0aW9uIGRpc2FibGVkIHZpYSBUTFNfUkVKRUNUX1VOQVVUSE9SSVpFRD0wJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52LlVQTE9BRF9USU1FT1VUKSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VJbnQocHJvY2Vzcy5lbnYuVVBMT0FEX1RJTUVPVVQsIDEwKTtcbiAgICBpZiAoIWlzTmFOKHBhcnNlZCkgJiYgcGFyc2VkID4gMCkge1xuICAgICAgY29uZmlnLmFwaS51cGxvYWRUaW1lb3V0ID0gcGFyc2VkO1xuICAgICAgcHJpbnREZWJ1ZygnVXNpbmcgVVBMT0FEX1RJTUVPVVQgZnJvbSBlbnZpcm9ubWVudCcsIHsgdXBsb2FkVGltZW91dDogYCR7cGFyc2VkfW1zYCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJpbnRXYXJuaW5nKCdJbnZhbGlkIFVQTE9BRF9USU1FT1VUIHZhbHVlLCB1c2luZyBkZWZhdWx0JywgeyBwcm92aWRlZDogcHJvY2Vzcy5lbnYuVVBMT0FEX1RJTUVPVVQgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZygpOiBDb25maWcge1xuICBjb25zdCBjb25maWcgPSBnZXRBcGlDb25maWcoKTtcblxuICAvLyBUb2tlbiBpcyBSRVFVSVJFRCBmcm9tIGVudmlyb25tZW50XG4gIGNvbnN0IHRva2VuID0gcHJvY2Vzcy5lbnYuUExBVEZPUk1fVE9LRU47XG5cbiAgaWYgKCF0b2tlbikge1xuICAgIHByaW50RXJyb3IoJ1BMQVRGT1JNX1RPS0VOIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQnKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BMQVRGT1JNX1RPS0VOIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHJlcXVpcmVkJyk7XG4gIH1cblxuICBpZiAodG9rZW4udHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignUExBVEZPUk1fVE9LRU4gbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgfVxuXG4gIGlmICh0b2tlbi5pbmNsdWRlcygnICcpKSB7XG4gICAgcHJpbnRXYXJuaW5nKCdQTEFURk9STV9UT0tFTiBjb250YWlucyB3aGl0ZXNwYWNlIOKAlCB0aGlzIG1heSBjYXVzZSBpc3N1ZXMnKTtcbiAgfVxuXG4gIHByaW50RGVidWcoJ0NvbmZpZ3VyYXRpb24gbG9hZGVkIHN1Y2Nlc3NmdWxseScpO1xuXG4gIHJldHVybiB7XG4gICAgLi4uY29uZmlnLFxuICAgIGF1dGg6IHsgdG9rZW4gfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYSBjb3B5IG9mIGBjb25maWdgIHdpdGggU1NMIHZlcmlmaWNhdGlvbiBkaXNhYmxlZC4gTW9kdWxlLXByaXZhdGUg4oCUIHRoZVxuICogb25seSBjYWxsZXIgaXMgYGdldENvbmZpZ1dpdGhPcHRpb25zYCBiZWxvdy5cbiAqL1xuZnVuY3Rpb24gd2l0aFNTTERpc2FibGVkKGNvbmZpZzogQ29uZmlnKTogQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5jb25maWcsXG4gICAgYXBpOiB7IC4uLmNvbmZpZy5hcGksIHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UgfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2FkIGNvbmZpZ3VyYXRpb24sIG9wdGlvbmFsbHkgZGlzYWJsaW5nIFNTTCBiYXNlZCBvbiBjb21tYW5kIG9wdGlvbnMuXG4gKiBSZXBsYWNlcyB0aGUgcmVwZWF0ZWQgcGF0dGVybjpcbiAqICAgYG9wdGlvbnMudmVyaWZ5U3NsID09PSBmYWxzZSA/IHdpdGhTU0xEaXNhYmxlZChnZXRDb25maWcoKSkgOiBnZXRDb25maWcoKWBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZ1dpdGhPcHRpb25zKG9wdGlvbnM6IHsgdmVyaWZ5U3NsPzogYm9vbGVhbiB9KTogQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG4gIHJldHVybiBvcHRpb25zLnZlcmlmeVNzbCA9PT0gZmFsc2UgPyB3aXRoU1NMRGlzYWJsZWQoY29uZmlnKSA6IGNvbmZpZztcbn1cbiJdfQ==
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb25maWctbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BFLE9BQU8sRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELDBEQUEwRDtBQUMxRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFJL0Q7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBeUI7SUFDMUMsR0FBRyxFQUFFO1FBQ0gsT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxPQUFPLEVBQUUsTUFBTTtRQUNmLFdBQVcsRUFBRSxlQUFlO1FBQzVCLGVBQWUsRUFBRSxnQkFBZ0I7UUFDakMsU0FBUyxFQUFFLGFBQWE7UUFDeEIsYUFBYSxFQUFFLGNBQWM7UUFDN0IsZUFBZSxFQUFFLG9CQUFvQjtRQUNyQyxrQkFBa0IsRUFBRSxJQUFJO0tBQ3pCO0NBQ0YsQ0FBQztBQUVGLDREQUE0RDtBQUM1RCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFB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LE1BQU0sQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFO0tBQ2xELENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUFnQztJQUNuRSxNQUFNLE1BQU0sR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUMzQixJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDaEMsdUVBQXVFO1FBQ3ZFLDZFQUE2RTtRQUM3RSxtRUFBbUU7UUFDbkUsdUJBQXVCLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUN0RSxPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnb3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAneWFtbCc7XG5pbXBvcnQgeyBwcmludERlYnVnLCBwcmludEVycm9yLCBwcmludFdhcm5pbmcgfSBmcm9tICcuL291dHB1dC11dGlscy5qcyc7XG5pbXBvcnQgeyBhc3NlcnRTc2xEaXNhYmxlQWxsb3dlZCwgaXNQcm9kdWN0aW9uRW52IH0gZnJvbSAnLi90bHMuanMnO1xuaW1wb3J0IHsgdHlwZSBDb25maWcgfSBmcm9tICcuLi90eXBlcy9pbmRleC5qcyc7XG5cbi8vIEVTTSBoYXMgbm8gX19kaXJuYW1lOyBkZXJpdmUgaXQgZnJvbSB0aGlzIG1vZHVsZSdzIFVSTC5cbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5leHBvcnQgdHlwZSB7IENvbmZpZyB9O1xuXG4vKipcbiAqIERlZmF1bHQgY29uZmlndXJhdGlvbiDigJQgQVBJIGVuZHBvaW50IHBhdGhzIGFuZCBjb25uZWN0aW9uIHNldHRpbmdzLlxuICovXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBPbWl0PENvbmZpZywgJ2F1dGgnPiA9IHtcbiAgYXBpOiB7XG4gICAgYmFzZVVybDogJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnLFxuICAgIHRpbWVvdXQ6IDMwXzAwMCxcbiAgICBwaXBlbGluZVVybDogJy9hcGkvcGlwZWxpbmUnLFxuICAgIHBpcGVsaW5lTGlzdFVybDogJy9hcGkvcGlwZWxpbmVzJyxcbiAgICBwbHVnaW5Vcmw6ICcvYXBpL3BsdWdpbicsXG4gICAgcGx1Z2luTGlzdFVybDogJy9hcGkvcGx1Z2lucycsXG4gICAgcGx1Z2luVXBsb2FkVXJsOiAnL2FwaS9wbHVnaW4vdXBsb2FkJyxcbiAgICByZWplY3RVbmF1dGhvcml6ZWQ6IHRydWUsXG4gIH0sXG59O1xuXG4vKiogVXNlciBjb25maWcgZmlsZSBwYXRoOiB+Ly5waXBlbGluZS1tYW5hZ2VyL2NvbmZpZy55bWwgKi9cbmNvbnN0IFVTRVJfQ09ORklHX1BBVEggPSBwYXRoLmpvaW4ob3MuaG9tZWRpcigpLCAnLnBpcGVsaW5lLW1hbmFnZXInLCAnY29uZmlnLnltbCcpO1xuXG4vKipcbiAqIExvYWQgYSBZQU1MIGNvbmZpZyBmaWxlIGFuZCBtZXJnZSBpdHMgYGFwaWAgc2VjdGlvbiBpbnRvIHRoZSBjb25maWcuXG4gKiBSZXR1cm5zIHRoZSBtZXJnZWQgY29uZmlnIG9yIHRoZSBvcmlnaW5hbCBpZiBmaWxlIGRvZXNuJ3QgZXhpc3Qgb3IgZmFpbHMuXG4gKi9cbmZ1bmN0aW9uIGxvYWRDb25maWdGaWxlKGZpbGVQYXRoOiBzdHJpbmcsIGNvbmZpZzogT21pdDxDb25maWcsICdhdXRoJz4pOiBPbWl0PENvbmZpZywgJ2F1dGgnPiB7XG4gIGlmICghZnMuZXhpc3RzU3luYyhmaWxlUGF0aCkpIHJldHVybiBjb25maWc7XG5cbiAgdHJ5IHtcbiAgICBwcmludERlYnVnKCdMb2FkaW5nIGNvbmZpZ3VyYXRpb24nLCB7IHBhdGg6IGZpbGVQYXRoIH0pO1xuICAgIGNvbnN0IHBhcnNlZCA9IHlhbWwucGFyc2UoZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCAndXRmLTgnKSk7XG4gICAgaWYgKHBhcnNlZD8uYXV0aCkge1xuICAgICAgcHJpbnRXYXJuaW5nKCdBdXRoIHNlY3Rpb24gaW4gY29uZmlnIGZpbGUgaXMgaWdub3JlZCDigJQgdXNlIFBMQVRGT1JNX1RPS0VOIGVudiB2YXInKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYXBpOiB7IC4uLmNvbmZpZy5hcGksIC4uLnBhcnNlZD8uYXBpIH0gfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBwcmludFdhcm5pbmcoJ0ZhaWxlZCB0byBsb2FkIGNvbmZpZyBmaWxlLCB1c2luZyBkZWZhdWx0cycsIHtcbiAgICAgIHBhdGg6IGZpbGVQYXRoLFxuICAgICAgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKSxcbiAgICB9KTtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG59XG5cbi8qKlxuICogTG9hZCBjb25maWd1cmF0aW9uIGZyb20gZmlsZXMgYW5kIGVudmlyb25tZW50LlxuICpcbiAqIFByaW9yaXR5IChsYXN0IHdpbnMpOlxuICogMS4gQnVpbHQtaW4gZGVmYXVsdHNcbiAqIDIuIFVzZXIgY29uZmlnIGZpbGU6IH4vLnBpcGVsaW5lLW1hbmFnZXIvY29uZmlnLnltbFxuICogMy4gUHJvamVjdCBjb25maWcgZmlsZTogQ0xJX0NPTkZJR19QQVRIIG9yIC4vY29uZmlnLnltbFxuICogNC4gRW52aXJvbm1lbnQgdmFyaWFibGVzXG4gKlxuICogQXV0aCB0b2tlbiBNVVNUIGNvbWUgZnJvbSBQTEFURk9STV9UT0tFTiBlbnYgdmFyIChuZXZlciBmcm9tIGNvbmZpZyBmaWxlKS5cbiAqL1xuLyoqXG4gKiBSZXNvbHZlIHRoZSBBUEkvY29ubmVjdGlvbiBjb25maWcgKGJhc2UgVVJMLCBTU0wsIHRpbWVvdXRzKSBmcm9tIGZpbGVzIGFuZFxuICogZW52aXJvbm1lbnQgV0lUSE9VVCByZXF1aXJpbmcgYFBMQVRGT1JNX1RPS0VOYC5cbiAqXG4gKiBUaGlzIGlzIHRoZSB0b2tlbi1vcHRpb25hbCBzbGljZSBvZiB7QGxpbmsgZ2V0Q29uZmlnfS4gVGhlIHByZS1hdXRoIGxvZ2luIHN0ZXBcbiAqIChgZW5zdXJlUGxhdGZvcm1Ub2tlbmApIG5lZWRzIHRoZSByZXNvbHZlZCBiYXNlIFVSTCB0byBQT1NUIGAvYXBpL2F1dGgvbG9naW5gXG4gKiAqYmVmb3JlKiBhbnkgdG9rZW4gZXhpc3RzIOKAlCBjYWxsaW5nIGBnZXRDb25maWcoKWAgdGhlcmUgd291bGQgdGhyb3cgb24gdGhlXG4gKiBtaXNzaW5nIHRva2VuIGFuZCBtYWtlIGlubGluZS1sb2dpbiBkZWFkLW9uLWFycml2YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcGlDb25maWcoKTogT21pdDxDb25maWcsICdhdXRoJz4ge1xuICBjb25zdCBwcm9qZWN0Q29uZmlnUGF0aCA9IHByb2Nlc3MuZW52LkNMSV9DT05GSUdfUEFUSCB8fCBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vY29uZmlnLnltbCcpO1xuXG4gIC8vIExheWVyIDE6IGRlZmF1bHRzIOKGkiBMYXllciAyOiB1c2VyIGNvbmZpZyDihpIgTGF5ZXIgMzogcHJvamVjdCBjb25maWdcbiAgbGV0IGNvbmZpZyA9IGxvYWRDb25maWdGaWxlKFVTRVJfQ09ORklHX1BBVEgsIHsgLi4uZGVmYXVsdENvbmZpZyB9KTtcbiAgY29uZmlnID0gbG9hZENvbmZpZ0ZpbGUocHJvamVjdENvbmZpZ1BhdGgsIGNvbmZpZyk7XG5cbiAgLy8gTGF5ZXIgNDogZW52aXJvbm1lbnQgdmFyaWFibGUgb3ZlcnJpZGVzXG4gIGlmIChwcm9jZXNzLmVudi5QTEFURk9STV9CQVNFX1VSTCkge1xuICAgIGNvbmZpZy5hcGkuYmFzZVVybCA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMO1xuICAgIHByaW50RGVidWcoJ1VzaW5nIFBMQVRGT1JNX0JBU0VfVVJMIGZyb20gZW52aXJvbm1lbnQnLCB7IGJhc2VVcmw6IGNvbmZpZy5hcGkuYmFzZVVybCB9KTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5UTFNfUkVKRUNUX1VOQVVUSE9SSVpFRCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgZGlzYWJsZSA9IHByb2Nlc3MuZW52LlRMU19SRUpFQ1RfVU5BVVRIT1JJWkVEID09PSAnMCc7XG4gICAgaWYgKGRpc2FibGUgJiYgaXNQcm9kdWN0aW9uRW52KCkpIHtcbiAgICAgIHByaW50V2FybmluZygnSWdub3JpbmcgVExTX1JFSkVDVF9VTkFVVEhPUklaRUQ9MCBpbiBwcm9kdWN0aW9uIOKAlCBTU0wgdmVyaWZpY2F0aW9uIHJlbWFpbnMgZW5hYmxlZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25maWcuYXBpLnJlamVjdFVuYXV0aG9yaXplZCA9ICFkaXNhYmxlO1xuICAgICAgaWYgKGRpc2FibGUpIHtcbiAgICAgICAgcHJpbnRXYXJuaW5nKCdTU0wgY2VydGlmaWNhdGUgdmFsaWRhdGlvbiBkaXNhYmxlZCB2aWEgVExTX1JFSkVDVF9VTkFVVEhPUklaRUQ9MCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5VUExPQURfVElNRU9VVCkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KHByb2Nlc3MuZW52LlVQTE9BRF9USU1FT1VULCAxMCk7XG4gICAgaWYgKCFpc05hTihwYXJzZWQpICYmIHBhcnNlZCA+IDApIHtcbiAgICAgIGNvbmZpZy5hcGkudXBsb2FkVGltZW91dCA9IHBhcnNlZDtcbiAgICAgIHByaW50RGVidWcoJ1VzaW5nIFVQTE9BRF9USU1FT1VUIGZyb20gZW52aXJvbm1lbnQnLCB7IHVwbG9hZFRpbWVvdXQ6IGAke3BhcnNlZH1tc2AgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByaW50V2FybmluZygnSW52YWxpZCBVUExPQURfVElNRU9VVCB2YWx1ZSwgdXNpbmcgZGVmYXVsdCcsIHsgcHJvdmlkZWQ6IHByb2Nlc3MuZW52LlVQTE9BRF9USU1FT1VUIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoKTogQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnID0gZ2V0QXBpQ29uZmlnKCk7XG5cbiAgLy8gVG9rZW4gaXMgUkVRVUlSRUQgZnJvbSBlbnZpcm9ubWVudFxuICBjb25zdCB0b2tlbiA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOO1xuXG4gIGlmICghdG9rZW4pIHtcbiAgICBwcmludEVycm9yKCdQTEFURk9STV9UT0tFTiBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0Jyk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdQTEFURk9STV9UT0tFTiBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyByZXF1aXJlZCcpO1xuICB9XG5cbiAgaWYgKHRva2VuLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BMQVRGT1JNX1RPS0VOIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gIH1cblxuICBpZiAodG9rZW4uaW5jbHVkZXMoJyAnKSkge1xuICAgIHByaW50V2FybmluZygnUExBVEZPUk1fVE9LRU4gY29udGFpbnMgd2hpdGVzcGFjZSDigJQgdGhpcyBtYXkgY2F1c2UgaXNzdWVzJyk7XG4gIH1cblxuICBwcmludERlYnVnKCdDb25maWd1cmF0aW9uIGxvYWRlZCBzdWNjZXNzZnVsbHknKTtcblxuICByZXR1cm4ge1xuICAgIC4uLmNvbmZpZyxcbiAgICBhdXRoOiB7IHRva2VuIH0sXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJuIGEgY29weSBvZiBgY29uZmlnYCB3aXRoIFNTTCB2ZXJpZmljYXRpb24gZGlzYWJsZWQuIE1vZHVsZS1wcml2YXRlIOKAlCB0aGVcbiAqIG9ubHkgY2FsbGVyIGlzIGBnZXRDb25maWdXaXRoT3B0aW9uc2AgYmVsb3cuXG4gKi9cbmZ1bmN0aW9uIHdpdGhTU0xEaXNhYmxlZChjb25maWc6IENvbmZpZyk6IENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgLi4uY29uZmlnLFxuICAgIGFwaTogeyAuLi5jb25maWcuYXBpLCByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0sXG4gIH07XG59XG5cbi8qKlxuICogTG9hZCBjb25maWd1cmF0aW9uLCBvcHRpb25hbGx5IGRpc2FibGluZyBTU0wgYmFzZWQgb24gY29tbWFuZCBvcHRpb25zLlxuICogUmVwbGFjZXMgdGhlIHJlcGVhdGVkIHBhdHRlcm46XG4gKiAgIGBvcHRpb25zLnZlcmlmeVNzbCA9PT0gZmFsc2UgPyB3aXRoU1NMRGlzYWJsZWQoZ2V0Q29uZmlnKCkpIDogZ2V0Q29uZmlnKClgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWdXaXRoT3B0aW9ucyhvcHRpb25zOiB7IHZlcmlmeVNzbD86IGJvb2xlYW4gfSk6IENvbmZpZyB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZygpO1xuICBpZiAob3B0aW9ucy52ZXJpZnlTc2wgPT09IGZhbHNlKSB7XG4gICAgLy8gRXZlcnkgYXV0aGVudGljYXRlZCBjb21tYW5kIGZsb3dzIGl0cyB0b2tlbiB0aHJvdWdoIGhlcmUg4oCUIHJlZnVzZSB0b1xuICAgIC8vIGRpc2FibGUgY2VydCB2ZXJpZmljYXRpb24gaW4gcHJvZHVjdGlvbiAobWlycm9ycyB0aGUgbG9naW4vcmVuZXdhbCBndWFyZHMpXG4gICAgLy8gc28gYSBNSVRNIGNhbid0IGhhcnZlc3QgdGhlIEJlYXJlciBKV1QuIE5vLW9wIGluIG5vbi1wcm9kdWN0aW9uLlxuICAgIGFzc2VydFNzbERpc2FibGVBbGxvd2VkKCdhdXRoZW50aWNhdGVkIEFQSSBjbGllbnQgKC0tbm8tdmVyaWZ5LXNzbCknKTtcbiAgICByZXR1cm4gd2l0aFNTTERpc2FibGVkKGNvbmZpZyk7XG4gIH1cbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-secret.d.ts","sourceRoot":"","sources":["../../src/utils/platform-secret.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform-secret.d.ts","sourceRoot":"","sources":["../../src/utils/platform-secret.ts"],"names":[],"mappings":"AAkBA,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCvF;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAY/F"}
|
|
@@ -12,6 +12,7 @@ import axios from 'axios';
|
|
|
12
12
|
import { decodeTokenPayload } from './auth-guard.js';
|
|
13
13
|
import { getApiConfig } from './config-loader.js';
|
|
14
14
|
import { printInfo, printSection, printSuccess, printWarning } from './output-utils.js';
|
|
15
|
+
import { assertSslDisableAllowed } from './tls.js';
|
|
15
16
|
/**
|
|
16
17
|
* Derive the platform secret path from a JWT's organizationId.
|
|
17
18
|
* Pattern: `{SECRETS_PATH_PREFIX}/{orgId}/platform`.
|
|
@@ -47,6 +48,12 @@ export async function ensurePlatformToken(options) {
|
|
|
47
48
|
// pre-auth (no PLATFORM_TOKEN yet), so `getConfig()` would throw here. The
|
|
48
49
|
// token-optional loader still honors config files + PLATFORM_BASE_URL/TLS env.
|
|
49
50
|
const apiConfig = getApiConfig();
|
|
51
|
+
// SECURITY: this inline login POSTs the password. Refuse to disable cert
|
|
52
|
+
// verification in production (mirrors config-loader / login) so a MITM can't
|
|
53
|
+
// harvest it; honored in non-production for self-signed dev platforms.
|
|
54
|
+
if (options.verifySsl === false) {
|
|
55
|
+
assertSslDisableAllowed('inline login');
|
|
56
|
+
}
|
|
50
57
|
const rejectUnauthorized = options.verifySsl === false ? false : apiConfig.api.rejectUnauthorized;
|
|
51
58
|
const loginResponse = await axios.post(`${apiConfig.api.baseUrl}/api/auth/login`, { email: loginEmail, password: loginPassword }, {
|
|
52
59
|
httpsAgent: rejectUnauthorized === false
|
|
@@ -78,4 +85,4 @@ export async function resolvePlatformSecretName(options) {
|
|
|
78
85
|
}
|
|
79
86
|
return resolveSecretName(process.env.PLATFORM_TOKEN);
|
|
80
87
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0tc2VjcmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3BsYXRmb3JtLXNlY3JldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFTbkQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFhO0lBQzdDLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxjQUFjLENBQUM7SUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyx1SEFBdUgsQ0FBQyxDQUFDO0lBQzNJLENBQUM7SUFDRCxPQUFPLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixJQUFJLEtBQUssV0FBVyxDQUFDO0FBQ2xFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsbUJBQW1CLENBQUMsT0FBOEI7SUFDdEUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWM7UUFBRSxPQUFPO0lBQ3ZDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztJQUNwRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7SUFDeEUsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLGFBQWE7UUFBRSxPQUFPO0lBRTFDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLFlBQVksQ0FBQywrR0FBK0csQ0FBQyxDQUFDO0lBQ2hJLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEIsU0FBUyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDbkQsd0VBQXdFO0lBQ3hFLDJFQUEyRTtJQUMzRSwrRUFBK0U7SUFDL0UsTUFBTSxTQUFTLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDakMseUVBQXlFO0lBQ3pFLDZFQUE2RTtJQUM3RSx1RUFBdUU7SUFDdkUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ2hDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7SUFDbEcsTUFBTSxhQUFhLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUNwQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxpQkFBaUIsRUFDekMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsRUFDOUM7UUFDRSxVQUFVLEVBQUUsa0JBQWtCLEtBQUssS0FBSztZQUN0QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbEUsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUNGLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ2pFLE1BQU0sVUFBVSxHQUFHLFNBQVMsRUFBRSxXQUFXLENBQUM7SUFDMUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQztJQUN4QyxZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUseUJBQXlCLENBQUMsT0FBOEI7SUFDNUUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQztJQUNsRCxJQUFJLFFBQVE7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUM5QixNQUFNLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0ZBQWdGO2NBQzlFLG1EQUFtRDtjQUNuRCxnRUFBZ0UsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIFNoYXJlZCBwbGF0Zm9ybS10b2tlbiDihpIgc2VjcmV0LW5hbWUgcmVzb2x1dGlvbiwgdXNlZCBieSBib3RoIGBzdG9yZS10b2tlbmBcbiAqICh3aGljaCBXUklURVMgdGhlIEpXVCB0byBTZWNyZXRzIE1hbmFnZXIpIGFuZCBgc2V0dXAtZXZlbnRzYCAod2hpY2ggZGVwbG95cyB0aGVcbiAqIExhbWJkYSB0aGF0IFJFQURTIGl0KS4gQm90aCBtdXN0IGFncmVlIG9uIHRoZSBzYW1lIHNlY3JldCBwYXRoLCBzbyB0aGUgbG9naWNcbiAqIGxpdmVzIGhlcmUgb25jZTogZGVyaXZlIGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS9wbGF0Zm9ybWAgZnJvbSB0aGUgSldUJ3NcbiAqIG9yZ2FuaXphdGlvbklkLCBsb2dnaW5nIGluIGZpcnN0IGlmIG5lZWRlZCB0byBvYnRhaW4gdGhlIHRva2VuLlxuICovXG5cbmltcG9ydCB7IENvcmVDb25zdGFudHMgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1jb3JlJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBkZWNvZGVUb2tlblBheWxvYWQgfSBmcm9tICcuL2F1dGgtZ3VhcmQuanMnO1xuaW1wb3J0IHsgZ2V0QXBpQ29uZmlnIH0gZnJvbSAnLi9jb25maWctbG9hZGVyLmpzJztcbmltcG9ydCB7IHByaW50SW5mbywgcHJpbnRTZWN0aW9uLCBwcmludFN1Y2Nlc3MsIHByaW50V2FybmluZyB9IGZyb20gJy4vb3V0cHV0LXV0aWxzLmpzJztcbmltcG9ydCB7IGFzc2VydFNzbERpc2FibGVBbGxvd2VkIH0gZnJvbSAnLi90bHMuanMnO1xuXG4vKiogTG9naW4vc2VjcmV0IG9wdGlvbnMgc2hhcmVkIGFjcm9zcyB0aGUgcGxhdGZvcm0tc2VjcmV0IGhlbHBlcnMuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYXRmb3JtU2VjcmV0T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGVtYWlsPzogc3RyaW5nO1xuICByZWFkb25seSBwYXNzd29yZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyaWZ5U3NsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZXJpdmUgdGhlIHBsYXRmb3JtIHNlY3JldCBwYXRoIGZyb20gYSBKV1QncyBvcmdhbml6YXRpb25JZC5cbiAqIFBhdHRlcm46IGB7U0VDUkVUU19QQVRIX1BSRUZJWH0ve29yZ0lkfS9wbGF0Zm9ybWAuXG4gKiBAdGhyb3dzIGlmIHRoZSB0b2tlbiBjYXJyaWVzIG5vIG9yZ2FuaXphdGlvbklkIChjYWxsZXIgc2hvdWxkIGZhbGwgYmFjayB0byBQTEFURk9STV9TRUNSRVRfTkFNRSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlU2VjcmV0TmFtZSh0b2tlbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcGF5bG9hZCA9IGRlY29kZVRva2VuUGF5bG9hZCh0b2tlbik7XG4gIGNvbnN0IG9yZ0lkID0gcGF5bG9hZD8ub3JnYW5pemF0aW9uSWQ7XG4gIGlmICghb3JnSWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Rva2VuIGRvZXMgbm90IGNvbnRhaW4gb3JnYW5pemF0aW9uSWQg4oCUIGNhbm5vdCBkZXJpdmUgc2VjcmV0IG5hbWUuIFNldCBQTEFURk9STV9TRUNSRVRfTkFNRSB0byBzcGVjaWZ5IGl0IGV4cGxpY2l0bHkuJyk7XG4gIH1cbiAgcmV0dXJuIGAke0NvcmVDb25zdGFudHMuU0VDUkVUU19QQVRIX1BSRUZJWH0vJHtvcmdJZH0vcGxhdGZvcm1gO1xufVxuXG4vKipcbiAqIEVuc3VyZSBgcHJvY2Vzcy5lbnYuUExBVEZPUk1fVE9LRU5gIGlzIHNldC4gTm8tb3AgaWYgaXQgYWxyZWFkeSBpcy4gT3RoZXJ3aXNlLFxuICogaWYgbG9naW4gY3JlZHMgYXJlIGF2YWlsYWJsZSAoYC0tZW1haWwvLS1wYXNzd29yZGAgb3IgYFBMQVRGT1JNX0lERU5USUZJRVJgL1xuICogYFBMQVRGT1JNX1BBU1NXT1JEYCBlbnYg4oCUIHRoZSBlbnYgcGF0aCBsZXRzIGBwcm92aXNpb25gIHBhc3MgY3JlZHMgd2l0aG91dFxuICogcHV0dGluZyB0aGUgcGFzc3dvcmQgb24gdGhlIGNvbW1hbmQgbGluZSksIGxvZyBpbiBhbmQgc2V0IFBMQVRGT1JNX1RPS0VOLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zOiBQbGF0Zm9ybVNlY3JldE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOKSByZXR1cm47XG4gIGNvbnN0IGxvZ2luRW1haWwgPSBvcHRpb25zLmVtYWlsIHx8IHByb2Nlc3MuZW52LlBMQVRGT1JNX0lERU5USUZJRVI7XG4gIGNvbnN0IGxvZ2luUGFzc3dvcmQgPSBvcHRpb25zLnBhc3N3b3JkIHx8IHByb2Nlc3MuZW52LlBMQVRGT1JNX1BBU1NXT1JEO1xuICBpZiAoIWxvZ2luRW1haWwgfHwgIWxvZ2luUGFzc3dvcmQpIHJldHVybjtcblxuICBpZiAob3B0aW9ucy5wYXNzd29yZCkge1xuICAgIHByaW50V2FybmluZygnUGFzc2luZyAtLXBhc3N3b3JkIG9uIHRoZSBjb21tYW5kIGxpbmUgY2FuIGV4cG9zZSBpdCB2aWEgc2hlbGwgaGlzdG9yeTsgcHJlZmVyIHRoZSBQTEFURk9STV9QQVNTV09SRCBlbnYgdmFyLicpO1xuICB9XG5cbiAgcHJpbnRTZWN0aW9uKCdMb2dpbicpO1xuICBwcmludEluZm8oJ0F1dGhlbnRpY2F0aW5nIHdpdGggZW1haWwvcGFzc3dvcmQuLi4nKTtcbiAgLy8gUmVzb2x2ZSB0aGUgYmFzZSBVUkwgV0lUSE9VVCBkZW1hbmRpbmcgYSB0b2tlbiDigJQgdGhpcyBsb2dpbiBzdGVwIHJ1bnNcbiAgLy8gcHJlLWF1dGggKG5vIFBMQVRGT1JNX1RPS0VOIHlldCksIHNvIGBnZXRDb25maWcoKWAgd291bGQgdGhyb3cgaGVyZS4gVGhlXG4gIC8vIHRva2VuLW9wdGlvbmFsIGxvYWRlciBzdGlsbCBob25vcnMgY29uZmlnIGZpbGVzICsgUExBVEZPUk1fQkFTRV9VUkwvVExTIGVudi5cbiAgY29uc3QgYXBpQ29uZmlnID0gZ2V0QXBpQ29uZmlnKCk7XG4gIC8vIFNFQ1VSSVRZOiB0aGlzIGlubGluZSBsb2dpbiBQT1NUcyB0aGUgcGFzc3dvcmQuIFJlZnVzZSB0byBkaXNhYmxlIGNlcnRcbiAgLy8gdmVyaWZpY2F0aW9uIGluIHByb2R1Y3Rpb24gKG1pcnJvcnMgY29uZmlnLWxvYWRlciAvIGxvZ2luKSBzbyBhIE1JVE0gY2FuJ3RcbiAgLy8gaGFydmVzdCBpdDsgaG9ub3JlZCBpbiBub24tcHJvZHVjdGlvbiBmb3Igc2VsZi1zaWduZWQgZGV2IHBsYXRmb3Jtcy5cbiAgaWYgKG9wdGlvbnMudmVyaWZ5U3NsID09PSBmYWxzZSkge1xuICAgIGFzc2VydFNzbERpc2FibGVBbGxvd2VkKCdpbmxpbmUgbG9naW4nKTtcbiAgfVxuICBjb25zdCByZWplY3RVbmF1dGhvcml6ZWQgPSBvcHRpb25zLnZlcmlmeVNzbCA9PT0gZmFsc2UgPyBmYWxzZSA6IGFwaUNvbmZpZy5hcGkucmVqZWN0VW5hdXRob3JpemVkO1xuICBjb25zdCBsb2dpblJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdChcbiAgICBgJHthcGlDb25maWcuYXBpLmJhc2VVcmx9L2FwaS9hdXRoL2xvZ2luYCxcbiAgICB7IGVtYWlsOiBsb2dpbkVtYWlsLCBwYXNzd29yZDogbG9naW5QYXNzd29yZCB9LFxuICAgIHtcbiAgICAgIGh0dHBzQWdlbnQ6IHJlamVjdFVuYXV0aG9yaXplZCA9PT0gZmFsc2VcbiAgICAgICAgPyBuZXcgKGF3YWl0IGltcG9ydCgnaHR0cHMnKSkuQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0sXG4gICk7XG4gIGNvbnN0IGxvZ2luRGF0YSA9IGxvZ2luUmVzcG9uc2UuZGF0YT8uZGF0YSA/PyBsb2dpblJlc3BvbnNlLmRhdGE7XG4gIGNvbnN0IGxvZ2luVG9rZW4gPSBsb2dpbkRhdGE/LmFjY2Vzc1Rva2VuO1xuICBpZiAoIWxvZ2luVG9rZW4gfHwgdHlwZW9mIGxvZ2luVG9rZW4gIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdMb2dpbiBmYWlsZWQg4oCUIG5vIGFjY2VzcyB0b2tlbiBpbiByZXNwb25zZScpO1xuICB9XG4gIHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOID0gbG9naW5Ub2tlbjtcbiAgcHJpbnRTdWNjZXNzKCdMb2dpbiBzdWNjZXNzZnVsJyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSB0aGUgcGxhdGZvcm0gc2VjcmV0IG5hbWU6IGFuIGV4cGxpY2l0IGBQTEFURk9STV9TRUNSRVRfTkFNRWAgZW52IHdpbnM7XG4gKiBvdGhlcndpc2UgbG9nIGluIGlmIG5lZWRlZCBhbmQgZGVyaXZlIGl0IGZyb20gdGhlIHBsYXRmb3JtIHRva2VuJ3Mgb3JnIOKAlCB0aGVcbiAqIHNhbWUgdG9rZW4gYGluaXQtcGxhdGZvcm0uc2hgIChyZWdpc3RlcikgbWludHMsIHNvIHdyaXRlciBhbmQgcmVhZGVyIGFncmVlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVBsYXRmb3JtU2VjcmV0TmFtZShvcHRpb25zOiBQbGF0Zm9ybVNlY3JldE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBleHBsaWNpdCA9IHByb2Nlc3MuZW52LlBMQVRGT1JNX1NFQ1JFVF9OQU1FO1xuICBpZiAoZXhwbGljaXQpIHJldHVybiBleHBsaWNpdDtcbiAgYXdhaXQgZW5zdXJlUGxhdGZvcm1Ub2tlbihvcHRpb25zKTtcbiAgaWYgKCFwcm9jZXNzLmVudi5QTEFURk9STV9UT0tFTikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdDYW5ub3QgZGVyaXZlIHRoZSBwbGF0Zm9ybSBzZWNyZXQgbmFtZTogbm8gUExBVEZPUk1fVE9LRU4gYW5kIG5vIGxvZ2luIGNyZWRzLiAnXG4gICAgICArICdTZXQgUExBVEZPUk1fU0VDUkVUX05BTUUsIG9yIHByb3ZpZGUgbG9naW4gY3JlZHMgJ1xuICAgICAgKyAnKC0tZW1haWwvLS1wYXNzd29yZCBvciBQTEFURk9STV9JREVOVElGSUVSL1BMQVRGT1JNX1BBU1NXT1JEKS4nLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJlc29sdmVTZWNyZXROYW1lKHByb2Nlc3MuZW52LlBMQVRGT1JNX1RPS0VOKTtcbn1cbiJdfQ==
|
package/dist/utils/tls.d.ts
CHANGED
|
@@ -13,6 +13,29 @@ export declare function isLocalHttpsHost(url: string): boolean;
|
|
|
13
13
|
* default secure behavior.
|
|
14
14
|
*/
|
|
15
15
|
export declare function httpsAgentForUrl(url: string): https.Agent | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Single source of truth for "is this a production run?" — the whole CLI keys its
|
|
18
|
+
* TLS-disable refusal off `NODE_ENV=production`. Centralized here (rather than a
|
|
19
|
+
* bare `process.env.NODE_ENV === 'production'` copied into config-loader, login,
|
|
20
|
+
* platform-secret and the renew handler) so the policy can't drift between the
|
|
21
|
+
* paths that transmit passwords/JWTs and the paths that merely read config.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isProductionEnv(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Guard for the credential-transmitting SSL-disable paths (login, inline-login,
|
|
26
|
+
* token renewal, and every authenticated command via `getConfigWithOptions`).
|
|
27
|
+
*
|
|
28
|
+
* When a caller asks to disable certificate verification AND the run is
|
|
29
|
+
* production, this THROWS a clear error rather than silently proceeding — a MITM
|
|
30
|
+
* on a "prod with --no-verify-ssl" run would otherwise harvest the very
|
|
31
|
+
* passwords/JWTs these paths send. In non-production it is a no-op, so
|
|
32
|
+
* `--no-verify-ssl` / `PLATFORM_VERIFY_SSL=false` still work against self-signed
|
|
33
|
+
* dev platforms.
|
|
34
|
+
*
|
|
35
|
+
* @param context - short description of the path being guarded, for the message.
|
|
36
|
+
* @throws Error in production; returns `void` otherwise.
|
|
37
|
+
*/
|
|
38
|
+
export declare function assertSslDisableAllowed(context?: string): void;
|
|
16
39
|
/**
|
|
17
40
|
* Apply the `--no-verify-ssl` relaxation as a process-wide env flag
|
|
18
41
|
* (`NODE_TLS_REJECT_UNAUTHORIZED=0`) so spawned CDK subprocesses (Lambda,
|
package/dist/utils/tls.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tls.d.ts","sourceRoot":"","sources":["../../src/utils/tls.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAgBrD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS,CAErE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC9B,OAAO,CAQT"}
|
|
1
|
+
{"version":3,"file":"tls.d.ts","sourceRoot":"","sources":["../../src/utils/tls.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAgBrD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC9B,OAAO,CAQT"}
|
package/dist/utils/tls.js
CHANGED
|
@@ -32,6 +32,37 @@ export function isLocalHttpsHost(url) {
|
|
|
32
32
|
export function httpsAgentForUrl(url) {
|
|
33
33
|
return isLocalHttpsHost(url) ? new https.Agent({ rejectUnauthorized: false }) : undefined;
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Single source of truth for "is this a production run?" — the whole CLI keys its
|
|
37
|
+
* TLS-disable refusal off `NODE_ENV=production`. Centralized here (rather than a
|
|
38
|
+
* bare `process.env.NODE_ENV === 'production'` copied into config-loader, login,
|
|
39
|
+
* platform-secret and the renew handler) so the policy can't drift between the
|
|
40
|
+
* paths that transmit passwords/JWTs and the paths that merely read config.
|
|
41
|
+
*/
|
|
42
|
+
export function isProductionEnv() {
|
|
43
|
+
return process.env.NODE_ENV === 'production';
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Guard for the credential-transmitting SSL-disable paths (login, inline-login,
|
|
47
|
+
* token renewal, and every authenticated command via `getConfigWithOptions`).
|
|
48
|
+
*
|
|
49
|
+
* When a caller asks to disable certificate verification AND the run is
|
|
50
|
+
* production, this THROWS a clear error rather than silently proceeding — a MITM
|
|
51
|
+
* on a "prod with --no-verify-ssl" run would otherwise harvest the very
|
|
52
|
+
* passwords/JWTs these paths send. In non-production it is a no-op, so
|
|
53
|
+
* `--no-verify-ssl` / `PLATFORM_VERIFY_SSL=false` still work against self-signed
|
|
54
|
+
* dev platforms.
|
|
55
|
+
*
|
|
56
|
+
* @param context - short description of the path being guarded, for the message.
|
|
57
|
+
* @throws Error in production; returns `void` otherwise.
|
|
58
|
+
*/
|
|
59
|
+
export function assertSslDisableAllowed(context) {
|
|
60
|
+
if (isProductionEnv()) {
|
|
61
|
+
throw new Error(`Refusing to disable TLS certificate verification in production (NODE_ENV=production)${context ? ` — ${context}` : ''}. `
|
|
62
|
+
+ 'Credentials and tokens must never be transmitted over an unverified TLS connection. '
|
|
63
|
+
+ 'Use a platform with a valid certificate, or unset NODE_ENV for local/self-signed development.');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
35
66
|
/**
|
|
36
67
|
* Apply the `--no-verify-ssl` relaxation as a process-wide env flag
|
|
37
68
|
* (`NODE_TLS_REJECT_UNAUTHORIZED=0`) so spawned CDK subprocesses (Lambda,
|
|
@@ -47,11 +78,11 @@ export function httpsAgentForUrl(url) {
|
|
|
47
78
|
export function relaxTlsForCli(verifySsl, warn) {
|
|
48
79
|
if (verifySsl !== false)
|
|
49
80
|
return false;
|
|
50
|
-
if (
|
|
81
|
+
if (isProductionEnv()) {
|
|
51
82
|
warn('Refusing to disable TLS verification in production (NODE_ENV=production) — certificate validation remains enabled.');
|
|
52
83
|
return false;
|
|
53
84
|
}
|
|
54
85
|
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
|
|
55
86
|
return true;
|
|
56
87
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3Rscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQjs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFXO0lBQzFDLElBQUksUUFBZ0IsQ0FBQztJQUNyQixJQUFJLENBQUM7UUFDSCxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLENBQ0wsUUFBUSxLQUFLLFdBQVc7UUFDeEIsUUFBUSxLQUFLLFdBQVc7UUFDeEIsUUFBUSxLQUFLLEtBQUs7UUFDbEIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdEIsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDNUIsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUM1QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEdBQVc7SUFDMUMsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzVGLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZTtJQUM3QixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFlBQVksQ0FBQztBQUMvQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUFnQjtJQUN0RCxJQUFJLGVBQWUsRUFBRSxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FDYix1RkFBdUYsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUk7Y0FDdkgsc0ZBQXNGO2NBQ3RGLCtGQUErRixDQUNsRyxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQzVCLFNBQThCLEVBQzlCLElBQStCO0lBRS9CLElBQUksU0FBUyxLQUFLLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN0QyxJQUFJLGVBQWUsRUFBRSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLG9IQUFvSCxDQUFDLENBQUM7UUFDM0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsR0FBRyxHQUFHLENBQUM7SUFDL0MsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCBodHRwcyBmcm9tICdodHRwcyc7XG5cbi8qKlxuICogSG9zdHMgdGhhdCBsZWdpdGltYXRlbHkgZnJvbnQgYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZSDigJQgbG9jYWwgZGV2IHN0YWNrcyBhbmRcbiAqIGt1YmVjdGwgcG9ydC1mb3J3YXJkcy4gRXZlcnl0aGluZyBlbHNlIChhIHJlYWwgZGVwbG95IGRvbWFpbikgaXMgZXhwZWN0ZWQgdG9cbiAqIHByZXNlbnQgYSB2YWxpZCAoQUNNKSBjZXJ0aWZpY2F0ZSBhbmQgTVVTVCBiZSB2ZXJpZmllZCwgc28gYSBwb3N0LWRlcGxveSBwcm9iZVxuICogY2FuJ3QgYmUgc2lsZW50bHkgTUlUTSdkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNMb2NhbEh0dHBzSG9zdCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBsZXQgaG9zdG5hbWU6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBob3N0bmFtZSA9IG5ldyBVUkwodXJsKS5ob3N0bmFtZTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAoXG4gICAgaG9zdG5hbWUgPT09ICdsb2NhbGhvc3QnIHx8XG4gICAgaG9zdG5hbWUgPT09ICcxMjcuMC4wLjEnIHx8XG4gICAgaG9zdG5hbWUgPT09ICc6OjEnIHx8XG4gICAgaG9zdG5hbWUuZW5kc1dpdGgoJy5sb2NhbCcpIHx8XG4gICAgL14xMFxcLi8udGVzdChob3N0bmFtZSkgfHxcbiAgICAvXjE5MlxcLjE2OFxcLi8udGVzdChob3N0bmFtZSkgfHxcbiAgICAvXjE3MlxcLigxWzYtOV18MlxcZHwzWzAxXSlcXC4vLnRlc3QoaG9zdG5hbWUpXG4gICk7XG59XG5cbi8qKlxuICogUmV0dXJuIGFuIGh0dHBzLkFnZW50IHRoYXQgc2tpcHMgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIE9OTFkgZm9yIGxvY2FsIC9cbiAqIHNlbGYtc2lnbmVkIGhvc3RzOyByZXR1cm5zIGB1bmRlZmluZWRgIChOb2RlJ3MgZGVmYXVsdCB2ZXJpZmljYXRpb24pIGZvciByZWFsXG4gKiBkb21haW5zLiBQYXNzIHRoZSByZXN1bHQgc3RyYWlnaHQgdG8gYXhpb3MnIGBodHRwc0FnZW50YCDigJQgYHVuZGVmaW5lZGAga2VlcHMgdGhlXG4gKiBkZWZhdWx0IHNlY3VyZSBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGh0dHBzQWdlbnRGb3JVcmwodXJsOiBzdHJpbmcpOiBodHRwcy5BZ2VudCB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpc0xvY2FsSHR0cHNIb3N0KHVybCkgPyBuZXcgaHR0cHMuQWdlbnQoeyByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlIH0pIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIFwiaXMgdGhpcyBhIHByb2R1Y3Rpb24gcnVuP1wiIOKAlCB0aGUgd2hvbGUgQ0xJIGtleXMgaXRzXG4gKiBUTFMtZGlzYWJsZSByZWZ1c2FsIG9mZiBgTk9ERV9FTlY9cHJvZHVjdGlvbmAuIENlbnRyYWxpemVkIGhlcmUgKHJhdGhlciB0aGFuIGFcbiAqIGJhcmUgYHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbidgIGNvcGllZCBpbnRvIGNvbmZpZy1sb2FkZXIsIGxvZ2luLFxuICogcGxhdGZvcm0tc2VjcmV0IGFuZCB0aGUgcmVuZXcgaGFuZGxlcikgc28gdGhlIHBvbGljeSBjYW4ndCBkcmlmdCBiZXR3ZWVuIHRoZVxuICogcGF0aHMgdGhhdCB0cmFuc21pdCBwYXNzd29yZHMvSldUcyBhbmQgdGhlIHBhdGhzIHRoYXQgbWVyZWx5IHJlYWQgY29uZmlnLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQcm9kdWN0aW9uRW52KCk6IGJvb2xlYW4ge1xuICByZXR1cm4gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJztcbn1cblxuLyoqXG4gKiBHdWFyZCBmb3IgdGhlIGNyZWRlbnRpYWwtdHJhbnNtaXR0aW5nIFNTTC1kaXNhYmxlIHBhdGhzIChsb2dpbiwgaW5saW5lLWxvZ2luLFxuICogdG9rZW4gcmVuZXdhbCwgYW5kIGV2ZXJ5IGF1dGhlbnRpY2F0ZWQgY29tbWFuZCB2aWEgYGdldENvbmZpZ1dpdGhPcHRpb25zYCkuXG4gKlxuICogV2hlbiBhIGNhbGxlciBhc2tzIHRvIGRpc2FibGUgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIEFORCB0aGUgcnVuIGlzXG4gKiBwcm9kdWN0aW9uLCB0aGlzIFRIUk9XUyBhIGNsZWFyIGVycm9yIHJhdGhlciB0aGFuIHNpbGVudGx5IHByb2NlZWRpbmcg4oCUIGEgTUlUTVxuICogb24gYSBcInByb2Qgd2l0aCAtLW5vLXZlcmlmeS1zc2xcIiBydW4gd291bGQgb3RoZXJ3aXNlIGhhcnZlc3QgdGhlIHZlcnlcbiAqIHBhc3N3b3Jkcy9KV1RzIHRoZXNlIHBhdGhzIHNlbmQuIEluIG5vbi1wcm9kdWN0aW9uIGl0IGlzIGEgbm8tb3AsIHNvXG4gKiBgLS1uby12ZXJpZnktc3NsYCAvIGBQTEFURk9STV9WRVJJRllfU1NMPWZhbHNlYCBzdGlsbCB3b3JrIGFnYWluc3Qgc2VsZi1zaWduZWRcbiAqIGRldiBwbGF0Zm9ybXMuXG4gKlxuICogQHBhcmFtIGNvbnRleHQgLSBzaG9ydCBkZXNjcmlwdGlvbiBvZiB0aGUgcGF0aCBiZWluZyBndWFyZGVkLCBmb3IgdGhlIG1lc3NhZ2UuXG4gKiBAdGhyb3dzIEVycm9yIGluIHByb2R1Y3Rpb247IHJldHVybnMgYHZvaWRgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFNzbERpc2FibGVBbGxvd2VkKGNvbnRleHQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKGlzUHJvZHVjdGlvbkVudigpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFJlZnVzaW5nIHRvIGRpc2FibGUgVExTIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBpbiBwcm9kdWN0aW9uIChOT0RFX0VOVj1wcm9kdWN0aW9uKSR7Y29udGV4dCA/IGAg4oCUICR7Y29udGV4dH1gIDogJyd9LiBgXG4gICAgICArICdDcmVkZW50aWFscyBhbmQgdG9rZW5zIG11c3QgbmV2ZXIgYmUgdHJhbnNtaXR0ZWQgb3ZlciBhbiB1bnZlcmlmaWVkIFRMUyBjb25uZWN0aW9uLiAnXG4gICAgICArICdVc2UgYSBwbGF0Zm9ybSB3aXRoIGEgdmFsaWQgY2VydGlmaWNhdGUsIG9yIHVuc2V0IE5PREVfRU5WIGZvciBsb2NhbC9zZWxmLXNpZ25lZCBkZXZlbG9wbWVudC4nLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBBcHBseSB0aGUgYC0tbm8tdmVyaWZ5LXNzbGAgcmVsYXhhdGlvbiBhcyBhIHByb2Nlc3Mtd2lkZSBlbnYgZmxhZ1xuICogKGBOT0RFX1RMU19SRUpFQ1RfVU5BVVRIT1JJWkVEPTBgKSBzbyBzcGF3bmVkIENESyBzdWJwcm9jZXNzZXMgKExhbWJkYSxcbiAqIENvZGVCdWlsZCBzeW50aCkgaW5oZXJpdCBpdCDigJQgYnV0IFJFRlVTRSBpbiBwcm9kdWN0aW9uLCBtaXJyb3JpbmcgdGhlIGd1YXJkIGluXG4gKiBjb25maWctbG9hZGVyLiBUaGF0IGZsYWcgZGlzYWJsZXMgY2VydGlmaWNhdGUgdmFsaWRhdGlvbiBmb3IgQUxMIG91dGJvdW5kIFRMU1xuICogKGluY2x1ZGluZyB0aGUgQVdTIFNESyksIHNvIGl0IG11c3QgbmV2ZXIgYmUgc2lsZW50bHkgZW5hYmxlZCBmb3IgYSBwcm9kXG4gKiBkZXBsb3kvc3ludGguXG4gKlxuICogQHBhcmFtIHZlcmlmeVNzbCAtIHRoZSBjb21tYW5kJ3MgYC0tdmVyaWZ5LXNzbGAgdmFsdWUgKGBmYWxzZWAgPSB1c2VyIGFza2VkIHRvIGRpc2FibGUpLlxuICogQHBhcmFtIHdhcm4gLSB3YXJuaW5nIHNpbmsgKGUuZy4gYHByaW50V2FybmluZ2ApLlxuICogQHJldHVybnMgdHJ1ZSBpZiB2ZXJpZmljYXRpb24gd2FzIGRpc2FibGVkOyBmYWxzZSBpZiBsZWZ0IGVuYWJsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWxheFRsc0ZvckNsaShcbiAgdmVyaWZ5U3NsOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICB3YXJuOiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkLFxuKTogYm9vbGVhbiB7XG4gIGlmICh2ZXJpZnlTc2wgIT09IGZhbHNlKSByZXR1cm4gZmFsc2U7XG4gIGlmIChpc1Byb2R1Y3Rpb25FbnYoKSkge1xuICAgIHdhcm4oJ1JlZnVzaW5nIHRvIGRpc2FibGUgVExTIHZlcmlmaWNhdGlvbiBpbiBwcm9kdWN0aW9uIChOT0RFX0VOVj1wcm9kdWN0aW9uKSDigJQgY2VydGlmaWNhdGUgdmFsaWRhdGlvbiByZW1haW5zIGVuYWJsZWQuJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHByb2Nlc3MuZW52Lk5PREVfVExTX1JFSkVDVF9VTkFVVEhPUklaRUQgPSAnMCc7XG4gIHJldHVybiB0cnVlO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"typescript": "6.0.3",
|
|
42
42
|
"yaml": "2.9.0",
|
|
43
43
|
"zod": "4.4.3",
|
|
44
|
-
"@pipeline-builder/
|
|
45
|
-
"@pipeline-builder/
|
|
44
|
+
"@pipeline-builder/pipeline-core": "3.4.112",
|
|
45
|
+
"@pipeline-builder/ai-core": "3.4.95"
|
|
46
46
|
},
|
|
47
47
|
"keywords": [
|
|
48
48
|
"ci-cd",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"access": "public",
|
|
98
98
|
"registry": "https://registry.npmjs.org/"
|
|
99
99
|
},
|
|
100
|
-
"version": "3.4.
|
|
100
|
+
"version": "3.4.151",
|
|
101
101
|
"bugs": {
|
|
102
102
|
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
103
103
|
},
|