@bojackduy/opencode-loopd 1.12.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.
Files changed (3) hide show
  1. package/dist/server.js +1 -1
  2. package/dist/tui.js +1213 -1213
  3. package/package.json +1 -1
package/dist/tui.js CHANGED
@@ -5560,16 +5560,16 @@ ${i.join(`
5560
5560
  import { createComponent as _$createComponent4 } from "@opentui/solid";
5561
5561
 
5562
5562
  // src/tui/dashboard.tsx
5563
- import { use as _$use } from "@opentui/solid";
5564
- import { effect as _$effect } from "@opentui/solid";
5565
5563
  import { createComponent as _$createComponent } from "@opentui/solid";
5566
5564
  import { spread as _$spread } from "@opentui/solid";
5567
5565
  import { mergeProps as _$mergeProps } from "@opentui/solid";
5568
5566
  import { memo as _$memo } from "@opentui/solid";
5569
- import { insert as _$insert } from "@opentui/solid";
5570
5567
  import { createTextNode as _$createTextNode } from "@opentui/solid";
5571
5568
  import { insertNode as _$insertNode } from "@opentui/solid";
5569
+ import { effect as _$effect } from "@opentui/solid";
5570
+ import { insert as _$insert } from "@opentui/solid";
5572
5571
  import { setProp as _$setProp } from "@opentui/solid";
5572
+ import { use as _$use } from "@opentui/solid";
5573
5573
  import { createElement as _$createElement } from "@opentui/solid";
5574
5574
  import { createSignal, For, Show, onCleanup, onMount, createEffect } from "solid-js";
5575
5575
  import { useKeyboard } from "@opentui/solid";
@@ -6628,6 +6628,72 @@ function indexAgents(list) {
6628
6628
  }
6629
6629
  return map;
6630
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
+ }
6631
6697
  function LoopDashboard(props) {
6632
6698
  const theme = () => props.api.theme.current;
6633
6699
  const [mode, setMode] = createSignal("normal");
@@ -6653,7 +6719,6 @@ function LoopDashboard(props) {
6653
6719
  const [clock, setClock] = createSignal(Date.now());
6654
6720
  const [agentIndex, setAgentIndex] = createSignal({});
6655
6721
  let inputEl;
6656
- let listScrollRef;
6657
6722
  let focusTimer;
6658
6723
  const client = createControlClient(props.directory);
6659
6724
  const popMode = props.api.mode.push("loopd.dashboard");
@@ -6671,13 +6736,6 @@ function LoopDashboard(props) {
6671
6736
  try {
6672
6737
  const s = await client.getState();
6673
6738
  setState(s);
6674
- const goals = s.goals.filter((g) => showCompleted() || g.status !== "complete");
6675
- if (goals.length > 0 && selected() >= goals.length)
6676
- setSelected(goals.length - 1);
6677
- setSelectedGoal(goals[selected()] || null);
6678
- const cmds = visibleOwnerCommands(s.commands, ownerSessionID(), showCompleted());
6679
- if (cmds.length > 0 && cmdSelected() >= cmds.length)
6680
- setCmdSelected(cmds.length - 1);
6681
6739
  setEvents(await client.getEvents(20));
6682
6740
  } catch (e) {
6683
6741
  setStatusText(`Error: ${e instanceof Error ? e.message : String(e)}`);
@@ -7399,7 +7457,6 @@ function LoopDashboard(props) {
7399
7457
  returnToNormalMode();
7400
7458
  }
7401
7459
  const activeGoals = () => state()?.goals.filter((g) => showCompleted() || g.status !== "complete") || [];
7402
- const listHeight = () => Math.min(activeGoals().length, 10);
7403
7460
  const runningCount = () => state()?.runtimes.filter((runtime) => runtime.phase === "running").length || 0;
7404
7461
  const runningFrame = () => ["|", "/", "-", "\\"][Math.floor(clock() / 500) % 4];
7405
7462
  function handleBugReport() {
@@ -7412,125 +7469,120 @@ function LoopDashboard(props) {
7412
7469
  const res = openBrowserUrl(url);
7413
7470
  setStatusText(res.status === "opened" ? "Opening bug report in browser\u2026" : `Could not open browser: ${res.reason} \u2014 ${url}`);
7414
7471
  }
7415
- createEffect(() => setSelectedGoal(activeGoals()[selected()] || null));
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
+ });
7416
7477
  function rowIdFor(goalID) {
7417
7478
  return `loopd-goal-${goalID}`;
7418
7479
  }
7419
- createEffect(() => {
7420
- const goals = activeGoals();
7421
- const goal = goals[selected()];
7422
- if (!goal || !listScrollRef)
7423
- return;
7424
- try {
7425
- listScrollRef.scrollChildIntoView(rowIdFor(goal.id));
7426
- } catch {}
7427
- });
7428
7480
  return (() => {
7429
- var _el$ = _$createElement("box"), _el$2 = _$createElement("box"), _el$3 = _$createElement("box"), _el$4 = _$createElement("text"), _el$5 = _$createElement("span"), _el$7 = _$createElement("span"), _el$9 = _$createElement("span"), _el$0 = _$createTextNode(` `), _el$1 = _$createTextNode(` `), _el$10 = _$createElement("span"), _el$12 = _$createElement("span"), _el$13 = _$createElement("span"), _el$15 = _$createElement("span"), _el$17 = _$createElement("span"), _el$18 = _$createTextNode(` `), _el$19 = _$createTextNode(` acting now`), _el$20 = _$createElement("span"), _el$22 = _$createElement("span"), _el$23 = _$createElement("span"), _el$25 = _$createElement("span"), _el$27 = _$createElement("span"), _el$29 = _$createElement("span"), _el$31 = _$createElement("span"), _el$33 = _$createElement("span"), _el$35 = _$createElement("box"), _el$36 = _$createElement("text"), _el$37 = _$createElement("span"), _el$39 = _$createElement("box"), _el$51 = _$createElement("box"), _el$52 = _$createElement("text"), _el$53 = _$createElement("span"), _el$54 = _$createElement("input");
7430
- _$insertNode(_el$, _el$2);
7431
- _$setProp(_el$, "flexDirection", "column");
7432
- _$setProp(_el$, "width", "100%");
7433
- _$setProp(_el$, "alignItems", "center");
7434
- _$setProp(_el$, "padding", 1);
7435
- _$insertNode(_el$2, _el$3);
7436
- _$insertNode(_el$2, _el$39);
7437
- _$insertNode(_el$2, _el$51);
7438
- _$setProp(_el$2, "flexDirection", "column");
7439
- _$setProp(_el$2, "width", "90%");
7440
- _$setProp(_el$2, "border", true);
7441
- _$setProp(_el$2, "padding", 1);
7442
- _$insertNode(_el$3, _el$4);
7443
- _$insertNode(_el$3, _el$35);
7444
- _$setProp(_el$3, "flexDirection", "row");
7445
- _$setProp(_el$3, "justifyContent", "space-between");
7446
- _$setProp(_el$3, "alignItems", "center");
7447
- _$setProp(_el$3, "padding", 0);
7448
- _$setProp(_el$3, "flexShrink", 0);
7449
- _$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");
7450
7482
  _$insertNode(_el$4, _el$5);
7451
- _$insertNode(_el$4, _el$7);
7452
- _$insertNode(_el$4, _el$9);
7453
- _$insertNode(_el$4, _el$10);
7454
- _$insertNode(_el$4, _el$12);
7455
- _$insertNode(_el$4, _el$13);
7456
- _$insertNode(_el$4, _el$15);
7457
- _$insertNode(_el$4, _el$17);
7458
- _$insertNode(_el$4, _el$20);
7459
- _$insertNode(_el$4, _el$22);
7460
- _$insertNode(_el$4, _el$23);
7461
- _$insertNode(_el$4, _el$25);
7462
- _$insertNode(_el$4, _el$27);
7463
- _$insertNode(_el$4, _el$29);
7464
- _$insertNode(_el$4, _el$31);
7465
- _$insertNode(_el$4, _el$33);
7466
- _$insertNode(_el$5, _$createTextNode(`\u2B22 Loop Dashboard`));
7467
- _$insertNode(_el$7, _$createTextNode(` \u2502 `));
7468
- _$insertNode(_el$9, _el$0);
7469
- _$insertNode(_el$9, _el$1);
7470
- _$insert(_el$9, () => mode().toUpperCase(), _el$1);
7471
- _$insertNode(_el$10, _$createTextNode(` \u2502 `));
7472
- _$insert(_el$12, () => activeGoals().length);
7473
- _$insertNode(_el$13, _$createTextNode(` open`));
7474
- _$insertNode(_el$15, _$createTextNode(` \u2502 `));
7475
- _$insertNode(_el$17, _el$18);
7476
- _$insertNode(_el$17, _el$19);
7477
- _$insert(_el$17, (() => {
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, (() => {
7478
7530
  var _c$ = _$memo(() => runningCount() > 0);
7479
7531
  return () => _c$() ? runningFrame() : "\u25CB";
7480
- })(), _el$18);
7481
- _$insert(_el$17, runningCount, _el$19);
7482
- _$insertNode(_el$20, _$createTextNode(` \u2502 `));
7483
- _$insert(_el$22, () => state()?.goals.filter((g) => g.status === "complete").length || 0);
7484
- _$insertNode(_el$23, _$createTextNode(` done`));
7485
- _$insertNode(_el$25, _$createTextNode(` \u2502 `));
7486
- _$insertNode(_el$27, _$createTextNode(`[Goals]`));
7487
- _$insertNode(_el$29, _$createTextNode(` `));
7488
- _$insertNode(_el$31, _$createTextNode(`[Commands]`));
7489
- _$insertNode(_el$33, _$createTextNode(` (Tab)`));
7490
- _$insertNode(_el$35, _el$36);
7491
- _$setProp(_el$35, "flexDirection", "row");
7492
- _$setProp(_el$35, "alignItems", "center");
7493
- _$setProp(_el$35, "paddingLeft", 1);
7494
- _$setProp(_el$35, "paddingRight", 1);
7495
- _$setProp(_el$35, "flexShrink", 0);
7496
- _$spread(_el$35, _$mergeProps({
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({
7497
7549
  get backgroundColor() {
7498
7550
  return theme().error;
7499
7551
  }
7500
7552
  }, {
7501
7553
  onMouseDown: handleBugReport
7502
7554
  }), true);
7503
- _$insertNode(_el$36, _el$37);
7504
- _$insertNode(_el$37, _$createTextNode(`Bug Report`));
7505
- _$setProp(_el$37, "style", {
7555
+ _$insertNode(_el$39, _el$40);
7556
+ _$insertNode(_el$40, _$createTextNode(`Bug Report`));
7557
+ _$setProp(_el$40, "style", {
7506
7558
  fg: "white",
7507
7559
  bold: true
7508
7560
  });
7509
- _$setProp(_el$39, "flexDirection", "column");
7510
- _$setProp(_el$39, "flexShrink", 1);
7511
- _$setProp(_el$39, "minHeight", 0);
7512
- _$setProp(_el$39, "overflow", "hidden");
7513
- _$insert(_el$39, _$createComponent(Show, {
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, {
7514
7566
  get when() {
7515
7567
  return showHelp();
7516
7568
  },
7517
7569
  get children() {
7518
- var _el$40 = _$createElement("box"), _el$41 = _$createElement("text"), _el$42 = _$createElement("span");
7519
- _$insertNode(_el$40, _el$41);
7520
- _$setProp(_el$40, "flexDirection", "column");
7521
- _$setProp(_el$40, "padding", 1);
7522
- _$setProp(_el$40, "border", true);
7523
- _$setProp(_el$40, "borderColor", "yellow");
7524
- _$setProp(_el$40, "flexShrink", 0);
7525
- _$setProp(_el$40, "maxHeight", 17);
7526
- _$setProp(_el$40, "overflow", "hidden");
7527
- _$insertNode(_el$41, _el$42);
7528
- _$setProp(_el$42, "style", {
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", {
7529
7581
  fg: "yellow",
7530
7582
  bold: true
7531
7583
  });
7532
- _$insert(_el$42, () => tab() === "commands" ? "\u2501\u2501\u2501 Commands: ? help : insert c toggle done X kill R restart x remove-done o fullscreen q close \u2501\u2501\u2501" : "\u2501\u2501\u2501 Keys: ? toggle help c toggle done : insert Ctrl+N normal o open A abort worker N nudge q close \u2501\u2501\u2501");
7533
- _$insert(_el$41, _$createComponent(For, {
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, {
7534
7586
  get each() {
7535
7587
  return (tab() === "commands" ? commandTabHelp() : commandHelp()).split(`
7536
7588
  `);
@@ -7542,20 +7594,20 @@ function LoopDashboard(props) {
7542
7594
  const segments = rest.split(" | ");
7543
7595
  return [`
7544
7596
  `, (() => {
7545
- var _el$55 = _$createElement("span");
7546
- _$insert(_el$55, label);
7547
- _$effect((_$p) => _$setProp(_el$55, "style", {
7597
+ var _el$56 = _$createElement("span");
7598
+ _$insert(_el$56, label);
7599
+ _$effect((_$p) => _$setProp(_el$56, "style", {
7548
7600
  fg: theme().primary,
7549
7601
  bold: true
7550
7602
  }, _$p));
7551
- return _el$55;
7603
+ return _el$56;
7552
7604
  })(), (() => {
7553
- var _el$56 = _$createElement("span");
7554
- _$insertNode(_el$56, _$createTextNode(` `));
7555
- _$effect((_$p) => _$setProp(_el$56, "style", {
7605
+ var _el$57 = _$createElement("span");
7606
+ _$insertNode(_el$57, _$createTextNode(` `));
7607
+ _$effect((_$p) => _$setProp(_el$57, "style", {
7556
7608
  fg: theme().textMuted
7557
7609
  }, _$p));
7558
- return _el$56;
7610
+ return _el$57;
7559
7611
  })(), _$createComponent(For, {
7560
7612
  each: segments,
7561
7613
  children: (seg, idx) => {
@@ -7563,62 +7615,62 @@ function LoopDashboard(props) {
7563
7615
  if (hasArrow) {
7564
7616
  const [k, d] = seg.split("\u2192").map((s) => s.trim());
7565
7617
  return [_$memo(() => _$memo(() => idx() > 0)() && (() => {
7566
- var _el$62 = _$createElement("span");
7567
- _$insertNode(_el$62, _$createTextNode(` | `));
7568
- _$effect((_$p) => _$setProp(_el$62, "style", {
7618
+ var _el$63 = _$createElement("span");
7619
+ _$insertNode(_el$63, _$createTextNode(` | `));
7620
+ _$effect((_$p) => _$setProp(_el$63, "style", {
7569
7621
  fg: theme().textMuted
7570
7622
  }, _$p));
7571
- return _el$62;
7623
+ return _el$63;
7572
7624
  })()), (() => {
7573
- var _el$58 = _$createElement("span");
7574
- _$insert(_el$58, k);
7575
- _$effect((_$p) => _$setProp(_el$58, "style", {
7625
+ var _el$59 = _$createElement("span");
7626
+ _$insert(_el$59, k);
7627
+ _$effect((_$p) => _$setProp(_el$59, "style", {
7576
7628
  fg: theme().warning,
7577
7629
  bold: true
7578
7630
  }, _$p));
7579
- return _el$58;
7631
+ return _el$59;
7580
7632
  })(), (() => {
7581
- var _el$59 = _$createElement("span");
7582
- _$insertNode(_el$59, _$createTextNode(` \u2192 `));
7583
- _$effect((_$p) => _$setProp(_el$59, "style", {
7633
+ var _el$60 = _$createElement("span");
7634
+ _$insertNode(_el$60, _$createTextNode(` \u2192 `));
7635
+ _$effect((_$p) => _$setProp(_el$60, "style", {
7584
7636
  fg: theme().textMuted
7585
7637
  }, _$p));
7586
- return _el$59;
7638
+ return _el$60;
7587
7639
  })(), (() => {
7588
- var _el$61 = _$createElement("span");
7589
- _$insert(_el$61, d);
7590
- _$effect((_$p) => _$setProp(_el$61, "style", {
7640
+ var _el$62 = _$createElement("span");
7641
+ _$insert(_el$62, d);
7642
+ _$effect((_$p) => _$setProp(_el$62, "style", {
7591
7643
  fg: theme().text
7592
7644
  }, _$p));
7593
- return _el$61;
7645
+ return _el$62;
7594
7646
  })()];
7595
7647
  }
7596
7648
  const sp = seg.indexOf(" ");
7597
7649
  const k = sp > 0 ? seg.slice(0, sp) : seg;
7598
7650
  const d = sp > 0 ? seg.slice(sp + 1) : "";
7599
7651
  return [_$memo(() => _$memo(() => idx() > 0)() && (() => {
7600
- var _el$65 = _$createElement("span");
7601
- _$insertNode(_el$65, _$createTextNode(` | `));
7602
- _$effect((_$p) => _$setProp(_el$65, "style", {
7652
+ var _el$66 = _$createElement("span");
7653
+ _$insertNode(_el$66, _$createTextNode(` | `));
7654
+ _$effect((_$p) => _$setProp(_el$66, "style", {
7603
7655
  fg: theme().textMuted
7604
7656
  }, _$p));
7605
- return _el$65;
7657
+ return _el$66;
7606
7658
  })()), (() => {
7607
- var _el$64 = _$createElement("span");
7608
- _$insert(_el$64, k);
7609
- _$effect((_$p) => _$setProp(_el$64, "style", {
7659
+ var _el$65 = _$createElement("span");
7660
+ _$insert(_el$65, k);
7661
+ _$effect((_$p) => _$setProp(_el$65, "style", {
7610
7662
  fg: theme().warning,
7611
7663
  bold: true
7612
7664
  }, _$p));
7613
- return _el$64;
7665
+ return _el$65;
7614
7666
  })(), d && (() => {
7615
- var _el$67 = _$createElement("span"), _el$68 = _$createTextNode(` `);
7616
- _$insertNode(_el$67, _el$68);
7617
- _$insert(_el$67, d, null);
7618
- _$effect((_$p) => _$setProp(_el$67, "style", {
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", {
7619
7671
  fg: theme().text
7620
7672
  }, _$p));
7621
- return _el$67;
7673
+ return _el$68;
7622
7674
  })()];
7623
7675
  }
7624
7676
  })];
@@ -7630,54 +7682,54 @@ function LoopDashboard(props) {
7630
7682
  const desc = m?.[3] ?? line.split(/\s{2,}/)[1] ?? "";
7631
7683
  return [`
7632
7684
  `, (() => {
7633
- var _el$69 = _$createElement("span");
7634
- _$insert(_el$69, indent);
7635
- _$effect((_$p) => _$setProp(_el$69, "style", {
7685
+ var _el$70 = _$createElement("span");
7686
+ _$insert(_el$70, indent);
7687
+ _$effect((_$p) => _$setProp(_el$70, "style", {
7636
7688
  fg: theme().textMuted
7637
7689
  }, _$p));
7638
- return _el$69;
7690
+ return _el$70;
7639
7691
  })(), (() => {
7640
- var _el$70 = _$createElement("span");
7641
- _$insert(_el$70, key);
7642
- _$effect((_$p) => _$setProp(_el$70, "style", {
7692
+ var _el$71 = _$createElement("span");
7693
+ _$insert(_el$71, key);
7694
+ _$effect((_$p) => _$setProp(_el$71, "style", {
7643
7695
  fg: theme().warning,
7644
7696
  bold: true
7645
7697
  }, _$p));
7646
- return _el$70;
7698
+ return _el$71;
7647
7699
  })(), desc && [(() => {
7648
- var _el$71 = _$createElement("span");
7649
- _$insertNode(_el$71, _$createTextNode(` `));
7650
- _$effect((_$p) => _$setProp(_el$71, "style", {
7700
+ var _el$72 = _$createElement("span");
7701
+ _$insertNode(_el$72, _$createTextNode(` `));
7702
+ _$effect((_$p) => _$setProp(_el$72, "style", {
7651
7703
  fg: theme().textMuted
7652
7704
  }, _$p));
7653
- return _el$71;
7705
+ return _el$72;
7654
7706
  })(), (() => {
7655
- var _el$73 = _$createElement("span");
7656
- _$insert(_el$73, desc);
7657
- _$effect((_$p) => _$setProp(_el$73, "style", {
7707
+ var _el$74 = _$createElement("span");
7708
+ _$insert(_el$74, desc);
7709
+ _$effect((_$p) => _$setProp(_el$74, "style", {
7658
7710
  fg: theme().textMuted
7659
7711
  }, _$p));
7660
- return _el$73;
7712
+ return _el$74;
7661
7713
  })()]];
7662
7714
  }
7663
7715
  const isHeader = line.startsWith("Commands");
7664
7716
  return [`
7665
7717
  `, (() => {
7666
- var _el$74 = _$createElement("span");
7667
- _$insert(_el$74, line);
7668
- _$effect((_$p) => _$setProp(_el$74, "style", {
7718
+ var _el$75 = _$createElement("span");
7719
+ _$insert(_el$75, line);
7720
+ _$effect((_$p) => _$setProp(_el$75, "style", {
7669
7721
  fg: isHeader ? theme().primary : theme().textMuted,
7670
7722
  bold: isHeader
7671
7723
  }, _$p));
7672
- return _el$74;
7724
+ return _el$75;
7673
7725
  })()];
7674
7726
  }
7675
7727
  }), null);
7676
- _$effect((_$p) => _$setProp(_el$40, "backgroundColor", theme().background, _$p));
7677
- return _el$40;
7728
+ _$effect((_$p) => _$setProp(_el$43, "backgroundColor", theme().background, _$p));
7729
+ return _el$43;
7678
7730
  }
7679
7731
  }), null);
7680
- _$insert(_el$39, _$createComponent(Show, {
7732
+ _$insert(_el$42, _$createComponent(Show, {
7681
7733
  get when() {
7682
7734
  return tab() === "goals";
7683
7735
  },
@@ -7688,43 +7740,39 @@ function LoopDashboard(props) {
7688
7740
  },
7689
7741
  get fallback() {
7690
7742
  return (() => {
7691
- var _el$75 = _$createElement("box"), _el$76 = _$createElement("text"), _el$77 = _$createElement("span"), _el$79 = _$createElement("span"), _el$81 = _$createElement("span"), _el$83 = _$createElement("text"), _el$84 = _$createElement("span"), _el$86 = _$createElement("span"), _el$88 = _$createElement("span"), _el$90 = _$createElement("span"), _el$92 = _$createElement("span"), _el$94 = _$createElement("span"), _el$96 = _$createElement("span");
7692
- _$insertNode(_el$75, _el$76);
7693
- _$insertNode(_el$75, _el$83);
7694
- _$setProp(_el$75, "flexDirection", "column");
7695
- _$setProp(_el$75, "gap", 1);
7696
- _$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");
7697
7744
  _$insertNode(_el$76, _el$77);
7698
- _$insertNode(_el$76, _el$79);
7699
- _$insertNode(_el$76, _el$81);
7700
- _$insertNode(_el$77, _$createTextNode(`No active goals.`));
7701
- _$insertNode(_el$79, _$createTextNode(` /goal`));
7702
- _$insertNode(_el$81, _$createTextNode(` in parent chat to create one.`));
7703
- _$insertNode(_el$83, _el$84);
7704
- _$insertNode(_el$83, _el$86);
7705
- _$insertNode(_el$83, _el$88);
7706
- _$insertNode(_el$83, _el$90);
7707
- _$insertNode(_el$83, _el$92);
7708
- _$insertNode(_el$83, _el$94);
7709
- _$insertNode(_el$83, _el$96);
7710
- _$insertNode(_el$84, _$createTextNode(`Tip: `));
7711
- _$insertNode(_el$86, _$createTextNode(`:send`));
7712
- _$insertNode(_el$88, _$createTextNode(` to steer the worker \xB7 `));
7713
- _$insertNode(_el$90, _$createTextNode(`o`));
7714
- _$insertNode(_el$92, _$createTextNode(` to open child \xB7 `));
7715
- _$insertNode(_el$94, _$createTextNode(`:force`));
7716
- _$insertNode(_el$96, _$createTextNode(` to complete manually.`));
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.`));
7717
7769
  _$effect((_p$) => {
7718
- var _v$26 = {
7719
- fg: theme().textMuted
7720
- }, _v$27 = {
7721
- fg: theme().accent
7722
- }, _v$28 = {
7770
+ var _v$28 = {
7723
7771
  fg: theme().textMuted
7724
7772
  }, _v$29 = {
7725
- fg: theme().textMuted
7773
+ fg: theme().accent
7726
7774
  }, _v$30 = {
7727
- fg: theme().warning
7775
+ fg: theme().textMuted
7728
7776
  }, _v$31 = {
7729
7777
  fg: theme().textMuted
7730
7778
  }, _v$32 = {
@@ -7735,17 +7783,21 @@ function LoopDashboard(props) {
7735
7783
  fg: theme().warning
7736
7784
  }, _v$35 = {
7737
7785
  fg: theme().textMuted
7786
+ }, _v$36 = {
7787
+ fg: theme().warning
7788
+ }, _v$37 = {
7789
+ fg: theme().textMuted
7738
7790
  };
7739
- _v$26 !== _p$.e && (_p$.e = _$setProp(_el$77, "style", _v$26, _p$.e));
7740
- _v$27 !== _p$.t && (_p$.t = _$setProp(_el$79, "style", _v$27, _p$.t));
7741
- _v$28 !== _p$.a && (_p$.a = _$setProp(_el$81, "style", _v$28, _p$.a));
7742
- _v$29 !== _p$.o && (_p$.o = _$setProp(_el$84, "style", _v$29, _p$.o));
7743
- _v$30 !== _p$.i && (_p$.i = _$setProp(_el$86, "style", _v$30, _p$.i));
7744
- _v$31 !== _p$.n && (_p$.n = _$setProp(_el$88, "style", _v$31, _p$.n));
7745
- _v$32 !== _p$.s && (_p$.s = _$setProp(_el$90, "style", _v$32, _p$.s));
7746
- _v$33 !== _p$.h && (_p$.h = _$setProp(_el$92, "style", _v$33, _p$.h));
7747
- _v$34 !== _p$.r && (_p$.r = _$setProp(_el$94, "style", _v$34, _p$.r));
7748
- _v$35 !== _p$.d && (_p$.d = _$setProp(_el$96, "style", _v$35, _p$.d));
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));
7749
7801
  return _p$;
7750
7802
  }, {
7751
7803
  e: undefined,
@@ -7759,250 +7811,206 @@ function LoopDashboard(props) {
7759
7811
  r: undefined,
7760
7812
  d: undefined
7761
7813
  });
7762
- return _el$75;
7814
+ return _el$76;
7763
7815
  })();
