@pipeline-builder/pipeline-manager 3.4.70 → 3.4.72
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/README.md +43 -2
- package/dist/agent/ai.d.ts +55 -0
- package/dist/agent/ai.d.ts.map +1 -0
- package/dist/agent/ai.js +130 -0
- package/dist/agent/bootstrap.d.ts +54 -0
- package/dist/agent/bootstrap.d.ts.map +1 -0
- package/dist/agent/bootstrap.js +76 -0
- package/dist/agent/executor.d.ts +27 -0
- package/dist/agent/executor.d.ts.map +1 -0
- package/dist/agent/executor.js +57 -0
- package/dist/agent/health.d.ts +22 -0
- package/dist/agent/health.d.ts.map +1 -0
- package/dist/agent/health.js +55 -0
- package/dist/agent/post-steps.d.ts +55 -0
- package/dist/agent/post-steps.d.ts.map +1 -0
- package/dist/agent/post-steps.js +73 -0
- package/dist/agent/prereqs.d.ts +25 -0
- package/dist/agent/prereqs.d.ts.map +1 -0
- package/dist/agent/prereqs.js +100 -0
- package/dist/agent/targets.d.ts +122 -0
- package/dist/agent/targets.d.ts.map +1 -0
- package/dist/agent/targets.js +180 -0
- package/dist/agent/troubleshoot.d.ts +30 -0
- package/dist/agent/troubleshoot.d.ts.map +1 -0
- package/dist/agent/troubleshoot.js +87 -0
- package/dist/boilerplate.js +8 -13
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +123 -118
- package/dist/commands/audit-stacks.js +22 -24
- package/dist/commands/audit-tokens.js +25 -27
- package/dist/commands/bootstrap.js +29 -37
- package/dist/commands/create-pipeline.js +55 -92
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +58 -62
- package/dist/commands/get-pipeline.js +24 -28
- package/dist/commands/get-plugin.js +24 -28
- package/dist/commands/list-pipelines.js +30 -31
- package/dist/commands/list-plugins.js +32 -33
- package/dist/commands/login.js +44 -49
- package/dist/commands/org-export.js +22 -60
- package/dist/commands/provision.d.ts +13 -0
- package/dist/commands/provision.d.ts.map +1 -0
- package/dist/commands/provision.js +489 -0
- package/dist/commands/register.js +29 -30
- package/dist/commands/setup-events.d.ts.map +1 -1
- package/dist/commands/setup-events.js +42 -77
- package/dist/commands/status.js +20 -25
- package/dist/commands/store-token.js +44 -82
- package/dist/commands/synth.d.ts.map +1 -1
- package/dist/commands/synth.js +36 -35
- package/dist/commands/upload-plugin.js +59 -96
- package/dist/commands/validate-templates.d.ts.map +1 -1
- package/dist/commands/validate-templates.js +23 -29
- package/dist/commands/version.js +42 -47
- package/dist/config/cli.constants.d.ts.map +1 -1
- package/dist/config/cli.constants.js +24 -31
- package/dist/types/config.js +2 -3
- package/dist/types/error.js +3 -7
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +5 -21
- package/dist/types/pipeline.js +2 -3
- package/dist/types/plugin.js +2 -3
- package/dist/utils/api-client.d.ts +1 -1
- package/dist/utils/api-client.d.ts.map +1 -1
- package/dist/utils/api-client.js +23 -28
- package/dist/utils/audit-log.js +16 -22
- package/dist/utils/auth-guard.js +2 -5
- package/dist/utils/aws-secrets.js +17 -23
- package/dist/utils/banner.js +16 -23
- package/dist/utils/cdk-utils.js +14 -24
- package/dist/utils/command-utils.d.ts +1 -1
- package/dist/utils/command-utils.d.ts.map +1 -1
- package/dist/utils/command-utils.js +32 -44
- package/dist/utils/config-loader.d.ts +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +24 -58
- package/dist/utils/error-handler.d.ts +1 -1
- package/dist/utils/error-handler.d.ts.map +1 -1
- package/dist/utils/error-handler.js +16 -24
- package/dist/utils/list-command-utils.js +15 -20
- package/dist/utils/output-utils.d.ts +1 -1
- package/dist/utils/output-utils.d.ts.map +1 -1
- package/dist/utils/output-utils.js +35 -55
- package/dist/utils/plugin-resolver.d.ts +1 -1
- package/dist/utils/plugin-resolver.d.ts.map +1 -1
- package/dist/utils/plugin-resolver.js +6 -8
- package/dist/utils/rate-limiter.js +11 -19
- package/dist/utils/registry.js +16 -22
- package/package.json +26 -17
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const picocolors_1 = __importDefault(require("picocolors"));
|
|
11
|
-
const cli_constants_1 = require("../config/cli.constants");
|
|
12
|
-
const types_1 = require("../types");
|
|
13
|
-
Object.defineProperty(exports, "ERROR_CODES", { enumerable: true, get: function () { return types_1.ERROR_CODES; } });
|
|
14
|
-
const { bold, dim, red, yellow, cyan } = picocolors_1.default;
|
|
3
|
+
import pico from 'picocolors';
|
|
4
|
+
import { generateExecutionId } from '../config/cli.constants.js';
|
|
5
|
+
import { ERROR_CODES, } from '../types/index.js';
|
|
6
|
+
const { bold, dim, red, yellow, cyan } = pico;
|
|
7
|
+
// Re-export for convenience
|
|
8
|
+
export { ERROR_CODES };
|
|
15
9
|
/**
|
|
16
10
|
* Format and handle errors with colored output
|
|
17
11
|
*/
|
|
18
|
-
function handleError(err, code =
|
|
19
|
-
const { debug = false, exit = true, logToConsole = true, context, correlationId =
|
|
12
|
+
export function handleError(err, code = ERROR_CODES.GENERAL, options = {}) {
|
|
13
|
+
const { debug = false, exit = true, logToConsole = true, context, correlationId = generateExecutionId(), } = options;
|
|
20
14
|
if (logToConsole) {
|
|
21
15
|
const divider = '─'.repeat(process.stdout.columns || 80);
|
|
22
16
|
const errorId = `ERR-${correlationId}`;
|
|
@@ -112,7 +106,7 @@ function handleError(err, code = types_1.ERROR_CODES.GENERAL, options = {}) {
|
|
|
112
106
|
/**
|
|
113
107
|
* Validation error class
|
|
114
108
|
*/
|
|
115
|
-
class ValidationError extends Error {
|
|
109
|
+
export class ValidationError extends Error {
|
|
116
110
|
field;
|
|
117
111
|
value;
|
|
118
112
|
rule;
|
|
@@ -127,11 +121,10 @@ class ValidationError extends Error {
|
|
|
127
121
|
Error.captureStackTrace(this, this.constructor);
|
|
128
122
|
}
|
|
129
123
|
}
|
|
130
|
-
exports.ValidationError = ValidationError;
|
|
131
124
|
/**
|
|
132
125
|
* Network error class
|
|
133
126
|
*/
|
|
134
|
-
class NetworkError extends Error {
|
|
127
|
+
export class NetworkError extends Error {
|
|
135
128
|
url;
|
|
136
129
|
cause;
|
|
137
130
|
timeout;
|
|
@@ -148,10 +141,9 @@ class NetworkError extends Error {
|
|
|
148
141
|
Error.captureStackTrace(this, this.constructor);
|
|
149
142
|
}
|
|
150
143
|
}
|
|
151
|
-
exports.NetworkError = NetworkError;
|
|
152
144
|
// --- Private helpers ---
|
|
153
145
|
function getErrorCodeName(code) {
|
|
154
|
-
const entry = Object.entries(
|
|
146
|
+
const entry = Object.entries(ERROR_CODES).find(([_, value]) => value === code);
|
|
155
147
|
return entry ? `${entry[0]} (${code})` : String(code);
|
|
156
148
|
}
|
|
157
149
|
function getHttpStatusText(status) {
|
|
@@ -172,16 +164,16 @@ function getHttpStatusText(status) {
|
|
|
172
164
|
return statusTexts[status] || 'Unknown';
|
|
173
165
|
}
|
|
174
166
|
function getErrorSuggestion(err, code) {
|
|
175
|
-
if (code ===
|
|
167
|
+
if (code === ERROR_CODES.AUTHENTICATION) {
|
|
176
168
|
return 'Check that PLATFORM_TOKEN environment variable is set correctly';
|
|
177
169
|
}
|
|
178
|
-
if (code ===
|
|
170
|
+
if (code === ERROR_CODES.NETWORK) {
|
|
179
171
|
return 'Check your internet connection and API endpoint URL';
|
|
180
172
|
}
|
|
181
|
-
if (code ===
|
|
173
|
+
if (code === ERROR_CODES.CONFIGURATION) {
|
|
182
174
|
return 'Run "cli version --check-config" to verify configuration';
|
|
183
175
|
}
|
|
184
|
-
if (code ===
|
|
176
|
+
if (code === ERROR_CODES.NOT_FOUND) {
|
|
185
177
|
return 'Verify the resource ID exists and you have access to it';
|
|
186
178
|
}
|
|
187
179
|
if (err instanceof Error && err.message.includes('cdk')) {
|
|
@@ -252,4 +244,4 @@ function isAxiosError(err) {
|
|
|
252
244
|
'isAxiosError' in err &&
|
|
253
245
|
err.isAxiosError === true);
|
|
254
246
|
}
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDOzs7Ozs7QUFvQnRDLGtDQThHQztBQWhJRCw0REFBOEI7QUFDOUIsMkRBQThEO0FBQzlELG9DQUtrQjtBQUtULDRGQVRQLG1CQUFXLE9BU087QUFIcEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxvQkFBSSxDQUFDO0FBTTlDOztHQUVHO0FBQ0gsU0FBZ0IsV0FBVyxDQUN6QixHQUFZLEVBQ1osT0FBa0IsbUJBQVcsQ0FBQyxPQUFPLEVBQ3JDLFVBQStCLEVBQUU7SUFFakMsTUFBTSxFQUNKLEtBQUssR0FBRyxLQUFLLEVBQ2IsSUFBSSxHQUFHLElBQUksRUFDWCxZQUFZLEdBQUcsSUFBSSxFQUNuQixPQUFPLEVBQ1AsYUFBYSxHQUFHLElBQUEsbUNBQW1CLEdBQUUsR0FDdEMsR0FBRyxPQUFPLENBQUM7SUFFWixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekQsTUFBTSxPQUFPLEdBQUcsT0FBTyxhQUFhLEVBQUUsQ0FBQztRQUV2QyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN6RSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRTVCLElBQUksR0FBRyxZQUFZLEtBQUssRUFBRSxDQUFD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LENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqRyxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsR0FBWTtJQUNoQyxPQUFPLENBQ0wsT0FBTyxHQUFHLEtBQUssUUFBUTtRQUN2QixHQUFHLEtBQUssSUFBSTtRQUNaLGNBQWMsSUFBSSxHQUFHO1FBQ3BCLEdBQStCLENBQUMsWUFBWSxLQUFLLElBQUksQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHBpY28gZnJvbSAncGljb2NvbG9ycyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUV4ZWN1dGlvbklkIH0gZnJvbSAnLi4vY29uZmlnL2NsaS5jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgRVJST1JfQ09ERVMsXG4gIEVycm9yQ29kZSxcbiAgRXJyb3JIYW5kbGVyT3B0aW9ucyxcbiAgQXhpb3NFcnJvckxpa2UsXG59IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgeyBib2xkLCBkaW0sIHJlZCwgeWVsbG93LCBjeWFuIH0gPSBwaWNvO1xuXG4vLyBSZS1leHBvcnQgZm9yIGNvbnZlbmllbmNlXG5leHBvcnQgeyBFUlJPUl9DT0RFUyB9O1xuZXhwb3J0IHR5cGUgeyBFcnJvckNvZGUgfTtcblxuLyoqXG4gKiBGb3JtYXQgYW5kIGhhbmRsZSBlcnJvcnMgd2l0aCBjb2xvcmVkIG91dHB1dFxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRXJyb3IoXG4gIGVycjogdW5rbm93bixcbiAgY29kZTogRXJyb3JDb2RlID0gRVJST1JfQ09ERVMuR0VORVJBTCxcbiAgb3B0aW9uczogRXJyb3JIYW5kbGVyT3B0aW9ucyA9IHt9LFxuKTogbmV2ZXIge1xuICBjb25zdCB7XG4gICAgZGVidWcgPSBmYWxzZSxcbiAgICBleGl0ID0gdHJ1ZSxcbiAgICBsb2dUb0NvbnNvbGUgPSB0cnVlLFxuICAgIGNvbnRleHQsXG4gICAgY29ycmVsYXRpb25JZCA9IGdlbmVyYXRlRXhlY3V0aW9uSWQoKSxcbiAgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGxvZ1RvQ29uc29sZSkge1xuICAgIGNvbnN0IGRpdmlkZXIgPSAn4pSAJy5yZXBlYXQocHJvY2Vzcy5zdGRvdXQuY29sdW1ucyB8fCA4MCk7XG4gICAgY29uc3QgZXJyb3JJZCA9IGBFUlItJHtjb3JyZWxhdGlvbklkfWA7XG5cbiAgICBjb25zb2xlLmVycm9yKCdcXG4nICsgcmVkKGJvbGQoJ+KclyBFUlJPUicpKSArIGRpbShgIFske2Vycm9ySWR9XWApICsgJ1xcbicpO1xuICAgIGNvbnNvbGUuZXJyb3IoZGltKGRpdmlkZXIpKTtcblxuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihyZWQoYm9sZCgnTWVzc2FnZTonKSksIGVyci5tZXNzYWdlKTtcblxuICAgICAgaWYgKGVyci5uYW1lICE9PSAnRXJyb3InKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVkKCdUeXBlOicpLCBlcnIubmFtZSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNob3cgVmFsaWRhdGlvbiBlcnJvciBkZXRhaWxzXG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICAgIGlmIChlcnIuZmllbGQpIGNvbnNvbGUuZXJyb3IocmVkKCdGaWVsZDonKSwgZXJyLmZpZWxkKTtcbiAgICAgICAgaWYgKGVyci52YWx1ZSAhPT0gdW5kZWZpbmVkKSBjb25zb2xlLmVycm9yKHJlZCgnVmFsdWU6JyksIHNhbml0aXplVmFsdWUoZXJyLnZhbHVlKSk7XG4gICAgICAgIGlmIChlcnIucnVsZSkgY29uc29sZS5lcnJvcihyZWQoJ1J1bGU6JyksIGVyci5ydWxlKTtcbiAgICAgICAgaWYgKGVyci5leHBlY3RlZCkgY29uc29sZS5lcnJvcihyZWQoJ0V4cGVjdGVkOicpLCBlcnIuZXhwZWN0ZWQpO1xuICAgICAgfVxuXG4gICAgICAvLyBTaG93IE5ldHdvcmsgZXJyb3IgZGV0YWlsc1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIE5ldHdvcmtFcnJvcikge1xuICAgICAgICBpZiAoZXJyLnVybCkgY29uc29sZS5lcnJvcihyZWQoJ1VSTDonKSwgc2FuaXRpemVVcmwoZXJyLnVybCkpO1xuICAgICAgICBpZiAoZXJyLnRpbWVvdXQpIGNvbnNvbGUuZXJyb3IocmVkKCdUaW1lb3V0OicpLCBgJHtlcnIudGltZW91dH1tc2ApO1xuICAgICAgICBjb25zb2xlLmVycm9yKHJlZCgnUmVxdWVzdCBNYWRlOicpLCBlcnIucmVxdWVzdE1hZGUgPyAnWWVzJyA6ICdObycpO1xuICAgICAgICBjb25zb2xlLmVycm9yKHJlZCgnUmVzcG9uc2UgUmVjZWl2ZWQ6JyksIGVyci5yZXNwb25zZVJlY2VpdmVkID8gJ1llcycgOiAnTm8nKTtcbiAgICAgICAgaWYgKGVyci5jYXVzZSkgY29uc29sZS5lcnJvcihyZWQoJ0NhdXNlZCBieTonKSwgZXJyLmNhdXNlLm1lc3NhZ2UpO1xuICAgICAgfVxuXG4gICAgICAvLyBTaG93IEF4aW9zIGVycm9yIGRldGFpbHNcbiAgICAgIGlmIChpc0F4aW9zRXJyb3IoZXJyKSkge1xuICAgICAgICBjb25zdCBzdGF0dXMgPSBlcnIucmVzcG9uc2U/LnN0YXR1cztcbiAgICAgICAgY29uc3QgdXJsID0gZXJyLmNvbmZpZz8udXJsO1xuICAgICAgICBpZiAoc3RhdHVzKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihyZWQoJ1N0YXR1czonKSwgc3RhdHVzKTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKHJlZCgnU3RhdHVzIFRleHQ6JyksIGdldEh0dHBTdGF0dXNUZXh0KHN0YXR1cykpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1cmwpIGNvbnNvbGUuZXJyb3IocmVkKCdVUkw6JyksIHNhbml0aXplVXJsKHVybCkpO1xuICAgICAgICBpZiAoZXJyLnJlc3BvbnNlPy5kYXRhKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihyZWQoJ1Jlc3BvbnNlOicpKTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGRpbShzYW5pdGl6ZUVycm9yRGF0YShlcnIucmVzcG9uc2UuZGF0YSkpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTaG93IENESy9leGVjU3luYyBlcnJvciBkZXRhaWxzIChzdGRlcnIgY2FwdHVyZWQgZnJvbSBjaGlsZCBwcm9jZXNzKVxuICAgICAgaWYgKCdzdGRlcnInIGluIGVyciAmJiBlcnIuc3RkZXJyKSB7XG4gICAgICAgIGNvbnN0IHN0ZGVyciA9IChlcnIuc3RkZXJyIGFzIEJ1ZmZlciB8IHN0cmluZykudG9TdHJpbmcoKS50cmltKCk7XG4gICAgICAgIGlmIChzdGRlcnIpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKHJlZCgnQ0RLIE91dHB1dDonKSk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihkaW0oc3RkZXJyKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc29sZS5lcnJvcihyZWQoJ0NvZGU6JyksIGdldEVycm9yQ29kZU5hbWUoY29kZSkpO1xuICAgICAgY29uc29sZS5lcnJvcihkaW0oJ0Vycm9yIElEOicpLCBkaW0oZXJyb3JJZCkpO1xuXG4gICAgICBpZiAoY29udGV4dCAmJiBPYmplY3Qua2V5cyhjb250ZXh0KS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJycpO1xuICAgICAgICBjb25zb2xlLmVycm9yKHJlZCgnQ29udGV4dDonKSk7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGNvbnRleHQpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYCAgJHtjeWFuKGtleSl9OmAsIGRpbShzYW5pdGl6ZVZhbHVlKHZhbHVlKSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGRlYnVnICYmIGVyci5zdGFjaykge1xuICAgICAgICBjb25zb2xlLmVycm9yKCcnKTtcbiAgICAgICAgY29uc29sZS5lcnJvcihkaW0oJ1N0YWNrIHRyYWNlOicpKTtcbiAgICAgICAgY29uc29sZS5lcnJvcihkaW0oc2FuaXRpemVTdGFja1RyYWNlKGVyci5zdGFjaykpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihyZWQoJ0Vycm9yOicpLCBTdHJpbmcoZXJyKSk7XG4gICAgICBjb25zb2xlLmVycm9yKHJlZCgnQ29kZTonKSwgZ2V0RXJyb3JDb2RlTmFtZShjb2RlKSk7XG4gICAgICBjb25zb2xlLmVycm9yKGRpbSgnRXJyb3IgSUQ6JyksIGRpbShlcnJvcklkKSk7XG4gICAgfVxuXG4gICAgY29uc29sZS5lcnJvcihkaW0oZGl2aWRlcikpO1xuXG4gICAgaWYgKCFkZWJ1Zykge1xuICAgICAgY29uc29sZS5lcnJvcih5ZWxsb3coJ/CfkqEgVGlwOicpLCBkaW0oJ1J1biB3aXRoIC0tZGVidWcgZmxhZyB0byBzZWUgZnVsbCBzdGFjayB0cmFjZScpKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdWdnZXN0aW9uID0gZ2V0RXJyb3JTdWdnZXN0aW9uKGVyciwgY29kZSk7XG4gICAgaWYgKHN1Z2dlc3Rpb24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoeWVsbG93KCfwn5KhIFN1Z2dlc3Rpb246JyksIGRpbShzdWdnZXN0aW9uKSk7XG4gICAgfVxuXG4gICAgY29uc29sZS5lcnJvcignJyk7XG4gIH1cblxuICBpZiAoZXhpdCkge1xuICAgIHByb2Nlc3MuZXhpdENvZGUgPSBjb2RlO1xuICAgIHByb2Nlc3MuZXhpdChjb2RlKTtcbiAgfVxuXG4gIHRocm93IGVycjtcbn1cblxuLy8gLS0tIEVycm9yIGNsYXNzZXMgKG9ubHkgdGhvc2UgYWN0dWFsbHkgdXNlZCkgLS0tXG5cbi8qKlxuICogVmFsaWRhdGlvbiBlcnJvciBjbGFzc1xuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgcHVibGljIGZpZWxkPzogc3RyaW5nLFxuICAgIHB1YmxpYyB2YWx1ZT86IHVua25vd24sXG4gICAgcHVibGljIHJ1bGU/OiBzdHJpbmcsXG4gICAgcHVibGljIGV4cGVjdGVkPzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnVmFsaWRhdGlvbkVycm9yJztcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfVxufVxuXG4vKipcbiAqIE5ldHdvcmsgZXJyb3IgY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIE5ldHdvcmtFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIHB1YmxpYyB1cmw/OiBzdHJpbmcsXG4gICAgcHVibGljIGNhdXNlPzogRXJyb3IsXG4gICAgcHVibGljIHRpbWVvdXQ/OiBudW1iZXIsXG4gICAgcHVibGljIHJlcXVlc3RNYWRlOiBib29sZWFuID0gdHJ1ZSxcbiAgICBwdWJsaWMgcmVzcG9uc2VSZWNlaXZlZDogYm9vbGVhbiA9IGZhbHNlLFxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnTmV0d29ya0Vycm9yJztcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfVxufVxuXG4vLyAtLS0gUHJpdmF0ZSBoZWxwZXJzIC0tLVxuXG5mdW5jdGlvbiBnZXRFcnJvckNvZGVOYW1lKGNvZGU6IEVycm9yQ29kZSk6IHN0cmluZyB7XG4gIGNvbnN0IGVudHJ5ID0gT2JqZWN0LmVudHJpZXMoRVJST1JfQ09ERVMpLmZpbmQoKFtfLCB2YWx1ZV0pID0+IHZhbHVlID09PSBjb2RlKTtcbiAgcmV0dXJuIGVudHJ5ID8gYCR7ZW50cnlbMF19ICgke2NvZGV9KWAgOiBTdHJpbmcoY29kZSk7XG59XG5cbmZ1bmN0aW9uIGdldEh0dHBTdGF0dXNUZXh0KHN0YXR1czogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3Qgc3RhdHVzVGV4dHM6IFJlY29yZDxudW1iZXIsIHN0cmluZz4gPSB7XG4gICAgNDAwOiAnQmFkIFJlcXVlc3QnLFxuICAgIDQwMTogJ1VuYXV0aG9yaXplZCcsXG4gICAgNDAzOiAnRm9yYmlkZGVuJyxcbiAgICA0MDQ6ICdOb3QgRm91bmQnLFxuICAgIDQwODogJ1JlcXVlc3QgVGltZW91dCcsXG4gICAgNDA5OiAnQ29uZmxpY3QnLFxuICAgIDQyMjogJ1VucHJvY2Vzc2FibGUgRW50aXR5JyxcbiAgICA0Mjk6ICdUb28gTWFueSBSZXF1ZXN0cycsXG4gICAgNTAwOiAnSW50ZXJuYWwgU2VydmVyIEVycm9yJyxcbiAgICA1MDI6ICdCYWQgR2F0ZXdheScsXG4gICAgNTAzOiAnU2VydmljZSBVbmF2YWlsYWJsZScsXG4gICAgNTA0OiAnR2F0ZXdheSBUaW1lb3V0JyxcbiAgfTtcbiAgcmV0dXJuIHN0YXR1c1RleHRzW3N0YXR1c10gfHwgJ1Vua25vd24nO1xufVxuXG5mdW5jdGlvbiBnZXRFcnJvclN1Z2dlc3Rpb24oZXJyOiB1bmtub3duLCBjb2RlOiBFcnJvckNvZGUpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGNvZGUgPT09IEVSUk9SX0NPREVTLkFVVEhFTlRJQ0FUSU9OKSB7XG4gICAgcmV0dXJuICdDaGVjayB0aGF0IFBMQVRGT1JNX1RPS0VOIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCBjb3JyZWN0bHknO1xuICB9XG4gIGlmIChjb2RlID09PSBFUlJPUl9DT0RFUy5ORVRXT1JLKSB7XG4gICAgcmV0dXJuICdDaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24gYW5kIEFQSSBlbmRwb2ludCBVUkwnO1xuICB9XG4gIGlmIChjb2RlID09PSBFUlJPUl9DT0RFUy5DT05GSUdVUkFUSU9OKSB7XG4gICAgcmV0dXJuICdSdW4gXCJjbGkgdmVyc2lvbiAtLWNoZWNrLWNvbmZpZ1wiIHRvIHZlcmlmeSBjb25maWd1cmF0aW9uJztcbiAgfVxuICBpZiAoY29kZSA9PT0gRVJST1JfQ09ERVMuTk9UX0ZPVU5EKSB7XG4gICAgcmV0dXJuICdWZXJpZnkgdGhlIHJlc291cmNlIElEIGV4aXN0cyBhbmQgeW91IGhhdmUgYWNjZXNzIHRvIGl0JztcbiAgfVxuICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoJ2NkaycpKSB7XG4gICAgcmV0dXJuICdDaGVjayB0aGUgQ0RLIG91dHB1dCBhYm92ZSBmb3IgQ2xvdWRGb3JtYXRpb24gZXJyb3JzLiBSdW4gd2l0aCAtLWRlYnVnIGZvciBmdWxsIGRldGFpbHMnO1xuICB9XG4gIGlmIChlcnIgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IgJiYgZXJyLmZpZWxkKSB7XG4gICAgcmV0dXJuIGBDaGVjayB0aGUgdmFsdWUgcHJvdmlkZWQgZm9yIFwiJHtlcnIuZmllbGR9XCJgO1xuICB9XG4gIGlmIChpc0F4aW9zRXJyb3IoZXJyKSkge1xuICAgIGNvbnN0IHN0YXR1cyA9IGVyci5yZXNwb25zZT8uc3RhdHVzO1xuICAgIGlmIChzdGF0dXMgPT09IDQwMSB8fCBzdGF0dXMgPT09IDQwMykgcmV0dXJuICdDaGVjayB5b3VyIGF1dGhlbnRpY2F0aW9uIHRva2VuIGFuZCBwZXJtaXNzaW9ucyc7XG4gICAgaWYgKHN0YXR1cyA9PT0gNDI5KSByZXR1cm4gJ1JhdGUgbGltaXQgZXhjZWVkZWQgLSB3YWl0IGEgbW9tZW50IGJlZm9yZSByZXRyeWluZyc7XG4gICAgaWYgKHN0YXR1cyAmJiBzdGF0dXMgPj0gNTAwKSByZXR1cm4gJ1NlcnZlciBlcnJvciAtIHRyeSBhZ2FpbiBsYXRlciBvciBjb250YWN0IHN1cHBvcnQnO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBzYW5pdGl6ZUVycm9yRGF0YShkYXRhOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykgcmV0dXJuIGRhdGE7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgZGF0YSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHNhbml0aXplZCA9IHsgLi4uZGF0YSB9IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIFsndG9rZW4nLCAncGFzc3dvcmQnLCAnc2VjcmV0JywgJ2FwaUtleScsICdhdXRob3JpemF0aW9uJywgJ2p3dCcsICdjcmVkZW50aWFsJywgJ2JlYXJlciddLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgaWYgKGZpZWxkIGluIHNhbml0aXplZCkgc2FuaXRpemVkW2ZpZWxkXSA9ICdbUkVEQUNURURdJztcbiAgICB9KTtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoc2FuaXRpemVkLCBudWxsLCAyKTtcbiAgfVxuICByZXR1cm4gU3RyaW5nKGRhdGEpO1xufVxuXG5mdW5jdGlvbiBzYW5pdGl6ZVVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIHRyeSB7XG4gICAgY29uc3QgdXJsT2JqID0gbmV3IFVSTCh1cmwpO1xuICAgIFsndG9rZW4nLCAna2V5JywgJ3NlY3JldCcsICdwYXNzd29yZCcsICdhcGlLZXknXS5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgIGlmICh1cmxPYmouc2VhcmNoUGFyYW1zLmhhcyhwYXJhbSkpIHVybE9iai5zZWFyY2hQYXJhbXMuc2V0KHBhcmFtLCAnW1JFREFDVEVEXScpO1xuICAgIH0pO1xuICAgIHJldHVybiB1cmxPYmoudG9TdHJpbmcoKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxufVxuXG5mdW5jdGlvbiBzYW5pdGl6ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gJ251bGwnO1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuICd1bmRlZmluZWQnO1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGlmICh2YWx1ZS5sZW5ndGggPiAyMCAmJiAvXltBLVphLXowLTkrLz1fLV0rJC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBgJHt2YWx1ZS5zdWJzdHJpbmcoMCwgOCl9Li4uW1JFREFDVEVEXWA7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAxMDAgPyB2YWx1ZS5zdWJzdHJpbmcoMCwgOTcpICsgJy4uLicgOiB2YWx1ZTtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JykgcmV0dXJuIHNhbml0aXplRXJyb3JEYXRhKHZhbHVlKTtcbiAgY29uc3Qgc3RyID0gU3RyaW5nKHZhbHVlKTtcbiAgcmV0dXJuIHN0ci5sZW5ndGggPiAxMDAgPyBzdHIuc3Vic3RyaW5nKDAsIDk3KSArICcuLi4nIDogc3RyO1xufVxuXG5mdW5jdGlvbiBzYW5pdGl6ZVN0YWNrVHJhY2Uoc3RhY2s6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdGFjay5zcGxpdCgnXFxuJykuc2xpY2UoMCwgMTApLm1hcChsaW5lID0+IGxpbmUucmVwbGFjZSgvXFwvLio/XFwvL2csICcuLi4vJykpLmpvaW4oJ1xcbicpO1xufVxuXG5mdW5jdGlvbiBpc0F4aW9zRXJyb3IoZXJyOiB1bmtub3duKTogZXJyIGlzIEF4aW9zRXJyb3JMaWtlIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgZXJyID09PSAnb2JqZWN0JyAmJlxuICAgIGVyciAhPT0gbnVsbCAmJlxuICAgICdpc0F4aW9zRXJyb3InIGluIGVyciAmJlxuICAgIChlcnIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLmlzQXhpb3NFcnJvciA9PT0gdHJ1ZVxuICApO1xufVxuIl19
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxJQUFJLE1BQU0sWUFBWSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFDTCxXQUFXLEdBSVosTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztBQUU5Qyw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO0FBR3ZCOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDekIsR0FBWSxFQUNaLE9BQWtCLFdBQVcsQ0FBQyxPQUFPLEVBQ3JDLFVBQStCLEVBQUU7SUFFakMsTUFBTSxFQUNKLEtBQUssR0FBRyxLQUFLLEVBQ2IsSUFBSSxHQUFHLElBQUksRUFDWCxZQUFZLEdBQUcsSUFBSSxFQUNuQixPQUFPLEVBQ1AsYUFBYSxHQUFHLG1CQUFtQixFQUFFLEdBQ3RDLEdBQUcsT0FBTyxDQUFDO0lBRVosSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sT0FBTyxHQUFHLE9BQU8sYUFBYSxFQUFFLENBQUM7UUFFdkMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDekUsT0FBTyxD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QUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pHLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFZO0lBQ2hDLE9BQU8sQ0FDTCxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQ3ZCLEdBQUcsS0FBSyxJQUFJO1FBQ1osY0FBYyxJQUFJLEdBQUc7UUFDcEIsR0FBK0IsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUN2RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgcGljbyBmcm9tICdwaWNvY29sb3JzJztcbmltcG9ydCB7IGdlbmVyYXRlRXhlY3V0aW9uSWQgfSBmcm9tICcuLi9jb25maWcvY2xpLmNvbnN0YW50cy5qcyc7XG5pbXBvcnQge1xuICBFUlJPUl9DT0RFUyxcbiAgdHlwZSBFcnJvckNvZGUsXG4gIHR5cGUgRXJyb3JIYW5kbGVyT3B0aW9ucyxcbiAgdHlwZSBBeGlvc0Vycm9yTGlrZSxcbn0gZnJvbSAnLi4vdHlwZXMvaW5kZXguanMnO1xuXG5jb25zdCB7IGJvbGQsIGRpbSwgcmVkLCB5ZWxsb3csIGN5YW4gfSA9IHBpY287XG5cbi8vIFJlLWV4cG9ydCBmb3IgY29udmVuaWVuY2VcbmV4cG9ydCB7IEVSUk9SX0NPREVTIH07XG5leHBvcnQgdHlwZSB7IEVycm9yQ29kZSB9O1xuXG4vKipcbiAqIEZvcm1hdCBhbmQgaGFuZGxlIGVycm9ycyB3aXRoIGNvbG9yZWQgb3V0cHV0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVFcnJvcihcbiAgZXJyOiB1bmtub3duLFxuICBjb2RlOiBFcnJvckNvZGUgPSBFUlJPUl9DT0RFUy5HRU5FUkFMLFxuICBvcHRpb25zOiBFcnJvckhhbmRsZXJPcHRpb25zID0ge30sXG4pOiBuZXZlciB7XG4gIGNvbnN0IHtcbiAgICBkZWJ1ZyA9IGZhbHNlLFxuICAgIGV4aXQgPSB0cnVlLFxuICAgIGxvZ1RvQ29uc29sZSA9IHRydWUsXG4gICAgY29udGV4dCxcbiAgICBjb3JyZWxhdGlvbklkID0gZ2VuZXJhdGVFeGVjdXRpb25JZCgpLFxuICB9ID0gb3B0aW9ucztcblxuICBpZiAobG9nVG9Db25zb2xlKSB7XG4gICAgY29uc3QgZGl2aWRlciA9ICfilIAnLnJlcGVhdChwcm9jZXNzLnN0ZG91dC5jb2x1bW5zIHx8IDgwKTtcbiAgICBjb25zdCBlcnJvcklkID0gYEVSUi0ke2NvcnJlbGF0aW9uSWR9YDtcblxuICAgIGNvbnNvbGUuZXJyb3IoJ1xcbicgKyByZWQoYm9sZCgn4pyXIEVSUk9SJykpICsgZGltKGAgWyR7ZXJyb3JJZH1dYCkgKyAnXFxuJyk7XG4gICAgY29uc29sZS5lcnJvcihkaW0oZGl2aWRlcikpO1xuXG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKHJlZChib2xkKCdNZXNzYWdlOicpKSwgZXJyLm1lc3NhZ2UpO1xuXG4gICAgICBpZiAoZXJyLm5hbWUgIT09ICdFcnJvcicpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihyZWQoJ1R5cGU6JyksIGVyci5uYW1lKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2hvdyBWYWxpZGF0aW9uIGVycm9yIGRldGFpbHNcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgICAgaWYgKGVyci5maWVsZCkgY29uc29sZS5lcnJvcihyZWQoJ0ZpZWxkOicpLCBlcnIuZmllbGQpO1xuICAgICAgICBpZiAoZXJyLnZhbHVlICE9PSB1bmRlZmluZWQpIGNvbnNvbGUuZXJyb3IocmVkKCdWYWx1ZTonKSwgc2FuaXRpemVWYWx1ZShlcnIudmFsdWUpKTtcbiAgICAgICAgaWYgKGVyci5ydWxlKSBjb25zb2xlLmVycm9yKHJlZCgnUnVsZTonKSwgZXJyLnJ1bGUpO1xuICAgICAgICBpZiAoZXJyLmV4cGVjdGVkKSBjb25zb2xlLmVycm9yKHJlZCgnRXhwZWN0ZWQ6JyksIGVyci5leHBlY3RlZCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNob3cgTmV0d29yayBlcnJvciBkZXRhaWxzXG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgTmV0d29ya0Vycm9yKSB7XG4gICAgICAgIGlmIChlcnIudXJsKSBjb25zb2xlLmVycm9yKHJlZCgnVVJMOicpLCBzYW5pdGl6ZVVybChlcnIudXJsKSk7XG4gICAgICAgIGlmIChlcnIudGltZW91dCkgY29uc29sZS5lcnJvcihyZWQoJ1RpbWVvdXQ6JyksIGAke2Vyci50aW1lb3V0fW1zYCk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVkKCdSZXF1ZXN0IE1hZGU6JyksIGVyci5yZXF1ZXN0TWFkZSA/ICdZZXMnIDogJ05vJyk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVkKCdSZXNwb25zZSBSZWNlaXZlZDonKSwgZXJyLnJlc3BvbnNlUmVjZWl2ZWQgPyAnWWVzJyA6ICdObycpO1xuICAgICAgICBpZiAoZXJyLmNhdXNlKSBjb25zb2xlLmVycm9yKHJlZCgnQ2F1c2VkIGJ5OicpLCBlcnIuY2F1c2UubWVzc2FnZSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNob3cgQXhpb3MgZXJyb3IgZGV0YWlsc1xuICAgICAgaWYgKGlzQXhpb3NFcnJvcihlcnIpKSB7XG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IGVyci5yZXNwb25zZT8uc3RhdHVzO1xuICAgICAgICBjb25zdCB1cmwgPSBlcnIuY29uZmlnPy51cmw7XG4gICAgICAgIGlmIChzdGF0dXMpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKHJlZCgnU3RhdHVzOicpLCBzdGF0dXMpO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IocmVkKCdTdGF0dXMgVGV4dDonKSwgZ2V0SHR0cFN0YXR1c1RleHQoc3RhdHVzKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHVybCkgY29uc29sZS5lcnJvcihyZWQoJ1VSTDonKSwgc2FuaXRpemVVcmwodXJsKSk7XG4gICAgICAgIGlmIChlcnIucmVzcG9uc2U/LmRhdGEpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKHJlZCgnUmVzcG9uc2U6JykpO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZGltKHNhbml0aXplRXJyb3JEYXRhKGVyci5yZXNwb25zZS5kYXRhKSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFNob3cgQ0RLL2V4ZWNTeW5jIGVycm9yIGRldGFpbHMgKHN0ZGVyciBjYXB0dXJlZCBmcm9tIGNoaWxkIHByb2Nlc3MpXG4gICAgICBpZiAoJ3N0ZGVycicgaW4gZXJyICYmIGVyci5zdGRlcnIpIHtcbiAgICAgICAgY29uc3Qgc3RkZXJyID0gKGVyci5zdGRlcnIgYXMgQnVmZmVyIHwgc3RyaW5nKS50b1N0cmluZygpLnRyaW0oKTtcbiAgICAgICAgaWYgKHN0ZGVycikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IocmVkKCdDREsgT3V0cHV0OicpKTtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGRpbShzdGRlcnIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmVycm9yKHJlZCgnQ29kZTonKSwgZ2V0RXJyb3JDb2RlTmFtZShjb2RlKSk7XG4gICAgICBjb25zb2xlLmVycm9yKGRpbSgnRXJyb3IgSUQ6JyksIGRpbShlcnJvcklkKSk7XG5cbiAgICAgIGlmIChjb250ZXh0ICYmIE9iamVjdC5rZXlzKGNvbnRleHQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignJyk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IocmVkKCdDb250ZXh0OicpKTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoY29udGV4dCkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihgICAke2N5YW4oa2V5KX06YCwgZGltKHNhbml0aXplVmFsdWUodmFsdWUpKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoZGVidWcgJiYgZXJyLnN0YWNrKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJycpO1xuICAgICAgICBjb25zb2xlLmVycm9yKGRpbSgnU3RhY2sgdHJhY2U6JykpO1xuICAgICAgICBjb25zb2xlLmVycm9yKGRpbShzYW5pdGl6ZVN0YWNrVHJhY2UoZXJyLnN0YWNrKSkpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKHJlZCgnRXJyb3I6JyksIFN0cmluZyhlcnIpKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IocmVkKCdDb2RlOicpLCBnZXRFcnJvckNvZGVOYW1lKGNvZGUpKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZGltKCdFcnJvciBJRDonKSwgZGltKGVycm9ySWQpKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmVycm9yKGRpbShkaXZpZGVyKSk7XG5cbiAgICBpZiAoIWRlYnVnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKHllbGxvdygn8J+SoSBUaXA6JyksIGRpbSgnUnVuIHdpdGggLS1kZWJ1ZyBmbGFnIHRvIHNlZSBmdWxsIHN0YWNrIHRyYWNlJykpO1xuICAgIH1cblxuICAgIGNvbnN0IHN1Z2dlc3Rpb24gPSBnZXRFcnJvclN1Z2dlc3Rpb24oZXJyLCBjb2RlKTtcbiAgICBpZiAoc3VnZ2VzdGlvbikge1xuICAgICAgY29uc29sZS5lcnJvcih5ZWxsb3coJ/CfkqEgU3VnZ2VzdGlvbjonKSwgZGltKHN1Z2dlc3Rpb24pKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmVycm9yKCcnKTtcbiAgfVxuXG4gIGlmIChleGl0KSB7XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IGNvZGU7XG4gICAgcHJvY2Vzcy5leGl0KGNvZGUpO1xuICB9XG5cbiAgdGhyb3cgZXJyO1xufVxuXG4vLyAtLS0gRXJyb3IgY2xhc3NlcyAob25seSB0aG9zZSBhY3R1YWxseSB1c2VkKSAtLS1cblxuLyoqXG4gKiBWYWxpZGF0aW9uIGVycm9yIGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBwdWJsaWMgZmllbGQ/OiBzdHJpbmcsXG4gICAgcHVibGljIHZhbHVlPzogdW5rbm93bixcbiAgICBwdWJsaWMgcnVsZT86IHN0cmluZyxcbiAgICBwdWJsaWMgZXhwZWN0ZWQ/OiBzdHJpbmcsXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdWYWxpZGF0aW9uRXJyb3InO1xuICAgIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsIHRoaXMuY29uc3RydWN0b3IpO1xuICB9XG59XG5cbi8qKlxuICogTmV0d29yayBlcnJvciBjbGFzc1xuICovXG5leHBvcnQgY2xhc3MgTmV0d29ya0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgcHVibGljIHVybD86IHN0cmluZyxcbiAgICBwdWJsaWMgY2F1c2U/OiBFcnJvcixcbiAgICBwdWJsaWMgdGltZW91dD86IG51bWJlcixcbiAgICBwdWJsaWMgcmVxdWVzdE1hZGU6IGJvb2xlYW4gPSB0cnVlLFxuICAgIHB1YmxpYyByZXNwb25zZVJlY2VpdmVkOiBib29sZWFuID0gZmFsc2UsXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdOZXR3b3JrRXJyb3InO1xuICAgIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsIHRoaXMuY29uc3RydWN0b3IpO1xuICB9XG59XG5cbi8vIC0tLSBQcml2YXRlIGhlbHBlcnMgLS0tXG5cbmZ1bmN0aW9uIGdldEVycm9yQ29kZU5hbWUoY29kZTogRXJyb3JDb2RlKTogc3RyaW5nIHtcbiAgY29uc3QgZW50cnkgPSBPYmplY3QuZW50cmllcyhFUlJPUl9DT0RFUykuZmluZCgoW18sIHZhbHVlXSkgPT4gdmFsdWUgPT09IGNvZGUpO1xuICByZXR1cm4gZW50cnkgPyBgJHtlbnRyeVswXX0gKCR7Y29kZX0pYCA6IFN0cmluZyhjb2RlKTtcbn1cblxuZnVuY3Rpb24gZ2V0SHR0cFN0YXR1c1RleHQoc3RhdHVzOiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBzdGF0dXNUZXh0czogUmVjb3JkPG51bWJlciwgc3RyaW5nPiA9IHtcbiAgICA0MDA6ICdCYWQgUmVxdWVzdCcsXG4gICAgNDAxOiAnVW5hdXRob3JpemVkJyxcbiAgICA0MDM6ICdGb3JiaWRkZW4nLFxuICAgIDQwNDogJ05vdCBGb3VuZCcsXG4gICAgNDA4OiAnUmVxdWVzdCBUaW1lb3V0JyxcbiAgICA0MDk6ICdDb25mbGljdCcsXG4gICAgNDIyOiAnVW5wcm9jZXNzYWJsZSBFbnRpdHknLFxuICAgIDQyOTogJ1RvbyBNYW55IFJlcXVlc3RzJyxcbiAgICA1MDA6ICdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InLFxuICAgIDUwMjogJ0JhZCBHYXRld2F5JyxcbiAgICA1MDM6ICdTZXJ2aWNlIFVuYXZhaWxhYmxlJyxcbiAgICA1MDQ6ICdHYXRld2F5IFRpbWVvdXQnLFxuICB9O1xuICByZXR1cm4gc3RhdHVzVGV4dHNbc3RhdHVzXSB8fCAnVW5rbm93bic7XG59XG5cbmZ1bmN0aW9uIGdldEVycm9yU3VnZ2VzdGlvbihlcnI6IHVua25vd24sIGNvZGU6IEVycm9yQ29kZSk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoY29kZSA9PT0gRVJST1JfQ09ERVMuQVVUSEVOVElDQVRJT04pIHtcbiAgICByZXR1cm4gJ0NoZWNrIHRoYXQgUExBVEZPUk1fVE9LRU4gZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0IGNvcnJlY3RseSc7XG4gIH1cbiAgaWYgKGNvZGUgPT09IEVSUk9SX0NPREVTLk5FVFdPUkspIHtcbiAgICByZXR1cm4gJ0NoZWNrIHlvdXIgaW50ZXJuZXQgY29ubmVjdGlvbiBhbmQgQVBJIGVuZHBvaW50IFVSTCc7XG4gIH1cbiAgaWYgKGNvZGUgPT09IEVSUk9SX0NPREVTLkNPTkZJR1VSQVRJT04pIHtcbiAgICByZXR1cm4gJ1J1biBcImNsaSB2ZXJzaW9uIC0tY2hlY2stY29uZmlnXCIgdG8gdmVyaWZ5IGNvbmZpZ3VyYXRpb24nO1xuICB9XG4gIGlmIChjb2RlID09PSBFUlJPUl9DT0RFUy5OT1RfRk9VTkQpIHtcbiAgICByZXR1cm4gJ1ZlcmlmeSB0aGUgcmVzb3VyY2UgSUQgZXhpc3RzIGFuZCB5b3UgaGF2ZSBhY2Nlc3MgdG8gaXQnO1xuICB9XG4gIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcygnY2RrJykpIHtcbiAgICByZXR1cm4gJ0NoZWNrIHRoZSBDREsgb3V0cHV0IGFib3ZlIGZvciBDbG91ZEZvcm1hdGlvbiBlcnJvcnMuIFJ1biB3aXRoIC0tZGVidWcgZm9yIGZ1bGwgZGV0YWlscyc7XG4gIH1cbiAgaWYgKGVyciBpbnN0YW5jZW9mIFZhbGlkYXRpb25FcnJvciAmJiBlcnIuZmllbGQpIHtcbiAgICByZXR1cm4gYENoZWNrIHRoZSB2YWx1ZSBwcm92aWRlZCBmb3IgXCIke2Vyci5maWVsZH1cImA7XG4gIH1cbiAgaWYgKGlzQXhpb3NFcnJvcihlcnIpKSB7XG4gICAgY29uc3Qgc3RhdHVzID0gZXJyLnJlc3BvbnNlPy5zdGF0dXM7XG4gICAgaWYgKHN0YXR1cyA9PT0gNDAxIHx8IHN0YXR1cyA9PT0gNDAzKSByZXR1cm4gJ0NoZWNrIHlvdXIgYXV0aGVudGljYXRpb24gdG9rZW4gYW5kIHBlcm1pc3Npb25zJztcbiAgICBpZiAoc3RhdHVzID09PSA0MjkpIHJldHVybiAnUmF0ZSBsaW1pdCBleGNlZWRlZCAtIHdhaXQgYSBtb21lbnQgYmVmb3JlIHJldHJ5aW5nJztcbiAgICBpZiAoc3RhdHVzICYmIHN0YXR1cyA+PSA1MDApIHJldHVybiAnU2VydmVyIGVycm9yIC0gdHJ5IGFnYWluIGxhdGVyIG9yIGNvbnRhY3Qgc3VwcG9ydCc7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplRXJyb3JEYXRhKGRhdGE6IHVua25vd24pOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSByZXR1cm4gZGF0YTtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJiBkYXRhICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc2FuaXRpemVkID0geyAuLi5kYXRhIH0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgWyd0b2tlbicsICdwYXNzd29yZCcsICdzZWNyZXQnLCAnYXBpS2V5JywgJ2F1dGhvcml6YXRpb24nLCAnand0JywgJ2NyZWRlbnRpYWwnLCAnYmVhcmVyJ10uZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBpZiAoZmllbGQgaW4gc2FuaXRpemVkKSBzYW5pdGl6ZWRbZmllbGRdID0gJ1tSRURBQ1RFRF0nO1xuICAgIH0pO1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShzYW5pdGl6ZWQsIG51bGwsIDIpO1xuICB9XG4gIHJldHVybiBTdHJpbmcoZGF0YSk7XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB1cmxPYmogPSBuZXcgVVJMKHVybCk7XG4gICAgWyd0b2tlbicsICdrZXknLCAnc2VjcmV0JywgJ3Bhc3N3b3JkJywgJ2FwaUtleSddLmZvckVhY2gocGFyYW0gPT4ge1xuICAgICAgaWYgKHVybE9iai5zZWFyY2hQYXJhbXMuaGFzKHBhcmFtKSkgdXJsT2JqLnNlYXJjaFBhcmFtcy5zZXQocGFyYW0sICdbUkVEQUNURURdJyk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHVybE9iai50b1N0cmluZygpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplVmFsdWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT09IG51bGwpIHJldHVybiAnbnVsbCc7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKHZhbHVlLmxlbmd0aCA+IDIwICYmIC9eW0EtWmEtejAtOSsvPV8tXSskLy50ZXN0KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIGAke3ZhbHVlLnN1YnN0cmluZygwLCA4KX0uLi5bUkVEQUNURURdYDtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+IDEwMCA/IHZhbHVlLnN1YnN0cmluZygwLCA5NykgKyAnLi4uJyA6IHZhbHVlO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSByZXR1cm4gc2FuaXRpemVFcnJvckRhdGEodmFsdWUpO1xuICBjb25zdCBzdHIgPSBTdHJpbmcodmFsdWUpO1xuICByZXR1cm4gc3RyLmxlbmd0aCA+IDEwMCA/IHN0ci5zdWJzdHJpbmcoMCwgOTcpICsgJy4uLicgOiBzdHI7XG59XG5cbmZ1bmN0aW9uIHNhbml0aXplU3RhY2tUcmFjZShzdGFjazogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0YWNrLnNwbGl0KCdcXG4nKS5zbGljZSgwLCAxMCkubWFwKGxpbmUgPT4gbGluZS5yZXBsYWNlKC9cXC8uKj9cXC8vZywgJy4uLi8nKSkuam9pbignXFxuJyk7XG59XG5cbmZ1bmN0aW9uIGlzQXhpb3NFcnJvcihlcnI6IHVua25vd24pOiBlcnIgaXMgQXhpb3NFcnJvckxpa2Uge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiBlcnIgPT09ICdvYmplY3QnICYmXG4gICAgZXJyICE9PSBudWxsICYmXG4gICAgJ2lzQXhpb3NFcnJvcicgaW4gZXJyICYmXG4gICAgKGVyciBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuaXNBeGlvc0Vycm9yID09PSB0cnVlXG4gICk7XG59XG4iXX0=
|
|
@@ -1,27 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.displayPaginationInfo = displayPaginationInfo;
|
|
7
|
-
exports.displayListResults = displayListResults;
|
|
8
|
-
const output_utils_1 = require("./output-utils");
|
|
9
|
-
const cli_constants_1 = require("../config/cli.constants");
|
|
3
|
+
import { printInfo, printKeyValue } from './output-utils.js';
|
|
4
|
+
import { formatDuration, validateBoolean, validateNumber, validateSort } from '../config/cli.constants.js';
|
|
10
5
|
/**
|
|
11
6
|
* Extract common filter parameters (id, isActive, limit, offset, sort) from CLI options.
|
|
12
7
|
*/
|
|
13
|
-
function buildCommonFilters(options) {
|
|
8
|
+
export function buildCommonFilters(options) {
|
|
14
9
|
const params = {};
|
|
15
10
|
if (options.id) {
|
|
16
11
|
const idValue = options.id;
|
|
17
12
|
params.id = idValue.includes(',') ? idValue.split(',').map((s) => s.trim()) : idValue;
|
|
18
13
|
}
|
|
19
14
|
if (options.isActive !== undefined) {
|
|
20
|
-
params.isActive =
|
|
15
|
+
params.isActive = validateBoolean(options.isActive, 'is-active');
|
|
21
16
|
}
|
|
22
|
-
params.limit =
|
|
23
|
-
params.offset =
|
|
24
|
-
const sort =
|
|
17
|
+
params.limit = validateNumber(options.limit, 'limit', 1, 1000);
|
|
18
|
+
params.offset = validateNumber(options.offset, 'offset', 0);
|
|
19
|
+
const sort = validateSort(options.sort);
|
|
25
20
|
if (sort)
|
|
26
21
|
params.sort = sort;
|
|
27
22
|
return params;
|
|
@@ -29,10 +24,10 @@ function buildCommonFilters(options) {
|
|
|
29
24
|
/**
|
|
30
25
|
* Display pagination settings for a list command.
|
|
31
26
|
*/
|
|
32
|
-
function displayPaginationInfo(filterParams) {
|
|
27
|
+
export function displayPaginationInfo(filterParams) {
|
|
33
28
|
console.log('');
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
printInfo('Pagination Settings');
|
|
30
|
+
printKeyValue({
|
|
36
31
|
Limit: (filterParams.limit ?? 50).toString(),
|
|
37
32
|
Offset: (filterParams.offset ?? 0).toString(),
|
|
38
33
|
Sort: filterParams.sort || 'createdAt:desc',
|
|
@@ -41,20 +36,20 @@ function displayPaginationInfo(filterParams) {
|
|
|
41
36
|
/**
|
|
42
37
|
* Display result summary after a list query completes.
|
|
43
38
|
*/
|
|
44
|
-
function displayListResults(items, total, hasMore, entityName, duration, filterParams) {
|
|
45
|
-
|
|
39
|
+
export function displayListResults(items, total, hasMore, entityName, duration, filterParams) {
|
|
40
|
+
printKeyValue({
|
|
46
41
|
[`${entityName} Found`]: items.length.toString(),
|
|
47
42
|
'Total Available': total !== undefined ? total.toString() : 'Unknown',
|
|
48
43
|
'Has More': hasMore ? 'Yes' : 'No',
|
|
49
|
-
'Request Duration':
|
|
44
|
+
'Request Duration': formatDuration(duration),
|
|
50
45
|
});
|
|
51
46
|
if (hasMore) {
|
|
52
47
|
const currentOffset = filterParams.offset || 0;
|
|
53
48
|
const nextOffset = currentOffset + (filterParams.limit || 50);
|
|
54
49
|
console.log('');
|
|
55
|
-
|
|
50
|
+
printInfo('More results available', {
|
|
56
51
|
hint: `Use --offset ${nextOffset} to see next page`,
|
|
57
52
|
});
|
|
58
53
|
}
|
|
59
54
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb21tYW5kLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2xpc3QtY29tbWFuZC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBYTNHOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQWdDO0lBQ2pFLE1BQU0sTUFBTSxHQUF1QixFQUFFLENBQUM7SUFFdEMsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDZixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsRUFBWSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDaEcsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxNQUFNLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQXdCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRixNQUFNLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBeUIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFL0UsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUEwQixDQUFDLENBQUM7SUFDOUQsSUFBSSxJQUFJO1FBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFFN0IsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFlBQWdDO0lBQ3BFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEIsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakMsYUFBYSxDQUFDO1FBQ1osS0FBSyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7UUFDNUMsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7UUFDN0MsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLElBQUksZ0JBQWdCO0tBQzVDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFHRDs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsS0FBZ0IsRUFDaEIsS0FBeUIsRUFDekIsT0FBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsUUFBZ0IsRUFDaEIsWUFBZ0M7SUFFaEMsYUFBYSxDQUFDO1FBQ1osQ0FBQyxHQUFHLFVBQVUsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDaEQsaUJBQWlCLEVBQUUsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ3JFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNsQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDO0tBQzdDLENBQUMsQ0FBQztJQUVILElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUMvQyxNQUFNLFVBQVUsR0FBRyxhQUFhLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEIsU0FBUyxDQUFDLHdCQUF3QixFQUFFO1lBQ2xDLElBQUksRUFBRSxnQkFBZ0IsVUFBVSxtQkFBbUI7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgcHJpbnRJbmZvLCBwcmludEtleVZhbHVlIH0gZnJvbSAnLi9vdXRwdXQtdXRpbHMuanMnO1xuaW1wb3J0IHsgZm9ybWF0RHVyYXRpb24sIHZhbGlkYXRlQm9vbGVhbiwgdmFsaWRhdGVOdW1iZXIsIHZhbGlkYXRlU29ydCB9IGZyb20gJy4uL2NvbmZpZy9jbGkuY29uc3RhbnRzLmpzJztcblxuLyoqXG4gKiBDb21tb24gZmlsdGVyIHBhcmFtZXRlcnMgc2hhcmVkIGJ5IGFsbCBsaXN0IGNvbW1hbmRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkZpbHRlclBhcmFtcyB7XG4gIGlkPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIG9mZnNldD86IG51bWJlcjtcbiAgc29ydD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBFeHRyYWN0IGNvbW1vbiBmaWx0ZXIgcGFyYW1ldGVycyAoaWQsIGlzQWN0aXZlLCBsaW1pdCwgb2Zmc2V0LCBzb3J0KSBmcm9tIENMSSBvcHRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDb21tb25GaWx0ZXJzKG9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogQ29tbW9uRmlsdGVyUGFyYW1zIHtcbiAgY29uc3QgcGFyYW1zOiBDb21tb25GaWx0ZXJQYXJhbXMgPSB7fTtcblxuICBpZiAob3B0aW9ucy5pZCkge1xuICAgIGNvbnN0IGlkVmFsdWUgPSBvcHRpb25zLmlkIGFzIHN0cmluZztcbiAgICBwYXJhbXMuaWQgPSBpZFZhbHVlLmluY2x1ZGVzKCcsJykgPyBpZFZhbHVlLnNwbGl0KCcsJykubWFwKChzOiBzdHJpbmcpID0+IHMudHJpbSgpKSA6IGlkVmFsdWU7XG4gIH1cblxuICBpZiAob3B0aW9ucy5pc0FjdGl2ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcGFyYW1zLmlzQWN0aXZlID0gdmFsaWRhdGVCb29sZWFuKG9wdGlvbnMuaXNBY3RpdmUgYXMgc3RyaW5nLCAnaXMtYWN0aXZlJyk7XG4gIH1cblxuICBwYXJhbXMubGltaXQgPSB2YWxpZGF0ZU51bWJlcihvcHRpb25zLmxpbWl0IGFzIHN0cmluZyB8IG51bWJlciwgJ2xpbWl0JywgMSwgMTAwMCk7XG4gIHBhcmFtcy5vZmZzZXQgPSB2YWxpZGF0ZU51bWJlcihvcHRpb25zLm9mZnNldCBhcyBzdHJpbmcgfCBudW1iZXIsICdvZmZzZXQnLCAwKTtcblxuICBjb25zdCBzb3J0ID0gdmFsaWRhdGVTb3J0KG9wdGlvbnMuc29ydCBhcyBzdHJpbmcgfCB1bmRlZmluZWQpO1xuICBpZiAoc29ydCkgcGFyYW1zLnNvcnQgPSBzb3J0O1xuXG4gIHJldHVybiBwYXJhbXM7XG59XG5cbi8qKlxuICogRGlzcGxheSBwYWdpbmF0aW9uIHNldHRpbmdzIGZvciBhIGxpc3QgY29tbWFuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc3BsYXlQYWdpbmF0aW9uSW5mbyhmaWx0ZXJQYXJhbXM6IENvbW1vbkZpbHRlclBhcmFtcyk6IHZvaWQge1xuICBjb25zb2xlLmxvZygnJyk7XG4gIHByaW50SW5mbygnUGFnaW5hdGlvbiBTZXR0aW5ncycpO1xuICBwcmludEtleVZhbHVlKHtcbiAgICBMaW1pdDogKGZpbHRlclBhcmFtcy5saW1pdCA/PyA1MCkudG9TdHJpbmcoKSxcbiAgICBPZmZzZXQ6IChmaWx0ZXJQYXJhbXMub2Zmc2V0ID8/IDApLnRvU3RyaW5nKCksXG4gICAgU29ydDogZmlsdGVyUGFyYW1zLnNvcnQgfHwgJ2NyZWF0ZWRBdDpkZXNjJyxcbiAgfSk7XG59XG5cblxuLyoqXG4gKiBEaXNwbGF5IHJlc3VsdCBzdW1tYXJ5IGFmdGVyIGEgbGlzdCBxdWVyeSBjb21wbGV0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXNwbGF5TGlzdFJlc3VsdHMoXG4gIGl0ZW1zOiB1bmtub3duW10sXG4gIHRvdGFsOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gIGhhc01vcmU6IGJvb2xlYW4sXG4gIGVudGl0eU5hbWU6IHN0cmluZyxcbiAgZHVyYXRpb246IG51bWJlcixcbiAgZmlsdGVyUGFyYW1zOiBDb21tb25GaWx0ZXJQYXJhbXMsXG4pOiB2b2lkIHtcbiAgcHJpbnRLZXlWYWx1ZSh7XG4gICAgW2Ake2VudGl0eU5hbWV9IEZvdW5kYF06IGl0ZW1zLmxlbmd0aC50b1N0cmluZygpLFxuICAgICdUb3RhbCBBdmFpbGFibGUnOiB0b3RhbCAhPT0gdW5kZWZpbmVkID8gdG90YWwudG9TdHJpbmcoKSA6ICdVbmtub3duJyxcbiAgICAnSGFzIE1vcmUnOiBoYXNNb3JlID8gJ1llcycgOiAnTm8nLFxuICAgICdSZXF1ZXN0IER1cmF0aW9uJzogZm9ybWF0RHVyYXRpb24oZHVyYXRpb24pLFxuICB9KTtcblxuICBpZiAoaGFzTW9yZSkge1xuICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSBmaWx0ZXJQYXJhbXMub2Zmc2V0IHx8IDA7XG4gICAgY29uc3QgbmV4dE9mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyAoZmlsdGVyUGFyYW1zLmxpbWl0IHx8IDUwKTtcbiAgICBjb25zb2xlLmxvZygnJyk7XG4gICAgcHJpbnRJbmZvKCdNb3JlIHJlc3VsdHMgYXZhaWxhYmxlJywge1xuICAgICAgaGludDogYFVzZSAtLW9mZnNldCAke25leHRPZmZzZXR9IHRvIHNlZSBuZXh0IHBhZ2VgLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-utils.d.ts","sourceRoot":"","sources":["../../src/utils/output-utils.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"output-utils.d.ts","sourceRoot":"","sources":["../../src/utils/output-utils.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,4BAA4B,CAAC;AAMpC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACxC;AAmCD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAyC;AAC5G,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAsC;AACtG,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAsC;AACzG,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAuC;AAExG,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEhE;AAID;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI,CAuC3E;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,CA0D5E;AAgED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAY9D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAOnE;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,IAAI,CAWN;AAED,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAGrE;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAQnH;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CA6BjG"}
|