bdy 1.25.11-dev → 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.
- package/distTs/package.json +1 -1
- package/distTs/src/output/pipeline.js +69 -14
- package/distTs/src/texts.js +24 -5
- package/package.json +1 -1
package/distTs/package.json
CHANGED
|
@@ -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
|
-
|
|
527
|
-
|
|
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
|
|
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
|
}
|
package/distTs/src/texts.js
CHANGED
|
@@ -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.
|
|
25
|
-
exports.
|
|
26
|
-
exports.
|
|
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.';
|
|
@@ -523,6 +523,7 @@ exports.DISCOVERY_TIPS = [
|
|
|
523
523
|
'Human-readable identifiers and numeric IDs are not interchangeable. Check the argument description.',
|
|
524
524
|
"Inspect YAML schemas with 'bdy yaml pipeline' and 'bdy yaml actions info <type>'.",
|
|
525
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').",
|
|
526
527
|
'Check each command for supported output formats: json and jsonl are different; not every command supports them.',
|
|
527
528
|
'required_scopes: null means undocumented or dynamic; [] means explicitly no token scopes required. Token scopes are separate from the --scope resource option.',
|
|
528
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.",
|
|
@@ -2280,6 +2281,10 @@ exports.EXAMPLE_PIPELINE_RUN_START = [
|
|
|
2280
2281
|
description: 'run pipeline in given environment with specific artifact version',
|
|
2281
2282
|
command: 'bdy pip run start pipeline-identifier --environment staging --artifact my_app:1.2.3',
|
|
2282
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
|
+
},
|
|
2283
2288
|
{
|
|
2284
2289
|
description: 'run pipeline and output only final jsonl',
|
|
2285
2290
|
command: 'bdy pip run start pipeline-identifier --no-follow --format jsonl',
|
|
@@ -2321,7 +2326,7 @@ exports.EXAMPLE_PIPELINE_RUN_STATUS = [
|
|
|
2321
2326
|
command: 'bdy pip run status pipeline-identifier run-id --exit-code --no-wait',
|
|
2322
2327
|
},
|
|
2323
2328
|
{
|
|
2324
|
-
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)',
|
|
2325
2330
|
command: 'bdy pip run status pipeline-identifier run-id --exit-code --no-follow',
|
|
2326
2331
|
},
|
|
2327
2332
|
{
|
|
@@ -2355,9 +2360,19 @@ WITH --exit-code:
|
|
|
2355
2360
|
Command errors keep their error record and exit 2 or 3.
|
|
2356
2361
|
Without --exit-code, existing exit codes are unchanged.
|
|
2357
2362
|
`;
|
|
2363
|
+
exports.TXT_PIPELINE_RUN_NEXT = 'Next: ';
|
|
2358
2364
|
exports.HELP_PIPELINE_RUN_STATUS = `${exports.HELP_PIPELINE_RUN_JSONL}${HELP_PIPELINE_RUN_EXIT_CODE}
|
|
2359
2365
|
Exit codes describe the resulting pipeline run, including after start/retry/cancel/approve.
|
|
2360
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.
|
|
2361
2376
|
`;
|
|
2362
2377
|
exports.HELP_PIPELINE_RUN_LOGS = `${exports.HELP_PIPELINE_RUN_JSONL}${HELP_PIPELINE_RUN_EXIT_CODE}
|
|
2363
2378
|
Exit codes describe the selected action execution (action-run-id).
|
|
@@ -2535,6 +2550,10 @@ exports.EXAMPLE_PIPELINE_RUN_FIND = [
|
|
|
2535
2550
|
description: 'find pull request runs as JSON',
|
|
2536
2551
|
command: 'bdy pip run find my-pipeline --pr 123 --format json',
|
|
2537
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
|
+
},
|
|
2538
2557
|
{
|
|
2539
2558
|
description: 'find runs for an artifact in an environment without a repository filter',
|
|
2540
2559
|
command: 'bdy pip run find my-pipeline --environment staging --artifact my-app:1.2.3',
|