7764
7816
  },
7765
7817
  get children() {
7766
- var _el$43 = _$createElement("scrollbox");
7767
- _$use((el) => {
7768
- listScrollRef = el;
7769
- }, _el$43);
7770
- _$insert(_el$43, _$createComponent(For, {
7771
- get each() {
7772
- return activeGoals();
7818
+ return _$createComponent(DashboardList, {
7819
+ get count() {
7820
+ return activeGoals().length;
7773
7821
  },
7774
- children: (goal, i) => {
7775
- const runtime = () => state()?.runtimes.find((r) => r.goalID === goal.id);
7776
- const isActive = () => i() === selected();
7777
- const maxTurns = goal.config?.maxTurns;
7778
- const turnColor = () => {
7779
- if (!runtime() || !maxTurns)
7780
- return phaseColor(runtime()?.phase || "idle", theme());
7781
- const ratio = runtime().budgetTurnCount / maxTurns;
7782
- if (ratio >= 1)
7783
- return theme().error;
7784
- if (ratio >= 0.8)
7785
- return theme().warning;
7786
- return phaseColor(runtime().phase || "idle", theme());
7787
- };
7788
- return (() => {
7789
- var _el$98 = _$createElement("box"), _el$99 = _$createElement("text"), _el$100 = _$createElement("span"), _el$101 = _$createElement("span"), _el$103 = _$createElement("span"), _el$105 = _$createElement("span");
7790
- _$insertNode(_el$98, _el$99);
7791
- _$setProp(_el$98, "flexDirection", "row");
7792
- _$setProp(_el$98, "paddingLeft", 1);
7793
- _$setProp(_el$98, "paddingRight", 1);
7794
- _$insertNode(_el$99, _el$100);
7795
- _$insertNode(_el$99, _el$101);
7796
- _$insertNode(_el$99, _el$103);
7797
- _$insertNode(_el$99, _el$105);
7798
- _$setProp(_el$99, "wrapMode", "none");
7799
- _$setProp(_el$99, "truncate", true);
7800
- _$insert(_el$100, (() => {
7801
- var _c$2 = _$memo(() => !!isActive());
7802
- return () => _c$2() ? `\u25B6 ${statusIcon(goal.status)} ${goal.name}` : ` ${statusIcon(goal.status)} ${goal.name}`;
7803
- })());
7804
- _$insertNode(_el$101, _$createTextNode(` \u2502 `));
7805
- _$insertNode(_el$103, _$createTextNode(`Goal `));
7806
- _$insert(_el$105, () => goalStatusLabel(goal.status).short.toUpperCase());
7807
- _$insert(_el$99, (() => {
7808
- var _c$3 = _$memo(() => !!runtime());
7809
- return () => _c$3() && [(() => {
7810
- var _el$106 = _$createElement("span");
7811
- _$insertNode(_el$106, _$createTextNode(` \u2502 Worker `));
7812
- _$effect((_$p) => _$setProp(_el$106, "style", {
7813
- fg: theme().textMuted
7814
- }, _$p));
7815
- return _el$106;
7816
- })(), (() => {
7817
- var _el$108 = _$createElement("span"), _el$109 = _$createTextNode(` `);
7818
- _$insertNode(_el$108, _el$109);
7819
- _$insert(_el$108, (() => {
7820
- var _c$12 = _$memo(() => runtime().phase === "running");
7821
- return () => _c$12() ? runningFrame() : phaseIcon(runtime().phase);
7822
- })(), _el$109);
7823
- _$insert(_el$108, () => phaseLabel(runtime().phase).short.toUpperCase(), null);
7824
- _$effect((_$p) => _$setProp(_el$108, "style", {
7825
- fg: turnColor(),
7826
- bold: runtime().phase === "running"
7827
- }, _$p));
7828
- return _el$108;
7829
- })(), (() => {
7830
- var _el$110 = _$createElement("span"), _el$111 = _$createTextNode(` `);
7831
- _$insertNode(_el$110, _el$111);
7832
- _$insert(_el$110, () => runtime().budgetTurnCount, null);
7833
- _$insert(_el$110, maxTurns ? `/${maxTurns}` : "", null);
7834
- _$effect((_$p) => _$setProp(_el$110, "style", {
7835
- fg: turnColor()
7836
- }, _$p));
7837
- return _el$110;
7838
- })(), (() => {
7839
- var _el$112 = _$createElement("span"), _el$113 = _$createTextNode(` `);
7840
- _$insertNode(_el$112, _el$113);
7841
- _$insert(_el$112, () => ageLabel(runtime().lastProgressAt || runtime().lastRunAt, clock()), null);
7842
- _$effect((_$p) => _$setProp(_el$112, "style", {
7843
- fg: theme().textMuted
7844
- }, _$p));
7845
- return _el$112;
7846
- })()];
7847
- })(), null);
7848
- _$insert(_el$99, (() => {
7849
- var _c$4 = _$memo(() => !!(runtime() && runtime().consecutiveFailures > 0));
7850
- return () => _c$4() && (() => {
7851
- var _el$114 = _$createElement("span"), _el$115 = _$createTextNode(` \u2502 \u26A0 `), _el$116 = _$createTextNode(` fail`);
7852
- _$insertNode(_el$114, _el$115);
7853
- _$insertNode(_el$114, _el$116);
7854
- _$insert(_el$114, () => runtime().consecutiveFailures, _el$116);
7855
- _$effect((_$p) => _$setProp(_el$114, "style", {
7856
- fg: theme().error,
7857
- bold: true
7858
- }, _$p));
7859
- return _el$114;
7860
- })();
7861
- })(), null);
7862
- _$insert(_el$99, (() => {
7863
- var _c$5 = _$memo(() => !!(runtime() && (runtime().noProgressCount || 0) > 0));
7864
- return () => _c$5() && (() => {
7865
- var _el$117 = _$createElement("span"), _el$118 = _$createTextNode(` \u2502 `), _el$119 = _$createTextNode(` no-progress`);
7866
- _$insertNode(_el$117, _el$118);
7867
- _$insertNode(_el$117, _el$119);
7868
- _$insert(_el$117, () => runtime().noProgressCount, _el$119);
7869
- _$effect((_$p) => _$setProp(_el$117, "style", {
7870
- fg: theme().warning
7871
- }, _$p));
7872
- return _el$117;
7873
- })();
7874
- })(), null);
7875
- _$insert(_el$99, (() => {
7876
- var _c$6 = _$memo(() => !!(runtime() && runtime().evaluatorRejectionCount > 0));
7877
- return () => _c$6() && (() => {
7878
- var _el$120 = _$createElement("span"), _el$121 = _$createTextNode(` \u2502 \u26A0 `), _el$122 = _$createTextNode(` rejected`);
7879
- _$insertNode(_el$120, _el$121);
7880
- _$insertNode(_el$120, _el$122);
7881
- _$insert(_el$120, () => String(runtime().evaluatorRejectionCount), _el$122);
7882
- _$effect((_$p) => _$setProp(_el$120, "style", {
7883
- fg: theme().warning,
7884
- bold: true
7885
- }, _$p));
7886
- return _el$120;
7887
- })();
7888
- })(), null);
7889
- _$insert(_el$99, (() => {
7890
- var _c$7 = _$memo(() => !!(runtime() && runtime().unknownStatusCount >= 3));
7891
- return () => _c$7() && (() => {
7892
- var _el$123 = _$createElement("span");
7893
- _$insertNode(_el$123, _$createTextNode(` \u2502 \u26A0\uFE0F UNREACHABLE`));
7894
- _$effect((_$p) => _$setProp(_el$123, "style", {
7895
- fg: theme().error,
7896
- bold: true
7897
- }, _$p));
7898
- return _el$123;
7899
- })();
7900
- })(), null);
7901
- _$insert(_el$99, (() => {
7902
- var _c$8 = _$memo(() => !!(runtime() && runtime().phase === "idle" && runtime().activeRunID));
7903
- return () => _c$8() && (() => {
7904
- var _el$125 = _$createElement("span");
7905
- _$insertNode(_el$125, _$createTextNode(` \u2502 \u26A0\uFE0F STALE LEASE`));
7906
- _$effect((_$p) => _$setProp(_el$125, "style", {
7907
- fg: theme().error,
7908
- bold: true
7909
- }, _$p));
7910
- return _el$125;
7911
- })();
7912
- })(), null);
7913
- _$insert(_el$99, (() => {
7914
- var _c$9 = _$memo(() => goal.interactive === true);
7915
- return () => _c$9() && (() => {
7916
- var _el$127 = _$createElement("span");
7917
- _$insertNode(_el$127, _$createTextNode(` \u2502 \u270B MANUAL`));
7918
- _$effect((_$p) => _$setProp(_el$127, "style", {
7919
- fg: theme().accent,
7920
- bold: true
7921
- }, _$p));
7922
- return _el$127;
7923
- })();
7924
- })(), null);
7925
- _$insert(_el$99, (() => {
7926
- var _c$0 = _$memo(() => !!goal.config.model);
7927
- return () => _c$0() && (() => {
7928
- var _el$129 = _$createElement("span"), _el$130 = _$createTextNode(` \u2502 \uD83E\uDDE0 `);
7929
- _$insertNode(_el$129, _el$130);
7930
- _$insert(_el$129, () => goal.config.model, null);
7931
- _$effect((_$p) => _$setProp(_el$129, "style", {
7932
- fg: theme().info
7933
- }, _$p));
7934
- return _el$129;
7935
- })();
7936
- })(), null);
7937
- _$insert(_el$99, (() => {
7938
- var _c$1 = _$memo(() => !!goal.config.agent);
7939
- return () => _c$1() && (() => {
7940
- var _el$131 = _$createElement("span"), _el$132 = _$createTextNode(` \u2502 \uD83E\uDD16 `);
7941
- _$insertNode(_el$131, _el$132);
7942
- _$insert(_el$131, () => goal.config.agent, null);
7943
- _$effect((_$p) => _$setProp(_el$131, "style", {
7944
- fg: theme().info
7945
- }, _$p));
7946
- return _el$131;
7947
- })();
7948
- })(), null);
7949
- _$insert(_el$99, (() => {
7950
- var _c$10 = _$memo(() => !!(runtime() && runtime().retryAfter));
7951
- return () => _c$10() && (() => {
7952
- var _el$133 = _$createElement("span"), _el$134 = _$createTextNode(` \u2502 \u21BB `);
7953
- _$insertNode(_el$133, _el$134);
7954
- _$insert(_el$133, () => countdownLabel(runtime().retryAfter, clock()), null);
7955
- _$effect((_$p) => _$setProp(_el$133, "style", {
7956
- fg: theme().accent
7957
- }, _$p));
7958
- return _el$133;
7959
- })();
7960
- })(), null);
7961
- _$insert(_el$99, (() => {
7962
- var _c$11 = _$memo(() => !!(runtime() && runtime().nextRunAt));
7963
- return () => _c$11() && (() => {
7964
- var _el$135 = _$createElement("span"), _el$136 = _$createTextNode(` \u2502 \u23F0 `);
7965
- _$insertNode(_el$135, _el$136);
7966
- _$insert(_el$135, () => countdownLabel(runtime().nextRunAt, clock()), null);
7967
- _$effect((_$p) => _$setProp(_el$135, "style", {
7968
- fg: theme().accent
7969
- }, _$p));
7970
- return _el$135;
7971
- })();
7972
- })(), null);
7973
- _$effect((_p$) => {
7974
- var _v$36 = rowIdFor(goal.id), _v$37 = isActive() ? theme().backgroundElement : undefined, _v$38 = {
7975
- fg: statusColor(goal.status, theme()),
7976
- bold: isActive()
7977
- }, _v$39 = {
7978
- fg: theme().textMuted
7979
- }, _v$40 = {
7980
- fg: theme().textMuted
7981
- }, _v$41 = {
7982
- fg: statusColor(goal.status, theme()),
7983
- 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());
7984
7843
  };
7985
- _v$36 !== _p$.e && (_p$.e = _$setProp(_el$98, "id", _v$36, _p$.e));
7986
- _v$37 !== _p$.t && (_p$.t = _$setProp(_el$98, "backgroundColor", _v$37, _p$.t));
7987
- _v$38 !== _p$.a && (_p$.a = _$setProp(_el$100, "style", _v$38, _p$.a));
7988
- _v$39 !== _p$.o && (_p$.o = _$setProp(_el$101, "style", _v$39, _p$.o));
7989
- _v$40 !== _p$.i && (_p$.i = _$setProp(_el$103, "style", _v$40, _p$.i));
7990
- _v$41 !== _p$.n && (_p$.n = _$setProp(_el$105, "style", _v$41, _p$.n));
7991
- return _p$;
7992
- }, {
7993
- e: undefined,
7994
- t: undefined,
7995
- a: undefined,
7996
- o: undefined,
7997
- i: undefined,
7998
- n: undefined
7999
- });
8000
- return _el$98;
8001
- })();
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
+ });
8002
8012
  }
8003
- }));
8004
- _$effect((_$p) => _$setProp(_el$43, "height", listHeight(), _$p));
8005
- return _el$43;
8013
+ });
8006
8014
  }
