@bojackduy/opencode-loopd 1.11.2 → 1.12.3
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 +2 -1
- package/README.md +3 -3
- package/dist/server.js +419 -80
- package/dist/tui.js +1277 -1272
- package/package.json +1 -1
- package/skills/loopd/SKILL.md +31 -4
package/dist/tui.js
CHANGED
|
@@ -1,38 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
function __accessProp(key) {
|
|
8
|
-
return this[key];
|
|
9
|
-
}
|
|
10
|
-
var __toESMCache_node;
|
|
11
|
-
var __toESMCache_esm;
|
|
12
|
-
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
-
var canCache = mod != null && typeof mod === "object";
|
|
14
|
-
if (canCache) {
|
|
15
|
-
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
-
var cached = cache.get(mod);
|
|
17
|
-
if (cached)
|
|
18
|
-
return cached;
|
|
19
|
-
}
|
|
20
|
-
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
|
-
const to = isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
|
-
if (mod && typeof mod === "object" || typeof mod === "function") {
|
|
23
|
-
for (let key of __getOwnPropNames(mod))
|
|
24
|
-
if (!__hasOwnProp.call(to, key))
|
|
25
|
-
__defProp(to, key, {
|
|
26
|
-
get: __accessProp.bind(mod, key),
|
|
27
|
-
enumerable: true
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
if (canCache)
|
|
31
|
-
cache.set(mod, to);
|
|
32
|
-
return to;
|
|
33
|
-
};
|
|
34
2
|
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
35
|
-
var __require = import.meta.require;
|
|
36
3
|
|
|
37
4
|
// node_modules/@xterm/headless/lib-headless/xterm-headless.js
|
|
38
5
|
var require_xterm_headless = __commonJS(function(exports) {
|
|
@@ -5593,16 +5560,16 @@ ${i.join(`
|
|
|
5593
5560
|
import { createComponent as _$createComponent4 } from "@opentui/solid";
|
|
5594
5561
|
|
|
5595
5562
|
// src/tui/dashboard.tsx
|
|
5596
|
-
import { use as _$use } from "@opentui/solid";
|
|
5597
|
-
import { effect as _$effect } from "@opentui/solid";
|
|
5598
5563
|
import { createComponent as _$createComponent } from "@opentui/solid";
|
|
5599
5564
|
import { spread as _$spread } from "@opentui/solid";
|
|
5600
5565
|
import { mergeProps as _$mergeProps } from "@opentui/solid";
|
|
5601
5566
|
import { memo as _$memo } from "@opentui/solid";
|
|
5602
|
-
import { insert as _$insert } from "@opentui/solid";
|
|
5603
5567
|
import { createTextNode as _$createTextNode } from "@opentui/solid";
|
|
5604
5568
|
import { insertNode as _$insertNode } from "@opentui/solid";
|
|
5569
|
+
import { effect as _$effect } from "@opentui/solid";
|
|
5570
|
+
import { insert as _$insert } from "@opentui/solid";
|
|
5605
5571
|
import { setProp as _$setProp } from "@opentui/solid";
|
|
5572
|
+
import { use as _$use } from "@opentui/solid";
|
|
5606
5573
|
import { createElement as _$createElement } from "@opentui/solid";
|
|
5607
5574
|
import { createSignal, For, Show, onCleanup, onMount, createEffect } from "solid-js";
|
|
5608
5575
|
import { useKeyboard } from "@opentui/solid";
|
|
@@ -6003,6 +5970,7 @@ function commandHelp() {
|
|
|
6003
5970
|
" :nudge Force re-prompt now with full steering (N)",
|
|
6004
5971
|
" :interactive Toggle manual mode (engine never starts turns)",
|
|
6005
5972
|
" :model <provider/model> Switch this goal's model (same worker; :models lists options)",
|
|
5973
|
+
" :agent <name> / :agents Switch this goal's agent / list agents (Goals tab only)",
|
|
6006
5974
|
" :bug / :report Open prefilled GitHub bug report",
|
|
6007
5975
|
" :logs / :help / :q Toggle logs / help / close",
|
|
6008
5976
|
" Tip: create goals via /goal in the parent chat (agent clarifies first)."
|
|
@@ -6373,12 +6341,12 @@ function moveDashboardSelection(sel, move, goalCount, commandCount) {
|
|
|
6373
6341
|
return { ...sel, commandIndex: max };
|
|
6374
6342
|
}
|
|
6375
6343
|
}
|
|
6376
|
-
function resolveDashboardOpen(lists, sel, ownerSessionID, returnSessionID) {
|
|
6344
|
+
function resolveDashboardOpen(lists, sel, ownerSessionID, returnSessionID, showCompleted = false) {
|
|
6377
6345
|
if (sel.view === "goals") {
|
|
6378
6346
|
const goal = lists.goals[sel.goalIndex];
|
|
6379
6347
|
return resolveOpenTarget({ selection: goal ? { kind: "goal", workerSessionID: goal.workerSessionID } : null, ownerSessionID, returnSessionID });
|
|
6380
6348
|
}
|
|
6381
|
-
const ownerCommands =
|
|
6349
|
+
const ownerCommands = visibleOwnerCommands(lists.commands, ownerSessionID, showCompleted);
|
|
6382
6350
|
const cmd = ownerCommands[sel.commandIndex];
|
|
6383
6351
|
return resolveOpenTarget({
|
|
6384
6352
|
selection: cmd ? { kind: "command", commandID: cmd.id } : null,
|
|
@@ -6396,16 +6364,6 @@ function visibleOwnerCommands(commands, ownerSessionID, showCompleted = false) {
|
|
|
6396
6364
|
|
|
6397
6365
|
// src/tui/dashboard.tsx
|
|
6398
6366
|
import { randomUUID as randomUUID2 } from "crypto";
|
|
6399
|
-
var LOG_FILE = "/tmp/loopd-tui.log";
|
|
6400
|
-
function debugLog(...args) {
|
|
6401
|
-
try {
|
|
6402
|
-
const {
|
|
6403
|
-
appendFileSync
|
|
6404
|
-
} = __require("fs");
|
|
6405
|
-
appendFileSync(LOG_FILE, `[${new Date().toISOString()}] ${args.map((a) => typeof a === "string" ? a : JSON.stringify(a)).join(" ")}
|
|
6406
|
-
`);
|
|
6407
|
-
} catch {}
|
|
6408
|
-
}
|
|
6409
6367
|
function prevent(evt) {
|
|
6410
6368
|
const e = evt;
|
|
6411
6369
|
e.preventDefault?.();
|
|
@@ -6670,6 +6628,72 @@ function indexAgents(list) {
|
|
|
6670
6628
|
}
|
|
6671
6629
|
return map;
|
|
6672
6630
|
}
|
|
6631
|
+
function DashboardList(props) {
|
|
6632
|
+
let scroll;
|
|
6633
|
+
let followPending = true;
|
|
6634
|
+
createEffect(() => {
|
|
6635
|
+
props.count;
|
|
6636
|
+
props.selectedID;
|
|
6637
|
+
followPending = true;
|
|
6638
|
+
scroll?.requestRender();
|
|
6639
|
+
});
|
|
6640
|
+
return (() => {
|
|
6641
|
+
var _el$ = _$createElement("scrollbox");
|
|
6642
|
+
_$use((el) => {
|
|
6643
|
+
scroll = el;
|
|
6644
|
+
}, _el$);
|
|
6645
|
+
_$setProp(_el$, "scrollX", false);
|
|
6646
|
+
_$setProp(_el$, "scrollY", true);
|
|
6647
|
+
_$setProp(_el$, "stickyScroll", false);
|
|
6648
|
+
_$setProp(_el$, "renderAfter", () => {
|
|
6649
|
+
if (!followPending || !scroll)
|
|
6650
|
+
return;
|
|
6651
|
+
followPending = false;
|
|
6652
|
+
if (props.selectedID)
|
|
6653
|
+
scroll.scrollChildIntoView(props.selectedID);
|
|
6654
|
+
});
|
|
6655
|
+
_$insert(_el$, () => props.children);
|
|
6656
|
+
_$effect((_$p) => _$setProp(_el$, "height", Math.min(props.count, 10), _$p));
|
|
6657
|
+
return _el$;
|
|
6658
|
+
})();
|
|
6659
|
+
}
|
|
6660
|
+
function DashboardRow(props) {
|
|
6661
|
+
let text;
|
|
6662
|
+
return (() => {
|
|
6663
|
+
var _el$2 = _$createElement("box"), _el$3 = _$createElement("text");
|
|
6664
|
+
_$insertNode(_el$2, _el$3);
|
|
6665
|
+
_$setProp(_el$2, "flexDirection", "row");
|
|
6666
|
+
_$setProp(_el$2, "paddingLeft", 1);
|
|
6667
|
+
_$setProp(_el$2, "paddingRight", 1);
|
|
6668
|
+
_$setProp(_el$2, "height", 1);
|
|
6669
|
+
_$setProp(_el$2, "flexShrink", 0);
|
|
6670
|
+
_$setProp(_el$2, "overflow", "hidden");
|
|
6671
|
+
_$setProp(_el$2, "onMouseScroll", () => {
|
|
6672
|
+
if (text) {
|
|
6673
|
+
text.scrollX = 0;
|
|
6674
|
+
text.scrollY = 0;
|
|
6675
|
+
}
|
|
6676
|
+
});
|
|
6677
|
+
_$use((el) => {
|
|
6678
|
+
text = el;
|
|
6679
|
+
}, _el$3);
|
|
6680
|
+
_$setProp(_el$3, "wrapMode", "none");
|
|
6681
|
+
_$setProp(_el$3, "truncate", true);
|
|
6682
|
+
_$setProp(_el$3, "minWidth", 0);
|
|
6683
|
+
_$setProp(_el$3, "flexShrink", 1);
|
|
6684
|
+
_$insert(_el$3, () => props.children);
|
|
6685
|
+
_$effect((_p$) => {
|
|
6686
|
+
var { id: _v$, backgroundColor: _v$2 } = props;
|
|
6687
|
+
_v$ !== _p$.e && (_p$.e = _$setProp(_el$2, "id", _v$, _p$.e));
|
|
6688
|
+
_v$2 !== _p$.t && (_p$.t = _$setProp(_el$2, "backgroundColor", _v$2, _p$.t));
|
|
6689
|
+
return _p$;
|
|
6690
|
+
}, {
|
|
6691
|
+
e: undefined,
|
|
6692
|
+
t: undefined
|
|
6693
|
+
});
|
|
6694
|
+
return _el$2;
|
|
6695
|
+
})();
|
|
6696
|
+
}
|
|
6673
6697
|
function LoopDashboard(props) {
|
|
6674
6698
|
const theme = () => props.api.theme.current;
|
|
6675
6699
|
const [mode, setMode] = createSignal("normal");
|
|
@@ -6695,7 +6719,6 @@ function LoopDashboard(props) {
|
|
|
6695
6719
|
const [clock, setClock] = createSignal(Date.now());
|
|
6696
6720
|
const [agentIndex, setAgentIndex] = createSignal({});
|
|
6697
6721
|
let inputEl;
|
|
6698
|
-
let listScrollRef;
|
|
6699
6722
|
let focusTimer;
|
|
6700
6723
|
const client = createControlClient(props.directory);
|
|
6701
6724
|
const popMode = props.api.mode.push("loopd.dashboard");
|
|
@@ -6713,13 +6736,6 @@ function LoopDashboard(props) {
|
|
|
6713
6736
|
try {
|
|
6714
6737
|
const s = await client.getState();
|
|
6715
6738
|
setState(s);
|
|
6716
|
-
const goals = s.goals.filter((g) => showCompleted() || g.status !== "complete");
|
|
6717
|
-
if (goals.length > 0 && selected() >= goals.length)
|
|
6718
|
-
setSelected(goals.length - 1);
|
|
6719
|
-
setSelectedGoal(goals[selected()] || null);
|
|
6720
|
-
const cmds = visibleOwnerCommands(s.commands, ownerSessionID(), showCompleted());
|
|
6721
|
-
if (cmds.length > 0 && cmdSelected() >= cmds.length)
|
|
6722
|
-
setCmdSelected(cmds.length - 1);
|
|
6723
6739
|
setEvents(await client.getEvents(20));
|
|
6724
6740
|
} catch (e) {
|
|
6725
6741
|
setStatusText(`Error: ${e instanceof Error ? e.message : String(e)}`);
|
|
@@ -6744,19 +6760,10 @@ function LoopDashboard(props) {
|
|
|
6744
6760
|
typeof u === "function" ? u() : clearInterval(u);
|
|
6745
6761
|
});
|
|
6746
6762
|
onMount(() => {
|
|
6747
|
-
try {
|
|
6748
|
-
const {
|
|
6749
|
-
appendFileSync
|
|
6750
|
-
} = __require("fs");
|
|
6751
|
-
appendFileSync(LOG_FILE, `[${new Date().toISOString()}] dashboard mounted dir=${props.directory} mode=${mode()} dialogOpen=${props.api.ui.dialog.open}
|
|
6752
|
-
`);
|
|
6753
|
-
} catch {}
|
|
6754
|
-
debugLog("mounted", "dialogOpen", props.api.ui.dialog.open, "directory", props.directory);
|
|
6755
6763
|
focusInput();
|
|
6756
6764
|
});
|
|
6757
6765
|
createEffect(() => {
|
|
6758
|
-
|
|
6759
|
-
debugLog("mode ->", m);
|
|
6766
|
+
mode();
|
|
6760
6767
|
focusInput();
|
|
6761
6768
|
});
|
|
6762
6769
|
function enterInsertMode() {
|
|
@@ -6777,7 +6784,6 @@ function LoopDashboard(props) {
|
|
|
6777
6784
|
const name = evt.name || "";
|
|
6778
6785
|
const seq = evt.sequence || "";
|
|
6779
6786
|
const raw = evt.raw || "";
|
|
6780
|
-
debugLog("useKeyboard", `name=${name} seq=${JSON.stringify(seq)} raw=${JSON.stringify(raw)} shift=${evt.shift} ctrl=${evt.ctrl} mode=${mode()} dialogOpen=${props.api.ui.dialog.open}`);
|
|
6781
6787
|
if (!props.api.ui.dialog.open)
|
|
6782
6788
|
return;
|
|
6783
6789
|
const active = (() => {
|
|
@@ -6791,18 +6797,15 @@ function LoopDashboard(props) {
|
|
|
6791
6797
|
return;
|
|
6792
6798
|
const isColon = name === ":" || seq === ":" || raw === ":" || seq.includes(":") || raw.includes(":") || name === ";" || name === "colon";
|
|
6793
6799
|
const isQuestion = name === "?" || seq === "?" || raw === "?" || seq.includes("?") || raw.includes("?");
|
|
6794
|
-
debugLog("isColon", isColon, "isQuestion", isQuestion, "modeBefore", mode());
|
|
6795
6800
|
if (mode() === "insert") {
|
|
6796
6801
|
if (isEnterKey(evt)) {
|
|
6797
6802
|
prevent(evt);
|
|
6798
|
-
debugLog("insert enter -> execute");
|
|
6799
6803
|
executeCommand(commandInput());
|
|
6800
6804
|
return;
|
|
6801
6805
|
}
|
|
6802
6806
|
if (isEscapeKey(evt) || isCtrlN(evt)) {
|
|
6803
6807
|
prevent(evt);
|
|
6804
6808
|
returnToNormalMode();
|
|
6805
|
-
debugLog("insert -> normal via esc/ctrl+n");
|
|
6806
6809
|
return;
|
|
6807
6810
|
}
|
|
6808
6811
|
return;
|
|
@@ -6810,13 +6813,11 @@ function LoopDashboard(props) {
|
|
|
6810
6813
|
if (isColon) {
|
|
6811
6814
|
prevent(evt);
|
|
6812
6815
|
enterInsertMode();
|
|
6813
|
-
debugLog("normal -> insert");
|
|
6814
6816
|
return;
|
|
6815
6817
|
}
|
|
6816
6818
|
if (isQuestion) {
|
|
6817
6819
|
prevent(evt);
|
|
6818
6820
|
setShowHelp((value) => !value);
|
|
6819
|
-
debugLog("toggle help");
|
|
6820
6821
|
return;
|
|
6821
6822
|
}
|
|
6822
6823
|
const key = raw || seq || name;
|
|
@@ -6839,7 +6840,6 @@ function LoopDashboard(props) {
|
|
|
6839
6840
|
setStatusText(next ? `Showing finished ${tab() === "commands" ? "commands" : "goals"}.` : `Hiding finished ${tab() === "commands" ? "commands" : "goals"}.`);
|
|
6840
6841
|
return next;
|
|
6841
6842
|
});
|
|
6842
|
-
debugLog("toggle completed");
|
|
6843
6843
|
return;
|
|
6844
6844
|
}
|
|
6845
6845
|
const currentGoals = state()?.goals.filter((goal) => showCompleted() || goal.status !== "complete") || [];
|
|
@@ -6847,14 +6847,12 @@ function LoopDashboard(props) {
|
|
|
6847
6847
|
if (name === "tab") {
|
|
6848
6848
|
prevent(evt);
|
|
6849
6849
|
setTab((v) => toggleDashboardView(v));
|
|
6850
|
-
debugLog("switch tab ->", tab());
|
|
6851
6850
|
return;
|
|
6852
6851
|
}
|
|
6853
6852
|
const directionalView = dashboardViewForKey(key);
|
|
6854
6853
|
if (directionalView !== undefined) {
|
|
6855
6854
|
prevent(evt);
|
|
6856
6855
|
setTab(directionalView);
|
|
6857
|
-
debugLog("select tab ->", tab());
|
|
6858
6856
|
return;
|
|
6859
6857
|
}
|
|
6860
6858
|
function dashboardSelection() {
|
|
@@ -6904,7 +6902,7 @@ function LoopDashboard(props) {
|
|
|
6904
6902
|
removeFinishedSelected();
|
|
6905
6903
|
return;
|
|
6906
6904
|
}
|
|
6907
|
-
const needsGoalsTab = ["p", "r", "A", "N", "model", "models"].includes(key);
|
|
6905
|
+
const needsGoalsTab = ["p", "r", "A", "N", "model", "models", "agent", "agents"].includes(key);
|
|
6908
6906
|
if (needsGoalsTab && tab() !== "goals") {
|
|
6909
6907
|
prevent(evt);
|
|
6910
6908
|
setStatusText("Goal controls need the Goals tab (Tab to switch).");
|
|
@@ -6950,7 +6948,7 @@ function LoopDashboard(props) {
|
|
|
6950
6948
|
const target = resolveDashboardOpen({
|
|
6951
6949
|
goals: currentGoals,
|
|
6952
6950
|
commands: state()?.commands ?? []
|
|
6953
|
-
}, dashboardSelection(), ownerSessionID(), currentRouteSessionID(props.api));
|
|
6951
|
+
}, dashboardSelection(), ownerSessionID(), currentRouteSessionID(props.api), showCompleted());
|
|
6954
6952
|
if (target.kind === "goal") {
|
|
6955
6953
|
props.api.route.navigate("session", {
|
|
6956
6954
|
sessionID: target.workerSessionID
|
|
@@ -7045,8 +7043,13 @@ function LoopDashboard(props) {
|
|
|
7045
7043
|
}, sel.id);
|
|
7046
7044
|
}
|
|
7047
7045
|
async function executeCommandTabCommand(verb, positional, raw) {
|
|
7048
|
-
debugLog("commands-tab command", verb);
|
|
7049
7046
|
switch (verb) {
|
|
7047
|
+
case "model":
|
|
7048
|
+
case "models":
|
|
7049
|
+
case "agent":
|
|
7050
|
+
case "agents":
|
|
7051
|
+
setStatusText(`:${verb} is only available on the Goals tab.`);
|
|
7052
|
+
return;
|
|
7050
7053
|
case "new": {
|
|
7051
7054
|
const argv = parseNewCommand(raw);
|
|
7052
7055
|
if (!argv) {
|
|
@@ -7118,12 +7121,9 @@ function LoopDashboard(props) {
|
|
|
7118
7121
|
}
|
|
7119
7122
|
}
|
|
7120
7123
|
async function executeCommand(cmd) {
|
|
7121
|
-
debugLog("executeCommand raw=", JSON.stringify(cmd));
|
|
7122
7124
|
const parsed = parseCommand(cmd);
|
|
7123
|
-
debugLog("parsed", parsed);
|
|
7124
7125
|
if (!parsed) {
|
|
7125
7126
|
setStatusText("Empty command");
|
|
7126
|
-
debugLog("empty command");
|
|
7127
7127
|
return;
|
|
7128
7128
|
}
|
|
7129
7129
|
if (tab() === "commands" && !["q", "close"].includes(parsed.command)) {
|
|
@@ -7342,6 +7342,41 @@ function LoopDashboard(props) {
|
|
|
7342
7342
|
await refresh();
|
|
7343
7343
|
break;
|
|
7344
7344
|
}
|
|
7345
|
+
case "agent": {
|
|
7346
|
+
if (!selectedGoal()) {
|
|
7347
|
+
setStatusText("No goal selected");
|
|
7348
|
+
break;
|
|
7349
|
+
}
|
|
7350
|
+
const agent = parsed.positional.join(" ").trim();
|
|
7351
|
+
if (!agent) {
|
|
7352
|
+
setStatusText("Usage: :agent <name> \u2014 :agents lists available agents.");
|
|
7353
|
+
break;
|
|
7354
|
+
}
|
|
7355
|
+
const r = await client.execute({
|
|
7356
|
+
version: 1,
|
|
7357
|
+
requestID: randomUUID2(),
|
|
7358
|
+
requestedAt: new Date().toISOString(),
|
|
7359
|
+
command: "switch_goal_identity",
|
|
7360
|
+
goalID: selectedGoal().id,
|
|
7361
|
+
args: {
|
|
7362
|
+
agent
|
|
7363
|
+
}
|
|
7364
|
+
});
|
|
7365
|
+
setStatusText(r.ok ? r.message : `Error: ${r.message}`);
|
|
7366
|
+
if (r.ok)
|
|
7367
|
+
await refresh();
|
|
7368
|
+
break;
|
|
7369
|
+
}
|
|
7370
|
+
case "agents": {
|
|
7371
|
+
const r = await client.execute({
|
|
7372
|
+
version: 1,
|
|
7373
|
+
requestID: randomUUID2(),
|
|
7374
|
+
requestedAt: new Date().toISOString(),
|
|
7375
|
+
command: "list_agents"
|
|
7376
|
+
});
|
|
7377
|
+
setStatusText(r.ok ? r.message : `Error: ${r.message}`);
|
|
7378
|
+
break;
|
|
7379
|
+
}
|
|
7345
7380
|
case "model": {
|
|
7346
7381
|
if (!selectedGoal()) {
|
|
7347
7382
|
setStatusText("No goal selected");
|
|
@@ -7356,7 +7391,7 @@ function LoopDashboard(props) {
|
|
|
7356
7391
|
version: 1,
|
|
7357
7392
|
requestID: randomUUID2(),
|
|
7358
7393
|
requestedAt: new Date().toISOString(),
|
|
7359
|
-
command: "
|
|
7394
|
+
command: "switch_goal_identity",
|
|
7360
7395
|
goalID: selectedGoal().id,
|
|
7361
7396
|
args: {
|
|
7362
7397
|
model: target
|
|
@@ -7422,7 +7457,6 @@ function LoopDashboard(props) {
|
|
|
7422
7457
|
returnToNormalMode();
|
|
7423
7458
|
}
|
|
7424
7459
|
const activeGoals = () => state()?.goals.filter((g) => showCompleted() || g.status !== "complete") || [];
|
|
7425
|
-
const listHeight = () => Math.min(activeGoals().length, 10);
|
|
7426
7460
|
const runningCount = () => state()?.runtimes.filter((runtime) => runtime.phase === "running").length || 0;
|
|
7427
7461
|
const runningFrame = () => ["|", "/", "-", "\\"][Math.floor(clock() / 500) % 4];
|
|
7428
7462
|
function handleBugReport() {
|
|
@@ -7435,125 +7469,120 @@ function LoopDashboard(props) {
|
|
|
7435
7469
|
const res = openBrowserUrl(url);
|
|
7436
7470
|
setStatusText(res.status === "opened" ? "Opening bug report in browser\u2026" : `Could not open browser: ${res.reason} \u2014 ${url}`);
|
|
7437
7471
|
}
|
|
7438
|
-
createEffect(() =>
|
|
7472
|
+
createEffect(() => {
|
|
7473
|
+
setSelected(Math.max(0, Math.min(selected(), activeGoals().length - 1)));
|
|
7474
|
+
setCmdSelected(Math.max(0, Math.min(cmdSelected(), ownerCommands().length - 1)));
|
|
7475
|
+
setSelectedGoal(activeGoals()[selected()] || null);
|
|
7476
|
+
});
|
|
7439
7477
|
function rowIdFor(goalID) {
|
|
7440
7478
|
return `loopd-goal-${goalID}`;
|
|
7441
7479
|
}
|
|
7442
|
-
createEffect(() => {
|
|
7443
|
-
const goals = activeGoals();
|
|
7444
|
-
const goal = goals[selected()];
|
|
7445
|
-
if (!goal || !listScrollRef)
|
|
7446
|
-
return;
|
|
7447
|
-
try {
|
|
7448
|
-
listScrollRef.scrollChildIntoView(rowIdFor(goal.id));
|
|
7449
|
-
} catch {}
|
|
7450
|
-
});
|
|
7451
7480
|
return (() => {
|
|
7452
|
-
var _el$ = _$createElement("box"), _el$
|
|
7453
|
-
_$insertNode(_el$, _el$2);
|
|
7454
|
-
_$setProp(_el$, "flexDirection", "column");
|
|
7455
|
-
_$setProp(_el$, "width", "100%");
|
|
7456
|
-
_$setProp(_el$, "alignItems", "center");
|
|
7457
|
-
_$setProp(_el$, "padding", 1);
|
|
7458
|
-
_$insertNode(_el$2, _el$3);
|
|
7459
|
-
_$insertNode(_el$2, _el$39);
|
|
7460
|
-
_$insertNode(_el$2, _el$51);
|
|
7461
|
-
_$setProp(_el$2, "flexDirection", "column");
|
|
7462
|
-
_$setProp(_el$2, "width", "90%");
|
|
7463
|
-
_$setProp(_el$2, "border", true);
|
|
7464
|
-
_$setProp(_el$2, "padding", 1);
|
|
7465
|
-
_$insertNode(_el$3, _el$4);
|
|
7466
|
-
_$insertNode(_el$3, _el$35);
|
|
7467
|
-
_$setProp(_el$3, "flexDirection", "row");
|
|
7468
|
-
_$setProp(_el$3, "justifyContent", "space-between");
|
|
7469
|
-
_$setProp(_el$3, "alignItems", "center");
|
|
7470
|
-
_$setProp(_el$3, "padding", 0);
|
|
7471
|
-
_$setProp(_el$3, "flexShrink", 0);
|
|
7472
|
-
_$setProp(_el$3, "gap", 1);
|
|
7481
|
+
var _el$4 = _$createElement("box"), _el$5 = _$createElement("box"), _el$6 = _$createElement("box"), _el$7 = _$createElement("text"), _el$8 = _$createElement("span"), _el$0 = _$createElement("span"), _el$10 = _$createElement("span"), _el$11 = _$createTextNode(` `), _el$12 = _$createTextNode(` `), _el$13 = _$createElement("span"), _el$15 = _$createElement("span"), _el$16 = _$createElement("span"), _el$18 = _$createElement("span"), _el$20 = _$createElement("span"), _el$21 = _$createTextNode(` `), _el$22 = _$createTextNode(` acting now`), _el$23 = _$createElement("span"), _el$25 = _$createElement("span"), _el$26 = _$createElement("span"), _el$28 = _$createElement("span"), _el$30 = _$createElement("span"), _el$32 = _$createElement("span"), _el$34 = _$createElement("span"), _el$36 = _$createElement("span"), _el$38 = _$createElement("box"), _el$39 = _$createElement("text"), _el$40 = _$createElement("span"), _el$42 = _$createElement("box"), _el$52 = _$createElement("box"), _el$53 = _$createElement("text"), _el$54 = _$createElement("span"), _el$55 = _$createElement("input");
|
|
7473
7482
|
_$insertNode(_el$4, _el$5);
|
|
7474
|
-
_$
|
|
7475
|
-
_$
|
|
7476
|
-
_$
|
|
7477
|
-
_$
|
|
7478
|
-
_$insertNode(_el$
|
|
7479
|
-
_$insertNode(_el$
|
|
7480
|
-
_$insertNode(_el$
|
|
7481
|
-
_$
|
|
7482
|
-
_$
|
|
7483
|
-
_$
|
|
7484
|
-
_$
|
|
7485
|
-
_$insertNode(_el$
|
|
7486
|
-
_$insertNode(_el$
|
|
7487
|
-
_$
|
|
7488
|
-
_$
|
|
7489
|
-
_$
|
|
7490
|
-
_$
|
|
7491
|
-
_$
|
|
7492
|
-
_$
|
|
7493
|
-
_$
|
|
7494
|
-
_$insertNode(_el$
|
|
7495
|
-
_$
|
|
7496
|
-
_$insertNode(_el$
|
|
7497
|
-
_$insertNode(_el$
|
|
7498
|
-
_$insertNode(_el$
|
|
7499
|
-
_$insertNode(_el$
|
|
7500
|
-
_$
|
|
7483
|
+
_$setProp(_el$4, "flexDirection", "column");
|
|
7484
|
+
_$setProp(_el$4, "width", "100%");
|
|
7485
|
+
_$setProp(_el$4, "alignItems", "center");
|
|
7486
|
+
_$setProp(_el$4, "padding", 1);
|
|
7487
|
+
_$insertNode(_el$5, _el$6);
|
|
7488
|
+
_$insertNode(_el$5, _el$42);
|
|
7489
|
+
_$insertNode(_el$5, _el$52);
|
|
7490
|
+
_$setProp(_el$5, "flexDirection", "column");
|
|
7491
|
+
_$setProp(_el$5, "width", "90%");
|
|
7492
|
+
_$setProp(_el$5, "border", true);
|
|
7493
|
+
_$setProp(_el$5, "padding", 1);
|
|
7494
|
+
_$insertNode(_el$6, _el$7);
|
|
7495
|
+
_$insertNode(_el$6, _el$38);
|
|
7496
|
+
_$setProp(_el$6, "flexDirection", "row");
|
|
7497
|
+
_$setProp(_el$6, "justifyContent", "space-between");
|
|
7498
|
+
_$setProp(_el$6, "alignItems", "center");
|
|
7499
|
+
_$setProp(_el$6, "padding", 0);
|
|
7500
|
+
_$setProp(_el$6, "flexShrink", 0);
|
|
7501
|
+
_$setProp(_el$6, "gap", 1);
|
|
7502
|
+
_$insertNode(_el$7, _el$8);
|
|
7503
|
+
_$insertNode(_el$7, _el$0);
|
|
7504
|
+
_$insertNode(_el$7, _el$10);
|
|
7505
|
+
_$insertNode(_el$7, _el$13);
|
|
7506
|
+
_$insertNode(_el$7, _el$15);
|
|
7507
|
+
_$insertNode(_el$7, _el$16);
|
|
7508
|
+
_$insertNode(_el$7, _el$18);
|
|
7509
|
+
_$insertNode(_el$7, _el$20);
|
|
7510
|
+
_$insertNode(_el$7, _el$23);
|
|
7511
|
+
_$insertNode(_el$7, _el$25);
|
|
7512
|
+
_$insertNode(_el$7, _el$26);
|
|
7513
|
+
_$insertNode(_el$7, _el$28);
|
|
7514
|
+
_$insertNode(_el$7, _el$30);
|
|
7515
|
+
_$insertNode(_el$7, _el$32);
|
|
7516
|
+
_$insertNode(_el$7, _el$34);
|
|
7517
|
+
_$insertNode(_el$7, _el$36);
|
|
7518
|
+
_$insertNode(_el$8, _$createTextNode(`\u2B22 Loop Dashboard`));
|
|
7519
|
+
_$insertNode(_el$0, _$createTextNode(` \u2502 `));
|
|
7520
|
+
_$insertNode(_el$10, _el$11);
|
|
7521
|
+
_$insertNode(_el$10, _el$12);
|
|
7522
|
+
_$insert(_el$10, () => mode().toUpperCase(), _el$12);
|
|
7523
|
+
_$insertNode(_el$13, _$createTextNode(` \u2502 `));
|
|
7524
|
+
_$insert(_el$15, () => activeGoals().length);
|
|
7525
|
+
_$insertNode(_el$16, _$createTextNode(` open`));
|
|
7526
|
+
_$insertNode(_el$18, _$createTextNode(` \u2502 `));
|
|
7527
|
+
_$insertNode(_el$20, _el$21);
|
|
7528
|
+
_$insertNode(_el$20, _el$22);
|
|
7529
|
+
_$insert(_el$20, (() => {
|
|
7501
7530
|
var _c$ = _$memo(() => runningCount() > 0);
|
|
7502
7531
|
return () => _c$() ? runningFrame() : "\u25CB";
|
|
7503
|
-
})(), _el$
|
|
7504
|
-
_$insert(_el$
|
|
7505
|
-
_$insertNode(_el$
|
|
7506
|
-
_$insert(_el$
|
|
7507
|
-
_$insertNode(_el$
|
|
7508
|
-
_$insertNode(_el$
|
|
7509
|
-
_$insertNode(_el$
|
|
7510
|
-
_$insertNode(_el$
|
|
7511
|
-
_$insertNode(_el$
|
|
7512
|
-
_$insertNode(_el$
|
|
7513
|
-
_$insertNode(_el$
|
|
7514
|
-
_$setProp(_el$
|
|
7515
|
-
_$setProp(_el$
|
|
7516
|
-
_$setProp(_el$
|
|
7517
|
-
_$setProp(_el$
|
|
7518
|
-
_$setProp(_el$
|
|
7519
|
-
_$spread(_el$
|
|
7532
|
+
})(), _el$21);
|
|
7533
|
+
_$insert(_el$20, runningCount, _el$22);
|
|
7534
|
+
_$insertNode(_el$23, _$createTextNode(` \u2502 `));
|
|
7535
|
+
_$insert(_el$25, () => state()?.goals.filter((g) => g.status === "complete").length || 0);
|
|
7536
|
+
_$insertNode(_el$26, _$createTextNode(` done`));
|
|
7537
|
+
_$insertNode(_el$28, _$createTextNode(` \u2502 `));
|
|
7538
|
+
_$insertNode(_el$30, _$createTextNode(`[Goals]`));
|
|
7539
|
+
_$insertNode(_el$32, _$createTextNode(` `));
|
|
7540
|
+
_$insertNode(_el$34, _$createTextNode(`[Commands]`));
|
|
7541
|
+
_$insertNode(_el$36, _$createTextNode(` (Tab)`));
|
|
7542
|
+
_$insertNode(_el$38, _el$39);
|
|
7543
|
+
_$setProp(_el$38, "flexDirection", "row");
|
|
7544
|
+
_$setProp(_el$38, "alignItems", "center");
|
|
7545
|
+
_$setProp(_el$38, "paddingLeft", 1);
|
|
7546
|
+
_$setProp(_el$38, "paddingRight", 1);
|
|
7547
|
+
_$setProp(_el$38, "flexShrink", 0);
|
|
7548
|
+
_$spread(_el$38, _$mergeProps({
|
|
7520
7549
|
get backgroundColor() {
|
|
7521
7550
|
return theme().error;
|
|
7522
7551
|
}
|
|
7523
7552
|
}, {
|
|
7524
7553
|
onMouseDown: handleBugReport
|
|
7525
7554
|
}), true);
|
|
7526
|
-
_$insertNode(_el$
|
|
7527
|
-
_$insertNode(_el$
|
|
7528
|
-
_$setProp(_el$
|
|
7555
|
+
_$insertNode(_el$39, _el$40);
|
|
7556
|
+
_$insertNode(_el$40, _$createTextNode(`Bug Report`));
|
|
7557
|
+
_$setProp(_el$40, "style", {
|
|
7529
7558
|
fg: "white",
|
|
7530
7559
|
bold: true
|
|
7531
7560
|
});
|
|
7532
|
-
_$setProp(_el$
|
|
7533
|
-
_$setProp(_el$
|
|
7534
|
-
_$setProp(_el$
|
|
7535
|
-
_$setProp(_el$
|
|
7536
|
-
_$insert(_el$
|
|
7561
|
+
_$setProp(_el$42, "flexDirection", "column");
|
|
7562
|
+
_$setProp(_el$42, "flexShrink", 1);
|
|
7563
|
+
_$setProp(_el$42, "minHeight", 0);
|
|
7564
|
+
_$setProp(_el$42, "overflow", "hidden");
|
|
7565
|
+
_$insert(_el$42, _$createComponent(Show, {
|
|
7537
7566
|
get when() {
|
|
7538
7567
|
return showHelp();
|
|
7539
7568
|
},
|
|
7540
7569
|
get children() {
|
|
7541
|
-
var _el$
|
|
7542
|
-
_$insertNode(_el$
|
|
7543
|
-
_$setProp(_el$
|
|
7544
|
-
_$setProp(_el$
|
|
7545
|
-
_$setProp(_el$
|
|
7546
|
-
_$setProp(_el$
|
|
7547
|
-
_$setProp(_el$
|
|
7548
|
-
_$setProp(_el$
|
|
7549
|
-
_$setProp(_el$
|
|
7550
|
-
_$insertNode(_el$
|
|
7551
|
-
_$setProp(_el$
|
|
7570
|
+
var _el$43 = _$createElement("box"), _el$44 = _$createElement("text"), _el$45 = _$createElement("span");
|
|
7571
|
+
_$insertNode(_el$43, _el$44);
|
|
7572
|
+
_$setProp(_el$43, "flexDirection", "column");
|
|
7573
|
+
_$setProp(_el$43, "padding", 1);
|
|
7574
|
+
_$setProp(_el$43, "border", true);
|
|
7575
|
+
_$setProp(_el$43, "borderColor", "yellow");
|
|
7576
|
+
_$setProp(_el$43, "flexShrink", 0);
|
|
7577
|
+
_$setProp(_el$43, "maxHeight", 17);
|
|
7578
|
+
_$setProp(_el$43, "overflow", "hidden");
|
|
7579
|
+
_$insertNode(_el$44, _el$45);
|
|
7580
|
+
_$setProp(_el$45, "style", {
|
|
7552
7581
|
fg: "yellow",
|
|
7553
7582
|
bold: true
|
|
7554
7583
|
});
|
|
7555
|
-
_$insert(_el$
|
|
7556
|
-
_$insert(_el$
|
|
7584
|
+
_$insert(_el$45, () => 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");
|
|
7585
|
+
_$insert(_el$44, _$createComponent(For, {
|
|
7557
7586
|
get each() {
|
|
7558
7587
|
return (tab() === "commands" ? commandTabHelp() : commandHelp()).split(`
|
|
7559
7588
|
`);
|
|
@@ -7565,20 +7594,20 @@ function LoopDashboard(props) {
|
|
|
7565
7594
|
const segments = rest.split(" | ");
|
|
7566
7595
|
return [`
|
|
7567
7596
|
`, (() => {
|
|
7568
|
-
var _el$
|
|
7569
|
-
_$insert(_el$
|
|
7570
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7597
|
+
var _el$56 = _$createElement("span");
|
|
7598
|
+
_$insert(_el$56, label);
|
|
7599
|
+
_$effect((_$p) => _$setProp(_el$56, "style", {
|
|
7571
7600
|
fg: theme().primary,
|
|
7572
7601
|
bold: true
|
|
7573
7602
|
}, _$p));
|
|
7574
|
-
return _el$
|
|
7603
|
+
return _el$56;
|
|
7575
7604
|
})(), (() => {
|
|
7576
|
-
var _el$
|
|
7577
|
-
_$insertNode(_el$
|
|
7578
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7605
|
+
var _el$57 = _$createElement("span");
|
|
7606
|
+
_$insertNode(_el$57, _$createTextNode(` `));
|
|
7607
|
+
_$effect((_$p) => _$setProp(_el$57, "style", {
|
|
7579
7608
|
fg: theme().textMuted
|
|
7580
7609
|
}, _$p));
|
|
7581
|
-
return _el$
|
|
7610
|
+
return _el$57;
|
|
7582
7611
|
})(), _$createComponent(For, {
|
|
7583
7612
|
each: segments,
|
|
7584
7613
|
children: (seg, idx) => {
|
|
@@ -7586,62 +7615,62 @@ function LoopDashboard(props) {
|
|
|
7586
7615
|
if (hasArrow) {
|
|
7587
7616
|
const [k, d] = seg.split("\u2192").map((s) => s.trim());
|
|
7588
7617
|
return [_$memo(() => _$memo(() => idx() > 0)() && (() => {
|
|
7589
|
-
var _el$
|
|
7590
|
-
_$insertNode(_el$
|
|
7591
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7618
|
+
var _el$63 = _$createElement("span");
|
|
7619
|
+
_$insertNode(_el$63, _$createTextNode(` | `));
|
|
7620
|
+
_$effect((_$p) => _$setProp(_el$63, "style", {
|
|
7592
7621
|
fg: theme().textMuted
|
|
7593
7622
|
}, _$p));
|
|
7594
|
-
return _el$
|
|
7623
|
+
return _el$63;
|
|
7595
7624
|
})()), (() => {
|
|
7596
|
-
var _el$
|
|
7597
|
-
_$insert(_el$
|
|
7598
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7625
|
+
var _el$59 = _$createElement("span");
|
|
7626
|
+
_$insert(_el$59, k);
|
|
7627
|
+
_$effect((_$p) => _$setProp(_el$59, "style", {
|
|
7599
7628
|
fg: theme().warning,
|
|
7600
7629
|
bold: true
|
|
7601
7630
|
}, _$p));
|
|
7602
|
-
return _el$
|
|
7631
|
+
return _el$59;
|
|
7603
7632
|
})(), (() => {
|
|
7604
|
-
var _el$
|
|
7605
|
-
_$insertNode(_el$
|
|
7606
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7633
|
+
var _el$60 = _$createElement("span");
|
|
7634
|
+
_$insertNode(_el$60, _$createTextNode(` \u2192 `));
|
|
7635
|
+
_$effect((_$p) => _$setProp(_el$60, "style", {
|
|
7607
7636
|
fg: theme().textMuted
|
|
7608
7637
|
}, _$p));
|
|
7609
|
-
return _el$
|
|
7638
|
+
return _el$60;
|
|
7610
7639
|
})(), (() => {
|
|
7611
|
-
var _el$
|
|
7612
|
-
_$insert(_el$
|
|
7613
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7640
|
+
var _el$62 = _$createElement("span");
|
|
7641
|
+
_$insert(_el$62, d);
|
|
7642
|
+
_$effect((_$p) => _$setProp(_el$62, "style", {
|
|
7614
7643
|
fg: theme().text
|
|
7615
7644
|
}, _$p));
|
|
7616
|
-
return _el$
|
|
7645
|
+
return _el$62;
|
|
7617
7646
|
})()];
|
|
7618
7647
|
}
|
|
7619
7648
|
const sp = seg.indexOf(" ");
|
|
7620
7649
|
const k = sp > 0 ? seg.slice(0, sp) : seg;
|
|
7621
7650
|
const d = sp > 0 ? seg.slice(sp + 1) : "";
|
|
7622
7651
|
return [_$memo(() => _$memo(() => idx() > 0)() && (() => {
|
|
7623
|
-
var _el$
|
|
7624
|
-
_$insertNode(_el$
|
|
7625
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7652
|
+
var _el$66 = _$createElement("span");
|
|
7653
|
+
_$insertNode(_el$66, _$createTextNode(` | `));
|
|
7654
|
+
_$effect((_$p) => _$setProp(_el$66, "style", {
|
|
7626
7655
|
fg: theme().textMuted
|
|
7627
7656
|
}, _$p));
|
|
7628
|
-
return _el$
|
|
7657
|
+
return _el$66;
|
|
7629
7658
|
})()), (() => {
|
|
7630
|
-
var _el$
|
|
7631
|
-
_$insert(_el$
|
|
7632
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7659
|
+
var _el$65 = _$createElement("span");
|
|
7660
|
+
_$insert(_el$65, k);
|
|
7661
|
+
_$effect((_$p) => _$setProp(_el$65, "style", {
|
|
7633
7662
|
fg: theme().warning,
|
|
7634
7663
|
bold: true
|
|
7635
7664
|
}, _$p));
|
|
7636
|
-
return _el$
|
|
7665
|
+
return _el$65;
|
|
7637
7666
|
})(), d && (() => {
|
|
7638
|
-
var _el$
|
|
7639
|
-
_$insertNode(_el$
|
|
7640
|
-
_$insert(_el$
|
|
7641
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7667
|
+
var _el$68 = _$createElement("span"), _el$69 = _$createTextNode(` `);
|
|
7668
|
+
_$insertNode(_el$68, _el$69);
|
|
7669
|
+
_$insert(_el$68, d, null);
|
|
7670
|
+
_$effect((_$p) => _$setProp(_el$68, "style", {
|
|
7642
7671
|
fg: theme().text
|
|
7643
7672
|
}, _$p));
|
|
7644
|
-
return _el$
|
|
7673
|
+
return _el$68;
|
|
7645
7674
|
})()];
|
|
7646
7675
|
}
|
|
7647
7676
|
})];
|
|
@@ -7653,54 +7682,54 @@ function LoopDashboard(props) {
|
|
|
7653
7682
|
const desc = m?.[3] ?? line.split(/\s{2,}/)[1] ?? "";
|
|
7654
7683
|
return [`
|
|
7655
7684
|
`, (() => {
|
|
7656
|
-
var _el$
|
|
7657
|
-
_$insert(_el$
|
|
7658
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7685
|
+
var _el$70 = _$createElement("span");
|
|
7686
|
+
_$insert(_el$70, indent);
|
|
7687
|
+
_$effect((_$p) => _$setProp(_el$70, "style", {
|
|
7659
7688
|
fg: theme().textMuted
|
|
7660
7689
|
}, _$p));
|
|
7661
|
-
return _el$
|
|
7690
|
+
return _el$70;
|
|
7662
7691
|
})(), (() => {
|
|
7663
|
-
var _el$
|
|
7664
|
-
_$insert(_el$
|
|
7665
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7692
|
+
var _el$71 = _$createElement("span");
|
|
7693
|
+
_$insert(_el$71, key);
|
|
7694
|
+
_$effect((_$p) => _$setProp(_el$71, "style", {
|
|
7666
7695
|
fg: theme().warning,
|
|
7667
7696
|
bold: true
|
|
7668
7697
|
}, _$p));
|
|
7669
|
-
return _el$
|
|
7698
|
+
return _el$71;
|
|
7670
7699
|
})(), desc && [(() => {
|
|
7671
|
-
var _el$
|
|
7672
|
-
_$insertNode(_el$
|
|
7673
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7700
|
+
var _el$72 = _$createElement("span");
|
|
7701
|
+
_$insertNode(_el$72, _$createTextNode(` `));
|
|
7702
|
+
_$effect((_$p) => _$setProp(_el$72, "style", {
|
|
7674
7703
|
fg: theme().textMuted
|
|
7675
7704
|
}, _$p));
|
|
7676
|
-
return _el$
|
|
7705
|
+
return _el$72;
|
|
7677
7706
|
})(), (() => {
|
|
7678
|
-
var _el$
|
|
7679
|
-
_$insert(_el$
|
|
7680
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7707
|
+
var _el$74 = _$createElement("span");
|
|
7708
|
+
_$insert(_el$74, desc);
|
|
7709
|
+
_$effect((_$p) => _$setProp(_el$74, "style", {
|
|
7681
7710
|
fg: theme().textMuted
|
|
7682
7711
|
}, _$p));
|
|
7683
|
-
return _el$
|
|
7712
|
+
return _el$74;
|
|
7684
7713
|
})()]];
|
|
7685
7714
|
}
|
|
7686
7715
|
const isHeader = line.startsWith("Commands");
|
|
7687
7716
|
return [`
|
|
7688
7717
|
`, (() => {
|
|
7689
|
-
var _el$
|
|
7690
|
-
_$insert(_el$
|
|
7691
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7718
|
+
var _el$75 = _$createElement("span");
|
|
7719
|
+
_$insert(_el$75, line);
|
|
7720
|
+
_$effect((_$p) => _$setProp(_el$75, "style", {
|
|
7692
7721
|
fg: isHeader ? theme().primary : theme().textMuted,
|
|
7693
7722
|
bold: isHeader
|
|
7694
7723
|
}, _$p));
|
|
7695
|
-
return _el$
|
|
7724
|
+
return _el$75;
|
|
7696
7725
|
})()];
|
|
7697
7726
|
}
|
|
7698
7727
|
}), null);
|
|
7699
|
-
_$effect((_$p) => _$setProp(_el$
|
|
7700
|
-
return _el$
|
|
7728
|
+
_$effect((_$p) => _$setProp(_el$43, "backgroundColor", theme().background, _$p));
|
|
7729
|
+
return _el$43;
|
|
7701
7730
|
}
|
|
7702
7731
|
}), null);
|
|
7703
|
-
_$insert(_el$
|
|
7732
|
+
_$insert(_el$42, _$createComponent(Show, {
|
|
7704
7733
|
get when() {
|
|
7705
7734
|
return tab() === "goals";
|
|
7706
7735
|
},
|
|
@@ -7711,43 +7740,39 @@ function LoopDashboard(props) {
|
|
|
7711
7740
|
},
|
|
7712
7741
|
get fallback() {
|
|
7713
7742
|
return (() => {
|
|
7714
|
-
var _el$
|
|
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);
|
|
7743
|
+
var _el$76 = _$createElement("box"), _el$77 = _$createElement("text"), _el$78 = _$createElement("span"), _el$80 = _$createElement("span"), _el$82 = _$createElement("span"), _el$84 = _$createElement("text"), _el$85 = _$createElement("span"), _el$87 = _$createElement("span"), _el$89 = _$createElement("span"), _el$91 = _$createElement("span"), _el$93 = _$createElement("span"), _el$95 = _$createElement("span"), _el$97 = _$createElement("span");
|
|
7720
7744
|
_$insertNode(_el$76, _el$77);
|
|
7721
|
-
_$insertNode(_el$76, _el$
|
|
7722
|
-
_$
|
|
7723
|
-
_$
|
|
7724
|
-
_$
|
|
7725
|
-
_$insertNode(_el$
|
|
7726
|
-
_$insertNode(_el$
|
|
7727
|
-
_$insertNode(_el$
|
|
7728
|
-
_$insertNode(_el$
|
|
7729
|
-
_$insertNode(_el$
|
|
7730
|
-
_$insertNode(_el$
|
|
7731
|
-
_$insertNode(_el$
|
|
7732
|
-
_$insertNode(_el$
|
|
7733
|
-
_$insertNode(_el$84,
|
|
7734
|
-
_$insertNode(_el$
|
|
7735
|
-
_$insertNode(_el$
|
|
7736
|
-
_$insertNode(_el$
|
|
7737
|
-
_$insertNode(_el$
|
|
7738
|
-
_$insertNode(_el$
|
|
7739
|
-
_$insertNode(_el$
|
|
7745
|
+
_$insertNode(_el$76, _el$84);
|
|
7746
|
+
_$setProp(_el$76, "flexDirection", "column");
|
|
7747
|
+
_$setProp(_el$76, "gap", 1);
|
|
7748
|
+
_$setProp(_el$76, "padding", 1);
|
|
7749
|
+
_$insertNode(_el$77, _el$78);
|
|
7750
|
+
_$insertNode(_el$77, _el$80);
|
|
7751
|
+
_$insertNode(_el$77, _el$82);
|
|
7752
|
+
_$insertNode(_el$78, _$createTextNode(`No active goals.`));
|
|
7753
|
+
_$insertNode(_el$80, _$createTextNode(` /goal`));
|
|
7754
|
+
_$insertNode(_el$82, _$createTextNode(` in parent chat to create one.`));
|
|
7755
|
+
_$insertNode(_el$84, _el$85);
|
|
7756
|
+
_$insertNode(_el$84, _el$87);
|
|
7757
|
+
_$insertNode(_el$84, _el$89);
|
|
7758
|
+
_$insertNode(_el$84, _el$91);
|
|
7759
|
+
_$insertNode(_el$84, _el$93);
|
|
7760
|
+
_$insertNode(_el$84, _el$95);
|
|
7761
|
+
_$insertNode(_el$84, _el$97);
|
|
7762
|
+
_$insertNode(_el$85, _$createTextNode(`Tip: `));
|
|
7763
|
+
_$insertNode(_el$87, _$createTextNode(`:send`));
|
|
7764
|
+
_$insertNode(_el$89, _$createTextNode(` to steer the worker \xB7 `));
|
|
7765
|
+
_$insertNode(_el$91, _$createTextNode(`o`));
|
|
7766
|
+
_$insertNode(_el$93, _$createTextNode(` to open child \xB7 `));
|
|
7767
|
+
_$insertNode(_el$95, _$createTextNode(`:force`));
|
|
7768
|
+
_$insertNode(_el$97, _$createTextNode(` to complete manually.`));
|
|
7740
7769
|
_$effect((_p$) => {
|
|
7741
|
-
var _v$
|
|
7742
|
-
fg: theme().textMuted
|
|
7743
|
-
}, _v$27 = {
|
|
7744
|
-
fg: theme().accent
|
|
7745
|
-
}, _v$28 = {
|
|
7770
|
+
var _v$28 = {
|
|
7746
7771
|
fg: theme().textMuted
|
|
7747
7772
|
}, _v$29 = {
|
|
7748
|
-
fg: theme().
|
|
7773
|
+
fg: theme().accent
|
|
7749
7774
|
}, _v$30 = {
|
|
7750
|
-
fg: theme().
|
|
7775
|
+
fg: theme().textMuted
|
|
7751
7776
|
}, _v$31 = {
|
|
7752
7777
|
fg: theme().textMuted
|
|
7753
7778
|
}, _v$32 = {
|
|
@@ -7758,17 +7783,21 @@ function LoopDashboard(props) {
|
|
|
7758
7783
|
fg: theme().warning
|
|
7759
7784
|
}, _v$35 = {
|
|
7760
7785
|
fg: theme().textMuted
|
|
7786
|
+
}, _v$36 = {
|
|
7787
|
+
fg: theme().warning
|
|
7788
|
+
}, _v$37 = {
|
|
7789
|
+
fg: theme().textMuted
|
|
7761
7790
|
};
|
|
7762
|
-
_v$
|
|
7763
|
-
_v$
|
|
7764
|
-
_v$
|
|
7765
|
-
_v$
|
|
7766
|
-
_v$
|
|
7767
|
-
_v$
|
|
7768
|
-
_v$
|
|
7769
|
-
_v$
|
|
7770
|
-
_v$
|
|
7771
|
-
_v$
|
|
7791
|
+
_v$28 !== _p$.e && (_p$.e = _$setProp(_el$78, "style", _v$28, _p$.e));
|
|
7792
|
+
_v$29 !== _p$.t && (_p$.t = _$setProp(_el$80, "style", _v$29, _p$.t));
|
|
7793
|
+
_v$30 !== _p$.a && (_p$.a = _$setProp(_el$82, "style", _v$30, _p$.a));
|
|
7794
|
+
_v$31 !== _p$.o && (_p$.o = _$setProp(_el$85, "style", _v$31, _p$.o));
|
|
7795
|
+
_v$32 !== _p$.i && (_p$.i = _$setProp(_el$87, "style", _v$32, _p$.i));
|
|
7796
|
+
_v$33 !== _p$.n && (_p$.n = _$setProp(_el$89, "style", _v$33, _p$.n));
|
|
7797
|
+
_v$34 !== _p$.s && (_p$.s = _$setProp(_el$91, "style", _v$34, _p$.s));
|
|
7798
|
+
_v$35 !== _p$.h && (_p$.h = _$setProp(_el$93, "style", _v$35, _p$.h));
|
|
7799
|
+
_v$36 !== _p$.r && (_p$.r = _$setProp(_el$95, "style", _v$36, _p$.r));
|
|
7800
|
+
_v$37 !== _p$.d && (_p$.d = _$setProp(_el$97, "style", _v$37, _p$.d));
|
|
7772
7801
|
return _p$;
|
|
7773
7802
|
}, {
|
|
7774
7803
|
e: undefined,
|
|
@@ -7782,238 +7811,206 @@ function LoopDashboard(props) {
|
|
|
7782
7811
|
r: undefined,
|
|
7783
7812
|
d: undefined
|
|
7784
7813
|
});
|
|
7785
|
-
return _el$
|
|
7814
|
+
return _el$76;
|
|
7786
7815
|
})();
|
|
7787
7816
|
},
|
|
7788
7817
|
get children() {
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7792
|
-
}, _el$43);
|
|
7793
|
-
_$insert(_el$43, _$createComponent(For, {
|
|
7794
|
-
get each() {
|
|
7795
|
-
return activeGoals();
|
|
7818
|
+
return _$createComponent(DashboardList, {
|
|
7819
|
+
get count() {
|
|
7820
|
+
return activeGoals().length;
|
|
7796
7821
|
},
|
|
7797
|
-
|
|
7798
|
-
|
|
7799
|
-
|
|
7800
|
-
|
|
7801
|
-
|
|
7802
|
-
|
|
7803
|
-
return
|
|
7804
|
-
|
|
7805
|
-
|
|
7806
|
-
|
|
7807
|
-
|
|
7808
|
-
|
|
7809
|
-
|
|
7810
|
-
|
|
7811
|
-
|
|
7812
|
-
|
|
7813
|
-
|
|
7814
|
-
|
|
7815
|
-
|
|
7816
|
-
|
|
7817
|
-
|
|
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, (() => {
|
|
7824
|
-
var _c$2 = _$memo(() => !!isActive());
|
|
7825
|
-
return () => _c$2() ? `\u25B6 ${statusIcon(goal.status)} ${goal.name}` : ` ${statusIcon(goal.status)} ${goal.name}`;
|
|
7826
|
-
})());
|
|
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, (() => {
|
|
7831
|
-
var _c$3 = _$memo(() => !!runtime());
|
|
7832
|
-
return () => _c$3() && [(() => {
|
|
7833
|
-
var _el$106 = _$createElement("span");
|
|
7834
|
-
_$insertNode(_el$106, _$createTextNode(` \u2502 Worker `));
|
|
7835
|
-
_$effect((_$p) => _$setProp(_el$106, "style", {
|
|
7836
|
-
fg: theme().textMuted
|
|
7837
|
-
}, _$p));
|
|
7838
|
-
return _el$106;
|
|
7839
|
-
})(), (() => {
|
|
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", {
|
|
7848
|
-
fg: turnColor(),
|
|
7849
|
-
bold: runtime().phase === "running"
|
|
7850
|
-
}, _$p));
|
|
7851
|
-
return _el$108;
|
|
7852
|
-
})(), (() => {
|
|
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", {
|
|
7858
|
-
fg: turnColor()
|
|
7859
|
-
}, _$p));
|
|
7860
|
-
return _el$110;
|
|
7861
|
-
})(), (() => {
|
|
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", {
|
|
7866
|
-
fg: theme().textMuted
|
|
7867
|
-
}, _$p));
|
|
7868
|
-
return _el$112;
|
|
7869
|
-
})()];
|
|
7870
|
-
})(), null);
|
|
7871
|
-
_$insert(_el$99, (() => {
|
|
7872
|
-
var _c$4 = _$memo(() => !!(runtime() && runtime().consecutiveFailures > 0));
|
|
7873
|
-
return () => _c$4() && (() => {
|
|
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", {
|
|
7879
|
-
fg: theme().error,
|
|
7880
|
-
bold: true
|
|
7881
|
-
}, _$p));
|
|
7882
|
-
return _el$114;
|
|
7883
|
-
})();
|
|
7884
|
-
})(), null);
|
|
7885
|
-
_$insert(_el$99, (() => {
|
|
7886
|
-
var _c$5 = _$memo(() => !!(runtime() && (runtime().noProgressCount || 0) > 0));
|
|
7887
|
-
return () => _c$5() && (() => {
|
|
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", {
|
|
7893
|
-
fg: theme().warning
|
|
7894
|
-
}, _$p));
|
|
7895
|
-
return _el$117;
|
|
7896
|
-
})();
|
|
7897
|
-
})(), null);
|
|
7898
|
-
_$insert(_el$99, (() => {
|
|
7899
|
-
var _c$6 = _$memo(() => !!(runtime() && runtime().evaluatorRejectionCount > 0));
|
|
7900
|
-
return () => _c$6() && (() => {
|
|
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", {
|
|
7906
|
-
fg: theme().warning,
|
|
7907
|
-
bold: true
|
|
7908
|
-
}, _$p));
|
|
7909
|
-
return _el$120;
|
|
7910
|
-
})();
|
|
7911
|
-
})(), null);
|
|
7912
|
-
_$insert(_el$99, (() => {
|
|
7913
|
-
var _c$7 = _$memo(() => !!(runtime() && runtime().unknownStatusCount >= 3));
|
|
7914
|
-
return () => _c$7() && (() => {
|
|
7915
|
-
var _el$123 = _$createElement("span");
|
|
7916
|
-
_$insertNode(_el$123, _$createTextNode(` \u2502 \u26A0\uFE0F UNREACHABLE`));
|
|
7917
|
-
_$effect((_$p) => _$setProp(_el$123, "style", {
|
|
7918
|
-
fg: theme().error,
|
|
7919
|
-
bold: true
|
|
7920
|
-
}, _$p));
|
|
7921
|
-
return _el$123;
|
|
7922
|
-
})();
|
|
7923
|
-
})(), null);
|
|
7924
|
-
_$insert(_el$99, (() => {
|
|
7925
|
-
var _c$8 = _$memo(() => !!(runtime() && runtime().phase === "idle" && runtime().activeRunID));
|
|
7926
|
-
return () => _c$8() && (() => {
|
|
7927
|
-
var _el$125 = _$createElement("span");
|
|
7928
|
-
_$insertNode(_el$125, _$createTextNode(` \u2502 \u26A0\uFE0F STALE LEASE`));
|
|
7929
|
-
_$effect((_$p) => _$setProp(_el$125, "style", {
|
|
7930
|
-
fg: theme().error,
|
|
7931
|
-
bold: true
|
|
7932
|
-
}, _$p));
|
|
7933
|
-
return _el$125;
|
|
7934
|
-
})();
|
|
7935
|
-
})(), null);
|
|
7936
|
-
_$insert(_el$99, (() => {
|
|
7937
|
-
var _c$9 = _$memo(() => goal.interactive === true);
|
|
7938
|
-
return () => _c$9() && (() => {
|
|
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
|
|
7944
|
-
}, _$p));
|
|
7945
|
-
return _el$127;
|
|
7946
|
-
})();
|
|
7947
|
-
})(), null);
|
|
7948
|
-
_$insert(_el$99, (() => {
|
|
7949
|
-
var _c$0 = _$memo(() => !!goal.config.model);
|
|
7950
|
-
return () => _c$0() && (() => {
|
|
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", {
|
|
7967
|
-
fg: theme().accent
|
|
7968
|
-
}, _$p));
|
|
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;
|
|
7982
|
-
})();
|
|
7983
|
-
})(), null);
|
|
7984
|
-
_$effect((_p$) => {
|
|
7985
|
-
var _v$36 = rowIdFor(goal.id), _v$37 = isActive() ? theme().backgroundElement : undefined, _v$38 = {
|
|
7986
|
-
fg: statusColor(goal.status, theme()),
|
|
7987
|
-
bold: isActive()
|
|
7988
|
-
}, _v$39 = {
|
|
7989
|
-
fg: theme().textMuted
|
|
7990
|
-
}, _v$40 = {
|
|
7991
|
-
fg: theme().textMuted
|
|
7992
|
-
}, _v$41 = {
|
|
7993
|
-
fg: statusColor(goal.status, theme()),
|
|
7994
|
-
bold: true
|
|
7822
|
+
get selectedID() {
|
|
7823
|
+
return _$memo(() => !!activeGoals()[selected()])() ? rowIdFor(activeGoals()[selected()].id) : undefined;
|
|
7824
|
+
},
|
|
7825
|
+
get children() {
|
|
7826
|
+
return _$createComponent(For, {
|
|
7827
|
+
get each() {
|
|
7828
|
+
return activeGoals();
|
|
7829
|
+
},
|
|
7830
|
+
children: (goal, i) => {
|
|
7831
|
+
const runtime = () => state()?.runtimes.find((r) => r.goalID === goal.id);
|
|
7832
|
+
const isActive = () => i() === selected();
|
|
7833
|
+
const maxTurns = goal.config?.maxTurns;
|
|
7834
|
+
const turnColor = () => {
|
|
7835
|
+
if (!runtime() || !maxTurns)
|
|
7836
|
+
return phaseColor(runtime()?.phase || "idle", theme());
|
|
7837
|
+
const ratio = runtime().budgetTurnCount / maxTurns;
|
|
7838
|
+
if (ratio >= 1)
|
|
7839
|
+
return theme().error;
|
|
7840
|
+
if (ratio >= 0.8)
|
|
7841
|
+
return theme().warning;
|
|
7842
|
+
return phaseColor(runtime().phase || "idle", theme());
|
|
7995
7843
|
};
|
|
7996
|
-
|
|
7997
|
-
|
|
7998
|
-
|
|
7999
|
-
|
|
8000
|
-
|
|
8001
|
-
|
|
8002
|
-
|
|
8003
|
-
|
|
8004
|
-
|
|
8005
|
-
|
|
8006
|
-
|
|
8007
|
-
|
|
8008
|
-
|
|
8009
|
-
|
|
8010
|
-
|
|
8011
|
-
|
|
8012
|
-
|
|
7844
|
+
return _$createComponent(DashboardRow, {
|
|
7845
|
+
get id() {
|
|
7846
|
+
return rowIdFor(goal.id);
|
|
7847
|
+
},
|
|
7848
|
+
get backgroundColor() {
|
|
7849
|
+
return _$memo(() => !!isActive())() ? theme().backgroundElement : undefined;
|
|
7850
|
+
},
|
|
7851
|
+
get children() {
|
|
7852
|
+
return [(() => {
|
|
7853
|
+
var _el$99 = _$createElement("span");
|
|
7854
|
+
_$insert(_el$99, (() => {
|
|
7855
|
+
var _c$2 = _$memo(() => !!isActive());
|
|
7856
|
+
return () => _c$2() ? `\u25B6 ${statusIcon(goal.status)} ${goal.name}` : ` ${statusIcon(goal.status)} ${goal.name}`;
|
|
7857
|
+
})());
|
|
7858
|
+
_$effect((_$p) => _$setProp(_el$99, "style", {
|
|
7859
|
+
fg: statusColor(goal.status, theme()),
|
|
7860
|
+
bold: isActive()
|
|
7861
|
+
}, _$p));
|
|
7862
|
+
return _el$99;
|
|
7863
|
+
})(), (() => {
|
|
7864
|
+
var _el$100 = _$createElement("span");
|
|
7865
|
+
_$insertNode(_el$100, _$createTextNode(` \u2502 `));
|
|
7866
|
+
_$effect((_$p) => _$setProp(_el$100, "style", {
|
|
7867
|
+
fg: theme().textMuted
|
|
7868
|
+
}, _$p));
|
|
7869
|
+
return _el$100;
|
|
7870
|
+
})(), (() => {
|
|
7871
|
+
var _el$102 = _$createElement("span");
|
|
7872
|
+
_$insertNode(_el$102, _$createTextNode(`Goal `));
|
|
7873
|
+
_$effect((_$p) => _$setProp(_el$102, "style", {
|
|
7874
|
+
fg: theme().textMuted
|
|
7875
|
+
}, _$p));
|
|
7876
|
+
return _el$102;
|
|
7877
|
+
})(), (() => {
|
|
7878
|
+
var _el$104 = _$createElement("span");
|
|
7879
|
+
_$insert(_el$104, () => goalStatusLabel(goal.status).short.toUpperCase());
|
|
7880
|
+
_$effect((_$p) => _$setProp(_el$104, "style", {
|
|
7881
|
+
fg: statusColor(goal.status, theme()),
|
|
7882
|
+
bold: true
|
|
7883
|
+
}, _$p));
|
|
7884
|
+
return _el$104;
|
|
7885
|
+
})(), _$memo(() => _$memo(() => !!runtime())() && [(() => {
|
|
7886
|
+
var _el$105 = _$createElement("span");
|
|
7887
|
+
_$insertNode(_el$105, _$createTextNode(` \u2502 Worker `));
|
|
7888
|
+
_$effect((_$p) => _$setProp(_el$105, "style", {
|
|
7889
|
+
fg: theme().textMuted
|
|
7890
|
+
}, _$p));
|
|
7891
|
+
return _el$105;
|
|
7892
|
+
})(), (() => {
|
|
7893
|
+
var _el$107 = _$createElement("span"), _el$108 = _$createTextNode(` `);
|
|
7894
|
+
_$insertNode(_el$107, _el$108);
|
|
7895
|
+
_$insert(_el$107, (() => {
|
|
7896
|
+
var _c$3 = _$memo(() => runtime().phase === "running");
|
|
7897
|
+
return () => _c$3() ? runningFrame() : phaseIcon(runtime().phase);
|
|
7898
|
+
})(), _el$108);
|
|
7899
|
+
_$insert(_el$107, () => phaseLabel(runtime().phase).short.toUpperCase(), null);
|
|
7900
|
+
_$effect((_$p) => _$setProp(_el$107, "style", {
|
|
7901
|
+
fg: turnColor(),
|
|
7902
|
+
bold: runtime().phase === "running"
|
|
7903
|
+
}, _$p));
|
|
7904
|
+
return _el$107;
|
|
7905
|
+
})(), (() => {
|
|
7906
|
+
var _el$109 = _$createElement("span"), _el$110 = _$createTextNode(` `);
|
|
7907
|
+
_$insertNode(_el$109, _el$110);
|
|
7908
|
+
_$insert(_el$109, () => runtime().budgetTurnCount, null);
|
|
7909
|
+
_$insert(_el$109, maxTurns ? `/${maxTurns}` : "", null);
|
|
7910
|
+
_$effect((_$p) => _$setProp(_el$109, "style", {
|
|
7911
|
+
fg: turnColor()
|
|
7912
|
+
}, _$p));
|
|
7913
|
+
return _el$109;
|
|
7914
|
+
})(), (() => {
|
|
7915
|
+
var _el$111 = _$createElement("span"), _el$112 = _$createTextNode(` `);
|
|
7916
|
+
_$insertNode(_el$111, _el$112);
|
|
7917
|
+
_$insert(_el$111, () => ageLabel(runtime().lastProgressAt || runtime().lastRunAt, clock()), null);
|
|
7918
|
+
_$effect((_$p) => _$setProp(_el$111, "style", {
|
|
7919
|
+
fg: theme().textMuted
|
|
7920
|
+
}, _$p));
|
|
7921
|
+
return _el$111;
|
|
7922
|
+
})()]), _$memo(() => _$memo(() => !!(runtime() && runtime().consecutiveFailures > 0))() && (() => {
|
|
7923
|
+
var _el$113 = _$createElement("span"), _el$114 = _$createTextNode(` \u2502 \u26A0 `), _el$115 = _$createTextNode(` fail`);
|
|
7924
|
+
_$insertNode(_el$113, _el$114);
|
|
7925
|
+
_$insertNode(_el$113, _el$115);
|
|
7926
|
+
_$insert(_el$113, () => runtime().consecutiveFailures, _el$115);
|
|
7927
|
+
_$effect((_$p) => _$setProp(_el$113, "style", {
|
|
7928
|
+
fg: theme().error,
|
|
7929
|
+
bold: true
|
|
7930
|
+
}, _$p));
|
|
7931
|
+
return _el$113;
|
|
7932
|
+
})()), _$memo(() => _$memo(() => !!(runtime() && (runtime().noProgressCount || 0) > 0))() && (() => {
|
|
7933
|
+
var _el$116 = _$createElement("span"), _el$117 = _$createTextNode(` \u2502 `), _el$118 = _$createTextNode(` no-progress`);
|
|
7934
|
+
_$insertNode(_el$116, _el$117);
|
|
7935
|
+
_$insertNode(_el$116, _el$118);
|
|
7936
|
+
_$insert(_el$116, () => runtime().noProgressCount, _el$118);
|
|
7937
|
+
_$effect((_$p) => _$setProp(_el$116, "style", {
|
|
7938
|
+
fg: theme().warning
|
|
7939
|
+
}, _$p));
|
|
7940
|
+
return _el$116;
|
|
7941
|
+
})()), _$memo(() => _$memo(() => !!(runtime() && runtime().evaluatorRejectionCount > 0))() && (() => {
|
|
7942
|
+
var _el$119 = _$createElement("span"), _el$120 = _$createTextNode(` \u2502 \u26A0 `), _el$121 = _$createTextNode(` rejected`);
|
|
7943
|
+
_$insertNode(_el$119, _el$120);
|
|
7944
|
+
_$insertNode(_el$119, _el$121);
|
|
7945
|
+
_$insert(_el$119, () => String(runtime().evaluatorRejectionCount), _el$121);
|
|
7946
|
+
_$effect((_$p) => _$setProp(_el$119, "style", {
|
|
7947
|
+
fg: theme().warning,
|
|
7948
|
+
bold: true
|
|
7949
|
+
}, _$p));
|
|
7950
|
+
return _el$119;
|
|
7951
|
+
})()), _$memo(() => _$memo(() => !!(runtime() && runtime().unknownStatusCount >= 3))() && (() => {
|
|
7952
|
+
var _el$122 = _$createElement("span");
|
|
7953
|
+
_$insertNode(_el$122, _$createTextNode(` \u2502 \u26A0\uFE0F UNREACHABLE`));
|
|
7954
|
+
_$effect((_$p) => _$setProp(_el$122, "style", {
|
|
7955
|
+
fg: theme().error,
|
|
7956
|
+
bold: true
|
|
7957
|
+
}, _$p));
|
|
7958
|
+
return _el$122;
|
|
7959
|
+
})()), _$memo(() => _$memo(() => !!(runtime() && runtime().phase === "idle" && runtime().activeRunID))() && (() => {
|
|
7960
|
+
var _el$124 = _$createElement("span");
|
|
7961
|
+
_$insertNode(_el$124, _$createTextNode(` \u2502 \u26A0\uFE0F STALE LEASE`));
|
|
7962
|
+
_$effect((_$p) => _$setProp(_el$124, "style", {
|
|
7963
|
+
fg: theme().error,
|
|
7964
|
+
bold: true
|
|
7965
|
+
}, _$p));
|
|
7966
|
+
return _el$124;
|
|
7967
|
+
})()), _$memo(() => _$memo(() => goal.interactive === true)() && (() => {
|
|
7968
|
+
var _el$126 = _$createElement("span");
|
|
7969
|
+
_$insertNode(_el$126, _$createTextNode(` \u2502 \u270B MANUAL`));
|
|
7970
|
+
_$effect((_$p) => _$setProp(_el$126, "style", {
|
|
7971
|
+
fg: theme().accent,
|
|
7972
|
+
bold: true
|
|
7973
|
+
}, _$p));
|
|
7974
|
+
return _el$126;
|
|
7975
|
+
})()), _$memo(() => _$memo(() => !!goal.config.model)() && (() => {
|
|
7976
|
+
var _el$128 = _$createElement("span"), _el$129 = _$createTextNode(` \u2502 \uD83E\uDDE0 `);
|
|
7977
|
+
_$insertNode(_el$128, _el$129);
|
|
7978
|
+
_$insert(_el$128, () => goal.config.model, null);
|
|
7979
|
+
_$effect((_$p) => _$setProp(_el$128, "style", {
|
|
7980
|
+
fg: theme().info
|
|
7981
|
+
}, _$p));
|
|
7982
|
+
return _el$128;
|
|
7983
|
+
})()), _$memo(() => _$memo(() => !!goal.config.agent)() && (() => {
|
|
7984
|
+
var _el$130 = _$createElement("span"), _el$131 = _$createTextNode(` \u2502 \uD83E\uDD16 `);
|
|
7985
|
+
_$insertNode(_el$130, _el$131);
|
|
7986
|
+
_$insert(_el$130, () => goal.config.agent, null);
|
|
7987
|
+
_$effect((_$p) => _$setProp(_el$130, "style", {
|
|
7988
|
+
fg: theme().info
|
|
7989
|
+
}, _$p));
|
|
7990
|
+
return _el$130;
|
|
7991
|
+
})()), _$memo(() => _$memo(() => !!(runtime() && runtime().retryAfter))() && (() => {
|
|
7992
|
+
var _el$132 = _$createElement("span"), _el$133 = _$createTextNode(` \u2502 \u21BB `);
|
|
7993
|
+
_$insertNode(_el$132, _el$133);
|
|
7994
|
+
_$insert(_el$132, () => countdownLabel(runtime().retryAfter, clock()), null);
|
|
7995
|
+
_$effect((_$p) => _$setProp(_el$132, "style", {
|
|
7996
|
+
fg: theme().accent
|
|
7997
|
+
}, _$p));
|
|
7998
|
+
return _el$132;
|
|
7999
|
+
})()), _$memo(() => _$memo(() => !!(runtime() && runtime().nextRunAt))() && (() => {
|
|
8000
|
+
var _el$134 = _$createElement("span"), _el$135 = _$createTextNode(` \u2502 \u23F0 `);
|
|
8001
|
+
_$insertNode(_el$134, _el$135);
|
|
8002
|
+
_$insert(_el$134, () => countdownLabel(runtime().nextRunAt, clock()), null);
|
|
8003
|
+
_$effect((_$p) => _$setProp(_el$134, "style", {
|
|
8004
|
+
fg: theme().accent
|
|
8005
|
+
}, _$p));
|
|
8006
|
+
return _el$134;
|
|
8007
|
+
})())];
|
|
8008
|
+
}
|
|
8009
|
+
});
|
|
8010
|
+
}
|
|
8011
|
+
});
|
|
8013
8012
|
}
|
|
8014
|
-
})
|
|
8015
|
-
_$effect((_$p) => _$setProp(_el$43, "height", listHeight(), _$p));
|
|
8016
|
-
return _el$43;
|
|
8013
|
+
});
|
|
8017
8014
|
}
|
|
8018
8015
|
}), _$createComponent(Show, {
|
|
8019
8016
|
get when() {
|
|
@@ -8024,604 +8021,633 @@ function LoopDashboard(props) {
|
|
|
8024
8021
|
const lp = () => goal().lastProgress;
|
|
8025
8022
|
const blk = () => goal().blocker;
|
|
8026
8023
|
return (() => {
|
|
8027
|
-
var _el$
|
|
8028
|
-
`), _el$
|
|
8029
|
-
`), _el$
|
|
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);
|
|
8024
|
+
var _el$136 = _$createElement("box"), _el$137 = _$createElement("text"), _el$138 = _$createElement("span"), _el$139 = _$createTextNode(` `), _el$140 = _$createElement("span"), _el$142 = _$createElement("span"), _el$143 = _$createTextNode(` \u2014 `), _el$144 = _$createTextNode(`
|
|
8025
|
+
`), _el$145 = _$createElement("span"), _el$146 = _$createTextNode(`
|
|
8026
|
+
`), _el$147 = _$createElement("span"), _el$149 = _$createElement("span");
|
|
8036
8027
|
_$insertNode(_el$136, _el$137);
|
|
8037
|
-
_$
|
|
8038
|
-
_$
|
|
8039
|
-
_$
|
|
8040
|
-
_$
|
|
8041
|
-
_$
|
|
8042
|
-
_$insertNode(_el$136, _el$146);
|
|
8043
|
-
_$insertNode(_el$136, _el$148);
|
|
8028
|
+
_$setProp(_el$136, "flexDirection", "column");
|
|
8029
|
+
_$setProp(_el$136, "border", true);
|
|
8030
|
+
_$setProp(_el$136, "padding", 1);
|
|
8031
|
+
_$setProp(_el$136, "flexShrink", 0);
|
|
8032
|
+
_$setProp(_el$136, "maxHeight", 13);
|
|
8044
8033
|
_$insertNode(_el$137, _el$138);
|
|
8045
|
-
_$
|
|
8046
|
-
_$
|
|
8047
|
-
_$insertNode(_el$
|
|
8048
|
-
_$insertNode(_el$
|
|
8049
|
-
_$
|
|
8050
|
-
_$
|
|
8051
|
-
_$
|
|
8052
|
-
|
|
8053
|
-
|
|
8054
|
-
|
|
8055
|
-
|
|
8056
|
-
|
|
8034
|
+
_$insertNode(_el$137, _el$140);
|
|
8035
|
+
_$insertNode(_el$137, _el$142);
|
|
8036
|
+
_$insertNode(_el$137, _el$144);
|
|
8037
|
+
_$insertNode(_el$137, _el$145);
|
|
8038
|
+
_$insertNode(_el$137, _el$146);
|
|
8039
|
+
_$insertNode(_el$137, _el$147);
|
|
8040
|
+
_$insertNode(_el$137, _el$149);
|
|
8041
|
+
_$insertNode(_el$138, _el$139);
|
|
8042
|
+
_$insert(_el$138, () => statusIcon(goal().status), _el$139);
|
|
8043
|
+
_$insert(_el$138, () => goal().name, null);
|
|
8044
|
+
_$insertNode(_el$140, _$createTextNode(` Goal `));
|
|
8045
|
+
_$insertNode(_el$142, _el$143);
|
|
8046
|
+
_$insert(_el$142, () => goalStatusLabel(goal().status).short, _el$143);
|
|
8047
|
+
_$insert(_el$142, () => goalStatusLabel(goal().status).hint, null);
|
|
8048
|
+
_$insert(_el$137, (() => {
|
|
8049
|
+
var _c$4 = _$memo(() => !!rt());
|
|
8050
|
+
return () => _c$4() && [(() => {
|
|
8051
|
+
var _el$150 = _$createElement("span");
|
|
8052
|
+
_$insertNode(_el$150, _$createTextNode(` \u2502 Worker `));
|
|
8053
|
+
_$effect((_$p) => _$setProp(_el$150, "style", {
|
|
8057
8054
|
fg: theme().textMuted
|
|
8058
8055
|
}, _$p));
|
|
8059
|
-
return _el$
|
|
8056
|
+
return _el$150;
|
|
8060
8057
|
})(), (() => {
|
|
8061
|
-
var _el$
|
|
8062
|
-
_$insertNode(_el$
|
|
8063
|
-
_$insertNode(_el$
|
|
8064
|
-
_$insert(_el$
|
|
8065
|
-
_$insert(_el$
|
|
8066
|
-
_$insert(_el$
|
|
8067
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8058
|
+
var _el$152 = _$createElement("span"), _el$153 = _$createTextNode(` `), _el$154 = _$createTextNode(` \u2014 `);
|
|
8059
|
+
_$insertNode(_el$152, _el$153);
|
|
8060
|
+
_$insertNode(_el$152, _el$154);
|
|
8061
|
+
_$insert(_el$152, () => phaseIcon(rt().phase), _el$153);
|
|
8062
|
+
_$insert(_el$152, () => phaseLabel(rt().phase).short, _el$154);
|
|
8063
|
+
_$insert(_el$152, () => phaseLabel(rt().phase).hint, null);
|
|
8064
|
+
_$effect((_$p) => _$setProp(_el$152, "style", {
|
|
8068
8065
|
fg: phaseColor(rt().phase, theme()),
|
|
8069
8066
|
bold: true
|
|
8070
8067
|
}, _$p));
|
|
8071
|
-
return _el$
|
|
8068
|
+
return _el$152;
|
|
8072
8069
|
})(), (() => {
|
|
8073
|
-
var _el$
|
|
8074
|
-
_$insertNode(_el$
|
|
8075
|
-
_$insertNode(_el$
|
|
8076
|
-
_$insertNode(_el$
|
|
8077
|
-
_$insert(_el$
|
|
8078
|
-
_$insert(_el$
|
|
8079
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8070
|
+
var _el$155 = _$createElement("span"), _el$156 = _$createTextNode(` run `), _el$157 = _$createTextNode(` (budget `), _el$158 = _$createTextNode(`)`);
|
|
8071
|
+
_$insertNode(_el$155, _el$156);
|
|
8072
|
+
_$insertNode(_el$155, _el$157);
|
|
8073
|
+
_$insertNode(_el$155, _el$158);
|
|
8074
|
+
_$insert(_el$155, () => rt().runCount, _el$157);
|
|
8075
|
+
_$insert(_el$155, () => rt().budgetTurnCount, _el$158);
|
|
8076
|
+
_$effect((_$p) => _$setProp(_el$155, "style", {
|
|
8080
8077
|
fg: theme().textMuted
|
|
8081
8078
|
}, _$p));
|
|
8082
|
-
return _el$
|
|
8079
|
+
return _el$155;
|
|
8083
8080
|
})()];
|
|
8084
|
-
})(), _el$
|
|
8085
|
-
_$insert(_el$
|
|
8086
|
-
_$insert(_el$
|
|
8087
|
-
var _c$
|
|
8088
|
-
return () => _c$
|
|
8089
|
-
var _el$
|
|
8090
|
-
_$insertNode(_el$
|
|
8091
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8081
|
+
})(), _el$144);
|
|
8082
|
+
_$insert(_el$145, () => describeGoalState(goal().status, rt()?.phase));
|
|
8083
|
+
_$insert(_el$137, (() => {
|
|
8084
|
+
var _c$5 = _$memo(() => !!rt()?.workerAbortedAt);
|
|
8085
|
+
return () => _c$5() && [(() => {
|
|
8086
|
+
var _el$159 = _$createElement("span");
|
|
8087
|
+
_$insertNode(_el$159, _$createTextNode(` \u2502 \u26A0 worker aborted `));
|
|
8088
|
+
_$effect((_$p) => _$setProp(_el$159, "style", {
|
|
8092
8089
|
fg: theme().warning,
|
|
8093
8090
|
bold: true
|
|
8094
8091
|
}, _$p));
|
|
8095
|
-
return _el$
|
|
8092
|
+
return _el$159;
|
|
8096
8093
|
})(), (() => {
|
|
8097
|
-
var _el$
|
|
8098
|
-
_$insertNode(_el$
|
|
8099
|
-
_$insert(_el$
|
|
8100
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8094
|
+
var _el$161 = _$createElement("span"), _el$162 = _$createTextNode(` \u2014 session kept, next turn reuses it`);
|
|
8095
|
+
_$insertNode(_el$161, _el$162);
|
|
8096
|
+
_$insert(_el$161, () => ageLabel(rt().workerAbortedAt, clock()), _el$162);
|
|
8097
|
+
_$effect((_$p) => _$setProp(_el$161, "style", {
|
|
8101
8098
|
fg: theme().textMuted
|
|
8102
8099
|
}, _$p));
|
|
8103
|
-
return _el$
|
|
8100
|
+
return _el$161;
|
|
8104
8101
|
})()];
|
|
8105
|
-
})(), _el$
|
|
8106
|
-
_$insert(_el$
|
|
8102
|
+
})(), _el$146);
|
|
8103
|
+
_$insert(_el$137, () => {
|
|
8107
8104
|
const agentName = goal().config.agent;
|
|
8108
8105
|
const meta = agentName ? agentIndex()[agentName] ?? agentIndex()[agentName.toLowerCase()] : undefined;
|
|
8109
8106
|
const model = goal().config.model;
|
|
8110
8107
|
const slash = model?.indexOf("/") ?? -1;
|
|
8111
8108
|
return [`
|
|
8112
8109
|
`, (() => {
|
|
8113
|
-
var _el$
|
|
8114
|
-
_$insertNode(_el$
|
|
8115
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8110
|
+
var _el$163 = _$createElement("span");
|
|
8111
|
+
_$insertNode(_el$163, _$createTextNode(`\uD83E\uDD16 `));
|
|
8112
|
+
_$effect((_$p) => _$setProp(_el$163, "style", {
|
|
8116
8113
|
fg: theme().textMuted
|
|
8117
8114
|
}, _$p));
|
|
8118
|
-
return _el$
|
|
8115
|
+
return _el$163;
|
|
8119
8116
|
})(), (() => {
|
|
8120
|
-
var _el$
|
|
8121
|
-
_$insertNode(_el$
|
|
8122
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8117
|
+
var _el$165 = _$createElement("span");
|
|
8118
|
+
_$insertNode(_el$165, _$createTextNode(`Agent: `));
|
|
8119
|
+
_$effect((_$p) => _$setProp(_el$165, "style", {
|
|
8123
8120
|
fg: theme().primary,
|
|
8124
8121
|
bold: true
|
|
8125
8122
|
}, _$p));
|
|
8126
|
-
return _el$
|
|
8123
|
+
return _el$165;
|
|
8127
8124
|
})(), _$memo(() => agentName ? [(() => {
|
|
8128
|
-
var _el$
|
|
8129
|
-
_$insert(_el$
|
|
8130
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8125
|
+
var _el$181 = _$createElement("span");
|
|
8126
|
+
_$insert(_el$181, agentName);
|
|
8127
|
+
_$effect((_$p) => _$setProp(_el$181, "style", {
|
|
8131
8128
|
fg: agentColor(meta?.color, theme()),
|
|
8132
8129
|
bold: true
|
|
8133
8130
|
}, _$p));
|
|
8134
|
-
return _el$
|
|
8131
|
+
return _el$181;
|
|
8135
8132
|
})(), _$memo(() => _$memo(() => !!meta?.mode)() && (() => {
|
|
8136
|
-
var _el$
|
|
8137
|
-
_$insertNode(_el$
|
|
8138
|
-
_$insertNode(_el$
|
|
8139
|
-
_$insert(_el$
|
|
8140
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8133
|
+
var _el$182 = _$createElement("span"), _el$183 = _$createTextNode(` (`), _el$184 = _$createTextNode(`)`);
|
|
8134
|
+
_$insertNode(_el$182, _el$183);
|
|
8135
|
+
_$insertNode(_el$182, _el$184);
|
|
8136
|
+
_$insert(_el$182, () => meta.mode, _el$184);
|
|
8137
|
+
_$effect((_$p) => _$setProp(_el$182, "style", {
|
|
8141
8138
|
fg: theme().textMuted
|
|
8142
8139
|
}, _$p));
|
|
8143
|
-
return _el$
|
|
8140
|
+
return _el$182;
|
|
8144
8141
|
})())] : goal().parentAgent ? [(() => {
|
|
8145
|
-
var _el$
|
|
8146
|
-
_$insertNode(_el$
|
|
8147
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8142
|
+
var _el$185 = _$createElement("span");
|
|
8143
|
+
_$insertNode(_el$185, _$createTextNode(`\u21A9 `));
|
|
8144
|
+
_$effect((_$p) => _$setProp(_el$185, "style", {
|
|
8148
8145
|
fg: theme().textMuted
|
|
8149
8146
|
}, _$p));
|
|
8150
|
-
return _el$
|
|
8147
|
+
return _el$185;
|
|
8151
8148
|
})(), (() => {
|
|
8152
|
-
var _el$
|
|
8153
|
-
_$insert(_el$
|
|
8154
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8149
|
+
var _el$187 = _$createElement("span");
|
|
8150
|
+
_$insert(_el$187, () => goal().parentAgent);
|
|
8151
|
+
_$effect((_$p) => _$setProp(_el$187, "style", {
|
|
8155
8152
|
fg: theme().text,
|
|
8156
8153
|
bold: true
|
|
8157
8154
|
}, _$p));
|
|
8158
|
-
return _el$
|
|
8155
|
+
return _el$187;
|
|
8159
8156
|
})(), (() => {
|
|
8160
|
-
var _el$
|
|
8161
|
-
_$insertNode(_el$
|
|
8162
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8157
|
+
var _el$188 = _$createElement("span");
|
|
8158
|
+
_$insertNode(_el$188, _$createTextNode(` (parent)`));
|
|
8159
|
+
_$effect((_$p) => _$setProp(_el$188, "style", {
|
|
8163
8160
|
fg: theme().textMuted
|
|
8164
8161
|
}, _$p));
|
|
8165
|
-
return _el$
|
|
8162
|
+
return _el$188;
|
|
8166
8163
|
})()] : (() => {
|
|
8167
|
-
var _el$
|
|
8168
|
-
_$insertNode(_el$
|
|
8169
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8164
|
+
var _el$190 = _$createElement("span");
|
|
8165
|
+
_$insertNode(_el$190, _$createTextNode(`parent`));
|
|
8166
|
+
_$effect((_$p) => _$setProp(_el$190, "style", {
|
|
8170
8167
|
fg: theme().textMuted
|
|
8171
8168
|
}, _$p));
|
|
8172
|
-
return _el$
|
|
8169
|
+
return _el$190;
|
|
8173
8170
|
})()), (() => {
|
|
8174
|
-
var _el$
|
|
8175
|
-
_$insertNode(_el$
|
|
8176
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8171
|
+
var _el$167 = _$createElement("span");
|
|
8172
|
+
_$insertNode(_el$167, _$createTextNode(` \u2502 \uD83E\uDDE0 `));
|
|
8173
|
+
_$effect((_$p) => _$setProp(_el$167, "style", {
|
|
8177
8174
|
fg: theme().textMuted
|
|
8178
8175
|
}, _$p));
|
|
8179
|
-
return _el$
|
|
8176
|
+
return _el$167;
|
|
8180
8177
|
})(), (() => {
|
|
8181
|
-
var _el$
|
|
8182
|
-
_$insertNode(_el$
|
|
8183
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8178
|
+
var _el$169 = _$createElement("span");
|
|
8179
|
+
_$insertNode(_el$169, _$createTextNode(`Model: `));
|
|
8180
|
+
_$effect((_$p) => _$setProp(_el$169, "style", {
|
|
8184
8181
|
fg: theme().primary,
|
|
8185
8182
|
bold: true
|
|
8186
8183
|
}, _$p));
|
|
8187
|
-
return _el$
|
|
8184
|
+
return _el$169;
|
|
8188
8185
|
})(), _$memo(() => model && slash > 0 ? [(() => {
|
|
8189
|
-
var _el$
|
|
8190
|
-
_$insertNode(_el$
|
|
8191
|
-
_$insert(_el$
|
|
8192
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8186
|
+
var _el$192 = _$createElement("span"), _el$193 = _$createTextNode(`/`);
|
|
8187
|
+
_$insertNode(_el$192, _el$193);
|
|
8188
|
+
_$insert(_el$192, () => model.slice(0, slash), _el$193);
|
|
8189
|
+
_$effect((_$p) => _$setProp(_el$192, "style", {
|
|
8193
8190
|
fg: theme().textMuted
|
|
8194
8191
|
}, _$p));
|
|
8195
|
-
return _el$
|
|
8192
|
+
return _el$192;
|
|
8196
8193
|
})(), (() => {
|
|
8197
|
-
var _el$
|
|
8198
|
-
_$insert(_el$
|
|
8199
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8194
|
+
var _el$194 = _$createElement("span");
|
|
8195
|
+
_$insert(_el$194, () => model.slice(slash + 1));
|
|
8196
|
+
_$effect((_$p) => _$setProp(_el$194, "style", {
|
|
8200
8197
|
fg: theme().info,
|
|
8201
8198
|
bold: true
|
|
8202
8199
|
}, _$p));
|
|
8203
|
-
return _el$
|
|
8200
|
+
return _el$194;
|
|
8204
8201
|
})()] : goal().parentModel ? [(() => {
|
|
8205
|
-
var _el$
|
|
8206
|
-
_$insertNode(_el$
|
|
8207
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8202
|
+
var _el$195 = _$createElement("span");
|
|
8203
|
+
_$insertNode(_el$195, _$createTextNode(`\u21A9 `));
|
|
8204
|
+
_$effect((_$p) => _$setProp(_el$195, "style", {
|
|
8208
8205
|
fg: theme().textMuted
|
|
8209
8206
|
}, _$p));
|
|
8210
|
-
return _el$
|
|
8207
|
+
return _el$195;
|
|
8211
8208
|
})(), (() => {
|
|
8212
|
-
var _el$
|
|
8213
|
-
_$insert(_el$
|
|
8214
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8209
|
+
var _el$197 = _$createElement("span");
|
|
8210
|
+
_$insert(_el$197, () => goal().parentModel);
|
|
8211
|
+
_$effect((_$p) => _$setProp(_el$197, "style", {
|
|
8215
8212
|
fg: theme().info,
|
|
8216
8213
|
bold: true
|
|
8217
8214
|
}, _$p));
|
|
8218
|
-
return _el$
|
|
8215
|
+
return _el$197;
|
|
8219
8216
|
})(), (() => {
|
|
8220
|
-
var _el$
|
|
8221
|
-
_$insertNode(_el$
|
|
8222
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8217
|
+
var _el$198 = _$createElement("span");
|
|
8218
|
+
_$insertNode(_el$198, _$createTextNode(` (parent)`));
|
|
8219
|
+
_$effect((_$p) => _$setProp(_el$198, "style", {
|
|
8223
8220
|
fg: theme().textMuted
|
|
8224
8221
|
}, _$p));
|
|
8225
|
-
return _el$
|
|
8222
|
+
return _el$198;
|
|
8226
8223
|
})()] : (() => {
|
|
8227
|
-
var _el$
|
|
8228
|
-
_$insertNode(_el$
|
|
8229
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8224
|
+
var _el$200 = _$createElement("span");
|
|
8225
|
+
_$insertNode(_el$200, _$createTextNode(`parent`));
|
|
8226
|
+
_$effect((_$p) => _$setProp(_el$200, "style", {
|
|
8230
8227
|
fg: theme().textMuted
|
|
8231
8228
|
}, _$p));
|
|
8232
|
-
return _el$
|
|
8229
|
+
return _el$200;
|
|
8233
8230
|
})()), (() => {
|
|
8234
|
-
var _el$
|
|
8235
|
-
_$insertNode(_el$
|
|
8236
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8231
|
+
var _el$171 = _$createElement("span");
|
|
8232
|
+
_$insertNode(_el$171, _$createTextNode(` \u2502 \uD83D\uDCB0 `));
|
|
8233
|
+
_$effect((_$p) => _$setProp(_el$171, "style", {
|
|
8237
8234
|
fg: theme().textMuted
|
|
8238
8235
|
}, _$p));
|
|
8239
|
-
return _el$
|
|
8236
|
+
return _el$171;
|
|
8240
8237
|
})(), (() => {
|
|
8241
|
-
var _el$
|
|
8242
|
-
_$insertNode(_el$
|
|
8243
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8238
|
+
var _el$173 = _$createElement("span");
|
|
8239
|
+
_$insertNode(_el$173, _$createTextNode(`Spent: `));
|
|
8240
|
+
_$effect((_$p) => _$setProp(_el$173, "style", {
|
|
8244
8241
|
fg: theme().primary,
|
|
8245
8242
|
bold: true
|
|
8246
8243
|
}, _$p));
|
|
8247
|
-
return _el$
|
|
8244
|
+
return _el$173;
|
|
8248
8245
|
})(), (() => {
|
|
8249
|
-
var _el$
|
|
8250
|
-
_$insert(_el$
|
|
8251
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8246
|
+
var _el$175 = _$createElement("span");
|
|
8247
|
+
_$insert(_el$175, () => formatCost(goal().costUsed));
|
|
8248
|
+
_$effect((_$p) => _$setProp(_el$175, "style", {
|
|
8252
8249
|
fg: theme().success,
|
|
8253
8250
|
bold: true
|
|
8254
8251
|
}, _$p));
|
|
8255
|
-
return _el$
|
|
8252
|
+
return _el$175;
|
|
8256
8253
|
})(), (() => {
|
|
8257
|
-
var _el$
|
|
8258
|
-
_$insertNode(_el$
|
|
8259
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8254
|
+
var _el$176 = _$createElement("span");
|
|
8255
|
+
_$insertNode(_el$176, _$createTextNode(` \xB7 `));
|
|
8256
|
+
_$effect((_$p) => _$setProp(_el$176, "style", {
|
|
8260
8257
|
fg: theme().textMuted
|
|
8261
8258
|
}, _$p));
|
|
8262
|
-
return _el$
|
|
8259
|
+
return _el$176;
|
|
8263
8260
|
})(), (() => {
|
|
8264
|
-
var _el$
|
|
8265
|
-
_$insert(_el$
|
|
8266
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8261
|
+
var _el$178 = _$createElement("span");
|
|
8262
|
+
_$insert(_el$178, () => formatTokens(goal().tokensUsed));
|
|
8263
|
+
_$effect((_$p) => _$setProp(_el$178, "style", {
|
|
8267
8264
|
fg: theme().warning,
|
|
8268
8265
|
bold: true
|
|
8269
8266
|
}, _$p));
|
|
8270
|
-
return _el$
|
|
8267
|
+
return _el$178;
|
|
8271
8268
|
})(), (() => {
|
|
8272
|
-
var _el$
|
|
8273
|
-
_$insertNode(_el$
|
|
8274
|
-
_$insert(_el$
|
|
8275
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8269
|
+
var _el$179 = _$createElement("span"), _el$180 = _$createTextNode(` tokens \xB7 `);
|
|
8270
|
+
_$insertNode(_el$179, _el$180);
|
|
8271
|
+
_$insert(_el$179, () => formatDuration(goal().timeUsedSeconds), null);
|
|
8272
|
+
_$effect((_$p) => _$setProp(_el$179, "style", {
|
|
8276
8273
|
fg: theme().textMuted
|
|
8277
8274
|
}, _$p));
|
|
8278
|
-
return _el$
|
|
8275
|
+
return _el$179;
|
|
8279
8276
|
})()];
|
|
8280
|
-
}, _el$
|
|
8281
|
-
_$insertNode(_el$
|
|
8282
|
-
_$insert(_el$
|
|
8283
|
-
_$insert(_el$
|
|
8284
|
-
var _c$
|
|
8285
|
-
return () => _c$
|
|
8286
|
-
var _el$
|
|
8277
|
+
}, _el$146);
|
|
8278
|
+
_$insertNode(_el$147, _$createTextNode(`\uD83C\uDFAF Target: `));
|
|
8279
|
+
_$insert(_el$149, () => goal().objective.slice(0, 160));
|
|
8280
|
+
_$insert(_el$137, (() => {
|
|
8281
|
+
var _c$6 = _$memo(() => !!lp());
|
|
8282
|
+
return () => _c$6() && [(() => {
|
|
8283
|
+
var _el$202 = _$createElement("span"), _el$203 = _$createTextNode(`
|
|
8287
8284
|
\u2714 `);
|
|
8288
|
-
_$insertNode(_el$
|
|
8289
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8285
|
+
_$insertNode(_el$202, _el$203);
|
|
8286
|
+
_$effect((_$p) => _$setProp(_el$202, "style", {
|
|
8290
8287
|
fg: theme().success
|
|
8291
8288
|
}, _$p));
|
|
8292
|
-
return _el$
|
|
8289
|
+
return _el$202;
|
|
8293
8290
|
})(), (() => {
|
|
8294
|
-
var _el$
|
|
8295
|
-
_$insertNode(_el$
|
|
8296
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8291
|
+
var _el$205 = _$createElement("span");
|
|
8292
|
+
_$insertNode(_el$205, _$createTextNode(`Progress: `));
|
|
8293
|
+
_$effect((_$p) => _$setProp(_el$205, "style", {
|
|
8297
8294
|
fg: theme().success,
|
|
8298
8295
|
bold: true
|
|
8299
8296
|
}, _$p));
|
|
8300
|
-
return _el$
|
|
8297
|
+
return _el$205;
|
|
8301
8298
|
})(), (() => {
|
|
8302
|
-
var _el$
|
|
8303
|
-
_$insert(_el$
|
|
8304
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8299
|
+
var _el$207 = _$createElement("span");
|
|
8300
|
+
_$insert(_el$207, () => lp().summary.slice(0, 100));
|
|
8301
|
+
_$effect((_$p) => _$setProp(_el$207, "style", {
|
|
8305
8302
|
fg: theme().text
|
|
8306
8303
|
}, _$p));
|
|
8307
|
-
return _el$
|
|
8304
|
+
return _el$207;
|
|
8308
8305
|
})(), (() => {
|
|
8309
|
-
var _el$
|
|
8310
|
-
_$insertNode(_el$
|
|
8311
|
-
_$insert(_el$
|
|
8312
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8306
|
+
var _el$208 = _$createElement("span"), _el$209 = _$createTextNode(` \u2192 `);
|
|
8307
|
+
_$insertNode(_el$208, _el$209);
|
|
8308
|
+
_$insert(_el$208, () => lp().next?.slice(0, 60) || "", null);
|
|
8309
|
+
_$effect((_$p) => _$setProp(_el$208, "style", {
|
|
8313
8310
|
fg: theme().textMuted
|
|
8314
8311
|
}, _$p));
|
|
8315
|
-
return _el$
|
|
8312
|
+
return _el$208;
|
|
8316
8313
|
})()];
|
|
8317
8314
|
})(), null);
|
|
8318
|
-
_$insert(_el$
|
|
8319
|
-
var _c$
|
|
8320
|
-
return () => _c$
|
|
8321
|
-
var _el$
|
|
8315
|
+
_$insert(_el$137, (() => {
|
|
8316
|
+
var _c$7 = _$memo(() => !!blk());
|
|
8317
|
+
return () => _c$7() && [(() => {
|
|
8318
|
+
var _el$210 = _$createElement("span"), _el$211 = _$createTextNode(`
|
|
8322
8319
|
\u2716 Blocked: `);
|
|
8323
|
-
_$insertNode(_el$
|
|
8324
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8320
|
+
_$insertNode(_el$210, _el$211);
|
|
8321
|
+
_$effect((_$p) => _$setProp(_el$210, "style", {
|
|
8325
8322
|
fg: theme().error,
|
|
8326
8323
|
bold: true
|
|
8327
8324
|
}, _$p));
|
|
8328
|
-
return _el$
|
|
8325
|
+
return _el$210;
|
|
8329
8326
|
})(), (() => {
|
|
8330
|
-
var _el$
|
|
8331
|
-
_$insert(_el$
|
|
8332
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8327
|
+
var _el$213 = _$createElement("span");
|
|
8328
|
+
_$insert(_el$213, () => blk().reason.slice(0, 140));
|
|
8329
|
+
_$effect((_$p) => _$setProp(_el$213, "style", {
|
|
8333
8330
|
fg: theme().error
|
|
8334
8331
|
}, _$p));
|
|
8335
|
-
return _el$
|
|
8332
|
+
return _el$213;
|
|
8336
8333
|
})(), (() => {
|
|
8337
|
-
var _el$
|
|
8338
|
-
_$insertNode(_el$
|
|
8339
|
-
_$insert(_el$
|
|
8340
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8334
|
+
var _el$214 = _$createElement("span"), _el$215 = _$createTextNode(` \u2014 `);
|
|
8335
|
+
_$insertNode(_el$214, _el$215);
|
|
8336
|
+
_$insert(_el$214, () => blk().needed.slice(0, 60), null);
|
|
8337
|
+
_$effect((_$p) => _$setProp(_el$214, "style", {
|
|
8341
8338
|
fg: theme().textMuted
|
|
8342
8339
|
}, _$p));
|
|
8343
|
-
return _el$
|
|
8340
|
+
return _el$214;
|
|
8344
8341
|
})()];
|
|
8345
8342
|
})(), null);
|
|
8346
|
-
_$insert(_el$
|
|
8347
|
-
var _c$
|
|
8348
|
-
return () => _c$
|
|
8349
|
-
var _el$
|
|
8343
|
+
_$insert(_el$137, (() => {
|
|
8344
|
+
var _c$8 = _$memo(() => !!goal().config.artifactDir);
|
|
8345
|
+
return () => _c$8() && [(() => {
|
|
8346
|
+
var _el$216 = _$createElement("span"), _el$217 = _$createTextNode(`
|
|
8350
8347
|
\uD83D\uDCC1 `);
|
|
8351
|
-
_$insertNode(_el$
|
|
8352
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8348
|
+
_$insertNode(_el$216, _el$217);
|
|
8349
|
+
_$effect((_$p) => _$setProp(_el$216, "style", {
|
|
8353
8350
|
fg: theme().accent
|
|
8354
8351
|
}, _$p));
|
|
8355
|
-
return _el$
|
|
8352
|
+
return _el$216;
|
|
8356
8353
|
})(), (() => {
|
|
8357
|
-
var _el$
|
|
8358
|
-
_$insertNode(_el$
|
|
8359
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8354
|
+
var _el$219 = _$createElement("span");
|
|
8355
|
+
_$insertNode(_el$219, _$createTextNode(`Artifacts: `));
|
|
8356
|
+
_$effect((_$p) => _$setProp(_el$219, "style", {
|
|
8360
8357
|
fg: theme().accent,
|
|
8361
8358
|
bold: true
|
|
8362
8359
|
}, _$p));
|
|
8363
|
-
return _el$
|
|
8360
|
+
return _el$219;
|
|
8364
8361
|
})(), (() => {
|
|
8365
|
-
var _el$
|
|
8366
|
-
_$insert(_el$
|
|
8367
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8362
|
+
var _el$221 = _$createElement("span");
|
|
8363
|
+
_$insert(_el$221, () => String(goal().config.artifactDir).replace(String(props.directory), "."));
|
|
8364
|
+
_$effect((_$p) => _$setProp(_el$221, "style", {
|
|
8368
8365
|
fg: theme().textMuted
|
|
8369
8366
|
}, _$p));
|
|
8370
|
-
return _el$
|
|
8367
|
+
return _el$221;
|
|
8371
8368
|
})()];
|
|
8372
8369
|
})(), null);
|
|
8373
|
-
_$insert(_el$
|
|
8374
|
-
var _c$
|
|
8375
|
-
return () => _c$
|
|
8376
|
-
var _el$
|
|
8370
|
+
_$insert(_el$137, (() => {
|
|
8371
|
+
var _c$9 = _$memo(() => !!goal().workerTopology);
|
|
8372
|
+
return () => _c$9() && [(() => {
|
|
8373
|
+
var _el$222 = _$createElement("span"), _el$223 = _$createTextNode(`
|
|
8377
8374
|
\uD83C\uDF3F Worker: `);
|
|
8378
|
-
_$insertNode(_el$
|
|
8379
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8375
|
+
_$insertNode(_el$222, _el$223);
|
|
8376
|
+
_$effect((_$p) => _$setProp(_el$222, "style", {
|
|
8380
8377
|
fg: theme().textMuted
|
|
8381
8378
|
}, _$p));
|
|
8382
|
-
return _el$
|
|
8379
|
+
return _el$222;
|
|
8383
8380
|
})(), (() => {
|
|
8384
|
-
var _el$
|
|
8385
|
-
_$insert(_el$
|
|
8386
|
-
var _c$
|
|
8387
|
-
return () => _c$
|
|
8381
|
+
var _el$225 = _$createElement("span");
|
|
8382
|
+
_$insert(_el$225, (() => {
|
|
8383
|
+
var _c$17 = _$memo(() => goal().workerTopology === "v2-native-child");
|
|
8384
|
+
return () => _c$17() ? "native child" : goal().workerTopology === "v2-root-fallback" ? "root fallback" : "v1 child";
|
|
8388
8385
|
})());
|
|
8389
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8386
|
+
_$effect((_$p) => _$setProp(_el$225, "style", {
|
|
8390
8387
|
fg: theme().text
|
|
8391
8388
|
}, _$p));
|
|
8392
|
-
return _el$
|
|
8389
|
+
return _el$225;
|
|
8393
8390
|
})(), _$memo(() => _$memo(() => !!goal().nativeParentID)() ? (() => {
|
|
8394
|
-
var _el$
|
|
8395
|
-
_$insertNode(_el$
|
|
8396
|
-
_$insertNode(_el$
|
|
8397
|
-
_$insert(_el$
|
|
8398
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8391
|
+
var _el$226 = _$createElement("span"), _el$227 = _$createTextNode(` of `), _el$228 = _$createTextNode(`\u2026`);
|
|
8392
|
+
_$insertNode(_el$226, _el$227);
|
|
8393
|
+
_$insertNode(_el$226, _el$228);
|
|
8394
|
+
_$insert(_el$226, () => goal().nativeParentID.slice(0, 12), _el$228);
|
|
8395
|
+
_$effect((_$p) => _$setProp(_el$226, "style", {
|
|
8399
8396
|
fg: theme().textMuted
|
|
8400
8397
|
}, _$p));
|
|
8401
|
-
return _el$
|
|
8398
|
+
return _el$226;
|
|
8402
8399
|
})() : null)];
|
|
8403
8400
|
})(), null);
|
|
8404
|
-
_$insert(_el$
|
|
8405
|
-
var _c$
|
|
8406
|
-
return () => _c$
|
|
8407
|
-
var _el$
|
|
8401
|
+
_$insert(_el$137, (() => {
|
|
8402
|
+
var _c$0 = _$memo(() => goal().interactive === true);
|
|
8403
|
+
return () => _c$0() && [(() => {
|
|
8404
|
+
var _el$229 = _$createElement("span"), _el$230 = _$createTextNode(`
|
|
8408
8405
|
\u270B Manual: `);
|
|
8409
|
-
_$insertNode(_el$
|
|
8410
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8406
|
+
_$insertNode(_el$229, _el$230);
|
|
8407
|
+
_$effect((_$p) => _$setProp(_el$229, "style", {
|
|
8411
8408
|
fg: theme().accent,
|
|
8412
8409
|
bold: true
|
|
8413
8410
|
}, _$p));
|
|
8414
|
-
return _el$
|
|
8411
|
+
return _el$229;
|
|
8415
8412
|
})(), (() => {
|
|
8416
|
-
var _el$
|
|
8417
|
-
_$insertNode(_el$
|
|
8418
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8413
|
+
var _el$232 = _$createElement("span");
|
|
8414
|
+
_$insertNode(_el$232, _$createTextNode(`engine never starts turns \u2014 steer with :send/nudge (:interactive to re-enable auto)`));
|
|
8415
|
+
_$effect((_$p) => _$setProp(_el$232, "style", {
|
|
8419
8416
|
fg: theme().textMuted
|
|
8420
8417
|
}, _$p));
|
|
8421
|
-
return _el$
|
|
8418
|
+
return _el$232;
|
|
8422
8419
|
})()];
|
|
8423
8420
|
})(), null);
|
|
8424
|
-
_$insert(_el$
|
|
8425
|
-
var _c$
|
|
8426
|
-
return () => _c$
|
|
8427
|
-
var _el$
|
|
8421
|
+
_$insert(_el$137, (() => {
|
|
8422
|
+
var _c$1 = _$memo(() => !!goal().config.model);
|
|
8423
|
+
return () => _c$1() && [(() => {
|
|
8424
|
+
var _el$234 = _$createElement("span"), _el$235 = _$createTextNode(`
|
|
8428
8425
|
\uD83E\uDDE0 Model: `);
|
|
8429
|
-
_$insertNode(_el$
|
|
8430
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8426
|
+
_$insertNode(_el$234, _el$235);
|
|
8427
|
+
_$effect((_$p) => _$setProp(_el$234, "style", {
|
|
8431
8428
|
fg: theme().info,
|
|
8432
8429
|
bold: true
|
|
8433
8430
|
}, _$p));
|
|
8434
|
-
return _el$
|
|
8431
|
+
return _el$234;
|
|
8435
8432
|
})(), (() => {
|
|
8436
|
-
var _el$
|
|
8437
|
-
_$insert(_el$
|
|
8438
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8433
|
+
var _el$237 = _$createElement("span");
|
|
8434
|
+
_$insert(_el$237, () => goal().config.model);
|
|
8435
|
+
_$effect((_$p) => _$setProp(_el$237, "style", {
|
|
8439
8436
|
fg: theme().text
|
|
8440
8437
|
}, _$p));
|
|
8441
|
-
return _el$
|
|
8438
|
+
return _el$237;
|
|
8442
8439
|
})(), _$memo(() => _$memo(() => !!goal().modelSwitch?.pending)() ? (() => {
|
|
8443
|
-
var _el$
|
|
8444
|
-
_$insertNode(_el$
|
|
8445
|
-
_$insertNode(_el$
|
|
8446
|
-
_$insert(_el$
|
|
8447
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8440
|
+
var _el$238 = _$createElement("span"), _el$239 = _$createTextNode(` \u2192 pending `), _el$240 = _$createTextNode(` (applies next turn)`);
|
|
8441
|
+
_$insertNode(_el$238, _el$239);
|
|
8442
|
+
_$insertNode(_el$238, _el$240);
|
|
8443
|
+
_$insert(_el$238, () => goal().modelSwitch?.pending?.model, _el$240);
|
|
8444
|
+
_$effect((_$p) => _$setProp(_el$238, "style", {
|
|
8448
8445
|
fg: theme().warning
|
|
8449
8446
|
}, _$p));
|
|
8450
|
-
return _el$
|
|
8447
|
+
return _el$238;
|
|
8448
|
+
})() : null)];
|
|
8449
|
+
})(), null);
|
|
8450
|
+
_$insert(_el$137, (() => {
|
|
8451
|
+
var _c$10 = _$memo(() => !!goal().config.agent);
|
|
8452
|
+
return () => _c$10() && [(() => {
|
|
8453
|
+
var _el$241 = _$createElement("span"), _el$242 = _$createTextNode(`
|
|
8454
|
+
\uD83E\uDD16 Agent: `);
|
|
8455
|
+
_$insertNode(_el$241, _el$242);
|
|
8456
|
+
_$effect((_$p) => _$setProp(_el$241, "style", {
|
|
8457
|
+
fg: theme().info,
|
|
8458
|
+
bold: true
|
|
8459
|
+
}, _$p));
|
|
8460
|
+
return _el$241;
|
|
8461
|
+
})(), (() => {
|
|
8462
|
+
var _el$244 = _$createElement("span");
|
|
8463
|
+
_$insert(_el$244, () => goal().config.agent);
|
|
8464
|
+
_$effect((_$p) => _$setProp(_el$244, "style", {
|
|
8465
|
+
fg: theme().text
|
|
8466
|
+
}, _$p));
|
|
8467
|
+
return _el$244;
|
|
8468
|
+
})(), _$memo(() => _$memo(() => !!goal().agentSwitch?.pending)() ? (() => {
|
|
8469
|
+
var _el$245 = _$createElement("span"), _el$246 = _$createTextNode(` \u2192 pending `), _el$247 = _$createTextNode(` (applies next turn)`);
|
|
8470
|
+
_$insertNode(_el$245, _el$246);
|
|
8471
|
+
_$insertNode(_el$245, _el$247);
|
|
8472
|
+
_$insert(_el$245, () => goal().agentSwitch?.pending?.agent, _el$247);
|
|
8473
|
+
_$effect((_$p) => _$setProp(_el$245, "style", {
|
|
8474
|
+
fg: theme().warning
|
|
8475
|
+
}, _$p));
|
|
8476
|
+
return _el$245;
|
|
8451
8477
|
})() : null)];
|
|
8452
8478
|
})(), null);
|
|
8453
|
-
_$insert(_el$
|
|
8454
|
-
var _c$
|
|
8455
|
-
return () => _c$
|
|
8456
|
-
var _el$
|
|
8479
|
+
_$insert(_el$137, (() => {
|
|
8480
|
+
var _c$11 = _$memo(() => (goal().config.checks?.length ?? 0) > 0);
|
|
8481
|
+
return () => _c$11() ? [(() => {
|
|
8482
|
+
var _el$248 = _$createElement("span"), _el$249 = _$createTextNode(`
|
|
8457
8483
|
\u25A3 `);
|
|
8458
|
-
_$insertNode(_el$
|
|
8459
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8484
|
+
_$insertNode(_el$248, _el$249);
|
|
8485
|
+
_$effect((_$p) => _$setProp(_el$248, "style", {
|
|
8460
8486
|
fg: theme().warning
|
|
8461
8487
|
}, _$p));
|
|
8462
|
-
return _el$
|
|
8488
|
+
return _el$248;
|
|
8463
8489
|
})(), (() => {
|
|
8464
|
-
var _el$
|
|
8465
|
-
_$insertNode(_el$
|
|
8466
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8490
|
+
var _el$251 = _$createElement("span");
|
|
8491
|
+
_$insertNode(_el$251, _$createTextNode(`Checks: `));
|
|
8492
|
+
_$effect((_$p) => _$setProp(_el$251, "style", {
|
|
8467
8493
|
fg: theme().warning,
|
|
8468
8494
|
bold: true
|
|
8469
8495
|
}, _$p));
|
|
8470
|
-
return _el$
|
|
8496
|
+
return _el$251;
|
|
8471
8497
|
})(), (() => {
|
|
8472
|
-
var _el$
|
|
8473
|
-
_$insert(_el$
|
|
8474
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8498
|
+
var _el$253 = _$createElement("span");
|
|
8499
|
+
_$insert(_el$253, () => goal().config.checks.join(", ").slice(0, 100));
|
|
8500
|
+
_$effect((_$p) => _$setProp(_el$253, "style", {
|
|
8475
8501
|
fg: theme().textMuted
|
|
8476
8502
|
}, _$p));
|
|
8477
|
-
return _el$
|
|
8503
|
+
return _el$253;
|
|
8478
8504
|
})()] : null;
|
|
8479
8505
|
})(), null);
|
|
8480
|
-
_$insert(_el$
|
|
8481
|
-
var _c$
|
|
8482
|
-
return () => _c$
|
|
8483
|
-
var _el$
|
|
8506
|
+
_$insert(_el$137, (() => {
|
|
8507
|
+
var _c$12 = _$memo(() => rt()?.evaluatorRejectionCount > 0);
|
|
8508
|
+
return () => _c$12() && [(() => {
|
|
8509
|
+
var _el$254 = _$createElement("span"), _el$255 = _$createTextNode(`
|
|
8484
8510
|
\u26A0 rejections: `);
|
|
8485
|
-
_$insertNode(_el$
|
|
8486
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8511
|
+
_$insertNode(_el$254, _el$255);
|
|
8512
|
+
_$effect((_$p) => _$setProp(_el$254, "style", {
|
|
8487
8513
|
fg: theme().warning
|
|
8488
8514
|
}, _$p));
|
|
8489
|
-
return _el$
|
|
8515
|
+
return _el$254;
|
|
8490
8516
|
})(), (() => {
|
|
8491
|
-
var _el$
|
|
8492
|
-
_$insertNode(_el$
|
|
8493
|
-
_$insert(_el$
|
|
8494
|
-
_$insert(_el$
|
|
8495
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8517
|
+
var _el$257 = _$createElement("span"), _el$258 = _$createTextNode(` \u2014 `);
|
|
8518
|
+
_$insertNode(_el$257, _el$258);
|
|
8519
|
+
_$insert(_el$257, () => String(rt().evaluatorRejectionCount), _el$258);
|
|
8520
|
+
_$insert(_el$257, () => String(rt().lastRejectionDetails || "").slice(0, 80), null);
|
|
8521
|
+
_$effect((_$p) => _$setProp(_el$257, "style", {
|
|
8496
8522
|
fg: theme().warning
|
|
8497
8523
|
}, _$p));
|
|
8498
|
-
return _el$
|
|
8524
|
+
return _el$257;
|
|
8499
8525
|
})()];
|
|
8500
8526
|
})(), null);
|
|
8501
|
-
_$insert(_el$
|
|
8502
|
-
var _c$
|
|
8503
|
-
return () => _c$
|
|
8504
|
-
var _el$
|
|
8527
|
+
_$insert(_el$137, (() => {
|
|
8528
|
+
var _c$13 = _$memo(() => rt()?.unknownStatusCount > 0);
|
|
8529
|
+
return () => _c$13() && [(() => {
|
|
8530
|
+
var _el$259 = _$createElement("span"), _el$260 = _$createTextNode(`
|
|
8505
8531
|
\u26A0\uFE0F unreachable: `);
|
|
8506
|
-
_$insertNode(_el$
|
|
8507
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8532
|
+
_$insertNode(_el$259, _el$260);
|
|
8533
|
+
_$effect((_$p) => _$setProp(_el$259, "style", {
|
|
8508
8534
|
fg: theme().error
|
|
8509
8535
|
}, _$p));
|
|
8510
|
-
return _el$
|
|
8536
|
+
return _el$259;
|
|
8511
8537
|
})(), (() => {
|
|
8512
|
-
var _el$
|
|
8513
|
-
_$insertNode(_el$
|
|
8514
|
-
_$insert(_el$
|
|
8515
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8538
|
+
var _el$262 = _$createElement("span"), _el$263 = _$createTextNode(`/3`);
|
|
8539
|
+
_$insertNode(_el$262, _el$263);
|
|
8540
|
+
_$insert(_el$262, () => String(rt().unknownStatusCount), _el$263);
|
|
8541
|
+
_$effect((_$p) => _$setProp(_el$262, "style", {
|
|
8516
8542
|
fg: theme().error
|
|
8517
8543
|
}, _$p));
|
|
8518
|
-
return _el$
|
|
8544
|
+
return _el$262;
|
|
8519
8545
|
})(), (() => {
|
|
8520
|
-
var _el$
|
|
8521
|
-
_$insertNode(_el$
|
|
8522
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8546
|
+
var _el$264 = _$createElement("span");
|
|
8547
|
+
_$insertNode(_el$264, _$createTextNode(` \u2014 nudge to recover`));
|
|
8548
|
+
_$effect((_$p) => _$setProp(_el$264, "style", {
|
|
8523
8549
|
fg: theme().textMuted
|
|
8524
8550
|
}, _$p));
|
|
8525
|
-
return _el$
|
|
8551
|
+
return _el$264;
|
|
8526
8552
|
})()];
|
|
8527
8553
|
})(), null);
|
|
8528
|
-
_$insert(_el$
|
|
8529
|
-
var _c$
|
|
8530
|
-
return () => _c$
|
|
8531
|
-
var _el$
|
|
8554
|
+
_$insert(_el$137, (() => {
|
|
8555
|
+
var _c$14 = _$memo(() => !!rt()?.retryAfter);
|
|
8556
|
+
return () => _c$14() && [(() => {
|
|
8557
|
+
var _el$266 = _$createElement("span"), _el$267 = _$createTextNode(`
|
|
8532
8558
|
\u21BB retry in: `);
|
|
8533
|
-
_$insertNode(_el$
|
|
8534
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8559
|
+
_$insertNode(_el$266, _el$267);
|
|
8560
|
+
_$effect((_$p) => _$setProp(_el$266, "style", {
|
|
8535
8561
|
fg: theme().accent
|
|
8536
8562
|
}, _$p));
|
|
8537
|
-
return _el$
|
|
8563
|
+
return _el$266;
|
|
8538
8564
|
})(), (() => {
|
|
8539
|
-
var _el$
|
|
8540
|
-
_$insert(_el$
|
|
8541
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8565
|
+
var _el$269 = _$createElement("span");
|
|
8566
|
+
_$insert(_el$269, () => countdownLabel(rt().retryAfter, clock()));
|
|
8567
|
+
_$effect((_$p) => _$setProp(_el$269, "style", {
|
|
8542
8568
|
fg: theme().accent
|
|
8543
8569
|
}, _$p));
|
|
8544
|
-
return _el$
|
|
8570
|
+
return _el$269;
|
|
8545
8571
|
})()];
|
|
8546
8572
|
})(), null);
|
|
8547
|
-
_$insert(_el$
|
|
8548
|
-
var _c$
|
|
8549
|
-
return () => _c$
|
|
8550
|
-
var _el$
|
|
8573
|
+
_$insert(_el$137, (() => {
|
|
8574
|
+
var _c$15 = _$memo(() => !!rt()?.nextRunAt);
|
|
8575
|
+
return () => _c$15() && [(() => {
|
|
8576
|
+
var _el$270 = _$createElement("span"), _el$271 = _$createTextNode(`
|
|
8551
8577
|
\u23F0 next run: `);
|
|
8552
|
-
_$insertNode(_el$
|
|
8553
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8578
|
+
_$insertNode(_el$270, _el$271);
|
|
8579
|
+
_$effect((_$p) => _$setProp(_el$270, "style", {
|
|
8554
8580
|
fg: theme().accent
|
|
8555
8581
|
}, _$p));
|
|
8556
|
-
return _el$
|
|
8582
|
+
return _el$270;
|
|
8557
8583
|
})(), (() => {
|
|
8558
|
-
var _el$
|
|
8559
|
-
_$insert(_el$
|
|
8560
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8584
|
+
var _el$273 = _$createElement("span");
|
|
8585
|
+
_$insert(_el$273, () => countdownLabel(rt().nextRunAt, clock()));
|
|
8586
|
+
_$effect((_$p) => _$setProp(_el$273, "style", {
|
|
8561
8587
|
fg: theme().accent
|
|
8562
8588
|
}, _$p));
|
|
8563
|
-
return _el$
|
|
8589
|
+
return _el$273;
|
|
8564
8590
|
})(), (() => {
|
|
8565
|
-
var _el$
|
|
8566
|
-
_$insertNode(_el$
|
|
8567
|
-
_$insertNode(_el$
|
|
8568
|
-
_$insert(_el$
|
|
8569
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8591
|
+
var _el$274 = _$createElement("span"), _el$275 = _$createTextNode(` (`), _el$276 = _$createTextNode(` runs)`);
|
|
8592
|
+
_$insertNode(_el$274, _el$275);
|
|
8593
|
+
_$insertNode(_el$274, _el$276);
|
|
8594
|
+
_$insert(_el$274, () => String(rt().scheduleRunCount || 0), _el$276);
|
|
8595
|
+
_$effect((_$p) => _$setProp(_el$274, "style", {
|
|
8570
8596
|
fg: theme().textMuted
|
|
8571
8597
|
}, _$p));
|
|
8572
|
-
return _el$
|
|
8598
|
+
return _el$274;
|
|
8573
8599
|
})()];
|
|
8574
8600
|
})(), null);
|
|
8575
|
-
_$insert(_el$
|
|
8576
|
-
var _c$
|
|
8577
|
-
return () => _c$
|
|
8578
|
-
var _el$
|
|
8601
|
+
_$insert(_el$137, (() => {
|
|
8602
|
+
var _c$16 = _$memo(() => !!rt()?.lastError);
|
|
8603
|
+
return () => _c$16() && [(() => {
|
|
8604
|
+
var _el$277 = _$createElement("span"), _el$278 = _$createTextNode(`
|
|
8579
8605
|
\u26A0 `);
|
|
8580
|
-
_$insertNode(_el$
|
|
8581
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8606
|
+
_$insertNode(_el$277, _el$278);
|
|
8607
|
+
_$effect((_$p) => _$setProp(_el$277, "style", {
|
|
8582
8608
|
fg: theme().error
|
|
8583
8609
|
}, _$p));
|
|
8584
|
-
return _el$
|
|
8610
|
+
return _el$277;
|
|
8585
8611
|
})(), (() => {
|
|
8586
|
-
var _el$
|
|
8587
|
-
_$insertNode(_el$
|
|
8588
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8612
|
+
var _el$280 = _$createElement("span");
|
|
8613
|
+
_$insertNode(_el$280, _$createTextNode(`Error: `));
|
|
8614
|
+
_$effect((_$p) => _$setProp(_el$280, "style", {
|
|
8589
8615
|
fg: theme().error,
|
|
8590
8616
|
bold: true
|
|
8591
8617
|
}, _$p));
|
|
8592
|
-
return _el$
|
|
8618
|
+
return _el$280;
|
|
8593
8619
|
})(), (() => {
|
|
8594
|
-
var _el$
|
|
8595
|
-
_$insert(_el$
|
|
8596
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8620
|
+
var _el$282 = _$createElement("span");
|
|
8621
|
+
_$insert(_el$282, () => rt().lastError.slice(0, 120));
|
|
8622
|
+
_$effect((_$p) => _$setProp(_el$282, "style", {
|
|
8597
8623
|
fg: theme().error
|
|
8598
8624
|
}, _$p));
|
|
8599
|
-
return _el$
|
|
8625
|
+
return _el$282;
|
|
8600
8626
|
})()];
|
|
8601
8627
|
})(), null);
|
|
8602
8628
|
_$effect((_p$) => {
|
|
8603
|
-
var _v$
|
|
8629
|
+
var _v$38 = borderColorForStatus(goal().status, theme()), _v$39 = {
|
|
8604
8630
|
fg: statusColor(goal().status, theme()),
|
|
8605
8631
|
bold: true
|
|
8606
|
-
}, _v$
|
|
8632
|
+
}, _v$40 = {
|
|
8607
8633
|
fg: theme().textMuted
|
|
8608
|
-
}, _v$
|
|
8634
|
+
}, _v$41 = {
|
|
8609
8635
|
fg: statusColor(goal().status, theme())
|
|
8610
|
-
}, _v$
|
|
8636
|
+
}, _v$42 = {
|
|
8611
8637
|
fg: theme().textMuted
|
|
8612
|
-
}, _v$
|
|
8638
|
+
}, _v$43 = {
|
|
8613
8639
|
fg: theme().primary,
|
|
8614
8640
|
bold: true
|
|
8615
|
-
}, _v$
|
|
8641
|
+
}, _v$44 = {
|
|
8616
8642
|
fg: theme().text
|
|
8617
8643
|
};
|
|
8618
|
-
_v$
|
|
8619
|
-
_v$
|
|
8620
|
-
_v$
|
|
8621
|
-
_v$
|
|
8622
|
-
_v$
|
|
8623
|
-
_v$
|
|
8624
|
-
_v$
|
|
8644
|
+
_v$38 !== _p$.e && (_p$.e = _$setProp(_el$136, "borderColor", _v$38, _p$.e));
|
|
8645
|
+
_v$39 !== _p$.t && (_p$.t = _$setProp(_el$138, "style", _v$39, _p$.t));
|
|
8646
|
+
_v$40 !== _p$.a && (_p$.a = _$setProp(_el$140, "style", _v$40, _p$.a));
|
|
8647
|
+
_v$41 !== _p$.o && (_p$.o = _$setProp(_el$142, "style", _v$41, _p$.o));
|
|
8648
|
+
_v$42 !== _p$.i && (_p$.i = _$setProp(_el$145, "style", _v$42, _p$.i));
|
|
8649
|
+
_v$43 !== _p$.n && (_p$.n = _$setProp(_el$147, "style", _v$43, _p$.n));
|
|
8650
|
+
_v$44 !== _p$.s && (_p$.s = _$setProp(_el$149, "style", _v$44, _p$.s));
|
|
8625
8651
|
return _p$;
|
|
8626
8652
|
}, {
|
|
8627
8653
|
e: undefined,
|
|
@@ -8632,13 +8658,13 @@ function LoopDashboard(props) {
|
|
|
8632
8658
|
n: undefined,
|
|
8633
8659
|
s: undefined
|
|
8634
8660
|
});
|
|
8635
|
-
return _el$
|
|
8661
|
+
return _el$136;
|
|
8636
8662
|
})();
|
|
8637
8663
|
}
|
|
8638
8664
|
})];
|
|
8639
8665
|
}
|
|
8640
8666
|
}), null);
|
|
8641
|
-
_$insert(_el$
|
|
8667
|
+
_$insert(_el$42, _$createComponent(Show, {
|
|
8642
8668
|
get when() {
|
|
8643
8669
|
return tab() === "commands";
|
|
8644
8670
|
},
|
|
@@ -8649,94 +8675,94 @@ function LoopDashboard(props) {
|
|
|
8649
8675
|
},
|
|
8650
8676
|
get fallback() {
|
|
8651
8677
|
return (() => {
|
|
8652
|
-
var _el$
|
|
8653
|
-
_$insertNode(_el$
|
|
8654
|
-
_$insertNode(_el$
|
|
8655
|
-
_$setProp(_el$
|
|
8656
|
-
_$setProp(_el$
|
|
8657
|
-
_$setProp(_el$
|
|
8658
|
-
_$insertNode(_el$
|
|
8659
|
-
_$insertNode(_el$
|
|
8660
|
-
_$insertNode(_el$
|
|
8661
|
-
_$insertNode(_el$
|
|
8662
|
-
_$insertNode(_el$
|
|
8663
|
-
_$insert(_el$
|
|
8664
|
-
var _c$
|
|
8665
|
-
return () => _c$
|
|
8666
|
-
})(), _el$
|
|
8667
|
-
_$insertNode(_el$
|
|
8668
|
-
_$insertNode(_el$
|
|
8669
|
-
_$insert(_el$
|
|
8670
|
-
_$insert(_el$
|
|
8671
|
-
var _c$
|
|
8672
|
-
return () => _c$
|
|
8673
|
-
var _el$
|
|
8674
|
-
_$insertNode(_el$
|
|
8675
|
-
_$insertNode(_el$
|
|
8676
|
-
_$insertNode(_el$
|
|
8677
|
-
_$insertNode(_el$
|
|
8678
|
+
var _el$283 = _$createElement("box"), _el$284 = _$createElement("text"), _el$285 = _$createElement("span"), _el$286 = _$createTextNode(`No live command sessions`), _el$287 = _$createTextNode(`. `), _el$288 = _$createElement("span"), _el$290 = _$createElement("span"), _el$291 = _$createTextNode(` to start one`), _el$292 = _$createElement("text"), _el$293 = _$createElement("span"), _el$295 = _$createElement("span"), _el$297 = _$createElement("span"), _el$299 = _$createElement("span"), _el$301 = _$createElement("span"), _el$303 = _$createElement("span"), _el$305 = _$createElement("span");
|
|
8679
|
+
_$insertNode(_el$283, _el$284);
|
|
8680
|
+
_$insertNode(_el$283, _el$292);
|
|
8681
|
+
_$setProp(_el$283, "flexDirection", "column");
|
|
8682
|
+
_$setProp(_el$283, "gap", 1);
|
|
8683
|
+
_$setProp(_el$283, "padding", 1);
|
|
8684
|
+
_$insertNode(_el$284, _el$285);
|
|
8685
|
+
_$insertNode(_el$284, _el$288);
|
|
8686
|
+
_$insertNode(_el$284, _el$290);
|
|
8687
|
+
_$insertNode(_el$285, _el$286);
|
|
8688
|
+
_$insertNode(_el$285, _el$287);
|
|
8689
|
+
_$insert(_el$285, (() => {
|
|
8690
|
+
var _c$18 = _$memo(() => hiddenFinishedCommands() > 0);
|
|
8691
|
+
return () => _c$18() ? ` \u2014 ${hiddenFinishedCommands()} finished hidden` : "";
|
|
8692
|
+
})(), _el$287);
|
|
8693
|
+
_$insertNode(_el$288, _$createTextNode(`:new <command>`));
|
|
8694
|
+
_$insertNode(_el$290, _el$291);
|
|
8695
|
+
_$insert(_el$290, () => hiddenFinishedCommands() > 0 ? ", or " : "; ", null);
|
|
8696
|
+
_$insert(_el$284, (() => {
|
|
8697
|
+
var _c$19 = _$memo(() => hiddenFinishedCommands() > 0);
|
|
8698
|
+
return () => _c$19() && (() => {
|
|
8699
|
+
var _el$307 = _$createElement("span"), _el$308 = _$createElement("span"), _el$310 = _$createElement("span");
|
|
8700
|
+
_$insertNode(_el$307, _el$308);
|
|
8701
|
+
_$insertNode(_el$307, _el$310);
|
|
8702
|
+
_$insertNode(_el$308, _$createTextNode(`c`));
|
|
8703
|
+
_$insertNode(_el$310, _$createTextNode(` to show finished.`));
|
|
8678
8704
|
_$effect((_p$) => {
|
|
8679
|
-
var _v$
|
|
8705
|
+
var _v$55 = {
|
|
8680
8706
|
fg: theme().warning
|
|
8681
|
-
}, _v$
|
|
8707
|
+
}, _v$56 = {
|
|
8682
8708
|
fg: theme().textMuted
|
|
8683
8709
|
};
|
|
8684
|
-
_v$
|
|
8685
|
-
_v$
|
|
8710
|
+
_v$55 !== _p$.e && (_p$.e = _$setProp(_el$308, "style", _v$55, _p$.e));
|
|
8711
|
+
_v$56 !== _p$.t && (_p$.t = _$setProp(_el$310, "style", _v$56, _p$.t));
|
|
8686
8712
|
return _p$;
|
|
8687
8713
|
}, {
|
|
8688
8714
|
e: undefined,
|
|
8689
8715
|
t: undefined
|
|
8690
8716
|
});
|
|
8691
|
-
return _el$
|
|
8717
|
+
return _el$307;
|
|
8692
8718
|
})();
|
|
8693
8719
|
})(), null);
|
|
8694
|
-
_$insertNode(_el$
|
|
8695
|
-
_$insertNode(_el$
|
|
8696
|
-
_$insertNode(_el$
|
|
8697
|
-
_$insertNode(_el$
|
|
8698
|
-
_$insertNode(_el$
|
|
8699
|
-
_$insertNode(_el$
|
|
8700
|
-
_$insertNode(_el$
|
|
8701
|
-
_$insertNode(_el$
|
|
8702
|
-
_$insertNode(_el$
|
|
8703
|
-
_$insertNode(_el$
|
|
8704
|
-
_$insertNode(_el$
|
|
8705
|
-
_$insertNode(_el$
|
|
8706
|
-
_$insertNode(_el$
|
|
8707
|
-
_$insertNode(_el$
|
|
8720
|
+
_$insertNode(_el$292, _el$293);
|
|
8721
|
+
_$insertNode(_el$292, _el$295);
|
|
8722
|
+
_$insertNode(_el$292, _el$297);
|
|
8723
|
+
_$insertNode(_el$292, _el$299);
|
|
8724
|
+
_$insertNode(_el$292, _el$301);
|
|
8725
|
+
_$insertNode(_el$292, _el$303);
|
|
8726
|
+
_$insertNode(_el$292, _el$305);
|
|
8727
|
+
_$insertNode(_el$293, _$createTextNode(`Tip: `));
|
|
8728
|
+
_$insertNode(_el$295, _$createTextNode(`o`));
|
|
8729
|
+
_$insertNode(_el$297, _$createTextNode(` fullscreen \xB7 `));
|
|
8730
|
+
_$insertNode(_el$299, _$createTextNode(`X kill \xB7 R restart \xB7 x remove-done`));
|
|
8731
|
+
_$insertNode(_el$301, _$createTextNode(` \xB7 `));
|
|
8732
|
+
_$insertNode(_el$303, _$createTextNode(`:interrupt :terminate :remove`));
|
|
8733
|
+
_$insertNode(_el$305, _$createTextNode(` manage \xB7 text + Enter writes stdin.`));
|
|
8708
8734
|
_$effect((_p$) => {
|
|
8709
|
-
var _v$
|
|
8735
|
+
var _v$45 = {
|
|
8710
8736
|
fg: theme().textMuted
|
|
8711
|
-
}, _v$
|
|
8737
|
+
}, _v$46 = {
|
|
8712
8738
|
fg: theme().warning
|
|
8713
|
-
}, _v$
|
|
8739
|
+
}, _v$47 = {
|
|
8714
8740
|
fg: theme().textMuted
|
|
8715
|
-
}, _v$
|
|
8741
|
+
}, _v$48 = {
|
|
8716
8742
|
fg: theme().textMuted
|
|
8717
|
-
}, _v$
|
|
8743
|
+
}, _v$49 = {
|
|
8718
8744
|
fg: theme().warning
|
|
8719
|
-
}, _v$
|
|
8745
|
+
}, _v$50 = {
|
|
8720
8746
|
fg: theme().textMuted
|
|
8721
|
-
}, _v$
|
|
8747
|
+
}, _v$51 = {
|
|
8722
8748
|
fg: theme().warning
|
|
8723
|
-
}, _v$
|
|
8749
|
+
}, _v$52 = {
|
|
8724
8750
|
fg: theme().textMuted
|
|
8725
|
-
}, _v$
|
|
8751
|
+
}, _v$53 = {
|
|
8726
8752
|
fg: theme().warning
|
|
8727
|
-
}, _v$
|
|
8753
|
+
}, _v$54 = {
|
|
8728
8754
|
fg: theme().textMuted
|
|
8729
8755
|
};
|
|
8730
|
-
_v$
|
|
8731
|
-
_v$
|
|
8732
|
-
_v$
|
|
8733
|
-
_v$
|
|
8734
|
-
_v$
|
|
8735
|
-
_v$
|
|
8736
|
-
_v$
|
|
8737
|
-
_v$
|
|
8738
|
-
_v$
|
|
8739
|
-
_v$
|
|
8756
|
+
_v$45 !== _p$.e && (_p$.e = _$setProp(_el$285, "style", _v$45, _p$.e));
|
|
8757
|
+
_v$46 !== _p$.t && (_p$.t = _$setProp(_el$288, "style", _v$46, _p$.t));
|
|
8758
|
+
_v$47 !== _p$.a && (_p$.a = _$setProp(_el$290, "style", _v$47, _p$.a));
|
|
8759
|
+
_v$48 !== _p$.o && (_p$.o = _$setProp(_el$293, "style", _v$48, _p$.o));
|
|
8760
|
+
_v$49 !== _p$.i && (_p$.i = _$setProp(_el$295, "style", _v$49, _p$.i));
|
|
8761
|
+
_v$50 !== _p$.n && (_p$.n = _$setProp(_el$297, "style", _v$50, _p$.n));
|
|
8762
|
+
_v$51 !== _p$.s && (_p$.s = _$setProp(_el$299, "style", _v$51, _p$.s));
|
|
8763
|
+
_v$52 !== _p$.h && (_p$.h = _$setProp(_el$301, "style", _v$52, _p$.h));
|
|
8764
|
+
_v$53 !== _p$.r && (_p$.r = _$setProp(_el$303, "style", _v$53, _p$.r));
|
|
8765
|
+
_v$54 !== _p$.d && (_p$.d = _$setProp(_el$305, "style", _v$54, _p$.d));
|
|
8740
8766
|
return _p$;
|
|
8741
8767
|
}, {
|
|
8742
8768
|
e: undefined,
|
|
@@ -8750,298 +8776,290 @@ function LoopDashboard(props) {
|
|
|
8750
8776
|
r: undefined,
|
|
8751
8777
|
d: undefined
|
|
8752
8778
|
});
|
|
8753
|
-
return _el$
|
|
8779
|
+
return _el$283;
|
|
8754
8780
|
})();
|
|
8755
8781
|
},
|
|
8756
8782
|
get children() {
|
|
8757
|
-
|
|
8758
|
-
|
|
8759
|
-
|
|
8760
|
-
return ownerCommands();
|
|
8783
|
+
return _$createComponent(DashboardList, {
|
|
8784
|
+
get count() {
|
|
8785
|
+
return ownerCommands().length;
|
|
8761
8786
|
},
|
|
8762
|
-
|
|
8763
|
-
|
|
8764
|
-
|
|
8765
|
-
|
|
8766
|
-
|
|
8767
|
-
|
|
8768
|
-
|
|
8769
|
-
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8789
|
-
|
|
8790
|
-
|
|
8791
|
-
|
|
8792
|
-
|
|
8793
|
-
|
|
8794
|
-
|
|
8795
|
-
|
|
8796
|
-
|
|
8797
|
-
|
|
8798
|
-
|
|
8799
|
-
|
|
8800
|
-
|
|
8801
|
-
|
|
8802
|
-
|
|
8803
|
-
|
|
8804
|
-
|
|
8805
|
-
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
|
|
8810
|
-
|
|
8811
|
-
|
|
8812
|
-
|
|
8813
|
-
|
|
8814
|
-
|
|
8815
|
-
|
|
8816
|
-
|
|
8817
|
-
|
|
8818
|
-
|
|
8819
|
-
|
|
8820
|
-
|
|
8821
|
-
|
|
8822
|
-
|
|
8823
|
-
|
|
8824
|
-
|
|
8825
|
-
|
|
8826
|
-
|
|
8827
|
-
|
|
8828
|
-
|
|
8829
|
-
|
|
8830
|
-
|
|
8831
|
-
|
|
8832
|
-
|
|
8833
|
-
|
|
8834
|
-
|
|
8835
|
-
|
|
8836
|
-
|
|
8837
|
-
|
|
8838
|
-
|
|
8839
|
-
|
|
8840
|
-
|
|
8841
|
-
|
|
8842
|
-
|
|
8843
|
-
|
|
8844
|
-
|
|
8845
|
-
|
|
8846
|
-
|
|
8847
|
-
|
|
8848
|
-
|
|
8849
|
-
|
|
8850
|
-
|
|
8851
|
-
|
|
8852
|
-
|
|
8853
|
-
|
|
8854
|
-
|
|
8855
|
-
|
|
8856
|
-
|
|
8857
|
-
|
|
8858
|
-
|
|
8859
|
-
|
|
8860
|
-
|
|
8861
|
-
|
|
8862
|
-
|
|
8863
|
-
|
|
8864
|
-
|
|
8865
|
-
|
|
8866
|
-
|
|
8867
|
-
|
|
8868
|
-
|
|
8869
|
-
|
|
8870
|
-
|
|
8871
|
-
|
|
8872
|
-
|
|
8873
|
-
s: undefined,
|
|
8874
|
-
h: undefined
|
|
8875
|
-
});
|
|
8876
|
-
return _el$304;
|
|
8877
|
-
})();
|
|
8787
|
+
get selectedID() {
|
|
8788
|
+
return _$memo(() => !!selectedCommand())() ? `loopd-command-${selectedCommand().id}` : undefined;
|
|
8789
|
+
},
|
|
8790
|
+
get children() {
|
|
8791
|
+
return _$createComponent(For, {
|
|
8792
|
+
get each() {
|
|
8793
|
+
return ownerCommands();
|
|
8794
|
+
},
|
|
8795
|
+
children: (cmd, i) => {
|
|
8796
|
+
const isActive = () => i() === cmdSelected();
|
|
8797
|
+
return _$createComponent(DashboardRow, {
|
|
8798
|
+
get id() {
|
|
8799
|
+
return `loopd-command-${cmd.id}`;
|
|
8800
|
+
},
|
|
8801
|
+
get backgroundColor() {
|
|
8802
|
+
return _$memo(() => !!isActive())() ? theme().backgroundElement : undefined;
|
|
8803
|
+
},
|
|
8804
|
+
get children() {
|
|
8805
|
+
return [(() => {
|
|
8806
|
+
var _el$312 = _$createElement("span");
|
|
8807
|
+
_$insert(_el$312, (() => {
|
|
8808
|
+
var _c$20 = _$memo(() => !!isActive());
|
|
8809
|
+
return () => _c$20() ? `\u25B6 ${cmd.title}` : ` ${commandStatusIcon(cmd.status)} ${cmd.title}`;
|
|
8810
|
+
})());
|
|
8811
|
+
_$effect((_$p) => _$setProp(_el$312, "style", {
|
|
8812
|
+
fg: commandStatusColor(cmd.status, theme()),
|
|
8813
|
+
bold: isActive()
|
|
8814
|
+
}, _$p));
|
|
8815
|
+
return _el$312;
|
|
8816
|
+
})(), (() => {
|
|
8817
|
+
var _el$313 = _$createElement("span");
|
|
8818
|
+
_$insertNode(_el$313, _$createTextNode(` \u2502 `));
|
|
8819
|
+
_$effect((_$p) => _$setProp(_el$313, "style", {
|
|
8820
|
+
fg: theme().textMuted
|
|
8821
|
+
}, _$p));
|
|
8822
|
+
return _el$313;
|
|
8823
|
+
})(), (() => {
|
|
8824
|
+
var _el$315 = _$createElement("span");
|
|
8825
|
+
_$insertNode(_el$315, _$createTextNode(`Cmd `));
|
|
8826
|
+
_$effect((_$p) => _$setProp(_el$315, "style", {
|
|
8827
|
+
fg: theme().textMuted
|
|
8828
|
+
}, _$p));
|
|
8829
|
+
return _el$315;
|
|
8830
|
+
})(), (() => {
|
|
8831
|
+
var _el$317 = _$createElement("span");
|
|
8832
|
+
_$insert(_el$317, () => commandStatusLabel(cmd.status).short);
|
|
8833
|
+
_$effect((_$p) => _$setProp(_el$317, "style", {
|
|
8834
|
+
fg: commandStatusColor(cmd.status, theme()),
|
|
8835
|
+
bold: true
|
|
8836
|
+
}, _$p));
|
|
8837
|
+
return _el$317;
|
|
8838
|
+
})(), (() => {
|
|
8839
|
+
var _el$318 = _$createElement("span");
|
|
8840
|
+
_$insertNode(_el$318, _$createTextNode(` \u2502 `));
|
|
8841
|
+
_$effect((_$p) => _$setProp(_el$318, "style", {
|
|
8842
|
+
fg: theme().textMuted
|
|
8843
|
+
}, _$p));
|
|
8844
|
+
return _el$318;
|
|
8845
|
+
})(), (() => {
|
|
8846
|
+
var _el$320 = _$createElement("span");
|
|
8847
|
+
_$insert(_el$320, () => cmd.command);
|
|
8848
|
+
_$effect((_$p) => _$setProp(_el$320, "style", {
|
|
8849
|
+
fg: theme().accent,
|
|
8850
|
+
bold: true
|
|
8851
|
+
}, _$p));
|
|
8852
|
+
return _el$320;
|
|
8853
|
+
})(), _$memo(() => _$memo(() => cmd.args.length > 0)() && (() => {
|
|
8854
|
+
var _el$323 = _$createElement("span"), _el$324 = _$createTextNode(` `);
|
|
8855
|
+
_$insertNode(_el$323, _el$324);
|
|
8856
|
+
_$insert(_el$323, () => cmd.args.join(" ").slice(0, 40), null);
|
|
8857
|
+
_$effect((_$p) => _$setProp(_el$323, "style", {
|
|
8858
|
+
fg: theme().textMuted
|
|
8859
|
+
}, _$p));
|
|
8860
|
+
return _el$323;
|
|
8861
|
+
})()), _$memo(() => _$memo(() => cmd.exitCode !== undefined)() && (() => {
|
|
8862
|
+
var _el$325 = _$createElement("span"), _el$326 = _$createTextNode(` \u2502 exit `);
|
|
8863
|
+
_$insertNode(_el$325, _el$326);
|
|
8864
|
+
_$insert(_el$325, () => cmd.exitCode, null);
|
|
8865
|
+
_$effect((_$p) => _$setProp(_el$325, "style", {
|
|
8866
|
+
fg: cmd.exitCode === 0 ? theme().success : theme().error
|
|
8867
|
+
}, _$p));
|
|
8868
|
+
return _el$325;
|
|
8869
|
+
})()), _$memo(() => _$memo(() => !!cmd.signal)() && (() => {
|
|
8870
|
+
var _el$327 = _$createElement("span"), _el$328 = _$createTextNode(` \u2502 `);
|
|
8871
|
+
_$insertNode(_el$327, _el$328);
|
|
8872
|
+
_$insert(_el$327, () => cmd.signal, null);
|
|
8873
|
+
_$effect((_$p) => _$setProp(_el$327, "style", {
|
|
8874
|
+
fg: theme().warning
|
|
8875
|
+
}, _$p));
|
|
8876
|
+
return _el$327;
|
|
8877
|
+
})()), (() => {
|
|
8878
|
+
var _el$321 = _$createElement("span"), _el$322 = _$createTextNode(` \u2502 `);
|
|
8879
|
+
_$insertNode(_el$321, _el$322);
|
|
8880
|
+
_$insert(_el$321, () => ageLabel(cmd.updatedAt, clock()), null);
|
|
8881
|
+
_$effect((_$p) => _$setProp(_el$321, "style", {
|
|
8882
|
+
fg: theme().textMuted
|
|
8883
|
+
}, _$p));
|
|
8884
|
+
return _el$321;
|
|
8885
|
+
})(), _$memo(() => _$memo(() => !!cmd.truncated)() && (() => {
|
|
8886
|
+
var _el$329 = _$createElement("span");
|
|
8887
|
+
_$insertNode(_el$329, _$createTextNode(` \u2502 \u26A0 truncated`));
|
|
8888
|
+
_$effect((_$p) => _$setProp(_el$329, "style", {
|
|
8889
|
+
fg: theme().warning,
|
|
8890
|
+
bold: true
|
|
8891
|
+
}, _$p));
|
|
8892
|
+
return _el$329;
|
|
8893
|
+
})())];
|
|
8894
|
+
}
|
|
8895
|
+
});
|
|
8896
|
+
}
|
|
8897
|
+
});
|
|
8878
8898
|
}
|
|
8879
|
-
})
|
|
8880
|
-
_$effect((_$p) => _$setProp(_el$44, "height", Math.min(ownerCommands().length, 10), _$p));
|
|
8881
|
-
return _el$44;
|
|
8899
|
+
});
|
|
8882
8900
|
}
|
|
8883
8901
|
}), _$createComponent(Show, {
|
|
8884
8902
|
get when() {
|
|
8885
8903
|
return selectedCommand();
|
|
8886
8904
|
},
|
|
8887
8905
|
children: (cmd) => (() => {
|
|
8888
|
-
var _el$
|
|
8889
|
-
`), _el$
|
|
8890
|
-
`), _el$
|
|
8891
|
-
`), _el$
|
|
8892
|
-
`), _el$
|
|
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 `));
|
|
8906
|
+
var _el$331 = _$createElement("box"), _el$332 = _$createElement("text"), _el$333 = _$createElement("span"), _el$334 = _$createTextNode(` `), _el$335 = _$createElement("span"), _el$337 = _$createElement("span"), _el$338 = _$createTextNode(` \u2014 `), _el$339 = _$createTextNode(`
|
|
8907
|
+
`), _el$340 = _$createElement("span"), _el$342 = _$createElement("span"), _el$343 = _$createTextNode(`
|
|
8908
|
+
`), _el$344 = _$createElement("span"), _el$346 = _$createElement("span"), _el$348 = _$createElement("span"), _el$349 = _$createTextNode(`
|
|
8909
|
+
`), _el$350 = _$createElement("span"), _el$352 = _$createElement("span"), _el$354 = _$createElement("span"), _el$355 = _$createTextNode(` bytes`), _el$356 = _$createElement("span"), _el$357 = _$createTextNode(` \u2502 updated `), _el$358 = _$createTextNode(`
|
|
8910
|
+
`), _el$359 = _$createElement("span");
|
|
8920
8911
|
_$insertNode(_el$331, _el$332);
|
|
8921
|
-
_$
|
|
8922
|
-
_$
|
|
8923
|
-
_$
|
|
8924
|
-
_$
|
|
8925
|
-
_$
|
|
8926
|
-
|
|
8927
|
-
|
|
8928
|
-
|
|
8929
|
-
|
|
8930
|
-
|
|
8931
|
-
|
|
8912
|
+
_$setProp(_el$331, "flexDirection", "column");
|
|
8913
|
+
_$setProp(_el$331, "border", true);
|
|
8914
|
+
_$setProp(_el$331, "padding", 1);
|
|
8915
|
+
_$setProp(_el$331, "flexShrink", 0);
|
|
8916
|
+
_$setProp(_el$331, "maxHeight", 8);
|
|
8917
|
+
_$insertNode(_el$332, _el$333);
|
|
8918
|
+
_$insertNode(_el$332, _el$335);
|
|
8919
|
+
_$insertNode(_el$332, _el$337);
|
|
8920
|
+
_$insertNode(_el$332, _el$339);
|
|
8921
|
+
_$insertNode(_el$332, _el$340);
|
|
8922
|
+
_$insertNode(_el$332, _el$342);
|
|
8923
|
+
_$insertNode(_el$332, _el$343);
|
|
8924
|
+
_$insertNode(_el$332, _el$344);
|
|
8925
|
+
_$insertNode(_el$332, _el$346);
|
|
8926
|
+
_$insertNode(_el$332, _el$348);
|
|
8927
|
+
_$insertNode(_el$332, _el$349);
|
|
8928
|
+
_$insertNode(_el$332, _el$350);
|
|
8929
|
+
_$insertNode(_el$332, _el$352);
|
|
8930
|
+
_$insertNode(_el$332, _el$354);
|
|
8931
|
+
_$insertNode(_el$332, _el$356);
|
|
8932
|
+
_$insertNode(_el$332, _el$358);
|
|
8933
|
+
_$insertNode(_el$332, _el$359);
|
|
8934
|
+
_$insertNode(_el$333, _el$334);
|
|
8935
|
+
_$insert(_el$333, () => commandStatusIcon(cmd().status), _el$334);
|
|
8936
|
+
_$insert(_el$333, () => cmd().title, null);
|
|
8937
|
+
_$insertNode(_el$335, _$createTextNode(` Cmd `));
|
|
8938
|
+
_$insertNode(_el$337, _el$338);
|
|
8939
|
+
_$insert(_el$337, () => commandStatusLabel(cmd().status).short, _el$338);
|
|
8940
|
+
_$insert(_el$337, () => commandStatusLabel(cmd().status).hint, null);
|
|
8941
|
+
_$insertNode(_el$340, _$createTextNode(`\u2B22 Spawn: `));
|
|
8942
|
+
_$insert(_el$342, () => cmd().command);
|
|
8943
|
+
_$insert(_el$332, (() => {
|
|
8944
|
+
var _c$21 = _$memo(() => cmd().args.length > 0);
|
|
8945
|
+
return () => _c$21() && (() => {
|
|
8946
|
+
var _el$361 = _$createElement("span"), _el$362 = _$createTextNode(` `);
|
|
8947
|
+
_$insertNode(_el$361, _el$362);
|
|
8948
|
+
_$insert(_el$361, () => cmd().args.join(" "), null);
|
|
8949
|
+
_$effect((_$p) => _$setProp(_el$361, "style", {
|
|
8932
8950
|
fg: theme().text
|
|
8933
8951
|
}, _$p));
|
|
8934
|
-
return _el$
|
|
8952
|
+
return _el$361;
|
|
8935
8953
|
})();
|
|
8936
|
-
})(), _el$
|
|
8937
|
-
_$insertNode(_el$
|
|
8938
|
-
_$insertNode(_el$
|
|
8939
|
-
_$insert(_el$
|
|
8940
|
-
_$insert(_el$
|
|
8941
|
-
var _c$
|
|
8942
|
-
return () => _c$
|
|
8943
|
-
var _el$
|
|
8944
|
-
_$insertNode(_el$
|
|
8945
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8954
|
+
})(), _el$343);
|
|
8955
|
+
_$insertNode(_el$344, _$createTextNode(`\uD83D\uDCC1 `));
|
|
8956
|
+
_$insertNode(_el$346, _$createTextNode(`Cwd: `));
|
|
8957
|
+
_$insert(_el$348, () => cmd().cwd.replace(String(props.directory), "."));
|
|
8958
|
+
_$insert(_el$332, (() => {
|
|
8959
|
+
var _c$22 = _$memo(() => !!cmd().goalID);
|
|
8960
|
+
return () => _c$22() && [(() => {
|
|
8961
|
+
var _el$363 = _$createElement("span");
|
|
8962
|
+
_$insertNode(_el$363, _$createTextNode(` \u2502 \uD83D\uDD17 linked goal `));
|
|
8963
|
+
_$effect((_$p) => _$setProp(_el$363, "style", {
|
|
8946
8964
|
fg: theme().textMuted
|
|
8947
8965
|
}, _$p));
|
|
8948
|
-
return _el$
|
|
8966
|
+
return _el$363;
|
|
8949
8967
|
})(), (() => {
|
|
8950
|
-
var _el$
|
|
8951
|
-
_$insert(_el$
|
|
8952
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8968
|
+
var _el$365 = _$createElement("span");
|
|
8969
|
+
_$insert(_el$365, () => cmd().goalID.slice(0, 8));
|
|
8970
|
+
_$effect((_$p) => _$setProp(_el$365, "style", {
|
|
8953
8971
|
fg: theme().text
|
|
8954
8972
|
}, _$p));
|
|
8955
|
-
return _el$
|
|
8973
|
+
return _el$365;
|
|
8956
8974
|
})()];
|
|
8957
|
-
})(), _el$
|
|
8958
|
-
_$insertNode(_el$
|
|
8959
|
-
_$insertNode(_el$
|
|
8960
|
-
_$insertNode(_el$
|
|
8961
|
-
_$insert(_el$
|
|
8962
|
-
_$insert(_el$
|
|
8963
|
-
var _c$
|
|
8964
|
-
return () => _c$
|
|
8965
|
-
var _el$
|
|
8966
|
-
_$insertNode(_el$
|
|
8967
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8975
|
+
})(), _el$349);
|
|
8976
|
+
_$insertNode(_el$350, _$createTextNode(`\uD83D\uDCBE `));
|
|
8977
|
+
_$insertNode(_el$352, _$createTextNode(`Output: `));
|
|
8978
|
+
_$insertNode(_el$354, _el$355);
|
|
8979
|
+
_$insert(_el$354, () => cmd().outputBytes, _el$355);
|
|
8980
|
+
_$insert(_el$332, (() => {
|
|
8981
|
+
var _c$23 = _$memo(() => !!cmd().truncated);
|
|
8982
|
+
return () => _c$23() && (() => {
|
|
8983
|
+
var _el$366 = _$createElement("span");
|
|
8984
|
+
_$insertNode(_el$366, _$createTextNode(` \xB7 \u26A0 truncated`));
|
|
8985
|
+
_$effect((_$p) => _$setProp(_el$366, "style", {
|
|
8968
8986
|
fg: theme().warning,
|
|
8969
8987
|
bold: true
|
|
8970
8988
|
}, _$p));
|
|
8971
|
-
return _el$
|
|
8989
|
+
return _el$366;
|
|
8972
8990
|
})();
|
|
8973
|
-
})(), _el$
|
|
8974
|
-
_$insertNode(_el$
|
|
8975
|
-
_$insert(_el$
|
|
8976
|
-
_$insert(_el$
|
|
8977
|
-
var _c$
|
|
8978
|
-
return () => _c$
|
|
8979
|
-
var _el$
|
|
8991
|
+
})(), _el$356);
|
|
8992
|
+
_$insertNode(_el$356, _el$357);
|
|
8993
|
+
_$insert(_el$356, () => ageLabel(cmd().updatedAt, clock()), null);
|
|
8994
|
+
_$insert(_el$332, (() => {
|
|
8995
|
+
var _c$24 = _$memo(() => !!cmd().lastError);
|
|
8996
|
+
return () => _c$24() && [(() => {
|
|
8997
|
+
var _el$368 = _$createElement("span"), _el$369 = _$createTextNode(`
|
|
8980
8998
|
\u26A0 Error: `);
|
|
8981
|
-
_$insertNode(_el$
|
|
8982
|
-
_$effect((_$p) => _$setProp(_el$
|
|
8999
|
+
_$insertNode(_el$368, _el$369);
|
|
9000
|
+
_$effect((_$p) => _$setProp(_el$368, "style", {
|
|
8983
9001
|
fg: theme().error,
|
|
8984
9002
|
bold: true
|
|
8985
9003
|
}, _$p));
|
|
8986
|
-
return _el$
|
|
9004
|
+
return _el$368;
|
|
8987
9005
|
})(), (() => {
|
|
8988
|
-
var _el$
|
|
8989
|
-
_$insert(_el$
|
|
8990
|
-
_$effect((_$p) => _$setProp(_el$
|
|
9006
|
+
var _el$371 = _$createElement("span");
|
|
9007
|
+
_$insert(_el$371, () => cmd().lastError.slice(0, 120));
|
|
9008
|
+
_$effect((_$p) => _$setProp(_el$371, "style", {
|
|
8991
9009
|
fg: theme().error
|
|
8992
9010
|
}, _$p));
|
|
8993
|
-
return _el$
|
|
9011
|
+
return _el$371;
|
|
8994
9012
|
})()];
|
|
8995
|
-
})(), _el$
|
|
8996
|
-
_$insertNode(_el$
|
|
9013
|
+
})(), _el$358);
|
|
9014
|
+
_$insertNode(_el$359, _$createTextNode(`o fullscreen \xB7 X kill \xB7 R restart \xB7 x remove-done \xB7 :interrupt :terminate :remove \xB7 text + Enter writes stdin`));
|
|
8997
9015
|
_$effect((_p$) => {
|
|
8998
|
-
var _v$
|
|
9016
|
+
var _v$57 = commandBorderColor(cmd().status, theme()), _v$58 = {
|
|
8999
9017
|
fg: commandStatusColor(cmd().status, theme()),
|
|
9000
9018
|
bold: true
|
|
9001
|
-
}, _v$
|
|
9019
|
+
}, _v$59 = {
|
|
9002
9020
|
fg: theme().textMuted
|
|
9003
|
-
}, _v$
|
|
9021
|
+
}, _v$60 = {
|
|
9004
9022
|
fg: commandStatusColor(cmd().status, theme())
|
|
9005
|
-
}, _v$
|
|
9023
|
+
}, _v$61 = {
|
|
9006
9024
|
fg: theme().primary,
|
|
9007
9025
|
bold: true
|
|
9008
|
-
}, _v$
|
|
9026
|
+
}, _v$62 = {
|
|
9009
9027
|
fg: theme().accent,
|
|
9010
9028
|
bold: true
|
|
9011
|
-
}, _v$
|
|
9029
|
+
}, _v$63 = {
|
|
9012
9030
|
fg: theme().textMuted
|
|
9013
|
-
}, _v$
|
|
9031
|
+
}, _v$64 = {
|
|
9014
9032
|
fg: theme().accent,
|
|
9015
9033
|
bold: true
|
|
9016
|
-
}, _v$
|
|
9034
|
+
}, _v$65 = {
|
|
9017
9035
|
fg: theme().textMuted
|
|
9018
|
-
}, _v$
|
|
9036
|
+
}, _v$66 = {
|
|
9019
9037
|
fg: theme().warning,
|
|
9020
9038
|
bold: true
|
|
9021
|
-
}, _v$
|
|
9039
|
+
}, _v$67 = {
|
|
9022
9040
|
fg: theme().warning,
|
|
9023
9041
|
bold: true
|
|
9024
|
-
}, _v$
|
|
9042
|
+
}, _v$68 = {
|
|
9025
9043
|
fg: theme().text
|
|
9026
|
-
}, _v$
|
|
9044
|
+
}, _v$69 = {
|
|
9027
9045
|
fg: theme().textMuted
|
|
9028
|
-
}, _v$
|
|
9046
|
+
}, _v$70 = {
|
|
9029
9047
|
fg: theme().textMuted
|
|
9030
9048
|
};
|
|
9031
|
-
_v$
|
|
9032
|
-
_v$
|
|
9033
|
-
_v$
|
|
9034
|
-
_v$
|
|
9035
|
-
_v$
|
|
9036
|
-
_v$
|
|
9037
|
-
_v$
|
|
9038
|
-
_v$
|
|
9039
|
-
_v$
|
|
9040
|
-
_v$
|
|
9041
|
-
_v$
|
|
9042
|
-
_v$
|
|
9043
|
-
_v$
|
|
9044
|
-
_v$
|
|
9049
|
+
_v$57 !== _p$.e && (_p$.e = _$setProp(_el$331, "borderColor", _v$57, _p$.e));
|
|
9050
|
+
_v$58 !== _p$.t && (_p$.t = _$setProp(_el$333, "style", _v$58, _p$.t));
|
|
9051
|
+
_v$59 !== _p$.a && (_p$.a = _$setProp(_el$335, "style", _v$59, _p$.a));
|
|
9052
|
+
_v$60 !== _p$.o && (_p$.o = _$setProp(_el$337, "style", _v$60, _p$.o));
|
|
9053
|
+
_v$61 !== _p$.i && (_p$.i = _$setProp(_el$340, "style", _v$61, _p$.i));
|
|
9054
|
+
_v$62 !== _p$.n && (_p$.n = _$setProp(_el$342, "style", _v$62, _p$.n));
|
|
9055
|
+
_v$63 !== _p$.s && (_p$.s = _$setProp(_el$344, "style", _v$63, _p$.s));
|
|
9056
|
+
_v$64 !== _p$.h && (_p$.h = _$setProp(_el$346, "style", _v$64, _p$.h));
|
|
9057
|
+
_v$65 !== _p$.r && (_p$.r = _$setProp(_el$348, "style", _v$65, _p$.r));
|
|
9058
|
+
_v$66 !== _p$.d && (_p$.d = _$setProp(_el$350, "style", _v$66, _p$.d));
|
|
9059
|
+
_v$67 !== _p$.l && (_p$.l = _$setProp(_el$352, "style", _v$67, _p$.l));
|
|
9060
|
+
_v$68 !== _p$.u && (_p$.u = _$setProp(_el$354, "style", _v$68, _p$.u));
|
|
9061
|
+
_v$69 !== _p$.c && (_p$.c = _$setProp(_el$356, "style", _v$69, _p$.c));
|
|
9062
|
+
_v$70 !== _p$.w && (_p$.w = _$setProp(_el$359, "style", _v$70, _p$.w));
|
|
9045
9063
|
return _p$;
|
|
9046
9064
|
}, {
|
|
9047
9065
|
e: undefined,
|
|
@@ -9059,105 +9077,101 @@ function LoopDashboard(props) {
|
|
|
9059
9077
|
c: undefined,
|
|
9060
9078
|
w: undefined
|
|
9061
9079
|
});
|
|
9062
|
-
return _el$
|
|
9080
|
+
return _el$331;
|
|
9063
9081
|
})()
|
|
9064
9082
|
})];
|
|
9065
9083
|
}
|
|
9066
9084
|
}), null);
|
|
9067
|
-
_$insert(_el$
|
|
9085
|
+
_$insert(_el$42, _$createComponent(Show, {
|
|
9068
9086
|
get when() {
|
|
9069
9087
|
return _$memo(() => !!showLogs())() && events().length > 0;
|
|
9070
9088
|
},
|
|
9071
9089
|
get children() {
|
|
9072
|
-
var _el$
|
|
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");
|
|
9090
|
+
var _el$46 = _$createElement("box"), _el$47 = _$createElement("text"), _el$48 = _$createElement("span"), _el$50 = _$createElement("span");
|
|
9080
9091
|
_$insertNode(_el$46, _el$47);
|
|
9081
|
-
_$
|
|
9082
|
-
_$
|
|
9083
|
-
_$
|
|
9084
|
-
_$
|
|
9092
|
+
_$setProp(_el$46, "flexDirection", "column");
|
|
9093
|
+
_$setProp(_el$46, "border", true);
|
|
9094
|
+
_$setProp(_el$46, "padding", 1);
|
|
9095
|
+
_$setProp(_el$46, "maxHeight", 7);
|
|
9096
|
+
_$setProp(_el$46, "flexShrink", 0);
|
|
9097
|
+
_$setProp(_el$46, "overflow", "hidden");
|
|
9098
|
+
_$insertNode(_el$47, _el$48);
|
|
9099
|
+
_$insertNode(_el$47, _el$50);
|
|
9100
|
+
_$insertNode(_el$48, _$createTextNode(`\u25C8 Recent Events`));
|
|
9101
|
+
_$insertNode(_el$50, _$createTextNode(` \u2014 :logs to hide`));
|
|
9102
|
+
_$insert(_el$47, _$createComponent(For, {
|
|
9085
9103
|
get each() {
|
|
9086
9104
|
return events().slice(-10);
|
|
9087
9105
|
},
|
|
9088
9106
|
children: (ev) => [`
|
|
9089
9107
|
`, (() => {
|
|
9090
|
-
var _el$
|
|
9091
|
-
_$insert(_el$
|
|
9092
|
-
_$effect((_$p) => _$setProp(_el$
|
|
9108
|
+
var _el$372 = _$createElement("span");
|
|
9109
|
+
_$insert(_el$372, () => String(ev.type));
|
|
9110
|
+
_$effect((_$p) => _$setProp(_el$372, "style", {
|
|
9093
9111
|
fg: eventColor(String(ev.type), theme()),
|
|
9094
9112
|
bold: true
|
|
9095
9113
|
}, _$p));
|
|
9096
|
-
return _el$
|
|
9114
|
+
return _el$372;
|
|
9097
9115
|
})(), (() => {
|
|
9098
|
-
var _el$
|
|
9099
|
-
_$insertNode(_el$
|
|
9100
|
-
_$insert(_el$
|
|
9101
|
-
_$effect((_$p) => _$setProp(_el$
|
|
9116
|
+
var _el$373 = _$createElement("span"), _el$374 = _$createTextNode(` `);
|
|
9117
|
+
_$insertNode(_el$373, _el$374);
|
|
9118
|
+
_$insert(_el$373, () => ev.goalID?.slice(0, 8), null);
|
|
9119
|
+
_$effect((_$p) => _$setProp(_el$373, "style", {
|
|
9102
9120
|
fg: theme().textMuted
|
|
9103
9121
|
}, _$p));
|
|
9104
|
-
return _el$
|
|
9122
|
+
return _el$373;
|
|
9105
9123
|
})(), _$memo(() => _$memo(() => !!ev.summary)() && (() => {
|
|
9106
|
-
var _el$
|
|
9107
|
-
_$insertNode(_el$
|
|
9108
|
-
_$insert(_el$
|
|
9109
|
-
_$effect((_$p) => _$setProp(_el$
|
|
9124
|
+
var _el$375 = _$createElement("span"), _el$376 = _$createTextNode(` \u2014 `);
|
|
9125
|
+
_$insertNode(_el$375, _el$376);
|
|
9126
|
+
_$insert(_el$375, () => String(ev.summary).slice(0, 60), null);
|
|
9127
|
+
_$effect((_$p) => _$setProp(_el$375, "style", {
|
|
9110
9128
|
fg: theme().text
|
|
9111
9129
|
}, _$p));
|
|
9112
|
-
return _el$
|
|
9130
|
+
return _el$375;
|
|
9113
9131
|
})())]
|
|
9114
9132
|
}), null);
|
|
9115
9133
|
_$effect((_p$) => {
|
|
9116
|
-
var _v$ = theme().border, _v$
|
|
9134
|
+
var _v$3 = theme().border, _v$4 = {
|
|
9117
9135
|
fg: theme().accent,
|
|
9118
9136
|
bold: true
|
|
9119
|
-
}, _v$
|
|
9137
|
+
}, _v$5 = {
|
|
9120
9138
|
fg: theme().textMuted
|
|
9121
9139
|
};
|
|
9122
|
-
_v$ !== _p$.e && (_p$.e = _$setProp(_el$
|
|
9123
|
-
_v$
|
|
9124
|
-
_v$
|
|
9140
|
+
_v$3 !== _p$.e && (_p$.e = _$setProp(_el$46, "borderColor", _v$3, _p$.e));
|
|
9141
|
+
_v$4 !== _p$.t && (_p$.t = _$setProp(_el$48, "style", _v$4, _p$.t));
|
|
9142
|
+
_v$5 !== _p$.a && (_p$.a = _$setProp(_el$50, "style", _v$5, _p$.a));
|
|
9125
9143
|
return _p$;
|
|
9126
9144
|
}, {
|
|
9127
9145
|
e: undefined,
|
|
9128
9146
|
t: undefined,
|
|
9129
9147
|
a: undefined
|
|
9130
9148
|
});
|
|
9131
|
-
return _el$
|
|
9149
|
+
return _el$46;
|
|
9132
9150
|
}
|
|
9133
9151
|
}), 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);
|
|
9143
9152
|
_$insertNode(_el$52, _el$53);
|
|
9144
|
-
_$
|
|
9153
|
+
_$insertNode(_el$52, _el$55);
|
|
9154
|
+
_$setProp(_el$52, "flexDirection", "row");
|
|
9155
|
+
_$setProp(_el$52, "border", true);
|
|
9156
|
+
_$setProp(_el$52, "paddingLeft", 1);
|
|
9157
|
+
_$setProp(_el$52, "paddingRight", 1);
|
|
9158
|
+
_$setProp(_el$52, "flexShrink", 0);
|
|
9159
|
+
_$setProp(_el$52, "height", 3);
|
|
9160
|
+
_$setProp(_el$52, "gap", 1);
|
|
9161
|
+
_$insertNode(_el$53, _el$54);
|
|
9162
|
+
_$insert(_el$54, () => mode() === "insert" ? " INSERT \uE0B1" : " NORMAL ");
|
|
9145
9163
|
_$use((el) => {
|
|
9146
9164
|
inputEl = el;
|
|
9147
9165
|
focusInput();
|
|
9148
|
-
}, _el$
|
|
9149
|
-
_$setProp(_el$
|
|
9150
|
-
_$setProp(_el$
|
|
9151
|
-
debugLog("onInput", JSON.stringify(v), "mode", mode());
|
|
9166
|
+
}, _el$55);
|
|
9167
|
+
_$setProp(_el$55, "flexGrow", 1);
|
|
9168
|
+
_$setProp(_el$55, "onInput", (v) => {
|
|
9152
9169
|
if (mode() === "insert")
|
|
9153
9170
|
setCommandInput(v);
|
|
9154
9171
|
else if (inputEl?.value)
|
|
9155
9172
|
inputEl.value = "";
|
|
9156
9173
|
});
|
|
9157
|
-
_$setProp(_el$
|
|
9158
|
-
const name = evt.name || "";
|
|
9159
|
-
const seq = evt.sequence || "";
|
|
9160
|
-
debugLog("input onKeyDown", `name=${name} seq=${JSON.stringify(seq)} mode=${mode()} value=${JSON.stringify(commandInput())}`);
|
|
9174
|
+
_$setProp(_el$55, "onKeyDown", (evt) => {
|
|
9161
9175
|
if (mode() !== "insert") {
|
|
9162
9176
|
if ((evt.name || "").length === 1)
|
|
9163
9177
|
prevent(evt);
|
|
@@ -9165,75 +9179,75 @@ function LoopDashboard(props) {
|
|
|
9165
9179
|
}
|
|
9166
9180
|
});
|
|
9167
9181
|
_$effect((_p$) => {
|
|
9168
|
-
var _v$
|
|
9182
|
+
var _v$6 = theme().border, _v$7 = {
|
|
9169
9183
|
fg: theme().primary,
|
|
9170
9184
|
bold: true
|
|
9171
|
-
}, _v$
|
|
9185
|
+
}, _v$8 = {
|
|
9172
9186
|
fg: theme().textMuted
|
|
9173
|
-
}, _v$
|
|
9187
|
+
}, _v$9 = {
|
|
9174
9188
|
fg: mode() === "normal" ? theme().success : theme().warning,
|
|
9175
9189
|
bold: true,
|
|
9176
9190
|
bg: mode() === "insert" ? theme().backgroundElement : undefined
|
|
9177
|
-
}, _v$
|
|
9191
|
+
}, _v$0 = {
|
|
9178
9192
|
fg: theme().textMuted
|
|
9179
|
-
}, _v$
|
|
9193
|
+
}, _v$1 = {
|
|
9180
9194
|
fg: theme().accent,
|
|
9181
9195
|
bold: true
|
|
9182
|
-
}, _v$
|
|
9196
|
+
}, _v$10 = {
|
|
9183
9197
|
fg: theme().textMuted
|
|
9184
|
-
}, _v$
|
|
9198
|
+
}, _v$11 = {
|
|
9185
9199
|
fg: theme().textMuted
|
|
9186
|
-
}, _v$
|
|
9200
|
+
}, _v$12 = {
|
|
9187
9201
|
fg: runningCount() > 0 ? theme().success : theme().textMuted,
|
|
9188
9202
|
bold: runningCount() > 0
|
|
9189
|
-
}, _v$
|
|
9203
|
+
}, _v$13 = {
|
|
9190
9204
|
fg: theme().textMuted
|
|
9191
|
-
}, _v$
|
|
9205
|
+
}, _v$14 = {
|
|
9192
9206
|
fg: theme().info,
|
|
9193
9207
|
bold: true
|
|
9194
|
-
}, _v$
|
|
9208
|
+
}, _v$15 = {
|
|
9195
9209
|
fg: theme().textMuted
|
|
9196
|
-
}, _v$
|
|
9210
|
+
}, _v$16 = {
|
|
9197
9211
|
fg: theme().textMuted
|
|
9198
|
-
}, _v$
|
|
9212
|
+
}, _v$17 = {
|
|
9199
9213
|
fg: tab() === "goals" ? theme().primary : theme().textMuted,
|
|
9200
9214
|
bold: tab() === "goals"
|
|
9201
|
-
}, _v$
|
|
9215
|
+
}, _v$18 = {
|
|
9202
9216
|
fg: theme().textMuted
|
|
9203
|
-
}, _v$
|
|
9217
|
+
}, _v$19 = {
|
|
9204
9218
|
fg: tab() === "commands" ? theme().primary : theme().textMuted,
|
|
9205
9219
|
bold: tab() === "commands"
|
|
9206
|
-
}, _v$
|
|
9220
|
+
}, _v$20 = {
|
|
9207
9221
|
fg: theme().textMuted
|
|
9208
|
-
}, _v$
|
|
9222
|
+
}, _v$21 = mode() === "insert" ? theme().warning : theme().border, _v$22 = {
|
|
9209
9223
|
fg: mode() === "insert" ? theme().warning : theme().success,
|
|
9210
9224
|
bold: true,
|
|
9211
9225
|
bg: mode() === "insert" ? theme().backgroundElement : undefined
|
|
9212
|
-
}, _v$
|
|
9213
|
-
_v$
|
|
9214
|
-
_v$
|
|
9215
|
-
_v$
|
|
9216
|
-
_v$
|
|
9217
|
-
_v$
|
|
9218
|
-
_v$
|
|
9219
|
-
_v$
|
|
9220
|
-
_v$
|
|
9221
|
-
_v$
|
|
9222
|
-
_v$
|
|
9223
|
-
_v$
|
|
9224
|
-
_v$
|
|
9225
|
-
_v$
|
|
9226
|
-
_v$
|
|
9227
|
-
_v$
|
|
9228
|
-
_v$
|
|
9229
|
-
_v$
|
|
9230
|
-
_v$
|
|
9231
|
-
_v$
|
|
9232
|
-
_v$
|
|
9233
|
-
_v$
|
|
9234
|
-
_v$
|
|
9235
|
-
_v$
|
|
9236
|
-
_v$
|
|
9226
|
+
}, _v$23 = mode() === "insert" ? ":send hello or :force done --evidence proof or :open (Ctrl+N: normal)" : statusText() || "Press : to send/command \xB7 ? help \xB7 o open child \xB7 q close", _v$24 = theme().textMuted, _v$25 = theme().primary, _v$26 = theme().text, _v$27 = theme().background;
|
|
9227
|
+
_v$6 !== _p$.e && (_p$.e = _$setProp(_el$5, "borderColor", _v$6, _p$.e));
|
|
9228
|
+
_v$7 !== _p$.t && (_p$.t = _$setProp(_el$8, "style", _v$7, _p$.t));
|
|
9229
|
+
_v$8 !== _p$.a && (_p$.a = _$setProp(_el$0, "style", _v$8, _p$.a));
|
|
9230
|
+
_v$9 !== _p$.o && (_p$.o = _$setProp(_el$10, "style", _v$9, _p$.o));
|
|
9231
|
+
_v$0 !== _p$.i && (_p$.i = _$setProp(_el$13, "style", _v$0, _p$.i));
|
|
9232
|
+
_v$1 !== _p$.n && (_p$.n = _$setProp(_el$15, "style", _v$1, _p$.n));
|
|
9233
|
+
_v$10 !== _p$.s && (_p$.s = _$setProp(_el$16, "style", _v$10, _p$.s));
|
|
9234
|
+
_v$11 !== _p$.h && (_p$.h = _$setProp(_el$18, "style", _v$11, _p$.h));
|
|
9235
|
+
_v$12 !== _p$.r && (_p$.r = _$setProp(_el$20, "style", _v$12, _p$.r));
|
|
9236
|
+
_v$13 !== _p$.d && (_p$.d = _$setProp(_el$23, "style", _v$13, _p$.d));
|
|
9237
|
+
_v$14 !== _p$.l && (_p$.l = _$setProp(_el$25, "style", _v$14, _p$.l));
|
|
9238
|
+
_v$15 !== _p$.u && (_p$.u = _$setProp(_el$26, "style", _v$15, _p$.u));
|
|
9239
|
+
_v$16 !== _p$.c && (_p$.c = _$setProp(_el$28, "style", _v$16, _p$.c));
|
|
9240
|
+
_v$17 !== _p$.w && (_p$.w = _$setProp(_el$30, "style", _v$17, _p$.w));
|
|
9241
|
+
_v$18 !== _p$.m && (_p$.m = _$setProp(_el$32, "style", _v$18, _p$.m));
|
|
9242
|
+
_v$19 !== _p$.f && (_p$.f = _$setProp(_el$34, "style", _v$19, _p$.f));
|
|
9243
|
+
_v$20 !== _p$.y && (_p$.y = _$setProp(_el$36, "style", _v$20, _p$.y));
|
|
9244
|
+
_v$21 !== _p$.g && (_p$.g = _$setProp(_el$52, "borderColor", _v$21, _p$.g));
|
|
9245
|
+
_v$22 !== _p$.p && (_p$.p = _$setProp(_el$54, "style", _v$22, _p$.p));
|
|
9246
|
+
_v$23 !== _p$.b && (_p$.b = _$setProp(_el$55, "placeholder", _v$23, _p$.b));
|
|
9247
|
+
_v$24 !== _p$.T && (_p$.T = _$setProp(_el$55, "placeholderColor", _v$24, _p$.T));
|
|
9248
|
+
_v$25 !== _p$.A && (_p$.A = _$setProp(_el$55, "cursorColor", _v$25, _p$.A));
|
|
9249
|
+
_v$26 !== _p$.O && (_p$.O = _$setProp(_el$55, "focusedTextColor", _v$26, _p$.O));
|
|
9250
|
+
_v$27 !== _p$.I && (_p$.I = _$setProp(_el$55, "focusedBackgroundColor", _v$27, _p$.I));
|
|
9237
9251
|
return _p$;
|
|
9238
9252
|
}, {
|
|
9239
9253
|
e: undefined,
|
|
@@ -9261,7 +9275,7 @@ function LoopDashboard(props) {
|
|
|
9261
9275
|
O: undefined,
|
|
9262
9276
|
I: undefined
|
|
9263
9277
|
});
|
|
9264
|
-
return _el
|
|
9278
|
+
return _el$4;
|
|
9265
9279
|
})();
|
|
9266
9280
|
}
|
|
9267
9281
|
|
|
@@ -9905,7 +9919,6 @@ function createCommandStreamClient(options = {}) {
|
|
|
9905
9919
|
}
|
|
9906
9920
|
|
|
9907
9921
|
// src/tui/terminal-screen.ts
|
|
9908
|
-
var import_headless = __toESM(require_xterm_headless(), 1);
|
|
9909
9922
|
var BASE_COLORS = [
|
|
9910
9923
|
"#000000",
|
|
9911
9924
|
"#cd0000",
|
|
@@ -9944,8 +9957,9 @@ function paletteToHex(index) {
|
|
|
9944
9957
|
return toHex(g << 16 | g << 8 | g);
|
|
9945
9958
|
}
|
|
9946
9959
|
function createTerminalScreen(cols, rows) {
|
|
9960
|
+
const { Terminal } = require_xterm_headless();
|
|
9947
9961
|
function makeTerm(nextCols, nextRows) {
|
|
9948
|
-
return new
|
|
9962
|
+
return new Terminal({
|
|
9949
9963
|
cols: nextCols,
|
|
9950
9964
|
rows: nextRows,
|
|
9951
9965
|
scrollback: 0,
|
|
@@ -12595,15 +12609,6 @@ var v2setup = (ctx) => {
|
|
|
12595
12609
|
}
|
|
12596
12610
|
},
|
|
12597
12611
|
claimantID,
|
|
12598
|
-
onOutcome: (outcome, requestID) => {
|
|
12599
|
-
try {
|
|
12600
|
-
const {
|
|
12601
|
-
appendFileSync
|
|
12602
|
-
} = __require("fs");
|
|
12603
|
-
appendFileSync("/tmp/loopd-tui.log", `[${new Date().toISOString()}] native-worker request=${requestID} outcome=${JSON.stringify(outcome)}
|
|
12604
|
-
`);
|
|
12605
|
-
} catch {}
|
|
12606
|
-
},
|
|
12607
12612
|
isKnownParent: (parentSessionID) => {
|
|
12608
12613
|
const parent = ctx.data.session.get(parentSessionID);
|
|
12609
12614
|
if (!parent)
|