bdy 1.25.10-stage → 1.25.12-dev

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.25.10-stage",
4
+ "version": "1.25.12-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "homepage": "https://buddy.works/docs/cli",
@@ -48,6 +48,7 @@ let rateLimitWarned = false;
48
48
  const formDataFileName = (name) => name.replace(/["\r\n]/g, (c) => ({ '"': '%22', '\r': '%0D', '\n': '%0A' })[c]);
49
49
  exports.formDataFileName = formDataFileName;
50
50
  class ApiClient {
51
+ static onRequestTrace;
51
52
  client;
52
53
  token;
53
54
  refreshToken;
@@ -145,6 +146,8 @@ class ApiClient {
145
146
  // retrying a POST could duplicate the operation.
146
147
  const maxAttempts = method === 'GET' ? 3 : 1;
147
148
  for (let attempt = 1;; attempt += 1) {
149
+ const started = performance.now();
150
+ ApiClient.onRequestTrace?.({ kind: 'request', method, path, query, attempt, maxAttempts });
148
151
  try {
149
152
  response = await this.client.request(opts);
150
153
  }
@@ -152,17 +155,28 @@ class ApiClient {
152
155
  logger_1.default.debug('API CLIENT RESPONSE ERROR');
153
156
  logger_1.default.debug(err);
154
157
  const retriable = RETRIABLE_NETWORK_ERROR.test(err.message);
158
+ const networkCode = err.code ?? err.cause?.code;
159
+ ApiClient.onRequestTrace?.({
160
+ kind: 'network_error', method, path, attempt, maxAttempts,
161
+ durationMs: Math.round(performance.now() - started),
162
+ errorCode: typeof networkCode === 'string' ? networkCode : undefined,
163
+ });
155
164
  if (retriable && attempt < maxAttempts) {
156
- await (0, utils_1.sleep)(attempt * 1000);
165
+ const retryMs = attempt * 1000;
166
+ ApiClient.onRequestTrace?.({ kind: 'retry', method, path, attempt, maxAttempts, retryMs });
167
+ await (0, utils_1.sleep)(retryMs);
157
168
  continue;
158
169
  }
159
- const networkCode = err.code ?? err.cause?.code;
160
170
  const timeout = ['ETIMEDOUT', 'UND_ERR_CONNECT_TIMEOUT', 'UND_ERR_HEADERS_TIMEOUT', 'UND_ERR_BODY_TIMEOUT'].includes(networkCode);
161
171
  throw new cliError_1.default(timeout ? 'timeout' : 'connection_error', timeout ? texts_1.ERR_REST_API_TIMEOUT : texts_1.ERR_REST_API_CONNECT_ERROR, timeout ? texts_1.TXT_CLI_RETRY_HINT : texts_1.TXT_CLI_ENDPOINT_HINT, { cause: err });
162
172
  }
163
173
  rateLimitReset = headerValue(response.headers['x-rate-limit-reset']);
164
174
  status = response.statusCode;
165
175
  responseBody = response.body;
176
+ ApiClient.onRequestTrace?.({
177
+ kind: 'response', method, path, attempt, maxAttempts, status,
178
+ durationMs: Math.round(performance.now() - started),
179
+ });
166
180
  logger_1.default.debug(`API CLIENT RESPONSE STATUS: ${status}`);
167
181
  const delay = attempt < maxAttempts
168
182
  ? retryDelay(status, attempt, rateLimitReset)
@@ -171,6 +185,7 @@ class ApiClient {
171
185
  break;
172
186
  await responseBody.dump();
173
187
  logger_1.default.debug(`API CLIENT RETRY IN ${delay}ms`);
188
+ ApiClient.onRequestTrace?.({ kind: 'retry', method, path, attempt, maxAttempts, retryMs: delay });
174
189
  await (0, utils_1.sleep)(delay);
175
190
  }
176
191
  this.warnRateLimitLow(headerValue(response.headers['x-rate-limit-remaining']), rateLimitReset);
@@ -63,6 +63,7 @@ class CliCommand extends commander_1.Command {
63
63
  this.enablePositionalOptions();
64
64
  this.option('--context <name>', texts_1.OPTION_CONTEXT);
65
65
  this.option('--examples', texts_1.OPTION_EXAMPLES);
66
+ this.option('--verbose', texts_1.OPTION_VERBOSE);
66
67
  }
67
68
  addOption(option) {
68
69
  if (option.long === '--format' && !option.argChoices) {
@@ -32,13 +32,15 @@ const mcp_1 = __importDefault(require("./command/mcp"));
32
32
  const discover_1 = __importDefault(require("./command/discover"));
33
33
  const context_1 = __importDefault(require("./command/context"));
34
34
  const input_1 = __importDefault(require("./input"));
35
- const cliError_1 = __importDefault(require("./cliError"));
36
35
  const cliCommand_1 = __importDefault(require("./cliCommand"));
37
- const texts_2 = require("./texts");
36
+ const client_1 = __importDefault(require("./api/client"));
38
37
  function cliIndex() {
39
38
  const program = (0, utils_1.newCommand)('bdy', texts_1.DESC_PROGRAM);
40
39
  program.hook('preAction', (_, command) => {
41
40
  const options = command.optsWithGlobals();
41
+ client_1.default.onRequestTrace = options.verbose
42
+ ? output_1.default.apiTrace.bind(output_1.default)
43
+ : undefined;
42
44
  input_1.default.configureContext(command instanceof cliCommand_1.default && command.usesDefaultContext
43
45
  ? { ...options, context: 'default' }
44
46
  : options);
@@ -75,9 +77,13 @@ function cliIndex() {
75
77
  program.addCommand(mcp_1.default);
76
78
  program.addCommand(discover_1.default);
77
79
  program.addCommand(context_1.default);
78
- program.action((_, cmd) => {
79
- if (cmd.args.length > 0) {
80
- output_1.default.exitError(new cliError_1.default('unknown_command', (0, texts_1.ERR_COMMAND_NOT_FOUND)(cmd.args[0]), (0, texts_2.TXT_CLI_USAGE_HINT)('bdy')));
80
+ // without this Commander rejects `bdy nope` as an excess argument before
81
+ // the action runs; let Commander report it as an unknown command instead,
82
+ // with the did-you-mean suggestion and the JSON error format
83
+ program.allowExcessArguments();
84
+ program.action(() => {
85
+ if (program.args.length > 0) {
86
+ program.unknownCommand();
81
87
  }
82
88
  program.help();
83
89
  });
@@ -61,8 +61,14 @@ function generatePkcePair() {
61
61
  .digest('base64url');
62
62
  return { codeVerifier, codeChallenge };
63
63
  }
64
- async function waitForOpen(isRegister, abortCode, seconds = 3) {
64
+ async function waitForOpen(isRegister, abortCode, verbose = false, seconds = 3) {
65
65
  output_1.default.normal(isRegister ? texts_1.TXT_REGISTER_OPENING : texts_1.TXT_LOGIN_OPENING);
66
+ if (verbose) {
67
+ const end = Date.now() + seconds * 1000;
68
+ while (Date.now() <= end && !abortCode.signal.aborted)
69
+ await (0, utils_1.sleep)(500);
70
+ return;
71
+ }
66
72
  let star = true;
67
73
  const now = Date.now();
68
74
  for (;;) {
@@ -92,6 +98,7 @@ async function oauthServer(api, clientId, clientSecret, forceRegisterEmail, forc
92
98
  const state = (0, uuid_1.v4)();
93
99
  const { codeVerifier, codeChallenge } = generatePkcePair();
94
100
  const abortCode = new AbortController();
101
+ let uiFinished;
95
102
  const exchange = async (urlCode, urlState, res) => {
96
103
  const client = new ApiClient(new URL(`https://${api}`));
97
104
  try {
@@ -100,6 +107,10 @@ async function oauthServer(api, clientId, clientSecret, forceRegisterEmail, forc
100
107
  res.end(urlState);
101
108
  s.close();
102
109
  abortCode.abort();
110
+ // The browser callback can finish while waitForOpen is still clearing
111
+ // its line. Let the login UI finish before the next request is traced.
112
+ if (res)
113
+ await uiFinished;
103
114
  clearTimeout(ts);
104
115
  resolve({
105
116
  token: response.access_token,
@@ -135,45 +146,48 @@ async function oauthServer(api, clientId, clientSecret, forceRegisterEmail, forc
135
146
  clearTimeout(ts);
136
147
  output_1.default.exitError(texts_1.ERR_LOGIN_HTTP_SERVER_PORT_TAKEN);
137
148
  });
138
- s.listen(OAUTH_CLIENT_APP_PORT, OAUTH_CLIENT_APP_HOST, async () => {
139
- let url = `https://${api}/oauth2/authorize?type=web_server&client_id=${encodeURIComponent(clientId)}&redirect_uri=${encodeURIComponent(redirectUrl)}&response_type=code&scope=${encodeURIComponent(OAUTH_CLIENT_APP_SCOPES.join(' '))}&state=${encodeURIComponent(state)}&code_challenge=${encodeURIComponent(codeChallenge)}&code_challenge_method=S256`;
140
- if (isRegister) {
141
- url += `&register_email=${encodeURIComponent(forceRegisterEmail)}&register_name=${encodeURIComponent(forceRegisterName)}`;
142
- }
143
- try {
144
- await open(url);
145
- }
146
- catch {
147
- // do nothing
148
- }
149
- await waitForOpen(isRegister, abortCode);
150
- if (abortCode.signal.aborted)
151
- return;
152
- output_1.default.dim(isRegister ? texts_1.TXT_REGISTER_OPEN_URL : texts_1.TXT_LOGIN_OPEN_URL);
153
- output_1.default.normal('');
154
- output_1.default.dim(url.replace(/%/g, '%%'));
155
- output_1.default.normal('');
156
- for (;;) {
149
+ s.listen(OAUTH_CLIENT_APP_PORT, OAUTH_CLIENT_APP_HOST, () => {
150
+ uiFinished = (async () => {
151
+ let url = `https://${api}/oauth2/authorize?type=web_server&client_id=${encodeURIComponent(clientId)}&redirect_uri=${encodeURIComponent(redirectUrl)}&response_type=code&scope=${encodeURIComponent(OAUTH_CLIENT_APP_SCOPES.join(' '))}&state=${encodeURIComponent(state)}&code_challenge=${encodeURIComponent(codeChallenge)}&code_challenge_method=S256`;
152
+ if (isRegister) {
153
+ url += `&register_email=${encodeURIComponent(forceRegisterEmail)}&register_name=${encodeURIComponent(forceRegisterName)}`;
154
+ }
157
155
  try {
158
- const code = await output_1.default.inputString(texts_1.TXT_LOGIN_PROVIDE_CODE, undefined, false, abortCode.signal);
159
- const success = await exchange(code, state);
160
- if (success) {
161
- clearTimeout(ts);
162
- break;
163
- }
156
+ await open(url);
157
+ }
158
+ catch {
159
+ // do nothing
164
160
  }
165
- catch (err) {
166
- if (err.name === 'AbortPromptError') {
167
- clearTimeout(ts);
168
- output_1.default.clearPreviousLine();
169
- break;
161
+ await waitForOpen(isRegister, abortCode, !!ApiClient.onRequestTrace);
162
+ if (abortCode.signal.aborted)
163
+ return;
164
+ output_1.default.dim(isRegister ? texts_1.TXT_REGISTER_OPEN_URL : texts_1.TXT_LOGIN_OPEN_URL);
165
+ output_1.default.normal('');
166
+ output_1.default.dim(url.replace(/%/g, '%%'));
167
+ output_1.default.normal('');
168
+ for (;;) {
169
+ try {
170
+ const code = await output_1.default.inputString(texts_1.TXT_LOGIN_PROVIDE_CODE, undefined, false, abortCode.signal);
171
+ const success = await exchange(code, state);
172
+ if (success) {
173
+ clearTimeout(ts);
174
+ break;
175
+ }
170
176
  }
171
- else if (err.name === 'ExitPromptError') {
172
- clearTimeout(ts);
173
- output_1.default.exitError(isRegister ? texts_1.ERR_REGISTER_HTTP_CANCEL : texts_1.ERR_LOGIN_HTTP_CANCEL);
177
+ catch (err) {
178
+ if (err.name === 'AbortPromptError') {
179
+ clearTimeout(ts);
180
+ if (!ApiClient.onRequestTrace)
181
+ output_1.default.clearPreviousLine();
182
+ break;
183
+ }
184
+ else if (err.name === 'ExitPromptError') {
185
+ clearTimeout(ts);
186
+ output_1.default.exitError(isRegister ? texts_1.ERR_REGISTER_HTTP_CANCEL : texts_1.ERR_LOGIN_HTTP_CANCEL);
187
+ }
174
188
  }
175
189
  }
176
- }
190
+ })();
177
191
  });
178
192
  });
179
193
  }
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const output_1 = __importDefault(require("../output"));
40
+ const input_1 = __importDefault(require("../input"));
40
41
  const cliError_1 = __importStar(require("../cliError"));
41
42
  const texts_1 = require("../texts");
42
43
  const pipeline_1 = require("../types/pipeline");
@@ -523,13 +524,64 @@ class OutputPipeline {
523
524
  const width = Number.isFinite(termWidth) && termWidth > 2 ? termWidth - 2 : 25;
524
525
  return output_1.default.getTermKitDimColor(` ${'—'.repeat(width)}`);
525
526
  }
526
- static _runActionsLogsHelp(identifier, runId) {
527
- return `${output_1.default.getTermKitDimColor(' To view action logs run: ')}${output_1.default.getTermKitMutedColor(`bdy pip run logs ${identifier} ${runId} <action-run-id>`)}`;
527
+ // Suggested commands are meant to be run verbatim, also by agents in another
528
+ // directory, so they pin the workspace, project and a non-default context the
529
+ // current command resolved - otherwise they could reach a same-named
530
+ // pipeline in a different project
531
+ static _scopeFlags(workspace, project) {
532
+ const context = input_1.default.contextName();
533
+ return ` -w ${workspace} -p ${project}${context && context !== 'default' ? ` --context ${context}` : ''}`;
528
534
  }
529
- static _jsonActionsLogsHelp(identifier, runId, actionRunId) {
535
+ static _runActionsLogsHelp(identifier, runId, flags) {
536
+ return `${output_1.default.getTermKitDimColor(' To view action logs run: ')}${output_1.default.getTermKitMutedColor(`bdy pip run logs ${identifier} ${runId} <action-run-id>${flags}`)}`;
537
+ }
538
+ // Follow-up commands for the state a run ended in: inspect or retry a
539
+ // failure, approve a waiting action, or keep polling a run still going
540
+ static _runNextCommands(identifier, run, failedLogs, flags) {
541
+ const ref = `${identifier} ${run.runId}`;
542
+ switch (run.status) {
543
+ case pipeline_1.PIPELINE_RUN_STATUS.FAILED:
544
+ case pipeline_1.PIPELINE_RUN_STATUS.TERMINATED:
545
+ return [
546
+ ...(failedLogs
547
+ ? []
548
+ : [`bdy pip run status ${ref}${flags} --failed-logs --no-wait`]),
549
+ `bdy pip run retry ${ref}${flags}`,
550
+ ];
551
+ case pipeline_1.PIPELINE_RUN_STATUS.WAITING_FOR_APPLY: {
552
+ const action = (run.actions || []).find((a) => a.status === pipeline_1.PIPELINE_RUN_STATUS.WAITING_FOR_APPLY);
553
+ return [
554
+ `bdy pip run approve ${ref} ${action?.runId || '<action-run-id>'}${flags}`,
555
+ ];
556
+ }
557
+ case pipeline_1.PIPELINE_RUN_STATUS.INITIAL:
558
+ case pipeline_1.PIPELINE_RUN_STATUS.ENQUEUED:
559
+ case pipeline_1.PIPELINE_RUN_STATUS.INPROGRESS:
560
+ case pipeline_1.PIPELINE_RUN_STATUS.TERMINATING:
561
+ case pipeline_1.PIPELINE_RUN_STATUS.WAITING_FOR_VARIABLES:
562
+ case pipeline_1.PIPELINE_RUN_STATUS.WAITING_FOR_SETTABLE_VARIABLES:
563
+ case pipeline_1.PIPELINE_RUN_STATUS.WAITING_FOR_VT_SESSION:
564
+ return [`bdy pip run status ${ref}${flags} --exit-code`];
565
+ default:
566
+ return [];
567
+ }
568
+ }
569
+ static _runNext(identifier, run, failedLogs, isJson, flags) {
570
+ const commands = this._runNextCommands(identifier, run, failedLogs, flags);
571
+ if (!commands.length)
572
+ return;
573
+ if (isJson) {
574
+ output_1.default.json({ type: 'next', commands });
575
+ return;
576
+ }
577
+ commands.forEach((command) => {
578
+ output_1.default.normal(`${output_1.default.getTermKitDimColor(` ${texts_1.TXT_PIPELINE_RUN_NEXT}`)}${output_1.default.getTermKitMutedColor(command)}`);
579
+ });
580
+ }
581
+ static _jsonActionsLogsHelp(identifier, runId, flags, actionRunId) {
530
582
  if (!actionRunId)
531
583
  actionRunId = '<action-run-id>';
532
- return `To view action logs run: \`bdy pip run logs ${identifier} ${runId} ${actionRunId} --format jsonl\``;
584
+ return `To view action logs run: \`bdy pip run logs ${identifier} ${runId} ${actionRunId}${flags} --format jsonl\``;
533
585
  }
534
586
  static _runDetailsFinished(status, finished, tabs) {
535
587
  if (finished &&
@@ -1179,22 +1231,22 @@ class OutputPipeline {
1179
1231
  static jsonInfo(message) {
1180
1232
  output_1.default.json({ type: 'info', message });
1181
1233
  }
1182
- static jsonAction(identifier, runId, action) {
1234
+ static jsonAction(identifier, runId, action, flags) {
1183
1235
  const a = {
1184
1236
  ...action,
1185
1237
  };
1186
1238
  if (action.runId && !a.logs) {
1187
- a.logs = this._jsonActionsLogsHelp(identifier, runId, action.runId);
1239
+ a.logs = this._jsonActionsLogsHelp(identifier, runId, flags, action.runId);
1188
1240
  }
1189
1241
  output_1.default.json({ type: 'action', action: a });
1190
1242
  }
1191
- static jsonRun(identifier, run) {
1243
+ static jsonRun(identifier, run, flags) {
1192
1244
  const r = {
1193
1245
  ...run,
1194
1246
  };
1195
1247
  (r.actions || []).forEach((a) => {
1196
1248
  if (a.runId && !a.logs) {
1197
- a.logs = this._jsonActionsLogsHelp(identifier, run.runId, a.runId);
1249
+ a.logs = this._jsonActionsLogsHelp(identifier, run.runId, flags, a.runId);
1198
1250
  }
1199
1251
  });
1200
1252
  output_1.default.json({ type: 'run', run: r });
@@ -1203,6 +1255,7 @@ class OutputPipeline {
1203
1255
  output_1.default.json({ type: 'log', log });
1204
1256
  }
1205
1257
  static async _runLogsNonInteractive(client, workspace, project, identifier, pipelineId, runId, runActionId, noWait, isJson, semanticExitCode = false) {
1258
+ const flags = this._scopeFlags(workspace, project);
1206
1259
  let action = null;
1207
1260
  let actionLogsStart = 0;
1208
1261
  let lastActionLogsStart = -1;
@@ -1235,7 +1288,7 @@ class OutputPipeline {
1235
1288
  const draw = (logs) => {
1236
1289
  if (!drawnStart && action) {
1237
1290
  if (isJson) {
1238
- this.jsonAction(identifier, runId, action);
1291
+ this.jsonAction(identifier, runId, action, flags);
1239
1292
  }
1240
1293
  else {
1241
1294
  output_1.default.normal(this._runDetailsHeader());
@@ -1290,7 +1343,7 @@ class OutputPipeline {
1290
1343
  if (logsEnd || (drawnStart && noWait && logs)) {
1291
1344
  if (isJson) {
1292
1345
  if (action)
1293
- this.jsonAction(identifier, runId, action);
1346
+ this.jsonAction(identifier, runId, action, flags);
1294
1347
  }
1295
1348
  else {
1296
1349
  if (logsEnd && action?.outputtedVariables.length) {
@@ -1347,9 +1400,11 @@ class OutputPipeline {
1347
1400
  }, false, semanticExitCode);
1348
1401
  }
1349
1402
  static async _runStatusNonInteractive(client, workspace, project, identifier, pipelineId, runId, noWait, noFollow, isJson, semanticExitCode = false, failedLogs = false) {
1403
+ const flags = this._scopeFlags(workspace, project);
1350
1404
  const finishRun = async (run) => {
1351
1405
  if (failedLogs)
1352
1406
  await this.failedActionLogs(client, workspace, project, pipelineId, run, isJson);
1407
+ this._runNext(identifier, run, failedLogs, isJson, flags);
1353
1408
  this._exitByStatus(isJson, run.status, semanticExitCode);
1354
1409
  };
1355
1410
  let run = null;
@@ -1423,7 +1478,7 @@ class OutputPipeline {
1423
1478
  totalFetchesCount += 1;
1424
1479
  if (!noFollow || noWait) {
1425
1480
  if (isJson)
1426
- this.jsonRun(identifier, run);
1481
+ this.jsonRun(identifier, run, flags);
1427
1482
  else
1428
1483
  draw(run);
1429
1484
  }
@@ -1435,7 +1490,7 @@ class OutputPipeline {
1435
1490
  // Even --no-follow must identify the run before reporting an unknown status.
1436
1491
  if (noFollow && !noWait) {
1437
1492
  if (isJson)
1438
- this.jsonRun(identifier, run);
1493
+ this.jsonRun(identifier, run, flags);
1439
1494
  else
1440
1495
  draw(run);
1441
1496
  }
@@ -1446,7 +1501,7 @@ class OutputPipeline {
1446
1501
  await finishRun(run);
1447
1502
  }, false, semanticExitCode);
1448
1503
  if (isJson) {
1449
- this.jsonRun(identifier, run);
1504
+ this.jsonRun(identifier, run, flags);
1450
1505
  }
1451
1506
  else {
1452
1507
  if (totalFetchesCount > 1 || noFollow) {
@@ -1486,7 +1541,7 @@ class OutputPipeline {
1486
1541
  }
1487
1542
  }
1488
1543
  output_1.default.normal(this._dimLine());
1489
- output_1.default.normal(this._runActionsLogsHelp(identifier, runId));
1544
+ output_1.default.normal(this._runActionsLogsHelp(identifier, runId, flags));
1490
1545
  }
1491
1546
  await finishRun(run);
1492
1547
  }
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const texts_1 = require("./texts");
40
40
  const utils_1 = require("./utils");
41
41
  const chalk_1 = __importDefault(require("chalk"));
42
+ const node_http_1 = require("node:http");
42
43
  const node_readline_1 = require("node:readline");
43
44
  const cliError_1 = __importStar(require("./cliError"));
44
45
  let _terminal = null;
@@ -52,6 +53,7 @@ function getTerminal() {
52
53
  class Output {
53
54
  static errorFormat = 'text';
54
55
  static errorExitCode = 1;
56
+ static inlineOutput = false;
55
57
  static s;
56
58
  static _a;
57
59
  static launchBrowser(url) {
@@ -185,6 +187,7 @@ class Output {
185
187
  }
186
188
  static newline() {
187
189
  getTerminal()('\n');
190
+ this.inlineOutput = false;
188
191
  }
189
192
  static muted(txt, newLine = true) {
190
193
  this.normal(this.getMutedColor(txt), newLine);
@@ -194,6 +197,7 @@ class Output {
194
197
  if (newLine)
195
198
  msg += '\n';
196
199
  getTerminal()(msg);
200
+ this.inlineOutput = !newLine;
197
201
  }
198
202
  static progress(quiet, output = this.normal.bind(this)) {
199
203
  return (txt, newLine = true, replacePrevious = false) => {
@@ -210,6 +214,7 @@ class Output {
210
214
  // chunk boundaries out of the payload.
211
215
  static data(txt, newLine = true) {
212
216
  process.stdout.write(newLine ? `${txt}\n` : txt);
217
+ this.inlineOutput = !newLine;
213
218
  }
214
219
  static examples(command, examples, format) {
215
220
  if (format === 'json')
@@ -239,6 +244,49 @@ class Output {
239
244
  static noteWarning(txt) {
240
245
  this.writeStderr(this.getYellowColor(txt));
241
246
  }
247
+ static apiTrace(event) {
248
+ if (this.inlineOutput && process.stdout.isTTY && process.stderr.isTTY) {
249
+ process.stderr.write('\n');
250
+ this.inlineOutput = false;
251
+ }
252
+ const color = (value, tone) => process.stderr.isTTY ? chalk_1.default[tone](value) : value;
253
+ const url = new URL(event.path, 'https://api.invalid');
254
+ const segments = url.pathname.split('/');
255
+ for (let i = 1; i < segments.length; i += 1) {
256
+ if (/^(token|secret|password|api[-_]?key|credential)s?$/i.test(segments[i - 1])) {
257
+ segments[i] = '[redacted]';
258
+ }
259
+ }
260
+ const safePath = segments.join('/');
261
+ if (event.kind === 'request') {
262
+ const safeQuery = new URLSearchParams();
263
+ for (const [key, value] of url.searchParams) {
264
+ if (['page', 'per_page', 'offset', 'limit'].includes(key) && /^\d+$/.test(value))
265
+ safeQuery.append(key, value);
266
+ }
267
+ for (const [key, value] of Object.entries(event.query || {})) {
268
+ if (['page', 'per_page', 'offset', 'limit'].includes(key) && /^\d+$/.test(value))
269
+ safeQuery.set(key, value);
270
+ }
271
+ const suffix = safeQuery.size ? `?${safeQuery}` : '';
272
+ const attempt = event.attempt > 1 ? ` (attempt ${event.attempt}/${event.maxAttempts})` : '';
273
+ this.writeStderr(` ${color('→', 'cyan')} ${event.method} ${safePath}${suffix}${attempt}`);
274
+ return;
275
+ }
276
+ if (event.kind === 'response') {
277
+ const status = event.status || 0;
278
+ const tone = status >= 500 ? 'red' : status >= 400 ? 'yellow' : 'green';
279
+ this.writeStderr(` ${color('←', tone)} ${event.method} ${safePath} · ${color(`${status} ${node_http_1.STATUS_CODES[status] || ''}`.trim(), tone)} · ${event.durationMs} ms`);
280
+ return;
281
+ }
282
+ if (event.kind === 'network_error') {
283
+ this.writeStderr(` ${color('←', 'red')} connection error${event.errorCode ? ` (${event.errorCode})` : ''} · ${event.durationMs} ms`);
284
+ return;
285
+ }
286
+ const delay = event.retryMs || 0;
287
+ const wait = delay >= 1000 ? `${delay / 1000} s` : `${delay} ms`;
288
+ this.writeStderr(` ${color('↻', 'yellow')} retry in ${wait} (attempt ${event.attempt + 1}/${event.maxAttempts})`);
289
+ }
242
290
  static gray(txt, newLine = true) {
243
291
  this.normal(this.getMutedColor(txt), newLine);
244
292
  }
@@ -441,14 +489,18 @@ class Output {
441
489
  if (this.isStdInTTY()) {
442
490
  const prompts = require('@inquirer/prompts');
443
491
  try {
444
- return await prompts.input({
492
+ this.inlineOutput = true;
493
+ const value = await prompts.input({
445
494
  required,
446
495
  message,
447
496
  default: def,
448
497
  theme: this.getInquirerTheme(),
449
498
  }, { signal });
499
+ this.inlineOutput = true;
500
+ return value;
450
501
  }
451
502
  catch (err) {
503
+ this.inlineOutput = true;
452
504
  if (err.name === 'AbortPromptError')
453
505
  throw err;
454
506
  this.exitError(texts_1.ERR_CANCELLED);
@@ -4,10 +4,10 @@ exports.ERR_AGENT_NOT_REGISTERED = exports.ERR_SANDBOX_BOOT_SCRIPT_NOT_EXISTS =
4
4
  exports.ERR_NOT_FOUND = exports.ERR_FAILED_TO_CONNECT_TO_AGENT = exports.ERR_TUNNEL_REMOVED = exports.ERR_TUNNELS_DISABLED = exports.ERR_AGENT_LIMIT_REACHED = exports.ERR_TUNNEL_TARGET_INVALID = exports.ERR_WORKSPACE_FLAGGED = exports.ERR_TUNNEL_LIMIT_REACHED = exports.ERR_DOMAIN_RESTRICTED = exports.ERR_AGENT_REMOVED = exports.ERR_FAILED_TO_CONNECT = exports.ERR_TUNNEL_ALREADY_EXISTS = exports.ERR_AGENT_NOT_SUPPORTED = exports.TXT_AGENT_APP_INSTALL_ORPHANED = exports.ERR_AGENT_APP_INSTALL_PRESENT = exports.ERR_AGENT_CONFIG_UNREADABLE = exports.ERR_AGENT_PORT_TAKEN = exports.ERR_AGENT_USER_UNKNOWN = exports.ERR_AGENT_DIR_REPLACED = exports.ERR_AGENT_ADMIN_RIGHTS = exports.ERR_SWW_AGENT_UPDATING = exports.ERR_SWW_AGENT_ENABLING = exports.ERR_AGENT_TAG_INVALID = exports.ERR_AGENT_NOT_FOUND = exports.ERR_AGENT_NOT_RUNNING = exports.ERR_AGENT_IS_NOT_SERVICE = exports.ERR_AGENT_NOT_INSTALLED = exports.ERR_TUNNEL_NOT_FOUND = exports.ERR_WHITELIST_IS_NOT_VALID = exports.ERR_USER_AGENT_IS_NOT_VALID = exports.ERR_BA_IS_NOT_VALID = exports.ERR_BA_LOGIN_NOT_PROVIDED = exports.ERR_BA_PASSWORD_NOT_PROVIDED = exports.ERR_CB_THRESHOLD_IS_NOT_VALID = exports.ERR_CERT_PATH_IS_NOT_VALID = exports.ERR_KEY_PATH_IS_NOT_VALID = exports.ERR_CA_PATH_IS_NOT_VALID = exports.ERR_WRONG_CA = exports.ERR_WRONG_KEY_CERT = exports.ERR_NAME_WITHOUT_ASTERISK = exports.ERR_PORT_IS_NOT_VALID = exports.ERR_REGION_IS_NOT_VALID = exports.ERR_SERVE_PATH_NOT_PROVIDED = exports.ERR_PATH_IS_NOT_DIRECTORY = exports.ERR_DIRECTORY_DOES_NOT_EXISTS = exports.ERR_TERMINATE_IS_NOT_VALID = exports.ERR_TIMEOUT_IS_NOT_VALID = exports.ERR_TYPE_IS_NOT_VALID = exports.ERR_TARGET_IS_NOT_VALID = exports.ERR_SAVING_AGENT_CONFIG = void 0;
5
5
  exports.TXT_AGENT_PROXY_DISABLED = exports.TXT_AGENT_PROXY_ENABLED = exports.TXT_AGENT_TARGET_DISABLED = exports.TXT_AGENT_TARGET_ENABLED = exports.TXT_AGENT_RESTARTED = exports.TXT_AGENT_DEBUG_OFF = exports.TXT_AGENT_DEBUG_ON = exports.TXT_AGENT_USER_CHANGED = exports.TXT_AGENT_STARTED = exports.TXT_AGENT_STOPPED = exports.WARN_BROWSER_VERSION = exports.ERR_RESOURCE_DISCOVERY = exports.ERR_NO_SNAPSHOTS_TO_SEND = exports.ERR_INVALID_SNAPSHOT = exports.ERR_TEST_EXECUTION = exports.ERR_INVALID_JSON = exports.ERR_INVALID_DOWNLOAD_RESPONSE = exports.ERR_INVALID_CRAWL_RESPONSE = exports.ERR_INVALID_COMPARE_LINKS_RESPONSE = exports.ERR_INVALID_STORYBOOK_RESPONSE = exports.ERR_INVALID_DEFAULT_SETTINGS_RESPONSE = exports.ERR_INVALID_CLOSE_SESSION_RESPONSE = exports.ERR_INVALID_SNAPSHOTS_RESPONSE = exports.ERR_INVALID_SNAPSHOT_RESPONSE = exports.ERR_MISSING_URLS = exports.ERR_RESOURCE_NOT_FOUND = exports.ERR_MISSING_EXEC_COMMAND = exports.ERR_PARSING_STORIES = exports.ERR_UNSUPPORTED_STORYBOOK = exports.ERR_MISSING_STORYBOOK_INDEX_FILE = exports.ERR_WRONG_STORYBOOK_DIRECTORY = exports.ERR_MISSING_BUILD_ID = exports.ERR_MISSING_UT_TOKEN = exports.ERR_MISSING_CRAWL_TOKEN = exports.ERR_MISSING_VT_TOKEN = exports.ERR_CONFIG_CORRUPTED = exports.ERR_WRONG_TOKEN = exports.ERR_TOKEN_NOT_PROVIDED = exports.ERR_CANT_CREATE_DIR_IN_HOME = exports.ERR_CONNECTION_ERROR = exports.ERR_CONNECTION_TIMEOUT = exports.ERR_WRONG_STREAM = exports.ERR_WRONG_HANDSHAKE = exports.ERR_FETCH_VERSION = exports.ERR_ARTIFACT_DOWNLOAD_REPLACE = exports.ERR_ARTIFACT_DOWNLOAD_NOT_EMPTY_DIR = exports.ERR_ARTIFACT_DOWNLOAD_IS_FILE = exports.ERR_ARTIFACT_DOWNLOAD_READDIR = exports.ERR_ARTIFACT_DOWNLOAD_MKDIR = exports.ERR_SWW = void 0;
6
6
  exports.DESC_COMMAND_AGENT_TUNNEL_REMOVE = exports.DESC_COMMAND_AGENT_TUNNEL_STATUS = exports.DESC_COMMAND_AGENT_TUNNEL_LIST = exports.DESC_COMMAND_CONFIG_SET = exports.DESC_COMMAND_CONFIG_REMOVE = exports.DESC_COMMAND_CONFIG_GET = exports.DESC_COMMAND_CONFIG_ADD = exports.DESC_COMMAND_CONFIG_SET_WHITELIST = exports.DESC_COMMAND_CONFIG_SET_TOKEN = exports.DESC_COMMAND_CONFIG_SET_TIMEOUT = exports.DESC_COMMAND_CONFIG_SET_REGION = exports.DESC_COMMAND_CONFIG_REMOVE_TOKEN = exports.DESC_COMMAND_CONFIG_REMOVE_TUNNEL = exports.DESC_COMMAND_CONFIG_GET_WHITELIST = exports.DESC_COMMAND_CONFIG_GET_TUNNELS = exports.DESC_COMMAND_CONFIG_GET_TUNNEL = exports.DESC_COMMAND_CONFIG_GET_TOKEN = exports.DESC_COMMAND_CONFIG_GET_TIMEOUT = exports.DESC_COMMAND_CONFIG_GET_REGION = exports.DESC_COMMAND_CONFIG_ADD_TLS = exports.DESC_COMMAND_CONFIG_ADD_TCP = exports.DESC_COMMAND_CONFIG_ADD_HTTP = exports.AGENT_FETCH_RETRY = exports.NO_TUNNELS_STARTED = exports.TXT_AGENT_STANDALONE_EXITING = exports.TXT_AGENT_STANDALONE_STARTED = exports.TXT_AGENT_STANDALONE_AGENT_REGISTER_ERROR = exports.TXT_AGENT_STANDALONE_AGENT_REGISTERED = exports.TXT_AGENT_STANDALONE_AGENT_REGISTERING = exports.TXT_AGENT_STANDALONE_AGENT_FETCH_ERROR = exports.TXT_AGENT_STANDALONE_AGENT_FETCHED = exports.TXT_AGENT_STANDALONE_AGENT_FETCHING = exports.TXT_TUNNEL_ADDED = exports.TXT_TUNNEL_REMOVED = exports.TXT_REGION_SAVED = exports.TXT_TIMEOUT_SAVED = exports.TXT_TOKEN_REMOVED = exports.TXT_TOKEN_SAVED = exports.TXT_WHITELIST_SAVED = exports.TXT_TUNNEL_STOPPED = exports.TXT_TUNNEL_STARTED = exports.TXY_AGENT_CONFIRM_DELETE = exports.TXT_AGENT_DISABLED = exports.TXT_AGENT_ALREADY_INSTALLED = exports.TXT_AGENT_UPDATED = exports.TXT_AGENT_INSTALLED = exports.TXT_AGENT_NO_TAGS = exports.TXT_AGENT_TAGS_SET = exports.TXT_AGENT_TUNNELING_DISABLED = exports.TXT_AGENT_TUNNELING_ENABLED = void 0;
7
- exports.DESC_COMMAND_PIPELINE_RUN_CANCEL = exports.DESC_COMMAND_PIPELINE_RUN_LOGS = exports.DESC_COMMAND_PIPELINE_RUN_STATUS = exports.DESC_COMMAND_PIPELINE_RUN_START = exports.DESC_COMMAND_PIPELINE_RUN = exports.DESC_COMMAND_ARTIFACT_DOWNLOAD = exports.DESC_COMMAND_ARTIFACT_PUBLISH = exports.DESC_COMMAND_ARTIFACT_VERSION_CREATE = exports.DESC_COMMAND_ARTIFACT = exports.DESC_COMMAND_PIPELINE = exports.ERR_COMMAND_NOT_FOUND = exports.DESC_PROGRAM = exports.DESC_COMMAND_TLS = exports.DESC_COMMAND_TCP = exports.DESC_COMMAND_START = exports.DESC_COMMAND_TUNNEL = exports.DESC_COMMAND_AGENT = exports.DESC_COMMAND_HTTP = exports.DESC_COMMAND_CONFIG = exports.DESC_COMMAND_AGENT_VERSION = exports.DESC_COMMAND_AGENT_USER = exports.DESC_COMMAND_AGENT_UPDATE = exports.OPT_COMMAND_AGENT_TAGS_SET = exports.DESC_COMMAND_AGENT_TAGS_SET = exports.DESC_COMMAND_AGENT_TAGS_GET = exports.DESC_COMMAND_AGENT_TAGS = exports.DESC_COMMAND_AGENT_PROXY = exports.DESC_COMMAND_AGENT_TARGET = exports.DESC_COMMAND_AGENT_TUNNEL_START = exports.DESC_COMMAND_AGENT_TUNNEL_TLS = exports.DESC_COMMAND_AGENT_TUNNEL_TCP = exports.DESC_COMMAND_AGENT_TUNNEL_HTTP = exports.DESC_COMMAND_AGENT_TUNNEL = exports.DESC_COMMAND_AGENT_STOP = exports.DESC_COMMAND_AGENT_PROXY_DISABLE = exports.DESC_COMMAND_AGENT_TARGET_DISABLE = exports.DESC_COMMAND_AGENT_TUNNELING_DISABLE = exports.DESC_COMMAND_AGENT_TUNNELING_ENABLE = exports.DESC_COMMAND_AGENT_PROXY_ENABLE = exports.DESC_COMMAND_AGENT_TARGET_ENABLE = exports.DESC_COMMAND_AGENT_PROXY_STATUS = exports.DESC_COMMAND_AGENT_TARGET_STATUS = exports.DESC_COMMAND_AGENT_STATUS = exports.DESC_COMMAND_AGENT_RESTART = exports.DESC_COMMAND_AGENT_ENABLE = exports.DESC_COMMAND_AGENT_DEBUG = exports.DESC_COMMAND_AGENT_DISABLE = exports.DESC_COMMAND_AGENT_START = exports.DESC_COMMAND_AGENT_INSTALL = exports.DESC_COMMAND_AGENT_UNINSTALL = void 0;
8
- exports.TXT_ENABLING_AGENT = exports.TXT_NEW_AGENT_VERSION = exports.TXT_NEW_CLI_DOCKER_VERSION = exports.OPTION_UPLOAD_DRY_RUN = exports.OPTION_UPLOAD_REPORT_FORMAT = exports.OPTION_UPLOAD_REPORT_GLOB = exports.TXT_COMMAND_SUITE_CREATED = exports.TXT_COMMAND_SUITE_NAME = exports.TXT_COMMAND_SUITE_LINK_EXISTING_DESC = exports.TXT_COMMAND_SUITE_LINK_EXISTING = exports.TXT_COMMAND_SUITE_CREATE_NEW_UT_DESC = exports.TXT_COMMAND_SUITE_CREATE_NEW_CRAWL_DESC = exports.TXT_COMMAND_SUITE_CREATE_NEW_VT_DESC = exports.TXT_COMMAND_SUITE_CREATE_NEW = exports.TXT_COMMAND_SUITE_SELECT = exports.ERR_NO_UT_SUITES = exports.ERR_NO_CRAWL_SUITES = exports.ERR_NO_VT_SUITES = exports.TXT_COMMAND_UT_LINK_SUCCESS = exports.TXT_COMMAND_CRAWL_LINK_SUCCESS = exports.TXT_COMMAND_VT_LINK_SUCCESS = exports.TXT_COMMAND_UT_LINK_SELECT = exports.TXT_COMMAND_CRAWL_LINK_SELECT = exports.TXT_COMMAND_VT_LINK_SELECT = exports.OPTION_STORYBOOK_DIRECTORY = exports.OPTION_SUITE_IDENTIFIER = exports.DESC_COMMAND_UT_LINK = exports.DESC_COMMAND_CRAWL_LINK = exports.DESC_COMMAND_VT_LINK = exports.DESC_COMMAND_UT_UPLOAD = exports.DESC_COMMAND_CRAWL_RUN = exports.DESC_COMMAND_CRAWL = exports.DESC_COMMAND_CAPTURE = exports.DESC_COMMAND_VISUAL_UPLOAD = exports.DESC_COMMAND_VISUAL_SETUP = exports.DESC_COMMAND_SESSION_CLOSE = exports.DESC_COMMAND_SESSION_CREATE = exports.DESC_COMMAND_SESSION = exports.DESC_COMMAND_VISUAL = exports.DESC_COMMAND_UNIT = exports.DESC_COMMAND_TESTS = exports.DESC_COMMAND_PIPELINE_RUN_RETRY = exports.DESC_COMMAND_PIPELINE_GET = exports.DESC_COMMAND_PIPELINE_UPDATE = exports.DESC_COMMAND_PIPELINE_DELETE = exports.DESC_COMMAND_PIPELINE_CREATE = exports.DESC_COMMAND_PIPELINE_YAML = exports.DESC_COMMAND_PIPELINE_LIST = exports.DESC_COMMAND_PIPELINE_RUN_LIST = exports.DESC_COMMAND_PIPELINE_RUN_APPLY = void 0;
9
- exports.OPTION_PIPELINE_RUN_ENVIRONMENT = exports.OPTION_PIPELINE_RUN_DELAY = exports.OPTION_PIPELINE_RUN_PAYLOAD = exports.ERR_RUN_PAYLOAD_TOO_MANY_FILES = exports.ERR_RUN_PAYLOAD_NOT_UPLOADED = exports.ERR_RUN_PAYLOAD_TOO_LARGE = exports.ERR_RUN_PAYLOAD_NO_ENTRIES = exports.ERR_RUN_VAR_FILE_INVALID = exports.ERR_RUN_VAR_FILE_NOT_FOUND = exports.OPTION_RUN_SINGLE_VAR_FILE = exports.OPTION_RUN_VAR_FILE = exports.OPTION_RUN_VAR = exports.OPTION_PIPELINE_RUN_PRIORITY = exports.OPTION_PIPELINE_RUN_CLEAR_CACHE = exports.OPTION_PIPELINE_RUN_REFRESH = exports.OPTION_PIPELINE_RUN_COMMENT = exports.OPTION_PIPELINE_RUN_PULL_REQUEST = exports.OPTION_PIPELINE_RUN_REVISION = exports.OPTION_PIPELINE_RUN_TAG = exports.OPTION_PIPELINE_RUN_BRANCH = exports.OPTION_REST_API_REGION = exports.OPTION_REST_API_ENDPOINT = exports.OPTION_DEFAULT_REGION = exports.OPTION_REGION = exports.TXT_ARTIFACT_UNZIPPING_COUNT = exports.TXT_ARTIFACT_UNZIPPED = exports.TXT_ARTIFACT_UNZIPPING = exports.TXT_ARTIFACT_DOWNLOADED_ZIP = exports.TXT_ARTIFACT_DOWNLOADING_ZIP = exports.TXT_ARTIFACT_DOWNLOADED = exports.TXT_ARTIFACT_IGNORED_ENTRIES = exports.TXT_ARTIFACT_ENTRIES_FOUND = exports.TXT_ARTIFACT_UPLOADED = exports.TXT_ARTIFACT_UPLOADING = exports.TXT_ARTIFACT_ZIPPED = exports.TXT_ARTIFACT_ZIP_ENTRIES = exports.TXT_ARTIFACT_ONE_ENTRY_FOUND = exports.TXT_ARTIFACT_NO_ENTRIES_FOUND = exports.TXT_ARTIFACT_SCANNING_DIR = exports.TXT_ARTIFACT_README_NOT_FOUND = exports.TXT_ARTIFACT_README_TOO_LARGE = exports.TXT_ARTIFACT_README_FOUND = exports.ERR_ARTIFACT_COMPOSER_NAME_MISMATCH = exports.ERR_ARTIFACT_COMPOSER_VERSION_MISSING = exports.ERR_ARTIFACT_README_OUTSIDE = exports.ERR_ARTIFACT_COMPOSER_INVALID = exports.ERR_ARTIFACT_COMPOSER_NOT_FOUND = exports.TXT_STORIES_AMOUNT = exports.TXT_OPENING_TUNNEL = exports.TXT_UPDATING_AGENT = void 0;
10
- exports.OPTION_REST_API_PER_PAGE = exports.OPTION_REST_API_PAGE = exports.OPTION_REST_API_PROJECT = exports.OPTION_REST_API_WORKSPACE = exports.OPTION_FORMAT_JSONL = exports.OPTION_FORMAT = exports.HELP_COMMAND_DISCOVER = exports.DISCOVERY_TIPS = exports.EXAMPLE_DISCOVER = exports.TXT_DISCOVER_COMMAND_HINT = exports.ERR_DISCOVER_UNKNOWN_COMMAND = exports.OPTION_DISCOVER_FULL = exports.OPTION_DISCOVER_COMMAND = exports.DESC_COMMAND_DISCOVER = exports.OPTION_EXAMPLES = exports.TXT_COMMAND_EXAMPLES = exports.DESC_COMMAND_UPDATE = exports.OPTION_VERSION = exports.OPTION_PIPELINE_RUN_NO_FOLLOW = exports.ERR_PIPELINE_RUN_STATUS_UNKNOWN = exports.TXT_TARGET_EXEC_RECOVERY = exports.ERR_EXEC_STATUS_UNKNOWN = exports.OPTION_EXEC_FORMAT_JSON = exports.OPTION_EXEC_FORMAT_JSONL = exports.OPTION_EXEC_EXIT_CODE = exports.OPTION_PIPELINE_RUN_NO_WAIT = exports.OPTION_PIPELINE_RUN_ACTION = exports.OPTION_REST_API_TOKEN = exports.OPTION_ARTIFACT_DOWNLOAD_REPLACE = exports.OPTION_ARTIFACT_DOWNLOAD_MERGE = exports.OPTION_ARTIFACT_IGNORE = exports.OPTION_ARTIFACT_PUBLISH_OVERWRITE_VERSION = exports.OPTION_ARTIFACT_VERSION_AGENT_NOTE = exports.OPTION_ARTIFACT_VERSION_NOTE = exports.OPTION_ARTIFACT_VERSION_FROM = exports.OPTION_ARTIFACT_PUBLISH_CREATE = exports.OPTION_ARTIFACT_ID = exports.OPTION_ARTIFACT_DOWNLOAD_PATH = exports.OPTION_ARTIFACT_PUBLISH_PATH = exports.OPTION_ARTIFACT_COMPOSE_PUBLISH_PATH = exports.OPTION_PIPELINE_RUN_ACTION_ID = exports.OPTION_PIPELINE_RUN_ID = exports.OPTION_PIPELINE_YAML = exports.TXT_PIPELINE_DELETED = exports.TXT_PIPELINE_DELETE_CONFIRM = exports.TXT_PIPELINE_UPDATED = exports.TXT_PIPELINE_CREATED = exports.OPTION_PIPELINE_NAME = exports.OPTION_PIPELINE_IDENTIFIER = exports.OPTION_PIPELINE_RUN_ARTIFACT = void 0;
7
+ exports.DESC_COMMAND_PIPELINE_RUN_APPLY = exports.DESC_COMMAND_PIPELINE_RUN_CANCEL = exports.DESC_COMMAND_PIPELINE_RUN_LOGS = exports.DESC_COMMAND_PIPELINE_RUN_STATUS = exports.DESC_COMMAND_PIPELINE_RUN_START = exports.DESC_COMMAND_PIPELINE_RUN = exports.DESC_COMMAND_ARTIFACT_DOWNLOAD = exports.DESC_COMMAND_ARTIFACT_PUBLISH = exports.DESC_COMMAND_ARTIFACT_VERSION_CREATE = exports.DESC_COMMAND_ARTIFACT = exports.DESC_COMMAND_PIPELINE = exports.DESC_PROGRAM = exports.DESC_COMMAND_TLS = exports.DESC_COMMAND_TCP = exports.DESC_COMMAND_START = exports.DESC_COMMAND_TUNNEL = exports.DESC_COMMAND_AGENT = exports.DESC_COMMAND_HTTP = exports.DESC_COMMAND_CONFIG = exports.DESC_COMMAND_AGENT_VERSION = exports.DESC_COMMAND_AGENT_USER = exports.DESC_COMMAND_AGENT_UPDATE = exports.OPT_COMMAND_AGENT_TAGS_SET = exports.DESC_COMMAND_AGENT_TAGS_SET = exports.DESC_COMMAND_AGENT_TAGS_GET = exports.DESC_COMMAND_AGENT_TAGS = exports.DESC_COMMAND_AGENT_PROXY = exports.DESC_COMMAND_AGENT_TARGET = exports.DESC_COMMAND_AGENT_TUNNEL_START = exports.DESC_COMMAND_AGENT_TUNNEL_TLS = exports.DESC_COMMAND_AGENT_TUNNEL_TCP = exports.DESC_COMMAND_AGENT_TUNNEL_HTTP = exports.DESC_COMMAND_AGENT_TUNNEL = exports.DESC_COMMAND_AGENT_STOP = exports.DESC_COMMAND_AGENT_PROXY_DISABLE = exports.DESC_COMMAND_AGENT_TARGET_DISABLE = exports.DESC_COMMAND_AGENT_TUNNELING_DISABLE = exports.DESC_COMMAND_AGENT_TUNNELING_ENABLE = exports.DESC_COMMAND_AGENT_PROXY_ENABLE = exports.DESC_COMMAND_AGENT_TARGET_ENABLE = exports.DESC_COMMAND_AGENT_PROXY_STATUS = exports.DESC_COMMAND_AGENT_TARGET_STATUS = exports.DESC_COMMAND_AGENT_STATUS = exports.DESC_COMMAND_AGENT_RESTART = exports.DESC_COMMAND_AGENT_ENABLE = exports.DESC_COMMAND_AGENT_DEBUG = exports.DESC_COMMAND_AGENT_DISABLE = exports.DESC_COMMAND_AGENT_START = exports.DESC_COMMAND_AGENT_INSTALL = exports.DESC_COMMAND_AGENT_UNINSTALL = void 0;
8
+ exports.TXT_UPDATING_AGENT = exports.TXT_ENABLING_AGENT = exports.TXT_NEW_AGENT_VERSION = exports.TXT_NEW_CLI_DOCKER_VERSION = exports.OPTION_UPLOAD_DRY_RUN = exports.OPTION_UPLOAD_REPORT_FORMAT = exports.OPTION_UPLOAD_REPORT_GLOB = exports.TXT_COMMAND_SUITE_CREATED = exports.TXT_COMMAND_SUITE_NAME = exports.TXT_COMMAND_SUITE_LINK_EXISTING_DESC = exports.TXT_COMMAND_SUITE_LINK_EXISTING = exports.TXT_COMMAND_SUITE_CREATE_NEW_UT_DESC = exports.TXT_COMMAND_SUITE_CREATE_NEW_CRAWL_DESC = exports.TXT_COMMAND_SUITE_CREATE_NEW_VT_DESC = exports.TXT_COMMAND_SUITE_CREATE_NEW = exports.TXT_COMMAND_SUITE_SELECT = exports.ERR_NO_UT_SUITES = exports.ERR_NO_CRAWL_SUITES = exports.ERR_NO_VT_SUITES = exports.TXT_COMMAND_UT_LINK_SUCCESS = exports.TXT_COMMAND_CRAWL_LINK_SUCCESS = exports.TXT_COMMAND_VT_LINK_SUCCESS = exports.TXT_COMMAND_UT_LINK_SELECT = exports.TXT_COMMAND_CRAWL_LINK_SELECT = exports.TXT_COMMAND_VT_LINK_SELECT = exports.OPTION_STORYBOOK_DIRECTORY = exports.OPTION_SUITE_IDENTIFIER = exports.DESC_COMMAND_UT_LINK = exports.DESC_COMMAND_CRAWL_LINK = exports.DESC_COMMAND_VT_LINK = exports.DESC_COMMAND_UT_UPLOAD = exports.DESC_COMMAND_CRAWL_RUN = exports.DESC_COMMAND_CRAWL = exports.DESC_COMMAND_CAPTURE = exports.DESC_COMMAND_VISUAL_UPLOAD = exports.DESC_COMMAND_VISUAL_SETUP = exports.DESC_COMMAND_SESSION_CLOSE = exports.DESC_COMMAND_SESSION_CREATE = exports.DESC_COMMAND_SESSION = exports.DESC_COMMAND_VISUAL = exports.DESC_COMMAND_UNIT = exports.DESC_COMMAND_TESTS = exports.DESC_COMMAND_PIPELINE_RUN_RETRY = exports.DESC_COMMAND_PIPELINE_GET = exports.DESC_COMMAND_PIPELINE_UPDATE = exports.DESC_COMMAND_PIPELINE_DELETE = exports.DESC_COMMAND_PIPELINE_CREATE = exports.DESC_COMMAND_PIPELINE_YAML = exports.DESC_COMMAND_PIPELINE_LIST = exports.DESC_COMMAND_PIPELINE_RUN_LIST = void 0;
9
+ exports.OPTION_PIPELINE_RUN_ARTIFACT = exports.OPTION_PIPELINE_RUN_ENVIRONMENT = exports.OPTION_PIPELINE_RUN_DELAY = exports.OPTION_PIPELINE_RUN_PAYLOAD = exports.ERR_RUN_PAYLOAD_TOO_MANY_FILES = exports.ERR_RUN_PAYLOAD_NOT_UPLOADED = exports.ERR_RUN_PAYLOAD_TOO_LARGE = exports.ERR_RUN_PAYLOAD_NO_ENTRIES = exports.ERR_RUN_VAR_FILE_INVALID = exports.ERR_RUN_VAR_FILE_NOT_FOUND = exports.OPTION_RUN_SINGLE_VAR_FILE = exports.OPTION_RUN_VAR_FILE = exports.OPTION_RUN_VAR = exports.OPTION_PIPELINE_RUN_PRIORITY = exports.OPTION_PIPELINE_RUN_CLEAR_CACHE = exports.OPTION_PIPELINE_RUN_REFRESH = exports.OPTION_PIPELINE_RUN_COMMENT = exports.OPTION_PIPELINE_RUN_PULL_REQUEST = exports.OPTION_PIPELINE_RUN_REVISION = exports.OPTION_PIPELINE_RUN_TAG = exports.OPTION_PIPELINE_RUN_BRANCH = exports.OPTION_REST_API_REGION = exports.OPTION_REST_API_ENDPOINT = exports.OPTION_DEFAULT_REGION = exports.OPTION_REGION = exports.TXT_ARTIFACT_UNZIPPING_COUNT = exports.TXT_ARTIFACT_UNZIPPED = exports.TXT_ARTIFACT_UNZIPPING = exports.TXT_ARTIFACT_DOWNLOADED_ZIP = exports.TXT_ARTIFACT_DOWNLOADING_ZIP = exports.TXT_ARTIFACT_DOWNLOADED = exports.TXT_ARTIFACT_IGNORED_ENTRIES = exports.TXT_ARTIFACT_ENTRIES_FOUND = exports.TXT_ARTIFACT_UPLOADED = exports.TXT_ARTIFACT_UPLOADING = exports.TXT_ARTIFACT_ZIPPED = exports.TXT_ARTIFACT_ZIP_ENTRIES = exports.TXT_ARTIFACT_ONE_ENTRY_FOUND = exports.TXT_ARTIFACT_NO_ENTRIES_FOUND = exports.TXT_ARTIFACT_SCANNING_DIR = exports.TXT_ARTIFACT_README_NOT_FOUND = exports.TXT_ARTIFACT_README_TOO_LARGE = exports.TXT_ARTIFACT_README_FOUND = exports.ERR_ARTIFACT_COMPOSER_NAME_MISMATCH = exports.ERR_ARTIFACT_COMPOSER_VERSION_MISSING = exports.ERR_ARTIFACT_README_OUTSIDE = exports.ERR_ARTIFACT_COMPOSER_INVALID = exports.ERR_ARTIFACT_COMPOSER_NOT_FOUND = exports.TXT_STORIES_AMOUNT = exports.TXT_OPENING_TUNNEL = void 0;
10
+ exports.OPTION_REST_API_PER_PAGE = exports.OPTION_REST_API_PAGE = exports.OPTION_REST_API_PROJECT = exports.OPTION_REST_API_WORKSPACE = exports.OPTION_VERBOSE = exports.OPTION_FORMAT_JSONL = exports.OPTION_FORMAT = exports.HELP_COMMAND_DISCOVER = exports.DISCOVERY_TIPS = exports.EXAMPLE_DISCOVER = exports.TXT_DISCOVER_COMMAND_HINT = exports.ERR_DISCOVER_UNKNOWN_COMMAND = exports.OPTION_DISCOVER_FULL = exports.OPTION_DISCOVER_COMMAND = exports.DESC_COMMAND_DISCOVER = exports.OPTION_EXAMPLES = exports.TXT_COMMAND_EXAMPLES = exports.DESC_COMMAND_UPDATE = exports.OPTION_VERSION = exports.OPTION_PIPELINE_RUN_NO_FOLLOW = exports.ERR_PIPELINE_RUN_STATUS_UNKNOWN = exports.TXT_TARGET_EXEC_RECOVERY = exports.ERR_EXEC_STATUS_UNKNOWN = exports.OPTION_EXEC_FORMAT_JSON = exports.OPTION_EXEC_FORMAT_JSONL = exports.OPTION_EXEC_EXIT_CODE = exports.OPTION_PIPELINE_RUN_NO_WAIT = exports.OPTION_PIPELINE_RUN_ACTION = exports.OPTION_REST_API_TOKEN = exports.OPTION_ARTIFACT_DOWNLOAD_REPLACE = exports.OPTION_ARTIFACT_DOWNLOAD_MERGE = exports.OPTION_ARTIFACT_IGNORE = exports.OPTION_ARTIFACT_PUBLISH_OVERWRITE_VERSION = exports.OPTION_ARTIFACT_VERSION_AGENT_NOTE = exports.OPTION_ARTIFACT_VERSION_NOTE = exports.OPTION_ARTIFACT_VERSION_FROM = exports.OPTION_ARTIFACT_PUBLISH_CREATE = exports.OPTION_ARTIFACT_ID = exports.OPTION_ARTIFACT_DOWNLOAD_PATH = exports.OPTION_ARTIFACT_PUBLISH_PATH = exports.OPTION_ARTIFACT_COMPOSE_PUBLISH_PATH = exports.OPTION_PIPELINE_RUN_ACTION_ID = exports.OPTION_PIPELINE_RUN_ID = exports.OPTION_PIPELINE_YAML = exports.TXT_PIPELINE_DELETED = exports.TXT_PIPELINE_DELETE_CONFIRM = exports.TXT_PIPELINE_UPDATED = exports.TXT_PIPELINE_CREATED = exports.OPTION_PIPELINE_NAME = exports.OPTION_PIPELINE_IDENTIFIER = void 0;
11
11
  exports.OPTION_EXEC_COMMAND = exports.OPTION_AGENT_DEBUG = exports.OPTION_AGENT_PORT = exports.OPTION_AGENT_TAG = exports.OPTION_AGENT_TUNNELING = exports.OPTION_AGENT_PROXY = exports.OPTION_AGENT_TARGET = exports.OPTION_PASS = exports.OPTION_APP = exports.OPTION_USER = exports.OPTION_AGENT_TOKEN = exports.OPTION_AGENT_START = exports.OPTION_AGENT_ID = exports.OPTION_ID = exports.OPTION_NAME = exports.OPTION_TARGET = exports.OPTION_TLS_TERMINATE = exports.OPTION_TLS_CA = exports.OPTION_TLS_CERT = exports.OPTION_TLS_KEY = exports.OPTION_HTTP_CIRCUIT_BREAKER = exports.OPTION_HTTP_COMPRESSION = exports.OPTION_HTTP_2 = exports.OPTION_HTTP_VERIFY = exports.OPTION_HTTP_LOG = exports.OPTION_HTTP_AUTH_BUDDY = exports.OPTION_HTTP_AUTH = exports.OPTION_HTTP_HOST = exports.OPTION_CONFIRM_DOMAIN_BUY = exports.OPTION_CONFIRM_FORCE = exports.OPTION_FORCE = exports.OPTION_TOKEN = exports.OPTION_TIMEOUT = exports.OPTION_FOLLOW = exports.OPTION_SERVE_SANDBOX = exports.OPTION_SERVE = exports.OPTION_HEADER_USER_AGENT = exports.OPTION_RESPONSE_HEADER = exports.OPTION_HEADER = exports.OPTION_WHITELIST = exports.ERR_REST_API_PER_PAGE = exports.ERR_REST_API_PAGE = exports.HELP_PROJECT_LIST_PAGINATION = exports.ERR_ARTIFACT_VERSION_WWW_PATH = exports.ERR_ARTIFACT_VERSION_WWW_TYPE = exports.ERR_WORKSPACE_OPEN_NOT_FOUND = exports.TXT_RESOURCE_BROWSER_OPEN_FAILED = exports.ERR_RESOURCE_BROWSER_URL_MISSING = exports.OPTION_ARTIFACT_VERSION_WWW = exports.DESC_COMMAND_RESOURCE_OPEN = void 0;
12
12
  exports.LOG_AGENT_SERVICE_LEGACY_WRAPPER = exports.LOG_AGENT_WRAPPER_SIGNATURE_UNKNOWN = exports.LOG_AGENT_WRAPPER_SIGNED_BY = exports.LOG_AGENT_WRAPPER_VERIFYING = exports.LOG_AGENT_ENABLED = exports.LOG_AGENT_STARTING_SYSTEM = exports.LOG_AGENT_STOPPING_SYSTEM = exports.LOG_AGENT_ENABLING_SYSTEM = exports.LOG_AGENT_SYSTEM_SERVICE_CONFIG = exports.LOG_AGENT_EXTRACTING_ARCHIVE = exports.LOG_AGENT_DOWNLOADING_ARCHIVE = exports.LOG_AGENT_SYSTEM_DIR = exports.LOG_ERROR_SAVING_AGENT_LOCAL_CONFIG = exports.LOG_ERROR_REMOVING_AGENT_STANDALONE_LOCK_FILE = exports.LOG_ERROR_SAVING_AGENT_STANDALONE_CONFIG = exports.LOG_ERROR_SAVING_AGENT_SYSTEM_CONFIG = exports.LOG_SAVING_AGENT_LOCAL_CONFIG = exports.LOG_REMOVING_AGENT_PROC_ID = exports.LOG_SAVING_AGENT_PROC_ID = exports.LOG_SAVING_AGENT_SYSTEM_CONFIG = exports.LOG_REGISTERING_AGENT = exports.OPTION_CRAWL_OUTPUT_TYPES = exports.OPTION_CRAWL_OUTPUT_DIR = exports.OPTION_CRAWL_DELAY = exports.OPTION_CRAWL_LOCAL_STORAGE = exports.OPTION_CRAWL_DEVICES = exports.OPTION_CRAWL_BROWSERS = exports.OPTION_CRAWL_COLOR_SCHEME = exports.OPTION_CRAWL_XPATH_SELECTOR = exports.OPTION_CRAWL_CSS_SELECTOR = exports.OPTION_CRAWL_FULL_PAGE = exports.OPTION_CRAWL_QUALITY = exports.OPTION_CRAWL_OUTPUT_TYPE = exports.OPTION_CRAWL_FOLLOW = exports.OPTION_CRAWL_URL = exports.OPTION_COMPARE_WAIT_FOR = exports.OPTION_COMPARE_DELAY = exports.OPTION_COMPARE_HEADER = exports.OPTION_COMPARE_COOKIE = exports.OPTION_COMPARE_IGNORE = exports.OPTION_COMPARE_IGNORE_URLS = exports.OPTION_COMPARE_DRY_RUN = exports.OPTION_COMPARE_URLS_FILE = exports.OPTION_COMPARE_SITEMAP = exports.OPTION_COMPARE_URLS = exports.OPTION_COMPARE_RESPECT_ROBOTS = exports.OPTION_COMPARE_FOLLOW = exports.OPTION_EXEC_PARALLEL = exports.OPTION_EXEC_ONE_BY_ONE = exports.OPTION_EXEC_SKIP_DISCOVERY = void 0;
13
13
  exports.LOG_AGENT_UPDATE_ATTEMPT = exports.LOG_AGENT_UPDATE_COMMITTED = exports.LOG_AGENT_UPDATE_BINARY_INVALID = exports.ERR_AGENT_UPDATE_IN_PROGRESS = exports.LOG_AGENT_UPDATE_UNINSTALLED = exports.LOG_AGENT_UPDATE_VERSION_MISMATCH = exports.LOG_AGENT_UPDATE_FAILED = exports.LOG_AGENT_UPDATE_SWAPPED = exports.LOG_AGENT_UPDATE_NOT_NEEDED = exports.LOG_AGENT_UPDATE_NO_ADMIN = exports.LOG_AGENT_UPDATE_STANDALONE = exports.LOG_AGENT_UPDATE_REQUESTED = exports.LOG_AGENT_RIGHTS_SKIPPED = exports.LOG_AGENT_RIGHTS_DIR_SKIPPED = exports.LOG_AGENT_SERVER_STARTED = exports.LOG_ERROR_STARTING_AGENT_SERVER = exports.LOG_SSH_CONNECTION = exports.LOG_LATE_TARGET_ERROR = exports.LOG_LATE_CHANNEL_ERROR = exports.LOG_HANDSHAKE_TIMEOUT = exports.LOG_WRONG_STREAM = exports.LOG_DETECTED_STREAM = exports.LOG_HTTP2_SESSION_TIMEOUT = exports.LOG_HTTP2_SESSION_SHED_TAIL = exports.LOG_HTTP2_SESSION_SHED = exports.LOG_HTTP2_REQUEST = exports.LOG_HTTP2_CONNECTION = exports.LOG_HTTP1_REQUEST = exports.LOG_HTTP1_CONNECTION = exports.LOG_ERROR = exports.LOG_STOPPING_TUNNEL = exports.LOG_STARTING_TUNNEL = exports.LOG_ENABLING_AGENT_TUNNELING = exports.LOG_ENABLING_AGENT_PROXY = exports.LOG_ENABLING_AGENT_TARGET = exports.LOG_DISABLING_AGENT_TUNNELING = exports.LOG_DISABLING_AGENT_PROXY = exports.LOG_DISABLING_AGENT_TARGET = exports.LOG_REMOVING_TUNNEL = exports.LOG_TUNNEL_REGISTERED = exports.LOG_ERROR_WHILE_REFRESHING_AGENT = exports.LOG_REGISTERING_TUNNEL = exports.LOG_GETTING_AGENT = exports.LOG_UNREGISTERING_AGENT = exports.LOG_REGION_DETECTED = exports.LOG_AGENT_REGISTERED = exports.LOG_SOCKET_DISCONNECTED = exports.LOG_SOCKET_CONNECTED = exports.ERR_AGENT_WRAPPER_SIGNATURE = exports.ERR_AGENT_WRAPPER_MISSING = void 0;
@@ -21,10 +21,10 @@ exports.OPT_COMMAND_ROUTE_SUBDOMAIN = exports.OPT_COMMAND_ROUTE_TYPE = exports.O
21
21
  exports.DESC_COMMAND_ARTIFACT_COMPOSER = exports.DESC_COMMAND_ARTIFACT_VERSION = exports.ERR_COMMAND_DOMAIN_UNAVAILABLE = exports.OPTION_COMMAND_DOMAIN_IDENTIFIER = exports.ERR_COMMAND_DOMAIN_NO_DOMAINS = exports.TXT_COMMAND_DOMAIN_PROMPT_REQUIRED = exports.TXT_COMMAND_DOMAIN_BUY_SELECT_DOMAIN = exports.TXT_COMMAND_DOMAIN_PROVIDE_PROMPT = exports.ERR_COMMAND_DOMAIN_NOT_FOUND = exports.OPT_COMMAND_DOMAIN_ONLY_AVAILABLE = exports.OPT_COMMAND_DOMAIN_SORT = exports.OPT_COMMAND_DOMAIN_PHRASE = exports.OPT_COMMAND_DOMAIN_BUY_OWNER = exports.OPT_COMMAND_DOMAIN_BUY_TLD = exports.DESC_COMMAND_DOMAIN_GET = exports.DESC_COMMAND_DOMAIN_LIST = exports.DESC_COMMAND_DOMAIN_SEARCH = exports.DESC_COMMAND_DOMAIN_BUY = exports.DESC_COMMAND_DOMAIN = exports.ERR_ROUTE_NO_DEFAULT = exports.ERR_WRONG_ROUTE_TARGET = exports.ERR_COMMAND_ROUTE_NO_TARGET = exports.ERR_COMMAND_ROUTE_TYPE = exports.TXT_COMMAND_ROUTES_NOT_FOUND = exports.TXT_COMMAND_DISTROS_NOT_FOUND = exports.TXT_COMMAND_ROUTE_DELETED = exports.TXT_COMMAND_DISTRO_DELETED = exports.TXT_COMMAND_ROUTE_DELETE_CONFIRM = exports.TXT_COMMAND_DISTRO_DELETE_CONFIRM = exports.ERR_COMMAND_DISTRO_ENABLE_DISABLE = exports.ERR_COMMAND_NO_UPDATE = exports.ERR_COMMAND_DISTRO_NOT_FOUND = exports.ERR_COMMAND_SCOPE = exports.TXT_COMMAND_DISTRO_UPDATED = exports.TXT_COMMAND_ROUTE_UPDATED = exports.TXT_ROUTE_SERVE = exports.TXT_COMMAND_ROUTE_CREATED = exports.TXT_COMMAND_DISTRO_CREATED = exports.ERR_COMMAND_SCOPE_NO_ENVIRONMENT = exports.ERR_COMMAND_SCOPE_NO_PROJECT = exports.OPT_COMMAND_DISTRO_DISABLE = exports.OPT_COMMAND_DISTRO_ENABLE = exports.OPT_COMMAND_DISTRO_AGENT_NOTE = exports.OPT_COMMAND_DISTRO_NOTE = exports.OPT_COMMAND_DISTRO_NAME = exports.OPT_COMMAND_ROUTE_TARGET = exports.OPT_COMMAND_ROUTE_AGENT_NOTE = exports.OPT_COMMAND_ROUTE_NOTE = exports.OPT_COMMAND_ROUTE_PATH = exports.OPT_COMMAND_ROUTE_DOMAIN = void 0;
22
22
  exports.TXT_COMMAND_PROJECT_LINK_NAME = exports.TXT_COMMAND_PROJECT_LINK_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_LINK_TO = exports.TXT_COMMAND_PROJECT_LINK_EXISTING_DESC = exports.TXT_COMMAND_PROJECT_LINK_EXISTING = exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW_DESC = exports.TXT_COMMAND_PROJECT_LINK_CREATE_NEW = exports.ERR_COMMAND_PROJECT_LINK_DIR_NOT_DIR = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO_INITIALIZED = exports.TXT_COMMAND_PROJECT_LINK_GIT_REPO = exports.TXT_COMMAND_PROJECT_LINK_DIR_CONFIRM = exports.TXT_COMMAND_PROJECT_LINK_DIR_LINKED = exports.ERR_COMMAND_PROJECT_LINK_DIR_CREATE = exports.OPT_COMMAND_PROJECT_LINK_TRY_NOW = exports.OPT_COMMAND_PROJECT_LINK_SET_GIT_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_HAS_REMOTE = exports.OPT_COMMAND_PROJECT_LINK_DIRECTORY = exports.OPT_COMMAND_PROJECT_LINK_GIT = exports.OPT_COMMAND_PROJECT_LINK_RELINK = exports.DESC_COMMAND_PROJECT_LINK = exports.DESC_COMMAND_PROJECT_LIST = exports.DESC_COMMAND_PROJECT_GIT = exports.DESC_COMMAND_PROJECT_GIT_CREDENTIAL = exports.DESC_COMMAND_PROJECT = exports.TXT_ARTIFACT_VERSION_DOWNLOAD = exports.TXT_ARTIFACT_PUBLISH = exports.TXT_ARTIFACT_CREATED = exports.TXT_ARTIFACT_VERSION_DELETED = exports.TXT_ARTIFACT_DELETED = exports.ERR_COMMAND_ARTIFACT_TYPE = exports.OPT_COMMAND_ARTIFACT_VERSION = exports.OPT_COMMAND_ARTIFACT_IDENTIFIER = exports.OPT_COMMAND_ARTIFACT_CREATE_IDENTIFIER = exports.OPT_COMMAND_ARTIFACT_NAME = exports.OPT_COMMAND_ARTIFACT_TYPE = exports.DESC_COMMAND_ARTIFACT_CREATE = exports.DESC_COMMAND_ARTIFACT_COMPOSER_PUBLISH = exports.DESC_COMMAND_ARTIFACT_GET = exports.TXT_ARTIFACT_DOCKER_LOGIN_FAILED = exports.TXT_ARTIFACT_DOCKER_LOGIN_SUCCESS = exports.TXT_ARTIFACT_VERSION_DELETE_CONFIRM = exports.TXT_ARTIFACT_DELETE_CONFIRM = exports.DESC_COMMAND_ARTIFACT_DELETE = exports.ERR_COMMAND_ARTIFACT_NO_PROJECTS = exports.DESC_COMMAND_ARTIFACT_VERSION_GET = exports.DESC_COMMAND_ARTIFACT_VERSION_LIST = exports.DESC_COMMAND_ARTIFACT_VERSION_DELETE = exports.DESC_COMMAND_ARTIFACT_DOCKER = exports.DESC_COMMAND_ARTIFACT_DOCKER_LOGIN = exports.DESC_COMMAND_ARTIFACT_LIST = void 0;
23
23
  exports.EXAMPLE_TARGET_EXEC_KILL = exports.EXAMPLE_TARGET_EXEC_STATUS = exports.EXAMPLE_TARGET_EXEC_COMMAND = exports.EXAMPLE_TARGET_DELETE = exports.EXAMPLE_TARGET_UPDATE = exports.EXAMPLE_TARGET_CREATE = exports.EXAMPLE_TARGET_GET = exports.EXAMPLE_TARGET_LIST = exports.EXAMPLE_SANDBOX_SNAPSHOT_LIST = exports.EXAMPLE_SANDBOX_SNAPSHOT_GET = exports.EXAMPLE_SANDBOX_SNAPSHOT_DELETE = exports.EXAMPLE_SANDBOX_SNAPSHOT_CREATE = exports.EXAMPLE_SANDBOX_EXEC_STATUS = exports.EXAMPLE_SANDBOX_EXEC_LOGS = exports.EXAMPLE_SANDBOX_APP_STATUS = exports.EXAMPLE_SANDBOX_APP_STOP = exports.EXAMPLE_SANDBOX_APP_REMOVE = exports.EXAMPLE_SANDBOX_APP_ADD = exports.EXAMPLE_SANDBOX_APP_START = exports.EXAMPLE_SANDBOX_APP_LOGS = exports.EXAMPLE_SANDBOX_EXEC_LIST = exports.EXAMPLE_SANDBOX_APP_LIST = exports.EXAMPLE_SANDBOX_EXEC_KILL = exports.EXAMPLE_SANDBOX_SSH = exports.EXAMPLE_SANDBOX_EXEC_COMMAND = exports.EXAMPLE_TUNNEL_START = exports.EXAMPLE_TUNNEL_TCP = exports.EXAMPLE_TUNNEL_TLS = exports.EXAMPLE_AGENT_TUNNEL_START = exports.EXAMPLE_AGENT_TUNNEL_STATUS = exports.EXAMPLE_AGENT_TUNNEL_REMOVE = exports.EXAMPLE_AGENT_TUNNEL_LIST = exports.EXAMPLE_TUNNEL_HTTP = exports.EXAMPLE_SANDBOX_CREATE = exports.EXAMPLE_DISTRO_CREATE = exports.EXAMPLE_ROUTE_CREATE = exports.EXAMPLE_ROUTE_LIST = exports.EXAMPLE_ROUTE_UPDATE = exports.EXAMPLE_ROUTE_DELETE = exports.EXAMPLE_DISTRO_DELETE = exports.EXAMPLE_ROUTE_GET = exports.EXAMPLE_DISTRO_UPDATE = exports.EXAMPLE_DISTRO_GET = exports.EXAMPLE_DISTRO_LIST = exports.EXAMPLE_SANDBOX_CP = exports.TXT_PROJECT_PAGE_EMPTY = exports.ERR_PROJECT_NO_PROJECTS = exports.TXT_LOGIN_SELECT_PROJECT = exports.TXT_COMMAND_PROJECT_CREATED = exports.TXT_COMMAND_PROJECT_LINK_NOT_FOUND = void 0;
24
- exports.EXAMPLE_PIPELINE_RUN_LIST = exports.EXAMPLE_PIPELINE_RUN_FIND = exports.HELP_PIPELINE_RUN_FIND = exports.TXT_PIPELINE_RUN_FIND_MORE = exports.TXT_PIPELINE_RUN_FIND_SUMMARY = exports.TXT_PIPELINE_RUN_FIND_COLUMNS = exports.ERR_PIPELINE_RUN_FIND_FILTER = exports.ERR_PIPELINE_RUN_FIND_LAST = exports.OPTION_PIPELINE_RUN_FIND_STATUS = exports.OPTION_PIPELINE_RUN_FIND_ARTIFACT = exports.OPTION_PIPELINE_RUN_FIND_ENVIRONMENT = exports.OPTION_PIPELINE_RUN_FIND_FROM_REVISION = exports.OPTION_PIPELINE_RUN_FIND_REVISION = exports.OPTION_PIPELINE_RUN_FIND_PR = exports.OPTION_PIPELINE_RUN_FIND_TAG = exports.OPTION_PIPELINE_RUN_FIND_BRANCH = exports.OPTION_PIPELINE_RUN_FIND_LAST = exports.DESC_COMMAND_PIPELINE_RUN_FIND = exports.EXAMPLE_PIPELINE_LIST = exports.EXAMPLE_PIPELINE_YML = exports.EXAMPLE_PIPELINE_GET = exports.EXAMPLE_PIPELINE_UPDATE = exports.EXAMPLE_PIPELINE_DELETE = exports.EXAMPLE_PIPELINE_CREATE = exports.EXAMPLE_PIPELINE_RUN_CANCEL = exports.EXAMPLE_PIPELINE_RUN_APPLY = exports.EXAMPLE_PIPELINE_RUN_LOGS = exports.HELP_PIPELINE_RUN_LOGS = exports.HELP_PIPELINE_RUN_STATUS = exports.HELP_PIPELINE_RUN_JSONL = exports.EXAMPLE_PIPELINE_RUN_STATUS = exports.HELP_PIPELINE_RUN_FAILED_LOGS = exports.TXT_PIPELINE_FAILED_LOGS_ERROR = exports.TXT_PIPELINE_FAILED_LOGS_EMPTY = exports.ERR_PIPELINE_FAILED_LOGS_COUNT = exports.TXT_PIPELINE_FAILED_LOGS_HEADER = exports.OPTION_PIPELINE_RUN_FAILED_LOGS = exports.FAILED_LOGS_LIMIT = exports.EXAMPLE_PIPELINE_RUN_START = exports.EXAMPLE_SANDBOX_ENDPOINT_LIST = exports.EXAMPLE_SANDBOX_ENDPOINT_GET = exports.EXAMPLE_SANDBOX_ENDPOINT_DELETE = exports.EXAMPLE_SANDBOX_ENDPOINT_CREATE = exports.EXAMPLE_ENVIRONMENT_DELETE = exports.EXAMPLE_ENVIRONMENT_UPDATE = exports.EXAMPLE_ENVIRONMENT_CREATE = exports.EXAMPLE_ENVIRONMENT_GET = exports.EXAMPLE_ENVIRONMENT_LIST = exports.EXAMPLE_TARGET_EXEC_LOGS = exports.EXAMPLE_TARGET_EXEC_LIST = void 0;
25
- exports.ERR_YAML_ITEM_MISSING = exports.ERR_YAML_MUST_BE = exports.ERR_YAML_PIPELINE_NOT_OBJECT = exports.ERR_YAML_EMPTY_ARRAY = exports.ERR_YAML_PLAIN_OBJECT = exports.ERR_YAML_NOT_ARRAY = exports.ERR_YAML_PARSE = exports.ERR_YAML_VALIDATE_FAILED_COUNT = exports.TXT_YAML_VALIDATE_ALL_PASS = exports.ERR_YAML_VALIDATE_FAILED = exports.ERR_YAML_VALIDATE_FILE_NOT_FOUND = exports.OPTION_YAML_VALIDATE_FILE = exports.DESC_COMMAND_YAML_VALIDATE = exports.DESC_COMMAND_YAML_ACTIONS_INFO = exports.DESC_COMMAND_YAML_ACTIONS_LIST = exports.DESC_COMMAND_YAML_ACTIONS = exports.DESC_COMMAND_YAML_PIPELINE = exports.DESC_COMMAND_YAML = exports.TXT_ACTION_SUGGESTED_FROM_REPO = exports.TXT_ACTION_USE_LIST = exports.TXT_ACTION_DID_YOU_MEAN = exports.ERR_ACTION_SEARCH_NO_RESULTS = exports.ERR_ACTION_NOT_FOUND = exports.OPTION_ACTION_TYPE = exports.OPTION_ACTION_SEARCH = exports.EXAMPLE_YAML_VALIDATE = exports.EXAMPLE_YAML_ACTIONS_INFO = exports.EXAMPLE_YAML_ACTIONS_LIST = exports.EXAMPLE_YAML_PIPELINE = exports.EXAMPLE_CRAWL_LINK = exports.EXAMPLE_CRAWL_RUN = exports.EXAMPLE_TESTS_CAPTURE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CLOSE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CREATE = exports.EXAMPLE_TESTS_VISUAL_LINK = exports.EXAMPLE_TESTS_VISUAL_UPLOAD = exports.EXAMPLE_TESTS_VISUAL_SETUP = exports.EXAMPLE_TESTS_UNIT_LINK = exports.EXAMPLE_TESTS_UNIT_UPLOAD = exports.EXAMPLE_ARTIFACT_VERSION_DELETE = exports.EXAMPLE_ARTIFACT_VERSION_GET = exports.EXAMPLE_ARTIFACT_VERSION_LIST = exports.EXAMPLE_ARTIFACT_CREATE = exports.EXAMPLE_ARTIFACT_DELETE = exports.EXAMPLE_ARTIFACT_DOWNLOAD = exports.EXAMPLE_ARTIFACT_PUBLISH = exports.EXAMPLE_ARTIFACT_COMPOSER_PUBLISH = exports.EXAMPLE_ARTIFACT_VERSION_CREATE = exports.EXAMPLE_PIPELINE_RUN_RETRY = exports.HELP_PIPELINE_RUN_RETRY = void 0;
26
- exports.ERR_CONTEXT_API = exports.ERR_CONTEXT_PROJECT = exports.ERR_CONTEXT_SOURCE = exports.ERR_CONTEXT_NAME = exports.ERR_CONTEXT_EXISTS = exports.ERR_CONTEXT_RESERVED = exports.ERR_CONTEXT_UNKNOWN = exports.TXT_CONTEXT_LINK_HINT = exports.TXT_CONTEXT_GIT_HINT = exports.TXT_CONTEXT_HINT = exports.OPTION_CONTEXT_API = exports.OPTION_CONTEXT_TOKEN = exports.OPTION_CONTEXT_REMOTE = exports.OPTION_CONTEXT_GIT = exports.OPTION_CONTEXT_LINK = exports.OPTION_CONTEXT_NAME = exports.DESC_CONTEXT_REMOVE = exports.DESC_CONTEXT_USE = exports.DESC_CONTEXT_SHOW = exports.DESC_CONTEXT_LIST = exports.DESC_CONTEXT_ADD = exports.DESC_CONTEXT = exports.OPTION_CONTEXT = exports.HELP_AGENT_STATUS_JSON = exports.HELP_SANDBOX_APP_ADD_JSON = exports.EXAMPLE_CONFIG_GET_TUNNELS = exports.EXAMPLE_CONFIG_GET_TUNNEL = exports.HELP_TARGET_EXEC_LOGS_JSONL = exports.HELP_SANDBOX_EXEC_COMMAND_JSONL = exports.HELP_SANDBOX_EXEC_JSONL = exports.HELP_TARGET_EXEC_COMMAND = exports.HELP_TARGET_EXEC_STATUS = exports.HELP_SANDBOX_EXEC_STATUS = exports.HELP_API_INFO_JSON = exports.HELP_DOMAIN_SEARCH_JSON = exports.HELP_YAML_VALIDATE_JSON = exports.EXAMPLE_AGENT_TAGS_GET = exports.EXAMPLE_AGENT_PROXY_STATUS = exports.EXAMPLE_AGENT_TARGET_STATUS = exports.EXAMPLE_AGENT_VERSION = exports.EXAMPLE_AGENT_STATUS = exports.EXAMPLE_DOMAIN_SEARCH = exports.EXAMPLE_API_LIST = exports.EXAMPLE_API_INFO = exports.ERR_API_SCHEMA_NOT_FOUND = exports.EXAMPLE_SANDBOX_LOGS = exports.ERR_YAML_SCHEMA_READ_FAILED = exports.ERR_YAML_SCHEMA_FETCH_FAILED = exports.TXT_YAML_UNKNOWN_TOP_LEVEL_KEYS = exports.ERR_YAML_ITEM_UNKNOWN = void 0;
27
- exports.HELP_CONTEXT_REMOVE = exports.HELP_CONTEXT_USE = exports.HELP_CONTEXT_SHOW = exports.HELP_CONTEXT_LIST = exports.HELP_CONTEXT_ADD = exports.EXAMPLE_CONTEXT_REMOVE = exports.EXAMPLE_CONTEXT_USE = exports.EXAMPLE_CONTEXT_SHOW = exports.EXAMPLE_CONTEXT_LIST = exports.EXAMPLE_CONTEXT_ADD = exports.TXT_CONTEXT_TOKEN_MISSING = exports.TXT_CONTEXT_TOKEN_AVAILABLE = exports.TXT_CONTEXT_TOKEN_LABEL = exports.TXT_CONTEXT_REMOTE_LABEL = exports.TXT_CONTEXT_API_LABEL = exports.TXT_CONTEXT_PROJECT_LABEL = exports.TXT_CONTEXT_WORKSPACE_LABEL = exports.TXT_CONTEXT_SOURCE_LABEL = exports.TXT_CONTEXT_LABEL = exports.TXT_CONTEXT_REMOVE_CONFIRM = exports.ERR_CONTEXT_GIT_FAILED = exports.ERR_CONTEXT_GIT_TIMEOUT = exports.TXT_CONTEXT_PROJECT_HINT = exports.TXT_CONTEXT_WORKSPACE_HINT = exports.HELP_CONTEXT = exports.TXT_CONTEXT_REMOVED = exports.TXT_CONTEXT_ACTIVE = exports.TXT_CONTEXT_SAVED = exports.ERR_CONTEXT_LINK_INVALID = exports.ERR_CONTEXT_LINK_MISSING = exports.ERR_CONTEXT_GIT_URL = exports.ERR_CONTEXT_GIT_REMOTE = exports.ERR_CONTEXT_GIT_REPO = exports.ERR_CONTEXT_GIT_MISSING = void 0;
24
+ exports.EXAMPLE_PIPELINE_RUN_FIND = exports.HELP_PIPELINE_RUN_FIND = exports.TXT_PIPELINE_RUN_FIND_MORE = exports.TXT_PIPELINE_RUN_FIND_SUMMARY = exports.TXT_PIPELINE_RUN_FIND_COLUMNS = exports.ERR_PIPELINE_RUN_FIND_FILTER = exports.ERR_PIPELINE_RUN_FIND_LAST = exports.OPTION_PIPELINE_RUN_FIND_STATUS = exports.OPTION_PIPELINE_RUN_FIND_ARTIFACT = exports.OPTION_PIPELINE_RUN_FIND_ENVIRONMENT = exports.OPTION_PIPELINE_RUN_FIND_FROM_REVISION = exports.OPTION_PIPELINE_RUN_FIND_REVISION = exports.OPTION_PIPELINE_RUN_FIND_PR = exports.OPTION_PIPELINE_RUN_FIND_TAG = exports.OPTION_PIPELINE_RUN_FIND_BRANCH = exports.OPTION_PIPELINE_RUN_FIND_LAST = exports.DESC_COMMAND_PIPELINE_RUN_FIND = exports.EXAMPLE_PIPELINE_LIST = exports.EXAMPLE_PIPELINE_YML = exports.EXAMPLE_PIPELINE_GET = exports.EXAMPLE_PIPELINE_UPDATE = exports.EXAMPLE_PIPELINE_DELETE = exports.EXAMPLE_PIPELINE_CREATE = exports.EXAMPLE_PIPELINE_RUN_CANCEL = exports.EXAMPLE_PIPELINE_RUN_APPLY = exports.EXAMPLE_PIPELINE_RUN_LOGS = exports.HELP_PIPELINE_RUN_LOGS = exports.HELP_PIPELINE_RUN_STATUS = exports.TXT_PIPELINE_RUN_NEXT = exports.HELP_PIPELINE_RUN_JSONL = exports.EXAMPLE_PIPELINE_RUN_STATUS = exports.HELP_PIPELINE_RUN_FAILED_LOGS = exports.TXT_PIPELINE_FAILED_LOGS_ERROR = exports.TXT_PIPELINE_FAILED_LOGS_EMPTY = exports.ERR_PIPELINE_FAILED_LOGS_COUNT = exports.TXT_PIPELINE_FAILED_LOGS_HEADER = exports.OPTION_PIPELINE_RUN_FAILED_LOGS = exports.FAILED_LOGS_LIMIT = exports.EXAMPLE_PIPELINE_RUN_START = exports.EXAMPLE_SANDBOX_ENDPOINT_LIST = exports.EXAMPLE_SANDBOX_ENDPOINT_GET = exports.EXAMPLE_SANDBOX_ENDPOINT_DELETE = exports.EXAMPLE_SANDBOX_ENDPOINT_CREATE = exports.EXAMPLE_ENVIRONMENT_DELETE = exports.EXAMPLE_ENVIRONMENT_UPDATE = exports.EXAMPLE_ENVIRONMENT_CREATE = exports.EXAMPLE_ENVIRONMENT_GET = exports.EXAMPLE_ENVIRONMENT_LIST = exports.EXAMPLE_TARGET_EXEC_LOGS = exports.EXAMPLE_TARGET_EXEC_LIST = void 0;
25
+ exports.ERR_YAML_MUST_BE = exports.ERR_YAML_PIPELINE_NOT_OBJECT = exports.ERR_YAML_EMPTY_ARRAY = exports.ERR_YAML_PLAIN_OBJECT = exports.ERR_YAML_NOT_ARRAY = exports.ERR_YAML_PARSE = exports.ERR_YAML_VALIDATE_FAILED_COUNT = exports.TXT_YAML_VALIDATE_ALL_PASS = exports.ERR_YAML_VALIDATE_FAILED = exports.ERR_YAML_VALIDATE_FILE_NOT_FOUND = exports.OPTION_YAML_VALIDATE_FILE = exports.DESC_COMMAND_YAML_VALIDATE = exports.DESC_COMMAND_YAML_ACTIONS_INFO = exports.DESC_COMMAND_YAML_ACTIONS_LIST = exports.DESC_COMMAND_YAML_ACTIONS = exports.DESC_COMMAND_YAML_PIPELINE = exports.DESC_COMMAND_YAML = exports.TXT_ACTION_SUGGESTED_FROM_REPO = exports.TXT_ACTION_USE_LIST = exports.TXT_ACTION_DID_YOU_MEAN = exports.ERR_ACTION_SEARCH_NO_RESULTS = exports.ERR_ACTION_NOT_FOUND = exports.OPTION_ACTION_TYPE = exports.OPTION_ACTION_SEARCH = exports.EXAMPLE_YAML_VALIDATE = exports.EXAMPLE_YAML_ACTIONS_INFO = exports.EXAMPLE_YAML_ACTIONS_LIST = exports.EXAMPLE_YAML_PIPELINE = exports.EXAMPLE_CRAWL_LINK = exports.EXAMPLE_CRAWL_RUN = exports.EXAMPLE_TESTS_CAPTURE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CLOSE = exports.EXAMPLE_TESTS_VISUAL_SESSION_CREATE = exports.EXAMPLE_TESTS_VISUAL_LINK = exports.EXAMPLE_TESTS_VISUAL_UPLOAD = exports.EXAMPLE_TESTS_VISUAL_SETUP = exports.EXAMPLE_TESTS_UNIT_LINK = exports.EXAMPLE_TESTS_UNIT_UPLOAD = exports.EXAMPLE_ARTIFACT_VERSION_DELETE = exports.EXAMPLE_ARTIFACT_VERSION_GET = exports.EXAMPLE_ARTIFACT_VERSION_LIST = exports.EXAMPLE_ARTIFACT_CREATE = exports.EXAMPLE_ARTIFACT_DELETE = exports.EXAMPLE_ARTIFACT_DOWNLOAD = exports.EXAMPLE_ARTIFACT_PUBLISH = exports.EXAMPLE_ARTIFACT_COMPOSER_PUBLISH = exports.EXAMPLE_ARTIFACT_VERSION_CREATE = exports.EXAMPLE_PIPELINE_RUN_RETRY = exports.HELP_PIPELINE_RUN_RETRY = exports.EXAMPLE_PIPELINE_RUN_LIST = void 0;
26
+ exports.ERR_CONTEXT_PROJECT = exports.ERR_CONTEXT_SOURCE = exports.ERR_CONTEXT_NAME = exports.ERR_CONTEXT_EXISTS = exports.ERR_CONTEXT_RESERVED = exports.ERR_CONTEXT_UNKNOWN = exports.TXT_CONTEXT_LINK_HINT = exports.TXT_CONTEXT_GIT_HINT = exports.TXT_CONTEXT_HINT = exports.OPTION_CONTEXT_API = exports.OPTION_CONTEXT_TOKEN = exports.OPTION_CONTEXT_REMOTE = exports.OPTION_CONTEXT_GIT = exports.OPTION_CONTEXT_LINK = exports.OPTION_CONTEXT_NAME = exports.DESC_CONTEXT_REMOVE = exports.DESC_CONTEXT_USE = exports.DESC_CONTEXT_SHOW = exports.DESC_CONTEXT_LIST = exports.DESC_CONTEXT_ADD = exports.DESC_CONTEXT = exports.OPTION_CONTEXT = exports.HELP_AGENT_STATUS_JSON = exports.HELP_SANDBOX_APP_ADD_JSON = exports.EXAMPLE_CONFIG_GET_TUNNELS = exports.EXAMPLE_CONFIG_GET_TUNNEL = exports.HELP_TARGET_EXEC_LOGS_JSONL = exports.HELP_SANDBOX_EXEC_COMMAND_JSONL = exports.HELP_SANDBOX_EXEC_JSONL = exports.HELP_TARGET_EXEC_COMMAND = exports.HELP_TARGET_EXEC_STATUS = exports.HELP_SANDBOX_EXEC_STATUS = exports.HELP_API_INFO_JSON = exports.HELP_DOMAIN_SEARCH_JSON = exports.HELP_YAML_VALIDATE_JSON = exports.EXAMPLE_AGENT_TAGS_GET = exports.EXAMPLE_AGENT_PROXY_STATUS = exports.EXAMPLE_AGENT_TARGET_STATUS = exports.EXAMPLE_AGENT_VERSION = exports.EXAMPLE_AGENT_STATUS = exports.EXAMPLE_DOMAIN_SEARCH = exports.EXAMPLE_API_LIST = exports.EXAMPLE_API_INFO = exports.ERR_API_SCHEMA_NOT_FOUND = exports.EXAMPLE_SANDBOX_LOGS = exports.ERR_YAML_SCHEMA_READ_FAILED = exports.ERR_YAML_SCHEMA_FETCH_FAILED = exports.TXT_YAML_UNKNOWN_TOP_LEVEL_KEYS = exports.ERR_YAML_ITEM_UNKNOWN = exports.ERR_YAML_ITEM_MISSING = void 0;
27
+ exports.HELP_CONTEXT_REMOVE = exports.HELP_CONTEXT_USE = exports.HELP_CONTEXT_SHOW = exports.HELP_CONTEXT_LIST = exports.HELP_CONTEXT_ADD = exports.EXAMPLE_CONTEXT_REMOVE = exports.EXAMPLE_CONTEXT_USE = exports.EXAMPLE_CONTEXT_SHOW = exports.EXAMPLE_CONTEXT_LIST = exports.EXAMPLE_CONTEXT_ADD = exports.TXT_CONTEXT_TOKEN_MISSING = exports.TXT_CONTEXT_TOKEN_AVAILABLE = exports.TXT_CONTEXT_TOKEN_LABEL = exports.TXT_CONTEXT_REMOTE_LABEL = exports.TXT_CONTEXT_API_LABEL = exports.TXT_CONTEXT_PROJECT_LABEL = exports.TXT_CONTEXT_WORKSPACE_LABEL = exports.TXT_CONTEXT_SOURCE_LABEL = exports.TXT_CONTEXT_LABEL = exports.TXT_CONTEXT_REMOVE_CONFIRM = exports.ERR_CONTEXT_GIT_FAILED = exports.ERR_CONTEXT_GIT_TIMEOUT = exports.TXT_CONTEXT_PROJECT_HINT = exports.TXT_CONTEXT_WORKSPACE_HINT = exports.HELP_CONTEXT = exports.TXT_CONTEXT_REMOVED = exports.TXT_CONTEXT_ACTIVE = exports.TXT_CONTEXT_SAVED = exports.ERR_CONTEXT_LINK_INVALID = exports.ERR_CONTEXT_LINK_MISSING = exports.ERR_CONTEXT_GIT_URL = exports.ERR_CONTEXT_GIT_REMOTE = exports.ERR_CONTEXT_GIT_REPO = exports.ERR_CONTEXT_GIT_MISSING = exports.ERR_CONTEXT_API = void 0;
28
28
  const utils_1 = require("./utils");
29
29
  exports.ERR_CONFIRM_REQUIRED = 'Confirmation is required in non-interactive mode';
30
30
  exports.TXT_CONFIRM_FORCE_HINT = 'Rerun with --force to perform this operation without prompting.';
@@ -328,8 +328,6 @@ exports.DESC_COMMAND_START = 'Start the tunnels defined in the configuration fil
328
328
  exports.DESC_COMMAND_TCP = 'Start a tunnel that forwards TCP traffic from a public port to a local address, for non-HTTP services such as SSH, RDP, SIP or game servers';
329
329
  exports.DESC_COMMAND_TLS = 'Start a tunnel that forwards TLS traffic on port 443 for a hostname to a local address';
330
330
  exports.DESC_PROGRAM = 'Work seamlessly with Buddy from the command line.';
331
- const ERR_COMMAND_NOT_FOUND = (arg) => `Command not found: ${arg}`;
332
- exports.ERR_COMMAND_NOT_FOUND = ERR_COMMAND_NOT_FOUND;
333
331
  exports.DESC_COMMAND_PIPELINE = 'Manage pipelines and their runs';
334
332
  exports.DESC_COMMAND_ARTIFACT = 'Manage artifacts: file, Docker and Composer packages with versions';
335
333
  exports.DESC_COMMAND_ARTIFACT_VERSION_CREATE = 'Create an artifact version';
@@ -525,6 +523,7 @@ exports.DISCOVERY_TIPS = [
525
523
  'Human-readable identifiers and numeric IDs are not interchangeable. Check the argument description.',
526
524
  "Inspect YAML schemas with 'bdy yaml pipeline' and 'bdy yaml actions info <type>'.",
527
525
  "Find REST operations with 'bdy api list' and inspect them with 'bdy api info <method> <url>'.",
526
+ "Pipeline runs: 'bdy pip get' shows the last run status, 'bdy pip run find' locates a run by branch/PR/revision/status, and 'bdy pip run status <pipeline> <run-id> --exit-code --failed-logs' waits and explains a failure. To deploy and verify in one call use 'bdy pip run start <pipeline> -e <environment> -a <artifact:version> --exit-code'. Run commands end with suggested next commands (JSONL type 'next').",
528
527
  'Check each command for supported output formats: json and jsonl are different; not every command supports them.',
529
528
  'required_scopes: null means undocumented or dynamic; [] means explicitly no token scopes required. Token scopes are separate from the --scope resource option.',
530
529
  "Use 'bdy discover' for an index. Selecting a command without subcommands returns full details automatically; use --full for a whole subtree. Aliases are accepted.",
@@ -571,6 +570,7 @@ ERRORS:
571
570
  `;
572
571
  exports.OPTION_FORMAT = 'Output format: json, text. JSON CLI errors: {error:{code,message,hint}}, exit 1. Default: text';
573
572
  exports.OPTION_FORMAT_JSONL = 'Output format: jsonl, text. JSONL CLI errors: {type:"error",error:{code,message,hint}}, exit 1. Default: text';
573
+ exports.OPTION_VERBOSE = 'Show REST API requests, responses, timing and retries on stderr';
574
574
  exports.OPTION_REST_API_WORKSPACE = 'Workspace URL handle. Can be set via variable: BUDDY_WORKSPACE';
575
575
  exports.OPTION_REST_API_PROJECT = 'Project name. Can be set via variable: BUDDY_PROJECT';
576
576
  exports.OPTION_REST_API_PAGE = 'Page number (positive integer). Default: 1';
@@ -2267,7 +2267,7 @@ exports.EXAMPLE_PIPELINE_RUN_START = [
2267
2267
  },
2268
2268
  {
2269
2269
  description: 'run pipeline without cache and wait for execution to complete',
2270
- command: 'bdy pip run start pipeline-identifier --wait -c',
2270
+ command: 'bdy pip run start pipeline-identifier -c',
2271
2271
  },
2272
2272
  {
2273
2273
  description: 'run pipeline and pass custom variables to execution',
@@ -2281,6 +2281,10 @@ exports.EXAMPLE_PIPELINE_RUN_START = [
2281
2281
  description: 'run pipeline in given environment with specific artifact version',
2282
2282
  command: 'bdy pip run start pipeline-identifier --environment staging --artifact my_app:1.2.3',
2283
2283
  },
2284
+ {
2285
+ description: 'deploy an artifact version to an environment, wait for the result and exit 0 only when it succeeded',
2286
+ command: 'bdy pip run start pipeline-identifier -e production -a my_app:1.2.3 --exit-code --no-follow --failed-logs',
2287
+ },
2284
2288
  {
2285
2289
  description: 'run pipeline and output only final jsonl',
2286
2290
  command: 'bdy pip run start pipeline-identifier --no-follow --format jsonl',
@@ -2322,7 +2326,7 @@ exports.EXAMPLE_PIPELINE_RUN_STATUS = [
2322
2326
  command: 'bdy pip run status pipeline-identifier run-id --exit-code --no-wait',
2323
2327
  },
2324
2328
  {
2325
- description: 'wait for completion and return its semantic exit code',
2329
+ description: 'wait for completion and return its semantic exit code (run-id can come from executions[0].id of bdy pip run find)',
2326
2330
  command: 'bdy pip run status pipeline-identifier run-id --exit-code --no-follow',
2327
2331
  },
2328
2332
  {
@@ -2356,9 +2360,19 @@ WITH --exit-code:
2356
2360
  Command errors keep their error record and exit 2 or 3.
2357
2361
  Without --exit-code, existing exit codes are unchanged.
2358
2362
  `;
2363
+ exports.TXT_PIPELINE_RUN_NEXT = 'Next: ';
2359
2364
  exports.HELP_PIPELINE_RUN_STATUS = `${exports.HELP_PIPELINE_RUN_JSONL}${HELP_PIPELINE_RUN_EXIT_CODE}
2360
2365
  Exit codes describe the resulting pipeline run, including after start/retry/cancel/approve.
2361
2366
  --no-follow hides intermediate changes but still waits.
2367
+
2368
+ NEXT STEPS:
2369
+ A run that ends FAILED or TERMINATED, waits for approval, or is still in progress
2370
+ is followed by suggested commands: "Next:" lines in text, and in JSONL one record
2371
+ right before the exit record:
2372
+ {"type": "next", "commands": ["bdy pip run retry pipeline-identifier run-id -w workspace -p project"]}
2373
+ Commands carry -w, -p and a non-default --context resolved by this command, so
2374
+ they can be run verbatim from any directory.
2375
+ A successful, skipped or not executed run has no next step.
2362
2376
  `;
2363
2377
  exports.HELP_PIPELINE_RUN_LOGS = `${exports.HELP_PIPELINE_RUN_JSONL}${HELP_PIPELINE_RUN_EXIT_CODE}
2364
2378
  Exit codes describe the selected action execution (action-run-id).
@@ -2536,6 +2550,10 @@ exports.EXAMPLE_PIPELINE_RUN_FIND = [
2536
2550
  description: 'find pull request runs as JSON',
2537
2551
  command: 'bdy pip run find my-pipeline --pr 123 --format json',
2538
2552
  },
2553
+ {
2554
+ description: 'find the newest run for a branch; pass executions[0].id to bdy pip run status',
2555
+ command: 'bdy pip run find my-pipeline --branch main --format json',
2556
+ },
2539
2557
  {
2540
2558
  description: 'find runs for an artifact in an environment without a repository filter',
2541
2559
  command: 'bdy pip run find my-pipeline --environment staging --artifact my-app:1.2.3',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.25.10-stage",
4
+ "version": "1.25.12-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "homepage": "https://buddy.works/docs/cli",