@neriros/ralphy 2.13.5 → 2.13.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +578 -141
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -56373,6 +56373,8 @@ var useApp = () => import_react17.useContext(AppContext_default);
|
|
|
56373
56373
|
var use_app_default = useApp;
|
|
56374
56374
|
// node_modules/.bun/ink@5.2.1+1f88f629f0141b18/node_modules/ink/build/hooks/use-stdout.js
|
|
56375
56375
|
var import_react18 = __toESM(require_react(), 1);
|
|
56376
|
+
var useStdout = () => import_react18.useContext(StdoutContext_default);
|
|
56377
|
+
var use_stdout_default = useStdout;
|
|
56376
56378
|
// node_modules/.bun/ink@5.2.1+1f88f629f0141b18/node_modules/ink/build/hooks/use-stderr.js
|
|
56377
56379
|
var import_react19 = __toESM(require_react(), 1);
|
|
56378
56380
|
// node_modules/.bun/ink@5.2.1+1f88f629f0141b18/node_modules/ink/build/hooks/use-focus.js
|
|
@@ -56407,7 +56409,7 @@ function log(msg) {
|
|
|
56407
56409
|
// package.json
|
|
56408
56410
|
var package_default = {
|
|
56409
56411
|
name: "@neriros/ralphy",
|
|
56410
|
-
version: "2.13.
|
|
56412
|
+
version: "2.13.7",
|
|
56411
56413
|
description: "An iterative AI task execution framework. Orchestrates multi-phase autonomous work using Claude or Codex engines.",
|
|
56412
56414
|
keywords: [
|
|
56413
56415
|
"agent",
|
|
@@ -72107,30 +72109,50 @@ function fmtElapsed(ms) {
|
|
|
72107
72109
|
function trunc(s, max2) {
|
|
72108
72110
|
return s.length > max2 ? s.slice(0, max2 - 1) + "\u2026" : s;
|
|
72109
72111
|
}
|
|
72112
|
+
function prLabel(prUrl) {
|
|
72113
|
+
const m = prUrl.match(/\/pull\/(\d+)/);
|
|
72114
|
+
return m ? `#${m[1]}` : "PR";
|
|
72115
|
+
}
|
|
72116
|
+
var ANSI_STRIP_RE = /\x1b(?:\[[0-9;]*[A-Za-z]|\][^\x07\x1b]*(?:\x07|\x1b\\)|.)/g;
|
|
72117
|
+
var BOX_ONLY_RE = /^[\s\u2500\u2502\u256D\u256E\u2570\u256F\u254C\u2504\u2501\u2503]+$/;
|
|
72118
|
+
var STATUS_BAR_LINE_RE = /^[\u280B\u2819\u2839\u2838\u283C\u2834\u2826\u2827\u2807\u280F\u2713\u2717]\s+iter\s+\d+/;
|
|
72119
|
+
var ITER_HEADER_LINE_RE = /^\u2500\u2500/;
|
|
72120
|
+
function cleanOutputLine(raw) {
|
|
72121
|
+
const clean = raw.replace(ANSI_STRIP_RE, "").trim();
|
|
72122
|
+
if (!clean)
|
|
72123
|
+
return null;
|
|
72124
|
+
if (BOX_ONLY_RE.test(clean))
|
|
72125
|
+
return null;
|
|
72126
|
+
if (STATUS_BAR_LINE_RE.test(clean))
|
|
72127
|
+
return null;
|
|
72128
|
+
if (ITER_HEADER_LINE_RE.test(clean))
|
|
72129
|
+
return null;
|
|
72130
|
+
return clean;
|
|
72131
|
+
}
|
|
72110
72132
|
function priorityBadge(p) {
|
|
72111
72133
|
switch (p) {
|
|
72112
72134
|
case 1:
|
|
72113
|
-
return { text: "
|
|
72135
|
+
return { text: "\u25B2", color: "red", label: "URGENT" };
|
|
72114
72136
|
case 2:
|
|
72115
|
-
return { text: "\u2191", color: "yellow" };
|
|
72137
|
+
return { text: "\u2191", color: "yellow", label: "HIGH" };
|
|
72116
72138
|
case 3:
|
|
72117
|
-
return { text: "\xB7", color: "blue" };
|
|
72139
|
+
return { text: "\xB7", color: "blue", label: "MED" };
|
|
72118
72140
|
case 4:
|
|
72119
|
-
return { text: "\u2193", color: "gray" };
|
|
72141
|
+
return { text: "\u2193", color: "gray", label: "LOW" };
|
|
72120
72142
|
default:
|
|
72121
|
-
return { text: " ", color: "gray" };
|
|
72143
|
+
return { text: " ", color: "gray", label: "" };
|
|
72122
72144
|
}
|
|
72123
72145
|
}
|
|
72124
72146
|
function modeBadge(mode) {
|
|
72125
72147
|
switch (mode) {
|
|
72126
72148
|
case "fresh":
|
|
72127
|
-
return { text: "
|
|
72149
|
+
return { text: "NEW", color: "cyan" };
|
|
72128
72150
|
case "resume":
|
|
72129
|
-
return { text: "
|
|
72151
|
+
return { text: "RESUME", color: "yellow" };
|
|
72130
72152
|
case "conflict-fix":
|
|
72131
|
-
return { text: "
|
|
72153
|
+
return { text: "FIX", color: "magenta" };
|
|
72132
72154
|
default:
|
|
72133
|
-
return { text: mode, color: "white" };
|
|
72155
|
+
return { text: mode.toUpperCase(), color: "white" };
|
|
72134
72156
|
}
|
|
72135
72157
|
}
|
|
72136
72158
|
function phaseColor(phase) {
|
|
@@ -72160,6 +72182,29 @@ function phaseColor(phase) {
|
|
|
72160
72182
|
return "white";
|
|
72161
72183
|
}
|
|
72162
72184
|
}
|
|
72185
|
+
function workerBorderColor(phase) {
|
|
72186
|
+
switch (phase) {
|
|
72187
|
+
case "working":
|
|
72188
|
+
case "scaffolding":
|
|
72189
|
+
return "cyan";
|
|
72190
|
+
case "committing":
|
|
72191
|
+
case "commit-retry":
|
|
72192
|
+
case "pushing":
|
|
72193
|
+
case "push-retry":
|
|
72194
|
+
case "rebasing":
|
|
72195
|
+
case "pr-create":
|
|
72196
|
+
return "yellow";
|
|
72197
|
+
case "ci-poll":
|
|
72198
|
+
case "ci-fix":
|
|
72199
|
+
return "blue";
|
|
72200
|
+
case "done":
|
|
72201
|
+
return "green";
|
|
72202
|
+
case "gave-up":
|
|
72203
|
+
return "red";
|
|
72204
|
+
default:
|
|
72205
|
+
return "gray";
|
|
72206
|
+
}
|
|
72207
|
+
}
|
|
72163
72208
|
function displayTailLines(activeCount) {
|
|
72164
72209
|
if (activeCount <= 1)
|
|
72165
72210
|
return 20;
|
|
@@ -72167,34 +72212,16 @@ function displayTailLines(activeCount) {
|
|
|
72167
72212
|
return 12;
|
|
72168
72213
|
if (activeCount <= 3)
|
|
72169
72214
|
return 8;
|
|
72170
|
-
return
|
|
72171
|
-
}
|
|
72172
|
-
function settingsSummary(cfg, filterDesc) {
|
|
72173
|
-
const parts = [
|
|
72174
|
-
`${cfg.engine}/${cfg.model}`,
|
|
72175
|
-
`concurrency: ${cfg.concurrency}`,
|
|
72176
|
-
`poll: ${cfg.pollIntervalSeconds}s`
|
|
72177
|
-
];
|
|
72178
|
-
if (cfg.maxIterationsPerTask > 0)
|
|
72179
|
-
parts.push(`maxIter: ${cfg.maxIterationsPerTask}`);
|
|
72180
|
-
if (cfg.maxCostUsdPerTask > 0)
|
|
72181
|
-
parts.push(`maxCost: $${cfg.maxCostUsdPerTask}`);
|
|
72182
|
-
if (cfg.maxRuntimeMinutesPerTask > 0)
|
|
72183
|
-
parts.push(`maxRuntime: ${cfg.maxRuntimeMinutesPerTask}m`);
|
|
72184
|
-
if (cfg.createPrOnSuccess)
|
|
72185
|
-
parts.push("PR: on");
|
|
72186
|
-
if (cfg.fixCiOnFailure)
|
|
72187
|
-
parts.push("fixCI: on");
|
|
72188
|
-
if (cfg.useWorktree)
|
|
72189
|
-
parts.push("worktree: on");
|
|
72190
|
-
const settingsStr = parts.join(" \xB7 ");
|
|
72191
|
-
return filterDesc ? `${settingsStr} [${filterDesc}]` : settingsStr;
|
|
72215
|
+
return 5;
|
|
72192
72216
|
}
|
|
72193
72217
|
function AgentMode({ args, projectRoot, statesDir, tasksDir }) {
|
|
72194
72218
|
const { exit } = use_app_default();
|
|
72219
|
+
const { stdout } = use_stdout_default();
|
|
72220
|
+
const { isRawModeSupported } = use_stdin_default();
|
|
72195
72221
|
const [logs, setLogs] = import_react57.useState([]);
|
|
72196
72222
|
const [, setTick] = import_react57.useState(0);
|
|
72197
72223
|
const [clock, setClock] = import_react57.useState(0);
|
|
72224
|
+
const [focusedIdx, setFocusedIdx] = import_react57.useState(0);
|
|
72198
72225
|
const coordRef = import_react57.useRef(null);
|
|
72199
72226
|
const workerMetaRef = import_react57.useRef(new Map);
|
|
72200
72227
|
const nextPollAtRef = import_react57.useRef(0);
|
|
@@ -72258,11 +72285,14 @@ function AgentMode({ args, projectRoot, statesDir, tasksDir }) {
|
|
|
72258
72285
|
const m = workerMetaRef.current.get(changeName);
|
|
72259
72286
|
if (!m)
|
|
72260
72287
|
return;
|
|
72261
|
-
|
|
72288
|
+
const clean = cleanOutputLine(line);
|
|
72289
|
+
if (!clean)
|
|
72290
|
+
return;
|
|
72291
|
+
m.tail.push(clean);
|
|
72262
72292
|
if (m.tail.length > TAIL_BUFFER_SIZE)
|
|
72263
72293
|
m.tail.splice(0, m.tail.length - TAIL_BUFFER_SIZE);
|
|
72264
72294
|
},
|
|
72265
|
-
onWorkerCmd: (changeName, cmd, state
|
|
72295
|
+
onWorkerCmd: (changeName, cmd, state) => {
|
|
72266
72296
|
const m = workerMetaRef.current.get(changeName);
|
|
72267
72297
|
if (!m)
|
|
72268
72298
|
return;
|
|
@@ -72278,20 +72308,6 @@ function AgentMode({ args, projectRoot, statesDir, tasksDir }) {
|
|
|
72278
72308
|
m.prUrl = prUrl;
|
|
72279
72309
|
}
|
|
72280
72310
|
});
|
|
72281
|
-
appendLog(` concurrency: ${concurrency} \xB7 poll: ${pollInterval}s \xB7 ${cfg2.engine}/${cfg2.model}`, "gray");
|
|
72282
|
-
const feats = [];
|
|
72283
|
-
if (cfg2.createPrOnSuccess)
|
|
72284
|
-
feats.push("createPR");
|
|
72285
|
-
if (cfg2.fixCiOnFailure)
|
|
72286
|
-
feats.push("fixCI");
|
|
72287
|
-
if (cfg2.useWorktree)
|
|
72288
|
-
feats.push("worktree");
|
|
72289
|
-
if (cfg2.maxIterationsPerTask > 0)
|
|
72290
|
-
feats.push(`maxIter=${cfg2.maxIterationsPerTask}`);
|
|
72291
|
-
if (cfg2.maxCostUsdPerTask > 0)
|
|
72292
|
-
feats.push(`maxCost=$${cfg2.maxCostUsdPerTask}`);
|
|
72293
|
-
if (feats.length)
|
|
72294
|
-
appendLog(` features: ${feats.join(", ")}`, "gray");
|
|
72295
72311
|
coordRef.current = coord2;
|
|
72296
72312
|
await coord2.init();
|
|
72297
72313
|
const tick = async () => {
|
|
@@ -72376,7 +72392,26 @@ function AgentMode({ args, projectRoot, statesDir, tasksDir }) {
|
|
|
72376
72392
|
const now2 = Date.now();
|
|
72377
72393
|
const secsToNextPoll = nextPollAtRef.current ? Math.max(0, Math.ceil((nextPollAtRef.current - now2) / 1000)) : null;
|
|
72378
72394
|
const activeCount = coord?.activeCount ?? 0;
|
|
72379
|
-
const
|
|
72395
|
+
const termWidth = (stdout?.columns ?? 100) - 2;
|
|
72396
|
+
const termHeight = stdout?.rows ?? 40;
|
|
72397
|
+
const safeFocusedIdx = activeCount > 0 ? Math.min(focusedIdx, activeCount - 1) : 0;
|
|
72398
|
+
use_input_default((input, key) => {
|
|
72399
|
+
if (activeCount === 0)
|
|
72400
|
+
return;
|
|
72401
|
+
if (key.tab || key.rightArrow) {
|
|
72402
|
+
setFocusedIdx((i) => (Math.min(i, activeCount - 1) + 1) % activeCount);
|
|
72403
|
+
} else if (key.leftArrow) {
|
|
72404
|
+
setFocusedIdx((i) => (Math.min(i, activeCount - 1) - 1 + activeCount) % activeCount);
|
|
72405
|
+
} else {
|
|
72406
|
+
const n = parseInt(input, 10);
|
|
72407
|
+
if (!isNaN(n) && n >= 1 && n <= activeCount)
|
|
72408
|
+
setFocusedIdx(n - 1);
|
|
72409
|
+
}
|
|
72410
|
+
}, { isActive: isRawModeSupported && activeCount > 1 });
|
|
72411
|
+
const FIXED_OVERHEAD = 22;
|
|
72412
|
+
const nonFocusedCount = Math.max(0, activeCount - 1);
|
|
72413
|
+
const focusedTailLines = Math.max(5, termHeight - FIXED_OVERHEAD - nonFocusedCount);
|
|
72414
|
+
const compactTailLines = displayTailLines(activeCount);
|
|
72380
72415
|
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72381
72416
|
flexDirection: "column",
|
|
72382
72417
|
children: [
|
|
@@ -72390,45 +72425,306 @@ function AgentMode({ args, projectRoot, statesDir, tasksDir }) {
|
|
|
72390
72425
|
}, line.id, false, undefined, this)
|
|
72391
72426
|
}, undefined, false, undefined, this),
|
|
72392
72427
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72393
|
-
marginTop: 1,
|
|
72394
72428
|
flexDirection: "column",
|
|
72429
|
+
marginTop: 1,
|
|
72395
72430
|
children: [
|
|
72396
|
-
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(
|
|
72397
|
-
|
|
72431
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72432
|
+
borderStyle: "round",
|
|
72433
|
+
borderColor: "blue",
|
|
72434
|
+
flexDirection: "column",
|
|
72435
|
+
paddingX: 1,
|
|
72436
|
+
width: termWidth,
|
|
72398
72437
|
children: [
|
|
72399
|
-
|
|
72400
|
-
|
|
72401
|
-
|
|
72438
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72439
|
+
children: [
|
|
72440
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72441
|
+
bold: true,
|
|
72442
|
+
color: "cyan",
|
|
72443
|
+
children: [
|
|
72444
|
+
"\u25C8 RALPH AGENT",
|
|
72445
|
+
" "
|
|
72446
|
+
]
|
|
72447
|
+
}, undefined, true, undefined, this),
|
|
72448
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72449
|
+
dimColor: true,
|
|
72450
|
+
children: [
|
|
72451
|
+
"v",
|
|
72452
|
+
VERSION
|
|
72453
|
+
]
|
|
72454
|
+
}, undefined, true, undefined, this),
|
|
72455
|
+
cfg && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72456
|
+
children: [
|
|
72457
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72458
|
+
dimColor: true,
|
|
72459
|
+
children: " \u2502 "
|
|
72460
|
+
}, undefined, false, undefined, this),
|
|
72461
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72462
|
+
color: "cyan",
|
|
72463
|
+
bold: true,
|
|
72464
|
+
children: [
|
|
72465
|
+
cfg.engine,
|
|
72466
|
+
"/",
|
|
72467
|
+
cfg.model
|
|
72468
|
+
]
|
|
72469
|
+
}, undefined, true, undefined, this),
|
|
72470
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72471
|
+
dimColor: true,
|
|
72472
|
+
children: [
|
|
72473
|
+
" \u2502 \xD7",
|
|
72474
|
+
cfg.concurrency
|
|
72475
|
+
]
|
|
72476
|
+
}, undefined, true, undefined, this),
|
|
72477
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72478
|
+
dimColor: true,
|
|
72479
|
+
children: [
|
|
72480
|
+
" \u2502 poll ",
|
|
72481
|
+
cfg.pollIntervalSeconds,
|
|
72482
|
+
"s"
|
|
72483
|
+
]
|
|
72484
|
+
}, undefined, true, undefined, this),
|
|
72485
|
+
cfg.maxIterationsPerTask > 0 && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72486
|
+
color: "yellow",
|
|
72487
|
+
children: [
|
|
72488
|
+
" \u2502 iter \u2264",
|
|
72489
|
+
cfg.maxIterationsPerTask
|
|
72490
|
+
]
|
|
72491
|
+
}, undefined, true, undefined, this),
|
|
72492
|
+
cfg.maxCostUsdPerTask > 0 && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72493
|
+
color: "yellow",
|
|
72494
|
+
children: [
|
|
72495
|
+
" \u2502 cost \u2264$",
|
|
72496
|
+
cfg.maxCostUsdPerTask
|
|
72497
|
+
]
|
|
72498
|
+
}, undefined, true, undefined, this),
|
|
72499
|
+
cfg.createPrOnSuccess && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72500
|
+
color: "green",
|
|
72501
|
+
children: " \u25CF PR"
|
|
72502
|
+
}, undefined, false, undefined, this),
|
|
72503
|
+
cfg.fixCiOnFailure && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72504
|
+
color: "green",
|
|
72505
|
+
children: " \u25CF fixCI"
|
|
72506
|
+
}, undefined, false, undefined, this),
|
|
72507
|
+
cfg.useWorktree && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72508
|
+
color: "green",
|
|
72509
|
+
children: " \u25CF worktree"
|
|
72510
|
+
}, undefined, false, undefined, this)
|
|
72511
|
+
]
|
|
72512
|
+
}, undefined, true, undefined, this)
|
|
72513
|
+
]
|
|
72514
|
+
}, undefined, true, undefined, this),
|
|
72515
|
+
pollStatus.filterDesc && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72516
|
+
dimColor: true,
|
|
72517
|
+
children: [
|
|
72518
|
+
"Linear ",
|
|
72519
|
+
trunc(pollStatus.filterDesc.replace(/, /g, " \xB7 "), termWidth - 12)
|
|
72520
|
+
]
|
|
72521
|
+
}, undefined, true, undefined, this)
|
|
72402
72522
|
]
|
|
72403
72523
|
}, undefined, true, undefined, this),
|
|
72404
72524
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72525
|
+
flexDirection: "row",
|
|
72526
|
+
gap: 1,
|
|
72527
|
+
marginTop: 1,
|
|
72528
|
+
width: termWidth,
|
|
72405
72529
|
children: [
|
|
72406
|
-
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(
|
|
72407
|
-
|
|
72530
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72531
|
+
borderStyle: "round",
|
|
72532
|
+
borderColor: "gray",
|
|
72533
|
+
flexDirection: "column",
|
|
72534
|
+
paddingX: 1,
|
|
72535
|
+
flexGrow: 1,
|
|
72408
72536
|
children: [
|
|
72409
|
-
|
|
72410
|
-
|
|
72411
|
-
|
|
72412
|
-
|
|
72413
|
-
|
|
72537
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72538
|
+
dimColor: true,
|
|
72539
|
+
bold: true,
|
|
72540
|
+
children: "POLL STATUS"
|
|
72541
|
+
}, undefined, false, undefined, this),
|
|
72542
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72543
|
+
gap: 2,
|
|
72544
|
+
marginTop: 0,
|
|
72545
|
+
children: [
|
|
72546
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72547
|
+
color: "gray",
|
|
72548
|
+
children: spinnerFrame
|
|
72549
|
+
}, undefined, false, undefined, this),
|
|
72550
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72551
|
+
children: pollStatus.state === "polling" ? "Polling Linear\u2026" : pollStatus.lastAt !== null ? "Idle" : "Starting\u2026"
|
|
72552
|
+
}, undefined, false, undefined, this),
|
|
72553
|
+
pollStatus.lastAt !== null && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(jsx_dev_runtime9.Fragment, {
|
|
72554
|
+
children: [
|
|
72555
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72556
|
+
dimColor: true,
|
|
72557
|
+
children: "\u2502"
|
|
72558
|
+
}, undefined, false, undefined, this),
|
|
72559
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72560
|
+
dimColor: true,
|
|
72561
|
+
children: "found"
|
|
72562
|
+
}, undefined, false, undefined, this),
|
|
72563
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72564
|
+
color: "white",
|
|
72565
|
+
children: pollStatus.lastFound
|
|
72566
|
+
}, undefined, false, undefined, this),
|
|
72567
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72568
|
+
dimColor: true,
|
|
72569
|
+
children: "\u2502"
|
|
72570
|
+
}, undefined, false, undefined, this),
|
|
72571
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72572
|
+
dimColor: true,
|
|
72573
|
+
children: "new"
|
|
72574
|
+
}, undefined, false, undefined, this),
|
|
72575
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72576
|
+
color: pollStatus.lastAdded > 0 ? "green" : "white",
|
|
72577
|
+
children: pollStatus.lastAdded
|
|
72578
|
+
}, undefined, false, undefined, this),
|
|
72579
|
+
secsToNextPoll !== null && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(jsx_dev_runtime9.Fragment, {
|
|
72580
|
+
children: [
|
|
72581
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72582
|
+
dimColor: true,
|
|
72583
|
+
children: "\u2502"
|
|
72584
|
+
}, undefined, false, undefined, this),
|
|
72585
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72586
|
+
dimColor: true,
|
|
72587
|
+
children: "next in"
|
|
72588
|
+
}, undefined, false, undefined, this),
|
|
72589
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72590
|
+
color: "gray",
|
|
72591
|
+
children: [
|
|
72592
|
+
secsToNextPoll,
|
|
72593
|
+
"s"
|
|
72594
|
+
]
|
|
72595
|
+
}, undefined, true, undefined, this)
|
|
72596
|
+
]
|
|
72597
|
+
}, undefined, true, undefined, this)
|
|
72598
|
+
]
|
|
72599
|
+
}, undefined, true, undefined, this)
|
|
72600
|
+
]
|
|
72601
|
+
}, undefined, true, undefined, this)
|
|
72414
72602
|
]
|
|
72415
72603
|
}, undefined, true, undefined, this),
|
|
72416
|
-
|
|
72417
|
-
|
|
72604
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72605
|
+
borderStyle: "round",
|
|
72606
|
+
borderColor: "gray",
|
|
72607
|
+
flexDirection: "column",
|
|
72608
|
+
paddingX: 1,
|
|
72609
|
+
minWidth: 28,
|
|
72418
72610
|
children: [
|
|
72419
|
-
|
|
72420
|
-
|
|
72611
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72612
|
+
dimColor: true,
|
|
72613
|
+
bold: true,
|
|
72614
|
+
children: "WORKERS"
|
|
72615
|
+
}, undefined, false, undefined, this),
|
|
72616
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72617
|
+
gap: 3,
|
|
72618
|
+
marginTop: 0,
|
|
72619
|
+
children: [
|
|
72620
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72621
|
+
gap: 1,
|
|
72622
|
+
children: [
|
|
72623
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72624
|
+
dimColor: true,
|
|
72625
|
+
children: "active"
|
|
72626
|
+
}, undefined, false, undefined, this),
|
|
72627
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72628
|
+
color: activeCount > 0 ? "cyan" : "gray",
|
|
72629
|
+
bold: true,
|
|
72630
|
+
children: activeCount
|
|
72631
|
+
}, undefined, false, undefined, this)
|
|
72632
|
+
]
|
|
72633
|
+
}, undefined, true, undefined, this),
|
|
72634
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72635
|
+
gap: 1,
|
|
72636
|
+
children: [
|
|
72637
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72638
|
+
dimColor: true,
|
|
72639
|
+
children: "queued"
|
|
72640
|
+
}, undefined, false, undefined, this),
|
|
72641
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72642
|
+
color: coord?.queuedCount ?? 0 > 0 ? "yellow" : "gray",
|
|
72643
|
+
bold: true,
|
|
72644
|
+
children: coord?.queuedCount ?? 0
|
|
72645
|
+
}, undefined, false, undefined, this)
|
|
72646
|
+
]
|
|
72647
|
+
}, undefined, true, undefined, this)
|
|
72648
|
+
]
|
|
72649
|
+
}, undefined, true, undefined, this)
|
|
72421
72650
|
]
|
|
72422
72651
|
}, undefined, true, undefined, this)
|
|
72423
72652
|
]
|
|
72424
72653
|
}, undefined, true, undefined, this),
|
|
72425
|
-
|
|
72654
|
+
activeCount > 0 && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72655
|
+
borderStyle: "round",
|
|
72656
|
+
borderColor: "gray",
|
|
72657
|
+
flexDirection: "column",
|
|
72658
|
+
paddingX: 1,
|
|
72659
|
+
marginTop: 1,
|
|
72660
|
+
width: termWidth,
|
|
72661
|
+
children: [
|
|
72662
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72663
|
+
gap: 1,
|
|
72664
|
+
children: [
|
|
72665
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72666
|
+
dimColor: true,
|
|
72667
|
+
bold: true,
|
|
72668
|
+
children: "TASKS"
|
|
72669
|
+
}, undefined, false, undefined, this),
|
|
72670
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72671
|
+
dimColor: true,
|
|
72672
|
+
children: activeCount > 1 ? " Tab/\u2190 \u2192 to switch \xB7 1-9 jump" : ""
|
|
72673
|
+
}, undefined, false, undefined, this)
|
|
72674
|
+
]
|
|
72675
|
+
}, undefined, true, undefined, this),
|
|
72676
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72677
|
+
gap: 3,
|
|
72678
|
+
flexWrap: "wrap",
|
|
72679
|
+
children: coord?.activeWorkers.map((w, idx) => {
|
|
72680
|
+
const meta = workerMetaRef.current.get(w.changeName);
|
|
72681
|
+
const phase = meta?.phase ?? "working";
|
|
72682
|
+
const pBadge = priorityBadge(w.issue.priority);
|
|
72683
|
+
const isFocused = idx === safeFocusedIdx;
|
|
72684
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72685
|
+
gap: 1,
|
|
72686
|
+
children: [
|
|
72687
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72688
|
+
color: isFocused ? "white" : "gray",
|
|
72689
|
+
bold: isFocused,
|
|
72690
|
+
children: [
|
|
72691
|
+
"[",
|
|
72692
|
+
idx + 1,
|
|
72693
|
+
"]"
|
|
72694
|
+
]
|
|
72695
|
+
}, undefined, true, undefined, this),
|
|
72696
|
+
pBadge.label && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72697
|
+
color: pBadge.color,
|
|
72698
|
+
children: pBadge.text
|
|
72699
|
+
}, undefined, false, undefined, this),
|
|
72700
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72701
|
+
color: isFocused ? "cyan" : "gray",
|
|
72702
|
+
bold: isFocused,
|
|
72703
|
+
children: w.issueIdentifier
|
|
72704
|
+
}, undefined, false, undefined, this),
|
|
72705
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72706
|
+
color: phaseColor(phase),
|
|
72707
|
+
dimColor: !isFocused,
|
|
72708
|
+
children: phase
|
|
72709
|
+
}, undefined, false, undefined, this),
|
|
72710
|
+
isFocused && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72711
|
+
color: "white",
|
|
72712
|
+
children: "\u25C0"
|
|
72713
|
+
}, undefined, false, undefined, this)
|
|
72714
|
+
]
|
|
72715
|
+
}, w.changeName, true, undefined, this);
|
|
72716
|
+
})
|
|
72717
|
+
}, undefined, false, undefined, this)
|
|
72718
|
+
]
|
|
72719
|
+
}, undefined, true, undefined, this),
|
|
72720
|
+
coord?.activeWorkers.map((w, idx) => {
|
|
72721
|
+
const isFocused = idx === safeFocusedIdx;
|
|
72426
72722
|
const meta = workerMetaRef.current.get(w.changeName);
|
|
72427
72723
|
const elapsed = meta ? fmtElapsed(now2 - meta.startedAt) : "\u2013";
|
|
72428
72724
|
const iter = meta?.iter ?? 0;
|
|
72429
72725
|
const phase = meta?.phase ?? "working";
|
|
72430
72726
|
const phaseElapsed = meta ? fmtElapsed(now2 - meta.phaseStartedAt) : "\u2013";
|
|
72431
|
-
const phaseDetail = meta?.phaseDetail
|
|
72727
|
+
const phaseDetail = meta?.phaseDetail ?? "";
|
|
72432
72728
|
const cmd = meta?.currentCmd;
|
|
72433
72729
|
const cmdElapsed = cmd ? fmtElapsed(now2 - cmd.startedAt) : null;
|
|
72434
72730
|
const tail2 = meta?.tail ?? [];
|
|
@@ -72436,136 +72732,277 @@ function AgentMode({ args, projectRoot, statesDir, tasksDir }) {
|
|
|
72436
72732
|
const currentTask = meta?.currentTask ?? null;
|
|
72437
72733
|
const pBadge = priorityBadge(w.issue.priority);
|
|
72438
72734
|
const mBadge = modeBadge(w.mode);
|
|
72439
|
-
const issueTitle = trunc(w.issue.title, 52);
|
|
72440
72735
|
const pColor = phaseColor(phase);
|
|
72736
|
+
const bColor = isFocused ? workerBorderColor(phase) : "gray";
|
|
72737
|
+
const visibleTailLines = isFocused ? focusedTailLines : compactTailLines;
|
|
72738
|
+
if (!isFocused && activeCount > 1) {
|
|
72739
|
+
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72740
|
+
borderStyle: "round",
|
|
72741
|
+
borderColor: "gray",
|
|
72742
|
+
paddingX: 1,
|
|
72743
|
+
marginTop: 1,
|
|
72744
|
+
gap: 2,
|
|
72745
|
+
width: termWidth,
|
|
72746
|
+
children: [
|
|
72747
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72748
|
+
dimColor: true,
|
|
72749
|
+
children: [
|
|
72750
|
+
"[",
|
|
72751
|
+
idx + 1,
|
|
72752
|
+
"]"
|
|
72753
|
+
]
|
|
72754
|
+
}, undefined, true, undefined, this),
|
|
72755
|
+
pBadge.label && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72756
|
+
color: pBadge.color,
|
|
72757
|
+
children: pBadge.text
|
|
72758
|
+
}, undefined, false, undefined, this),
|
|
72759
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72760
|
+
color: "gray",
|
|
72761
|
+
bold: true,
|
|
72762
|
+
children: w.issueIdentifier
|
|
72763
|
+
}, undefined, false, undefined, this),
|
|
72764
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72765
|
+
dimColor: true,
|
|
72766
|
+
children: trunc(w.issue.title, 40)
|
|
72767
|
+
}, undefined, false, undefined, this),
|
|
72768
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72769
|
+
dimColor: true,
|
|
72770
|
+
children: "\u2502"
|
|
72771
|
+
}, undefined, false, undefined, this),
|
|
72772
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72773
|
+
color: pColor,
|
|
72774
|
+
dimColor: true,
|
|
72775
|
+
children: phase
|
|
72776
|
+
}, undefined, false, undefined, this),
|
|
72777
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72778
|
+
dimColor: true,
|
|
72779
|
+
children: "\u2502"
|
|
72780
|
+
}, undefined, false, undefined, this),
|
|
72781
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72782
|
+
dimColor: true,
|
|
72783
|
+
children: elapsed
|
|
72784
|
+
}, undefined, false, undefined, this),
|
|
72785
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72786
|
+
dimColor: true,
|
|
72787
|
+
children: "\xB7"
|
|
72788
|
+
}, undefined, false, undefined, this),
|
|
72789
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72790
|
+
dimColor: true,
|
|
72791
|
+
children: [
|
|
72792
|
+
"iter ",
|
|
72793
|
+
iter
|
|
72794
|
+
]
|
|
72795
|
+
}, undefined, true, undefined, this),
|
|
72796
|
+
currentTask && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(jsx_dev_runtime9.Fragment, {
|
|
72797
|
+
children: [
|
|
72798
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72799
|
+
dimColor: true,
|
|
72800
|
+
children: "\u2502"
|
|
72801
|
+
}, undefined, false, undefined, this),
|
|
72802
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72803
|
+
dimColor: true,
|
|
72804
|
+
children: [
|
|
72805
|
+
"\u25B6 ",
|
|
72806
|
+
trunc(currentTask, 40)
|
|
72807
|
+
]
|
|
72808
|
+
}, undefined, true, undefined, this)
|
|
72809
|
+
]
|
|
72810
|
+
}, undefined, true, undefined, this)
|
|
72811
|
+
]
|
|
72812
|
+
}, w.changeName, true, undefined, this);
|
|
72813
|
+
}
|
|
72441
72814
|
return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72815
|
+
borderStyle: "round",
|
|
72816
|
+
borderColor: bColor,
|
|
72442
72817
|
flexDirection: "column",
|
|
72818
|
+
paddingX: 1,
|
|
72443
72819
|
marginTop: 1,
|
|
72820
|
+
width: termWidth,
|
|
72444
72821
|
children: [
|
|
72445
72822
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72823
|
+
gap: 2,
|
|
72446
72824
|
children: [
|
|
72447
72825
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72448
|
-
children:
|
|
72826
|
+
children: spinnerFrame
|
|
72449
72827
|
}, undefined, false, undefined, this),
|
|
72450
|
-
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72828
|
+
pBadge.label && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72829
|
+
color: pBadge.color,
|
|
72451
72830
|
children: [
|
|
72452
|
-
|
|
72453
|
-
" "
|
|
72831
|
+
pBadge.text,
|
|
72832
|
+
" ",
|
|
72833
|
+
pBadge.label
|
|
72454
72834
|
]
|
|
72455
72835
|
}, undefined, true, undefined, this),
|
|
72456
72836
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72457
|
-
color:
|
|
72458
|
-
|
|
72837
|
+
color: "cyan",
|
|
72838
|
+
bold: true,
|
|
72839
|
+
children: w.issueIdentifier
|
|
72459
72840
|
}, undefined, false, undefined, this),
|
|
72460
72841
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72461
|
-
|
|
72842
|
+
color: "white",
|
|
72843
|
+
bold: true,
|
|
72844
|
+
children: trunc(w.issue.title, Math.max(30, termWidth - 60))
|
|
72462
72845
|
}, undefined, false, undefined, this),
|
|
72463
72846
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72464
|
-
color:
|
|
72847
|
+
color: mBadge.color,
|
|
72465
72848
|
bold: true,
|
|
72466
|
-
children:
|
|
72849
|
+
children: [
|
|
72850
|
+
"[",
|
|
72851
|
+
mBadge.text,
|
|
72852
|
+
"]"
|
|
72853
|
+
]
|
|
72854
|
+
}, undefined, true, undefined, this),
|
|
72855
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72856
|
+
dimColor: true,
|
|
72857
|
+
children: "\u2502"
|
|
72467
72858
|
}, undefined, false, undefined, this),
|
|
72468
72859
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72469
72860
|
dimColor: true,
|
|
72470
|
-
children: "
|
|
72861
|
+
children: "elapsed"
|
|
72471
72862
|
}, undefined, false, undefined, this),
|
|
72472
72863
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72473
|
-
|
|
72864
|
+
color: "white",
|
|
72865
|
+
children: elapsed
|
|
72474
72866
|
}, undefined, false, undefined, this),
|
|
72475
72867
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72476
72868
|
dimColor: true,
|
|
72477
|
-
children: "
|
|
72869
|
+
children: "\u2502"
|
|
72478
72870
|
}, undefined, false, undefined, this),
|
|
72479
72871
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72480
|
-
|
|
72872
|
+
dimColor: true,
|
|
72873
|
+
children: "iter"
|
|
72874
|
+
}, undefined, false, undefined, this),
|
|
72875
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72876
|
+
color: "white",
|
|
72877
|
+
bold: true,
|
|
72878
|
+
children: iter
|
|
72879
|
+
}, undefined, false, undefined, this)
|
|
72880
|
+
]
|
|
72881
|
+
}, undefined, true, undefined, this),
|
|
72882
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72883
|
+
gap: 3,
|
|
72884
|
+
marginTop: 0,
|
|
72885
|
+
children: [
|
|
72886
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72887
|
+
gap: 1,
|
|
72481
72888
|
children: [
|
|
72482
|
-
|
|
72483
|
-
|
|
72484
|
-
|
|
72889
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72890
|
+
dimColor: true,
|
|
72891
|
+
children: "\u2197 LINEAR"
|
|
72892
|
+
}, undefined, false, undefined, this),
|
|
72893
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72894
|
+
color: "blue",
|
|
72895
|
+
children: w.issueIdentifier
|
|
72896
|
+
}, undefined, false, undefined, this)
|
|
72485
72897
|
]
|
|
72486
72898
|
}, undefined, true, undefined, this),
|
|
72487
|
-
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(
|
|
72488
|
-
|
|
72899
|
+
prUrl && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72900
|
+
gap: 1,
|
|
72489
72901
|
children: [
|
|
72490
|
-
|
|
72491
|
-
|
|
72492
|
-
|
|
72493
|
-
|
|
72902
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72903
|
+
dimColor: true,
|
|
72904
|
+
children: "\u2197 PR"
|
|
72905
|
+
}, undefined, false, undefined, this),
|
|
72906
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72907
|
+
color: "green",
|
|
72908
|
+
children: prLabel(prUrl)
|
|
72909
|
+
}, undefined, false, undefined, this)
|
|
72494
72910
|
]
|
|
72495
72911
|
}, undefined, true, undefined, this)
|
|
72496
72912
|
]
|
|
72497
72913
|
}, undefined, true, undefined, this),
|
|
72498
|
-
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72499
|
-
dimColor: true,
|
|
72500
|
-
children: [
|
|
72501
|
-
" \u2197 ",
|
|
72502
|
-
w.issue.url
|
|
72503
|
-
]
|
|
72504
|
-
}, undefined, true, undefined, this),
|
|
72505
72914
|
currentTask && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72915
|
+
gap: 1,
|
|
72916
|
+
marginTop: 0,
|
|
72506
72917
|
children: [
|
|
72507
72918
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72508
|
-
|
|
72509
|
-
|
|
72919
|
+
color: "yellow",
|
|
72920
|
+
bold: true,
|
|
72921
|
+
children: "\u25B6 TASK"
|
|
72510
72922
|
}, undefined, false, undefined, this),
|
|
72511
72923
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72512
72924
|
color: "white",
|
|
72513
|
-
children: trunc(currentTask,
|
|
72925
|
+
children: trunc(currentTask, termWidth - 14)
|
|
72514
72926
|
}, undefined, false, undefined, this)
|
|
72515
72927
|
]
|
|
72516
72928
|
}, undefined, true, undefined, this),
|
|
72517
72929
|
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72930
|
+
gap: 3,
|
|
72931
|
+
marginTop: 0,
|
|
72518
72932
|
children: [
|
|
72519
|
-
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(
|
|
72520
|
-
|
|
72521
|
-
children: " phase: "
|
|
72522
|
-
}, undefined, false, undefined, this),
|
|
72523
|
-
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72524
|
-
color: pColor,
|
|
72933
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72934
|
+
gap: 1,
|
|
72525
72935
|
children: [
|
|
72526
|
-
|
|
72527
|
-
|
|
72936
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72937
|
+
dimColor: true,
|
|
72938
|
+
children: "PHASE"
|
|
72939
|
+
}, undefined, false, undefined, this),
|
|
72940
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72941
|
+
color: pColor,
|
|
72942
|
+
bold: true,
|
|
72943
|
+
children: [
|
|
72944
|
+
phase,
|
|
72945
|
+
phaseDetail ? ` (${phaseDetail})` : ""
|
|
72946
|
+
]
|
|
72947
|
+
}, undefined, true, undefined, this),
|
|
72948
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72949
|
+
dimColor: true,
|
|
72950
|
+
children: phaseElapsed
|
|
72951
|
+
}, undefined, false, undefined, this)
|
|
72528
72952
|
]
|
|
72529
72953
|
}, undefined, true, undefined, this),
|
|
72530
|
-
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(
|
|
72531
|
-
|
|
72954
|
+
cmd && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72955
|
+
gap: 1,
|
|
72532
72956
|
children: [
|
|
72533
|
-
|
|
72534
|
-
|
|
72957
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72958
|
+
color: "yellow",
|
|
72959
|
+
children: "\u23F5 CMD"
|
|
72960
|
+
}, undefined, false, undefined, this),
|
|
72961
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72962
|
+
color: "yellow",
|
|
72963
|
+
children: fmtCmd(cmd.argv)
|
|
72964
|
+
}, undefined, false, undefined, this),
|
|
72965
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72966
|
+
dimColor: true,
|
|
72967
|
+
children: cmdElapsed
|
|
72968
|
+
}, undefined, false, undefined, this)
|
|
72969
|
+
]
|
|
72970
|
+
}, undefined, true, undefined, this),
|
|
72971
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72972
|
+
gap: 1,
|
|
72973
|
+
children: [
|
|
72974
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72975
|
+
dimColor: true,
|
|
72976
|
+
children: "LOG"
|
|
72977
|
+
}, undefined, false, undefined, this),
|
|
72978
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72979
|
+
dimColor: true,
|
|
72980
|
+
children: trunc(meta?.logFile ?? "\u2013", 60)
|
|
72981
|
+
}, undefined, false, undefined, this)
|
|
72535
72982
|
]
|
|
72536
72983
|
}, undefined, true, undefined, this)
|
|
72537
72984
|
]
|
|
72538
72985
|
}, undefined, true, undefined, this),
|
|
72539
|
-
|
|
72540
|
-
|
|
72541
|
-
|
|
72542
|
-
" \u2197 pr: ",
|
|
72543
|
-
prUrl
|
|
72544
|
-
]
|
|
72545
|
-
}, undefined, true, undefined, this),
|
|
72546
|
-
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72547
|
-
dimColor: true,
|
|
72548
|
-
children: [
|
|
72549
|
-
" log: ",
|
|
72550
|
-
meta?.logFile ?? "\u2013"
|
|
72551
|
-
]
|
|
72552
|
-
}, undefined, true, undefined, this),
|
|
72553
|
-
cmd && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72554
|
-
color: "yellow",
|
|
72555
|
-
children: [
|
|
72556
|
-
" \u23F5 ",
|
|
72557
|
-
fmtCmd(cmd.argv),
|
|
72558
|
-
" \xB7 ",
|
|
72559
|
-
cmdElapsed
|
|
72560
|
-
]
|
|
72561
|
-
}, undefined, true, undefined, this),
|
|
72562
|
-
tail2.slice(-tailLines).map((line, i) => /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72563
|
-
dimColor: true,
|
|
72986
|
+
tail2.length > 0 && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
|
|
72987
|
+
flexDirection: "column",
|
|
72988
|
+
marginTop: 0,
|
|
72564
72989
|
children: [
|
|
72565
|
-
|
|
72566
|
-
|
|
72990
|
+
/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72991
|
+
dimColor: true,
|
|
72992
|
+
children: [
|
|
72993
|
+
"\u2500 OUTPUT ",
|
|
72994
|
+
"\u2500".repeat(Math.max(4, termWidth - 14))
|
|
72995
|
+
]
|
|
72996
|
+
}, undefined, true, undefined, this),
|
|
72997
|
+
tail2.slice(-visibleTailLines).map((line, i) => /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
|
|
72998
|
+
dimColor: true,
|
|
72999
|
+
children: [
|
|
73000
|
+
"\u2502 ",
|
|
73001
|
+
trunc(line, termWidth - 6)
|
|
73002
|
+
]
|
|
73003
|
+
}, `${w.changeName}-tail-${i}`, true, undefined, this))
|
|
72567
73004
|
]
|
|
72568
|
-
},
|
|
73005
|
+
}, undefined, true, undefined, this)
|
|
72569
73006
|
]
|
|
72570
73007
|
}, w.changeName, true, undefined, this);
|
|
72571
73008
|
})
|