@northflank/cli 0.8.3-beta.0 → 0.9.0
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/api-helpers.js +1 -273
- package/dist/cli.js +1 -630
- package/dist/command-overview.js +1 -93
- package/dist/console-format-helpers.js +1 -113
- package/dist/context/contextCommands.js +1 -522
- package/dist/defaults.js +1 -10238
- package/dist/exec/index.js +1 -262
- package/dist/inquirer-helper.js +1 -1049
- package/dist/login/browser-login.js +1 -204
- package/dist/pagination/inquirer-pagination-prompt.js +1 -156
- package/dist/port-forward/index.js +1 -271
- package/dist/utils.js +1 -201
- package/package.json +4 -3
package/dist/cli.js
CHANGED
|
@@ -1,631 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
var __assign = (this && this.__assign) || function () {
|
|
4
|
-
__assign = Object.assign || function(t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
-
t[p] = s[p];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
return __assign.apply(this, arguments);
|
|
13
|
-
};
|
|
14
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
17
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
18
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
19
|
-
}
|
|
20
|
-
Object.defineProperty(o, k2, desc);
|
|
21
|
-
}) : (function(o, m, k, k2) {
|
|
22
|
-
if (k2 === undefined) k2 = k;
|
|
23
|
-
o[k2] = m[k];
|
|
24
|
-
}));
|
|
25
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
26
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
27
|
-
}) : function(o, v) {
|
|
28
|
-
o["default"] = v;
|
|
29
|
-
});
|
|
30
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
31
|
-
if (mod && mod.__esModule) return mod;
|
|
32
|
-
var result = {};
|
|
33
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
34
|
-
__setModuleDefault(result, mod);
|
|
35
|
-
return result;
|
|
36
|
-
};
|
|
37
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
38
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
39
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
40
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
41
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
42
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
43
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
47
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
48
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
49
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
50
|
-
function step(op) {
|
|
51
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
52
|
-
while (_) try {
|
|
53
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
54
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
55
|
-
switch (op[0]) {
|
|
56
|
-
case 0: case 1: t = op; break;
|
|
57
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
58
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
59
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
60
|
-
default:
|
|
61
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
62
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
63
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
64
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
65
|
-
if (t[2]) _.ops.pop();
|
|
66
|
-
_.trys.pop(); continue;
|
|
67
|
-
}
|
|
68
|
-
op = body.call(thisArg, _);
|
|
69
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
70
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
74
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
75
|
-
};
|
|
76
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
77
|
-
exports.getProgram = void 0;
|
|
78
|
-
var js_client_1 = require("@northflank/js-client");
|
|
79
|
-
var commander_1 = __importDefault(require("commander"));
|
|
80
|
-
var fs_1 = __importDefault(require("fs"));
|
|
81
|
-
var ajv_1 = __importDefault(require("ajv"));
|
|
82
|
-
var chalk_1 = __importDefault(require("chalk"));
|
|
83
|
-
var _ = __importStar(require("lodash"));
|
|
84
|
-
var contextCommands_1 = require("./context/contextCommands");
|
|
85
|
-
var utils_1 = require("./utils");
|
|
86
|
-
var defaults = __importStar(require("./defaults"));
|
|
87
|
-
var inquirer_helper_1 = require("./inquirer-helper");
|
|
88
|
-
var console_format_helpers_1 = require("./console-format-helpers");
|
|
89
|
-
var command_overview_1 = require("./command-overview");
|
|
90
|
-
var port_forward_1 = require("./port-forward");
|
|
91
|
-
var exec_1 = require("./exec");
|
|
92
|
-
var yaml = require('js-yaml');
|
|
93
|
-
var pgk = require('../package.json');
|
|
94
|
-
var getProgram = function (contextProvider) {
|
|
95
|
-
var program = new commander_1.default.Command('northflank');
|
|
96
|
-
program.description('Manage your Northflank resources from the command line');
|
|
97
|
-
program.enablePositionalOptions(true);
|
|
98
|
-
program.version("Northflank cli version: ".concat(chalk_1.default.underline(pgk.version)), '-v, --version', 'Print the current version of the Northflank cli');
|
|
99
|
-
var apiClient = new js_client_1.ApiClient(contextProvider, {
|
|
100
|
-
throwErrorOnHttpErrorCode: false,
|
|
101
|
-
customUserAgent: utils_1.customUserAgent,
|
|
102
|
-
});
|
|
103
|
-
var contextCmds = new contextCommands_1.CliContext(apiClient);
|
|
104
|
-
var portForwardCmds = new port_forward_1.CliPortForward(contextProvider);
|
|
105
|
-
var execCmds = new exec_1.CliExec(contextProvider);
|
|
106
|
-
program.addCommand(portForwardCmds.portFwdCmd);
|
|
107
|
-
program.addCommand(execCmds.execCmd);
|
|
108
|
-
program.addCommand(contextCmds.login);
|
|
109
|
-
program.addCommand(contextCmds.contexts);
|
|
110
|
-
generateCommands(apiClient, apiClient.endpoints, program);
|
|
111
|
-
program.addCommand((0, command_overview_1.getCommandOverview)(program));
|
|
112
|
-
return program;
|
|
113
|
-
};
|
|
114
|
-
exports.getProgram = getProgram;
|
|
115
|
-
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
116
|
-
var contextProvider, program, e_1;
|
|
117
|
-
return __generator(this, function (_a) {
|
|
118
|
-
switch (_a.label) {
|
|
119
|
-
case 0:
|
|
120
|
-
_a.trys.push([0, 3, , 4]);
|
|
121
|
-
contextProvider = new js_client_1.ApiClientFileContextProvider();
|
|
122
|
-
return [4 /*yield*/, (0, utils_1.checkUpdate)(contextProvider)];
|
|
123
|
-
case 1:
|
|
124
|
-
_a.sent();
|
|
125
|
-
program = (0, exports.getProgram)(contextProvider);
|
|
126
|
-
return [4 /*yield*/, program.parseAsync(process.argv)];
|
|
127
|
-
case 2:
|
|
128
|
-
_a.sent();
|
|
129
|
-
return [3 /*break*/, 4];
|
|
130
|
-
case 3:
|
|
131
|
-
e_1 = _a.sent();
|
|
132
|
-
(0, utils_1.error)("Error occured while trying to run command, error: ".concat(e_1.message));
|
|
133
|
-
if (process.argv.find(function (arg) { return arg === '--verbose'; })) {
|
|
134
|
-
console.log(e_1);
|
|
135
|
-
}
|
|
136
|
-
process.exitCode = 1;
|
|
137
|
-
return [3 /*break*/, 4];
|
|
138
|
-
case 4: return [2 /*return*/];
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}); })();
|
|
142
|
-
function isListCommand(cliPath) {
|
|
143
|
-
var listCommands = [
|
|
144
|
-
['get', 'addon', 'backups'],
|
|
145
|
-
['get', 'job', 'runs'],
|
|
146
|
-
];
|
|
147
|
-
return cliPath.find(function (p) { return p === 'list'; }) || listCommands.some(function (cmd) { return _.isEqual(cliPath, cmd); });
|
|
148
|
-
}
|
|
149
|
-
/** Automatically adds commands recursively.
|
|
150
|
-
* @param apiClient
|
|
151
|
-
* @param endpoints
|
|
152
|
-
* @param cmd Root command to add the generated commands to
|
|
153
|
-
* @param currentDefaults
|
|
154
|
-
* @param cliPath
|
|
155
|
-
*/
|
|
156
|
-
function generateCommands(apiClient, endpoints, cmd, currentDefaults, cliPath) {
|
|
157
|
-
if (currentDefaults === void 0) { currentDefaults = defaults.defaults; }
|
|
158
|
-
if (cliPath === void 0) { cliPath = []; }
|
|
159
|
-
var inquirerHelper = new inquirer_helper_1.InquirerHelper(new js_client_1.ApiClient(apiClient.contextProvider, {
|
|
160
|
-
throwErrorOnHttpErrorCode: true,
|
|
161
|
-
customUserAgent: utils_1.customUserAgent,
|
|
162
|
-
}));
|
|
163
|
-
function isRequired(opt, defaultVal) {
|
|
164
|
-
return opt.required !== false && defaultVal === undefined;
|
|
165
|
-
}
|
|
166
|
-
function parseOptions(option, leafCommand) {
|
|
167
|
-
var opt = option.opt, name = option.name;
|
|
168
|
-
var defaultVal = opt.default;
|
|
169
|
-
var required = isRequired(opt, defaultVal);
|
|
170
|
-
var toOption = function (alias) { return (alias.length > 1 ? "--".concat(alias) : "-".concat(alias)); };
|
|
171
|
-
var alias = opt === null || opt === void 0 ? void 0 : opt.alias;
|
|
172
|
-
// eslint-disable-next-line no-nested-ternary
|
|
173
|
-
var aliases = alias
|
|
174
|
-
? _.isArray(alias)
|
|
175
|
-
? "-".concat(alias === null || alias === void 0 ? void 0 : alias.map(function (a) { return toOption(a); }).join(', -'), ",")
|
|
176
|
-
: "".concat(toOption(alias))
|
|
177
|
-
: '';
|
|
178
|
-
var optionalText = required ? '' : 'OPTIONAL: ';
|
|
179
|
-
var flags = typeof opt.type === 'boolean'
|
|
180
|
-
? "".concat(aliases, " --").concat(name)
|
|
181
|
-
: "".concat(aliases, " --").concat(name, " <").concat(name.toUpperCase(), ">");
|
|
182
|
-
var description = optionalText + opt.description;
|
|
183
|
-
leafCommand.option(flags, description, defaultVal);
|
|
184
|
-
}
|
|
185
|
-
return Object.getOwnPropertyNames(currentDefaults).forEach(function (name) {
|
|
186
|
-
var endpoint = endpoints[name];
|
|
187
|
-
var defaultOpt = currentDefaults[name];
|
|
188
|
-
var nextCliPath = cliPath.concat([name]);
|
|
189
|
-
function parseOpts(baseOpts, leafCommand) {
|
|
190
|
-
var baseOptNames = Object.getOwnPropertyNames(baseOpts || {});
|
|
191
|
-
baseOptNames
|
|
192
|
-
.map(function (optString) {
|
|
193
|
-
return { name: optString, opt: baseOpts[optString] };
|
|
194
|
-
})
|
|
195
|
-
// eslint-disable-next-line no-nested-ternary
|
|
196
|
-
.sort(function (opt1, opt2) { return (!isRequired(opt1.opt) ? (!isRequired(opt2.opt) ? 0 : 1) : -1); })
|
|
197
|
-
.forEach(function (option) {
|
|
198
|
-
parseOptions(option, leafCommand);
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
function setAliases(nextCmd, cmdName) {
|
|
202
|
-
var aliases = [
|
|
203
|
-
['project', 'projects', 'prj'],
|
|
204
|
-
['service', 'services', 'svc'],
|
|
205
|
-
['credentials', 'credential', 'cred'],
|
|
206
|
-
['addon', 'addons', 'adn'],
|
|
207
|
-
['job', 'jobs'],
|
|
208
|
-
['plan', 'plans', 'pln'],
|
|
209
|
-
['region', 'regions', 'rgn'],
|
|
210
|
-
['domain', 'domains', 'dmn'],
|
|
211
|
-
['secret', 'secrets', 'scrt'],
|
|
212
|
-
['volumes', 'volume', 'vol'],
|
|
213
|
-
['branches', 'branch', 'brn'],
|
|
214
|
-
['repos', 'repository', 'repositories', 'repo'],
|
|
215
|
-
];
|
|
216
|
-
var alias = aliases.find(function (a) { return a.includes(cmdName); });
|
|
217
|
-
if (alias !== undefined)
|
|
218
|
-
nextCmd.aliases(alias.filter(function (a) { return a !== cmdName; }));
|
|
219
|
-
}
|
|
220
|
-
function setPathVariables(opt) {
|
|
221
|
-
var _a, _b;
|
|
222
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
223
|
-
/**
|
|
224
|
-
* @param resource Resource identifier
|
|
225
|
-
* @param ctx Get result from client context
|
|
226
|
-
* @param ask Get result by asking interactively
|
|
227
|
-
*/
|
|
228
|
-
function setVar(resource, ask, ctx) {
|
|
229
|
-
var _a, _b;
|
|
230
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
231
|
-
var ctxRes, id, _c;
|
|
232
|
-
return __generator(this, function (_d) {
|
|
233
|
-
switch (_d.label) {
|
|
234
|
-
case 0:
|
|
235
|
-
if (!_.has((_b = (_a = defaultOpt.opt) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : {}, resource)) return [3 /*break*/, 3];
|
|
236
|
-
ctxRes = !askExplicitly && !isDeleteCmd && ctx ? ctx() : undefined;
|
|
237
|
-
_c = opt[resource] || // Always check command arguments first
|
|
238
|
-
ctxRes;
|
|
239
|
-
if (_c) return [3 /*break*/, 2];
|
|
240
|
-
return [4 /*yield*/, ask()];
|
|
241
|
-
case 1:
|
|
242
|
-
_c = (_d.sent());
|
|
243
|
-
_d.label = 2;
|
|
244
|
-
case 2:
|
|
245
|
-
id = _c;
|
|
246
|
-
_.set(parameters, resource, id);
|
|
247
|
-
_d.label = 3;
|
|
248
|
-
case 3: return [2 /*return*/];
|
|
249
|
-
}
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
var parameters, contextProvider, isDeleteCmd, askExplicitly;
|
|
254
|
-
var _this = this;
|
|
255
|
-
return __generator(this, function (_c) {
|
|
256
|
-
switch (_c.label) {
|
|
257
|
-
case 0:
|
|
258
|
-
parameters = {};
|
|
259
|
-
contextProvider = apiClient.contextProvider;
|
|
260
|
-
isDeleteCmd = nextCliPath.includes('delete');
|
|
261
|
-
askExplicitly = opt.noDefaults === true;
|
|
262
|
-
return [4 /*yield*/, (0, utils_1.asyncSequential)(Object.entries((_b = (_a = defaultOpt.opt) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : {}), function (_a) {
|
|
263
|
-
var pathVar = _a[0], val = _a[1];
|
|
264
|
-
return __awaiter(_this, void 0, void 0, function () {
|
|
265
|
-
var projectId, _b;
|
|
266
|
-
return __generator(this, function (_c) {
|
|
267
|
-
switch (_c.label) {
|
|
268
|
-
case 0:
|
|
269
|
-
projectId = parameters === null || parameters === void 0 ? void 0 : parameters.projectId;
|
|
270
|
-
_b = pathVar;
|
|
271
|
-
switch (_b) {
|
|
272
|
-
case 'projectId': return [3 /*break*/, 1];
|
|
273
|
-
case 'serviceId': return [3 /*break*/, 3];
|
|
274
|
-
case 'addonId': return [3 /*break*/, 5];
|
|
275
|
-
case 'jobId': return [3 /*break*/, 7];
|
|
276
|
-
case 'runId': return [3 /*break*/, 9];
|
|
277
|
-
case 'secretId': return [3 /*break*/, 11];
|
|
278
|
-
case 'domain': return [3 /*break*/, 13];
|
|
279
|
-
case 'domainId': return [3 /*break*/, 13];
|
|
280
|
-
case 'credentialId': return [3 /*break*/, 15];
|
|
281
|
-
case 'volumeId': return [3 /*break*/, 17];
|
|
282
|
-
case 'subdomain': return [3 /*break*/, 19];
|
|
283
|
-
case 'subdomainId': return [3 /*break*/, 21];
|
|
284
|
-
case 'backupId': return [3 /*break*/, 23];
|
|
285
|
-
case 'buildId': return [3 /*break*/, 25];
|
|
286
|
-
}
|
|
287
|
-
return [3 /*break*/, 27];
|
|
288
|
-
case 1: return [4 /*yield*/, setVar('projectId', inquirerHelper.askForProject.bind(inquirerHelper), contextProvider.getCurrentProjectName.bind(contextProvider))];
|
|
289
|
-
case 2: return [2 /*return*/, _c.sent()];
|
|
290
|
-
case 3: return [4 /*yield*/, setVar('serviceId', inquirerHelper.askForService(projectId).bind(inquirerHelper), contextProvider.getCurrentServiceName.bind(contextProvider))];
|
|
291
|
-
case 4: return [2 /*return*/, _c.sent()];
|
|
292
|
-
case 5: return [4 /*yield*/, setVar('addonId', inquirerHelper.askForAddon(projectId).bind(inquirerHelper))];
|
|
293
|
-
case 6: return [2 /*return*/, _c.sent()];
|
|
294
|
-
case 7: return [4 /*yield*/, setVar('jobId', inquirerHelper.askForJob(projectId).bind(inquirerHelper), contextProvider.getCurrentJobName.bind(contextProvider))];
|
|
295
|
-
case 8: return [2 /*return*/, _c.sent()];
|
|
296
|
-
case 9: return [4 /*yield*/, setVar('runId', inquirerHelper.askForJobRun(parameters.jobId, projectId).bind(inquirerHelper))];
|
|
297
|
-
case 10: return [2 /*return*/, _c.sent()];
|
|
298
|
-
case 11: return [4 /*yield*/, setVar('secretId', inquirerHelper.askForSecret(projectId).bind(inquirerHelper))];
|
|
299
|
-
case 12: return [2 /*return*/, _c.sent()];
|
|
300
|
-
case 13: return [4 /*yield*/, setVar('domain', inquirerHelper.askForDomain.bind(inquirerHelper))];
|
|
301
|
-
case 14: return [2 /*return*/, _c.sent()];
|
|
302
|
-
case 15: return [4 /*yield*/, setVar('credentialId', inquirerHelper.askForCredentials.bind(inquirerHelper))];
|
|
303
|
-
case 16: return [2 /*return*/, _c.sent()];
|
|
304
|
-
case 17: return [4 /*yield*/, setVar('volumeId', inquirerHelper.askForVolume(projectId).bind(inquirerHelper))];
|
|
305
|
-
case 18: return [2 /*return*/, _c.sent()];
|
|
306
|
-
case 19: return [4 /*yield*/, setVar('subdomain', inquirerHelper.askForSubdomain(parameters.domain).bind(inquirerHelper))];
|
|
307
|
-
case 20: return [2 /*return*/, _c.sent()];
|
|
308
|
-
case 21: return [4 /*yield*/, setVar('subdomainId', inquirerHelper.askForSubdomain(parameters.domainId).bind(inquirerHelper))];
|
|
309
|
-
case 22: return [2 /*return*/, _c.sent()];
|
|
310
|
-
case 23: return [4 /*yield*/, setVar('backupId', inquirerHelper.askForAddonBackup(projectId, parameters.addonId).bind(inquirerHelper))];
|
|
311
|
-
case 24: return [2 /*return*/, _c.sent()];
|
|
312
|
-
case 25: return [4 /*yield*/, setVar('buildId', inquirerHelper
|
|
313
|
-
.askForBuild(projectId, parameters.serviceId, parameters.jobId)
|
|
314
|
-
.bind(inquirerHelper))];
|
|
315
|
-
case 26: return [2 /*return*/, _c.sent()];
|
|
316
|
-
case 27: return [4 /*yield*/, setVar(pathVar, inquirerHelper.askGeneric(pathVar, val === null || val === void 0 ? void 0 : val.description).bind(inquirerHelper))];
|
|
317
|
-
case 28: return [2 /*return*/, _c.sent()];
|
|
318
|
-
}
|
|
319
|
-
});
|
|
320
|
-
});
|
|
321
|
-
})];
|
|
322
|
-
case 1:
|
|
323
|
-
_c.sent();
|
|
324
|
-
return [2 /*return*/, parameters];
|
|
325
|
-
}
|
|
326
|
-
});
|
|
327
|
-
});
|
|
328
|
-
}
|
|
329
|
-
function setQueryVariables(opt) {
|
|
330
|
-
var _a, _b;
|
|
331
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
332
|
-
var options, queryArgs;
|
|
333
|
-
var _this = this;
|
|
334
|
-
return __generator(this, function (_c) {
|
|
335
|
-
switch (_c.label) {
|
|
336
|
-
case 0:
|
|
337
|
-
options = {};
|
|
338
|
-
queryArgs = Object.keys((_b = (_a = defaultOpt.opt) === null || _a === void 0 ? void 0 : _a.query) !== null && _b !== void 0 ? _b : {});
|
|
339
|
-
return [4 /*yield*/, (0, utils_1.asyncSequential)(queryArgs, function (key) { return __awaiter(_this, void 0, void 0, function () {
|
|
340
|
-
var result, _a, required, schema;
|
|
341
|
-
return __generator(this, function (_b) {
|
|
342
|
-
switch (_b.label) {
|
|
343
|
-
case 0:
|
|
344
|
-
result = {};
|
|
345
|
-
_a = defaultOpt.opt.query[key], required = _a.required, schema = _a.schema;
|
|
346
|
-
return [4 /*yield*/, inquirerHelper.propToType(["".concat(key)], schema, result, required)];
|
|
347
|
-
case 1:
|
|
348
|
-
_b.sent();
|
|
349
|
-
if (result[key] !== undefined) {
|
|
350
|
-
_.set(options, key, result[key]);
|
|
351
|
-
}
|
|
352
|
-
return [2 /*return*/, result];
|
|
353
|
-
}
|
|
354
|
-
});
|
|
355
|
-
}); })];
|
|
356
|
-
case 1:
|
|
357
|
-
_c.sent();
|
|
358
|
-
return [2 /*return*/, options];
|
|
359
|
-
}
|
|
360
|
-
});
|
|
361
|
-
});
|
|
362
|
-
}
|
|
363
|
-
function getDescription() {
|
|
364
|
-
switch (nextCliPath[0]) {
|
|
365
|
-
case 'get':
|
|
366
|
-
return "Get information about Northflank ".concat(nextCliPath[1] || 'resource', "s");
|
|
367
|
-
case 'update':
|
|
368
|
-
return "Update Northflank ".concat(nextCliPath[1] || 'resource', " properties");
|
|
369
|
-
default:
|
|
370
|
-
return "".concat(_.upperFirst(name), " Northflank resources");
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
function constructCommand(currentEndpoint, isEndpointCommand) {
|
|
374
|
-
var _this = this;
|
|
375
|
-
var _a, _b, _c, _d, _e, _f;
|
|
376
|
-
if (!isEndpointCommand) {
|
|
377
|
-
var nextCmd = (0, utils_1.getCommand)().name(_.kebabCase(name)).description(getDescription());
|
|
378
|
-
setAliases(nextCmd, name);
|
|
379
|
-
return nextCmd;
|
|
380
|
-
}
|
|
381
|
-
var permsInfo = (currentEndpoint === null || currentEndpoint === void 0 ? void 0 : currentEndpoint.requiredPermissions)
|
|
382
|
-
? chalk_1.default.grey("\n> Token permissions required: ".concat(currentEndpoint.requiredPermissions))
|
|
383
|
-
: '';
|
|
384
|
-
var currentContext = apiClient.contextProvider.getCurrentContext();
|
|
385
|
-
var useDocsLink = currentContext !== undefined && ((_a = defaultOpt === null || defaultOpt === void 0 ? void 0 : defaultOpt.opt) === null || _a === void 0 ? void 0 : _a.docsTagsPath) !== undefined;
|
|
386
|
-
var basePath = currentContext === null || currentContext === void 0 ? void 0 : currentContext.host.replace('api.', '');
|
|
387
|
-
var docsLink = useDocsLink
|
|
388
|
-
? "Documentation: ".concat(basePath, "/docs/v1/api/").concat((_b = defaultOpt === null || defaultOpt === void 0 ? void 0 : defaultOpt.opt) === null || _b === void 0 ? void 0 : _b.docsTagsPath)
|
|
389
|
-
: '';
|
|
390
|
-
var description = (currentEndpoint === null || currentEndpoint === void 0 ? void 0 : currentEndpoint.description) || '';
|
|
391
|
-
var leafCommand = (0, utils_1.getCommand)(true)
|
|
392
|
-
.name(_.kebabCase(name))
|
|
393
|
-
.description(description)
|
|
394
|
-
.addHelpText('after', [permsInfo, docsLink].join('\n'));
|
|
395
|
-
setAliases(leafCommand, name);
|
|
396
|
-
if ((_c = defaultOpt.opt) === null || _c === void 0 ? void 0 : _c.body) {
|
|
397
|
-
leafCommand.option('-f, --file <file-path>', 'File to load resource json from');
|
|
398
|
-
leafCommand.option('-i, --input <resource-def>', 'JSON-formatted resource definition, takes precedence over "--file"');
|
|
399
|
-
}
|
|
400
|
-
parseOpts((_d = defaultOpt.opt) === null || _d === void 0 ? void 0 : _d.path, leafCommand);
|
|
401
|
-
parseOpts((_e = defaultOpt.opt) === null || _e === void 0 ? void 0 : _e.query, leafCommand);
|
|
402
|
-
parseOpts((_f = defaultOpt.opt) === null || _f === void 0 ? void 0 : _f.base, leafCommand);
|
|
403
|
-
leafCommand.action(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
404
|
-
function fetchAndDisplayData(cursor, hideHeader, offset) {
|
|
405
|
-
if (hideHeader === void 0) { hideHeader = false; }
|
|
406
|
-
if (offset === void 0) { offset = 0; }
|
|
407
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
408
|
-
var _a, data, request, errorResponse, pagination, errorDetails, nfId, id, output, columns, resourceId, resourceDescr, title, tableData;
|
|
409
|
-
return __generator(this, function (_b) {
|
|
410
|
-
switch (_b.label) {
|
|
411
|
-
case 0: return [4 /*yield*/, endpoint.call({
|
|
412
|
-
parameters: parameters,
|
|
413
|
-
options: __assign(__assign({}, options), { cursor: cursor }),
|
|
414
|
-
data: jsonResource,
|
|
415
|
-
})];
|
|
416
|
-
case 1:
|
|
417
|
-
_a = _b.sent(), data = _a.data, request = _a.request, errorResponse = _a.error, pagination = _a.pagination;
|
|
418
|
-
if (opt === null || opt === void 0 ? void 0 : opt.verbose) {
|
|
419
|
-
console.log("VERBOSE: Using endpoint -> ".concat(request.method, ":").concat(request.url));
|
|
420
|
-
console.log("VERBOSE: Request body -> ".concat(request.body));
|
|
421
|
-
}
|
|
422
|
-
if (errorResponse) {
|
|
423
|
-
errorDetails = errorResponse.details
|
|
424
|
-
? "\n\tdetails :".concat(JSON.stringify(errorResponse.details))
|
|
425
|
-
: '';
|
|
426
|
-
nfId = (errorResponse === null || errorResponse === void 0 ? void 0 : errorResponse.id) ? ", NF error id: ".concat(errorResponse.id) : '';
|
|
427
|
-
id = "(HTTP status code: ".concat(errorResponse.status).concat(nfId, ")");
|
|
428
|
-
throw new Error("API request failed\n\tMessage: ".concat(errorResponse.message, " ").concat(id).concat(errorDetails));
|
|
429
|
-
}
|
|
430
|
-
if (!(opt === null || opt === void 0 ? void 0 : opt.quiet)) {
|
|
431
|
-
output = opt === null || opt === void 0 ? void 0 : opt.output;
|
|
432
|
-
if (output === 'json') {
|
|
433
|
-
console.log((0, console_format_helpers_1.consoleFormat)(data));
|
|
434
|
-
}
|
|
435
|
-
else if (output === 'yaml' || output === 'yml') {
|
|
436
|
-
console.log(yaml.safeDump(data));
|
|
437
|
-
}
|
|
438
|
-
else if (isListCommand(nextCliPath)) {
|
|
439
|
-
columns = (output === null || output === void 0 ? void 0 : output.startsWith('custom-columns='))
|
|
440
|
-
? output
|
|
441
|
-
.replace('custom-columns=', '')
|
|
442
|
-
.split(',')
|
|
443
|
-
.map(function (c) { return c.toLowerCase(); })
|
|
444
|
-
: undefined;
|
|
445
|
-
resourceId = nextCliPath[nextCliPath.length - 1];
|
|
446
|
-
resourceDescr = "".concat(resourceId).concat(resourceId.endsWith('s') ? '' : 's');
|
|
447
|
-
title = _.upperFirst(resourceDescr);
|
|
448
|
-
tableData = _.has(data, resourceDescr) ? data[resourceDescr] : data;
|
|
449
|
-
(0, console_format_helpers_1.printAsTable)(tableData, title, columns, hideHeader, offset);
|
|
450
|
-
}
|
|
451
|
-
else {
|
|
452
|
-
console.log((0, console_format_helpers_1.consoleFormat)(data));
|
|
453
|
-
}
|
|
454
|
-
}
|
|
455
|
-
return [2 /*return*/, pagination];
|
|
456
|
-
}
|
|
457
|
-
});
|
|
458
|
-
});
|
|
459
|
-
}
|
|
460
|
-
var opt, parameters, options, contextIndicator, contextInfoMessage, jsonResource, _a, _b, pagination, offset, res;
|
|
461
|
-
var _c, _d, _e, _f;
|
|
462
|
-
return __generator(this, function (_g) {
|
|
463
|
-
switch (_g.label) {
|
|
464
|
-
case 0:
|
|
465
|
-
(0, utils_1.assertContextExisting)(apiClient);
|
|
466
|
-
opt = leafCommand.opts();
|
|
467
|
-
return [4 /*yield*/, setPathVariables(opt)];
|
|
468
|
-
case 1:
|
|
469
|
-
parameters = _g.sent();
|
|
470
|
-
inquirerHelper.setPathVars(parameters);
|
|
471
|
-
return [4 /*yield*/, setQueryVariables(opt)];
|
|
472
|
-
case 2:
|
|
473
|
-
options = _g.sent();
|
|
474
|
-
contextIndicator = Object.keys((_d = (_c = defaultOpt.opt) === null || _c === void 0 ? void 0 : _c.path) !== null && _d !== void 0 ? _d : {})
|
|
475
|
-
.map(function (p) { return "".concat(p, "=").concat(chalk_1.default.green(parameters[p])); })
|
|
476
|
-
.join(', ');
|
|
477
|
-
if (contextIndicator.length > 0) {
|
|
478
|
-
contextInfoMessage = "=> running command with: ".concat(contextIndicator);
|
|
479
|
-
console.log(contextInfoMessage);
|
|
480
|
-
}
|
|
481
|
-
if (!((_e = defaultOpt.opt) === null || _e === void 0 ? void 0 : _e.body)) return [3 /*break*/, 4];
|
|
482
|
-
return [4 /*yield*/, parsePayload(opt, defaultOpt, nextCliPath)];
|
|
483
|
-
case 3:
|
|
484
|
-
_a = _g.sent();
|
|
485
|
-
return [3 /*break*/, 5];
|
|
486
|
-
case 4:
|
|
487
|
-
_a = undefined;
|
|
488
|
-
_g.label = 5;
|
|
489
|
-
case 5:
|
|
490
|
-
jsonResource = _a;
|
|
491
|
-
_b = !opt.force &&
|
|
492
|
-
nextCliPath.includes('delete');
|
|
493
|
-
if (!_b) return [3 /*break*/, 7];
|
|
494
|
-
return [4 /*yield*/, inquirerHelper.deleteWarningPrompt()];
|
|
495
|
-
case 6:
|
|
496
|
-
_b = !(_g.sent());
|
|
497
|
-
_g.label = 7;
|
|
498
|
-
case 7:
|
|
499
|
-
if (_b) {
|
|
500
|
-
(0, utils_1.warning)('Resource was not deleted.');
|
|
501
|
-
return [2 /*return*/];
|
|
502
|
-
}
|
|
503
|
-
return [4 /*yield*/, fetchAndDisplayData()];
|
|
504
|
-
case 8:
|
|
505
|
-
pagination = _g.sent();
|
|
506
|
-
offset = 0;
|
|
507
|
-
if (!(!opt.quiet && (pagination === null || pagination === void 0 ? void 0 : pagination.cursor))) return [3 /*break*/, 13];
|
|
508
|
-
_g.label = 9;
|
|
509
|
-
case 9:
|
|
510
|
-
if (!pagination.cursor) return [3 /*break*/, 13];
|
|
511
|
-
return [4 /*yield*/, inquirerHelper.askConfirm('there are more rows, load?')];
|
|
512
|
-
case 10:
|
|
513
|
-
res = _g.sent();
|
|
514
|
-
if (!res) return [3 /*break*/, 12];
|
|
515
|
-
process.stdout.moveCursor(0, -1);
|
|
516
|
-
process.stdout.clearLine(1);
|
|
517
|
-
offset += (_f = pagination.count) !== null && _f !== void 0 ? _f : 0;
|
|
518
|
-
return [4 /*yield*/, fetchAndDisplayData(pagination.cursor, true, offset)];
|
|
519
|
-
case 11:
|
|
520
|
-
// eslint-disable-next-line no-await-in-loop
|
|
521
|
-
pagination = _g.sent();
|
|
522
|
-
_g.label = 12;
|
|
523
|
-
case 12: return [3 /*break*/, 9];
|
|
524
|
-
case 13: return [2 /*return*/];
|
|
525
|
-
}
|
|
526
|
-
});
|
|
527
|
-
}); });
|
|
528
|
-
return leafCommand;
|
|
529
|
-
}
|
|
530
|
-
var isEndpointCommand = _.has(defaultOpt, 'opt');
|
|
531
|
-
var currentEndpoint = endpoint;
|
|
532
|
-
var command = constructCommand(currentEndpoint, isEndpointCommand);
|
|
533
|
-
cmd.addCommand(command);
|
|
534
|
-
var optWithoutOpt = _.omit(defaultOpt, 'opt');
|
|
535
|
-
if (Object.keys(optWithoutOpt).length > 0) {
|
|
536
|
-
// If this command has more subcommands, add them recursively
|
|
537
|
-
generateCommands(apiClient, endpoint, command, optWithoutOpt, nextCliPath);
|
|
538
|
-
}
|
|
539
|
-
});
|
|
540
|
-
function getInput(opt, defaultOpt, cmdPath) {
|
|
541
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
542
|
-
var input, file, fileContent, jsonResource;
|
|
543
|
-
return __generator(this, function (_a) {
|
|
544
|
-
switch (_a.label) {
|
|
545
|
-
case 0:
|
|
546
|
-
input = opt.input, file = opt.file;
|
|
547
|
-
if (input !== undefined) {
|
|
548
|
-
try {
|
|
549
|
-
return [2 /*return*/, JSON.parse(input)];
|
|
550
|
-
}
|
|
551
|
-
catch (e) {
|
|
552
|
-
try {
|
|
553
|
-
return [2 /*return*/, yaml.safeLoad(input)];
|
|
554
|
-
}
|
|
555
|
-
catch (d) {
|
|
556
|
-
throw new Error('Unknown input format. Not valid json and not valid yaml.');
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
if (file !== undefined) {
|
|
561
|
-
if (!fs_1.default.existsSync(file)) {
|
|
562
|
-
throw new Error("File does not exist: ".concat(file));
|
|
563
|
-
}
|
|
564
|
-
fileContent = fs_1.default.readFileSync(file).toString();
|
|
565
|
-
jsonResource = void 0;
|
|
566
|
-
try {
|
|
567
|
-
if (_.isString(fileContent)) {
|
|
568
|
-
if (opt.file.endsWith('.json')) {
|
|
569
|
-
jsonResource = JSON.parse(fileContent);
|
|
570
|
-
}
|
|
571
|
-
else if (opt.file.endsWith('.yaml') || opt.file.endsWith('yml')) {
|
|
572
|
-
jsonResource = yaml.safeLoad(fileContent);
|
|
573
|
-
}
|
|
574
|
-
else {
|
|
575
|
-
throw new Error("Unknown input file type: ".concat(opt.file.split('.').pop()));
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
|
-
else {
|
|
579
|
-
jsonResource = fileContent;
|
|
580
|
-
}
|
|
581
|
-
return [2 /*return*/, jsonResource];
|
|
582
|
-
}
|
|
583
|
-
catch (e) {
|
|
584
|
-
throw new Error("Failed to validate input (incorrect format): ".concat(e.message));
|
|
585
|
-
}
|
|
586
|
-
}
|
|
587
|
-
return [4 /*yield*/, inquirerHelper.retrievePayloadViaInteractiveCli(defaultOpt, { cmdPath: cmdPath })];
|
|
588
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
589
|
-
}
|
|
590
|
-
});
|
|
591
|
-
});
|
|
592
|
-
}
|
|
593
|
-
function parsePayload(opt, defaultOpt, cmdPath) {
|
|
594
|
-
var _a;
|
|
595
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
596
|
-
var bodyObject, ajv, valid, filteredErrors;
|
|
597
|
-
return __generator(this, function (_b) {
|
|
598
|
-
switch (_b.label) {
|
|
599
|
-
case 0: return [4 /*yield*/, getInput(opt, defaultOpt, cmdPath)];
|
|
600
|
-
case 1:
|
|
601
|
-
bodyObject = _b.sent();
|
|
602
|
-
ajv = new ajv_1.default({
|
|
603
|
-
allErrors: true,
|
|
604
|
-
keywords: ['example'],
|
|
605
|
-
validateFormats: false,
|
|
606
|
-
strict: false,
|
|
607
|
-
unicodeRegExp: false,
|
|
608
|
-
});
|
|
609
|
-
valid = false;
|
|
610
|
-
try {
|
|
611
|
-
valid = ajv.validate(defaultOpt.opt.body, bodyObject);
|
|
612
|
-
}
|
|
613
|
-
catch (e) {
|
|
614
|
-
if (e.message.includes('runtimeFiles/additionalProperties')) {
|
|
615
|
-
// known error, ignore
|
|
616
|
-
valid = true;
|
|
617
|
-
}
|
|
618
|
-
else {
|
|
619
|
-
throw e;
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
filteredErrors = (_a = ajv === null || ajv === void 0 ? void 0 : ajv.errors) === null || _a === void 0 ? void 0 : _a.filter(function (err) { var _a; return !((_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.includes('match exactly one schema in oneOf')); });
|
|
623
|
-
if (!valid && filteredErrors !== undefined && (filteredErrors === null || filteredErrors === void 0 ? void 0 : filteredErrors.length) > 0) {
|
|
624
|
-
throw new Error("Failed to validate input (schema mismatch):\n".concat(JSON.stringify(ajv.errors, null, ' ')));
|
|
625
|
-
}
|
|
626
|
-
return [2 /*return*/, bodyObject];
|
|
627
|
-
}
|
|
628
|
-
});
|
|
629
|
-
});
|
|
630
|
-
}
|
|
631
|
-
}
|
|
2
|
+
'use strict';var a1gA=a1L;(function(g,L){var ga=a1L,S=g();while(!![]){try{var q=-parseInt(ga(0x284))/0x1*(-parseInt(ga(0x28b))/0x2)+-parseInt(ga(0x1a7))/0x3*(parseInt(ga(0x1b6))/0x4)+parseInt(ga(0x263))/0x5*(parseInt(ga(0x1da))/0x6)+-parseInt(ga(0x251))/0x7+-parseInt(ga(0x1e2))/0x8*(parseInt(ga(0x19d))/0x9)+parseInt(ga(0x280))/0xa+-parseInt(ga(0x1cd))/0xb*(parseInt(ga(0x220))/0xc);if(q===L)break;else S['push'](S['shift']());}catch(e){S['push'](S['shift']());}}}(a1g,0xcb62b));var __assign=this&&this[a1gA(0x291)]||function(){var gn=a1gA;return __assign=Object[gn(0x19e)]||function(g){var gU=gn;for(var L,S=0x1,q=arguments[gU(0x20f)];S<q;S++){L=arguments[S];for(var e in L)if(Object['prototype']['hasOwnProperty'][gU(0x1d2)](L,e))g[e]=L[e];}return g;},__assign['apply'](this,arguments);},__createBinding=this&&this[a1gA(0x21e)]||(Object[a1gA(0x1c9)]?function(g,L,S,q){var gf=a1gA;if(q===undefined)q=S;var e=Object['getOwnPropertyDescriptor'](L,S);(!e||('get'in e?!L['__esModule']:e[gf(0x25b)]||e[gf(0x221)]))&&(e={'enumerable':!![],'get':function(){return L[S];}}),Object[gf(0x23b)](g,q,e);}:function(g,L,S,q){if(q===undefined)q=S;g[q]=L[S];}),__setModuleDefault=this&&this[a1gA(0x26a)]||(Object[a1gA(0x1c9)]?function(g,L){var gJ=a1gA;Object[gJ(0x23b)](g,'default',{'enumerable':!![],'value':L});}:function(g,L){var go=a1gA;g[go(0x20d)]=L;}),__importStar=this&&this[a1gA(0x248)]||function(g){var gd=a1gA;if(g&&g['__esModule'])return g;var L={};if(g!=null){for(var S in g)if(S!==gd(0x20d)&&Object[gd(0x275)][gd(0x232)][gd(0x1d2)](g,S))__createBinding(L,g,S);}return __setModuleDefault(L,g),L;},__awaiter=this&&this['__awaiter']||function(g,L,S,q){function e(H){return H instanceof S?H:new S(function(I){I(H);});}return new(S||(S=Promise))(function(H,I){var gX=a1L;function y(Y){var gi=a1L;try{O(q[gi(0x233)](Y));}catch(B){I(B);}}function k(Y){try{O(q['throw'](Y));}catch(B){I(B);}}function O(Y){var gu=a1L;Y[gu(0x19f)]?H(Y[gu(0x1d8)]):e(Y[gu(0x1d8)])[gu(0x21d)](y,k);}O((q=q[gX(0x1b3)](g,L||[]))['next']());});},__generator=this&&this[a1gA(0x277)]||function(L,S){var q={'label':0x0,'sent':function(){if(I[0x0]&0x1)throw I[0x1];return I[0x1];},'trys':[],'ops':[]},e,H,I,k;return k={'next':O(0x0),'throw':O(0x1),'return':O(0x2)},typeof Symbol==='function'&&(k[Symbol['iterator']]=function(){return this;}),k;function O(B){return function(P){return Y([B,P]);};}function Y(B){var gF=a1L;if(e)throw new TypeError(gF(0x1c4));while(q)try{if(e=0x1,H&&(I=B[0x0]&0x2?H[gF(0x1d1)]:B[0x0]?H[gF(0x24c)]||((I=H['return'])&&I['call'](H),0x0):H['next'])&&!(I=I[gF(0x1d2)](H,B[0x1]))[gF(0x19f)])return I;if(H=0x0,I)B=[B[0x0]&0x2,I[gF(0x1d8)]];switch(B[0x0]){case 0x0:case 0x1:I=B;break;case 0x4:q[gF(0x1ff)]++;return{'value':B[0x1],'done':![]};case 0x5:q[gF(0x1ff)]++,H=B[0x1],B=[0x0];continue;case 0x7:B=q[gF(0x250)][gF(0x21b)](),q['trys'][gF(0x21b)]();continue;default:if(!(I=q['trys'],I=I[gF(0x20f)]>0x0&&I[I[gF(0x20f)]-0x1])&&(B[0x0]===0x6||B[0x0]===0x2)){q=0x0;continue;}if(B[0x0]===0x3&&(!I||B[0x1]>I[0x0]&&B[0x1]<I[0x3])){q[gF(0x1ff)]=B[0x1];break;}if(B[0x0]===0x6&&q['label']<I[0x1]){q[gF(0x1ff)]=I[0x1],I=B;break;}if(I&&q[gF(0x1ff)]<I[0x2]){q[gF(0x1ff)]=I[0x2],q[gF(0x250)][gF(0x1c1)](B);break;}if(I[0x2])q[gF(0x250)][gF(0x21b)]();q[gF(0x224)][gF(0x21b)]();continue;}B=S[gF(0x1d2)](L,q);}catch(P){B=[0x6,P],H=0x0;}finally{e=I=0x0;}if(B[0x0]&0x5)throw B[0x1];return{'value':B[0x0]?B[0x1]:void 0x0,'done':!![]};}},__importDefault=this&&this[a1gA(0x1bc)]||function(g){return g&&g['__esModule']?g:{'default':g};};function a1L(g,L){var S=a1g();return a1L=function(q,e){q=q-0x19a;var H=S[q];return H;},a1L(g,L);}Object[a1gA(0x23b)](exports,a1gA(0x238),{'value':!![]}),exports[a1gA(0x258)]=void 0x0;var js_client_1=require(a1gA(0x20b)),commander_1=__importDefault(require(a1gA(0x27d))),fs_1=__importDefault(require('fs')),ajv_1=__importDefault(require(a1gA(0x223))),chalk_1=__importDefault(require(a1gA(0x278))),_=__importStar(require('lodash')),contextCommands_1=require(a1gA(0x25f)),utils_1=require(a1gA(0x1dd)),defaults=__importStar(require(a1gA(0x270))),inquirer_helper_1=require(a1gA(0x1b8)),console_format_helpers_1=require(a1gA(0x27f)),command_overview_1=require('./command-overview'),port_forward_1=require('./port-forward'),exec_1=require(a1gA(0x1a0)),yaml=require(a1gA(0x201)),pgk=require('../package.json'),getProgram=function(g){var gz=a1gA,L=new commander_1[(gz(0x20d))][(gz(0x293))](gz(0x266));L['description'](gz(0x1ae)),L[gz(0x1de)](!![]),L[gz(0x1be)]('Northflank\x20cli\x20version:\x20'[gz(0x28e)](chalk_1['default'][gz(0x289)](pgk[gz(0x1be)])),gz(0x285),gz(0x1f4));var S=new js_client_1[(gz(0x21f))](g,{'throwErrorOnHttpErrorCode':![],'customUserAgent':utils_1[gz(0x20e)]}),q=new contextCommands_1['CliContext'](S),e=new port_forward_1[(gz(0x1e9))](g),H=new exec_1['CliExec'](g);return L[gz(0x1f7)](e[gz(0x254)]),L[gz(0x1f7)](H[gz(0x1db)]),L[gz(0x1f7)](q[gz(0x267)]),L[gz(0x1f7)](q[gz(0x22a)]),generateCommands(S,S[gz(0x1ea)],L),L[gz(0x1f7)]((0x0,command_overview_1['getCommandOverview'])(L)),L;};exports[a1gA(0x258)]=getProgram,(function(){return __awaiter(void 0x0,void 0x0,void 0x0,function(){var g,L,S;return __generator(this,function(q){var gW=a1L;switch(q[gW(0x1ff)]){case 0x0:q['trys'][gW(0x1c1)]([0x0,0x3,,0x4]),g=new js_client_1[(gW(0x1a1))]();return[0x4,(0x0,utils_1[gW(0x276)])(g)];case 0x1:q['sent'](),L=(0x0,exports[gW(0x258)])(g);return[0x4,L[gW(0x22e)](process['argv'])];case 0x2:q['sent']();return[0x3,0x4];case 0x3:S=q[gW(0x260)](),(0x0,utils_1[gW(0x244)])(gW(0x1ad)[gW(0x28e)](S[gW(0x252)]));process[gW(0x1ab)][gW(0x1ca)](function(e){return e==='--verbose';})&&console['log'](S);process['exitCode']=0x1;return[0x3,0x4];case 0x4:return[0x2];}});});}());function a1g(){var L1=['runId','@northflank/js-client','moveCursor','default','customUserAgent','length','docsTagsPath','forEach','.json','count','\x20--','kebabCase','isString','subdomain','host','addHelpText','domains','pop','required','then','__createBinding','ApiClient','556764cpkroF','configurable','volumes','ajv','trys','\x0a>\x20Token\x20permissions\x20required:\x20','startsWith','pln','askForBuild','upperFirst','contexts','method','asyncSequential','scrt','parseAsync','custom-columns=','opt','credentials','hasOwnProperty','next','retrievePayloadViaInteractiveCli','serviceId','set','replace','__esModule','Documentation:\x20','addons','defineProperty','path','getCurrentServiceName','url','invoices','option','JSON-formatted\x20resource\x20definition,\x20takes\x20precedence\x20over\x20\x22--file\x22','get','volumeId','error','alias','Unknown\x20input\x20format.\x20Not\x20valid\x20json\x20and\x20not\x20valid\x20yaml.','askForSubdomain','__importStar','green','getOwnPropertyNames','endsWith','throw','job','Unknown\x20input\x20file\x20type:\x20','dmn','ops','2669716cTDUWW','message','\x20properties','portFwdCmd','force','repos','output','getProgram','runtimeFiles/additionalProperties','svc','writable','OPTIONAL:\x20','action','credential','./context/contextCommands','sent','askForProject','-i,\x20--input\x20<resource-def>','5lKhvJY','plans','log','northflank','login','name','warning','__setModuleDefault','existsSync','clearLine','details','API\x20request\x20failed\x0a\x09Message:\x20','json','./defaults','query','VERBOSE:\x20Request\x20body\x20->\x20','InquirerHelper','validate','prototype','checkUpdate','__generator','chalk','getCurrentJobName','addon','askForVolume','Resource\x20was\x20not\x20deleted.','commander','credentialId','./console-format-helpers','9117740WUHhUh','projects','body','has','1118bfxGqQ','-v,\x20--version','boolean','(HTTP\x20status\x20code:\x20','File\x20does\x20not\x20exist:\x20','underline','bind','2170rBLkCO','isEqual','Get\x20information\x20about\x20Northflank\x20','concat','branch','askForService','__assign','some','Command','\x0a\x09details\x20:','inv','secretId','toUpperCase','135wLAyDT','assign','done','./exec','ApiClientFileContextProvider','jobId','stdout','resource','request','propToType','3YWnbIl','askForSecret','aliases','list','argv','contextProvider','Error\x20occured\x20while\x20trying\x20to\x20run\x20command,\x20error:\x20','Manage\x20your\x20Northflank\x20resources\x20from\x20the\x20command\x20line','there\x20are\x20more\x20rows,\x20load?','map','askForAddonBackup','sort','apply','regions','noDefaults','1850072lNNAtw','secret','./inquirer-helper','secrets','getCurrentContext','api.','__importDefault','=>\x20running\x20command\x20with:\x20','version','entries','description','push','verbose','readFileSync','Generator\x20is\x20already\x20executing.','vol','.yaml','repository','askForAddon','create','find','toString','adn','121kPZhJS','yml','status','schema','return','call','domainId','yaml','branches','file','pagination','value','buildId','8512566SHbkxz','execCmd','stringify','./utils','enablePositionalOptions','assertContextExisting',',\x20NF\x20error\x20id:\x20',',\x20-','723320FgIqKj','brn','invoice','subdomainId','plan','input','toLowerCase','CliPortForward','endpoints','data','match\x20exactly\x20one\x20schema\x20in\x20oneOf','domain','service','cred','askConfirm','services','cursor','includes','Print\x20the\x20current\x20version\x20of\x20the\x20Northflank\x20cli','backups','safeLoad','addCommand','parse','errors','File\x20to\x20load\x20resource\x20json\x20from','delete','projectId','\x20Northflank\x20resources','backupId','label','split','js-yaml','keys','project','addonId','quiet','getCommand','askForDomain','filter','deleteWarningPrompt'];a1g=function(){return L1;};return a1g();}function isListCommand(g){var gM=a1gA,L=[[gM(0x242),gM(0x27a),gM(0x1f5)],[gM(0x242),gM(0x24d),'runs']];return g[gM(0x1ca)](function(S){var gC=gM;return S===gC(0x1aa);})||L[gM(0x292)](function(S){var gc=gM;return _[gc(0x28c)](g,S);});}function generateCommands(g,L,S,q,e){var gj=a1gA;q===void 0x0&&(q=defaults['defaults']);e===void 0x0&&(e=[]);var H=new inquirer_helper_1[(gj(0x273))](new js_client_1[(gj(0x21f))](g['contextProvider'],{'throwErrorOnHttpErrorCode':!![],'customUserAgent':utils_1['customUserAgent']}));function I(Y,B){var gG=gj;return Y[gG(0x21c)]!==![]&&B===undefined;}function y(Y,B){var gh=gj,P=Y[gh(0x230)],Z=Y[gh(0x268)],a=P['default'],A=I(P,a),n=function(i){var gv=gh;return i[gv(0x20f)]>0x1?'--'[gv(0x28e)](i):'-'[gv(0x28e)](i);},U=P===null||P===void 0x0?void 0x0:P[gh(0x245)],f=U?_['isArray'](U)?'-'[gh(0x28e)](U===null||U===void 0x0?void 0x0:U[gh(0x1b0)](function(i){return n(i);})['join'](gh(0x1e1)),','):''['concat'](n(U)):'',J=A?'':gh(0x25c),o=typeof P['type']===gh(0x286)?''['concat'](f,gh(0x214))[gh(0x28e)](Z):''[gh(0x28e)](f,gh(0x214))[gh(0x28e)](Z,'\x20<')[gh(0x28e)](Z[gh(0x19c)](),'>'),d=J+P[gh(0x1c0)];B[gh(0x240)](o,d,a);}return Object[gj(0x24a)](q)['forEach'](function(Y){var gp=gj,B=L[Y],P=q[Y],Z=e[gp(0x28e)]([Y]);function a(X,F){var gt=gp,z=Object[gt(0x24a)](X||{});z[gt(0x1b0)](function(W){return{'name':W,'opt':X[W]};})[gt(0x1b2)](function(W,M){return!I(W['opt'])?!I(M['opt'])?0x0:0x1:-0x1;})[gt(0x211)](function(W){y(W,F);});}function A(X,F){var gs=gp,z=[[gs(0x203),gs(0x281),'prj'],[gs(0x1ee),gs(0x1f1),gs(0x25a)],[gs(0x231),gs(0x25e),gs(0x1ef)],[gs(0x27a),gs(0x23a),gs(0x1cc)],[gs(0x24d),'jobs'],[gs(0x1e6),gs(0x264),gs(0x227)],['region',gs(0x1b4),'rgn'],['domain',gs(0x21a),gs(0x24f)],[gs(0x1b7),gs(0x1b9),gs(0x22d)],[gs(0x222),'volume',gs(0x1c5)],[gs(0x1d5),gs(0x28f),gs(0x1e3)],[gs(0x1e4),gs(0x23f),gs(0x19a)],[gs(0x256),gs(0x1c7),'repositories','repo']],W=z['find'](function(M){var gD=gs;return M[gD(0x1f3)](F);});if(W!==undefined)X[gs(0x1a9)](W['filter'](function(M){return M!==F;}));}function n(X){var F,z;return __awaiter(this,void 0x0,void 0x0,function(){function W(h,v,p){var t,s;return __awaiter(this,void 0x0,void 0x0,function(){var D,T,V;return __generator(this,function(r){var gT=a1L;switch(r[gT(0x1ff)]){case 0x0:if(!_[gT(0x283)]((s=(t=P[gT(0x230)])===null||t===void 0x0?void 0x0:t[gT(0x23c)])!==null&&s!==void 0x0?s:{},h))return[0x3,0x3];D=!j&&!c&&p?p():undefined,V=X[h]||D;if(V)return[0x3,0x2];return[0x4,v()];case 0x1:V=r[gT(0x260)](),r[gT(0x1ff)]=0x2;case 0x2:T=V,_['set'](M,h,T),r[gT(0x1ff)]=0x3;case 0x3:return[0x2];}});});}var M,C,c,j,G=this;return __generator(this,function(h){var gV=a1L;switch(h[gV(0x1ff)]){case 0x0:M={},C=g[gV(0x1ac)],c=Z[gV(0x1f3)](gV(0x1fb)),j=X[gV(0x1b5)]===!![];return[0x4,(0x0,utils_1['asyncSequential'])(Object[gV(0x1bf)]((z=(F=P['opt'])===null||F===void 0x0?void 0x0:F[gV(0x23c)])!==null&&z!==void 0x0?z:{}),function(v){var p=v[0x0],t=v[0x1];return __awaiter(G,void 0x0,void 0x0,function(){var s,D;return __generator(this,function(T){var gr=a1L;switch(T[gr(0x1ff)]){case 0x0:s=M===null||M===void 0x0?void 0x0:M[gr(0x1fc)],D=p;switch(D){case gr(0x1fc):return[0x3,0x1];case gr(0x235):return[0x3,0x3];case gr(0x204):return[0x3,0x5];case gr(0x1a2):return[0x3,0x7];case gr(0x20a):return[0x3,0x9];case gr(0x19b):return[0x3,0xb];case'domain':return[0x3,0xd];case gr(0x1d3):return[0x3,0xd];case gr(0x27e):return[0x3,0xf];case gr(0x243):return[0x3,0x11];case gr(0x217):return[0x3,0x13];case gr(0x1e5):return[0x3,0x15];case gr(0x1fe):return[0x3,0x17];case gr(0x1d9):return[0x3,0x19];}return[0x3,0x1b];case 0x1:return[0x4,W(gr(0x1fc),H[gr(0x261)][gr(0x28a)](H),C['getCurrentProjectName'][gr(0x28a)](C))];case 0x2:return[0x2,T[gr(0x260)]()];case 0x3:return[0x4,W(gr(0x235),H[gr(0x290)](s)['bind'](H),C[gr(0x23d)][gr(0x28a)](C))];case 0x4:return[0x2,T[gr(0x260)]()];case 0x5:return[0x4,W('addonId',H[gr(0x1c8)](s)[gr(0x28a)](H))];case 0x6:return[0x2,T[gr(0x260)]()];case 0x7:return[0x4,W(gr(0x1a2),H['askForJob'](s)[gr(0x28a)](H),C[gr(0x279)][gr(0x28a)](C))];case 0x8:return[0x2,T[gr(0x260)]()];case 0x9:return[0x4,W(gr(0x20a),H['askForJobRun'](M[gr(0x1a2)],s)[gr(0x28a)](H))];case 0xa:return[0x2,T[gr(0x260)]()];case 0xb:return[0x4,W(gr(0x19b),H[gr(0x1a8)](s)['bind'](H))];case 0xc:return[0x2,T[gr(0x260)]()];case 0xd:return[0x4,W(gr(0x1ed),H[gr(0x207)][gr(0x28a)](H))];case 0xe:return[0x2,T[gr(0x260)]()];case 0xf:return[0x4,W(gr(0x27e),H['askForCredentials'][gr(0x28a)](H))];case 0x10:return[0x2,T[gr(0x260)]()];case 0x11:return[0x4,W(gr(0x243),H[gr(0x27b)](s)[gr(0x28a)](H))];case 0x12:return[0x2,T[gr(0x260)]()];case 0x13:return[0x4,W(gr(0x217),H[gr(0x247)](M[gr(0x1ed)])[gr(0x28a)](H))];case 0x14:return[0x2,T['sent']()];case 0x15:return[0x4,W('subdomainId',H['askForSubdomain'](M['domainId'])[gr(0x28a)](H))];case 0x16:return[0x2,T[gr(0x260)]()];case 0x17:return[0x4,W('backupId',H[gr(0x1b1)](s,M[gr(0x204)])[gr(0x28a)](H))];case 0x18:return[0x2,T[gr(0x260)]()];case 0x19:return[0x4,W(gr(0x1d9),H[gr(0x228)](s,M['serviceId'],M[gr(0x1a2)])[gr(0x28a)](H))];case 0x1a:return[0x2,T[gr(0x260)]()];case 0x1b:return[0x4,W(p,H['askGeneric'](p,t===null||t===void 0x0?void 0x0:t[gr(0x1c0)])[gr(0x28a)](H))];case 0x1c:return[0x2,T[gr(0x260)]()];}});});})];case 0x1:h[gV(0x260)]();return[0x2,M];}});});}function U(X){var F,z;return __awaiter(this,void 0x0,void 0x0,function(){var W,M,C=this;return __generator(this,function(c){var gb=a1L;switch(c[gb(0x1ff)]){case 0x0:W={},M=Object[gb(0x202)]((z=(F=P[gb(0x230)])===null||F===void 0x0?void 0x0:F[gb(0x271)])!==null&&z!==void 0x0?z:{});return[0x4,(0x0,utils_1[gb(0x22c)])(M,function(j){return __awaiter(C,void 0x0,void 0x0,function(){var G,h,v,p;return __generator(this,function(t){var gw=a1L;switch(t[gw(0x1ff)]){case 0x0:G={},(h=P[gw(0x230)][gw(0x271)][j],v=h[gw(0x21c)],p=h[gw(0x1d0)]);return[0x4,H[gw(0x1a6)]([''[gw(0x28e)](j)],p,G,v)];case 0x1:t['sent']();G[j]!==undefined&&_[gw(0x236)](W,j,G[j]);return[0x2,G];}});});})];case 0x1:c['sent']();return[0x2,W];}});});}function f(){var gm=gp;switch(Z[0x0]){case gm(0x242):return gm(0x28d)[gm(0x28e)](Z[0x1]||gm(0x1a4),'s');case'update':return'Update\x20Northflank\x20'[gm(0x28e)](Z[0x1]||gm(0x1a4),gm(0x253));default:return''[gm(0x28e)](_[gm(0x229)](Y),gm(0x1fd));}}function J(X,F){var gK=gp,z=this,W,M,C,c,j,G;if(!F){var h=(0x0,utils_1[gK(0x206)])()['name'](_[gK(0x215)](Y))['description'](f());return A(h,Y),h;}var v=(X===null||X===void 0x0?void 0x0:X['requiredPermissions'])?chalk_1[gK(0x20d)]['grey'](gK(0x225)['concat'](X['requiredPermissions'])):'',p=g[gK(0x1ac)][gK(0x1ba)](),t=p!==undefined&&((W=P===null||P===void 0x0?void 0x0:P[gK(0x230)])===null||W===void 0x0?void 0x0:W[gK(0x210)])!==undefined,s=p===null||p===void 0x0?void 0x0:p[gK(0x218)][gK(0x237)](gK(0x1bb),''),D=t?gK(0x239)[gK(0x28e)](s,'/docs/v1/api/')[gK(0x28e)]((M=P===null||P===void 0x0?void 0x0:P[gK(0x230)])===null||M===void 0x0?void 0x0:M[gK(0x210)]):'',T=(X===null||X===void 0x0?void 0x0:X[gK(0x1c0)])||'',V=(0x0,utils_1[gK(0x206)])(!![])['name'](_['kebabCase'](Y))[gK(0x1c0)](T)[gK(0x219)]('after',[v,D]['join']('\x0a'));return A(V,Y),((C=P['opt'])===null||C===void 0x0?void 0x0:C[gK(0x282)])&&(V[gK(0x240)]('-f,\x20--file\x20<file-path>',gK(0x1fa)),V[gK(0x240)](gK(0x262),gK(0x241))),a((c=P[gK(0x230)])===null||c===void 0x0?void 0x0:c[gK(0x23c)],V),a((j=P['opt'])===null||j===void 0x0?void 0x0:j[gK(0x271)],V),a((G=P[gK(0x230)])===null||G===void 0x0?void 0x0:G['base'],V),V[gK(0x25d)](function(){return __awaiter(z,void 0x0,void 0x0,function(){function r(g5,g6,g7){return g6===void 0x0&&(g6=![]),g7===void 0x0&&(g7=0x0),__awaiter(this,void 0x0,void 0x0,function(){var g8,g9,gg,gL,gS,gq,ge,gH,gI,gy,gk,gO,gY,gB;return __generator(this,function(gP){var gQ=a1L;switch(gP[gQ(0x1ff)]){case 0x0:return[0x4,B[gQ(0x1d2)]({'parameters':w,'options':__assign(__assign({},m),{'cursor':g5}),'data':E})];case 0x1:g8=gP[gQ(0x260)](),g9=g8[gQ(0x1eb)],gg=g8[gQ(0x1a5)],gL=g8[gQ(0x244)],gS=g8[gQ(0x1d7)];(b===null||b===void 0x0?void 0x0:b[gQ(0x1c2)])&&(console['log']('VERBOSE:\x20Using\x20endpoint\x20->\x20'[gQ(0x28e)](gg[gQ(0x22b)],':')[gQ(0x28e)](gg[gQ(0x23e)])),console[gQ(0x265)](gQ(0x272)[gQ(0x28e)](gg['body'])));if(gL){gq=gL[gQ(0x26d)]?gQ(0x294)[gQ(0x28e)](JSON[gQ(0x1dc)](gL[gQ(0x26d)])):'',ge=(gL===null||gL===void 0x0?void 0x0:gL['id'])?gQ(0x1e0)[gQ(0x28e)](gL['id']):'',gH=gQ(0x287)[gQ(0x28e)](gL[gQ(0x1cf)])[gQ(0x28e)](ge,')');throw new Error(gQ(0x26e)['concat'](gL[gQ(0x252)],'\x20')['concat'](gH)[gQ(0x28e)](gq));}if(!(b===null||b===void 0x0?void 0x0:b[gQ(0x205)])){gI=b===null||b===void 0x0?void 0x0:b[gQ(0x257)];if(gI===gQ(0x26f))console[gQ(0x265)]((0x0,console_format_helpers_1['consoleFormat'])(g9));else{if(gI===gQ(0x1d4)||gI===gQ(0x1ce))console[gQ(0x265)](yaml['safeDump'](g9));else isListCommand(Z)?(gy=(gI===null||gI===void 0x0?void 0x0:gI[gQ(0x226)]('custom-columns='))?gI[gQ(0x237)](gQ(0x22f),'')[gQ(0x200)](',')['map'](function(gZ){var gE=gQ;return gZ[gE(0x1e8)]();}):undefined,gk=Z[Z[gQ(0x20f)]-0x1],gO=''[gQ(0x28e)](gk)['concat'](gk[gQ(0x24b)]('s')?'':'s'),gY=_[gQ(0x229)](gO),gB=_[gQ(0x283)](g9,gO)?g9[gO]:g9,(0x0,console_format_helpers_1['printAsTable'])(gB,gY,gy,g6,g7)):console[gQ(0x265)]((0x0,console_format_helpers_1['consoleFormat'])(g9));}}return[0x2,gS];}});});}var b,w,m,K,Q,E,R,x,N,l,g0,g1,g2,g3,g4;return __generator(this,function(g5){var gR=a1L;switch(g5[gR(0x1ff)]){case 0x0:(0x0,utils_1[gR(0x1df)])(g),b=V['opts']();return[0x4,n(b)];case 0x1:w=g5[gR(0x260)](),H['setPathVars'](w);return[0x4,U(b)];case 0x2:m=g5[gR(0x260)](),K=Object[gR(0x202)]((g2=(g1=P[gR(0x230)])===null||g1===void 0x0?void 0x0:g1[gR(0x23c)])!==null&&g2!==void 0x0?g2:{})['map'](function(g6){var gx=gR;return''['concat'](g6,'=')[gx(0x28e)](chalk_1['default'][gx(0x249)](w[g6]));})['join'](',\x20');K[gR(0x20f)]>0x0&&(Q=gR(0x1bd)['concat'](K),console[gR(0x265)](Q));if(!((g3=P['opt'])===null||g3===void 0x0?void 0x0:g3[gR(0x282)]))return[0x3,0x4];return[0x4,O(b,P,Z)];case 0x3:R=g5[gR(0x260)]();return[0x3,0x5];case 0x4:R=undefined,g5[gR(0x1ff)]=0x5;case 0x5:E=R,x=!b[gR(0x255)]&&Z[gR(0x1f3)](gR(0x1fb));if(!x)return[0x3,0x7];return[0x4,H[gR(0x209)]()];case 0x6:x=!g5[gR(0x260)](),g5[gR(0x1ff)]=0x7;case 0x7:if(x)return(0x0,utils_1[gR(0x269)])(gR(0x27c)),[0x2];return[0x4,r()];case 0x8:N=g5[gR(0x260)](),l=0x0;if(!(!b[gR(0x205)]&&(N===null||N===void 0x0?void 0x0:N[gR(0x1f2)])))return[0x3,0xd];g5[gR(0x1ff)]=0x9;case 0x9:if(!N[gR(0x1f2)])return[0x3,0xd];return[0x4,H[gR(0x1f0)](gR(0x1af))];case 0xa:g0=g5[gR(0x260)]();if(!g0)return[0x3,0xc];process[gR(0x1a3)][gR(0x20c)](0x0,-0x1),process[gR(0x1a3)][gR(0x26c)](0x1),l+=(g4=N[gR(0x213)])!==null&&g4!==void 0x0?g4:0x0;return[0x4,r(N[gR(0x1f2)],!![],l)];case 0xb:N=g5[gR(0x260)](),g5[gR(0x1ff)]=0xc;case 0xc:return[0x3,0x9];case 0xd:return[0x2];}});});}),V;}var o=_[gp(0x283)](P,'opt'),d=B,i=J(d,o);S[gp(0x1f7)](i);var u=_['omit'](P,gp(0x230));Object['keys'](u)[gp(0x20f)]>0x0&&generateCommands(g,B,i,u,Z);});function k(Y,B,P){return __awaiter(this,void 0x0,void 0x0,function(){var Z,a,A,n;return __generator(this,function(U){var gN=a1L;switch(U[gN(0x1ff)]){case 0x0:Z=Y[gN(0x1e7)],a=Y[gN(0x1d6)];if(Z!==undefined)try{return[0x2,JSON[gN(0x1f8)](Z)];}catch(f){try{return[0x2,yaml[gN(0x1f6)](Z)];}catch(J){throw new Error(gN(0x246));}}if(a!==undefined){if(!fs_1['default'][gN(0x26b)](a))throw new Error(gN(0x288)[gN(0x28e)](a));A=fs_1[gN(0x20d)][gN(0x1c3)](a)[gN(0x1cb)](),n=void 0x0;try{if(_[gN(0x216)](A)){if(Y[gN(0x1d6)]['endsWith'](gN(0x212)))n=JSON[gN(0x1f8)](A);else{if(Y['file'][gN(0x24b)](gN(0x1c6))||Y['file'][gN(0x24b)](gN(0x1ce)))n=yaml[gN(0x1f6)](A);else throw new Error(gN(0x24e)[gN(0x28e)](Y[gN(0x1d6)]['split']('.')[gN(0x21b)]()));}}else n=A;return[0x2,n];}catch(o){throw new Error('Failed\x20to\x20validate\x20input\x20(incorrect\x20format):\x20'[gN(0x28e)](o['message']));}}return[0x4,H[gN(0x234)](B,{'cmdPath':P})];case 0x1:return[0x2,U[gN(0x260)]()];}});});}function O(Y,B,P){var Z;return __awaiter(this,void 0x0,void 0x0,function(){var a,A,n,U;return __generator(this,function(f){var gl=a1L;switch(f[gl(0x1ff)]){case 0x0:return[0x4,k(Y,B,P)];case 0x1:a=f[gl(0x260)](),A=new ajv_1['default']({'allErrors':!![],'keywords':['example'],'validateFormats':![],'strict':![],'unicodeRegExp':![]}),n=![];try{n=A[gl(0x274)](B['opt'][gl(0x282)],a);}catch(J){if(J[gl(0x252)][gl(0x1f3)](gl(0x259)))n=!![];else throw J;}U=(Z=A===null||A===void 0x0?void 0x0:A[gl(0x1f9)])===null||Z===void 0x0?void 0x0:Z[gl(0x208)](function(o){var L0=gl,d;return!((d=o===null||o===void 0x0?void 0x0:o[L0(0x252)])===null||d===void 0x0?void 0x0:d[L0(0x1f3)](L0(0x1ec)));});if(!n&&U!==undefined&&(U===null||U===void 0x0?void 0x0:U[gl(0x20f)])>0x0)throw new Error('Failed\x20to\x20validate\x20input\x20(schema\x20mismatch):\x0a'['concat'](JSON[gl(0x1dc)](A['errors'],null,'\x20')));return[0x2,a];}});});}}
|