@bojackduy/opencode-loopd 1.10.4 → 1.11.2
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/CHANGELOG.md +1 -0
- package/README.md +24 -1
- package/commands/goal.md +2 -2
- package/dist/server.js +771 -48
- package/dist/tui.js +1246 -868
- package/package.json +1 -1
- package/skills/loopd/SKILL.md +76 -11
package/dist/tui.js
CHANGED
|
@@ -6001,12 +6001,28 @@ function commandHelp() {
|
|
|
6001
6001
|
" :pause / :resume / :retry / :clear Quick controls (also p/r/R/x)",
|
|
6002
6002
|
" :abort Abort worker session now (status unchanged; A)",
|
|
6003
6003
|
" :nudge Force re-prompt now with full steering (N)",
|
|
6004
|
+
" :interactive Toggle manual mode (engine never starts turns)",
|
|
6005
|
+
" :model <provider/model> Switch this goal's model (same worker; :models lists options)",
|
|
6004
6006
|
" :bug / :report Open prefilled GitHub bug report",
|
|
6005
6007
|
" :logs / :help / :q Toggle logs / help / close",
|
|
6006
6008
|
" Tip: create goals via /goal in the parent chat (agent clarifies first)."
|
|
6007
6009
|
].join(`
|
|
6008
6010
|
`);
|
|
6009
6011
|
}
|
|
6012
|
+
function commandTabHelp() {
|
|
6013
|
+
return [
|
|
6014
|
+
"Nav: j/k select | o fullscreen | q close",
|
|
6015
|
+
"Commands tab (selected command only):",
|
|
6016
|
+
" c / Ctrl+C Toggle finished / send SIGINT",
|
|
6017
|
+
" :terminate Graceful stop (SIGTERM\u2192SIGKILL)",
|
|
6018
|
+
" X / :kill Force kill now (SIGKILL)",
|
|
6019
|
+
" R / :restart Restart; old log kept",
|
|
6020
|
+
" x / :remove Remove finished + log",
|
|
6021
|
+
" :new <cmd> [args] Start a command",
|
|
6022
|
+
" bare text + Enter Write stdin line"
|
|
6023
|
+
].join(`
|
|
6024
|
+
`);
|
|
6025
|
+
}
|
|
6010
6026
|
|
|
6011
6027
|
// src/tui/command-controller.ts
|
|
6012
6028
|
function emptyCommandPanelState() {
|
|
@@ -6310,6 +6326,14 @@ function resolveOpenTarget(input) {
|
|
|
6310
6326
|
};
|
|
6311
6327
|
}
|
|
6312
6328
|
|
|
6329
|
+
// src/domain/command-await.ts
|
|
6330
|
+
var TERMINAL_COMMAND_STATUSES = [
|
|
6331
|
+
"exited",
|
|
6332
|
+
"terminated",
|
|
6333
|
+
"missing"
|
|
6334
|
+
];
|
|
6335
|
+
var MAX_AWAIT_TAIL_BYTES = 4 * 1024;
|
|
6336
|
+
|
|
6313
6337
|
// src/tui/dashboard-view.ts
|
|
6314
6338
|
function toggleDashboardView(view) {
|
|
6315
6339
|
return view === "goals" ? "commands" : "goals";
|
|
@@ -6362,8 +6386,12 @@ function resolveDashboardOpen(lists, sel, ownerSessionID, returnSessionID) {
|
|
|
6362
6386
|
returnSessionID
|
|
6363
6387
|
});
|
|
6364
6388
|
}
|
|
6365
|
-
function visibleOwnerCommands(commands, ownerSessionID) {
|
|
6366
|
-
|
|
6389
|
+
function visibleOwnerCommands(commands, ownerSessionID, showCompleted = false) {
|
|
6390
|
+
const owned = filterCommandsByOwner(commands ?? [], ownerSessionID);
|
|
6391
|
+
if (showCompleted)
|
|
6392
|
+
return owned;
|
|
6393
|
+
const terminal = TERMINAL_COMMAND_STATUSES;
|
|
6394
|
+
return owned.filter((c) => !terminal.includes(c.status));
|
|
6367
6395
|
}
|
|
6368
6396
|
|
|
6369
6397
|
// src/tui/dashboard.tsx
|
|
@@ -6651,7 +6679,13 @@ function LoopDashboard(props) {
|
|
|
6651
6679
|
const [tab, setTab] = createSignal(props.initialView ?? "goals");
|
|
6652
6680
|
const [cmdSelected, setCmdSelected] = createSignal(0);
|
|
6653
6681
|
const ownerSessionID = () => props.ownerSessionID ?? currentRouteSessionID(props.api);
|
|
6654
|
-
const ownerCommands = () => visibleOwnerCommands(state()?.commands, ownerSessionID());
|
|
6682
|
+
const ownerCommands = () => visibleOwnerCommands(state()?.commands, ownerSessionID(), showCompleted());
|
|
6683
|
+
const hiddenFinishedCommands = () => {
|
|
6684
|
+
if (showCompleted())
|
|
6685
|
+
return 0;
|
|
6686
|
+
const terminal = ["exited", "terminated", "missing"];
|
|
6687
|
+
return (state()?.commands ?? []).filter((c) => c.ownerSessionID === ownerSessionID() && terminal.includes(c.status)).length;
|
|
6688
|
+
};
|
|
6655
6689
|
const [state, setState] = createSignal(null);
|
|
6656
6690
|
const [events, setEvents] = createSignal([]);
|
|
6657
6691
|
const [selectedGoal, setSelectedGoal] = createSignal(null);
|
|
@@ -6683,7 +6717,7 @@ function LoopDashboard(props) {
|
|
|
6683
6717
|
if (goals.length > 0 && selected() >= goals.length)
|
|
6684
6718
|
setSelected(goals.length - 1);
|
|
6685
6719
|
setSelectedGoal(goals[selected()] || null);
|
|
6686
|
-
const cmds = visibleOwnerCommands(s.commands, ownerSessionID());
|
|
6720
|
+
const cmds = visibleOwnerCommands(s.commands, ownerSessionID(), showCompleted());
|
|
6687
6721
|
if (cmds.length > 0 && cmdSelected() >= cmds.length)
|
|
6688
6722
|
setCmdSelected(cmds.length - 1);
|
|
6689
6723
|
setEvents(await client.getEvents(20));
|
|
@@ -6786,9 +6820,25 @@ function LoopDashboard(props) {
|
|
|
6786
6820
|
return;
|
|
6787
6821
|
}
|
|
6788
6822
|
const key = raw || seq || name;
|
|
6823
|
+
if (tab() === "commands" && Boolean(evt.ctrl) && name === "c") {
|
|
6824
|
+
prevent(evt);
|
|
6825
|
+
const sel = selectedCommand();
|
|
6826
|
+
if (!sel) {
|
|
6827
|
+
setStatusText("No command selected.");
|
|
6828
|
+
return;
|
|
6829
|
+
}
|
|
6830
|
+
executeCommandRaw("cmd_interrupt", {
|
|
6831
|
+
commandID: sel.id
|
|
6832
|
+
}, sel.id);
|
|
6833
|
+
return;
|
|
6834
|
+
}
|
|
6789
6835
|
if (key === "c") {
|
|
6790
6836
|
prevent(evt);
|
|
6791
|
-
setShowCompleted((v) =>
|
|
6837
|
+
setShowCompleted((v) => {
|
|
6838
|
+
const next = !v;
|
|
6839
|
+
setStatusText(next ? `Showing finished ${tab() === "commands" ? "commands" : "goals"}.` : `Hiding finished ${tab() === "commands" ? "commands" : "goals"}.`);
|
|
6840
|
+
return next;
|
|
6841
|
+
});
|
|
6792
6842
|
debugLog("toggle completed");
|
|
6793
6843
|
return;
|
|
6794
6844
|
}
|
|
@@ -6839,7 +6889,22 @@ function LoopDashboard(props) {
|
|
|
6839
6889
|
applyMove("last");
|
|
6840
6890
|
return;
|
|
6841
6891
|
}
|
|
6842
|
-
|
|
6892
|
+
if (tab() === "commands" && key === "X") {
|
|
6893
|
+
prevent(evt);
|
|
6894
|
+
killSelectedCommand();
|
|
6895
|
+
return;
|
|
6896
|
+
}
|
|
6897
|
+
if (tab() === "commands" && key === "R") {
|
|
6898
|
+
prevent(evt);
|
|
6899
|
+
restartSelectedCommand();
|
|
6900
|
+
return;
|
|
6901
|
+
}
|
|
6902
|
+
if (tab() === "commands" && key === "x") {
|
|
6903
|
+
prevent(evt);
|
|
6904
|
+
removeFinishedSelected();
|
|
6905
|
+
return;
|
|
6906
|
+
}
|
|
6907
|
+
const needsGoalsTab = ["p", "r", "A", "N", "model", "models"].includes(key);
|
|
6843
6908
|
if (needsGoalsTab && tab() !== "goals") {
|
|
6844
6909
|
prevent(evt);
|
|
6845
6910
|
setStatusText("Goal controls need the Goals tab (Tab to switch).");
|
|
@@ -6945,6 +7010,40 @@ function LoopDashboard(props) {
|
|
|
6945
7010
|
function selectedCommand() {
|
|
6946
7011
|
return ownerCommands()[cmdSelected()] ?? null;
|
|
6947
7012
|
}
|
|
7013
|
+
async function killSelectedCommand() {
|
|
7014
|
+
const sel = selectedCommand();
|
|
7015
|
+
if (!sel) {
|
|
7016
|
+
setStatusText("No command selected.");
|
|
7017
|
+
return;
|
|
7018
|
+
}
|
|
7019
|
+
await executeCommandRaw("cmd_kill", {
|
|
7020
|
+
commandID: sel.id
|
|
7021
|
+
}, sel.id);
|
|
7022
|
+
}
|
|
7023
|
+
async function restartSelectedCommand() {
|
|
7024
|
+
const sel = selectedCommand();
|
|
7025
|
+
if (!sel) {
|
|
7026
|
+
setStatusText("No command selected.");
|
|
7027
|
+
return;
|
|
7028
|
+
}
|
|
7029
|
+
await executeCommandRaw("cmd_restart", {
|
|
7030
|
+
commandID: sel.id
|
|
7031
|
+
}, sel.id);
|
|
7032
|
+
}
|
|
7033
|
+
function removeFinishedSelected() {
|
|
7034
|
+
const sel = selectedCommand();
|
|
7035
|
+
if (!sel) {
|
|
7036
|
+
setStatusText("No command selected.");
|
|
7037
|
+
return;
|
|
7038
|
+
}
|
|
7039
|
+
if (sel.status === "running") {
|
|
7040
|
+
setStatusText(`"${sel.title}" is still running \u2014 X force kill \xB7 :terminate graceful \xB7 q detach (keeps running).`);
|
|
7041
|
+
return;
|
|
7042
|
+
}
|
|
7043
|
+
executeCommandRaw("cmd_remove", {
|
|
7044
|
+
commandID: sel.id
|
|
7045
|
+
}, sel.id);
|
|
7046
|
+
}
|
|
6948
7047
|
async function executeCommandTabCommand(verb, positional, raw) {
|
|
6949
7048
|
debugLog("commands-tab command", verb);
|
|
6950
7049
|
switch (verb) {
|
|
@@ -6983,6 +7082,12 @@ function LoopDashboard(props) {
|
|
|
6983
7082
|
commandID: selectedCommand().id
|
|
6984
7083
|
}, selectedCommand().id);
|
|
6985
7084
|
return;
|
|
7085
|
+
case "kill":
|
|
7086
|
+
await killSelectedCommand();
|
|
7087
|
+
return;
|
|
7088
|
+
case "restart":
|
|
7089
|
+
await restartSelectedCommand();
|
|
7090
|
+
return;
|
|
6986
7091
|
case "remove":
|
|
6987
7092
|
if (!selectedCommand()) {
|
|
6988
7093
|
setStatusText("No command selected.");
|
|
@@ -7216,6 +7321,62 @@ function LoopDashboard(props) {
|
|
|
7216
7321
|
await refresh();
|
|
7217
7322
|
break;
|
|
7218
7323
|
}
|
|
7324
|
+
case "interactive": {
|
|
7325
|
+
if (!selectedGoal()) {
|
|
7326
|
+
setStatusText("No goal");
|
|
7327
|
+
break;
|
|
7328
|
+
}
|
|
7329
|
+
const next = !(selectedGoal().interactive === true);
|
|
7330
|
+
const r = await client.execute({
|
|
7331
|
+
version: 1,
|
|
7332
|
+
requestID: randomUUID2(),
|
|
7333
|
+
requestedAt: new Date().toISOString(),
|
|
7334
|
+
command: "set_interactive",
|
|
7335
|
+
goalID: selectedGoal().id,
|
|
7336
|
+
args: {
|
|
7337
|
+
interactive: next
|
|
7338
|
+
}
|
|
7339
|
+
});
|
|
7340
|
+
setStatusText(r.ok ? r.message : `Error: ${r.message}`);
|
|
7341
|
+
if (r.ok)
|
|
7342
|
+
await refresh();
|
|
7343
|
+
break;
|
|
7344
|
+
}
|
|
7345
|
+
case "model": {
|
|
7346
|
+
if (!selectedGoal()) {
|
|
7347
|
+
setStatusText("No goal selected");
|
|
7348
|
+
break;
|
|
7349
|
+
}
|
|
7350
|
+
const target = parsed.positional.join(" ").trim();
|
|
7351
|
+
if (!target) {
|
|
7352
|
+
setStatusText("Usage: :model <provider/model> \u2014 e.g. :model openai/gpt-5.6-sol. :models lists what's available.");
|
|
7353
|
+
break;
|
|
7354
|
+
}
|
|
7355
|
+
const r = await client.execute({
|
|
7356
|
+
version: 1,
|
|
7357
|
+
requestID: randomUUID2(),
|
|
7358
|
+
requestedAt: new Date().toISOString(),
|
|
7359
|
+
command: "switch_goal_model",
|
|
7360
|
+
goalID: selectedGoal().id,
|
|
7361
|
+
args: {
|
|
7362
|
+
model: target
|
|
7363
|
+
}
|
|
7364
|
+
});
|
|
7365
|
+
setStatusText(r.ok ? r.message : `Error: ${r.message}`);
|
|
7366
|
+
if (r.ok)
|
|
7367
|
+
await refresh();
|
|
7368
|
+
break;
|
|
7369
|
+
}
|
|
7370
|
+
case "models": {
|
|
7371
|
+
const r = await client.execute({
|
|
7372
|
+
version: 1,
|
|
7373
|
+
requestID: randomUUID2(),
|
|
7374
|
+
requestedAt: new Date().toISOString(),
|
|
7375
|
+
command: "list_models"
|
|
7376
|
+
});
|
|
7377
|
+
setStatusText(r.ok ? r.message : `Error: ${r.message}`);
|
|
7378
|
+
break;
|
|
7379
|
+
}
|
|
7219
7380
|
case "goal": {
|
|
7220
7381
|
setStatusText("Create goals via /goal in the parent chat (agent clarifies first). Dashboard: :send to steer the worker.");
|
|
7221
7382
|
break;
|
|
@@ -7288,7 +7449,7 @@ function LoopDashboard(props) {
|
|
|
7288
7449
|
} catch {}
|
|
7289
7450
|
});
|
|
7290
7451
|
return (() => {
|
|
7291
|
-
var _el$ = _$createElement("box"), _el$2 = _$createElement("box"), _el$3 = _$createElement("box"), _el$4 = _$createElement("text"), _el$5 = _$createElement("span"), _el$7 = _$createElement("span"), _el$9 = _$createElement("span"), _el$0 = _$createTextNode(` `), _el$1 = _$createTextNode(` `), _el$10 = _$createElement("span"), _el$12 = _$createElement("span"), _el$13 = _$createElement("span"), _el$15 = _$createElement("span"), _el$17 = _$createElement("span"), _el$18 = _$createTextNode(` `), _el$19 = _$createTextNode(` acting now`), _el$20 = _$createElement("span"), _el$22 = _$createElement("span"), _el$23 = _$createElement("span"), _el$25 = _$createElement("span"), _el$27 = _$createElement("span"), _el$29 = _$createElement("span"), _el$31 = _$createElement("span"), _el$33 = _$createElement("span"), _el$35 = _$createElement("box"), _el$36 = _$createElement("text"), _el$37 = _$createElement("span"), _el$39 = _$createElement("box"), _el$
|
|
7452
|
+
var _el$ = _$createElement("box"), _el$2 = _$createElement("box"), _el$3 = _$createElement("box"), _el$4 = _$createElement("text"), _el$5 = _$createElement("span"), _el$7 = _$createElement("span"), _el$9 = _$createElement("span"), _el$0 = _$createTextNode(` `), _el$1 = _$createTextNode(` `), _el$10 = _$createElement("span"), _el$12 = _$createElement("span"), _el$13 = _$createElement("span"), _el$15 = _$createElement("span"), _el$17 = _$createElement("span"), _el$18 = _$createTextNode(` `), _el$19 = _$createTextNode(` acting now`), _el$20 = _$createElement("span"), _el$22 = _$createElement("span"), _el$23 = _$createElement("span"), _el$25 = _$createElement("span"), _el$27 = _$createElement("span"), _el$29 = _$createElement("span"), _el$31 = _$createElement("span"), _el$33 = _$createElement("span"), _el$35 = _$createElement("box"), _el$36 = _$createElement("text"), _el$37 = _$createElement("span"), _el$39 = _$createElement("box"), _el$51 = _$createElement("box"), _el$52 = _$createElement("text"), _el$53 = _$createElement("span"), _el$54 = _$createElement("input");
|
|
7292
7453
|
_$insertNode(_el$, _el$2);
|
|
7293
7454
|
_$setProp(_el$, "flexDirection", "column");
|
|
7294
7455
|
_$setProp(_el$, "width", "100%");
|
|
@@ -7296,7 +7457,7 @@ function LoopDashboard(props) {
|
|
|
7296
7457
|
_$setProp(_el$, "padding", 1);
|
|
7297
7458
|
_$insertNode(_el$2, _el$3);
|
|
7298
7459
|
_$insertNode(_el$2, _el$39);
|
|
7299
|
-
_$insertNode(_el$2, _el$
|
|
7460
|
+
_$insertNode(_el$2, _el$51);
|
|
7300
7461
|
_$setProp(_el$2, "flexDirection", "column");
|
|
7301
7462
|
_$setProp(_el$2, "width", "90%");
|
|
7302
7463
|
_$setProp(_el$2, "border", true);
|
|
@@ -7384,17 +7545,17 @@ function LoopDashboard(props) {
|
|
|
7384
7545
|
_$setProp(_el$40, "border", true);
|
|
7385
7546
|
_$setProp(_el$40, "borderColor", "yellow");
|
|
7386
7547
|
_$setProp(_el$40, "flexShrink", 0);
|
|
7387
|
-
_$setProp(_el$40, "maxHeight",
|
|
7548
|
+
_$setProp(_el$40, "maxHeight", 17);
|
|
7388
7549
|
_$setProp(_el$40, "overflow", "hidden");
|
|
7389
7550
|
_$insertNode(_el$41, _el$42);
|
|
7390
|
-
_$insertNode(_el$42, _$createTextNode(`\u2501\u2501\u2501 Keys: ? toggle help c toggle done : insert Ctrl+N normal o open A abort worker N nudge q close \u2501\u2501\u2501`));
|
|
7391
7551
|
_$setProp(_el$42, "style", {
|
|
7392
7552
|
fg: "yellow",
|
|
7393
7553
|
bold: true
|
|
7394
7554
|
});
|
|
7555
|
+
_$insert(_el$42, () => tab() === "commands" ? "\u2501\u2501\u2501 Commands: ? help : insert c toggle done X kill R restart x remove-done o fullscreen q close \u2501\u2501\u2501" : "\u2501\u2501\u2501 Keys: ? toggle help c toggle done : insert Ctrl+N normal o open A abort worker N nudge q close \u2501\u2501\u2501");
|
|
7395
7556
|
_$insert(_el$41, _$createComponent(For, {
|
|
7396
7557
|
get each() {
|
|
7397
|
-
return commandHelp().split(`
|
|
7558
|
+
return (tab() === "commands" ? commandTabHelp() : commandHelp()).split(`
|
|
7398
7559
|
`);
|
|
7399
7560
|
},
|
|
7400
7561
|
children: (line) => {
|
|
@@ -7404,20 +7565,20 @@ function LoopDashboard(props) {
|
|
|
7404
7565
|
const segments = rest.split(" | ");
|
|
7405
7566
|
return [`
|
|
7406
7567
|
`, (() => {
|
|
7407
|
-
var _el$
|
|
7408
|
-
_$insert(_el$
|
|
7409
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7568
|
+
var _el$55 = _$createElement("span");
|
|
7569
|
+
_$insert(_el$55, label);
|
|
7570
|
+
_$effect((_$p) => _$setProp(_el$55, "style", {
|
|
7410
7571
|
fg: theme().primary,
|
|
7411
7572
|
bold: true
|
|
7412
7573
|
}, _$p));
|
|
7413
|
-
return _el$
|
|
7574
|
+
return _el$55;
|
|
7414
7575
|
})(), (() => {
|
|
7415
|
-
var _el$
|
|
7416
|
-
_$insertNode(_el$
|
|
7417
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7576
|
+
var _el$56 = _$createElement("span");
|
|
7577
|
+
_$insertNode(_el$56, _$createTextNode(` `));
|
|
7578
|
+
_$effect((_$p) => _$setProp(_el$56, "style", {
|
|
7418
7579
|
fg: theme().textMuted
|
|
7419
7580
|
}, _$p));
|
|
7420
|
-
return _el$
|
|
7581
|
+
return _el$56;
|
|
7421
7582
|
})(), _$createComponent(For, {
|
|
7422
7583
|
each: segments,
|
|
7423
7584
|
children: (seg, idx) => {
|
|
@@ -7425,62 +7586,62 @@ function LoopDashboard(props) {
|
|
|
7425
7586
|
if (hasArrow) {
|
|
7426
7587
|
const [k, d] = seg.split("\u2192").map((s) => s.trim());
|
|
7427
7588
|
return [_$memo(() => _$memo(() => idx() > 0)() && (() => {
|
|
7428
|
-
var _el$
|
|
7429
|
-
_$insertNode(_el$
|
|
7430
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7589
|
+
var _el$62 = _$createElement("span");
|
|
7590
|
+
_$insertNode(_el$62, _$createTextNode(` | `));
|
|
7591
|
+
_$effect((_$p) => _$setProp(_el$62, "style", {
|
|
7431
7592
|
fg: theme().textMuted
|
|
7432
7593
|
}, _$p));
|
|
7433
|
-
return _el$
|
|
7594
|
+
return _el$62;
|
|
7434
7595
|
})()), (() => {
|
|
7435
|
-
var _el$
|
|
7436
|
-
_$insert(_el$
|
|
7437
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7596
|
+
var _el$58 = _$createElement("span");
|
|
7597
|
+
_$insert(_el$58, k);
|
|
7598
|
+
_$effect((_$p) => _$setProp(_el$58, "style", {
|
|
7438
7599
|
fg: theme().warning,
|
|
7439
7600
|
bold: true
|
|
7440
7601
|
}, _$p));
|
|
7441
|
-
return _el$
|
|
7602
|
+
return _el$58;
|
|
7442
7603
|
})(), (() => {
|
|
7443
|
-
var _el$
|
|
7444
|
-
_$insertNode(_el$
|
|
7445
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7604
|
+
var _el$59 = _$createElement("span");
|
|
7605
|
+
_$insertNode(_el$59, _$createTextNode(` \u2192 `));
|
|
7606
|
+
_$effect((_$p) => _$setProp(_el$59, "style", {
|
|
7446
7607
|
fg: theme().textMuted
|
|
7447
7608
|
}, _$p));
|
|
7448
|
-
return _el$
|
|
7609
|
+
return _el$59;
|
|
7449
7610
|
})(), (() => {
|
|
7450
|
-
var _el$
|
|
7451
|
-
_$insert(_el$
|
|
7452
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7611
|
+
var _el$61 = _$createElement("span");
|
|
7612
|
+
_$insert(_el$61, d);
|
|
7613
|
+
_$effect((_$p) => _$setProp(_el$61, "style", {
|
|
7453
7614
|
fg: theme().text
|
|
7454
7615
|
}, _$p));
|
|
7455
|
-
return _el$
|
|
7616
|
+
return _el$61;
|
|
7456
7617
|
})()];
|
|
7457
7618
|
}
|
|
7458
7619
|
const sp = seg.indexOf(" ");
|
|
7459
7620
|
const k = sp > 0 ? seg.slice(0, sp) : seg;
|
|
7460
7621
|
const d = sp > 0 ? seg.slice(sp + 1) : "";
|
|
7461
7622
|
return [_$memo(() => _$memo(() => idx() > 0)() && (() => {
|
|
7462
|
-
var _el$
|
|
7463
|
-
_$insertNode(_el$
|
|
7464
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7623
|
+
var _el$65 = _$createElement("span");
|
|
7624
|
+
_$insertNode(_el$65, _$createTextNode(` | `));
|
|
7625
|
+
_$effect((_$p) => _$setProp(_el$65, "style", {
|
|
7465
7626
|
fg: theme().textMuted
|
|
7466
7627
|
}, _$p));
|
|
7467
|
-
return _el$
|
|
7628
|
+
return _el$65;
|
|
7468
7629
|
})()), (() => {
|
|
7469
|
-
var _el$
|
|
7470
|
-
_$insert(_el$
|
|
7471
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7630
|
+
var _el$64 = _$createElement("span");
|
|
7631
|
+
_$insert(_el$64, k);
|
|
7632
|
+
_$effect((_$p) => _$setProp(_el$64, "style", {
|
|
7472
7633
|
fg: theme().warning,
|
|
7473
7634
|
bold: true
|
|
7474
7635
|
}, _$p));
|
|
7475
|
-
return _el$
|
|
7636
|
+
return _el$64;
|
|
7476
7637
|
})(), d && (() => {
|
|
7477
|
-
var _el$
|
|
7478
|
-
_$insertNode(_el$
|
|
7479
|
-
_$insert(_el$
|
|
7480
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7638
|
+
var _el$67 = _$createElement("span"), _el$68 = _$createTextNode(` `);
|
|
7639
|
+
_$insertNode(_el$67, _el$68);
|
|
7640
|
+
_$insert(_el$67, d, null);
|
|
7641
|
+
_$effect((_$p) => _$setProp(_el$67, "style", {
|
|
7481
7642
|
fg: theme().text
|
|
7482
7643
|
}, _$p));
|
|
7483
|
-
return _el$
|
|
7644
|
+
return _el$67;
|
|
7484
7645
|
})()];
|
|
7485
7646
|
}
|
|
7486
7647
|
})];
|
|
@@ -7492,46 +7653,46 @@ function LoopDashboard(props) {
|
|
|
7492
7653
|
const desc = m?.[3] ?? line.split(/\s{2,}/)[1] ?? "";
|
|
7493
7654
|
return [`
|
|
7494
7655
|
`, (() => {
|
|
7495
|
-
var _el$
|
|
7496
|
-
_$insert(_el$
|
|
7497
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7656
|
+
var _el$69 = _$createElement("span");
|
|
7657
|
+
_$insert(_el$69, indent);
|
|
7658
|
+
_$effect((_$p) => _$setProp(_el$69, "style", {
|
|
7498
7659
|
fg: theme().textMuted
|
|
7499
7660
|
}, _$p));
|
|
7500
|
-
return _el$
|
|
7661
|
+
return _el$69;
|
|
7501
7662
|
})(), (() => {
|
|
7502
|
-
var _el$
|
|
7503
|
-
_$insert(_el$
|
|
7504
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7663
|
+
var _el$70 = _$createElement("span");
|
|
7664
|
+
_$insert(_el$70, key);
|
|
7665
|
+
_$effect((_$p) => _$setProp(_el$70, "style", {
|
|
7505
7666
|
fg: theme().warning,
|
|
7506
7667
|
bold: true
|
|
7507
7668
|
}, _$p));
|
|
7508
|
-
return _el$
|
|
7669
|
+
return _el$70;
|
|
7509
7670
|
})(), desc && [(() => {
|
|
7510
|
-
var _el$
|
|
7511
|
-
_$insertNode(_el$
|
|
7512
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7671
|
+
var _el$71 = _$createElement("span");
|
|
7672
|
+
_$insertNode(_el$71, _$createTextNode(` `));
|
|
7673
|
+
_$effect((_$p) => _$setProp(_el$71, "style", {
|
|
7513
7674
|
fg: theme().textMuted
|
|
7514
7675
|
}, _$p));
|
|
7515
|
-
return _el$
|
|
7676
|
+
return _el$71;
|
|
7516
7677
|
})(), (() => {
|
|
7517
|
-
var _el$
|
|
7518
|
-
_$insert(_el$
|
|
7519
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7678
|
+
var _el$73 = _$createElement("span");
|
|
7679
|
+
_$insert(_el$73, desc);
|
|
7680
|
+
_$effect((_$p) => _$setProp(_el$73, "style", {
|
|
7520
7681
|
fg: theme().textMuted
|
|
7521
7682
|
}, _$p));
|
|
7522
|
-
return _el$
|
|
7683
|
+
return _el$73;
|
|
7523
7684
|
})()]];
|
|
7524
7685
|
}
|
|
7525
7686
|
const isHeader = line.startsWith("Commands");
|
|
7526
7687
|
return [`
|
|
7527
7688
|
`, (() => {
|
|
7528
|
-
var _el$
|
|
7529
|
-
_$insert(_el$
|
|
7530
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7689
|
+
var _el$74 = _$createElement("span");
|
|
7690
|
+
_$insert(_el$74, line);
|
|
7691
|
+
_$effect((_$p) => _$setProp(_el$74, "style", {
|
|
7531
7692
|
fg: isHeader ? theme().primary : theme().textMuted,
|
|
7532
7693
|
bold: isHeader
|
|
7533
7694
|
}, _$p));
|
|
7534
|
-
return _el$
|
|
7695
|
+
return _el$74;
|
|
7535
7696
|
})()];
|
|
7536
7697
|
}
|
|
7537
7698
|
}), null);
|
|
@@ -7550,32 +7711,32 @@ function LoopDashboard(props) {
|
|
|
7550
7711
|
},
|
|
7551
7712
|
get fallback() {
|
|
7552
7713
|
return (() => {
|
|
7553
|
-
var _el$
|
|
7714
|
+
var _el$75 = _$createElement("box"), _el$76 = _$createElement("text"), _el$77 = _$createElement("span"), _el$79 = _$createElement("span"), _el$81 = _$createElement("span"), _el$83 = _$createElement("text"), _el$84 = _$createElement("span"), _el$86 = _$createElement("span"), _el$88 = _$createElement("span"), _el$90 = _$createElement("span"), _el$92 = _$createElement("span"), _el$94 = _$createElement("span"), _el$96 = _$createElement("span");
|
|
7715
|
+
_$insertNode(_el$75, _el$76);
|
|
7716
|
+
_$insertNode(_el$75, _el$83);
|
|
7717
|
+
_$setProp(_el$75, "flexDirection", "column");
|
|
7718
|
+
_$setProp(_el$75, "gap", 1);
|
|
7719
|
+
_$setProp(_el$75, "padding", 1);
|
|
7554
7720
|
_$insertNode(_el$76, _el$77);
|
|
7555
|
-
_$insertNode(_el$76, _el$
|
|
7556
|
-
_$
|
|
7557
|
-
_$
|
|
7558
|
-
_$
|
|
7559
|
-
_$insertNode(_el$
|
|
7560
|
-
_$insertNode(_el$
|
|
7561
|
-
_$insertNode(_el$
|
|
7562
|
-
_$insertNode(_el$
|
|
7563
|
-
_$insertNode(_el$
|
|
7564
|
-
_$insertNode(_el$
|
|
7565
|
-
_$insertNode(_el$
|
|
7566
|
-
_$insertNode(_el$
|
|
7567
|
-
_$insertNode(_el$84,
|
|
7568
|
-
_$insertNode(_el$
|
|
7569
|
-
_$insertNode(_el$
|
|
7570
|
-
_$insertNode(_el$
|
|
7571
|
-
_$insertNode(_el$
|
|
7572
|
-
_$insertNode(_el$
|
|
7573
|
-
_$insertNode(_el$
|
|
7574
|
-
_$insertNode(_el$89, _$createTextNode(` to steer the worker \xB7 `));
|
|
7575
|
-
_$insertNode(_el$91, _$createTextNode(`o`));
|
|
7576
|
-
_$insertNode(_el$93, _$createTextNode(` to open child \xB7 `));
|
|
7577
|
-
_$insertNode(_el$95, _$createTextNode(`:force`));
|
|
7578
|
-
_$insertNode(_el$97, _$createTextNode(` to complete manually.`));
|
|
7721
|
+
_$insertNode(_el$76, _el$79);
|
|
7722
|
+
_$insertNode(_el$76, _el$81);
|
|
7723
|
+
_$insertNode(_el$77, _$createTextNode(`No active goals.`));
|
|
7724
|
+
_$insertNode(_el$79, _$createTextNode(` /goal`));
|
|
7725
|
+
_$insertNode(_el$81, _$createTextNode(` in parent chat to create one.`));
|
|
7726
|
+
_$insertNode(_el$83, _el$84);
|
|
7727
|
+
_$insertNode(_el$83, _el$86);
|
|
7728
|
+
_$insertNode(_el$83, _el$88);
|
|
7729
|
+
_$insertNode(_el$83, _el$90);
|
|
7730
|
+
_$insertNode(_el$83, _el$92);
|
|
7731
|
+
_$insertNode(_el$83, _el$94);
|
|
7732
|
+
_$insertNode(_el$83, _el$96);
|
|
7733
|
+
_$insertNode(_el$84, _$createTextNode(`Tip: `));
|
|
7734
|
+
_$insertNode(_el$86, _$createTextNode(`:send`));
|
|
7735
|
+
_$insertNode(_el$88, _$createTextNode(` to steer the worker \xB7 `));
|
|
7736
|
+
_$insertNode(_el$90, _$createTextNode(`o`));
|
|
7737
|
+
_$insertNode(_el$92, _$createTextNode(` to open child \xB7 `));
|
|
7738
|
+
_$insertNode(_el$94, _$createTextNode(`:force`));
|
|
7739
|
+
_$insertNode(_el$96, _$createTextNode(` to complete manually.`));
|
|
7579
7740
|
_$effect((_p$) => {
|
|
7580
7741
|
var _v$26 = {
|
|
7581
7742
|
fg: theme().textMuted
|
|
@@ -7598,16 +7759,16 @@ function LoopDashboard(props) {
|
|
|
7598
7759
|
}, _v$35 = {
|
|
7599
7760
|
fg: theme().textMuted
|
|
7600
7761
|
};
|
|
7601
|
-
_v$26 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
7602
|
-
_v$27 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
7603
|
-
_v$28 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
7604
|
-
_v$29 !== _p$.o && (_p$.o = _$setProp(_el$
|
|
7605
|
-
_v$30 !== _p$.i && (_p$.i = _$setProp(_el$
|
|
7606
|
-
_v$31 !== _p$.n && (_p$.n = _$setProp(_el$
|
|
7607
|
-
_v$32 !== _p$.s && (_p$.s = _$setProp(_el$
|
|
7608
|
-
_v$33 !== _p$.h && (_p$.h = _$setProp(_el$
|
|
7609
|
-
_v$34 !== _p$.r && (_p$.r = _$setProp(_el$
|
|
7610
|
-
_v$35 !== _p$.d && (_p$.d = _$setProp(_el$
|
|
7762
|
+
_v$26 !== _p$.e && (_p$.e = _$setProp(_el$77, "style", _v$26, _p$.e));
|
|
7763
|
+
_v$27 !== _p$.t && (_p$.t = _$setProp(_el$79, "style", _v$27, _p$.t));
|
|
7764
|
+
_v$28 !== _p$.a && (_p$.a = _$setProp(_el$81, "style", _v$28, _p$.a));
|
|
7765
|
+
_v$29 !== _p$.o && (_p$.o = _$setProp(_el$84, "style", _v$29, _p$.o));
|
|
7766
|
+
_v$30 !== _p$.i && (_p$.i = _$setProp(_el$86, "style", _v$30, _p$.i));
|
|
7767
|
+
_v$31 !== _p$.n && (_p$.n = _$setProp(_el$88, "style", _v$31, _p$.n));
|
|
7768
|
+
_v$32 !== _p$.s && (_p$.s = _$setProp(_el$90, "style", _v$32, _p$.s));
|
|
7769
|
+
_v$33 !== _p$.h && (_p$.h = _$setProp(_el$92, "style", _v$33, _p$.h));
|
|
7770
|
+
_v$34 !== _p$.r && (_p$.r = _$setProp(_el$94, "style", _v$34, _p$.r));
|
|
7771
|
+
_v$35 !== _p$.d && (_p$.d = _$setProp(_el$96, "style", _v$35, _p$.d));
|
|
7611
7772
|
return _p$;
|
|
7612
7773
|
}, {
|
|
7613
7774
|
e: undefined,
|
|
@@ -7621,15 +7782,15 @@ function LoopDashboard(props) {
|
|
|
7621
7782
|
r: undefined,
|
|
7622
7783
|
d: undefined
|
|
7623
7784
|
});
|
|
7624
|
-
return _el$
|
|
7785
|
+
return _el$75;
|
|
7625
7786
|
})();
|
|
7626
7787
|
},
|
|
7627
7788
|
get children() {
|
|
7628
|
-
var _el$
|
|
7789
|
+
var _el$43 = _$createElement("scrollbox");
|
|
7629
7790
|
_$use((el) => {
|
|
7630
7791
|
listScrollRef = el;
|
|
7631
|
-
}, _el$
|
|
7632
|
-
_$insert(_el$
|
|
7792
|
+
}, _el$43);
|
|
7793
|
+
_$insert(_el$43, _$createComponent(For, {
|
|
7633
7794
|
get each() {
|
|
7634
7795
|
return activeGoals();
|
|
7635
7796
|
},
|
|
@@ -7648,152 +7809,176 @@ function LoopDashboard(props) {
|
|
|
7648
7809
|
return phaseColor(runtime().phase || "idle", theme());
|
|
7649
7810
|
};
|
|
7650
7811
|
return (() => {
|
|
7651
|
-
var _el$
|
|
7812
|
+
var _el$98 = _$createElement("box"), _el$99 = _$createElement("text"), _el$100 = _$createElement("span"), _el$101 = _$createElement("span"), _el$103 = _$createElement("span"), _el$105 = _$createElement("span");
|
|
7813
|
+
_$insertNode(_el$98, _el$99);
|
|
7814
|
+
_$setProp(_el$98, "flexDirection", "row");
|
|
7815
|
+
_$setProp(_el$98, "paddingLeft", 1);
|
|
7816
|
+
_$setProp(_el$98, "paddingRight", 1);
|
|
7652
7817
|
_$insertNode(_el$99, _el$100);
|
|
7653
|
-
_$
|
|
7654
|
-
_$
|
|
7655
|
-
_$
|
|
7656
|
-
_$
|
|
7657
|
-
_$
|
|
7658
|
-
_$
|
|
7659
|
-
_$insertNode(_el$100, _el$106);
|
|
7660
|
-
_$setProp(_el$100, "wrapMode", "none");
|
|
7661
|
-
_$setProp(_el$100, "truncate", true);
|
|
7662
|
-
_$insert(_el$101, (() => {
|
|
7818
|
+
_$insertNode(_el$99, _el$101);
|
|
7819
|
+
_$insertNode(_el$99, _el$103);
|
|
7820
|
+
_$insertNode(_el$99, _el$105);
|
|
7821
|
+
_$setProp(_el$99, "wrapMode", "none");
|
|
7822
|
+
_$setProp(_el$99, "truncate", true);
|
|
7823
|
+
_$insert(_el$100, (() => {
|
|
7663
7824
|
var _c$2 = _$memo(() => !!isActive());
|
|
7664
7825
|
return () => _c$2() ? `\u25B6 ${statusIcon(goal.status)} ${goal.name}` : ` ${statusIcon(goal.status)} ${goal.name}`;
|
|
7665
7826
|
})());
|
|
7666
|
-
_$insertNode(_el$
|
|
7667
|
-
_$insertNode(_el$
|
|
7668
|
-
_$insert(_el$
|
|
7669
|
-
_$insert(_el$
|
|
7827
|
+
_$insertNode(_el$101, _$createTextNode(` \u2502 `));
|
|
7828
|
+
_$insertNode(_el$103, _$createTextNode(`Goal `));
|
|
7829
|
+
_$insert(_el$105, () => goalStatusLabel(goal.status).short.toUpperCase());
|
|
7830
|
+
_$insert(_el$99, (() => {
|
|
7670
7831
|
var _c$3 = _$memo(() => !!runtime());
|
|
7671
7832
|
return () => _c$3() && [(() => {
|
|
7672
|
-
var _el$
|
|
7673
|
-
_$insertNode(_el$
|
|
7674
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7833
|
+
var _el$106 = _$createElement("span");
|
|
7834
|
+
_$insertNode(_el$106, _$createTextNode(` \u2502 Worker `));
|
|
7835
|
+
_$effect((_$p) => _$setProp(_el$106, "style", {
|
|
7675
7836
|
fg: theme().textMuted
|
|
7676
7837
|
}, _$p));
|
|
7677
|
-
return _el$
|
|
7838
|
+
return _el$106;
|
|
7678
7839
|
})(), (() => {
|
|
7679
|
-
var _el$
|
|
7680
|
-
_$insertNode(_el$
|
|
7681
|
-
_$insert(_el$
|
|
7682
|
-
var _c$
|
|
7683
|
-
return () => _c$
|
|
7684
|
-
})(), _el$
|
|
7685
|
-
_$insert(_el$
|
|
7686
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7840
|
+
var _el$108 = _$createElement("span"), _el$109 = _$createTextNode(` `);
|
|
7841
|
+
_$insertNode(_el$108, _el$109);
|
|
7842
|
+
_$insert(_el$108, (() => {
|
|
7843
|
+
var _c$11 = _$memo(() => runtime().phase === "running");
|
|
7844
|
+
return () => _c$11() ? runningFrame() : phaseIcon(runtime().phase);
|
|
7845
|
+
})(), _el$109);
|
|
7846
|
+
_$insert(_el$108, () => phaseLabel(runtime().phase).short.toUpperCase(), null);
|
|
7847
|
+
_$effect((_$p) => _$setProp(_el$108, "style", {
|
|
7687
7848
|
fg: turnColor(),
|
|
7688
7849
|
bold: runtime().phase === "running"
|
|
7689
7850
|
}, _$p));
|
|
7690
|
-
return _el$
|
|
7851
|
+
return _el$108;
|
|
7691
7852
|
})(), (() => {
|
|
7692
|
-
var _el$
|
|
7693
|
-
_$insertNode(_el$
|
|
7694
|
-
_$insert(_el$
|
|
7695
|
-
_$insert(_el$
|
|
7696
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7853
|
+
var _el$110 = _$createElement("span"), _el$111 = _$createTextNode(` `);
|
|
7854
|
+
_$insertNode(_el$110, _el$111);
|
|
7855
|
+
_$insert(_el$110, () => runtime().budgetTurnCount, null);
|
|
7856
|
+
_$insert(_el$110, maxTurns ? `/${maxTurns}` : "", null);
|
|
7857
|
+
_$effect((_$p) => _$setProp(_el$110, "style", {
|
|
7697
7858
|
fg: turnColor()
|
|
7698
7859
|
}, _$p));
|
|
7699
|
-
return _el$
|
|
7860
|
+
return _el$110;
|
|
7700
7861
|
})(), (() => {
|
|
7701
|
-
var _el$
|
|
7702
|
-
_$insertNode(_el$
|
|
7703
|
-
_$insert(_el$
|
|
7704
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7862
|
+
var _el$112 = _$createElement("span"), _el$113 = _$createTextNode(` `);
|
|
7863
|
+
_$insertNode(_el$112, _el$113);
|
|
7864
|
+
_$insert(_el$112, () => ageLabel(runtime().lastProgressAt || runtime().lastRunAt, clock()), null);
|
|
7865
|
+
_$effect((_$p) => _$setProp(_el$112, "style", {
|
|
7705
7866
|
fg: theme().textMuted
|
|
7706
7867
|
}, _$p));
|
|
7707
|
-
return _el$
|
|
7868
|
+
return _el$112;
|
|
7708
7869
|
})()];
|
|
7709
7870
|
})(), null);
|
|
7710
|
-
_$insert(_el$
|
|
7871
|
+
_$insert(_el$99, (() => {
|
|
7711
7872
|
var _c$4 = _$memo(() => !!(runtime() && runtime().consecutiveFailures > 0));
|
|
7712
7873
|
return () => _c$4() && (() => {
|
|
7713
|
-
var _el$
|
|
7714
|
-
_$insertNode(_el$
|
|
7715
|
-
_$insertNode(_el$
|
|
7716
|
-
_$insert(_el$
|
|
7717
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7874
|
+
var _el$114 = _$createElement("span"), _el$115 = _$createTextNode(` \u2502 \u26A0 `), _el$116 = _$createTextNode(` fail`);
|
|
7875
|
+
_$insertNode(_el$114, _el$115);
|
|
7876
|
+
_$insertNode(_el$114, _el$116);
|
|
7877
|
+
_$insert(_el$114, () => runtime().consecutiveFailures, _el$116);
|
|
7878
|
+
_$effect((_$p) => _$setProp(_el$114, "style", {
|
|
7718
7879
|
fg: theme().error,
|
|
7719
7880
|
bold: true
|
|
7720
7881
|
}, _$p));
|
|
7721
|
-
return _el$
|
|
7882
|
+
return _el$114;
|
|
7722
7883
|
})();
|
|
7723
7884
|
})(), null);
|
|
7724
|
-
_$insert(_el$
|
|
7885
|
+
_$insert(_el$99, (() => {
|
|
7725
7886
|
var _c$5 = _$memo(() => !!(runtime() && (runtime().noProgressCount || 0) > 0));
|
|
7726
7887
|
return () => _c$5() && (() => {
|
|
7727
|
-
var _el$
|
|
7728
|
-
_$insertNode(_el$
|
|
7729
|
-
_$insertNode(_el$
|
|
7730
|
-
_$insert(_el$
|
|
7731
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7888
|
+
var _el$117 = _$createElement("span"), _el$118 = _$createTextNode(` \u2502 `), _el$119 = _$createTextNode(` no-progress`);
|
|
7889
|
+
_$insertNode(_el$117, _el$118);
|
|
7890
|
+
_$insertNode(_el$117, _el$119);
|
|
7891
|
+
_$insert(_el$117, () => runtime().noProgressCount, _el$119);
|
|
7892
|
+
_$effect((_$p) => _$setProp(_el$117, "style", {
|
|
7732
7893
|
fg: theme().warning
|
|
7733
7894
|
}, _$p));
|
|
7734
|
-
return _el$
|
|
7895
|
+
return _el$117;
|
|
7735
7896
|
})();
|
|
7736
7897
|
})(), null);
|
|
7737
|
-
_$insert(_el$
|
|
7898
|
+
_$insert(_el$99, (() => {
|
|
7738
7899
|
var _c$6 = _$memo(() => !!(runtime() && runtime().evaluatorRejectionCount > 0));
|
|
7739
7900
|
return () => _c$6() && (() => {
|
|
7740
|
-
var _el$
|
|
7741
|
-
_$insertNode(_el$
|
|
7742
|
-
_$insertNode(_el$
|
|
7743
|
-
_$insert(_el$
|
|
7744
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7901
|
+
var _el$120 = _$createElement("span"), _el$121 = _$createTextNode(` \u2502 \u26A0 `), _el$122 = _$createTextNode(` rejected`);
|
|
7902
|
+
_$insertNode(_el$120, _el$121);
|
|
7903
|
+
_$insertNode(_el$120, _el$122);
|
|
7904
|
+
_$insert(_el$120, () => String(runtime().evaluatorRejectionCount), _el$122);
|
|
7905
|
+
_$effect((_$p) => _$setProp(_el$120, "style", {
|
|
7745
7906
|
fg: theme().warning,
|
|
7746
7907
|
bold: true
|
|
7747
7908
|
}, _$p));
|
|
7748
|
-
return _el$
|
|
7909
|
+
return _el$120;
|
|
7749
7910
|
})();
|
|
7750
7911
|
})(), null);
|
|
7751
|
-
_$insert(_el$
|
|
7912
|
+
_$insert(_el$99, (() => {
|
|
7752
7913
|
var _c$7 = _$memo(() => !!(runtime() && runtime().unknownStatusCount >= 3));
|
|
7753
7914
|
return () => _c$7() && (() => {
|
|
7754
|
-
var _el$
|
|
7755
|
-
_$insertNode(_el$
|
|
7756
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7915
|
+
var _el$123 = _$createElement("span");
|
|
7916
|
+
_$insertNode(_el$123, _$createTextNode(` \u2502 \u26A0\uFE0F UNREACHABLE`));
|
|
7917
|
+
_$effect((_$p) => _$setProp(_el$123, "style", {
|
|
7757
7918
|
fg: theme().error,
|
|
7758
7919
|
bold: true
|
|
7759
7920
|
}, _$p));
|
|
7760
|
-
return _el$
|
|
7921
|
+
return _el$123;
|
|
7761
7922
|
})();
|
|
7762
7923
|
})(), null);
|
|
7763
|
-
_$insert(_el$
|
|
7924
|
+
_$insert(_el$99, (() => {
|
|
7764
7925
|
var _c$8 = _$memo(() => !!(runtime() && runtime().phase === "idle" && runtime().activeRunID));
|
|
7765
7926
|
return () => _c$8() && (() => {
|
|
7766
|
-
var _el$
|
|
7767
|
-
_$insertNode(_el$
|
|
7768
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7927
|
+
var _el$125 = _$createElement("span");
|
|
7928
|
+
_$insertNode(_el$125, _$createTextNode(` \u2502 \u26A0\uFE0F STALE LEASE`));
|
|
7929
|
+
_$effect((_$p) => _$setProp(_el$125, "style", {
|
|
7769
7930
|
fg: theme().error,
|
|
7770
7931
|
bold: true
|
|
7771
7932
|
}, _$p));
|
|
7772
|
-
return _el$
|
|
7933
|
+
return _el$125;
|
|
7773
7934
|
})();
|
|
7774
7935
|
})(), null);
|
|
7775
|
-
_$insert(_el$
|
|
7776
|
-
var _c$9 = _$memo(() =>
|
|
7936
|
+
_$insert(_el$99, (() => {
|
|
7937
|
+
var _c$9 = _$memo(() => goal.interactive === true);
|
|
7777
7938
|
return () => _c$9() && (() => {
|
|
7778
|
-
var _el$
|
|
7779
|
-
_$insertNode(_el$
|
|
7780
|
-
_$
|
|
7781
|
-
|
|
7782
|
-
|
|
7939
|
+
var _el$127 = _$createElement("span");
|
|
7940
|
+
_$insertNode(_el$127, _$createTextNode(` \u2502 \u270B MANUAL`));
|
|
7941
|
+
_$effect((_$p) => _$setProp(_el$127, "style", {
|
|
7942
|
+
fg: theme().accent,
|
|
7943
|
+
bold: true
|
|
7783
7944
|
}, _$p));
|
|
7784
|
-
return _el$
|
|
7945
|
+
return _el$127;
|
|
7785
7946
|
})();
|
|
7786
7947
|
})(), null);
|
|
7787
|
-
_$insert(_el$
|
|
7788
|
-
var _c$0 = _$memo(() => !!
|
|
7948
|
+
_$insert(_el$99, (() => {
|
|
7949
|
+
var _c$0 = _$memo(() => !!goal.config.model);
|
|
7789
7950
|
return () => _c$0() && (() => {
|
|
7790
|
-
var _el$
|
|
7791
|
-
_$insertNode(_el$
|
|
7792
|
-
_$insert(_el$
|
|
7793
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7951
|
+
var _el$129 = _$createElement("span"), _el$130 = _$createTextNode(` \u2502 \uD83E\uDDE0 `);
|
|
7952
|
+
_$insertNode(_el$129, _el$130);
|
|
7953
|
+
_$insert(_el$129, () => goal.config.model, null);
|
|
7954
|
+
_$effect((_$p) => _$setProp(_el$129, "style", {
|
|
7955
|
+
fg: theme().info
|
|
7956
|
+
}, _$p));
|
|
7957
|
+
return _el$129;
|
|
7958
|
+
})();
|
|
7959
|
+
})(), null);
|
|
7960
|
+
_$insert(_el$99, (() => {
|
|
7961
|
+
var _c$1 = _$memo(() => !!(runtime() && runtime().retryAfter));
|
|
7962
|
+
return () => _c$1() && (() => {
|
|
7963
|
+
var _el$131 = _$createElement("span"), _el$132 = _$createTextNode(` \u2502 \u21BB `);
|
|
7964
|
+
_$insertNode(_el$131, _el$132);
|
|
7965
|
+
_$insert(_el$131, () => countdownLabel(runtime().retryAfter, clock()), null);
|
|
7966
|
+
_$effect((_$p) => _$setProp(_el$131, "style", {
|
|
7794
7967
|
fg: theme().accent
|
|
7795
7968
|
}, _$p));
|
|
7796
|
-
return _el$
|
|
7969
|
+
return _el$131;
|
|
7970
|
+
})();
|
|
7971
|
+
})(), null);
|
|
7972
|
+
_$insert(_el$99, (() => {
|
|
7973
|
+
var _c$10 = _$memo(() => !!(runtime() && runtime().nextRunAt));
|
|
7974
|
+
return () => _c$10() && (() => {
|
|
7975
|
+
var _el$133 = _$createElement("span"), _el$134 = _$createTextNode(` \u2502 \u23F0 `);
|
|
7976
|
+
_$insertNode(_el$133, _el$134);
|
|
7977
|
+
_$insert(_el$133, () => countdownLabel(runtime().nextRunAt, clock()), null);
|
|
7978
|
+
_$effect((_$p) => _$setProp(_el$133, "style", {
|
|
7979
|
+
fg: theme().accent
|
|
7980
|
+
}, _$p));
|
|
7981
|
+
return _el$133;
|
|
7797
7982
|
})();
|
|
7798
7983
|
})(), null);
|
|
7799
7984
|
_$effect((_p$) => {
|
|
@@ -7808,12 +7993,12 @@ function LoopDashboard(props) {
|
|
|
7808
7993
|
fg: statusColor(goal.status, theme()),
|
|
7809
7994
|
bold: true
|
|
7810
7995
|
};
|
|
7811
|
-
_v$36 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
7812
|
-
_v$37 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
7813
|
-
_v$38 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
7814
|
-
_v$39 !== _p$.o && (_p$.o = _$setProp(_el$
|
|
7815
|
-
_v$40 !== _p$.i && (_p$.i = _$setProp(_el$
|
|
7816
|
-
_v$41 !== _p$.n && (_p$.n = _$setProp(_el$
|
|
7996
|
+
_v$36 !== _p$.e && (_p$.e = _$setProp(_el$98, "id", _v$36, _p$.e));
|
|
7997
|
+
_v$37 !== _p$.t && (_p$.t = _$setProp(_el$98, "backgroundColor", _v$37, _p$.t));
|
|
7998
|
+
_v$38 !== _p$.a && (_p$.a = _$setProp(_el$100, "style", _v$38, _p$.a));
|
|
7999
|
+
_v$39 !== _p$.o && (_p$.o = _$setProp(_el$101, "style", _v$39, _p$.o));
|
|
8000
|
+
_v$40 !== _p$.i && (_p$.i = _$setProp(_el$103, "style", _v$40, _p$.i));
|
|
8001
|
+
_v$41 !== _p$.n && (_p$.n = _$setProp(_el$105, "style", _v$41, _p$.n));
|
|
7817
8002
|
return _p$;
|
|
7818
8003
|
}, {
|
|
7819
8004
|
e: undefined,
|
|
@@ -7823,12 +8008,12 @@ function LoopDashboard(props) {
|
|
|
7823
8008
|
i: undefined,
|
|
7824
8009
|
n: undefined
|
|
7825
8010
|
});
|
|
7826
|
-
return _el$
|
|
8011
|
+
return _el$98;
|
|
7827
8012
|
})();
|
|
7828
8013
|
}
|
|
7829
8014
|
}));
|
|
7830
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7831
|
-
return _el$
|
|
8015
|
+
_$effect((_$p) => _$setProp(_el$43, "height", listHeight(), _$p));
|
|
8016
|
+
return _el$43;
|
|
7832
8017
|
}
|
|
7833
8018
|
}), _$createComponent(Show, {
|
|
7834
8019
|
get when() {
|
|
@@ -7839,530 +8024,579 @@ function LoopDashboard(props) {
|
|
|
7839
8024
|
const lp = () => goal().lastProgress;
|
|
7840
8025
|
const blk = () => goal().blocker;
|
|
7841
8026
|
return (() => {
|
|
7842
|
-
var _el$
|
|
7843
|
-
`), _el$
|
|
7844
|
-
`), _el$
|
|
7845
|
-
_$insertNode(_el$
|
|
7846
|
-
_$setProp(_el$
|
|
7847
|
-
_$setProp(_el$
|
|
7848
|
-
_$setProp(_el$
|
|
7849
|
-
_$setProp(_el$
|
|
7850
|
-
_$setProp(_el$
|
|
7851
|
-
_$insertNode(_el$
|
|
7852
|
-
_$insertNode(_el$
|
|
7853
|
-
_$insertNode(_el$
|
|
7854
|
-
_$insertNode(_el$
|
|
7855
|
-
_$insertNode(_el$
|
|
7856
|
-
_$insertNode(_el$
|
|
7857
|
-
_$insertNode(_el$
|
|
7858
|
-
_$insertNode(_el$
|
|
7859
|
-
_$insertNode(_el$
|
|
7860
|
-
_$insert(_el$
|
|
7861
|
-
_$insert(_el$
|
|
7862
|
-
_$insertNode(_el$
|
|
7863
|
-
_$insertNode(_el$
|
|
7864
|
-
_$insert(_el$
|
|
7865
|
-
_$insert(_el$
|
|
7866
|
-
_$insert(_el$
|
|
7867
|
-
var _c$
|
|
7868
|
-
return () => _c$
|
|
7869
|
-
var _el$
|
|
7870
|
-
_$insertNode(_el$
|
|
7871
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8027
|
+
var _el$135 = _$createElement("box"), _el$136 = _$createElement("text"), _el$137 = _$createElement("span"), _el$138 = _$createTextNode(` `), _el$139 = _$createElement("span"), _el$141 = _$createElement("span"), _el$142 = _$createTextNode(` \u2014 `), _el$143 = _$createTextNode(`
|
|
8028
|
+
`), _el$144 = _$createElement("span"), _el$145 = _$createTextNode(`
|
|
8029
|
+
`), _el$146 = _$createElement("span"), _el$148 = _$createElement("span");
|
|
8030
|
+
_$insertNode(_el$135, _el$136);
|
|
8031
|
+
_$setProp(_el$135, "flexDirection", "column");
|
|
8032
|
+
_$setProp(_el$135, "border", true);
|
|
8033
|
+
_$setProp(_el$135, "padding", 1);
|
|
8034
|
+
_$setProp(_el$135, "flexShrink", 0);
|
|
8035
|
+
_$setProp(_el$135, "maxHeight", 13);
|
|
8036
|
+
_$insertNode(_el$136, _el$137);
|
|
8037
|
+
_$insertNode(_el$136, _el$139);
|
|
8038
|
+
_$insertNode(_el$136, _el$141);
|
|
8039
|
+
_$insertNode(_el$136, _el$143);
|
|
8040
|
+
_$insertNode(_el$136, _el$144);
|
|
8041
|
+
_$insertNode(_el$136, _el$145);
|
|
8042
|
+
_$insertNode(_el$136, _el$146);
|
|
8043
|
+
_$insertNode(_el$136, _el$148);
|
|
8044
|
+
_$insertNode(_el$137, _el$138);
|
|
8045
|
+
_$insert(_el$137, () => statusIcon(goal().status), _el$138);
|
|
8046
|
+
_$insert(_el$137, () => goal().name, null);
|
|
8047
|
+
_$insertNode(_el$139, _$createTextNode(` Goal `));
|
|
8048
|
+
_$insertNode(_el$141, _el$142);
|
|
8049
|
+
_$insert(_el$141, () => goalStatusLabel(goal().status).short, _el$142);
|
|
8050
|
+
_$insert(_el$141, () => goalStatusLabel(goal().status).hint, null);
|
|
8051
|
+
_$insert(_el$136, (() => {
|
|
8052
|
+
var _c$12 = _$memo(() => !!rt());
|
|
8053
|
+
return () => _c$12() && [(() => {
|
|
8054
|
+
var _el$149 = _$createElement("span");
|
|
8055
|
+
_$insertNode(_el$149, _$createTextNode(` \u2502 Worker `));
|
|
8056
|
+
_$effect((_$p) => _$setProp(_el$149, "style", {
|
|
7872
8057
|
fg: theme().textMuted
|
|
7873
8058
|
}, _$p));
|
|
7874
|
-
return _el$
|
|
8059
|
+
return _el$149;
|
|
7875
8060
|
})(), (() => {
|
|
7876
|
-
var _el$
|
|
7877
|
-
_$insertNode(_el$
|
|
7878
|
-
_$insertNode(_el$
|
|
7879
|
-
_$insert(_el$
|
|
7880
|
-
_$insert(_el$
|
|
7881
|
-
_$insert(_el$
|
|
7882
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8061
|
+
var _el$151 = _$createElement("span"), _el$152 = _$createTextNode(` `), _el$153 = _$createTextNode(` \u2014 `);
|
|
8062
|
+
_$insertNode(_el$151, _el$152);
|
|
8063
|
+
_$insertNode(_el$151, _el$153);
|
|
8064
|
+
_$insert(_el$151, () => phaseIcon(rt().phase), _el$152);
|
|
8065
|
+
_$insert(_el$151, () => phaseLabel(rt().phase).short, _el$153);
|
|
8066
|
+
_$insert(_el$151, () => phaseLabel(rt().phase).hint, null);
|
|
8067
|
+
_$effect((_$p) => _$setProp(_el$151, "style", {
|
|
7883
8068
|
fg: phaseColor(rt().phase, theme()),
|
|
7884
8069
|
bold: true
|
|
7885
8070
|
}, _$p));
|
|
7886
|
-
return _el$
|
|
8071
|
+
return _el$151;
|
|
7887
8072
|
})(), (() => {
|
|
7888
|
-
var _el$
|
|
7889
|
-
_$insertNode(_el$
|
|
7890
|
-
_$insertNode(_el$
|
|
7891
|
-
_$insertNode(_el$
|
|
7892
|
-
_$insert(_el$
|
|
7893
|
-
_$insert(_el$
|
|
7894
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8073
|
+
var _el$154 = _$createElement("span"), _el$155 = _$createTextNode(` run `), _el$156 = _$createTextNode(` (budget `), _el$157 = _$createTextNode(`)`);
|
|
8074
|
+
_$insertNode(_el$154, _el$155);
|
|
8075
|
+
_$insertNode(_el$154, _el$156);
|
|
8076
|
+
_$insertNode(_el$154, _el$157);
|
|
8077
|
+
_$insert(_el$154, () => rt().runCount, _el$156);
|
|
8078
|
+
_$insert(_el$154, () => rt().budgetTurnCount, _el$157);
|
|
8079
|
+
_$effect((_$p) => _$setProp(_el$154, "style", {
|
|
7895
8080
|
fg: theme().textMuted
|
|
7896
8081
|
}, _$p));
|
|
7897
|
-
return _el$
|
|
8082
|
+
return _el$154;
|
|
7898
8083
|
})()];
|
|
7899
|
-
})(), _el$
|
|
7900
|
-
_$insert(_el$
|
|
7901
|
-
_$insert(_el$
|
|
7902
|
-
var _c$
|
|
7903
|
-
return () => _c$
|
|
7904
|
-
var _el$
|
|
7905
|
-
_$insertNode(_el$
|
|
7906
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8084
|
+
})(), _el$143);
|
|
8085
|
+
_$insert(_el$144, () => describeGoalState(goal().status, rt()?.phase));
|
|
8086
|
+
_$insert(_el$136, (() => {
|
|
8087
|
+
var _c$13 = _$memo(() => !!rt()?.workerAbortedAt);
|
|
8088
|
+
return () => _c$13() && [(() => {
|
|
8089
|
+
var _el$158 = _$createElement("span");
|
|
8090
|
+
_$insertNode(_el$158, _$createTextNode(` \u2502 \u26A0 worker aborted `));
|
|
8091
|
+
_$effect((_$p) => _$setProp(_el$158, "style", {
|
|
7907
8092
|
fg: theme().warning,
|
|
7908
8093
|
bold: true
|
|
7909
8094
|
}, _$p));
|
|
7910
|
-
return _el$
|
|
8095
|
+
return _el$158;
|
|
7911
8096
|
})(), (() => {
|
|
7912
|
-
var _el$
|
|
7913
|
-
_$insertNode(_el$
|
|
7914
|
-
_$insert(_el$
|
|
7915
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8097
|
+
var _el$160 = _$createElement("span"), _el$161 = _$createTextNode(` \u2014 session kept, next turn reuses it`);
|
|
8098
|
+
_$insertNode(_el$160, _el$161);
|
|
8099
|
+
_$insert(_el$160, () => ageLabel(rt().workerAbortedAt, clock()), _el$161);
|
|
8100
|
+
_$effect((_$p) => _$setProp(_el$160, "style", {
|
|
7916
8101
|
fg: theme().textMuted
|
|
7917
8102
|
}, _$p));
|
|
7918
|
-
return _el$
|
|
8103
|
+
return _el$160;
|
|
7919
8104
|
})()];
|
|
7920
|
-
})(), _el$
|
|
7921
|
-
_$insert(_el$
|
|
8105
|
+
})(), _el$145);
|
|
8106
|
+
_$insert(_el$136, () => {
|
|
7922
8107
|
const agentName = goal().config.agent;
|
|
7923
8108
|
const meta = agentName ? agentIndex()[agentName] ?? agentIndex()[agentName.toLowerCase()] : undefined;
|
|
7924
8109
|
const model = goal().config.model;
|
|
7925
8110
|
const slash = model?.indexOf("/") ?? -1;
|
|
7926
8111
|
return [`
|
|
7927
8112
|
`, (() => {
|
|
7928
|
-
var _el$
|
|
7929
|
-
_$insertNode(_el$
|
|
7930
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8113
|
+
var _el$162 = _$createElement("span");
|
|
8114
|
+
_$insertNode(_el$162, _$createTextNode(`\uD83E\uDD16 `));
|
|
8115
|
+
_$effect((_$p) => _$setProp(_el$162, "style", {
|
|
7931
8116
|
fg: theme().textMuted
|
|
7932
8117
|
}, _$p));
|
|
7933
|
-
return _el$
|
|
8118
|
+
return _el$162;
|
|
7934
8119
|
})(), (() => {
|
|
7935
|
-
var _el$
|
|
7936
|
-
_$insertNode(_el$
|
|
7937
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8120
|
+
var _el$164 = _$createElement("span");
|
|
8121
|
+
_$insertNode(_el$164, _$createTextNode(`Agent: `));
|
|
8122
|
+
_$effect((_$p) => _$setProp(_el$164, "style", {
|
|
7938
8123
|
fg: theme().primary,
|
|
7939
8124
|
bold: true
|
|
7940
8125
|
}, _$p));
|
|
7941
|
-
return _el$
|
|
8126
|
+
return _el$164;
|
|
7942
8127
|
})(), _$memo(() => agentName ? [(() => {
|
|
7943
|
-
var _el$
|
|
7944
|
-
_$insert(_el$
|
|
7945
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8128
|
+
var _el$180 = _$createElement("span");
|
|
8129
|
+
_$insert(_el$180, agentName);
|
|
8130
|
+
_$effect((_$p) => _$setProp(_el$180, "style", {
|
|
7946
8131
|
fg: agentColor(meta?.color, theme()),
|
|
7947
8132
|
bold: true
|
|
7948
8133
|
}, _$p));
|
|
7949
|
-
return _el$
|
|
8134
|
+
return _el$180;
|
|
7950
8135
|
})(), _$memo(() => _$memo(() => !!meta?.mode)() && (() => {
|
|
7951
|
-
var _el$
|
|
7952
|
-
_$insertNode(_el$
|
|
7953
|
-
_$insertNode(_el$
|
|
7954
|
-
_$insert(_el$
|
|
7955
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8136
|
+
var _el$181 = _$createElement("span"), _el$182 = _$createTextNode(` (`), _el$183 = _$createTextNode(`)`);
|
|
8137
|
+
_$insertNode(_el$181, _el$182);
|
|
8138
|
+
_$insertNode(_el$181, _el$183);
|
|
8139
|
+
_$insert(_el$181, () => meta.mode, _el$183);
|
|
8140
|
+
_$effect((_$p) => _$setProp(_el$181, "style", {
|
|
7956
8141
|
fg: theme().textMuted
|
|
7957
8142
|
}, _$p));
|
|
7958
|
-
return _el$
|
|
8143
|
+
return _el$181;
|
|
7959
8144
|
})())] : goal().parentAgent ? [(() => {
|
|
7960
|
-
var _el$
|
|
7961
|
-
_$insertNode(_el$
|
|
7962
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8145
|
+
var _el$184 = _$createElement("span");
|
|
8146
|
+
_$insertNode(_el$184, _$createTextNode(`\u21A9 `));
|
|
8147
|
+
_$effect((_$p) => _$setProp(_el$184, "style", {
|
|
7963
8148
|
fg: theme().textMuted
|
|
7964
8149
|
}, _$p));
|
|
7965
|
-
return _el$
|
|
8150
|
+
return _el$184;
|
|
7966
8151
|
})(), (() => {
|
|
7967
|
-
var _el$
|
|
7968
|
-
_$insert(_el$
|
|
7969
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8152
|
+
var _el$186 = _$createElement("span");
|
|
8153
|
+
_$insert(_el$186, () => goal().parentAgent);
|
|
8154
|
+
_$effect((_$p) => _$setProp(_el$186, "style", {
|
|
7970
8155
|
fg: theme().text,
|
|
7971
8156
|
bold: true
|
|
7972
8157
|
}, _$p));
|
|
7973
|
-
return _el$
|
|
8158
|
+
return _el$186;
|
|
7974
8159
|
})(), (() => {
|
|
7975
|
-
var _el$
|
|
7976
|
-
_$insertNode(_el$
|
|
7977
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8160
|
+
var _el$187 = _$createElement("span");
|
|
8161
|
+
_$insertNode(_el$187, _$createTextNode(` (parent)`));
|
|
8162
|
+
_$effect((_$p) => _$setProp(_el$187, "style", {
|
|
7978
8163
|
fg: theme().textMuted
|
|
7979
8164
|
}, _$p));
|
|
7980
|
-
return _el$
|
|
8165
|
+
return _el$187;
|
|
7981
8166
|
})()] : (() => {
|
|
7982
|
-
var _el$
|
|
7983
|
-
_$insertNode(_el$
|
|
7984
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8167
|
+
var _el$189 = _$createElement("span");
|
|
8168
|
+
_$insertNode(_el$189, _$createTextNode(`parent`));
|
|
8169
|
+
_$effect((_$p) => _$setProp(_el$189, "style", {
|
|
7985
8170
|
fg: theme().textMuted
|
|
7986
8171
|
}, _$p));
|
|
7987
|
-
return _el$
|
|
8172
|
+
return _el$189;
|
|
7988
8173
|
})()), (() => {
|
|
7989
|
-
var _el$
|
|
7990
|
-
_$insertNode(_el$
|
|
7991
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8174
|
+
var _el$166 = _$createElement("span");
|
|
8175
|
+
_$insertNode(_el$166, _$createTextNode(` \u2502 \uD83E\uDDE0 `));
|
|
8176
|
+
_$effect((_$p) => _$setProp(_el$166, "style", {
|
|
7992
8177
|
fg: theme().textMuted
|
|
7993
8178
|
}, _$p));
|
|
7994
|
-
return _el$
|
|
8179
|
+
return _el$166;
|
|
7995
8180
|
})(), (() => {
|
|
7996
|
-
var _el$
|
|
7997
|
-
_$insertNode(_el$
|
|
7998
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8181
|
+
var _el$168 = _$createElement("span");
|
|
8182
|
+
_$insertNode(_el$168, _$createTextNode(`Model: `));
|
|
8183
|
+
_$effect((_$p) => _$setProp(_el$168, "style", {
|
|
7999
8184
|
fg: theme().primary,
|
|
8000
8185
|
bold: true
|
|
8001
8186
|
}, _$p));
|
|
8002
|
-
return _el$
|
|
8187
|
+
return _el$168;
|
|
8003
8188
|
})(), _$memo(() => model && slash > 0 ? [(() => {
|
|
8004
|
-
var _el$
|
|
8005
|
-
_$insertNode(_el$
|
|
8006
|
-
_$insert(_el$
|
|
8007
|
-
_$effect((_$p) => _$setProp(_el$188, "style", {
|
|
8008
|
-
fg: theme().textMuted
|
|
8009
|
-
}, _$p));
|
|
8010
|
-
return _el$188;
|
|
8011
|
-
})(), (() => {
|
|
8012
|
-
var _el$190 = _$createElement("span");
|
|
8013
|
-
_$insert(_el$190, () => model.slice(slash + 1));
|
|
8014
|
-
_$effect((_$p) => _$setProp(_el$190, "style", {
|
|
8015
|
-
fg: theme().info,
|
|
8016
|
-
bold: true
|
|
8017
|
-
}, _$p));
|
|
8018
|
-
return _el$190;
|
|
8019
|
-
})()] : goal().parentModel ? [(() => {
|
|
8020
|
-
var _el$191 = _$createElement("span");
|
|
8021
|
-
_$insertNode(_el$191, _$createTextNode(`\u21A9 `));
|
|
8189
|
+
var _el$191 = _$createElement("span"), _el$192 = _$createTextNode(`/`);
|
|
8190
|
+
_$insertNode(_el$191, _el$192);
|
|
8191
|
+
_$insert(_el$191, () => model.slice(0, slash), _el$192);
|
|
8022
8192
|
_$effect((_$p) => _$setProp(_el$191, "style", {
|
|
8023
8193
|
fg: theme().textMuted
|
|
8024
8194
|
}, _$p));
|
|
8025
8195
|
return _el$191;
|
|
8026
8196
|
})(), (() => {
|
|
8027
8197
|
var _el$193 = _$createElement("span");
|
|
8028
|
-
_$insert(_el$193, () =>
|
|
8198
|
+
_$insert(_el$193, () => model.slice(slash + 1));
|
|
8029
8199
|
_$effect((_$p) => _$setProp(_el$193, "style", {
|
|
8030
8200
|
fg: theme().info,
|
|
8031
8201
|
bold: true
|
|
8032
8202
|
}, _$p));
|
|
8033
8203
|
return _el$193;
|
|
8034
|
-
})()
|
|
8204
|
+
})()] : goal().parentModel ? [(() => {
|
|
8035
8205
|
var _el$194 = _$createElement("span");
|
|
8036
|
-
_$insertNode(_el$194, _$createTextNode(
|
|
8206
|
+
_$insertNode(_el$194, _$createTextNode(`\u21A9 `));
|
|
8037
8207
|
_$effect((_$p) => _$setProp(_el$194, "style", {
|
|
8038
8208
|
fg: theme().textMuted
|
|
8039
8209
|
}, _$p));
|
|
8040
8210
|
return _el$194;
|
|
8041
|
-
})()
|
|
8211
|
+
})(), (() => {
|
|
8042
8212
|
var _el$196 = _$createElement("span");
|
|
8043
|
-
_$
|
|
8213
|
+
_$insert(_el$196, () => goal().parentModel);
|
|
8044
8214
|
_$effect((_$p) => _$setProp(_el$196, "style", {
|
|
8045
|
-
fg: theme().
|
|
8215
|
+
fg: theme().info,
|
|
8216
|
+
bold: true
|
|
8046
8217
|
}, _$p));
|
|
8047
8218
|
return _el$196;
|
|
8219
|
+
})(), (() => {
|
|
8220
|
+
var _el$197 = _$createElement("span");
|
|
8221
|
+
_$insertNode(_el$197, _$createTextNode(` (parent)`));
|
|
8222
|
+
_$effect((_$p) => _$setProp(_el$197, "style", {
|
|
8223
|
+
fg: theme().textMuted
|
|
8224
|
+
}, _$p));
|
|
8225
|
+
return _el$197;
|
|
8226
|
+
})()] : (() => {
|
|
8227
|
+
var _el$199 = _$createElement("span");
|
|
8228
|
+
_$insertNode(_el$199, _$createTextNode(`parent`));
|
|
8229
|
+
_$effect((_$p) => _$setProp(_el$199, "style", {
|
|
8230
|
+
fg: theme().textMuted
|
|
8231
|
+
}, _$p));
|
|
8232
|
+
return _el$199;
|
|
8048
8233
|
})()), (() => {
|
|
8049
|
-
var _el$
|
|
8050
|
-
_$insertNode(_el$
|
|
8051
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8234
|
+
var _el$170 = _$createElement("span");
|
|
8235
|
+
_$insertNode(_el$170, _$createTextNode(` \u2502 \uD83D\uDCB0 `));
|
|
8236
|
+
_$effect((_$p) => _$setProp(_el$170, "style", {
|
|
8052
8237
|
fg: theme().textMuted
|
|
8053
8238
|
}, _$p));
|
|
8054
|
-
return _el$
|
|
8239
|
+
return _el$170;
|
|
8055
8240
|
})(), (() => {
|
|
8056
|
-
var _el$
|
|
8057
|
-
_$insertNode(_el$
|
|
8058
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8241
|
+
var _el$172 = _$createElement("span");
|
|
8242
|
+
_$insertNode(_el$172, _$createTextNode(`Spent: `));
|
|
8243
|
+
_$effect((_$p) => _$setProp(_el$172, "style", {
|
|
8059
8244
|
fg: theme().primary,
|
|
8060
8245
|
bold: true
|
|
8061
8246
|
}, _$p));
|
|
8062
|
-
return _el$
|
|
8247
|
+
return _el$172;
|
|
8063
8248
|
})(), (() => {
|
|
8064
|
-
var _el$
|
|
8065
|
-
_$insert(_el$
|
|
8066
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8249
|
+
var _el$174 = _$createElement("span");
|
|
8250
|
+
_$insert(_el$174, () => formatCost(goal().costUsed));
|
|
8251
|
+
_$effect((_$p) => _$setProp(_el$174, "style", {
|
|
8067
8252
|
fg: theme().success,
|
|
8068
8253
|
bold: true
|
|
8069
8254
|
}, _$p));
|
|
8070
|
-
return _el$
|
|
8255
|
+
return _el$174;
|
|
8071
8256
|
})(), (() => {
|
|
8072
|
-
var _el$
|
|
8073
|
-
_$insertNode(_el$
|
|
8074
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8257
|
+
var _el$175 = _$createElement("span");
|
|
8258
|
+
_$insertNode(_el$175, _$createTextNode(` \xB7 `));
|
|
8259
|
+
_$effect((_$p) => _$setProp(_el$175, "style", {
|
|
8075
8260
|
fg: theme().textMuted
|
|
8076
8261
|
}, _$p));
|
|
8077
|
-
return _el$
|
|
8262
|
+
return _el$175;
|
|
8078
8263
|
})(), (() => {
|
|
8079
|
-
var _el$
|
|
8080
|
-
_$insert(_el$
|
|
8081
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8264
|
+
var _el$177 = _$createElement("span");
|
|
8265
|
+
_$insert(_el$177, () => formatTokens(goal().tokensUsed));
|
|
8266
|
+
_$effect((_$p) => _$setProp(_el$177, "style", {
|
|
8082
8267
|
fg: theme().warning,
|
|
8083
8268
|
bold: true
|
|
8084
8269
|
}, _$p));
|
|
8085
|
-
return _el$
|
|
8270
|
+
return _el$177;
|
|
8086
8271
|
})(), (() => {
|
|
8087
|
-
var _el$
|
|
8088
|
-
_$insertNode(_el$
|
|
8089
|
-
_$insert(_el$
|
|
8090
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8272
|
+
var _el$178 = _$createElement("span"), _el$179 = _$createTextNode(` tokens \xB7 `);
|
|
8273
|
+
_$insertNode(_el$178, _el$179);
|
|
8274
|
+
_$insert(_el$178, () => formatDuration(goal().timeUsedSeconds), null);
|
|
8275
|
+
_$effect((_$p) => _$setProp(_el$178, "style", {
|
|
8091
8276
|
fg: theme().textMuted
|
|
8092
8277
|
}, _$p));
|
|
8093
|
-
return _el$
|
|
8278
|
+
return _el$178;
|
|
8094
8279
|
})()];
|
|
8095
|
-
}, _el$
|
|
8096
|
-
_$insertNode(_el$
|
|
8097
|
-
_$insert(_el$
|
|
8098
|
-
_$insert(_el$
|
|
8099
|
-
var _c$
|
|
8100
|
-
return () => _c$
|
|
8101
|
-
var _el$
|
|
8280
|
+
}, _el$145);
|
|
8281
|
+
_$insertNode(_el$146, _$createTextNode(`\uD83C\uDFAF Target: `));
|
|
8282
|
+
_$insert(_el$148, () => goal().objective.slice(0, 160));
|
|
8283
|
+
_$insert(_el$136, (() => {
|
|
8284
|
+
var _c$14 = _$memo(() => !!lp());
|
|
8285
|
+
return () => _c$14() && [(() => {
|
|
8286
|
+
var _el$201 = _$createElement("span"), _el$202 = _$createTextNode(`
|
|
8102
8287
|
\u2714 `);
|
|
8103
|
-
_$insertNode(_el$
|
|
8104
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8288
|
+
_$insertNode(_el$201, _el$202);
|
|
8289
|
+
_$effect((_$p) => _$setProp(_el$201, "style", {
|
|
8105
8290
|
fg: theme().success
|
|
8106
8291
|
}, _$p));
|
|
8107
|
-
return _el$
|
|
8292
|
+
return _el$201;
|
|
8108
8293
|
})(), (() => {
|
|
8109
|
-
var _el$
|
|
8110
|
-
_$insertNode(_el$
|
|
8111
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8294
|
+
var _el$204 = _$createElement("span");
|
|
8295
|
+
_$insertNode(_el$204, _$createTextNode(`Progress: `));
|
|
8296
|
+
_$effect((_$p) => _$setProp(_el$204, "style", {
|
|
8112
8297
|
fg: theme().success,
|
|
8113
8298
|
bold: true
|
|
8114
8299
|
}, _$p));
|
|
8115
|
-
return _el$
|
|
8300
|
+
return _el$204;
|
|
8116
8301
|
})(), (() => {
|
|
8117
|
-
var _el$
|
|
8118
|
-
_$insert(_el$
|
|
8119
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8302
|
+
var _el$206 = _$createElement("span");
|
|
8303
|
+
_$insert(_el$206, () => lp().summary.slice(0, 100));
|
|
8304
|
+
_$effect((_$p) => _$setProp(_el$206, "style", {
|
|
8120
8305
|
fg: theme().text
|
|
8121
8306
|
}, _$p));
|
|
8122
|
-
return _el$
|
|
8307
|
+
return _el$206;
|
|
8123
8308
|
})(), (() => {
|
|
8124
|
-
var _el$
|
|
8125
|
-
_$insertNode(_el$
|
|
8126
|
-
_$insert(_el$
|
|
8127
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8309
|
+
var _el$207 = _$createElement("span"), _el$208 = _$createTextNode(` \u2192 `);
|
|
8310
|
+
_$insertNode(_el$207, _el$208);
|
|
8311
|
+
_$insert(_el$207, () => lp().next?.slice(0, 60) || "", null);
|
|
8312
|
+
_$effect((_$p) => _$setProp(_el$207, "style", {
|
|
8128
8313
|
fg: theme().textMuted
|
|
8129
8314
|
}, _$p));
|
|
8130
|
-
return _el$
|
|
8315
|
+
return _el$207;
|
|
8131
8316
|
})()];
|
|
8132
8317
|
})(), null);
|
|
8133
|
-
_$insert(_el$
|
|
8134
|
-
var _c$
|
|
8135
|
-
return () => _c$
|
|
8136
|
-
var _el$
|
|
8318
|
+
_$insert(_el$136, (() => {
|
|
8319
|
+
var _c$15 = _$memo(() => !!blk());
|
|
8320
|
+
return () => _c$15() && [(() => {
|
|
8321
|
+
var _el$209 = _$createElement("span"), _el$210 = _$createTextNode(`
|
|
8137
8322
|
\u2716 Blocked: `);
|
|
8138
|
-
_$insertNode(_el$
|
|
8139
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8323
|
+
_$insertNode(_el$209, _el$210);
|
|
8324
|
+
_$effect((_$p) => _$setProp(_el$209, "style", {
|
|
8140
8325
|
fg: theme().error,
|
|
8141
8326
|
bold: true
|
|
8142
8327
|
}, _$p));
|
|
8143
|
-
return _el$
|
|
8328
|
+
return _el$209;
|
|
8144
8329
|
})(), (() => {
|
|
8145
|
-
var _el$
|
|
8146
|
-
_$insert(_el$
|
|
8147
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8330
|
+
var _el$212 = _$createElement("span");
|
|
8331
|
+
_$insert(_el$212, () => blk().reason.slice(0, 140));
|
|
8332
|
+
_$effect((_$p) => _$setProp(_el$212, "style", {
|
|
8148
8333
|
fg: theme().error
|
|
8149
8334
|
}, _$p));
|
|
8150
|
-
return _el$
|
|
8335
|
+
return _el$212;
|
|
8151
8336
|
})(), (() => {
|
|
8152
|
-
var _el$
|
|
8153
|
-
_$insertNode(_el$
|
|
8154
|
-
_$insert(_el$
|
|
8155
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8337
|
+
var _el$213 = _$createElement("span"), _el$214 = _$createTextNode(` \u2014 `);
|
|
8338
|
+
_$insertNode(_el$213, _el$214);
|
|
8339
|
+
_$insert(_el$213, () => blk().needed.slice(0, 60), null);
|
|
8340
|
+
_$effect((_$p) => _$setProp(_el$213, "style", {
|
|
8156
8341
|
fg: theme().textMuted
|
|
8157
8342
|
}, _$p));
|
|
8158
|
-
return _el$
|
|
8343
|
+
return _el$213;
|
|
8159
8344
|
})()];
|
|
8160
8345
|
})(), null);
|
|
8161
|
-
_$insert(_el$
|
|
8162
|
-
var _c$
|
|
8163
|
-
return () => _c$
|
|
8164
|
-
var _el$
|
|
8346
|
+
_$insert(_el$136, (() => {
|
|
8347
|
+
var _c$16 = _$memo(() => !!goal().config.artifactDir);
|
|
8348
|
+
return () => _c$16() && [(() => {
|
|
8349
|
+
var _el$215 = _$createElement("span"), _el$216 = _$createTextNode(`
|
|
8165
8350
|
\uD83D\uDCC1 `);
|
|
8166
|
-
_$insertNode(_el$
|
|
8167
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8351
|
+
_$insertNode(_el$215, _el$216);
|
|
8352
|
+
_$effect((_$p) => _$setProp(_el$215, "style", {
|
|
8168
8353
|
fg: theme().accent
|
|
8169
8354
|
}, _$p));
|
|
8170
|
-
return _el$
|
|
8355
|
+
return _el$215;
|
|
8171
8356
|
})(), (() => {
|
|
8172
|
-
var _el$
|
|
8173
|
-
_$insertNode(_el$
|
|
8174
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8357
|
+
var _el$218 = _$createElement("span");
|
|
8358
|
+
_$insertNode(_el$218, _$createTextNode(`Artifacts: `));
|
|
8359
|
+
_$effect((_$p) => _$setProp(_el$218, "style", {
|
|
8175
8360
|
fg: theme().accent,
|
|
8176
8361
|
bold: true
|
|
8177
8362
|
}, _$p));
|
|
8178
|
-
return _el$
|
|
8363
|
+
return _el$218;
|
|
8179
8364
|
})(), (() => {
|
|
8180
|
-
var _el$
|
|
8181
|
-
_$insert(_el$
|
|
8182
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8365
|
+
var _el$220 = _$createElement("span");
|
|
8366
|
+
_$insert(_el$220, () => String(goal().config.artifactDir).replace(String(props.directory), "."));
|
|
8367
|
+
_$effect((_$p) => _$setProp(_el$220, "style", {
|
|
8183
8368
|
fg: theme().textMuted
|
|
8184
8369
|
}, _$p));
|
|
8185
|
-
return _el$
|
|
8370
|
+
return _el$220;
|
|
8186
8371
|
})()];
|
|
8187
8372
|
})(), null);
|
|
8188
|
-
_$insert(_el$
|
|
8189
|
-
var _c$
|
|
8190
|
-
return () => _c$
|
|
8191
|
-
var _el$
|
|
8373
|
+
_$insert(_el$136, (() => {
|
|
8374
|
+
var _c$17 = _$memo(() => !!goal().workerTopology);
|
|
8375
|
+
return () => _c$17() && [(() => {
|
|
8376
|
+
var _el$221 = _$createElement("span"), _el$222 = _$createTextNode(`
|
|
8192
8377
|
\uD83C\uDF3F Worker: `);
|
|
8193
|
-
_$insertNode(_el$
|
|
8194
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8378
|
+
_$insertNode(_el$221, _el$222);
|
|
8379
|
+
_$effect((_$p) => _$setProp(_el$221, "style", {
|
|
8195
8380
|
fg: theme().textMuted
|
|
8196
8381
|
}, _$p));
|
|
8197
|
-
return _el$
|
|
8382
|
+
return _el$221;
|
|
8198
8383
|
})(), (() => {
|
|
8199
|
-
var _el$
|
|
8200
|
-
_$insert(_el$
|
|
8201
|
-
var _c$
|
|
8202
|
-
return () => _c$
|
|
8384
|
+
var _el$224 = _$createElement("span");
|
|
8385
|
+
_$insert(_el$224, (() => {
|
|
8386
|
+
var _c$26 = _$memo(() => goal().workerTopology === "v2-native-child");
|
|
8387
|
+
return () => _c$26() ? "native child" : goal().workerTopology === "v2-root-fallback" ? "root fallback" : "v1 child";
|
|
8203
8388
|
})());
|
|
8204
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8389
|
+
_$effect((_$p) => _$setProp(_el$224, "style", {
|
|
8205
8390
|
fg: theme().text
|
|
8206
8391
|
}, _$p));
|
|
8207
|
-
return _el$
|
|
8392
|
+
return _el$224;
|
|
8208
8393
|
})(), _$memo(() => _$memo(() => !!goal().nativeParentID)() ? (() => {
|
|
8209
|
-
var _el$
|
|
8210
|
-
_$insertNode(_el$
|
|
8211
|
-
_$insertNode(_el$
|
|
8212
|
-
_$insert(_el$
|
|
8213
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8394
|
+
var _el$225 = _$createElement("span"), _el$226 = _$createTextNode(` of `), _el$227 = _$createTextNode(`\u2026`);
|
|
8395
|
+
_$insertNode(_el$225, _el$226);
|
|
8396
|
+
_$insertNode(_el$225, _el$227);
|
|
8397
|
+
_$insert(_el$225, () => goal().nativeParentID.slice(0, 12), _el$227);
|
|
8398
|
+
_$effect((_$p) => _$setProp(_el$225, "style", {
|
|
8214
8399
|
fg: theme().textMuted
|
|
8215
8400
|
}, _$p));
|
|
8216
|
-
return _el$
|
|
8401
|
+
return _el$225;
|
|
8217
8402
|
})() : null)];
|
|
8218
8403
|
})(), null);
|
|
8219
|
-
_$insert(_el$
|
|
8220
|
-
var _c$
|
|
8221
|
-
return () => _c$
|
|
8222
|
-
var _el$
|
|
8404
|
+
_$insert(_el$136, (() => {
|
|
8405
|
+
var _c$18 = _$memo(() => goal().interactive === true);
|
|
8406
|
+
return () => _c$18() && [(() => {
|
|
8407
|
+
var _el$228 = _$createElement("span"), _el$229 = _$createTextNode(`
|
|
8408
|
+
\u270B Manual: `);
|
|
8409
|
+
_$insertNode(_el$228, _el$229);
|
|
8410
|
+
_$effect((_$p) => _$setProp(_el$228, "style", {
|
|
8411
|
+
fg: theme().accent,
|
|
8412
|
+
bold: true
|
|
8413
|
+
}, _$p));
|
|
8414
|
+
return _el$228;
|
|
8415
|
+
})(), (() => {
|
|
8416
|
+
var _el$231 = _$createElement("span");
|
|
8417
|
+
_$insertNode(_el$231, _$createTextNode(`engine never starts turns \u2014 steer with :send/nudge (:interactive to re-enable auto)`));
|
|
8418
|
+
_$effect((_$p) => _$setProp(_el$231, "style", {
|
|
8419
|
+
fg: theme().textMuted
|
|
8420
|
+
}, _$p));
|
|
8421
|
+
return _el$231;
|
|
8422
|
+
})()];
|
|
8423
|
+
})(), null);
|
|
8424
|
+
_$insert(_el$136, (() => {
|
|
8425
|
+
var _c$19 = _$memo(() => !!goal().config.model);
|
|
8426
|
+
return () => _c$19() && [(() => {
|
|
8427
|
+
var _el$233 = _$createElement("span"), _el$234 = _$createTextNode(`
|
|
8428
|
+
\uD83E\uDDE0 Model: `);
|
|
8429
|
+
_$insertNode(_el$233, _el$234);
|
|
8430
|
+
_$effect((_$p) => _$setProp(_el$233, "style", {
|
|
8431
|
+
fg: theme().info,
|
|
8432
|
+
bold: true
|
|
8433
|
+
}, _$p));
|
|
8434
|
+
return _el$233;
|
|
8435
|
+
})(), (() => {
|
|
8436
|
+
var _el$236 = _$createElement("span");
|
|
8437
|
+
_$insert(_el$236, () => goal().config.model);
|
|
8438
|
+
_$effect((_$p) => _$setProp(_el$236, "style", {
|
|
8439
|
+
fg: theme().text
|
|
8440
|
+
}, _$p));
|
|
8441
|
+
return _el$236;
|
|
8442
|
+
})(), _$memo(() => _$memo(() => !!goal().modelSwitch?.pending)() ? (() => {
|
|
8443
|
+
var _el$237 = _$createElement("span"), _el$238 = _$createTextNode(` \u2192 pending `), _el$239 = _$createTextNode(` (applies next turn)`);
|
|
8444
|
+
_$insertNode(_el$237, _el$238);
|
|
8445
|
+
_$insertNode(_el$237, _el$239);
|
|
8446
|
+
_$insert(_el$237, () => goal().modelSwitch?.pending?.model, _el$239);
|
|
8447
|
+
_$effect((_$p) => _$setProp(_el$237, "style", {
|
|
8448
|
+
fg: theme().warning
|
|
8449
|
+
}, _$p));
|
|
8450
|
+
return _el$237;
|
|
8451
|
+
})() : null)];
|
|
8452
|
+
})(), null);
|
|
8453
|
+
_$insert(_el$136, (() => {
|
|
8454
|
+
var _c$20 = _$memo(() => (goal().config.checks?.length ?? 0) > 0);
|
|
8455
|
+
return () => _c$20() ? [(() => {
|
|
8456
|
+
var _el$240 = _$createElement("span"), _el$241 = _$createTextNode(`
|
|
8223
8457
|
\u25A3 `);
|
|
8224
|
-
_$insertNode(_el$
|
|
8225
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8458
|
+
_$insertNode(_el$240, _el$241);
|
|
8459
|
+
_$effect((_$p) => _$setProp(_el$240, "style", {
|
|
8226
8460
|
fg: theme().warning
|
|
8227
8461
|
}, _$p));
|
|
8228
|
-
return _el$
|
|
8462
|
+
return _el$240;
|
|
8229
8463
|
})(), (() => {
|
|
8230
|
-
var _el$
|
|
8231
|
-
_$insertNode(_el$
|
|
8232
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8464
|
+
var _el$243 = _$createElement("span");
|
|
8465
|
+
_$insertNode(_el$243, _$createTextNode(`Checks: `));
|
|
8466
|
+
_$effect((_$p) => _$setProp(_el$243, "style", {
|
|
8233
8467
|
fg: theme().warning,
|
|
8234
8468
|
bold: true
|
|
8235
8469
|
}, _$p));
|
|
8236
|
-
return _el$
|
|
8470
|
+
return _el$243;
|
|
8237
8471
|
})(), (() => {
|
|
8238
|
-
var _el$
|
|
8239
|
-
_$insert(_el$
|
|
8240
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8472
|
+
var _el$245 = _$createElement("span");
|
|
8473
|
+
_$insert(_el$245, () => goal().config.checks.join(", ").slice(0, 100));
|
|
8474
|
+
_$effect((_$p) => _$setProp(_el$245, "style", {
|
|
8241
8475
|
fg: theme().textMuted
|
|
8242
8476
|
}, _$p));
|
|
8243
|
-
return _el$
|
|
8477
|
+
return _el$245;
|
|
8244
8478
|
})()] : null;
|
|
8245
8479
|
})(), null);
|
|
8246
|
-
_$insert(_el$
|
|
8247
|
-
var _c$
|
|
8248
|
-
return () => _c$
|
|
8249
|
-
var _el$
|
|
8480
|
+
_$insert(_el$136, (() => {
|
|
8481
|
+
var _c$21 = _$memo(() => rt()?.evaluatorRejectionCount > 0);
|
|
8482
|
+
return () => _c$21() && [(() => {
|
|
8483
|
+
var _el$246 = _$createElement("span"), _el$247 = _$createTextNode(`
|
|
8250
8484
|
\u26A0 rejections: `);
|
|
8251
|
-
_$insertNode(_el$
|
|
8252
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8485
|
+
_$insertNode(_el$246, _el$247);
|
|
8486
|
+
_$effect((_$p) => _$setProp(_el$246, "style", {
|
|
8253
8487
|
fg: theme().warning
|
|
8254
8488
|
}, _$p));
|
|
8255
|
-
return _el$
|
|
8489
|
+
return _el$246;
|
|
8256
8490
|
})(), (() => {
|
|
8257
|
-
var _el$
|
|
8258
|
-
_$insertNode(_el$
|
|
8259
|
-
_$insert(_el$
|
|
8260
|
-
_$insert(_el$
|
|
8261
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8491
|
+
var _el$249 = _$createElement("span"), _el$250 = _$createTextNode(` \u2014 `);
|
|
8492
|
+
_$insertNode(_el$249, _el$250);
|
|
8493
|
+
_$insert(_el$249, () => String(rt().evaluatorRejectionCount), _el$250);
|
|
8494
|
+
_$insert(_el$249, () => String(rt().lastRejectionDetails || "").slice(0, 80), null);
|
|
8495
|
+
_$effect((_$p) => _$setProp(_el$249, "style", {
|
|
8262
8496
|
fg: theme().warning
|
|
8263
8497
|
}, _$p));
|
|
8264
|
-
return _el$
|
|
8498
|
+
return _el$249;
|
|
8265
8499
|
})()];
|
|
8266
8500
|
})(), null);
|
|
8267
|
-
_$insert(_el$
|
|
8268
|
-
var _c$
|
|
8269
|
-
return () => _c$
|
|
8270
|
-
var _el$
|
|
8501
|
+
_$insert(_el$136, (() => {
|
|
8502
|
+
var _c$22 = _$memo(() => rt()?.unknownStatusCount > 0);
|
|
8503
|
+
return () => _c$22() && [(() => {
|
|
8504
|
+
var _el$251 = _$createElement("span"), _el$252 = _$createTextNode(`
|
|
8271
8505
|
\u26A0\uFE0F unreachable: `);
|
|
8272
|
-
_$insertNode(_el$
|
|
8273
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8506
|
+
_$insertNode(_el$251, _el$252);
|
|
8507
|
+
_$effect((_$p) => _$setProp(_el$251, "style", {
|
|
8274
8508
|
fg: theme().error
|
|
8275
8509
|
}, _$p));
|
|
8276
|
-
return _el$
|
|
8510
|
+
return _el$251;
|
|
8277
8511
|
})(), (() => {
|
|
8278
|
-
var _el$
|
|
8279
|
-
_$insertNode(_el$
|
|
8280
|
-
_$insert(_el$
|
|
8281
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8512
|
+
var _el$254 = _$createElement("span"), _el$255 = _$createTextNode(`/3`);
|
|
8513
|
+
_$insertNode(_el$254, _el$255);
|
|
8514
|
+
_$insert(_el$254, () => String(rt().unknownStatusCount), _el$255);
|
|
8515
|
+
_$effect((_$p) => _$setProp(_el$254, "style", {
|
|
8282
8516
|
fg: theme().error
|
|
8283
8517
|
}, _$p));
|
|
8284
|
-
return _el$
|
|
8518
|
+
return _el$254;
|
|
8285
8519
|
})(), (() => {
|
|
8286
|
-
var _el$
|
|
8287
|
-
_$insertNode(_el$
|
|
8288
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8520
|
+
var _el$256 = _$createElement("span");
|
|
8521
|
+
_$insertNode(_el$256, _$createTextNode(` \u2014 nudge to recover`));
|
|
8522
|
+
_$effect((_$p) => _$setProp(_el$256, "style", {
|
|
8289
8523
|
fg: theme().textMuted
|
|
8290
8524
|
}, _$p));
|
|
8291
|
-
return _el$
|
|
8525
|
+
return _el$256;
|
|
8292
8526
|
})()];
|
|
8293
8527
|
})(), null);
|
|
8294
|
-
_$insert(_el$
|
|
8295
|
-
var _c$
|
|
8296
|
-
return () => _c$
|
|
8297
|
-
var _el$
|
|
8528
|
+
_$insert(_el$136, (() => {
|
|
8529
|
+
var _c$23 = _$memo(() => !!rt()?.retryAfter);
|
|
8530
|
+
return () => _c$23() && [(() => {
|
|
8531
|
+
var _el$258 = _$createElement("span"), _el$259 = _$createTextNode(`
|
|
8298
8532
|
\u21BB retry in: `);
|
|
8299
|
-
_$insertNode(_el$
|
|
8300
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8533
|
+
_$insertNode(_el$258, _el$259);
|
|
8534
|
+
_$effect((_$p) => _$setProp(_el$258, "style", {
|
|
8301
8535
|
fg: theme().accent
|
|
8302
8536
|
}, _$p));
|
|
8303
|
-
return _el$
|
|
8537
|
+
return _el$258;
|
|
8304
8538
|
})(), (() => {
|
|
8305
|
-
var _el$
|
|
8306
|
-
_$insert(_el$
|
|
8307
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8539
|
+
var _el$261 = _$createElement("span");
|
|
8540
|
+
_$insert(_el$261, () => countdownLabel(rt().retryAfter, clock()));
|
|
8541
|
+
_$effect((_$p) => _$setProp(_el$261, "style", {
|
|
8308
8542
|
fg: theme().accent
|
|
8309
8543
|
}, _$p));
|
|
8310
|
-
return _el$
|
|
8544
|
+
return _el$261;
|
|
8311
8545
|
})()];
|
|
8312
8546
|
})(), null);
|
|
8313
|
-
_$insert(_el$
|
|
8314
|
-
var _c$
|
|
8315
|
-
return () => _c$
|
|
8316
|
-
var _el$
|
|
8547
|
+
_$insert(_el$136, (() => {
|
|
8548
|
+
var _c$24 = _$memo(() => !!rt()?.nextRunAt);
|
|
8549
|
+
return () => _c$24() && [(() => {
|
|
8550
|
+
var _el$262 = _$createElement("span"), _el$263 = _$createTextNode(`
|
|
8317
8551
|
\u23F0 next run: `);
|
|
8318
|
-
_$insertNode(_el$
|
|
8319
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8552
|
+
_$insertNode(_el$262, _el$263);
|
|
8553
|
+
_$effect((_$p) => _$setProp(_el$262, "style", {
|
|
8320
8554
|
fg: theme().accent
|
|
8321
8555
|
}, _$p));
|
|
8322
|
-
return _el$
|
|
8556
|
+
return _el$262;
|
|
8323
8557
|
})(), (() => {
|
|
8324
|
-
var _el$
|
|
8325
|
-
_$insert(_el$
|
|
8326
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8558
|
+
var _el$265 = _$createElement("span");
|
|
8559
|
+
_$insert(_el$265, () => countdownLabel(rt().nextRunAt, clock()));
|
|
8560
|
+
_$effect((_$p) => _$setProp(_el$265, "style", {
|
|
8327
8561
|
fg: theme().accent
|
|
8328
8562
|
}, _$p));
|
|
8329
|
-
return _el$
|
|
8563
|
+
return _el$265;
|
|
8330
8564
|
})(), (() => {
|
|
8331
|
-
var _el$
|
|
8332
|
-
_$insertNode(_el$
|
|
8333
|
-
_$insertNode(_el$
|
|
8334
|
-
_$insert(_el$
|
|
8335
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8565
|
+
var _el$266 = _$createElement("span"), _el$267 = _$createTextNode(` (`), _el$268 = _$createTextNode(` runs)`);
|
|
8566
|
+
_$insertNode(_el$266, _el$267);
|
|
8567
|
+
_$insertNode(_el$266, _el$268);
|
|
8568
|
+
_$insert(_el$266, () => String(rt().scheduleRunCount || 0), _el$268);
|
|
8569
|
+
_$effect((_$p) => _$setProp(_el$266, "style", {
|
|
8336
8570
|
fg: theme().textMuted
|
|
8337
8571
|
}, _$p));
|
|
8338
|
-
return _el$
|
|
8572
|
+
return _el$266;
|
|
8339
8573
|
})()];
|
|
8340
8574
|
})(), null);
|
|
8341
|
-
_$insert(_el$
|
|
8342
|
-
var _c$
|
|
8343
|
-
return () => _c$
|
|
8344
|
-
var _el$
|
|
8575
|
+
_$insert(_el$136, (() => {
|
|
8576
|
+
var _c$25 = _$memo(() => !!rt()?.lastError);
|
|
8577
|
+
return () => _c$25() && [(() => {
|
|
8578
|
+
var _el$269 = _$createElement("span"), _el$270 = _$createTextNode(`
|
|
8345
8579
|
\u26A0 `);
|
|
8346
|
-
_$insertNode(_el$
|
|
8347
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8580
|
+
_$insertNode(_el$269, _el$270);
|
|
8581
|
+
_$effect((_$p) => _$setProp(_el$269, "style", {
|
|
8348
8582
|
fg: theme().error
|
|
8349
8583
|
}, _$p));
|
|
8350
|
-
return _el$
|
|
8584
|
+
return _el$269;
|
|
8351
8585
|
})(), (() => {
|
|
8352
|
-
var _el$
|
|
8353
|
-
_$insertNode(_el$
|
|
8354
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8586
|
+
var _el$272 = _$createElement("span");
|
|
8587
|
+
_$insertNode(_el$272, _$createTextNode(`Error: `));
|
|
8588
|
+
_$effect((_$p) => _$setProp(_el$272, "style", {
|
|
8355
8589
|
fg: theme().error,
|
|
8356
8590
|
bold: true
|
|
8357
8591
|
}, _$p));
|
|
8358
|
-
return _el$
|
|
8592
|
+
return _el$272;
|
|
8359
8593
|
})(), (() => {
|
|
8360
|
-
var _el$
|
|
8361
|
-
_$insert(_el$
|
|
8362
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8594
|
+
var _el$274 = _$createElement("span");
|
|
8595
|
+
_$insert(_el$274, () => rt().lastError.slice(0, 120));
|
|
8596
|
+
_$effect((_$p) => _$setProp(_el$274, "style", {
|
|
8363
8597
|
fg: theme().error
|
|
8364
8598
|
}, _$p));
|
|
8365
|
-
return _el$
|
|
8599
|
+
return _el$274;
|
|
8366
8600
|
})()];
|
|
8367
8601
|
})(), null);
|
|
8368
8602
|
_$effect((_p$) => {
|
|
@@ -8381,13 +8615,13 @@ function LoopDashboard(props) {
|
|
|
8381
8615
|
}, _v$48 = {
|
|
8382
8616
|
fg: theme().text
|
|
8383
8617
|
};
|
|
8384
|
-
_v$42 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
8385
|
-
_v$43 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
8386
|
-
_v$44 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
8387
|
-
_v$45 !== _p$.o && (_p$.o = _$setProp(_el$
|
|
8388
|
-
_v$46 !== _p$.i && (_p$.i = _$setProp(_el$
|
|
8389
|
-
_v$47 !== _p$.n && (_p$.n = _$setProp(_el$
|
|
8390
|
-
_v$48 !== _p$.s && (_p$.s = _$setProp(_el$
|
|
8618
|
+
_v$42 !== _p$.e && (_p$.e = _$setProp(_el$135, "borderColor", _v$42, _p$.e));
|
|
8619
|
+
_v$43 !== _p$.t && (_p$.t = _$setProp(_el$137, "style", _v$43, _p$.t));
|
|
8620
|
+
_v$44 !== _p$.a && (_p$.a = _$setProp(_el$139, "style", _v$44, _p$.a));
|
|
8621
|
+
_v$45 !== _p$.o && (_p$.o = _$setProp(_el$141, "style", _v$45, _p$.o));
|
|
8622
|
+
_v$46 !== _p$.i && (_p$.i = _$setProp(_el$144, "style", _v$46, _p$.i));
|
|
8623
|
+
_v$47 !== _p$.n && (_p$.n = _$setProp(_el$146, "style", _v$47, _p$.n));
|
|
8624
|
+
_v$48 !== _p$.s && (_p$.s = _$setProp(_el$148, "style", _v$48, _p$.s));
|
|
8391
8625
|
return _p$;
|
|
8392
8626
|
}, {
|
|
8393
8627
|
e: undefined,
|
|
@@ -8398,7 +8632,7 @@ function LoopDashboard(props) {
|
|
|
8398
8632
|
n: undefined,
|
|
8399
8633
|
s: undefined
|
|
8400
8634
|
});
|
|
8401
|
-
return _el$
|
|
8635
|
+
return _el$135;
|
|
8402
8636
|
})();
|
|
8403
8637
|
}
|
|
8404
8638
|
})];
|
|
@@ -8415,28 +8649,62 @@ function LoopDashboard(props) {
|
|
|
8415
8649
|
},
|
|
8416
8650
|
get fallback() {
|
|
8417
8651
|
return (() => {
|
|
8418
|
-
var _el$
|
|
8419
|
-
_$insertNode(_el$
|
|
8420
|
-
_$insertNode(_el$
|
|
8421
|
-
_$setProp(_el$
|
|
8422
|
-
_$setProp(_el$
|
|
8423
|
-
_$setProp(_el$
|
|
8424
|
-
_$insertNode(_el$
|
|
8425
|
-
_$insertNode(_el$
|
|
8426
|
-
_$insertNode(_el$
|
|
8427
|
-
_$insertNode(_el$
|
|
8428
|
-
_$insertNode(_el$
|
|
8429
|
-
_$
|
|
8430
|
-
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
_$insertNode(_el$
|
|
8434
|
-
_$insertNode(_el$
|
|
8435
|
-
_$
|
|
8436
|
-
_$
|
|
8437
|
-
|
|
8438
|
-
|
|
8439
|
-
|
|
8652
|
+
var _el$275 = _$createElement("box"), _el$276 = _$createElement("text"), _el$277 = _$createElement("span"), _el$278 = _$createTextNode(`No live command sessions`), _el$279 = _$createTextNode(`. `), _el$280 = _$createElement("span"), _el$282 = _$createElement("span"), _el$283 = _$createTextNode(` to start one`), _el$284 = _$createElement("text"), _el$285 = _$createElement("span"), _el$287 = _$createElement("span"), _el$289 = _$createElement("span"), _el$291 = _$createElement("span"), _el$293 = _$createElement("span"), _el$295 = _$createElement("span"), _el$297 = _$createElement("span");
|
|
8653
|
+
_$insertNode(_el$275, _el$276);
|
|
8654
|
+
_$insertNode(_el$275, _el$284);
|
|
8655
|
+
_$setProp(_el$275, "flexDirection", "column");
|
|
8656
|
+
_$setProp(_el$275, "gap", 1);
|
|
8657
|
+
_$setProp(_el$275, "padding", 1);
|
|
8658
|
+
_$insertNode(_el$276, _el$277);
|
|
8659
|
+
_$insertNode(_el$276, _el$280);
|
|
8660
|
+
_$insertNode(_el$276, _el$282);
|
|
8661
|
+
_$insertNode(_el$277, _el$278);
|
|
8662
|
+
_$insertNode(_el$277, _el$279);
|
|
8663
|
+
_$insert(_el$277, (() => {
|
|
8664
|
+
var _c$27 = _$memo(() => hiddenFinishedCommands() > 0);
|
|
8665
|
+
return () => _c$27() ? ` \u2014 ${hiddenFinishedCommands()} finished hidden` : "";
|
|
8666
|
+
})(), _el$279);
|
|
8667
|
+
_$insertNode(_el$280, _$createTextNode(`:new <command>`));
|
|
8668
|
+
_$insertNode(_el$282, _el$283);
|
|
8669
|
+
_$insert(_el$282, () => hiddenFinishedCommands() > 0 ? ", or " : "; ", null);
|
|
8670
|
+
_$insert(_el$276, (() => {
|
|
8671
|
+
var _c$28 = _$memo(() => hiddenFinishedCommands() > 0);
|
|
8672
|
+
return () => _c$28() && (() => {
|
|
8673
|
+
var _el$299 = _$createElement("span"), _el$300 = _$createElement("span"), _el$302 = _$createElement("span");
|
|
8674
|
+
_$insertNode(_el$299, _el$300);
|
|
8675
|
+
_$insertNode(_el$299, _el$302);
|
|
8676
|
+
_$insertNode(_el$300, _$createTextNode(`c`));
|
|
8677
|
+
_$insertNode(_el$302, _$createTextNode(` to show finished.`));
|
|
8678
|
+
_$effect((_p$) => {
|
|
8679
|
+
var _v$59 = {
|
|
8680
|
+
fg: theme().warning
|
|
8681
|
+
}, _v$60 = {
|
|
8682
|
+
fg: theme().textMuted
|
|
8683
|
+
};
|
|
8684
|
+
_v$59 !== _p$.e && (_p$.e = _$setProp(_el$300, "style", _v$59, _p$.e));
|
|
8685
|
+
_v$60 !== _p$.t && (_p$.t = _$setProp(_el$302, "style", _v$60, _p$.t));
|
|
8686
|
+
return _p$;
|
|
8687
|
+
}, {
|
|
8688
|
+
e: undefined,
|
|
8689
|
+
t: undefined
|
|
8690
|
+
});
|
|
8691
|
+
return _el$299;
|
|
8692
|
+
})();
|
|
8693
|
+
})(), null);
|
|
8694
|
+
_$insertNode(_el$284, _el$285);
|
|
8695
|
+
_$insertNode(_el$284, _el$287);
|
|
8696
|
+
_$insertNode(_el$284, _el$289);
|
|
8697
|
+
_$insertNode(_el$284, _el$291);
|
|
8698
|
+
_$insertNode(_el$284, _el$293);
|
|
8699
|
+
_$insertNode(_el$284, _el$295);
|
|
8700
|
+
_$insertNode(_el$284, _el$297);
|
|
8701
|
+
_$insertNode(_el$285, _$createTextNode(`Tip: `));
|
|
8702
|
+
_$insertNode(_el$287, _$createTextNode(`o`));
|
|
8703
|
+
_$insertNode(_el$289, _$createTextNode(` fullscreen \xB7 `));
|
|
8704
|
+
_$insertNode(_el$291, _$createTextNode(`X kill \xB7 R restart \xB7 x remove-done`));
|
|
8705
|
+
_$insertNode(_el$293, _$createTextNode(` \xB7 `));
|
|
8706
|
+
_$insertNode(_el$295, _$createTextNode(`:interrupt :terminate :remove`));
|
|
8707
|
+
_$insertNode(_el$297, _$createTextNode(` manage \xB7 text + Enter writes stdin.`));
|
|
8440
8708
|
_$effect((_p$) => {
|
|
8441
8709
|
var _v$49 = {
|
|
8442
8710
|
fg: theme().textMuted
|
|
@@ -8454,15 +8722,21 @@ function LoopDashboard(props) {
|
|
|
8454
8722
|
fg: theme().warning
|
|
8455
8723
|
}, _v$56 = {
|
|
8456
8724
|
fg: theme().textMuted
|
|
8725
|
+
}, _v$57 = {
|
|
8726
|
+
fg: theme().warning
|
|
8727
|
+
}, _v$58 = {
|
|
8728
|
+
fg: theme().textMuted
|
|
8457
8729
|
};
|
|
8458
|
-
_v$49 !== _p$.e && (_p$.e = _$setProp(_el$
|
|
8459
|
-
_v$50 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
8460
|
-
_v$51 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
8461
|
-
_v$52 !== _p$.o && (_p$.o = _$setProp(_el$
|
|
8462
|
-
_v$53 !== _p$.i && (_p$.i = _$setProp(_el$
|
|
8463
|
-
_v$54 !== _p$.n && (_p$.n = _$setProp(_el$
|
|
8464
|
-
_v$55 !== _p$.s && (_p$.s = _$setProp(_el$
|
|
8465
|
-
_v$56 !== _p$.h && (_p$.h = _$setProp(_el$
|
|
8730
|
+
_v$49 !== _p$.e && (_p$.e = _$setProp(_el$277, "style", _v$49, _p$.e));
|
|
8731
|
+
_v$50 !== _p$.t && (_p$.t = _$setProp(_el$280, "style", _v$50, _p$.t));
|
|
8732
|
+
_v$51 !== _p$.a && (_p$.a = _$setProp(_el$282, "style", _v$51, _p$.a));
|
|
8733
|
+
_v$52 !== _p$.o && (_p$.o = _$setProp(_el$285, "style", _v$52, _p$.o));
|
|
8734
|
+
_v$53 !== _p$.i && (_p$.i = _$setProp(_el$287, "style", _v$53, _p$.i));
|
|
8735
|
+
_v$54 !== _p$.n && (_p$.n = _$setProp(_el$289, "style", _v$54, _p$.n));
|
|
8736
|
+
_v$55 !== _p$.s && (_p$.s = _$setProp(_el$291, "style", _v$55, _p$.s));
|
|
8737
|
+
_v$56 !== _p$.h && (_p$.h = _$setProp(_el$293, "style", _v$56, _p$.h));
|
|
8738
|
+
_v$57 !== _p$.r && (_p$.r = _$setProp(_el$295, "style", _v$57, _p$.r));
|
|
8739
|
+
_v$58 !== _p$.d && (_p$.d = _$setProp(_el$297, "style", _v$58, _p$.d));
|
|
8466
8740
|
return _p$;
|
|
8467
8741
|
}, {
|
|
8468
8742
|
e: undefined,
|
|
@@ -8472,120 +8746,122 @@ function LoopDashboard(props) {
|
|
|
8472
8746
|
i: undefined,
|
|
8473
8747
|
n: undefined,
|
|
8474
8748
|
s: undefined,
|
|
8475
|
-
h: undefined
|
|
8749
|
+
h: undefined,
|
|
8750
|
+
r: undefined,
|
|
8751
|
+
d: undefined
|
|
8476
8752
|
});
|
|
8477
|
-
return _el$
|
|
8753
|
+
return _el$275;
|
|
8478
8754
|
})();
|
|
8479
8755
|
},
|
|
8480
8756
|
get children() {
|
|
8481
|
-
var _el$
|
|
8482
|
-
_$insert(_el$
|
|
8757
|
+
var _el$44 = _$createElement("scrollbox");
|
|
8758
|
+
_$insert(_el$44, _$createComponent(For, {
|
|
8483
8759
|
get each() {
|
|
8484
8760
|
return ownerCommands();
|
|
8485
8761
|
},
|
|
8486
8762
|
children: (cmd, i) => {
|
|
8487
8763
|
const isActive = () => i() === cmdSelected();
|
|
8488
8764
|
return (() => {
|
|
8489
|
-
var _el$
|
|
8490
|
-
_$insertNode(_el$
|
|
8491
|
-
_$setProp(_el$
|
|
8492
|
-
_$setProp(_el$
|
|
8493
|
-
_$setProp(_el$
|
|
8494
|
-
_$insertNode(_el$
|
|
8495
|
-
_$insertNode(_el$
|
|
8496
|
-
_$insertNode(_el$
|
|
8497
|
-
_$insertNode(_el$
|
|
8498
|
-
_$insertNode(_el$
|
|
8499
|
-
_$insertNode(_el$
|
|
8500
|
-
_$insertNode(_el$
|
|
8501
|
-
_$setProp(_el$
|
|
8502
|
-
_$setProp(_el$
|
|
8503
|
-
_$insert(_el$
|
|
8504
|
-
var _c$
|
|
8505
|
-
return () => _c$
|
|
8765
|
+
var _el$304 = _$createElement("box"), _el$305 = _$createElement("text"), _el$306 = _$createElement("span"), _el$307 = _$createElement("span"), _el$309 = _$createElement("span"), _el$311 = _$createElement("span"), _el$312 = _$createElement("span"), _el$314 = _$createElement("span"), _el$315 = _$createElement("span"), _el$316 = _$createTextNode(` \u2502 `);
|
|
8766
|
+
_$insertNode(_el$304, _el$305);
|
|
8767
|
+
_$setProp(_el$304, "flexDirection", "row");
|
|
8768
|
+
_$setProp(_el$304, "paddingLeft", 1);
|
|
8769
|
+
_$setProp(_el$304, "paddingRight", 1);
|
|
8770
|
+
_$insertNode(_el$305, _el$306);
|
|
8771
|
+
_$insertNode(_el$305, _el$307);
|
|
8772
|
+
_$insertNode(_el$305, _el$309);
|
|
8773
|
+
_$insertNode(_el$305, _el$311);
|
|
8774
|
+
_$insertNode(_el$305, _el$312);
|
|
8775
|
+
_$insertNode(_el$305, _el$314);
|
|
8776
|
+
_$insertNode(_el$305, _el$315);
|
|
8777
|
+
_$setProp(_el$305, "wrapMode", "none");
|
|
8778
|
+
_$setProp(_el$305, "truncate", true);
|
|
8779
|
+
_$insert(_el$306, (() => {
|
|
8780
|
+
var _c$29 = _$memo(() => !!isActive());
|
|
8781
|
+
return () => _c$29() ? `\u25B6 ${commandStatusIcon(cmd.status)} ${cmd.title}` : ` ${commandStatusIcon(cmd.status)} ${cmd.title}`;
|
|
8506
8782
|
})());
|
|
8507
|
-
_$insertNode(_el$
|
|
8508
|
-
_$insertNode(_el$
|
|
8509
|
-
_$insert(_el$
|
|
8510
|
-
_$insertNode(_el$
|
|
8511
|
-
_$insert(_el$
|
|
8512
|
-
_$insert(_el$
|
|
8513
|
-
var _c$
|
|
8514
|
-
return () => _c$
|
|
8515
|
-
var _el$
|
|
8516
|
-
_$insertNode(_el$
|
|
8517
|
-
_$insert(_el$
|
|
8518
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8783
|
+
_$insertNode(_el$307, _$createTextNode(` \u2502 `));
|
|
8784
|
+
_$insertNode(_el$309, _$createTextNode(`Cmd `));
|
|
8785
|
+
_$insert(_el$311, () => commandStatusLabel(cmd.status).short);
|
|
8786
|
+
_$insertNode(_el$312, _$createTextNode(` \u2502 `));
|
|
8787
|
+
_$insert(_el$314, () => cmd.command);
|
|
8788
|
+
_$insert(_el$305, (() => {
|
|
8789
|
+
var _c$30 = _$memo(() => cmd.args.length > 0);
|
|
8790
|
+
return () => _c$30() && (() => {
|
|
8791
|
+
var _el$317 = _$createElement("span"), _el$318 = _$createTextNode(` `);
|
|
8792
|
+
_$insertNode(_el$317, _el$318);
|
|
8793
|
+
_$insert(_el$317, () => cmd.args.join(" ").slice(0, 40), null);
|
|
8794
|
+
_$effect((_$p) => _$setProp(_el$317, "style", {
|
|
8519
8795
|
fg: theme().textMuted
|
|
8520
8796
|
}, _$p));
|
|
8521
|
-
return _el$
|
|
8797
|
+
return _el$317;
|
|
8522
8798
|
})();
|
|
8523
|
-
})(), _el$
|
|
8524
|
-
_$insert(_el$
|
|
8525
|
-
var _c$
|
|
8526
|
-
return () => _c$
|
|
8527
|
-
var _el$
|
|
8528
|
-
_$insertNode(_el$
|
|
8529
|
-
_$insert(_el$
|
|
8530
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8799
|
+
})(), _el$315);
|
|
8800
|
+
_$insert(_el$305, (() => {
|
|
8801
|
+
var _c$31 = _$memo(() => cmd.exitCode !== undefined);
|
|
8802
|
+
return () => _c$31() && (() => {
|
|
8803
|
+
var _el$319 = _$createElement("span"), _el$320 = _$createTextNode(` \u2502 exit `);
|
|
8804
|
+
_$insertNode(_el$319, _el$320);
|
|
8805
|
+
_$insert(_el$319, () => cmd.exitCode, null);
|
|
8806
|
+
_$effect((_$p) => _$setProp(_el$319, "style", {
|
|
8531
8807
|
fg: cmd.exitCode === 0 ? theme().success : theme().error
|
|
8532
8808
|
}, _$p));
|
|
8533
|
-
return _el$
|
|
8809
|
+
return _el$319;
|
|
8534
8810
|
})();
|
|
8535
|
-
})(), _el$
|
|
8536
|
-
_$insert(_el$
|
|
8537
|
-
var _c$
|
|
8538
|
-
return () => _c$
|
|
8539
|
-
var _el$
|
|
8540
|
-
_$insertNode(_el$
|
|
8541
|
-
_$insert(_el$
|
|
8542
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8811
|
+
})(), _el$315);
|
|
8812
|
+
_$insert(_el$305, (() => {
|
|
8813
|
+
var _c$32 = _$memo(() => !!cmd.signal);
|
|
8814
|
+
return () => _c$32() && (() => {
|
|
8815
|
+
var _el$321 = _$createElement("span"), _el$322 = _$createTextNode(` \u2502 `);
|
|
8816
|
+
_$insertNode(_el$321, _el$322);
|
|
8817
|
+
_$insert(_el$321, () => cmd.signal, null);
|
|
8818
|
+
_$effect((_$p) => _$setProp(_el$321, "style", {
|
|
8543
8819
|
fg: theme().warning
|
|
8544
8820
|
}, _$p));
|
|
8545
|
-
return _el$
|
|
8821
|
+
return _el$321;
|
|
8546
8822
|
})();
|
|
8547
|
-
})(), _el$
|
|
8548
|
-
_$insertNode(_el$
|
|
8549
|
-
_$insert(_el$
|
|
8550
|
-
_$insert(_el$
|
|
8551
|
-
var _c$
|
|
8552
|
-
return () => _c$
|
|
8553
|
-
var _el$
|
|
8554
|
-
_$insertNode(_el$
|
|
8555
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8823
|
+
})(), _el$315);
|
|
8824
|
+
_$insertNode(_el$315, _el$316);
|
|
8825
|
+
_$insert(_el$315, () => ageLabel(cmd.updatedAt, clock()), null);
|
|
8826
|
+
_$insert(_el$305, (() => {
|
|
8827
|
+
var _c$33 = _$memo(() => !!cmd.truncated);
|
|
8828
|
+
return () => _c$33() && (() => {
|
|
8829
|
+
var _el$323 = _$createElement("span");
|
|
8830
|
+
_$insertNode(_el$323, _$createTextNode(` \u2502 \u26A0 truncated`));
|
|
8831
|
+
_$effect((_$p) => _$setProp(_el$323, "style", {
|
|
8556
8832
|
fg: theme().warning,
|
|
8557
8833
|
bold: true
|
|
8558
8834
|
}, _$p));
|
|
8559
|
-
return _el$
|
|
8835
|
+
return _el$323;
|
|
8560
8836
|
})();
|
|
8561
8837
|
})(), null);
|
|
8562
8838
|
_$effect((_p$) => {
|
|
8563
|
-
var _v$
|
|
8839
|
+
var _v$61 = isActive() ? theme().backgroundElement : undefined, _v$62 = {
|
|
8564
8840
|
fg: commandStatusColor(cmd.status, theme()),
|
|
8565
8841
|
bold: isActive()
|
|
8566
|
-
}, _v$
|
|
8842
|
+
}, _v$63 = {
|
|
8567
8843
|
fg: theme().textMuted
|
|
8568
|
-
}, _v$
|
|
8844
|
+
}, _v$64 = {
|
|
8569
8845
|
fg: theme().textMuted
|
|
8570
|
-
}, _v$
|
|
8846
|
+
}, _v$65 = {
|
|
8571
8847
|
fg: commandStatusColor(cmd.status, theme()),
|
|
8572
8848
|
bold: true
|
|
8573
|
-
}, _v$
|
|
8849
|
+
}, _v$66 = {
|
|
8574
8850
|
fg: theme().textMuted
|
|
8575
|
-
}, _v$
|
|
8851
|
+
}, _v$67 = {
|
|
8576
8852
|
fg: theme().accent,
|
|
8577
8853
|
bold: true
|
|
8578
|
-
}, _v$
|
|
8854
|
+
}, _v$68 = {
|
|
8579
8855
|
fg: theme().textMuted
|
|
8580
8856
|
};
|
|
8581
|
-
_v$
|
|
8582
|
-
_v$
|
|
8583
|
-
_v$
|
|
8584
|
-
_v$
|
|
8585
|
-
_v$
|
|
8586
|
-
_v$
|
|
8587
|
-
_v$
|
|
8588
|
-
_v$
|
|
8857
|
+
_v$61 !== _p$.e && (_p$.e = _$setProp(_el$304, "backgroundColor", _v$61, _p$.e));
|
|
8858
|
+
_v$62 !== _p$.t && (_p$.t = _$setProp(_el$306, "style", _v$62, _p$.t));
|
|
8859
|
+
_v$63 !== _p$.a && (_p$.a = _$setProp(_el$307, "style", _v$63, _p$.a));
|
|
8860
|
+
_v$64 !== _p$.o && (_p$.o = _$setProp(_el$309, "style", _v$64, _p$.o));
|
|
8861
|
+
_v$65 !== _p$.i && (_p$.i = _$setProp(_el$311, "style", _v$65, _p$.i));
|
|
8862
|
+
_v$66 !== _p$.n && (_p$.n = _$setProp(_el$312, "style", _v$66, _p$.n));
|
|
8863
|
+
_v$67 !== _p$.s && (_p$.s = _$setProp(_el$314, "style", _v$67, _p$.s));
|
|
8864
|
+
_v$68 !== _p$.h && (_p$.h = _$setProp(_el$315, "style", _v$68, _p$.h));
|
|
8589
8865
|
return _p$;
|
|
8590
8866
|
}, {
|
|
8591
8867
|
e: undefined,
|
|
@@ -8597,175 +8873,175 @@ function LoopDashboard(props) {
|
|
|
8597
8873
|
s: undefined,
|
|
8598
8874
|
h: undefined
|
|
8599
8875
|
});
|
|
8600
|
-
return _el$
|
|
8876
|
+
return _el$304;
|
|
8601
8877
|
})();
|
|
8602
8878
|
}
|
|
8603
8879
|
}));
|
|
8604
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8605
|
-
return _el$
|
|
8880
|
+
_$effect((_$p) => _$setProp(_el$44, "height", Math.min(ownerCommands().length, 10), _$p));
|
|
8881
|
+
return _el$44;
|
|
8606
8882
|
}
|
|
8607
8883
|
}), _$createComponent(Show, {
|
|
8608
8884
|
get when() {
|
|
8609
8885
|
return selectedCommand();
|
|
8610
8886
|
},
|
|
8611
8887
|
children: (cmd) => (() => {
|
|
8612
|
-
var _el$
|
|
8613
|
-
`), _el$
|
|
8614
|
-
`), _el$
|
|
8615
|
-
`), _el$
|
|
8616
|
-
`), _el$
|
|
8617
|
-
_$insertNode(_el$
|
|
8618
|
-
_$setProp(_el$
|
|
8619
|
-
_$setProp(_el$
|
|
8620
|
-
_$setProp(_el$
|
|
8621
|
-
_$setProp(_el$
|
|
8622
|
-
_$setProp(_el$
|
|
8623
|
-
_$insertNode(_el$
|
|
8624
|
-
_$insertNode(_el$
|
|
8625
|
-
_$insertNode(_el$
|
|
8626
|
-
_$insertNode(_el$
|
|
8627
|
-
_$insertNode(_el$
|
|
8628
|
-
_$insertNode(_el$
|
|
8629
|
-
_$insertNode(_el$
|
|
8630
|
-
_$insertNode(_el$
|
|
8631
|
-
_$insertNode(_el$
|
|
8632
|
-
_$insertNode(_el$
|
|
8633
|
-
_$insertNode(_el$
|
|
8634
|
-
_$insertNode(_el$
|
|
8635
|
-
_$insertNode(_el$
|
|
8636
|
-
_$insertNode(_el$
|
|
8637
|
-
_$insertNode(_el$
|
|
8638
|
-
_$insertNode(_el$
|
|
8639
|
-
_$insertNode(_el$
|
|
8640
|
-
_$insertNode(_el$
|
|
8641
|
-
_$insert(_el$
|
|
8642
|
-
_$insert(_el$
|
|
8643
|
-
_$insertNode(_el$
|
|
8644
|
-
_$insertNode(_el$
|
|
8645
|
-
_$insert(_el$
|
|
8646
|
-
_$insert(_el$
|
|
8647
|
-
_$insertNode(_el$
|
|
8648
|
-
_$insert(_el$
|
|
8649
|
-
_$insert(_el$
|
|
8650
|
-
var _c$
|
|
8651
|
-
return () => _c$
|
|
8652
|
-
var _el$
|
|
8653
|
-
_$insertNode(_el$
|
|
8654
|
-
_$insert(_el$
|
|
8655
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8888
|
+
var _el$325 = _$createElement("box"), _el$326 = _$createElement("text"), _el$327 = _$createElement("span"), _el$328 = _$createTextNode(` `), _el$329 = _$createElement("span"), _el$331 = _$createElement("span"), _el$332 = _$createTextNode(` \u2014 `), _el$333 = _$createTextNode(`
|
|
8889
|
+
`), _el$334 = _$createElement("span"), _el$336 = _$createElement("span"), _el$337 = _$createTextNode(`
|
|
8890
|
+
`), _el$338 = _$createElement("span"), _el$340 = _$createElement("span"), _el$342 = _$createElement("span"), _el$343 = _$createTextNode(`
|
|
8891
|
+
`), _el$344 = _$createElement("span"), _el$346 = _$createElement("span"), _el$348 = _$createElement("span"), _el$349 = _$createTextNode(` bytes`), _el$350 = _$createElement("span"), _el$351 = _$createTextNode(` \u2502 updated `), _el$352 = _$createTextNode(`
|
|
8892
|
+
`), _el$353 = _$createElement("span");
|
|
8893
|
+
_$insertNode(_el$325, _el$326);
|
|
8894
|
+
_$setProp(_el$325, "flexDirection", "column");
|
|
8895
|
+
_$setProp(_el$325, "border", true);
|
|
8896
|
+
_$setProp(_el$325, "padding", 1);
|
|
8897
|
+
_$setProp(_el$325, "flexShrink", 0);
|
|
8898
|
+
_$setProp(_el$325, "maxHeight", 8);
|
|
8899
|
+
_$insertNode(_el$326, _el$327);
|
|
8900
|
+
_$insertNode(_el$326, _el$329);
|
|
8901
|
+
_$insertNode(_el$326, _el$331);
|
|
8902
|
+
_$insertNode(_el$326, _el$333);
|
|
8903
|
+
_$insertNode(_el$326, _el$334);
|
|
8904
|
+
_$insertNode(_el$326, _el$336);
|
|
8905
|
+
_$insertNode(_el$326, _el$337);
|
|
8906
|
+
_$insertNode(_el$326, _el$338);
|
|
8907
|
+
_$insertNode(_el$326, _el$340);
|
|
8908
|
+
_$insertNode(_el$326, _el$342);
|
|
8909
|
+
_$insertNode(_el$326, _el$343);
|
|
8910
|
+
_$insertNode(_el$326, _el$344);
|
|
8911
|
+
_$insertNode(_el$326, _el$346);
|
|
8912
|
+
_$insertNode(_el$326, _el$348);
|
|
8913
|
+
_$insertNode(_el$326, _el$350);
|
|
8914
|
+
_$insertNode(_el$326, _el$352);
|
|
8915
|
+
_$insertNode(_el$326, _el$353);
|
|
8916
|
+
_$insertNode(_el$327, _el$328);
|
|
8917
|
+
_$insert(_el$327, () => commandStatusIcon(cmd().status), _el$328);
|
|
8918
|
+
_$insert(_el$327, () => cmd().title, null);
|
|
8919
|
+
_$insertNode(_el$329, _$createTextNode(` Cmd `));
|
|
8920
|
+
_$insertNode(_el$331, _el$332);
|
|
8921
|
+
_$insert(_el$331, () => commandStatusLabel(cmd().status).short, _el$332);
|
|
8922
|
+
_$insert(_el$331, () => commandStatusLabel(cmd().status).hint, null);
|
|
8923
|
+
_$insertNode(_el$334, _$createTextNode(`\u2B22 Spawn: `));
|
|
8924
|
+
_$insert(_el$336, () => cmd().command);
|
|
8925
|
+
_$insert(_el$326, (() => {
|
|
8926
|
+
var _c$34 = _$memo(() => cmd().args.length > 0);
|
|
8927
|
+
return () => _c$34() && (() => {
|
|
8928
|
+
var _el$355 = _$createElement("span"), _el$356 = _$createTextNode(` `);
|
|
8929
|
+
_$insertNode(_el$355, _el$356);
|
|
8930
|
+
_$insert(_el$355, () => cmd().args.join(" "), null);
|
|
8931
|
+
_$effect((_$p) => _$setProp(_el$355, "style", {
|
|
8656
8932
|
fg: theme().text
|
|
8657
8933
|
}, _$p));
|
|
8658
|
-
return _el$
|
|
8934
|
+
return _el$355;
|
|
8659
8935
|
})();
|
|
8660
|
-
})(), _el$
|
|
8661
|
-
_$insertNode(_el$
|
|
8662
|
-
_$insertNode(_el$
|
|
8663
|
-
_$insert(_el$
|
|
8664
|
-
_$insert(_el$
|
|
8665
|
-
var _c$
|
|
8666
|
-
return () => _c$
|
|
8667
|
-
var _el$
|
|
8668
|
-
_$insertNode(_el$
|
|
8669
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8936
|
+
})(), _el$337);
|
|
8937
|
+
_$insertNode(_el$338, _$createTextNode(`\uD83D\uDCC1 `));
|
|
8938
|
+
_$insertNode(_el$340, _$createTextNode(`Cwd: `));
|
|
8939
|
+
_$insert(_el$342, () => cmd().cwd.replace(String(props.directory), "."));
|
|
8940
|
+
_$insert(_el$326, (() => {
|
|
8941
|
+
var _c$35 = _$memo(() => !!cmd().goalID);
|
|
8942
|
+
return () => _c$35() && [(() => {
|
|
8943
|
+
var _el$357 = _$createElement("span");
|
|
8944
|
+
_$insertNode(_el$357, _$createTextNode(` \u2502 \uD83D\uDD17 linked goal `));
|
|
8945
|
+
_$effect((_$p) => _$setProp(_el$357, "style", {
|
|
8670
8946
|
fg: theme().textMuted
|
|
8671
8947
|
}, _$p));
|
|
8672
|
-
return _el$
|
|
8948
|
+
return _el$357;
|
|
8673
8949
|
})(), (() => {
|
|
8674
|
-
var _el$
|
|
8675
|
-
_$insert(_el$
|
|
8676
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8950
|
+
var _el$359 = _$createElement("span");
|
|
8951
|
+
_$insert(_el$359, () => cmd().goalID.slice(0, 8));
|
|
8952
|
+
_$effect((_$p) => _$setProp(_el$359, "style", {
|
|
8677
8953
|
fg: theme().text
|
|
8678
8954
|
}, _$p));
|
|
8679
|
-
return _el$
|
|
8955
|
+
return _el$359;
|
|
8680
8956
|
})()];
|
|
8681
|
-
})(), _el$
|
|
8682
|
-
_$insertNode(_el$
|
|
8683
|
-
_$insertNode(_el$
|
|
8684
|
-
_$insertNode(_el$
|
|
8685
|
-
_$insert(_el$
|
|
8686
|
-
_$insert(_el$
|
|
8687
|
-
var _c$
|
|
8688
|
-
return () => _c$
|
|
8689
|
-
var _el$
|
|
8690
|
-
_$insertNode(_el$
|
|
8691
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8957
|
+
})(), _el$343);
|
|
8958
|
+
_$insertNode(_el$344, _$createTextNode(`\uD83D\uDCBE `));
|
|
8959
|
+
_$insertNode(_el$346, _$createTextNode(`Output: `));
|
|
8960
|
+
_$insertNode(_el$348, _el$349);
|
|
8961
|
+
_$insert(_el$348, () => cmd().outputBytes, _el$349);
|
|
8962
|
+
_$insert(_el$326, (() => {
|
|
8963
|
+
var _c$36 = _$memo(() => !!cmd().truncated);
|
|
8964
|
+
return () => _c$36() && (() => {
|
|
8965
|
+
var _el$360 = _$createElement("span");
|
|
8966
|
+
_$insertNode(_el$360, _$createTextNode(` \xB7 \u26A0 truncated`));
|
|
8967
|
+
_$effect((_$p) => _$setProp(_el$360, "style", {
|
|
8692
8968
|
fg: theme().warning,
|
|
8693
8969
|
bold: true
|
|
8694
8970
|
}, _$p));
|
|
8695
|
-
return _el$
|
|
8971
|
+
return _el$360;
|
|
8696
8972
|
})();
|
|
8697
|
-
})(), _el$
|
|
8698
|
-
_$insertNode(_el$
|
|
8699
|
-
_$insert(_el$
|
|
8700
|
-
_$insert(_el$
|
|
8701
|
-
var _c$
|
|
8702
|
-
return () => _c$
|
|
8703
|
-
var _el$
|
|
8973
|
+
})(), _el$350);
|
|
8974
|
+
_$insertNode(_el$350, _el$351);
|
|
8975
|
+
_$insert(_el$350, () => ageLabel(cmd().updatedAt, clock()), null);
|
|
8976
|
+
_$insert(_el$326, (() => {
|
|
8977
|
+
var _c$37 = _$memo(() => !!cmd().lastError);
|
|
8978
|
+
return () => _c$37() && [(() => {
|
|
8979
|
+
var _el$362 = _$createElement("span"), _el$363 = _$createTextNode(`
|
|
8704
8980
|
\u26A0 Error: `);
|
|
8705
|
-
_$insertNode(_el$
|
|
8706
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8981
|
+
_$insertNode(_el$362, _el$363);
|
|
8982
|
+
_$effect((_$p) => _$setProp(_el$362, "style", {
|
|
8707
8983
|
fg: theme().error,
|
|
8708
8984
|
bold: true
|
|
8709
8985
|
}, _$p));
|
|
8710
|
-
return _el$
|
|
8986
|
+
return _el$362;
|
|
8711
8987
|
})(), (() => {
|
|
8712
|
-
var _el$
|
|
8713
|
-
_$insert(_el$
|
|
8714
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8988
|
+
var _el$365 = _$createElement("span");
|
|
8989
|
+
_$insert(_el$365, () => cmd().lastError.slice(0, 120));
|
|
8990
|
+
_$effect((_$p) => _$setProp(_el$365, "style", {
|
|
8715
8991
|
fg: theme().error
|
|
8716
8992
|
}, _$p));
|
|
8717
|
-
return _el$
|
|
8993
|
+
return _el$365;
|
|
8718
8994
|
})()];
|
|
8719
|
-
})(), _el$
|
|
8720
|
-
_$insertNode(_el$
|
|
8995
|
+
})(), _el$352);
|
|
8996
|
+
_$insertNode(_el$353, _$createTextNode(`o fullscreen \xB7 X kill \xB7 R restart \xB7 x remove-done \xB7 :interrupt :terminate :remove \xB7 text + Enter writes stdin`));
|
|
8721
8997
|
_$effect((_p$) => {
|
|
8722
|
-
var _v$
|
|
8998
|
+
var _v$69 = commandBorderColor(cmd().status, theme()), _v$70 = {
|
|
8723
8999
|
fg: commandStatusColor(cmd().status, theme()),
|
|
8724
9000
|
bold: true
|
|
8725
|
-
}, _v$
|
|
9001
|
+
}, _v$71 = {
|
|
8726
9002
|
fg: theme().textMuted
|
|
8727
|
-
}, _v$
|
|
9003
|
+
}, _v$72 = {
|
|
8728
9004
|
fg: commandStatusColor(cmd().status, theme())
|
|
8729
|
-
}, _v$
|
|
9005
|
+
}, _v$73 = {
|
|
8730
9006
|
fg: theme().primary,
|
|
8731
9007
|
bold: true
|
|
8732
|
-
}, _v$
|
|
9008
|
+
}, _v$74 = {
|
|
8733
9009
|
fg: theme().accent,
|
|
8734
9010
|
bold: true
|
|
8735
|
-
}, _v$
|
|
9011
|
+
}, _v$75 = {
|
|
8736
9012
|
fg: theme().textMuted
|
|
8737
|
-
}, _v$
|
|
9013
|
+
}, _v$76 = {
|
|
8738
9014
|
fg: theme().accent,
|
|
8739
9015
|
bold: true
|
|
8740
|
-
}, _v$
|
|
9016
|
+
}, _v$77 = {
|
|
8741
9017
|
fg: theme().textMuted
|
|
8742
|
-
}, _v$
|
|
9018
|
+
}, _v$78 = {
|
|
8743
9019
|
fg: theme().warning,
|
|
8744
9020
|
bold: true
|
|
8745
|
-
}, _v$
|
|
9021
|
+
}, _v$79 = {
|
|
8746
9022
|
fg: theme().warning,
|
|
8747
9023
|
bold: true
|
|
8748
|
-
}, _v$
|
|
9024
|
+
}, _v$80 = {
|
|
8749
9025
|
fg: theme().text
|
|
8750
|
-
}, _v$
|
|
9026
|
+
}, _v$81 = {
|
|
8751
9027
|
fg: theme().textMuted
|
|
8752
|
-
}, _v$
|
|
9028
|
+
}, _v$82 = {
|
|
8753
9029
|
fg: theme().textMuted
|
|
8754
9030
|
};
|
|
8755
|
-
_v$
|
|
8756
|
-
_v$
|
|
8757
|
-
_v$
|
|
8758
|
-
_v$
|
|
8759
|
-
_v$
|
|
8760
|
-
_v$
|
|
8761
|
-
_v$
|
|
8762
|
-
_v$
|
|
8763
|
-
_v$
|
|
8764
|
-
_v$
|
|
8765
|
-
_v$
|
|
8766
|
-
_v$
|
|
8767
|
-
_v$
|
|
8768
|
-
_v$
|
|
9031
|
+
_v$69 !== _p$.e && (_p$.e = _$setProp(_el$325, "borderColor", _v$69, _p$.e));
|
|
9032
|
+
_v$70 !== _p$.t && (_p$.t = _$setProp(_el$327, "style", _v$70, _p$.t));
|
|
9033
|
+
_v$71 !== _p$.a && (_p$.a = _$setProp(_el$329, "style", _v$71, _p$.a));
|
|
9034
|
+
_v$72 !== _p$.o && (_p$.o = _$setProp(_el$331, "style", _v$72, _p$.o));
|
|
9035
|
+
_v$73 !== _p$.i && (_p$.i = _$setProp(_el$334, "style", _v$73, _p$.i));
|
|
9036
|
+
_v$74 !== _p$.n && (_p$.n = _$setProp(_el$336, "style", _v$74, _p$.n));
|
|
9037
|
+
_v$75 !== _p$.s && (_p$.s = _$setProp(_el$338, "style", _v$75, _p$.s));
|
|
9038
|
+
_v$76 !== _p$.h && (_p$.h = _$setProp(_el$340, "style", _v$76, _p$.h));
|
|
9039
|
+
_v$77 !== _p$.r && (_p$.r = _$setProp(_el$342, "style", _v$77, _p$.r));
|
|
9040
|
+
_v$78 !== _p$.d && (_p$.d = _$setProp(_el$344, "style", _v$78, _p$.d));
|
|
9041
|
+
_v$79 !== _p$.l && (_p$.l = _$setProp(_el$346, "style", _v$79, _p$.l));
|
|
9042
|
+
_v$80 !== _p$.u && (_p$.u = _$setProp(_el$348, "style", _v$80, _p$.u));
|
|
9043
|
+
_v$81 !== _p$.c && (_p$.c = _$setProp(_el$350, "style", _v$81, _p$.c));
|
|
9044
|
+
_v$82 !== _p$.w && (_p$.w = _$setProp(_el$353, "style", _v$82, _p$.w));
|
|
8769
9045
|
return _p$;
|
|
8770
9046
|
}, {
|
|
8771
9047
|
e: undefined,
|
|
@@ -8783,7 +9059,7 @@ function LoopDashboard(props) {
|
|
|
8783
9059
|
c: undefined,
|
|
8784
9060
|
w: undefined
|
|
8785
9061
|
});
|
|
8786
|
-
return _el$
|
|
9062
|
+
return _el$325;
|
|
8787
9063
|
})()
|
|
8788
9064
|
})];
|
|
8789
9065
|
}
|
|
@@ -8793,47 +9069,47 @@ function LoopDashboard(props) {
|
|
|
8793
9069
|
return _$memo(() => !!showLogs())() && events().length > 0;
|
|
8794
9070
|
},
|
|
8795
9071
|
get children() {
|
|
8796
|
-
var _el$
|
|
9072
|
+
var _el$45 = _$createElement("box"), _el$46 = _$createElement("text"), _el$47 = _$createElement("span"), _el$49 = _$createElement("span");
|
|
9073
|
+
_$insertNode(_el$45, _el$46);
|
|
9074
|
+
_$setProp(_el$45, "flexDirection", "column");
|
|
9075
|
+
_$setProp(_el$45, "border", true);
|
|
9076
|
+
_$setProp(_el$45, "padding", 1);
|
|
9077
|
+
_$setProp(_el$45, "maxHeight", 7);
|
|
9078
|
+
_$setProp(_el$45, "flexShrink", 0);
|
|
9079
|
+
_$setProp(_el$45, "overflow", "hidden");
|
|
8797
9080
|
_$insertNode(_el$46, _el$47);
|
|
8798
|
-
_$
|
|
8799
|
-
_$
|
|
8800
|
-
_$
|
|
8801
|
-
_$
|
|
8802
|
-
_$setProp(_el$46, "flexShrink", 0);
|
|
8803
|
-
_$setProp(_el$46, "overflow", "hidden");
|
|
8804
|
-
_$insertNode(_el$47, _el$48);
|
|
8805
|
-
_$insertNode(_el$47, _el$50);
|
|
8806
|
-
_$insertNode(_el$48, _$createTextNode(`\u25C8 Recent Events`));
|
|
8807
|
-
_$insertNode(_el$50, _$createTextNode(` \u2014 :logs to hide`));
|
|
8808
|
-
_$insert(_el$47, _$createComponent(For, {
|
|
9081
|
+
_$insertNode(_el$46, _el$49);
|
|
9082
|
+
_$insertNode(_el$47, _$createTextNode(`\u25C8 Recent Events`));
|
|
9083
|
+
_$insertNode(_el$49, _$createTextNode(` \u2014 :logs to hide`));
|
|
9084
|
+
_$insert(_el$46, _$createComponent(For, {
|
|
8809
9085
|
get each() {
|
|
8810
9086
|
return events().slice(-10);
|
|
8811
9087
|
},
|
|
8812
9088
|
children: (ev) => [`
|
|
8813
9089
|
`, (() => {
|
|
8814
|
-
var _el$
|
|
8815
|
-
_$insert(_el$
|
|
8816
|
-
_$effect((_$p) => _$setProp(_el$
|
|
9090
|
+
var _el$366 = _$createElement("span");
|
|
9091
|
+
_$insert(_el$366, () => String(ev.type));
|
|
9092
|
+
_$effect((_$p) => _$setProp(_el$366, "style", {
|
|
8817
9093
|
fg: eventColor(String(ev.type), theme()),
|
|
8818
9094
|
bold: true
|
|
8819
9095
|
}, _$p));
|
|
8820
|
-
return _el$
|
|
9096
|
+
return _el$366;
|
|
8821
9097
|
})(), (() => {
|
|
8822
|
-
var _el$
|
|
8823
|
-
_$insertNode(_el$
|
|
8824
|
-
_$insert(_el$
|
|
8825
|
-
_$effect((_$p) => _$setProp(_el$
|
|
9098
|
+
var _el$367 = _$createElement("span"), _el$368 = _$createTextNode(` `);
|
|
9099
|
+
_$insertNode(_el$367, _el$368);
|
|
9100
|
+
_$insert(_el$367, () => ev.goalID?.slice(0, 8), null);
|
|
9101
|
+
_$effect((_$p) => _$setProp(_el$367, "style", {
|
|
8826
9102
|
fg: theme().textMuted
|
|
8827
9103
|
}, _$p));
|
|
8828
|
-
return _el$
|
|
9104
|
+
return _el$367;
|
|
8829
9105
|
})(), _$memo(() => _$memo(() => !!ev.summary)() && (() => {
|
|
8830
|
-
var _el$
|
|
8831
|
-
_$insertNode(_el$
|
|
8832
|
-
_$insert(_el$
|
|
8833
|
-
_$effect((_$p) => _$setProp(_el$
|
|
9106
|
+
var _el$369 = _$createElement("span"), _el$370 = _$createTextNode(` \u2014 `);
|
|
9107
|
+
_$insertNode(_el$369, _el$370);
|
|
9108
|
+
_$insert(_el$369, () => String(ev.summary).slice(0, 60), null);
|
|
9109
|
+
_$effect((_$p) => _$setProp(_el$369, "style", {
|
|
8834
9110
|
fg: theme().text
|
|
8835
9111
|
}, _$p));
|
|
8836
|
-
return _el$
|
|
9112
|
+
return _el$369;
|
|
8837
9113
|
})())]
|
|
8838
9114
|
}), null);
|
|
8839
9115
|
_$effect((_p$) => {
|
|
@@ -8843,42 +9119,42 @@ function LoopDashboard(props) {
|
|
|
8843
9119
|
}, _v$3 = {
|
|
8844
9120
|
fg: theme().textMuted
|
|
8845
9121
|
};
|
|
8846
|
-
_v$ !== _p$.e && (_p$.e = _$setProp(_el$
|
|
8847
|
-
_v$2 !== _p$.t && (_p$.t = _$setProp(_el$
|
|
8848
|
-
_v$3 !== _p$.a && (_p$.a = _$setProp(_el$
|
|
9122
|
+
_v$ !== _p$.e && (_p$.e = _$setProp(_el$45, "borderColor", _v$, _p$.e));
|
|
9123
|
+
_v$2 !== _p$.t && (_p$.t = _$setProp(_el$47, "style", _v$2, _p$.t));
|
|
9124
|
+
_v$3 !== _p$.a && (_p$.a = _$setProp(_el$49, "style", _v$3, _p$.a));
|
|
8849
9125
|
return _p$;
|
|
8850
9126
|
}, {
|
|
8851
9127
|
e: undefined,
|
|
8852
9128
|
t: undefined,
|
|
8853
9129
|
a: undefined
|
|
8854
9130
|
});
|
|
8855
|
-
return _el$
|
|
9131
|
+
return _el$45;
|
|
8856
9132
|
}
|
|
8857
9133
|
}), null);
|
|
9134
|
+
_$insertNode(_el$51, _el$52);
|
|
9135
|
+
_$insertNode(_el$51, _el$54);
|
|
9136
|
+
_$setProp(_el$51, "flexDirection", "row");
|
|
9137
|
+
_$setProp(_el$51, "border", true);
|
|
9138
|
+
_$setProp(_el$51, "paddingLeft", 1);
|
|
9139
|
+
_$setProp(_el$51, "paddingRight", 1);
|
|
9140
|
+
_$setProp(_el$51, "flexShrink", 0);
|
|
9141
|
+
_$setProp(_el$51, "height", 3);
|
|
9142
|
+
_$setProp(_el$51, "gap", 1);
|
|
8858
9143
|
_$insertNode(_el$52, _el$53);
|
|
8859
|
-
_$
|
|
8860
|
-
_$setProp(_el$52, "flexDirection", "row");
|
|
8861
|
-
_$setProp(_el$52, "border", true);
|
|
8862
|
-
_$setProp(_el$52, "paddingLeft", 1);
|
|
8863
|
-
_$setProp(_el$52, "paddingRight", 1);
|
|
8864
|
-
_$setProp(_el$52, "flexShrink", 0);
|
|
8865
|
-
_$setProp(_el$52, "height", 3);
|
|
8866
|
-
_$setProp(_el$52, "gap", 1);
|
|
8867
|
-
_$insertNode(_el$53, _el$54);
|
|
8868
|
-
_$insert(_el$54, () => mode() === "insert" ? " INSERT \uE0B1" : " NORMAL ");
|
|
9144
|
+
_$insert(_el$53, () => mode() === "insert" ? " INSERT \uE0B1" : " NORMAL ");
|
|
8869
9145
|
_$use((el) => {
|
|
8870
9146
|
inputEl = el;
|
|
8871
9147
|
focusInput();
|
|
8872
|
-
}, _el$
|
|
8873
|
-
_$setProp(_el$
|
|
8874
|
-
_$setProp(_el$
|
|
9148
|
+
}, _el$54);
|
|
9149
|
+
_$setProp(_el$54, "flexGrow", 1);
|
|
9150
|
+
_$setProp(_el$54, "onInput", (v) => {
|
|
8875
9151
|
debugLog("onInput", JSON.stringify(v), "mode", mode());
|
|
8876
9152
|
if (mode() === "insert")
|
|
8877
9153
|
setCommandInput(v);
|
|
8878
9154
|
else if (inputEl?.value)
|
|
8879
9155
|
inputEl.value = "";
|
|
8880
9156
|
});
|
|
8881
|
-
_$setProp(_el$
|
|
9157
|
+
_$setProp(_el$54, "onKeyDown", (evt) => {
|
|
8882
9158
|
const name = evt.name || "";
|
|
8883
9159
|
const seq = evt.sequence || "";
|
|
8884
9160
|
debugLog("input onKeyDown", `name=${name} seq=${JSON.stringify(seq)} mode=${mode()} value=${JSON.stringify(commandInput())}`);
|
|
@@ -8951,13 +9227,13 @@ function LoopDashboard(props) {
|
|
|
8951
9227
|
_v$16 !== _p$.m && (_p$.m = _$setProp(_el$29, "style", _v$16, _p$.m));
|
|
8952
9228
|
_v$17 !== _p$.f && (_p$.f = _$setProp(_el$31, "style", _v$17, _p$.f));
|
|
8953
9229
|
_v$18 !== _p$.y && (_p$.y = _$setProp(_el$33, "style", _v$18, _p$.y));
|
|
8954
|
-
_v$19 !== _p$.g && (_p$.g = _$setProp(_el$
|
|
8955
|
-
_v$20 !== _p$.p && (_p$.p = _$setProp(_el$
|
|
8956
|
-
_v$21 !== _p$.b && (_p$.b = _$setProp(_el$
|
|
8957
|
-
_v$22 !== _p$.T && (_p$.T = _$setProp(_el$
|
|
8958
|
-
_v$23 !== _p$.A && (_p$.A = _$setProp(_el$
|
|
8959
|
-
_v$24 !== _p$.O && (_p$.O = _$setProp(_el$
|
|
8960
|
-
_v$25 !== _p$.I && (_p$.I = _$setProp(_el$
|
|
9230
|
+
_v$19 !== _p$.g && (_p$.g = _$setProp(_el$51, "borderColor", _v$19, _p$.g));
|
|
9231
|
+
_v$20 !== _p$.p && (_p$.p = _$setProp(_el$53, "style", _v$20, _p$.p));
|
|
9232
|
+
_v$21 !== _p$.b && (_p$.b = _$setProp(_el$54, "placeholder", _v$21, _p$.b));
|
|
9233
|
+
_v$22 !== _p$.T && (_p$.T = _$setProp(_el$54, "placeholderColor", _v$22, _p$.T));
|
|
9234
|
+
_v$23 !== _p$.A && (_p$.A = _$setProp(_el$54, "cursorColor", _v$23, _p$.A));
|
|
9235
|
+
_v$24 !== _p$.O && (_p$.O = _$setProp(_el$54, "focusedTextColor", _v$24, _p$.O));
|
|
9236
|
+
_v$25 !== _p$.I && (_p$.I = _$setProp(_el$54, "focusedBackgroundColor", _v$25, _p$.I));
|
|
8961
9237
|
return _p$;
|
|
8962
9238
|
}, {
|
|
8963
9239
|
e: undefined,
|
|
@@ -9978,7 +10254,7 @@ function CommandPanel(props) {
|
|
|
9978
10254
|
});
|
|
9979
10255
|
const [insertMode, setInsertMode] = createSignal2(false);
|
|
9980
10256
|
const [inputValue, setInputValue] = createSignal2("");
|
|
9981
|
-
const [statusText, setStatusText] = createSignal2("commands: j/k move \xB7 o fullscreen \xB7 enter write-mode \xB7 ctrl-c interrupt \xB7 :terminate :remove :resize :await \xB7 q detach");
|
|
10257
|
+
const [statusText, setStatusText] = createSignal2("commands: j/k move \xB7 o fullscreen \xB7 enter write-mode \xB7 ctrl-c interrupt \xB7 X kill \xB7 R restart \xB7 x remove-done \xB7 :terminate :remove :resize :await \xB7 q detach");
|
|
9982
10258
|
let inputEl;
|
|
9983
10259
|
const client = createControlClient(props.directory);
|
|
9984
10260
|
const ownerSessionID = props.ownerSessionID ?? routeOwnerSessionID(props.api);
|
|
@@ -10325,6 +10601,26 @@ function CommandPanel(props) {
|
|
|
10325
10601
|
commandID: id
|
|
10326
10602
|
}, id);
|
|
10327
10603
|
}
|
|
10604
|
+
async function forceKill() {
|
|
10605
|
+
const id = selectedID();
|
|
10606
|
+
if (!id) {
|
|
10607
|
+
setStatusText("No command selected.");
|
|
10608
|
+
return;
|
|
10609
|
+
}
|
|
10610
|
+
await sendRaw("cmd_kill", {
|
|
10611
|
+
commandID: id
|
|
10612
|
+
}, id);
|
|
10613
|
+
}
|
|
10614
|
+
async function restart() {
|
|
10615
|
+
const id = selectedID();
|
|
10616
|
+
if (!id) {
|
|
10617
|
+
setStatusText("No command selected.");
|
|
10618
|
+
return;
|
|
10619
|
+
}
|
|
10620
|
+
await sendRaw("cmd_restart", {
|
|
10621
|
+
commandID: id
|
|
10622
|
+
}, id);
|
|
10623
|
+
}
|
|
10328
10624
|
async function remove() {
|
|
10329
10625
|
const id = selectedID();
|
|
10330
10626
|
if (!id) {
|
|
@@ -10335,6 +10631,20 @@ function CommandPanel(props) {
|
|
|
10335
10631
|
commandID: id
|
|
10336
10632
|
}, id);
|
|
10337
10633
|
}
|
|
10634
|
+
async function removeFinished() {
|
|
10635
|
+
const sel = state().selectedCommand;
|
|
10636
|
+
if (!sel) {
|
|
10637
|
+
setStatusText("No command selected.");
|
|
10638
|
+
return;
|
|
10639
|
+
}
|
|
10640
|
+
if (sel.status === "running") {
|
|
10641
|
+
setStatusText(`"${sel.title}" is still running \u2014 X force kill \xB7 :terminate graceful \xB7 q detach (keeps running).`);
|
|
10642
|
+
return;
|
|
10643
|
+
}
|
|
10644
|
+
await sendRaw("cmd_remove", {
|
|
10645
|
+
commandID: sel.id
|
|
10646
|
+
}, sel.id);
|
|
10647
|
+
}
|
|
10338
10648
|
async function awaitExit(goalID) {
|
|
10339
10649
|
const sel = state().selectedCommand;
|
|
10340
10650
|
if (!sel) {
|
|
@@ -10406,6 +10716,12 @@ function CommandPanel(props) {
|
|
|
10406
10716
|
case "terminate":
|
|
10407
10717
|
await terminate();
|
|
10408
10718
|
break;
|
|
10719
|
+
case "kill":
|
|
10720
|
+
await forceKill();
|
|
10721
|
+
break;
|
|
10722
|
+
case "restart":
|
|
10723
|
+
await restart();
|
|
10724
|
+
break;
|
|
10409
10725
|
case "remove":
|
|
10410
10726
|
await remove();
|
|
10411
10727
|
break;
|
|
@@ -10429,7 +10745,7 @@ function CommandPanel(props) {
|
|
|
10429
10745
|
await awaitExit(rest[0]);
|
|
10430
10746
|
break;
|
|
10431
10747
|
default:
|
|
10432
|
-
setStatusText(`Unknown :${verb}. Try :new, :terminate, :remove, :interrupt, :resize, :open-cmd, :await <goalID>`);
|
|
10748
|
+
setStatusText(`Unknown :${verb}. Try :new, :terminate, :kill, :restart, :remove, :interrupt, :resize, :open-cmd, :await <goalID>`);
|
|
10433
10749
|
}
|
|
10434
10750
|
}
|
|
10435
10751
|
function focusInput() {
|
|
@@ -10568,6 +10884,21 @@ function CommandPanel(props) {
|
|
|
10568
10884
|
}
|
|
10569
10885
|
return;
|
|
10570
10886
|
}
|
|
10887
|
+
if (key === "X") {
|
|
10888
|
+
prevent2(evt);
|
|
10889
|
+
forceKill();
|
|
10890
|
+
return;
|
|
10891
|
+
}
|
|
10892
|
+
if (key === "R") {
|
|
10893
|
+
prevent2(evt);
|
|
10894
|
+
restart();
|
|
10895
|
+
return;
|
|
10896
|
+
}
|
|
10897
|
+
if (key === "x") {
|
|
10898
|
+
prevent2(evt);
|
|
10899
|
+
removeFinished();
|
|
10900
|
+
return;
|
|
10901
|
+
}
|
|
10571
10902
|
if (key === "q") {
|
|
10572
10903
|
prevent2(evt);
|
|
10573
10904
|
if (props.onDetach)
|
|
@@ -10838,7 +11169,7 @@ function CommandPanel(props) {
|
|
|
10838
11169
|
}, _v$5 = insertMode() ? theme().warning : theme().border, _v$6 = {
|
|
10839
11170
|
fg: insertMode() ? theme().warning : theme().success,
|
|
10840
11171
|
bold: true
|
|
10841
|
-
}, _v$7 = insertMode() ? "type stdin, Enter sends (:new/:terminate/:remove/:interrupt/:resize/:open-cmd/:await)" : statusText() || "Press : to type, q to detach", _v$8 = theme().textMuted, _v$9 = theme().primary, _v$0 = theme().text, _v$1 = theme().background;
|
|
11172
|
+
}, _v$7 = insertMode() ? "type stdin, Enter sends (:new/:terminate/:kill/:restart/:remove/:interrupt/:resize/:open-cmd/:await)" : statusText() || "Press : to type, q to detach", _v$8 = theme().textMuted, _v$9 = theme().primary, _v$0 = theme().text, _v$1 = theme().background;
|
|
10842
11173
|
_v$ !== _p$.e && (_p$.e = _$setProp2(_el$2, "borderColor", _v$, _p$.e));
|
|
10843
11174
|
_v$2 !== _p$.t && (_p$.t = _$setProp2(_el$5, "style", _v$2, _p$.t));
|
|
10844
11175
|
_v$3 !== _p$.a && (_p$.a = _$setProp2(_el$7, "style", _v$3, _p$.a));
|
|
@@ -11087,8 +11418,8 @@ function createTerminalSession(options) {
|
|
|
11087
11418
|
}
|
|
11088
11419
|
command = snap.command;
|
|
11089
11420
|
connection = "stream";
|
|
11090
|
-
connectionDetail = "live";
|
|
11091
11421
|
live = snap.command.status === "running";
|
|
11422
|
+
connectionDetail = live ? "live" : "saved output (process ended)";
|
|
11092
11423
|
applySnapshotBytes(snap.data, snap.startOffset, snap.endOffset);
|
|
11093
11424
|
},
|
|
11094
11425
|
onDelta: (delta) => {
|
|
@@ -11103,6 +11434,7 @@ function createTerminalSession(options) {
|
|
|
11103
11434
|
return;
|
|
11104
11435
|
command = cmd;
|
|
11105
11436
|
live = cmd.status === "running";
|
|
11437
|
+
connectionDetail = live ? "live" : "saved output (process ended)";
|
|
11106
11438
|
emitSoon();
|
|
11107
11439
|
},
|
|
11108
11440
|
onError: (message) => {
|
|
@@ -11136,6 +11468,8 @@ function createTerminalSession(options) {
|
|
|
11136
11468
|
return;
|
|
11137
11469
|
if (connection === "error")
|
|
11138
11470
|
return;
|
|
11471
|
+
if (command && command.status !== "running")
|
|
11472
|
+
return;
|
|
11139
11473
|
if (streamLive() && stream.sendInput(data.commandID, bytes).ok)
|
|
11140
11474
|
return;
|
|
11141
11475
|
control.executeRaw({ command: "cmd_write", goalID: data.commandID, args: { commandID: data.commandID, input: bytes, ownerSessionID: data.ownerSessionID } }).catch(() => {});
|
|
@@ -11150,6 +11484,8 @@ function createTerminalSession(options) {
|
|
|
11150
11484
|
return;
|
|
11151
11485
|
if (connection === "error")
|
|
11152
11486
|
return;
|
|
11487
|
+
if (command && command.status !== "running")
|
|
11488
|
+
return;
|
|
11153
11489
|
if (streamLive() && stream.sendInterrupt(data.commandID).ok)
|
|
11154
11490
|
return;
|
|
11155
11491
|
control.executeRaw({ command: "cmd_interrupt", goalID: data.commandID, args: { commandID: data.commandID, ownerSessionID: data.ownerSessionID } }).catch(() => {});
|
|
@@ -11588,12 +11924,16 @@ function TerminalView(props) {
|
|
|
11588
11924
|
}
|
|
11589
11925
|
if (isInterruptChord(toKeyEvent(evt))) {
|
|
11590
11926
|
prevent3(evt);
|
|
11927
|
+
if (view()?.command && view()?.command?.status !== "running")
|
|
11928
|
+
return;
|
|
11591
11929
|
session.interrupt();
|
|
11592
11930
|
return;
|
|
11593
11931
|
}
|
|
11594
11932
|
const bytes = encodeTerminalKey(toKeyEvent(evt));
|
|
11595
11933
|
if (bytes !== undefined) {
|
|
11596
11934
|
prevent3(evt);
|
|
11935
|
+
if (view()?.command && view()?.command?.status !== "running")
|
|
11936
|
+
return;
|
|
11597
11937
|
session.writeInput(bytes);
|
|
11598
11938
|
}
|
|
11599
11939
|
});
|
|
@@ -11605,6 +11945,7 @@ function TerminalView(props) {
|
|
|
11605
11945
|
} catch {}
|
|
11606
11946
|
});
|
|
11607
11947
|
const cmd = () => view()?.command;
|
|
11948
|
+
const processRunning = () => cmd()?.status === "running" && view()?.live === true;
|
|
11608
11949
|
const dims = () => {
|
|
11609
11950
|
const v = view();
|
|
11610
11951
|
if (!v)
|
|
@@ -11612,10 +11953,10 @@ function TerminalView(props) {
|
|
|
11612
11953
|
return `${v.cols}x${v.viewportRows}`;
|
|
11613
11954
|
};
|
|
11614
11955
|
return (() => {
|
|
11615
|
-
var _el$ = _$createElement3("box"), _el$2 = _$createElement3("box"), _el$3 = _$createElement3("text"), _el$4 = _$createElement3("span"), _el$5 = _$createTextNode3(`\u2B22 `), _el$9 = _$createElement3("span"), _el$1 = _$createElement3("span"), _el$12 = _$createElement3("text"), _el$13 = _$createElement3("span"), _el$
|
|
11956
|
+
var _el$ = _$createElement3("box"), _el$2 = _$createElement3("box"), _el$3 = _$createElement3("text"), _el$4 = _$createElement3("span"), _el$5 = _$createTextNode3(`\u2B22 `), _el$9 = _$createElement3("span"), _el$1 = _$createElement3("span"), _el$12 = _$createElement3("text"), _el$13 = _$createElement3("span"), _el$26 = _$createElement3("box"), _el$27 = _$createElement3("box"), _el$28 = _$createElement3("text"), _el$29 = _$createElement3("span"), _el$30 = _$createElement3("span"), _el$32 = _$createElement3("span"), _el$34 = _$createElement3("span"), _el$36 = _$createElement3("span"), _el$38 = _$createElement3("text"), _el$39 = _$createElement3("span"), _el$40 = _$createTextNode3(` \xB7 `), _el$41 = _$createTextNode3(` bytes`);
|
|
11616
11957
|
_$insertNode3(_el$, _el$2);
|
|
11617
|
-
_$insertNode3(_el$, _el$
|
|
11618
|
-
_$insertNode3(_el$, _el$
|
|
11958
|
+
_$insertNode3(_el$, _el$26);
|
|
11959
|
+
_$insertNode3(_el$, _el$27);
|
|
11619
11960
|
_$setProp3(_el$, "flexDirection", "column");
|
|
11620
11961
|
_$setProp3(_el$, "width", "100%");
|
|
11621
11962
|
_$setProp3(_el$, "height", "100%");
|
|
@@ -11667,7 +12008,7 @@ function TerminalView(props) {
|
|
|
11667
12008
|
}), null);
|
|
11668
12009
|
_$insertNode3(_el$12, _el$13);
|
|
11669
12010
|
_$insert3(_el$13, dims, null);
|
|
11670
|
-
_$insert3(_el$13, () =>
|
|
12011
|
+
_$insert3(_el$13, () => processRunning() ? " \xB7 live" : "", null);
|
|
11671
12012
|
_$insert3(_el$, _$createComponent3(Show3, {
|
|
11672
12013
|
get when() {
|
|
11673
12014
|
return view()?.invalid;
|
|
@@ -11703,96 +12044,128 @@ Press Ctrl+] to go back. Nothing was subscribed or written.`);
|
|
|
11703
12044
|
});
|
|
11704
12045
|
return _el$14;
|
|
11705
12046
|
}
|
|
11706
|
-
}), _el$
|
|
12047
|
+
}), _el$26);
|
|
12048
|
+
_$insert3(_el$, _$createComponent3(Show3, {
|
|
12049
|
+
get when() {
|
|
12050
|
+
return _$memo3(() => !!cmd())() && !processRunning();
|
|
12051
|
+
},
|
|
12052
|
+
get children() {
|
|
12053
|
+
var _el$21 = _$createElement3("box"), _el$22 = _$createElement3("text"), _el$23 = _$createElement3("span"), _el$24 = _$createTextNode3(`PROCESS `), _el$25 = _$createTextNode3(` \u2014 saved output only. Ctrl+C/input cannot affect it; Ctrl+] returns to Commands.`);
|
|
12054
|
+
_$insertNode3(_el$21, _el$22);
|
|
12055
|
+
_$setProp3(_el$21, "border", true);
|
|
12056
|
+
_$setProp3(_el$21, "paddingLeft", 1);
|
|
12057
|
+
_$setProp3(_el$21, "paddingRight", 1);
|
|
12058
|
+
_$setProp3(_el$21, "flexShrink", 0);
|
|
12059
|
+
_$insertNode3(_el$22, _el$23);
|
|
12060
|
+
_$insertNode3(_el$23, _el$24);
|
|
12061
|
+
_$insertNode3(_el$23, _el$25);
|
|
12062
|
+
_$insert3(_el$23, () => cmd().status.toUpperCase(), _el$25);
|
|
12063
|
+
_$insert3(_el$23, (() => {
|
|
12064
|
+
var _c$2 = _$memo3(() => cmd().exitCode !== undefined);
|
|
12065
|
+
return () => _c$2() ? ` (exit ${cmd().exitCode})` : "";
|
|
12066
|
+
})(), _el$25);
|
|
12067
|
+
_$effect3((_p$) => {
|
|
12068
|
+
var _v$4 = theme().warning, _v$5 = {
|
|
12069
|
+
fg: theme().warning,
|
|
12070
|
+
bold: true
|
|
12071
|
+
};
|
|
12072
|
+
_v$4 !== _p$.e && (_p$.e = _$setProp3(_el$21, "borderColor", _v$4, _p$.e));
|
|
12073
|
+
_v$5 !== _p$.t && (_p$.t = _$setProp3(_el$23, "style", _v$5, _p$.t));
|
|
12074
|
+
return _p$;
|
|
12075
|
+
}, {
|
|
12076
|
+
e: undefined,
|
|
12077
|
+
t: undefined
|
|
12078
|
+
});
|
|
12079
|
+
return _el$21;
|
|
12080
|
+
}
|
|
12081
|
+
}), _el$26);
|
|
11707
12082
|
_$use3((el) => {
|
|
11708
12083
|
viewportEl = el;
|
|
11709
12084
|
try {
|
|
11710
12085
|
el.onSizeChange = () => measureViewport();
|
|
11711
12086
|
} catch {}
|
|
11712
12087
|
setTimeout(measureViewport, 50);
|
|
11713
|
-
}, _el$
|
|
11714
|
-
_$setProp3(_el$
|
|
11715
|
-
_$setProp3(_el$
|
|
11716
|
-
_$setProp3(_el$
|
|
11717
|
-
_$setProp3(_el$
|
|
11718
|
-
_$insert3(_el$
|
|
12088
|
+
}, _el$26);
|
|
12089
|
+
_$setProp3(_el$26, "flexDirection", "column");
|
|
12090
|
+
_$setProp3(_el$26, "flexGrow", 1);
|
|
12091
|
+
_$setProp3(_el$26, "minHeight", 0);
|
|
12092
|
+
_$setProp3(_el$26, "overflow", "hidden");
|
|
12093
|
+
_$insert3(_el$26, _$createComponent3(Show3, {
|
|
11719
12094
|
get when() {
|
|
11720
12095
|
return _$memo3(() => !!view())() && view().rows.length > 0;
|
|
11721
12096
|
},
|
|
11722
12097
|
get fallback() {
|
|
11723
12098
|
return (() => {
|
|
11724
|
-
var _el$
|
|
11725
|
-
_$insertNode3(_el$
|
|
11726
|
-
_$insert3(_el$
|
|
11727
|
-
_$effect3((_$p) => _$setProp3(_el$
|
|
12099
|
+
var _el$42 = _$createElement3("text"), _el$43 = _$createElement3("span");
|
|
12100
|
+
_$insertNode3(_el$42, _el$43);
|
|
12101
|
+
_$insert3(_el$43, () => view()?.invalid ? "" : "(no output yet)");
|
|
12102
|
+
_$effect3((_$p) => _$setProp3(_el$43, "style", {
|
|
11728
12103
|
fg: theme().textMuted
|
|
11729
12104
|
}, _$p));
|
|
11730
|
-
return _el$
|
|
12105
|
+
return _el$42;
|
|
11731
12106
|
})();
|
|
11732
12107
|
},
|
|
11733
12108
|
get children() {
|
|
11734
12109
|
return _$createComponent3(For3, {
|
|
11735
12110
|
get each() {
|
|
11736
|
-
return buildTerminalRows(view().rows, view().cols, view().viewportRows,
|
|
12111
|
+
return buildTerminalRows(view().rows, view().cols, view().viewportRows, {
|
|
12112
|
+
...view().cursor,
|
|
12113
|
+
visible: processRunning() && view().cursor.visible
|
|
12114
|
+
});
|
|
11737
12115
|
},
|
|
11738
12116
|
children: (runs) => (() => {
|
|
11739
|
-
var _el$
|
|
11740
|
-
_$setProp3(_el$
|
|
11741
|
-
_$setProp3(_el$
|
|
11742
|
-
_$insert3(_el$
|
|
12117
|
+
var _el$44 = _$createElement3("text");
|
|
12118
|
+
_$setProp3(_el$44, "wrapMode", "none");
|
|
12119
|
+
_$setProp3(_el$44, "truncate", true);
|
|
12120
|
+
_$insert3(_el$44, _$createComponent3(For3, {
|
|
11743
12121
|
each: runs,
|
|
11744
12122
|
children: (run) => (() => {
|
|
11745
|
-
var _el$
|
|
11746
|
-
_$insert3(_el$
|
|
11747
|
-
_$effect3((_$p) => _$setProp3(_el$
|
|
12123
|
+
var _el$45 = _$createElement3("span");
|
|
12124
|
+
_$insert3(_el$45, () => run.text);
|
|
12125
|
+
_$effect3((_$p) => _$setProp3(_el$45, "style", {
|
|
11748
12126
|
fg: run.cursor ? theme().background : run.inverse ? run.fg ?? theme().background : run.fg ?? theme().text,
|
|
11749
12127
|
bg: run.cursor ? theme().primary : run.inverse ? run.bg ?? theme().text : run.bg,
|
|
11750
12128
|
bold: run.bold ?? run.cursor,
|
|
11751
12129
|
underline: run.underline
|
|
11752
12130
|
}, _$p));
|
|
11753
|
-
return _el$
|
|
12131
|
+
return _el$45;
|
|
11754
12132
|
})()
|
|
11755
12133
|
}));
|
|
11756
|
-
return _el$
|
|
12134
|
+
return _el$44;
|
|
11757
12135
|
})()
|
|
11758
12136
|
});
|
|
11759
12137
|
}
|
|
11760
12138
|
}));
|
|
11761
|
-
_$insertNode3(_el$
|
|
11762
|
-
_$insertNode3(_el$
|
|
11763
|
-
_$setProp3(_el$
|
|
11764
|
-
_$setProp3(_el$
|
|
11765
|
-
_$setProp3(_el$
|
|
11766
|
-
_$insertNode3(_el$
|
|
11767
|
-
_$insertNode3(_el$
|
|
11768
|
-
_$insertNode3(_el$
|
|
11769
|
-
_$insertNode3(_el$
|
|
11770
|
-
_$insertNode3(_el$
|
|
11771
|
-
_$
|
|
11772
|
-
_$insertNode3(_el$
|
|
11773
|
-
_$insertNode3(_el$
|
|
11774
|
-
_$insertNode3(_el$
|
|
11775
|
-
_$insertNode3(_el$
|
|
11776
|
-
_$insertNode3(_el$
|
|
11777
|
-
_$insertNode3(_el$
|
|
11778
|
-
_$insertNode3(_el$
|
|
11779
|
-
_$insert3(_el$
|
|
11780
|
-
_$insert3(_el$
|
|
12139
|
+
_$insertNode3(_el$27, _el$28);
|
|
12140
|
+
_$insertNode3(_el$27, _el$38);
|
|
12141
|
+
_$setProp3(_el$27, "flexDirection", "row");
|
|
12142
|
+
_$setProp3(_el$27, "justifyContent", "space-between");
|
|
12143
|
+
_$setProp3(_el$27, "flexShrink", 0);
|
|
12144
|
+
_$insertNode3(_el$28, _el$29);
|
|
12145
|
+
_$insertNode3(_el$28, _el$30);
|
|
12146
|
+
_$insertNode3(_el$28, _el$32);
|
|
12147
|
+
_$insertNode3(_el$28, _el$34);
|
|
12148
|
+
_$insertNode3(_el$28, _el$36);
|
|
12149
|
+
_$insert3(_el$29, () => processRunning() ? "type to write \xB7 " : "saved log \xB7 ");
|
|
12150
|
+
_$insertNode3(_el$30, _$createTextNode3(`Ctrl+C`));
|
|
12151
|
+
_$insertNode3(_el$32, _$createTextNode3(` interrupt \xB7 `));
|
|
12152
|
+
_$insertNode3(_el$34, _$createTextNode3(`Ctrl+]`));
|
|
12153
|
+
_$insertNode3(_el$36, _$createTextNode3(` detach (keeps running)`));
|
|
12154
|
+
_$insertNode3(_el$38, _el$39);
|
|
12155
|
+
_$insertNode3(_el$39, _el$40);
|
|
12156
|
+
_$insertNode3(_el$39, _el$41);
|
|
12157
|
+
_$insert3(_el$39, dims, _el$40);
|
|
12158
|
+
_$insert3(_el$39, () => view()?.totalBytes ?? 0, _el$41);
|
|
11781
12159
|
_$effect3((_p$) => {
|
|
11782
|
-
var _v$
|
|
12160
|
+
var _v$6 = {
|
|
11783
12161
|
fg: theme().primary,
|
|
11784
12162
|
bold: true
|
|
11785
|
-
}, _v$5 = {
|
|
11786
|
-
fg: theme().textMuted
|
|
11787
|
-
}, _v$6 = {
|
|
11788
|
-
fg: view()?.connection === "stream" ? theme().success : view()?.connection === "polling" ? theme().warning : theme().error
|
|
11789
12163
|
}, _v$7 = {
|
|
11790
12164
|
fg: theme().textMuted
|
|
11791
12165
|
}, _v$8 = {
|
|
11792
|
-
fg: theme().
|
|
12166
|
+
fg: cmd() && !processRunning() ? theme().warning : view()?.connection === "stream" ? theme().success : view()?.connection === "polling" ? theme().warning : theme().error
|
|
11793
12167
|
}, _v$9 = {
|
|
11794
|
-
fg: theme().
|
|
11795
|
-
bold: true
|
|
12168
|
+
fg: theme().textMuted
|
|
11796
12169
|
}, _v$0 = {
|
|
11797
12170
|
fg: theme().textMuted
|
|
11798
12171
|
}, _v$1 = {
|
|
@@ -11801,18 +12174,23 @@ Press Ctrl+] to go back. Nothing was subscribed or written.`);
|
|
|
11801
12174
|
}, _v$10 = {
|
|
11802
12175
|
fg: theme().textMuted
|
|
11803
12176
|
}, _v$11 = {
|
|
12177
|
+
fg: theme().warning,
|
|
12178
|
+
bold: true
|
|
12179
|
+
}, _v$12 = {
|
|
12180
|
+
fg: theme().textMuted
|
|
12181
|
+
}, _v$13 = {
|
|
11804
12182
|
fg: theme().textMuted
|
|
11805
12183
|
};
|
|
11806
|
-
_v$
|
|
11807
|
-
_v$
|
|
11808
|
-
_v$
|
|
11809
|
-
_v$
|
|
11810
|
-
_v$
|
|
11811
|
-
_v$
|
|
11812
|
-
_v$
|
|
11813
|
-
_v$
|
|
11814
|
-
_v$
|
|
11815
|
-
_v$
|
|
12184
|
+
_v$6 !== _p$.e && (_p$.e = _$setProp3(_el$4, "style", _v$6, _p$.e));
|
|
12185
|
+
_v$7 !== _p$.t && (_p$.t = _$setProp3(_el$9, "style", _v$7, _p$.t));
|
|
12186
|
+
_v$8 !== _p$.a && (_p$.a = _$setProp3(_el$1, "style", _v$8, _p$.a));
|
|
12187
|
+
_v$9 !== _p$.o && (_p$.o = _$setProp3(_el$13, "style", _v$9, _p$.o));
|
|
12188
|
+
_v$0 !== _p$.i && (_p$.i = _$setProp3(_el$29, "style", _v$0, _p$.i));
|
|
12189
|
+
_v$1 !== _p$.n && (_p$.n = _$setProp3(_el$30, "style", _v$1, _p$.n));
|
|
12190
|
+
_v$10 !== _p$.s && (_p$.s = _$setProp3(_el$32, "style", _v$10, _p$.s));
|
|
12191
|
+
_v$11 !== _p$.h && (_p$.h = _$setProp3(_el$34, "style", _v$11, _p$.h));
|
|
12192
|
+
_v$12 !== _p$.r && (_p$.r = _$setProp3(_el$36, "style", _v$12, _p$.r));
|
|
12193
|
+
_v$13 !== _p$.d && (_p$.d = _$setProp3(_el$39, "style", _v$13, _p$.d));
|
|
11816
12194
|
return _p$;
|
|
11817
12195
|
}, {
|
|
11818
12196
|
e: undefined,
|