8007
8015
  }), _$createComponent(Show, {
8008
8016
  get when() {
@@ -8013,633 +8021,633 @@ function LoopDashboard(props) {
8013
8021
  const lp = () => goal().lastProgress;
8014
8022
  const blk = () => goal().blocker;
8015
8023
  return (() => {
8016
- var _el$137 = _$createElement("box"), _el$138 = _$createElement("text"), _el$139 = _$createElement("span"), _el$140 = _$createTextNode(` `), _el$141 = _$createElement("span"), _el$143 = _$createElement("span"), _el$144 = _$createTextNode(` \u2014 `), _el$145 = _$createTextNode(`
8017
- `), _el$146 = _$createElement("span"), _el$147 = _$createTextNode(`
8018
- `), _el$148 = _$createElement("span"), _el$150 = _$createElement("span");
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");
8027
+ _$insertNode(_el$136, _el$137);
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);
8019
8033
  _$insertNode(_el$137, _el$138);
8020
- _$setProp(_el$137, "flexDirection", "column");
8021
- _$setProp(_el$137, "border", true);
8022
- _$setProp(_el$137, "padding", 1);
8023
- _$setProp(_el$137, "flexShrink", 0);
8024
- _$setProp(_el$137, "maxHeight", 13);
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);
8025
8041
  _$insertNode(_el$138, _el$139);
8026
- _$insertNode(_el$138, _el$141);
8027
- _$insertNode(_el$138, _el$143);
8028
- _$insertNode(_el$138, _el$145);
8029
- _$insertNode(_el$138, _el$146);
8030
- _$insertNode(_el$138, _el$147);
8031
- _$insertNode(_el$138, _el$148);
8032
- _$insertNode(_el$138, _el$150);
8033
- _$insertNode(_el$139, _el$140);
8034
- _$insert(_el$139, () => statusIcon(goal().status), _el$140);
8035
- _$insert(_el$139, () => goal().name, null);
8036
- _$insertNode(_el$141, _$createTextNode(` Goal `));
8037
- _$insertNode(_el$143, _el$144);
8038
- _$insert(_el$143, () => goalStatusLabel(goal().status).short, _el$144);
8039
- _$insert(_el$143, () => goalStatusLabel(goal().status).hint, null);
8040
- _$insert(_el$138, (() => {
8041
- var _c$13 = _$memo(() => !!rt());
8042
- return () => _c$13() && [(() => {
8043
- var _el$151 = _$createElement("span");
8044
- _$insertNode(_el$151, _$createTextNode(` \u2502 Worker `));
8045
- _$effect((_$p) => _$setProp(_el$151, "style", {
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", {
8046
8054
  fg: theme().textMuted
8047
8055
  }, _$p));
8048
- return _el$151;
8056
+ return _el$150;
8049
8057
  })(), (() => {
8050
- var _el$153 = _$createElement("span"), _el$154 = _$createTextNode(` `), _el$155 = _$createTextNode(` \u2014 `);
8051
- _$insertNode(_el$153, _el$154);
8052
- _$insertNode(_el$153, _el$155);
8053
- _$insert(_el$153, () => phaseIcon(rt().phase), _el$154);
8054
- _$insert(_el$153, () => phaseLabel(rt().phase).short, _el$155);
8055
- _$insert(_el$153, () => phaseLabel(rt().phase).hint, null);
8056
- _$effect((_$p) => _$setProp(_el$153, "style", {
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", {
8057
8065
  fg: phaseColor(rt().phase, theme()),
8058
8066
  bold: true
8059
8067
  }, _$p));
8060
- return _el$153;
8068
+ return _el$152;
8061
8069
  })(), (() => {
8062
- var _el$156 = _$createElement("span"), _el$157 = _$createTextNode(` run `), _el$158 = _$createTextNode(` (budget `), _el$159 = _$createTextNode(`)`);
8063
- _$insertNode(_el$156, _el$157);
8064
- _$insertNode(_el$156, _el$158);
8065
- _$insertNode(_el$156, _el$159);
8066
- _$insert(_el$156, () => rt().runCount, _el$158);
8067
- _$insert(_el$156, () => rt().budgetTurnCount, _el$159);
8068
- _$effect((_$p) => _$setProp(_el$156, "style", {
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", {
8069
8077
  fg: theme().textMuted
8070
8078
  }, _$p));
8071
- return _el$156;
8079
+ return _el$155;
8072
8080
  })()];
8073
- })(), _el$145);
8074
- _$insert(_el$146, () => describeGoalState(goal().status, rt()?.phase));
8075
- _$insert(_el$138, (() => {
8076
- var _c$14 = _$memo(() => !!rt()?.workerAbortedAt);
8077
- return () => _c$14() && [(() => {
8078
- var _el$160 = _$createElement("span");
8079
- _$insertNode(_el$160, _$createTextNode(` \u2502 \u26A0 worker aborted `));
8080
- _$effect((_$p) => _$setProp(_el$160, "style", {
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", {
8081
8089
  fg: theme().warning,
8082
8090
  bold: true
8083
8091
  }, _$p));
8084
- return _el$160;
8092
+ return _el$159;
8085
8093
  })(), (() => {
8086
- var _el$162 = _$createElement("span"), _el$163 = _$createTextNode(` \u2014 session kept, next turn reuses it`);
8087
- _$insertNode(_el$162, _el$163);
8088
- _$insert(_el$162, () => ageLabel(rt().workerAbortedAt, clock()), _el$163);
8089
- _$effect((_$p) => _$setProp(_el$162, "style", {
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", {
8090
8098
  fg: theme().textMuted
8091
8099
  }, _$p));
8092
- return _el$162;
8100
+ return _el$161;
8093
8101
  })()];
8094
- })(), _el$147);
8095
- _$insert(_el$138, () => {
8102
+ })(), _el$146);
8103
+ _$insert(_el$137, () => {
8096
8104
  const agentName = goal().config.agent;
8097
8105
  const meta = agentName ? agentIndex()[agentName] ?? agentIndex()[agentName.toLowerCase()] : undefined;
8098
8106
  const model = goal().config.model;
8099
8107
  const slash = model?.indexOf("/") ?? -1;
8100
8108
  return [`
8101
8109
  `, (() => {
8102
- var _el$164 = _$createElement("span");
8103
- _$insertNode(_el$164, _$createTextNode(`\uD83E\uDD16 `));
8104
- _$effect((_$p) => _$setProp(_el$164, "style", {
8110
+ var _el$163 = _$createElement("span");
8111
+ _$insertNode(_el$163, _$createTextNode(`\uD83E\uDD16 `));
8112
+ _$effect((_$p) => _$setProp(_el$163, "style", {
8105
8113
  fg: theme().textMuted
8106
8114
  }, _$p));
8107
- return _el$164;
8115
+ return _el$163;
8108
8116
  })(), (() => {
8109
- var _el$166 = _$createElement("span");
8110
- _$insertNode(_el$166, _$createTextNode(`Agent: `));
8111
- _$effect((_$p) => _$setProp(_el$166, "style", {
8117
+ var _el$165 = _$createElement("span");
8118
+ _$insertNode(_el$165, _$createTextNode(`Agent: `));
8119
+ _$effect((_$p) => _$setProp(_el$165, "style", {
8112
8120
  fg: theme().primary,
8113
8121
  bold: true
8114
8122
  }, _$p));
8115
- return _el$166;
8123
+ return _el$165;
8116
8124
  })(), _$memo(() => agentName ? [(() => {
8117
- var _el$182 = _$createElement("span");
8118
- _$insert(_el$182, agentName);
8119
- _$effect((_$p) => _$setProp(_el$182, "style", {
8125
+ var _el$181 = _$createElement("span");
8126
+ _$insert(_el$181, agentName);
8127
+ _$effect((_$p) => _$setProp(_el$181, "style", {
8120
8128
  fg: agentColor(meta?.color, theme()),
8121
8129
  bold: true
8122
8130
  }, _$p));
8123
- return _el$182;
8131
+ return _el$181;
8124
8132
  })(), _$memo(() => _$memo(() => !!meta?.mode)() && (() => {
8125
- var _el$183 = _$createElement("span"), _el$184 = _$createTextNode(` (`), _el$185 = _$createTextNode(`)`);
8126
- _$insertNode(_el$183, _el$184);
8127
- _$insertNode(_el$183, _el$185);
8128
- _$insert(_el$183, () => meta.mode, _el$185);
8129
- _$effect((_$p) => _$setProp(_el$183, "style", {
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", {
8130
8138
  fg: theme().textMuted
8131
8139
  }, _$p));
8132
- return _el$183;
8140
+ return _el$182;
8133
8141
  })())] : goal().parentAgent ? [(() => {
8134
- var _el$186 = _$createElement("span");
8135
- _$insertNode(_el$186, _$createTextNode(`\u21A9 `));
8136
- _$effect((_$p) => _$setProp(_el$186, "style", {
8142
+ var _el$185 = _$createElement("span");
8143
+ _$insertNode(_el$185, _$createTextNode(`\u21A9 `));
8144
+ _$effect((_$p) => _$setProp(_el$185, "style", {
8137
8145
  fg: theme().textMuted
8138
8146
  }, _$p));
8139
- return _el$186;
8147
+ return _el$185;
8140
8148
  })(), (() => {
8141
- var _el$188 = _$createElement("span");
8142
- _$insert(_el$188, () => goal().parentAgent);
8143
- _$effect((_$p) => _$setProp(_el$188, "style", {
8149
+ var _el$187 = _$createElement("span");
8150
+ _$insert(_el$187, () => goal().parentAgent);
8151
+ _$effect((_$p) => _$setProp(_el$187, "style", {
8144
8152
  fg: theme().text,
8145
8153
  bold: true
8146
8154
  }, _$p));
8147
- return _el$188;
8155
+ return _el$187;
8148
8156
  })(), (() => {
8149
- var _el$189 = _$createElement("span");
8150
- _$insertNode(_el$189, _$createTextNode(` (parent)`));
8151
- _$effect((_$p) => _$setProp(_el$189, "style", {
8157
+ var _el$188 = _$createElement("span");
8158
+ _$insertNode(_el$188, _$createTextNode(` (parent)`));
8159
+ _$effect((_$p) => _$setProp(_el$188, "style", {
8152
8160
  fg: theme().textMuted
8153
8161
  }, _$p));
8154
- return _el$189;
8162
+ return _el$188;
8155
8163
  })()] : (() => {
8156
- var _el$191 = _$createElement("span");
8157
- _$insertNode(_el$191, _$createTextNode(`parent`));
8158
- _$effect((_$p) => _$setProp(_el$191, "style", {
8164
+ var _el$190 = _$createElement("span");
8165
+ _$insertNode(_el$190, _$createTextNode(`parent`));
8166
+ _$effect((_$p) => _$setProp(_el$190, "style", {
8159
8167
  fg: theme().textMuted
8160
8168
  }, _$p));
8161
- return _el$191;
8169
+ return _el$190;
8162
8170
  })()), (() => {
8163
- var _el$168 = _$createElement("span");
8164
- _$insertNode(_el$168, _$createTextNode(` \u2502 \uD83E\uDDE0 `));
8165
- _$effect((_$p) => _$setProp(_el$168, "style", {
8171
+ var _el$167 = _$createElement("span");
8172
+ _$insertNode(_el$167, _$createTextNode(` \u2502 \uD83E\uDDE0 `));
8173
+ _$effect((_$p) => _$setProp(_el$167, "style", {
8166
8174
  fg: theme().textMuted
8167
8175
  }, _$p));
8168
- return _el$168;
8176
+ return _el$167;
8169
8177
  })(), (() => {
8170
- var _el$170 = _$createElement("span");
8171
- _$insertNode(_el$170, _$createTextNode(`Model: `));
8172
- _$effect((_$p) => _$setProp(_el$170, "style", {
8178
+ var _el$169 = _$createElement("span");
8179
+ _$insertNode(_el$169, _$createTextNode(`Model: `));
8180
+ _$effect((_$p) => _$setProp(_el$169, "style", {
8173
8181
  fg: theme().primary,
8174
8182
  bold: true
8175
8183
  }, _$p));
8176
- return _el$170;
8184
+ return _el$169;
8177
8185
  })(), _$memo(() => model && slash > 0 ? [(() => {
8178
- var _el$193 = _$createElement("span"), _el$194 = _$createTextNode(`/`);
8179
- _$insertNode(_el$193, _el$194);
8180
- _$insert(_el$193, () => model.slice(0, slash), _el$194);
8181
- _$effect((_$p) => _$setProp(_el$193, "style", {
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", {
8182
8190
  fg: theme().textMuted
8183
8191
  }, _$p));
8184
- return _el$193;
8192
+ return _el$192;
8185
8193
  })(), (() => {
8186
- var _el$195 = _$createElement("span");
8187
- _$insert(_el$195, () => model.slice(slash + 1));
8188
- _$effect((_$p) => _$setProp(_el$195, "style", {
8194
+ var _el$194 = _$createElement("span");
8195
+ _$insert(_el$194, () => model.slice(slash + 1));
8196
+ _$effect((_$p) => _$setProp(_el$194, "style", {
8189
8197
  fg: theme().info,
8190
8198
  bold: true
8191
8199
  }, _$p));
8192
- return _el$195;
8200
+ return _el$194;
8193
8201
  })()] : goal().parentModel ? [(() => {
8194
- var _el$196 = _$createElement("span");
8195
- _$insertNode(_el$196, _$createTextNode(`\u21A9 `));
8196
- _$effect((_$p) => _$setProp(_el$196, "style", {
8202
+ var _el$195 = _$createElement("span");
8203
+ _$insertNode(_el$195, _$createTextNode(`\u21A9 `));
8204
+ _$effect((_$p) => _$setProp(_el$195, "style", {
8197
8205
  fg: theme().textMuted
8198
8206
  }, _$p));
8199
- return _el$196;
8207
+ return _el$195;
8200
8208
  })(), (() => {
8201
- var _el$198 = _$createElement("span");
8202
- _$insert(_el$198, () => goal().parentModel);
8203
- _$effect((_$p) => _$setProp(_el$198, "style", {
8209
+ var _el$197 = _$createElement("span");
8210
+ _$insert(_el$197, () => goal().parentModel);
8211
+ _$effect((_$p) => _$setProp(_el$197, "style", {
8204
8212
  fg: theme().info,
8205
8213
  bold: true
8206
8214
  }, _$p));
8207
- return _el$198;
8215
+ return _el$197;
8208
8216
  })(), (() => {
8209
- var _el$199 = _$createElement("span");
8210
- _$insertNode(_el$199, _$createTextNode(` (parent)`));
8211
- _$effect((_$p) => _$setProp(_el$199, "style", {
8217
+ var _el$198 = _$createElement("span");
8218
+ _$insertNode(_el$198, _$createTextNode(` (parent)`));
8219
+ _$effect((_$p) => _$setProp(_el$198, "style", {
8212
8220
  fg: theme().textMuted
8213
8221
  }, _$p));
8214
- return _el$199;
8222
+ return _el$198;
8215
8223
  })()] : (() => {
8216
- var _el$201 = _$createElement("span");
8217
- _$insertNode(_el$201, _$createTextNode(`parent`));
8218
- _$effect((_$p) => _$setProp(_el$201, "style", {
8224
+ var _el$200 = _$createElement("span");
8225
+ _$insertNode(_el$200, _$createTextNode(`parent`));
8226
+ _$effect((_$p) => _$setProp(_el$200, "style", {
8219
8227
  fg: theme().textMuted
8220
8228
  }, _$p));
8221
- return _el$201;
8229
+ return _el$200;
8222
8230
  })()), (() => {
8223
- var _el$172 = _$createElement("span");
8224
- _$insertNode(_el$172, _$createTextNode(` \u2502 \uD83D\uDCB0 `));
8225
- _$effect((_$p) => _$setProp(_el$172, "style", {
8231
+ var _el$171 = _$createElement("span");
8232
+ _$insertNode(_el$171, _$createTextNode(` \u2502 \uD83D\uDCB0 `));
8233
+ _$effect((_$p) => _$setProp(_el$171, "style", {
8226
8234
  fg: theme().textMuted
8227
8235
  }, _$p));
8228
- return _el$172;
8236
+ return _el$171;
8229
8237
  })(), (() => {
8230
- var _el$174 = _$createElement("span");
8231
- _$insertNode(_el$174, _$createTextNode(`Spent: `));
8232
- _$effect((_$p) => _$setProp(_el$174, "style", {
8238
+ var _el$173 = _$createElement("span");
8239
+ _$insertNode(_el$173, _$createTextNode(`Spent: `));
8240
+ _$effect((_$p) => _$setProp(_el$173, "style", {
8233
8241
  fg: theme().primary,
8234
8242
  bold: true
8235
8243
  }, _$p));
8236
- return _el$174;
8244
+ return _el$173;
8237
8245
  })(), (() => {
8238
- var _el$176 = _$createElement("span");
8239
- _$insert(_el$176, () => formatCost(goal().costUsed));
8240
- _$effect((_$p) => _$setProp(_el$176, "style", {
8246
+ var _el$175 = _$createElement("span");
8247
+ _$insert(_el$175, () => formatCost(goal().costUsed));
8248
+ _$effect((_$p) => _$setProp(_el$175, "style", {
8241
8249
  fg: theme().success,
8242
8250
  bold: true
8243
8251
  }, _$p));
8244
- return _el$176;
8252
+ return _el$175;
8245
8253
  })(), (() => {
8246
- var _el$177 = _$createElement("span");
8247
- _$insertNode(_el$177, _$createTextNode(` \xB7 `));
8248
- _$effect((_$p) => _$setProp(_el$177, "style", {
8254
+ var _el$176 = _$createElement("span");
8255
+ _$insertNode(_el$176, _$createTextNode(` \xB7 `));
8256
+ _$effect((_$p) => _$setProp(_el$176, "style", {
8249
8257
  fg: theme().textMuted
8250
8258
  }, _$p));
8251
- return _el$177;
8259
+ return _el$176;
8252
8260
  })(), (() => {
8253
- var _el$179 = _$createElement("span");
8254
- _$insert(_el$179, () => formatTokens(goal().tokensUsed));
8255
- _$effect((_$p) => _$setProp(_el$179, "style", {
8261
+ var _el$178 = _$createElement("span");
8262
+ _$insert(_el$178, () => formatTokens(goal().tokensUsed));
8263
+ _$effect((_$p) => _$setProp(_el$178, "style", {
8256
8264
  fg: theme().warning,
8257
8265
  bold: true
8258
8266
  }, _$p));
8259
- return _el$179;
8267
+ return _el$178;
8260
8268
  })(), (() => {
8261
- var _el$180 = _$createElement("span"), _el$181 = _$createTextNode(` tokens \xB7 `);
8262
- _$insertNode(_el$180, _el$181);
8263
- _$insert(_el$180, () => formatDuration(goal().timeUsedSeconds), null);
8264
- _$effect((_$p) => _$setProp(_el$180, "style", {
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", {
8265
8273
  fg: theme().textMuted
8266
8274
  }, _$p));
8267
- return _el$180;
8275
+ return _el$179;
8268
8276
  })()];
8269
- }, _el$147);
8270
- _$insertNode(_el$148, _$createTextNode(`\uD83C\uDFAF Target: `));
8271
- _$insert(_el$150, () => goal().objective.slice(0, 160));
8272
- _$insert(_el$138, (() => {
8273
- var _c$15 = _$memo(() => !!lp());
8274
- return () => _c$15() && [(() => {
8275
- var _el$203 = _$createElement("span"), _el$204 = _$createTextNode(`
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(`
8276
8284
  \u2714 `);
8277
- _$insertNode(_el$203, _el$204);
8278
- _$effect((_$p) => _$setProp(_el$203, "style", {
8285
+ _$insertNode(_el$202, _el$203);
8286
+ _$effect((_$p) => _$setProp(_el$202, "style", {
8279
8287
  fg: theme().success
8280
8288
  }, _$p));
8281
- return _el$203;
8289
+ return _el$202;
8282
8290
  })(), (() => {
8283
- var _el$206 = _$createElement("span");
8284
- _$insertNode(_el$206, _$createTextNode(`Progress: `));
8285
- _$effect((_$p) => _$setProp(_el$206, "style", {
8291
+ var _el$205 = _$createElement("span");
8292
+ _$insertNode(_el$205, _$createTextNode(`Progress: `));
8293
+ _$effect((_$p) => _$setProp(_el$205, "style", {
8286
8294
  fg: theme().success,
8287
8295
  bold: true
8288
8296
  }, _$p));
8289
- return _el$206;
8297
+ return _el$205;
8290
8298
  })(), (() => {
8291
- var _el$208 = _$createElement("span");
8292
- _$insert(_el$208, () => lp().summary.slice(0, 100));
8293
- _$effect((_$p) => _$setProp(_el$208, "style", {
8299
+ var _el$207 = _$createElement("span");
8300
+ _$insert(_el$207, () => lp().summary.slice(0, 100));
8301
+ _$effect((_$p) => _$setProp(_el$207, "style", {
8294
8302
  fg: theme().text
8295
8303
  }, _$p));
8296
- return _el$208;
8304
+ return _el$207;
8297
8305
  })(), (() => {
8298
- var _el$209 = _$createElement("span"), _el$210 = _$createTextNode(` \u2192 `);
8299
- _$insertNode(_el$209, _el$210);
8300
- _$insert(_el$209, () => lp().next?.slice(0, 60) || "", null);
8301
- _$effect((_$p) => _$setProp(_el$209, "style", {
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", {
8302
8310
  fg: theme().textMuted
8303
8311
  }, _$p));
8304
- return _el$209;
8312
+ return _el$208;
8305
8313
  })()];
8306
8314
  })(), null);
8307
- _$insert(_el$138, (() => {
8308
- var _c$16 = _$memo(() => !!blk());
8309
- return () => _c$16() && [(() => {
8310
- var _el$211 = _$createElement("span"), _el$212 = _$createTextNode(`
8315
+ _$insert(_el$137, (() => {
8316
+ var _c$7 = _$memo(() => !!blk());
8317
+ return () => _c$7() && [(() => {
8318
+ var _el$210 = _$createElement("span"), _el$211 = _$createTextNode(`
8311
8319
  \u2716 Blocked: `);
8312
- _$insertNode(_el$211, _el$212);
8313
- _$effect((_$p) => _$setProp(_el$211, "style", {
8320
+ _$insertNode(_el$210, _el$211);
8321
+ _$effect((_$p) => _$setProp(_el$210, "style", {
8314
8322
  fg: theme().error,
8315
8323
  bold: true
8316
8324
  }, _$p));
8317
- return _el$211;
8325
+ return _el$210;
8318
8326
  })(), (() => {
8319
- var _el$214 = _$createElement("span");
8320
- _$insert(_el$214, () => blk().reason.slice(0, 140));
8321
- _$effect((_$p) => _$setProp(_el$214, "style", {
8327
+ var _el$213 = _$createElement("span");
8328
+ _$insert(_el$213, () => blk().reason.slice(0, 140));
8329
+ _$effect((_$p) => _$setProp(_el$213, "style", {
8322
8330
  fg: theme().error
8323
8331
  }, _$p));
8324
- return _el$214;
8332
+ return _el$213;
8325
8333
  })(), (() => {
8326
- var _el$215 = _$createElement("span"), _el$216 = _$createTextNode(` \u2014 `);
8327
- _$insertNode(_el$215, _el$216);
8328
- _$insert(_el$215, () => blk().needed.slice(0, 60), null);
8329
- _$effect((_$p) => _$setProp(_el$215, "style", {
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", {
8330
8338
  fg: theme().textMuted
8331
8339
  }, _$p));
8332
- return _el$215;
8340
+ return _el$214;
8333
8341
  })()];
8334
8342
  })(), null);
8335
- _$insert(_el$138, (() => {
8336
- var _c$17 = _$memo(() => !!goal().config.artifactDir);
8337
- return () => _c$17() && [(() => {
8338
- var _el$217 = _$createElement("span"), _el$218 = _$createTextNode(`
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(`
8339
8347
  \uD83D\uDCC1 `);
8340
- _$insertNode(_el$217, _el$218);
8341
- _$effect((_$p) => _$setProp(_el$217, "style", {
8348
+ _$insertNode(_el$216, _el$217);
8349
+ _$effect((_$p) => _$setProp(_el$216, "style", {
8342
8350
  fg: theme().accent
8343
8351
  }, _$p));
8344
- return _el$217;
8352
+ return _el$216;
8345
8353
  })(), (() => {
8346
- var _el$220 = _$createElement("span");
8347
- _$insertNode(_el$220, _$createTextNode(`Artifacts: `));
8348
- _$effect((_$p) => _$setProp(_el$220, "style", {
8354
+ var _el$219 = _$createElement("span");
8355
+ _$insertNode(_el$219, _$createTextNode(`Artifacts: `));
8356
+ _$effect((_$p) => _$setProp(_el$219, "style", {
8349
8357
  fg: theme().accent,
8350
8358
  bold: true
8351
8359
  }, _$p));
8352
- return _el$220;
8360
+ return _el$219;
8353
8361
  })(), (() => {
8354
- var _el$222 = _$createElement("span");
8355
- _$insert(_el$222, () => String(goal().config.artifactDir).replace(String(props.directory), "."));
8356
- _$effect((_$p) => _$setProp(_el$222, "style", {
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", {
8357
8365
  fg: theme().textMuted
8358
8366
  }, _$p));
8359
- return _el$222;
8367
+ return _el$221;
8360
8368
  })()];
8361
8369
  })(), null);
8362
- _$insert(_el$138, (() => {
8363
- var _c$18 = _$memo(() => !!goal().workerTopology);
8364
- return () => _c$18() && [(() => {
8365
- var _el$223 = _$createElement("span"), _el$224 = _$createTextNode(`
8370
+ _$insert(_el$137, (() => {
8371
+ var _c$9 = _$memo(() => !!goal().workerTopology);
8372
+ return () => _c$9() && [(() => {
8373
+ var _el$222 = _$createElement("span"), _el$223 = _$createTextNode(`
8366
8374
  \uD83C\uDF3F Worker: `);
8367
- _$insertNode(_el$223, _el$224);
8368
- _$effect((_$p) => _$setProp(_el$223, "style", {
8375
+ _$insertNode(_el$222, _el$223);
8376
+ _$effect((_$p) => _$setProp(_el$222, "style", {
8369
8377
  fg: theme().textMuted
8370
8378
  }, _$p));
8371
- return _el$223;
8379
+ return _el$222;
8372
8380
  })(), (() => {
8373
- var _el$226 = _$createElement("span");
8374
- _$insert(_el$226, (() => {
8375
- var _c$28 = _$memo(() => goal().workerTopology === "v2-native-child");
8376
- return () => _c$28() ? "native child" : goal().workerTopology === "v2-root-fallback" ? "root fallback" : "v1 child";
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";
8377
8385
  })());
8378
- _$effect((_$p) => _$setProp(_el$226, "style", {
8386
+ _$effect((_$p) => _$setProp(_el$225, "style", {
8379
8387
  fg: theme().text
8380
8388
  }, _$p));
8381
- return _el$226;
8389
+ return _el$225;
8382
8390
  })(), _$memo(() => _$memo(() => !!goal().nativeParentID)() ? (() => {
8383
- var _el$227 = _$createElement("span"), _el$228 = _$createTextNode(` of `), _el$229 = _$createTextNode(`\u2026`);
8384
- _$insertNode(_el$227, _el$228);
8385
- _$insertNode(_el$227, _el$229);
8386
- _$insert(_el$227, () => goal().nativeParentID.slice(0, 12), _el$229);
8387
- _$effect((_$p) => _$setProp(_el$227, "style", {
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", {
8388
8396
  fg: theme().textMuted
8389
8397
  }, _$p));
8390
- return _el$227;
8398
+ return _el$226;
8391
8399
  })() : null)];
8392
8400
  })(), null);
8393
- _$insert(_el$138, (() => {
8394
- var _c$19 = _$memo(() => goal().interactive === true);
8395
- return () => _c$19() && [(() => {
8396
- var _el$230 = _$createElement("span"), _el$231 = _$createTextNode(`
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(`
8397
8405
  \u270B Manual: `);
8398
- _$insertNode(_el$230, _el$231);
8399
- _$effect((_$p) => _$setProp(_el$230, "style", {
8406
+ _$insertNode(_el$229, _el$230);
8407
+ _$effect((_$p) => _$setProp(_el$229, "style", {
8400
8408
  fg: theme().accent,
8401
8409
  bold: true
8402
8410
  }, _$p));
8403
- return _el$230;
8411
+ return _el$229;
8404
8412
  })(), (() => {
8405
- var _el$233 = _$createElement("span");
8406
- _$insertNode(_el$233, _$createTextNode(`engine never starts turns \u2014 steer with :send/nudge (:interactive to re-enable auto)`));
8407
- _$effect((_$p) => _$setProp(_el$233, "style", {
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", {
8408
8416
  fg: theme().textMuted
8409
8417
  }, _$p));
8410
- return _el$233;
8418
+ return _el$232;
8411
8419
  })()];
8412
8420
  })(), null);
8413
- _$insert(_el$138, (() => {
8414
- var _c$20 = _$memo(() => !!goal().config.model);
8415
- return () => _c$20() && [(() => {
8416
- var _el$235 = _$createElement("span"), _el$236 = _$createTextNode(`
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(`
8417
8425
  \uD83E\uDDE0 Model: `);
8418
- _$insertNode(_el$235, _el$236);
8419
- _$effect((_$p) => _$setProp(_el$235, "style", {
8426
+ _$insertNode(_el$234, _el$235);
8427
+ _$effect((_$p) => _$setProp(_el$234, "style", {
8420
8428
  fg: theme().info,
8421
8429
  bold: true
8422
8430
  }, _$p));
8423
- return _el$235;
8431
+ return _el$234;
8424
8432
  })(), (() => {
8425
- var _el$238 = _$createElement("span");
8426
- _$insert(_el$238, () => goal().config.model);
8427
- _$effect((_$p) => _$setProp(_el$238, "style", {
8433
+ var _el$237 = _$createElement("span");
8434
+ _$insert(_el$237, () => goal().config.model);
8435
+ _$effect((_$p) => _$setProp(_el$237, "style", {
8428
8436
  fg: theme().text
8429
8437
  }, _$p));
8430
- return _el$238;
8438
+ return _el$237;
8431
8439
  })(), _$memo(() => _$memo(() => !!goal().modelSwitch?.pending)() ? (() => {
8432
- var _el$239 = _$createElement("span"), _el$240 = _$createTextNode(` \u2192 pending `), _el$241 = _$createTextNode(` (applies next turn)`);
8433
- _$insertNode(_el$239, _el$240);
8434
- _$insertNode(_el$239, _el$241);
8435
- _$insert(_el$239, () => goal().modelSwitch?.pending?.model, _el$241);
8436
- _$effect((_$p) => _$setProp(_el$239, "style", {
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", {
8437
8445
  fg: theme().warning
8438
8446
  }, _$p));
8439
- return _el$239;
8447
+ return _el$238;
8440
8448
  })() : null)];
8441
8449
  })(), null);
8442
- _$insert(_el$138, (() => {
8443
- var _c$21 = _$memo(() => !!goal().config.agent);
8444
- return () => _c$21() && [(() => {
8445
- var _el$242 = _$createElement("span"), _el$243 = _$createTextNode(`
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(`
8446
8454
  \uD83E\uDD16 Agent: `);
8447
- _$insertNode(_el$242, _el$243);
8448
- _$effect((_$p) => _$setProp(_el$242, "style", {
8455
+ _$insertNode(_el$241, _el$242);
8456
+ _$effect((_$p) => _$setProp(_el$241, "style", {
8449
8457
  fg: theme().info,
8450
8458
  bold: true
8451
8459
  }, _$p));
8452
- return _el$242;
8460
+ return _el$241;
8453
8461
  })(), (() => {
8454
- var _el$245 = _$createElement("span");
8455
- _$insert(_el$245, () => goal().config.agent);
8456
- _$effect((_$p) => _$setProp(_el$245, "style", {
8462
+ var _el$244 = _$createElement("span");
8463
+ _$insert(_el$244, () => goal().config.agent);
8464
+ _$effect((_$p) => _$setProp(_el$244, "style", {
8457
8465
  fg: theme().text
8458
8466
  }, _$p));
8459
- return _el$245;
8467
+ return _el$244;
8460
8468
  })(), _$memo(() => _$memo(() => !!goal().agentSwitch?.pending)() ? (() => {
8461
- var _el$246 = _$createElement("span"), _el$247 = _$createTextNode(` \u2192 pending `), _el$248 = _$createTextNode(` (applies next turn)`);
8462
- _$insertNode(_el$246, _el$247);
8463
- _$insertNode(_el$246, _el$248);
8464
- _$insert(_el$246, () => goal().agentSwitch?.pending?.agent, _el$248);
8465
- _$effect((_$p) => _$setProp(_el$246, "style", {
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", {
8466
8474
  fg: theme().warning
8467
8475
  }, _$p));
8468
- return _el$246;
8476
+ return _el$245;
8469
8477
  })() : null)];
8470
8478
  })(), null);
8471
- _$insert(_el$138, (() => {
8472
- var _c$22 = _$memo(() => (goal().config.checks?.length ?? 0) > 0);
8473
- return () => _c$22() ? [(() => {
8474
- var _el$249 = _$createElement("span"), _el$250 = _$createTextNode(`
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(`
8475
8483
  \u25A3 `);
8476
- _$insertNode(_el$249, _el$250);
8477
- _$effect((_$p) => _$setProp(_el$249, "style", {
8484
+ _$insertNode(_el$248, _el$249);
8485
+ _$effect((_$p) => _$setProp(_el$248, "style", {
8478
8486
  fg: theme().warning
8479
8487
  }, _$p));
8480
- return _el$249;
8488
+ return _el$248;
8481
8489
  })(), (() => {
8482
- var _el$252 = _$createElement("span");
8483
- _$insertNode(_el$252, _$createTextNode(`Checks: `));
8484
- _$effect((_$p) => _$setProp(_el$252, "style", {
8490
+ var _el$251 = _$createElement("span");
8491
+ _$insertNode(_el$251, _$createTextNode(`Checks: `));
8492
+ _$effect((_$p) => _$setProp(_el$251, "style", {
8485
8493
  fg: theme().warning,
8486
8494
  bold: true
8487
8495
  }, _$p));
8488
- return _el$252;
8496
+ return _el$251;
8489
8497
  })(), (() => {
8490
- var _el$254 = _$createElement("span");
8491
- _$insert(_el$254, () => goal().config.checks.join(", ").slice(0, 100));
8492
- _$effect((_$p) => _$setProp(_el$254, "style", {
8498
+ var _el$253 = _$createElement("span");
8499
+ _$insert(_el$253, () => goal().config.checks.join(", ").slice(0, 100));
8500
+ _$effect((_$p) => _$setProp(_el$253, "style", {
8493
8501
  fg: theme().textMuted
8494
8502
  }, _$p));
8495
- return _el$254;
8503
+ return _el$253;
8496
8504
  })()] : null;
8497
8505
  })(), null);
8498
- _$insert(_el$138, (() => {
8499
- var _c$23 = _$memo(() => rt()?.evaluatorRejectionCount > 0);
8500
- return () => _c$23() && [(() => {
8501
- var _el$255 = _$createElement("span"), _el$256 = _$createTextNode(`
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(`
8502
8510
  \u26A0 rejections: `);
8503
- _$insertNode(_el$255, _el$256);
8504
- _$effect((_$p) => _$setProp(_el$255, "style", {
8511
+ _$insertNode(_el$254, _el$255);
8512
+ _$effect((_$p) => _$setProp(_el$254, "style", {
8505
8513
  fg: theme().warning
8506
8514
  }, _$p));
8507
- return _el$255;
8515
+ return _el$254;
8508
8516
  })(), (() => {
8509
- var _el$258 = _$createElement("span"), _el$259 = _$createTextNode(` \u2014 `);
8510
- _$insertNode(_el$258, _el$259);
8511
- _$insert(_el$258, () => String(rt().evaluatorRejectionCount), _el$259);
8512
- _$insert(_el$258, () => String(rt().lastRejectionDetails || "").slice(0, 80), null);
8513
- _$effect((_$p) => _$setProp(_el$258, "style", {
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", {
8514
8522
  fg: theme().warning
8515
8523
  }, _$p));
8516
- return _el$258;
8524
+ return _el$257;
8517
8525
  })()];
8518
8526
  })(), null);
8519
- _$insert(_el$138, (() => {
8520
- var _c$24 = _$memo(() => rt()?.unknownStatusCount > 0);
8521
- return () => _c$24() && [(() => {
8522
- var _el$260 = _$createElement("span"), _el$261 = _$createTextNode(`
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(`
8523
8531
  \u26A0\uFE0F unreachable: `);
8524
- _$insertNode(_el$260, _el$261);
8525
- _$effect((_$p) => _$setProp(_el$260, "style", {
8532
+ _$insertNode(_el$259, _el$260);
8533
+ _$effect((_$p) => _$setProp(_el$259, "style", {
8526
8534
  fg: theme().error
8527
8535
  }, _$p));
8528
- return _el$260;
8536
+ return _el$259;
8529
8537
  })(), (() => {
8530
- var _el$263 = _$createElement("span"), _el$264 = _$createTextNode(`/3`);
8531
- _$insertNode(_el$263, _el$264);
8532
- _$insert(_el$263, () => String(rt().unknownStatusCount), _el$264);
8533
- _$effect((_$p) => _$setProp(_el$263, "style", {
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", {
8534
8542
  fg: theme().error
8535
8543
  }, _$p));
8536
- return _el$263;
8544
+ return _el$262;
8537
8545
  })(), (() => {
8538
- var _el$265 = _$createElement("span");
8539
- _$insertNode(_el$265, _$createTextNode(` \u2014 nudge to recover`));
8540
- _$effect((_$p) => _$setProp(_el$265, "style", {
8546
+ var _el$264 = _$createElement("span");
8547
+ _$insertNode(_el$264, _$createTextNode(` \u2014 nudge to recover`));
8548
+ _$effect((_$p) => _$setProp(_el$264, "style", {
8541
8549
  fg: theme().textMuted
8542
8550
  }, _$p));
8543
- return _el$265;
8551
+ return _el$264;
8544
8552
  })()];
8545
8553
  })(), null);
8546
- _$insert(_el$138, (() => {
8547
- var _c$25 = _$memo(() => !!rt()?.retryAfter);
8548
- return () => _c$25() && [(() => {
8549
- var _el$267 = _$createElement("span"), _el$268 = _$createTextNode(`
8554
+ _$insert(_el$137, (() => {
8555
+ var _c$14 = _$memo(() => !!rt()?.retryAfter);
8556
+ return () => _c$14() && [(() => {
8557
+ var _el$266 = _$createElement("span"), _el$267 = _$createTextNode(`
8550
8558
  \u21BB retry in: `);
8551
- _$insertNode(_el$267, _el$268);
8552
- _$effect((_$p) => _$setProp(_el$267, "style", {
8559
+ _$insertNode(_el$266, _el$267);
8560
+ _$effect((_$p) => _$setProp(_el$266, "style", {
8553
8561
  fg: theme().accent
8554
8562
  }, _$p));
8555
- return _el$267;
8563
+ return _el$266;
8556
8564
  })(), (() => {
8557
- var _el$270 = _$createElement("span");
8558
- _$insert(_el$270, () => countdownLabel(rt().retryAfter, clock()));
8559
- _$effect((_$p) => _$setProp(_el$270, "style", {
8565
+ var _el$269 = _$createElement("span");
8566
+ _$insert(_el$269, () => countdownLabel(rt().retryAfter, clock()));
8567
+ _$effect((_$p) => _$setProp(_el$269, "style", {
8560
8568
  fg: theme().accent
8561
8569
  }, _$p));
8562
- return _el$270;
8570
+ return _el$269;
8563
8571
  })()];
8564
8572
  })(), null);
8565
- _$insert(_el$138, (() => {
8566
- var _c$26 = _$memo(() => !!rt()?.nextRunAt);
8567
- return () => _c$26() && [(() => {
8568
- var _el$271 = _$createElement("span"), _el$272 = _$createTextNode(`
8573
+ _$insert(_el$137, (() => {
8574
+ var _c$15 = _$memo(() => !!rt()?.nextRunAt);
8575
+ return () => _c$15() && [(() => {
8576
+ var _el$270 = _$createElement("span"), _el$271 = _$createTextNode(`
8569
8577
  \u23F0 next run: `);
8570
- _$insertNode(_el$271, _el$272);
8571
- _$effect((_$p) => _$setProp(_el$271, "style", {
8578
+ _$insertNode(_el$270, _el$271);
8579
+ _$effect((_$p) => _$setProp(_el$270, "style", {
8572
8580
  fg: theme().accent
8573
8581
  }, _$p));
8574
- return _el$271;
8582
+ return _el$270;
8575
8583
  })(), (() => {
8576
- var _el$274 = _$createElement("span");
8577
- _$insert(_el$274, () => countdownLabel(rt().nextRunAt, clock()));
8578
- _$effect((_$p) => _$setProp(_el$274, "style", {
8584
+ var _el$273 = _$createElement("span");
8585
+ _$insert(_el$273, () => countdownLabel(rt().nextRunAt, clock()));
8586
+ _$effect((_$p) => _$setProp(_el$273, "style", {
8579
8587
  fg: theme().accent
8580
8588
  }, _$p));
8581
- return _el$274;
8589
+ return _el$273;
8582
8590
  })(), (() => {
8583
- var _el$275 = _$createElement("span"), _el$276 = _$createTextNode(` (`), _el$277 = _$createTextNode(` runs)`);
8584
- _$insertNode(_el$275, _el$276);
8585
- _$insertNode(_el$275, _el$277);
8586
- _$insert(_el$275, () => String(rt().scheduleRunCount || 0), _el$277);
8587
- _$effect((_$p) => _$setProp(_el$275, "style", {
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", {
8588
8596
  fg: theme().textMuted
8589
8597
  }, _$p));
8590
- return _el$275;
8598
+ return _el$274;
8591
8599
  })()];
8592
8600
  })(), null);
8593
- _$insert(_el$138, (() => {
8594
- var _c$27 = _$memo(() => !!rt()?.lastError);
8595
- return () => _c$27() && [(() => {
8596
- var _el$278 = _$createElement("span"), _el$279 = _$createTextNode(`
8601
+ _$insert(_el$137, (() => {
8602
+ var _c$16 = _$memo(() => !!rt()?.lastError);
8603
+ return () => _c$16() && [(() => {
8604
+ var _el$277 = _$createElement("span"), _el$278 = _$createTextNode(`
8597
8605
  \u26A0 `);
8598
- _$insertNode(_el$278, _el$279);
8599
- _$effect((_$p) => _$setProp(_el$278, "style", {
8606
+ _$insertNode(_el$277, _el$278);
8607
+ _$effect((_$p) => _$setProp(_el$277, "style", {
8600
8608
  fg: theme().error
8601
8609
  }, _$p));
8602
- return _el$278;
8610
+ return _el$277;
8603
8611
  })(), (() => {
8604
- var _el$281 = _$createElement("span");
8605
- _$insertNode(_el$281, _$createTextNode(`Error: `));
8606
- _$effect((_$p) => _$setProp(_el$281, "style", {
8612
+ var _el$280 = _$createElement("span");
8613
+ _$insertNode(_el$280, _$createTextNode(`Error: `));
8614
+ _$effect((_$p) => _$setProp(_el$280, "style", {
8607
8615
  fg: theme().error,
8608
8616
  bold: true
8609
8617
  }, _$p));
8610
- return _el$281;
8618
+ return _el$280;
8611
8619
  })(), (() => {
8612
- var _el$283 = _$createElement("span");
8613
- _$insert(_el$283, () => rt().lastError.slice(0, 120));
8614
- _$effect((_$p) => _$setProp(_el$283, "style", {
8620
+ var _el$282 = _$createElement("span");
8621
+ _$insert(_el$282, () => rt().lastError.slice(0, 120));
8622
+ _$effect((_$p) => _$setProp(_el$282, "style", {
8615
8623
  fg: theme().error
8616
8624
  }, _$p));
8617
- return _el$283;
8625
+ return _el$282;
8618
8626
  })()];
8619
8627
  })(), null);
8620
8628
  _$effect((_p$) => {
8621
- var _v$42 = borderColorForStatus(goal().status, theme()), _v$43 = {
8629
+ var _v$38 = borderColorForStatus(goal().status, theme()), _v$39 = {
8622
8630
  fg: statusColor(goal().status, theme()),
8623
8631
  bold: true
8624
- }, _v$44 = {
8632
+ }, _v$40 = {
8625
8633
  fg: theme().textMuted
8626
- }, _v$45 = {
8634
+ }, _v$41 = {
8627
8635
  fg: statusColor(goal().status, theme())
8628
- }, _v$46 = {
8636
+ }, _v$42 = {
8629
8637
  fg: theme().textMuted
8630
- }, _v$47 = {
8638
+ }, _v$43 = {
8631
8639
  fg: theme().primary,
8632
8640
  bold: true
8633
- }, _v$48 = {
8641
+ }, _v$44 = {
8634
8642
  fg: theme().text
8635
8643
  };
8636
- _v$42 !== _p$.e && (_p$.e = _$setProp(_el$137, "borderColor", _v$42, _p$.e));
8637
- _v$43 !== _p$.t && (_p$.t = _$setProp(_el$139, "style", _v$43, _p$.t));
8638
- _v$44 !== _p$.a && (_p$.a = _$setProp(_el$141, "style", _v$44, _p$.a));
8639
- _v$45 !== _p$.o && (_p$.o = _$setProp(_el$143, "style", _v$45, _p$.o));
8640
- _v$46 !== _p$.i && (_p$.i = _$setProp(_el$146, "style", _v$46, _p$.i));
8641
- _v$47 !== _p$.n && (_p$.n = _$setProp(_el$148, "style", _v$47, _p$.n));
8642
- _v$48 !== _p$.s && (_p$.s = _$setProp(_el$150, "style", _v$48, _p$.s));
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));
8643
8651
  return _p$;
8644
8652
  }, {
8645
8653
  e: undefined,
@@ -8650,13 +8658,13 @@ function LoopDashboard(props) {
8650
8658
  n: undefined,
8651
8659
  s: undefined
8652
8660
  });
8653
- return _el$137;
8661
+ return _el$136;
8654
8662
  })();
8655
8663
  }
8656
8664
  })];
8657
8665
  }
8658
8666
  }), null);
8659
- _$insert(_el$39, _$createComponent(Show, {
8667
+ _$insert(_el$42, _$createComponent(Show, {
8660
8668
  get when() {
8661
8669
  return tab() === "commands";
8662
8670
  },
@@ -8667,94 +8675,94 @@ function LoopDashboard(props) {
8667
8675
  },
8668
8676
  get fallback() {
8669
8677
  return (() => {
8670
- var _el$284 = _$createElement("box"), _el$285 = _$createElement("text"), _el$286 = _$createElement("span"), _el$287 = _$createTextNode(`No live command sessions`), _el$288 = _$createTextNode(`. `), _el$289 = _$createElement("span"), _el$291 = _$createElement("span"), _el$292 = _$createTextNode(` to start one`), _el$293 = _$createElement("text"), _el$294 = _$createElement("span"), _el$296 = _$createElement("span"), _el$298 = _$createElement("span"), _el$300 = _$createElement("span"), _el$302 = _$createElement("span"), _el$304 = _$createElement("span"), _el$306 = _$createElement("span");
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);
8671
8684
  _$insertNode(_el$284, _el$285);
8672
- _$insertNode(_el$284, _el$293);
8673
- _$setProp(_el$284, "flexDirection", "column");
8674
- _$setProp(_el$284, "gap", 1);
8675
- _$setProp(_el$284, "padding", 1);
8685
+ _$insertNode(_el$284, _el$288);
8686
+ _$insertNode(_el$284, _el$290);
8676
8687
  _$insertNode(_el$285, _el$286);
8677
- _$insertNode(_el$285, _el$289);
8678
- _$insertNode(_el$285, _el$291);
8679
- _$insertNode(_el$286, _el$287);
8680
- _$insertNode(_el$286, _el$288);
8681
- _$insert(_el$286, (() => {
8682
- var _c$29 = _$memo(() => hiddenFinishedCommands() > 0);
8683
- return () => _c$29() ? ` \u2014 ${hiddenFinishedCommands()} finished hidden` : "";
8684
- })(), _el$288);
8685
- _$insertNode(_el$289, _$createTextNode(`:new <command>`));
8686
- _$insertNode(_el$291, _el$292);
8687
- _$insert(_el$291, () => hiddenFinishedCommands() > 0 ? ", or " : "; ", null);
8688
+ _$insertNode(_el$285, _el$287);
8688
8689
  _$insert(_el$285, (() => {
8689
- var _c$30 = _$memo(() => hiddenFinishedCommands() > 0);
8690
- return () => _c$30() && (() => {
8691
- var _el$308 = _$createElement("span"), _el$309 = _$createElement("span"), _el$311 = _$createElement("span");
8692
- _$insertNode(_el$308, _el$309);
8693
- _$insertNode(_el$308, _el$311);
8694
- _$insertNode(_el$309, _$createTextNode(`c`));
8695
- _$insertNode(_el$311, _$createTextNode(` to show finished.`));
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.`));
8696
8704
  _$effect((_p$) => {
8697
- var _v$59 = {
8705
+ var _v$55 = {
8698
8706
  fg: theme().warning
8699
- }, _v$60 = {
8707
+ }, _v$56 = {
8700
8708
  fg: theme().textMuted
8701
8709
  };
8702
- _v$59 !== _p$.e && (_p$.e = _$setProp(_el$309, "style", _v$59, _p$.e));
8703
- _v$60 !== _p$.t && (_p$.t = _$setProp(_el$311, "style", _v$60, _p$.t));
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));
8704
8712
  return _p$;
8705
8713
  }, {
8706
8714
  e: undefined,
8707
8715
  t: undefined
8708
8716
  });
8709
- return _el$308;
8717
+ return _el$307;
8710
8718
  })();
8711
8719
  })(), null);
8712
- _$insertNode(_el$293, _el$294);
8713
- _$insertNode(_el$293, _el$296);
8714
- _$insertNode(_el$293, _el$298);
8715
- _$insertNode(_el$293, _el$300);
8716
- _$insertNode(_el$293, _el$302);
8717
- _$insertNode(_el$293, _el$304);
8718
- _$insertNode(_el$293, _el$306);
8719
- _$insertNode(_el$294, _$createTextNode(`Tip: `));
8720
- _$insertNode(_el$296, _$createTextNode(`o`));
8721
- _$insertNode(_el$298, _$createTextNode(` fullscreen \xB7 `));
8722
- _$insertNode(_el$300, _$createTextNode(`X kill \xB7 R restart \xB7 x remove-done`));
8723
- _$insertNode(_el$302, _$createTextNode(` \xB7 `));
8724
- _$insertNode(_el$304, _$createTextNode(`:interrupt :terminate :remove`));
8725
- _$insertNode(_el$306, _$createTextNode(` manage \xB7 text + Enter writes stdin.`));
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.`));
8726
8734
  _$effect((_p$) => {
8727
- var _v$49 = {
8735
+ var _v$45 = {
8728
8736
  fg: theme().textMuted
8729
- }, _v$50 = {
8737
+ }, _v$46 = {
8730
8738
  fg: theme().warning
8731
- }, _v$51 = {
8739
+ }, _v$47 = {
8732
8740
  fg: theme().textMuted
8733
- }, _v$52 = {
8741
+ }, _v$48 = {
8734
8742
  fg: theme().textMuted
8735
- }, _v$53 = {
8743
+ }, _v$49 = {
8736
8744
  fg: theme().warning
8737
- }, _v$54 = {
8745
+ }, _v$50 = {
8738
8746
  fg: theme().textMuted
8739
- }, _v$55 = {
8747
+ }, _v$51 = {
8740
8748
  fg: theme().warning
8741
- }, _v$56 = {
8749
+ }, _v$52 = {
8742
8750
  fg: theme().textMuted
8743
- }, _v$57 = {
8751
+ }, _v$53 = {
8744
8752
  fg: theme().warning
8745
- }, _v$58 = {
8753
+ }, _v$54 = {
8746
8754
  fg: theme().textMuted
8747
8755
  };
8748
- _v$49 !== _p$.e && (_p$.e = _$setProp(_el$286, "style", _v$49, _p$.e));
8749
- _v$50 !== _p$.t && (_p$.t = _$setProp(_el$289, "style", _v$50, _p$.t));
8750
- _v$51 !== _p$.a && (_p$.a = _$setProp(_el$291, "style", _v$51, _p$.a));
8751
- _v$52 !== _p$.o && (_p$.o = _$setProp(_el$294, "style", _v$52, _p$.o));
8752
- _v$53 !== _p$.i && (_p$.i = _$setProp(_el$296, "style", _v$53, _p$.i));
8753
- _v$54 !== _p$.n && (_p$.n = _$setProp(_el$298, "style", _v$54, _p$.n));
8754
- _v$55 !== _p$.s && (_p$.s = _$setProp(_el$300, "style", _v$55, _p$.s));
8755
- _v$56 !== _p$.h && (_p$.h = _$setProp(_el$302, "style", _v$56, _p$.h));
8756
- _v$57 !== _p$.r && (_p$.r = _$setProp(_el$304, "style", _v$57, _p$.r));
8757
- _v$58 !== _p$.d && (_p$.d = _$setProp(_el$306, "style", _v$58, _p$.d));
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));
8758
8766
  return _p$;
8759
8767
  }, {
8760
8768
  e: undefined,
@@ -8768,298 +8776,290 @@ function LoopDashboard(props) {
8768
8776
  r: undefined,
8769
8777
  d: undefined
8770
8778
  });
8771
- return _el$284;
8779
+ return _el$283;
8772
8780
  })();
8773
8781
  },
8774
8782
  get children() {
8775
- var _el$44 = _$createElement("scrollbox");
8776
- _$insert(_el$44, _$createComponent(For, {
8777
- get each() {
8778
- return ownerCommands();
8783
+ return _$createComponent(DashboardList, {
8784
+ get count() {
8785
+ return ownerCommands().length;
8779
8786
  },
8780
- children: (cmd, i) => {
8781
- const isActive = () => i() === cmdSelected();
8782
- return (() => {
8783
- var _el$313 = _$createElement("box"), _el$314 = _$createElement("text"), _el$315 = _$createElement("span"), _el$316 = _$createElement("span"), _el$318 = _$createElement("span"), _el$320 = _$createElement("span"), _el$321 = _$createElement("span"), _el$323 = _$createElement("span"), _el$324 = _$createElement("span"), _el$325 = _$createTextNode(` \u2502 `);
8784
- _$insertNode(_el$313, _el$314);
8785
- _$setProp(_el$313, "flexDirection", "row");
8786
- _$setProp(_el$313, "paddingLeft", 1);
8787
- _$setProp(_el$313, "paddingRight", 1);
8788
- _$insertNode(_el$314, _el$315);
8789
- _$insertNode(_el$314, _el$316);
8790
- _$insertNode(_el$314, _el$318);
8791
- _$insertNode(_el$314, _el$320);
8792
- _$insertNode(_el$314, _el$321);
8793
- _$insertNode(_el$314, _el$323);
8794
- _$insertNode(_el$314, _el$324);
8795
- _$setProp(_el$314, "wrapMode", "none");
8796
- _$setProp(_el$314, "truncate", true);
8797
- _$insert(_el$315, (() => {
8798
- var _c$31 = _$memo(() => !!isActive());
8799
- return () => _c$31() ? `\u25B6 ${cmd.title}` : ` ${commandStatusIcon(cmd.status)} ${cmd.title}`;
8800
- })());
8801
- _$insertNode(_el$316, _$createTextNode(` \u2502 `));
8802
- _$insertNode(_el$318, _$createTextNode(`Cmd `));
8803
- _$insert(_el$320, () => commandStatusLabel(cmd.status).short);
8804
- _$insertNode(_el$321, _$createTextNode(` \u2502 `));
8805
- _$insert(_el$323, () => cmd.command);
8806
- _$insert(_el$314, (() => {
8807
- var _c$32 = _$memo(() => cmd.args.length > 0);
8808
- return () => _c$32() && (() => {
8809
- var _el$326 = _$createElement("span"), _el$327 = _$createTextNode(` `);
8810
- _$insertNode(_el$326, _el$327);
8811
- _$insert(_el$326, () => cmd.args.join(" ").slice(0, 40), null);
8812
- _$effect((_$p) => _$setProp(_el$326, "style", {
8813
- fg: theme().textMuted
8814
- }, _$p));
8815
- return _el$326;
8816
- })();
8817
- })(), _el$324);
8818
- _$insert(_el$314, (() => {
8819
- var _c$33 = _$memo(() => cmd.exitCode !== undefined);
8820
- return () => _c$33() && (() => {
8821
- var _el$328 = _$createElement("span"), _el$329 = _$createTextNode(` \u2502 exit `);
8822
- _$insertNode(_el$328, _el$329);
8823
- _$insert(_el$328, () => cmd.exitCode, null);
8824
- _$effect((_$p) => _$setProp(_el$328, "style", {
8825
- fg: cmd.exitCode === 0 ? theme().success : theme().error
8826
- }, _$p));
8827
- return _el$328;
8828
- })();
8829
- })(), _el$324);
8830
- _$insert(_el$314, (() => {
8831
- var _c$34 = _$memo(() => !!cmd.signal);
8832
- return () => _c$34() && (() => {
8833
- var _el$330 = _$createElement("span"), _el$331 = _$createTextNode(` \u2502 `);
8834
- _$insertNode(_el$330, _el$331);
8835
- _$insert(_el$330, () => cmd.signal, null);
8836
- _$effect((_$p) => _$setProp(_el$330, "style", {
8837
- fg: theme().warning
8838
- }, _$p));
8839
- return _el$330;
8840
- })();
8841
- })(), _el$324);
8842
- _$insertNode(_el$324, _el$325);
8843
- _$insert(_el$324, () => ageLabel(cmd.updatedAt, clock()), null);
8844
- _$insert(_el$314, (() => {
8845
- var _c$35 = _$memo(() => !!cmd.truncated);
8846
- return () => _c$35() && (() => {
8847
- var _el$332 = _$createElement("span");
8848
- _$insertNode(_el$332, _$createTextNode(` \u2502 \u26A0 truncated`));
8849
- _$effect((_$p) => _$setProp(_el$332, "style", {
8850
- fg: theme().warning,
8851
- bold: true
8852
- }, _$p));
8853
- return _el$332;
8854
- })();
8855
- })(), null);
8856
- _$effect((_p$) => {
8857
- var _v$61 = isActive() ? theme().backgroundElement : undefined, _v$62 = {
8858
- fg: commandStatusColor(cmd.status, theme()),
8859
- bold: isActive()
8860
- }, _v$63 = {
8861
- fg: theme().textMuted
8862
- }, _v$64 = {
8863
- fg: theme().textMuted
8864
- }, _v$65 = {
8865
- fg: commandStatusColor(cmd.status, theme()),
8866
- bold: true
8867
- }, _v$66 = {
8868
- fg: theme().textMuted
8869
- }, _v$67 = {
8870
- fg: theme().accent,
8871
- bold: true
8872
- }, _v$68 = {
8873
- fg: theme().textMuted
8874
- };
8875
- _v$61 !== _p$.e && (_p$.e = _$setProp(_el$313, "backgroundColor", _v$61, _p$.e));
8876
- _v$62 !== _p$.t && (_p$.t = _$setProp(_el$315, "style", _v$62, _p$.t));
8877
- _v$63 !== _p$.a && (_p$.a = _$setProp(_el$316, "style", _v$63, _p$.a));
8878
- _v$64 !== _p$.o && (_p$.o = _$setProp(_el$318, "style", _v$64, _p$.o));
8879
- _v$65 !== _p$.i && (_p$.i = _$setProp(_el$320, "style", _v$65, _p$.i));
8880
- _v$66 !== _p$.n && (_p$.n = _$setProp(_el$321, "style", _v$66, _p$.n));
8881
- _v$67 !== _p$.s && (_p$.s = _$setProp(_el$323, "style", _v$67, _p$.s));
8882
- _v$68 !== _p$.h && (_p$.h = _$setProp(_el$324, "style", _v$68, _p$.h));
8883
- return _p$;
8884
- }, {
8885
- e: undefined,
8886
- t: undefined,
8887
- a: undefined,
8888
- o: undefined,
8889
- i: undefined,
8890
- n: undefined,
8891
- s: undefined,
8892
- h: undefined
8893
- });
8894
- return _el$313;
8895
- })();
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
+ });
8896
8898
  }
8897
- }));
8898
- _$effect((_$p) => _$setProp(_el$44, "height", Math.min(ownerCommands().length, 10), _$p));
8899
- return _el$44;
8899
+ });
8900
8900
  }
8901
8901
  }), _$createComponent(Show, {
8902
8902
  get when() {
8903
8903
  return selectedCommand();
8904
8904
  },
8905
8905
  children: (cmd) => (() => {
8906
- var _el$334 = _$createElement("box"), _el$335 = _$createElement("text"), _el$336 = _$createElement("span"), _el$337 = _$createTextNode(` `), _el$338 = _$createElement("span"), _el$340 = _$createElement("span"), _el$341 = _$createTextNode(` \u2014 `), _el$342 = _$createTextNode(`
8907
- `), _el$343 = _$createElement("span"), _el$345 = _$createElement("span"), _el$346 = _$createTextNode(`
8908
- `), _el$347 = _$createElement("span"), _el$349 = _$createElement("span"), _el$351 = _$createElement("span"), _el$352 = _$createTextNode(`
8909
- `), _el$353 = _$createElement("span"), _el$355 = _$createElement("span"), _el$357 = _$createElement("span"), _el$358 = _$createTextNode(` bytes`), _el$359 = _$createElement("span"), _el$360 = _$createTextNode(` \u2502 updated `), _el$361 = _$createTextNode(`
8910
- `), _el$362 = _$createElement("span");
8911
- _$insertNode(_el$334, _el$335);
8912
- _$setProp(_el$334, "flexDirection", "column");
8913
- _$setProp(_el$334, "border", true);
8914
- _$setProp(_el$334, "padding", 1);
8915
- _$setProp(_el$334, "flexShrink", 0);
8916
- _$setProp(_el$334, "maxHeight", 8);
8917
- _$insertNode(_el$335, _el$336);
8918
- _$insertNode(_el$335, _el$338);
8919
- _$insertNode(_el$335, _el$340);
8920
- _$insertNode(_el$335, _el$342);
8921
- _$insertNode(_el$335, _el$343);
8922
- _$insertNode(_el$335, _el$345);
8923
- _$insertNode(_el$335, _el$346);
8924
- _$insertNode(_el$335, _el$347);
8925
- _$insertNode(_el$335, _el$349);
8926
- _$insertNode(_el$335, _el$351);
8927
- _$insertNode(_el$335, _el$352);
8928
- _$insertNode(_el$335, _el$353);
8929
- _$insertNode(_el$335, _el$355);
8930
- _$insertNode(_el$335, _el$357);
8931
- _$insertNode(_el$335, _el$359);
8932
- _$insertNode(_el$335, _el$361);
8933
- _$insertNode(_el$335, _el$362);
8934
- _$insertNode(_el$336, _el$337);
8935
- _$insert(_el$336, () => commandStatusIcon(cmd().status), _el$337);
8936
- _$insert(_el$336, () => cmd().title, null);
8937
- _$insertNode(_el$338, _$createTextNode(` Cmd `));
8938
- _$insertNode(_el$340, _el$341);
8939
- _$insert(_el$340, () => commandStatusLabel(cmd().status).short, _el$341);
8940
- _$insert(_el$340, () => commandStatusLabel(cmd().status).hint, null);
8941
- _$insertNode(_el$343, _$createTextNode(`\u2B22 Spawn: `));
8942
- _$insert(_el$345, () => cmd().command);
8943
- _$insert(_el$335, (() => {
8944
- var _c$36 = _$memo(() => cmd().args.length > 0);
8945
- return () => _c$36() && (() => {
8946
- var _el$364 = _$createElement("span"), _el$365 = _$createTextNode(` `);
8947
- _$insertNode(_el$364, _el$365);
8948
- _$insert(_el$364, () => cmd().args.join(" "), null);
8949
- _$effect((_$p) => _$setProp(_el$364, "style", {
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");
8911
+ _$insertNode(_el$331, _el$332);
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", {
8950
8950
  fg: theme().text
8951
8951
  }, _$p));
8952
- return _el$364;
8952
+ return _el$361;
8953
8953
  })();
8954
- })(), _el$346);
8955
- _$insertNode(_el$347, _$createTextNode(`\uD83D\uDCC1 `));
8956
- _$insertNode(_el$349, _$createTextNode(`Cwd: `));
8957
- _$insert(_el$351, () => cmd().cwd.replace(String(props.directory), "."));
8958
- _$insert(_el$335, (() => {
8959
- var _c$37 = _$memo(() => !!cmd().goalID);
8960
- return () => _c$37() && [(() => {
8961
- var _el$366 = _$createElement("span");
8962
- _$insertNode(_el$366, _$createTextNode(` \u2502 \uD83D\uDD17 linked goal `));
8963
- _$effect((_$p) => _$setProp(_el$366, "style", {
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", {
8964
8964
  fg: theme().textMuted
8965
8965
  }, _$p));
8966
- return _el$366;
8966
+ return _el$363;
8967
8967
  })(), (() => {
8968
- var _el$368 = _$createElement("span");
8969
- _$insert(_el$368, () => cmd().goalID.slice(0, 8));
8970
- _$effect((_$p) => _$setProp(_el$368, "style", {
8968
+ var _el$365 = _$createElement("span");
8969
+ _$insert(_el$365, () => cmd().goalID.slice(0, 8));
8970
+ _$effect((_$p) => _$setProp(_el$365, "style", {
8971
8971
  fg: theme().text
8972
8972
  }, _$p));
8973
- return _el$368;
8973
+ return _el$365;
8974
8974
  })()];
8975
- })(), _el$352);
8976
- _$insertNode(_el$353, _$createTextNode(`\uD83D\uDCBE `));
8977
- _$insertNode(_el$355, _$createTextNode(`Output: `));
8978
- _$insertNode(_el$357, _el$358);
8979
- _$insert(_el$357, () => cmd().outputBytes, _el$358);
8980
- _$insert(_el$335, (() => {
8981
- var _c$38 = _$memo(() => !!cmd().truncated);
8982
- return () => _c$38() && (() => {
8983
- var _el$369 = _$createElement("span");
8984
- _$insertNode(_el$369, _$createTextNode(` \xB7 \u26A0 truncated`));
8985
- _$effect((_$p) => _$setProp(_el$369, "style", {
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", {
8986
8986
  fg: theme().warning,
8987
8987
  bold: true
8988
8988
  }, _$p));
8989
- return _el$369;
8989
+ return _el$366;
8990
8990
  })();
8991
- })(), _el$359);
8992
- _$insertNode(_el$359, _el$360);
8993
- _$insert(_el$359, () => ageLabel(cmd().updatedAt, clock()), null);
8994
- _$insert(_el$335, (() => {
8995
- var _c$39 = _$memo(() => !!cmd().lastError);
8996
- return () => _c$39() && [(() => {
8997
- var _el$371 = _$createElement("span"), _el$372 = _$createTextNode(`
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(`
8998
8998
  \u26A0 Error: `);
8999
- _$insertNode(_el$371, _el$372);
9000
- _$effect((_$p) => _$setProp(_el$371, "style", {
8999
+ _$insertNode(_el$368, _el$369);
9000
+ _$effect((_$p) => _$setProp(_el$368, "style", {
9001
9001
  fg: theme().error,
9002
9002
  bold: true
9003
9003
  }, _$p));
9004
- return _el$371;
9004
+ return _el$368;
9005
9005
  })(), (() => {
9006
- var _el$374 = _$createElement("span");
9007
- _$insert(_el$374, () => cmd().lastError.slice(0, 120));
9008
- _$effect((_$p) => _$setProp(_el$374, "style", {
9006
+ var _el$371 = _$createElement("span");
9007
+ _$insert(_el$371, () => cmd().lastError.slice(0, 120));
9008
+ _$effect((_$p) => _$setProp(_el$371, "style", {
9009
9009
  fg: theme().error
9010
9010
  }, _$p));
9011
- return _el$374;
9011
+ return _el$371;
9012
9012
  })()];
9013
- })(), _el$361);
9014
- _$insertNode(_el$362, _$createTextNode(`o fullscreen \xB7 X kill \xB7 R restart \xB7 x remove-done \xB7 :interrupt :terminate :remove \xB7 text + Enter writes stdin`));
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`));
9015
9015
  _$effect((_p$) => {
9016
- var _v$69 = commandBorderColor(cmd().status, theme()), _v$70 = {
9016
+ var _v$57 = commandBorderColor(cmd().status, theme()), _v$58 = {
9017
9017
  fg: commandStatusColor(cmd().status, theme()),
9018
9018
  bold: true
9019
- }, _v$71 = {
9019
+ }, _v$59 = {
9020
9020
  fg: theme().textMuted
9021
- }, _v$72 = {
9021
+ }, _v$60 = {
9022
9022
  fg: commandStatusColor(cmd().status, theme())
9023
- }, _v$73 = {
9023
+ }, _v$61 = {
9024
9024
  fg: theme().primary,
9025
9025
  bold: true
9026
- }, _v$74 = {
9026
+ }, _v$62 = {
9027
9027
  fg: theme().accent,
9028
9028
  bold: true
9029
- }, _v$75 = {
9029
+ }, _v$63 = {
9030
9030
  fg: theme().textMuted
9031
- }, _v$76 = {
9031
+ }, _v$64 = {
9032
9032
  fg: theme().accent,
9033
9033
  bold: true
9034
- }, _v$77 = {
9034
+ }, _v$65 = {
9035
9035
  fg: theme().textMuted
9036
- }, _v$78 = {
9036
+ }, _v$66 = {
9037
9037
  fg: theme().warning,
9038
9038
  bold: true
9039
- }, _v$79 = {
9039
+ }, _v$67 = {
9040
9040
  fg: theme().warning,
9041
9041
  bold: true
9042
- }, _v$80 = {
9042
+ }, _v$68 = {
9043
9043
  fg: theme().text
9044
- }, _v$81 = {
9044
+ }, _v$69 = {
9045
9045
  fg: theme().textMuted
9046
- }, _v$82 = {
9046
+ }, _v$70 = {
9047
9047
  fg: theme().textMuted
9048
9048
  };
9049
- _v$69 !== _p$.e && (_p$.e = _$setProp(_el$334, "borderColor", _v$69, _p$.e));
9050
- _v$70 !== _p$.t && (_p$.t = _$setProp(_el$336, "style", _v$70, _p$.t));
9051
- _v$71 !== _p$.a && (_p$.a = _$setProp(_el$338, "style", _v$71, _p$.a));
9052
- _v$72 !== _p$.o && (_p$.o = _$setProp(_el$340, "style", _v$72, _p$.o));
9053
- _v$73 !== _p$.i && (_p$.i = _$setProp(_el$343, "style", _v$73, _p$.i));
9054
- _v$74 !== _p$.n && (_p$.n = _$setProp(_el$345, "style", _v$74, _p$.n));
9055
- _v$75 !== _p$.s && (_p$.s = _$setProp(_el$347, "style", _v$75, _p$.s));
9056
- _v$76 !== _p$.h && (_p$.h = _$setProp(_el$349, "style", _v$76, _p$.h));
9057
- _v$77 !== _p$.r && (_p$.r = _$setProp(_el$351, "style", _v$77, _p$.r));
9058
- _v$78 !== _p$.d && (_p$.d = _$setProp(_el$353, "style", _v$78, _p$.d));
9059
- _v$79 !== _p$.l && (_p$.l = _$setProp(_el$355, "style", _v$79, _p$.l));
9060
- _v$80 !== _p$.u && (_p$.u = _$setProp(_el$357, "style", _v$80, _p$.u));
9061
- _v$81 !== _p$.c && (_p$.c = _$setProp(_el$359, "style", _v$81, _p$.c));
9062
- _v$82 !== _p$.w && (_p$.w = _$setProp(_el$362, "style", _v$82, _p$.w));
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));
9063
9063
  return _p$;
9064
9064
  }, {
9065
9065
  e: undefined,
@@ -9077,101 +9077,101 @@ function LoopDashboard(props) {
9077
9077
  c: undefined,
9078
9078
  w: undefined
9079
9079
  });
9080
- return _el$334;
9080
+ return _el$331;
9081
9081
  })()
9082
9082
  })];
9083
9083
  }
9084
9084
  }), null);
9085
- _$insert(_el$39, _$createComponent(Show, {
9085
+ _$insert(_el$42, _$createComponent(Show, {
9086
9086
  get when() {
9087
9087
  return _$memo(() => !!showLogs())() && events().length > 0;
9088
9088
  },
9089
9089
  get children() {
9090
- var _el$45 = _$createElement("box"), _el$46 = _$createElement("text"), _el$47 = _$createElement("span"), _el$49 = _$createElement("span");
9091
- _$insertNode(_el$45, _el$46);
9092
- _$setProp(_el$45, "flexDirection", "column");
9093
- _$setProp(_el$45, "border", true);
9094
- _$setProp(_el$45, "padding", 1);
9095
- _$setProp(_el$45, "maxHeight", 7);
9096
- _$setProp(_el$45, "flexShrink", 0);
9097
- _$setProp(_el$45, "overflow", "hidden");
9090
+ var _el$46 = _$createElement("box"), _el$47 = _$createElement("text"), _el$48 = _$createElement("span"), _el$50 = _$createElement("span");
9098
9091
  _$insertNode(_el$46, _el$47);
9099
- _$insertNode(_el$46, _el$49);
9100
- _$insertNode(_el$47, _$createTextNode(`\u25C8 Recent Events`));
9101
- _$insertNode(_el$49, _$createTextNode(` \u2014 :logs to hide`));
9102
- _$insert(_el$46, _$createComponent(For, {
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, {
9103
9103
  get each() {
9104
9104
  return events().slice(-10);
9105
9105
  },
9106
9106
  children: (ev) => [`
9107
9107
  `, (() => {
9108
- var _el$375 = _$createElement("span");
9109
- _$insert(_el$375, () => String(ev.type));
9110
- _$effect((_$p) => _$setProp(_el$375, "style", {
9108
+ var _el$372 = _$createElement("span");
9109
+ _$insert(_el$372, () => String(ev.type));
9110
+ _$effect((_$p) => _$setProp(_el$372, "style", {
9111
9111
  fg: eventColor(String(ev.type), theme()),
9112
9112
  bold: true
9113
9113
  }, _$p));
9114
- return _el$375;
9114
+ return _el$372;
9115
9115
  })(), (() => {
9116
- var _el$376 = _$createElement("span"), _el$377 = _$createTextNode(` `);
9117
- _$insertNode(_el$376, _el$377);
9118
- _$insert(_el$376, () => ev.goalID?.slice(0, 8), null);
9119
- _$effect((_$p) => _$setProp(_el$376, "style", {
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", {
9120
9120
  fg: theme().textMuted
9121
9121
  }, _$p));
9122
- return _el$376;
9122
+ return _el$373;
9123
9123
  })(), _$memo(() => _$memo(() => !!ev.summary)() && (() => {
9124
- var _el$378 = _$createElement("span"), _el$379 = _$createTextNode(` \u2014 `);
9125
- _$insertNode(_el$378, _el$379);
9126
- _$insert(_el$378, () => String(ev.summary).slice(0, 60), null);
9127
- _$effect((_$p) => _$setProp(_el$378, "style", {
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", {
9128
9128
  fg: theme().text
9129
9129
  }, _$p));
9130
- return _el$378;
9130
+ return _el$375;
9131
9131
  })())]
9132
9132
  }), null);
9133
9133
  _$effect((_p$) => {
9134
- var _v$ = theme().border, _v$2 = {
9134
+ var _v$3 = theme().border, _v$4 = {
9135
9135
  fg: theme().accent,
9136
9136
  bold: true
9137
- }, _v$3 = {
9137
+ }, _v$5 = {
9138
9138
  fg: theme().textMuted
9139
9139
  };
9140
- _v$ !== _p$.e && (_p$.e = _$setProp(_el$45, "borderColor", _v$, _p$.e));
9141
- _v$2 !== _p$.t && (_p$.t = _$setProp(_el$47, "style", _v$2, _p$.t));
9142
- _v$3 !== _p$.a && (_p$.a = _$setProp(_el$49, "style", _v$3, _p$.a));
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));
9143
9143
  return _p$;
9144
9144
  }, {
9145
9145
  e: undefined,
9146
9146
  t: undefined,
9147
9147
  a: undefined
9148
9148
  });
9149
- return _el$45;
9149
+ return _el$46;
9150
9150
  }
9151
9151
  }), null);
9152
- _$insertNode(_el$51, _el$52);
9153
- _$insertNode(_el$51, _el$54);
9154
- _$setProp(_el$51, "flexDirection", "row");
9155
- _$setProp(_el$51, "border", true);
9156
- _$setProp(_el$51, "paddingLeft", 1);
9157
- _$setProp(_el$51, "paddingRight", 1);
9158
- _$setProp(_el$51, "flexShrink", 0);
9159
- _$setProp(_el$51, "height", 3);
9160
- _$setProp(_el$51, "gap", 1);
9161
9152
  _$insertNode(_el$52, _el$53);
9162
- _$insert(_el$53, () => mode() === "insert" ? " INSERT \uE0B1" : " NORMAL ");
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 ");
9163
9163
  _$use((el) => {
9164
9164
  inputEl = el;
9165
9165
  focusInput();
9166
- }, _el$54);
9167
- _$setProp(_el$54, "flexGrow", 1);
9168
- _$setProp(_el$54, "onInput", (v) => {
9166
+ }, _el$55);
9167
+ _$setProp(_el$55, "flexGrow", 1);
9168
+ _$setProp(_el$55, "onInput", (v) => {
9169
9169
  if (mode() === "insert")
9170
9170
  setCommandInput(v);
9171
9171
  else if (inputEl?.value)
9172
9172
  inputEl.value = "";
9173
9173
  });
9174
- _$setProp(_el$54, "onKeyDown", (evt) => {
9174
+ _$setProp(_el$55, "onKeyDown", (evt) => {
9175
9175
  if (mode() !== "insert") {
9176
9176
  if ((evt.name || "").length === 1)
9177
9177
  prevent(evt);
@@ -9179,75 +9179,75 @@ function LoopDashboard(props) {
9179
9179
  }
9180
9180
  });
9181
9181
  _$effect((_p$) => {
9182
- var _v$4 = theme().border, _v$5 = {
9182
+ var _v$6 = theme().border, _v$7 = {
9183
9183
  fg: theme().primary,
9184
9184
  bold: true
9185
- }, _v$6 = {
9185
+ }, _v$8 = {
9186
9186
  fg: theme().textMuted
9187
- }, _v$7 = {
9187
+ }, _v$9 = {
9188
9188
  fg: mode() === "normal" ? theme().success : theme().warning,
9189
9189
  bold: true,
9190
9190
  bg: mode() === "insert" ? theme().backgroundElement : undefined
9191
- }, _v$8 = {
9191
+ }, _v$0 = {
9192
9192
  fg: theme().textMuted
9193
- }, _v$9 = {
9193
+ }, _v$1 = {
9194
9194
  fg: theme().accent,
9195
9195
  bold: true
9196
- }, _v$0 = {
9196
+ }, _v$10 = {
9197
9197
  fg: theme().textMuted
9198
- }, _v$1 = {
9198
+ }, _v$11 = {
9199
9199
  fg: theme().textMuted
9200
- }, _v$10 = {
9200
+ }, _v$12 = {
9201
9201
  fg: runningCount() > 0 ? theme().success : theme().textMuted,
9202
9202
  bold: runningCount() > 0
9203
- }, _v$11 = {
9203
+ }, _v$13 = {
9204
9204
  fg: theme().textMuted
9205
- }, _v$12 = {
9205
+ }, _v$14 = {
9206
9206
  fg: theme().info,
9207
9207
  bold: true
9208
- }, _v$13 = {
9208
+ }, _v$15 = {
9209
9209
  fg: theme().textMuted
9210
- }, _v$14 = {
9210
+ }, _v$16 = {
9211
9211
  fg: theme().textMuted
9212
- }, _v$15 = {
9212
+ }, _v$17 = {
9213
9213
  fg: tab() === "goals" ? theme().primary : theme().textMuted,
9214
9214
  bold: tab() === "goals"
9215
- }, _v$16 = {
9215
+ }, _v$18 = {
9216
9216
  fg: theme().textMuted
9217
- }, _v$17 = {
9217
+ }, _v$19 = {
9218
9218
  fg: tab() === "commands" ? theme().primary : theme().textMuted,
9219
9219
  bold: tab() === "commands"
9220
- }, _v$18 = {
9220
+ }, _v$20 = {
9221
9221
  fg: theme().textMuted
9222
- }, _v$19 = mode() === "insert" ? theme().warning : theme().border, _v$20 = {
9222
+ }, _v$21 = mode() === "insert" ? theme().warning : theme().border, _v$22 = {
9223
9223
  fg: mode() === "insert" ? theme().warning : theme().success,
9224
9224
  bold: true,
9225
9225
  bg: mode() === "insert" ? theme().backgroundElement : undefined
9226
- }, _v$21 = 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$22 = theme().textMuted, _v$23 = theme().primary, _v$24 = theme().text, _v$25 = theme().background;
9227
- _v$4 !== _p$.e && (_p$.e = _$setProp(_el$2, "borderColor", _v$4, _p$.e));
9228
- _v$5 !== _p$.t && (_p$.t = _$setProp(_el$5, "style", _v$5, _p$.t));
9229
- _v$6 !== _p$.a && (_p$.a = _$setProp(_el$7, "style", _v$6, _p$.a));
9230
- _v$7 !== _p$.o && (_p$.o = _$setProp(_el$9, "style", _v$7, _p$.o));
9231
- _v$8 !== _p$.i && (_p$.i = _$setProp(_el$10, "style", _v$8, _p$.i));
9232
- _v$9 !== _p$.n && (_p$.n = _$setProp(_el$12, "style", _v$9, _p$.n));
9233
- _v$0 !== _p$.s && (_p$.s = _$setProp(_el$13, "style", _v$0, _p$.s));
9234
- _v$1 !== _p$.h && (_p$.h = _$setProp(_el$15, "style", _v$1, _p$.h));
9235
- _v$10 !== _p$.r && (_p$.r = _$setProp(_el$17, "style", _v$10, _p$.r));
9236
- _v$11 !== _p$.d && (_p$.d = _$setProp(_el$20, "style", _v$11, _p$.d));
9237
- _v$12 !== _p$.l && (_p$.l = _$setProp(_el$22, "style", _v$12, _p$.l));
9238
- _v$13 !== _p$.u && (_p$.u = _$setProp(_el$23, "style", _v$13, _p$.u));
9239
- _v$14 !== _p$.c && (_p$.c = _$setProp(_el$25, "style", _v$14, _p$.c));
9240
- _v$15 !== _p$.w && (_p$.w = _$setProp(_el$27, "style", _v$15, _p$.w));
9241
- _v$16 !== _p$.m && (_p$.m = _$setProp(_el$29, "style", _v$16, _p$.m));
9242
- _v$17 !== _p$.f && (_p$.f = _$setProp(_el$31, "style", _v$17, _p$.f));
9243
- _v$18 !== _p$.y && (_p$.y = _$setProp(_el$33, "style", _v$18, _p$.y));
9244
- _v$19 !== _p$.g && (_p$.g = _$setProp(_el$51, "borderColor", _v$19, _p$.g));
9245
- _v$20 !== _p$.p && (_p$.p = _$setProp(_el$53, "style", _v$20, _p$.p));
9246
- _v$21 !== _p$.b && (_p$.b = _$setProp(_el$54, "placeholder", _v$21, _p$.b));
9247
- _v$22 !== _p$.T && (_p$.T = _$setProp(_el$54, "placeholderColor", _v$22, _p$.T));
9248
- _v$23 !== _p$.A && (_p$.A = _$setProp(_el$54, "cursorColor", _v$23, _p$.A));
9249
- _v$24 !== _p$.O && (_p$.O = _$setProp(_el$54, "focusedTextColor", _v$24, _p$.O));
9250
- _v$25 !== _p$.I && (_p$.I = _$setProp(_el$54, "focusedBackgroundColor", _v$25, _p$.I));
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));
9251
9251
  return _p$;
9252
9252
  }, {
9253
9253
  e: undefined,
@@ -9275,7 +9275,7 @@ function LoopDashboard(props) {
9275
9275
  O: undefined,
9276
9276
  I: undefined
9277
9277
  });
9278
- return _el$;
9278
+ return _el$4;
9279
9279
  })();
9280
9280
  }
9281
9281