@bojackduy/opencode-loopd 1.10.5 → 1.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/tui.js CHANGED
@@ -6001,6 +6001,8 @@ function commandHelp() {
6001
6001
  " :pause / :resume / :retry / :clear Quick controls (also p/r/R/x)",
6002
6002
  " :abort Abort worker session now (status unchanged; A)",
6003
6003
  " :nudge Force re-prompt now with full steering (N)",
6004
+ " :interactive Toggle manual mode (engine never starts turns)",
6005
+ " :model <provider/model> Switch this goal's model (same worker; :models lists options)",
6004
6006
  " :bug / :report Open prefilled GitHub bug report",
6005
6007
  " :logs / :help / :q Toggle logs / help / close",
6006
6008
  " Tip: create goals via /goal in the parent chat (agent clarifies first)."
@@ -6011,14 +6013,13 @@ function commandTabHelp() {
6011
6013
  return [
6012
6014
  "Nav: j/k select | o fullscreen | q close",
6013
6015
  "Commands tab (selected command only):",
6014
- " Ctrl+C / :interrupt Send SIGINT",
6015
- " :terminate Graceful stop (SIGTERM\u2192SIGKILL)",
6016
- " X / :kill Force kill now (SIGKILL)",
6017
- " R / :restart Restart; old log retained",
6018
- " x / :remove Remove finished command + log",
6019
- " :new <cmd> [args] Start (quoted args supported)",
6020
- " bare text + Enter Write stdin line",
6021
- " ? toggle help | : insert | Ctrl+N normal"
6016
+ " c / Ctrl+C Toggle finished / send SIGINT",
6017
+ " :terminate Graceful stop (SIGTERM\u2192SIGKILL)",
6018
+ " X / :kill Force kill now (SIGKILL)",
6019
+ " R / :restart Restart; old log kept",
6020
+ " x / :remove Remove finished + log",
6021
+ " :new <cmd> [args] Start a command",
6022
+ " bare text + Enter Write stdin line"
6022
6023
  ].join(`
6023
6024
  `);
6024
6025
  }
@@ -6325,6 +6326,14 @@ function resolveOpenTarget(input) {
6325
6326
  };
6326
6327
  }
6327
6328
 
6329
+ // src/domain/command-await.ts
6330
+ var TERMINAL_COMMAND_STATUSES = [
6331
+ "exited",
6332
+ "terminated",
6333
+ "missing"
6334
+ ];
6335
+ var MAX_AWAIT_TAIL_BYTES = 4 * 1024;
6336
+
6328
6337
  // src/tui/dashboard-view.ts
6329
6338
  function toggleDashboardView(view) {
6330
6339
  return view === "goals" ? "commands" : "goals";
@@ -6377,8 +6386,12 @@ function resolveDashboardOpen(lists, sel, ownerSessionID, returnSessionID) {
6377
6386
  returnSessionID
6378
6387
  });
6379
6388
  }
6380
- function visibleOwnerCommands(commands, ownerSessionID) {
6381
- return filterCommandsByOwner(commands ?? [], ownerSessionID);
6389
+ function visibleOwnerCommands(commands, ownerSessionID, showCompleted = false) {
6390
+ const owned = filterCommandsByOwner(commands ?? [], ownerSessionID);
6391
+ if (showCompleted)
6392
+ return owned;
6393
+ const terminal = TERMINAL_COMMAND_STATUSES;
6394
+ return owned.filter((c) => !terminal.includes(c.status));
6382
6395
  }
6383
6396
 
6384
6397
  // src/tui/dashboard.tsx
@@ -6666,7 +6679,13 @@ function LoopDashboard(props) {
6666
6679
  const [tab, setTab] = createSignal(props.initialView ?? "goals");
6667
6680
  const [cmdSelected, setCmdSelected] = createSignal(0);
6668
6681
  const ownerSessionID = () => props.ownerSessionID ?? currentRouteSessionID(props.api);
6669
- const ownerCommands = () => visibleOwnerCommands(state()?.commands, ownerSessionID());
6682
+ const ownerCommands = () => visibleOwnerCommands(state()?.commands, ownerSessionID(), showCompleted());
6683
+ const hiddenFinishedCommands = () => {
6684
+ if (showCompleted())
6685
+ return 0;
6686
+ const terminal = ["exited", "terminated", "missing"];
6687
+ return (state()?.commands ?? []).filter((c) => c.ownerSessionID === ownerSessionID() && terminal.includes(c.status)).length;
6688
+ };
6670
6689
  const [state, setState] = createSignal(null);
6671
6690
  const [events, setEvents] = createSignal([]);
6672
6691
  const [selectedGoal, setSelectedGoal] = createSignal(null);
@@ -6698,7 +6717,7 @@ function LoopDashboard(props) {
6698
6717
  if (goals.length > 0 && selected() >= goals.length)
6699
6718
  setSelected(goals.length - 1);
6700
6719
  setSelectedGoal(goals[selected()] || null);
6701
- const cmds = visibleOwnerCommands(s.commands, ownerSessionID());
6720
+ const cmds = visibleOwnerCommands(s.commands, ownerSessionID(), showCompleted());
6702
6721
  if (cmds.length > 0 && cmdSelected() >= cmds.length)
6703
6722
  setCmdSelected(cmds.length - 1);
6704
6723
  setEvents(await client.getEvents(20));
@@ -6815,7 +6834,11 @@ function LoopDashboard(props) {
6815
6834
  }
6816
6835
  if (key === "c") {
6817
6836
  prevent(evt);
6818
- setShowCompleted((v) => !v);
6837
+ setShowCompleted((v) => {
6838
+ const next = !v;
6839
+ setStatusText(next ? `Showing finished ${tab() === "commands" ? "commands" : "goals"}.` : `Hiding finished ${tab() === "commands" ? "commands" : "goals"}.`);
6840
+ return next;
6841
+ });
6819
6842
  debugLog("toggle completed");
6820
6843
  return;
6821
6844
  }
@@ -6881,7 +6904,7 @@ function LoopDashboard(props) {
6881
6904
  removeFinishedSelected();
6882
6905
  return;
6883
6906
  }
6884
- const needsGoalsTab = ["p", "r", "A", "N"].includes(key);
6907
+ const needsGoalsTab = ["p", "r", "A", "N", "model", "models"].includes(key);
6885
6908
  if (needsGoalsTab && tab() !== "goals") {
6886
6909
  prevent(evt);
6887
6910
  setStatusText("Goal controls need the Goals tab (Tab to switch).");
@@ -7298,6 +7321,62 @@ function LoopDashboard(props) {
7298
7321
  await refresh();
7299
7322
  break;
7300
7323
  }
7324
+ case "interactive": {
7325
+ if (!selectedGoal()) {
7326
+ setStatusText("No goal");
7327
+ break;
7328
+ }
7329
+ const next = !(selectedGoal().interactive === true);
7330
+ const r = await client.execute({
7331
+ version: 1,
7332
+ requestID: randomUUID2(),
7333
+ requestedAt: new Date().toISOString(),
7334
+ command: "set_interactive",
7335
+ goalID: selectedGoal().id,
7336
+ args: {
7337
+ interactive: next
7338
+ }
7339
+ });
7340
+ setStatusText(r.ok ? r.message : `Error: ${r.message}`);
7341
+ if (r.ok)
7342
+ await refresh();
7343
+ break;
7344
+ }
7345
+ case "model": {
7346
+ if (!selectedGoal()) {
7347
+ setStatusText("No goal selected");
7348
+ break;
7349
+ }
7350
+ const target = parsed.positional.join(" ").trim();
7351
+ if (!target) {
7352
+ setStatusText("Usage: :model <provider/model> \u2014 e.g. :model openai/gpt-5.6-sol. :models lists what's available.");
7353
+ break;
7354
+ }
7355
+ const r = await client.execute({
7356
+ version: 1,
7357
+ requestID: randomUUID2(),
7358
+ requestedAt: new Date().toISOString(),
7359
+ command: "switch_goal_model",
7360
+ goalID: selectedGoal().id,
7361
+ args: {
7362
+ model: target
7363
+ }
7364
+ });
7365
+ setStatusText(r.ok ? r.message : `Error: ${r.message}`);
7366
+ if (r.ok)
7367
+ await refresh();
7368
+ break;
7369
+ }
7370
+ case "models": {
7371
+ const r = await client.execute({
7372
+ version: 1,
7373
+ requestID: randomUUID2(),
7374
+ requestedAt: new Date().toISOString(),
7375
+ command: "list_models"
7376
+ });
7377
+ setStatusText(r.ok ? r.message : `Error: ${r.message}`);
7378
+ break;
7379
+ }
7301
7380
  case "goal": {
7302
7381
  setStatusText("Create goals via /goal in the parent chat (agent clarifies first). Dashboard: :send to steer the worker.");
7303
7382
  break;
@@ -7466,14 +7545,14 @@ function LoopDashboard(props) {
7466
7545
  _$setProp(_el$40, "border", true);
7467
7546
  _$setProp(_el$40, "borderColor", "yellow");
7468
7547
  _$setProp(_el$40, "flexShrink", 0);
7469
- _$setProp(_el$40, "maxHeight", 14);
7548
+ _$setProp(_el$40, "maxHeight", 17);
7470
7549
  _$setProp(_el$40, "overflow", "hidden");
7471
7550
  _$insertNode(_el$41, _el$42);
7472
7551
  _$setProp(_el$42, "style", {
7473
7552
  fg: "yellow",
7474
7553
  bold: true
7475
7554
  });
7476
- _$insert(_el$42, () => tab() === "commands" ? "\u2501\u2501\u2501 Commands: ? help : insert 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");
7555
+ _$insert(_el$42, () => tab() === "commands" ? "\u2501\u2501\u2501 Commands: ? help : insert c toggle done X kill R restart x remove-done o fullscreen q close \u2501\u2501\u2501" : "\u2501\u2501\u2501 Keys: ? toggle help c toggle done : insert Ctrl+N normal o open A abort worker N nudge q close \u2501\u2501\u2501");
7477
7556
  _$insert(_el$41, _$createComponent(For, {
7478
7557
  get each() {
7479
7558
  return (tab() === "commands" ? commandTabHelp() : commandHelp()).split(`
@@ -7761,8 +7840,8 @@ function LoopDashboard(props) {
7761
7840
  var _el$108 = _$createElement("span"), _el$109 = _$createTextNode(` `);
7762
7841
  _$insertNode(_el$108, _el$109);
7763
7842
  _$insert(_el$108, (() => {
7764
- var _c$1 = _$memo(() => runtime().phase === "running");
7765
- return () => _c$1() ? runningFrame() : phaseIcon(runtime().phase);
7843
+ var _c$11 = _$memo(() => runtime().phase === "running");
7844
+ return () => _c$11() ? runningFrame() : phaseIcon(runtime().phase);
7766
7845
  })(), _el$109);
7767
7846
  _$insert(_el$108, () => phaseLabel(runtime().phase).short.toUpperCase(), null);
7768
7847
  _$effect((_$p) => _$setProp(_el$108, "style", {
@@ -7855,29 +7934,53 @@ function LoopDashboard(props) {
7855
7934
  })();
7856
7935
  })(), null);
7857
7936
  _$insert(_el$99, (() => {
7858
- var _c$9 = _$memo(() => !!(runtime() && runtime().retryAfter));
7937
+ var _c$9 = _$memo(() => goal.interactive === true);
7859
7938
  return () => _c$9() && (() => {
7860
- var _el$127 = _$createElement("span"), _el$128 = _$createTextNode(` \u2502 \u21BB `);
7861
- _$insertNode(_el$127, _el$128);
7862
- _$insert(_el$127, () => countdownLabel(runtime().retryAfter, clock()), null);
7939
+ var _el$127 = _$createElement("span");
7940
+ _$insertNode(_el$127, _$createTextNode(` \u2502 \u270B MANUAL`));
7863
7941
  _$effect((_$p) => _$setProp(_el$127, "style", {
7864
- fg: theme().accent
7942
+ fg: theme().accent,
7943
+ bold: true
7865
7944
  }, _$p));
7866
7945
  return _el$127;
7867
7946
  })();
7868
7947
  })(), null);
7869
7948
  _$insert(_el$99, (() => {
7870
- var _c$0 = _$memo(() => !!(runtime() && runtime().nextRunAt));
7949
+ var _c$0 = _$memo(() => !!goal.config.model);
7871
7950
  return () => _c$0() && (() => {
7872
- var _el$129 = _$createElement("span"), _el$130 = _$createTextNode(` \u2502 \u23F0 `);
7951
+ var _el$129 = _$createElement("span"), _el$130 = _$createTextNode(` \u2502 \uD83E\uDDE0 `);
7873
7952
  _$insertNode(_el$129, _el$130);
7874
- _$insert(_el$129, () => countdownLabel(runtime().nextRunAt, clock()), null);
7953
+ _$insert(_el$129, () => goal.config.model, null);
7875
7954
  _$effect((_$p) => _$setProp(_el$129, "style", {
7876
- fg: theme().accent
7955
+ fg: theme().info
7877
7956
  }, _$p));
7878
7957
  return _el$129;
7879
7958
  })();
7880
7959
  })(), null);
7960
+ _$insert(_el$99, (() => {
7961
+ var _c$1 = _$memo(() => !!(runtime() && runtime().retryAfter));
7962
+ return () => _c$1() && (() => {
7963
+ var _el$131 = _$createElement("span"), _el$132 = _$createTextNode(` \u2502 \u21BB `);
7964
+ _$insertNode(_el$131, _el$132);
7965
+ _$insert(_el$131, () => countdownLabel(runtime().retryAfter, clock()), null);
7966
+ _$effect((_$p) => _$setProp(_el$131, "style", {
7967
+ fg: theme().accent
7968
+ }, _$p));
7969
+ return _el$131;
7970
+ })();
7971
+ })(), null);
7972
+ _$insert(_el$99, (() => {
7973
+ var _c$10 = _$memo(() => !!(runtime() && runtime().nextRunAt));
7974
+ return () => _c$10() && (() => {
7975
+ var _el$133 = _$createElement("span"), _el$134 = _$createTextNode(` \u2502 \u23F0 `);
7976
+ _$insertNode(_el$133, _el$134);
7977
+ _$insert(_el$133, () => countdownLabel(runtime().nextRunAt, clock()), null);
7978
+ _$effect((_$p) => _$setProp(_el$133, "style", {
7979
+ fg: theme().accent
7980
+ }, _$p));
7981
+ return _el$133;
7982
+ })();
7983
+ })(), null);
7881
7984
  _$effect((_p$) => {
7882
7985
  var _v$36 = rowIdFor(goal.id), _v$37 = isActive() ? theme().backgroundElement : undefined, _v$38 = {
7883
7986
  fg: statusColor(goal.status, theme()),
@@ -7921,530 +8024,579 @@ function LoopDashboard(props) {
7921
8024
  const lp = () => goal().lastProgress;
7922
8025
  const blk = () => goal().blocker;
7923
8026
  return (() => {
7924
- var _el$131 = _$createElement("box"), _el$132 = _$createElement("text"), _el$133 = _$createElement("span"), _el$134 = _$createTextNode(` `), _el$135 = _$createElement("span"), _el$137 = _$createElement("span"), _el$138 = _$createTextNode(` \u2014 `), _el$139 = _$createTextNode(`
7925
- `), _el$140 = _$createElement("span"), _el$141 = _$createTextNode(`
7926
- `), _el$142 = _$createElement("span"), _el$144 = _$createElement("span");
7927
- _$insertNode(_el$131, _el$132);
7928
- _$setProp(_el$131, "flexDirection", "column");
7929
- _$setProp(_el$131, "border", true);
7930
- _$setProp(_el$131, "padding", 1);
7931
- _$setProp(_el$131, "flexShrink", 0);
7932
- _$setProp(_el$131, "maxHeight", 13);
7933
- _$insertNode(_el$132, _el$133);
7934
- _$insertNode(_el$132, _el$135);
7935
- _$insertNode(_el$132, _el$137);
7936
- _$insertNode(_el$132, _el$139);
7937
- _$insertNode(_el$132, _el$140);
7938
- _$insertNode(_el$132, _el$141);
7939
- _$insertNode(_el$132, _el$142);
7940
- _$insertNode(_el$132, _el$144);
7941
- _$insertNode(_el$133, _el$134);
7942
- _$insert(_el$133, () => statusIcon(goal().status), _el$134);
7943
- _$insert(_el$133, () => goal().name, null);
7944
- _$insertNode(_el$135, _$createTextNode(` Goal `));
8027
+ var _el$135 = _$createElement("box"), _el$136 = _$createElement("text"), _el$137 = _$createElement("span"), _el$138 = _$createTextNode(` `), _el$139 = _$createElement("span"), _el$141 = _$createElement("span"), _el$142 = _$createTextNode(` \u2014 `), _el$143 = _$createTextNode(`
8028
+ `), _el$144 = _$createElement("span"), _el$145 = _$createTextNode(`
8029
+ `), _el$146 = _$createElement("span"), _el$148 = _$createElement("span");
8030
+ _$insertNode(_el$135, _el$136);
8031
+ _$setProp(_el$135, "flexDirection", "column");
8032
+ _$setProp(_el$135, "border", true);
8033
+ _$setProp(_el$135, "padding", 1);
8034
+ _$setProp(_el$135, "flexShrink", 0);
8035
+ _$setProp(_el$135, "maxHeight", 13);
8036
+ _$insertNode(_el$136, _el$137);
8037
+ _$insertNode(_el$136, _el$139);
8038
+ _$insertNode(_el$136, _el$141);
8039
+ _$insertNode(_el$136, _el$143);
8040
+ _$insertNode(_el$136, _el$144);
8041
+ _$insertNode(_el$136, _el$145);
8042
+ _$insertNode(_el$136, _el$146);
8043
+ _$insertNode(_el$136, _el$148);
7945
8044
  _$insertNode(_el$137, _el$138);
7946
- _$insert(_el$137, () => goalStatusLabel(goal().status).short, _el$138);
7947
- _$insert(_el$137, () => goalStatusLabel(goal().status).hint, null);
7948
- _$insert(_el$132, (() => {
7949
- var _c$10 = _$memo(() => !!rt());
7950
- return () => _c$10() && [(() => {
7951
- var _el$145 = _$createElement("span");
7952
- _$insertNode(_el$145, _$createTextNode(` \u2502 Worker `));
7953
- _$effect((_$p) => _$setProp(_el$145, "style", {
8045
+ _$insert(_el$137, () => statusIcon(goal().status), _el$138);
8046
+ _$insert(_el$137, () => goal().name, null);
8047
+ _$insertNode(_el$139, _$createTextNode(` Goal `));
8048
+ _$insertNode(_el$141, _el$142);
8049
+ _$insert(_el$141, () => goalStatusLabel(goal().status).short, _el$142);
8050
+ _$insert(_el$141, () => goalStatusLabel(goal().status).hint, null);
8051
+ _$insert(_el$136, (() => {
8052
+ var _c$12 = _$memo(() => !!rt());
8053
+ return () => _c$12() && [(() => {
8054
+ var _el$149 = _$createElement("span");
8055
+ _$insertNode(_el$149, _$createTextNode(` \u2502 Worker `));
8056
+ _$effect((_$p) => _$setProp(_el$149, "style", {
7954
8057
  fg: theme().textMuted
7955
8058
  }, _$p));
7956
- return _el$145;
8059
+ return _el$149;
7957
8060
  })(), (() => {
7958
- var _el$147 = _$createElement("span"), _el$148 = _$createTextNode(` `), _el$149 = _$createTextNode(` \u2014 `);
7959
- _$insertNode(_el$147, _el$148);
7960
- _$insertNode(_el$147, _el$149);
7961
- _$insert(_el$147, () => phaseIcon(rt().phase), _el$148);
7962
- _$insert(_el$147, () => phaseLabel(rt().phase).short, _el$149);
7963
- _$insert(_el$147, () => phaseLabel(rt().phase).hint, null);
7964
- _$effect((_$p) => _$setProp(_el$147, "style", {
8061
+ var _el$151 = _$createElement("span"), _el$152 = _$createTextNode(` `), _el$153 = _$createTextNode(` \u2014 `);
8062
+ _$insertNode(_el$151, _el$152);
8063
+ _$insertNode(_el$151, _el$153);
8064
+ _$insert(_el$151, () => phaseIcon(rt().phase), _el$152);
8065
+ _$insert(_el$151, () => phaseLabel(rt().phase).short, _el$153);
8066
+ _$insert(_el$151, () => phaseLabel(rt().phase).hint, null);
8067
+ _$effect((_$p) => _$setProp(_el$151, "style", {
7965
8068
  fg: phaseColor(rt().phase, theme()),
7966
8069
  bold: true
7967
8070
  }, _$p));
7968
- return _el$147;
8071
+ return _el$151;
7969
8072
  })(), (() => {
7970
- var _el$150 = _$createElement("span"), _el$151 = _$createTextNode(` run `), _el$152 = _$createTextNode(` (budget `), _el$153 = _$createTextNode(`)`);
7971
- _$insertNode(_el$150, _el$151);
7972
- _$insertNode(_el$150, _el$152);
7973
- _$insertNode(_el$150, _el$153);
7974
- _$insert(_el$150, () => rt().runCount, _el$152);
7975
- _$insert(_el$150, () => rt().budgetTurnCount, _el$153);
7976
- _$effect((_$p) => _$setProp(_el$150, "style", {
8073
+ var _el$154 = _$createElement("span"), _el$155 = _$createTextNode(` run `), _el$156 = _$createTextNode(` (budget `), _el$157 = _$createTextNode(`)`);
8074
+ _$insertNode(_el$154, _el$155);
8075
+ _$insertNode(_el$154, _el$156);
8076
+ _$insertNode(_el$154, _el$157);
8077
+ _$insert(_el$154, () => rt().runCount, _el$156);
8078
+ _$insert(_el$154, () => rt().budgetTurnCount, _el$157);
8079
+ _$effect((_$p) => _$setProp(_el$154, "style", {
7977
8080
  fg: theme().textMuted
7978
8081
  }, _$p));
7979
- return _el$150;
8082
+ return _el$154;
7980
8083
  })()];
7981
- })(), _el$139);
7982
- _$insert(_el$140, () => describeGoalState(goal().status, rt()?.phase));
7983
- _$insert(_el$132, (() => {
7984
- var _c$11 = _$memo(() => !!rt()?.workerAbortedAt);
7985
- return () => _c$11() && [(() => {
7986
- var _el$154 = _$createElement("span");
7987
- _$insertNode(_el$154, _$createTextNode(` \u2502 \u26A0 worker aborted `));
7988
- _$effect((_$p) => _$setProp(_el$154, "style", {
8084
+ })(), _el$143);
8085
+ _$insert(_el$144, () => describeGoalState(goal().status, rt()?.phase));
8086
+ _$insert(_el$136, (() => {
8087
+ var _c$13 = _$memo(() => !!rt()?.workerAbortedAt);
8088
+ return () => _c$13() && [(() => {
8089
+ var _el$158 = _$createElement("span");
8090
+ _$insertNode(_el$158, _$createTextNode(` \u2502 \u26A0 worker aborted `));
8091
+ _$effect((_$p) => _$setProp(_el$158, "style", {
7989
8092
  fg: theme().warning,
7990
8093
  bold: true
7991
8094
  }, _$p));
7992
- return _el$154;
8095
+ return _el$158;
7993
8096
  })(), (() => {
7994
- var _el$156 = _$createElement("span"), _el$157 = _$createTextNode(` \u2014 session kept, next turn reuses it`);
7995
- _$insertNode(_el$156, _el$157);
7996
- _$insert(_el$156, () => ageLabel(rt().workerAbortedAt, clock()), _el$157);
7997
- _$effect((_$p) => _$setProp(_el$156, "style", {
8097
+ var _el$160 = _$createElement("span"), _el$161 = _$createTextNode(` \u2014 session kept, next turn reuses it`);
8098
+ _$insertNode(_el$160, _el$161);
8099
+ _$insert(_el$160, () => ageLabel(rt().workerAbortedAt, clock()), _el$161);
8100
+ _$effect((_$p) => _$setProp(_el$160, "style", {
7998
8101
  fg: theme().textMuted
7999
8102
  }, _$p));
8000
- return _el$156;
8103
+ return _el$160;
8001
8104
  })()];
8002
- })(), _el$141);
8003
- _$insert(_el$132, () => {
8105
+ })(), _el$145);
8106
+ _$insert(_el$136, () => {
8004
8107
  const agentName = goal().config.agent;
8005
8108
  const meta = agentName ? agentIndex()[agentName] ?? agentIndex()[agentName.toLowerCase()] : undefined;
8006
8109
  const model = goal().config.model;
8007
8110
  const slash = model?.indexOf("/") ?? -1;
8008
8111
  return [`
8009
8112
  `, (() => {
8010
- var _el$158 = _$createElement("span");
8011
- _$insertNode(_el$158, _$createTextNode(`\uD83E\uDD16 `));
8012
- _$effect((_$p) => _$setProp(_el$158, "style", {
8113
+ var _el$162 = _$createElement("span");
8114
+ _$insertNode(_el$162, _$createTextNode(`\uD83E\uDD16 `));
8115
+ _$effect((_$p) => _$setProp(_el$162, "style", {
8013
8116
  fg: theme().textMuted
8014
8117
  }, _$p));
8015
- return _el$158;
8118
+ return _el$162;
8016
8119
  })(), (() => {
8017
- var _el$160 = _$createElement("span");
8018
- _$insertNode(_el$160, _$createTextNode(`Agent: `));
8019
- _$effect((_$p) => _$setProp(_el$160, "style", {
8120
+ var _el$164 = _$createElement("span");
8121
+ _$insertNode(_el$164, _$createTextNode(`Agent: `));
8122
+ _$effect((_$p) => _$setProp(_el$164, "style", {
8020
8123
  fg: theme().primary,
8021
8124
  bold: true
8022
8125
  }, _$p));
8023
- return _el$160;
8126
+ return _el$164;
8024
8127
  })(), _$memo(() => agentName ? [(() => {
8025
- var _el$176 = _$createElement("span");
8026
- _$insert(_el$176, agentName);
8027
- _$effect((_$p) => _$setProp(_el$176, "style", {
8128
+ var _el$180 = _$createElement("span");
8129
+ _$insert(_el$180, agentName);
8130
+ _$effect((_$p) => _$setProp(_el$180, "style", {
8028
8131
  fg: agentColor(meta?.color, theme()),
8029
8132
  bold: true
8030
8133
  }, _$p));
8031
- return _el$176;
8134
+ return _el$180;
8032
8135
  })(), _$memo(() => _$memo(() => !!meta?.mode)() && (() => {
8033
- var _el$177 = _$createElement("span"), _el$178 = _$createTextNode(` (`), _el$179 = _$createTextNode(`)`);
8034
- _$insertNode(_el$177, _el$178);
8035
- _$insertNode(_el$177, _el$179);
8036
- _$insert(_el$177, () => meta.mode, _el$179);
8037
- _$effect((_$p) => _$setProp(_el$177, "style", {
8136
+ var _el$181 = _$createElement("span"), _el$182 = _$createTextNode(` (`), _el$183 = _$createTextNode(`)`);
8137
+ _$insertNode(_el$181, _el$182);
8138
+ _$insertNode(_el$181, _el$183);
8139
+ _$insert(_el$181, () => meta.mode, _el$183);
8140
+ _$effect((_$p) => _$setProp(_el$181, "style", {
8038
8141
  fg: theme().textMuted
8039
8142
  }, _$p));
8040
- return _el$177;
8143
+ return _el$181;
8041
8144
  })())] : goal().parentAgent ? [(() => {
8042
- var _el$180 = _$createElement("span");
8043
- _$insertNode(_el$180, _$createTextNode(`\u21A9 `));
8044
- _$effect((_$p) => _$setProp(_el$180, "style", {
8145
+ var _el$184 = _$createElement("span");
8146
+ _$insertNode(_el$184, _$createTextNode(`\u21A9 `));
8147
+ _$effect((_$p) => _$setProp(_el$184, "style", {
8045
8148
  fg: theme().textMuted
8046
8149
  }, _$p));
8047
- return _el$180;
8150
+ return _el$184;
8048
8151
  })(), (() => {
8049
- var _el$182 = _$createElement("span");
8050
- _$insert(_el$182, () => goal().parentAgent);
8051
- _$effect((_$p) => _$setProp(_el$182, "style", {
8152
+ var _el$186 = _$createElement("span");
8153
+ _$insert(_el$186, () => goal().parentAgent);
8154
+ _$effect((_$p) => _$setProp(_el$186, "style", {
8052
8155
  fg: theme().text,
8053
8156
  bold: true
8054
8157
  }, _$p));
8055
- return _el$182;
8158
+ return _el$186;
8056
8159
  })(), (() => {
8057
- var _el$183 = _$createElement("span");
8058
- _$insertNode(_el$183, _$createTextNode(` (parent)`));
8059
- _$effect((_$p) => _$setProp(_el$183, "style", {
8160
+ var _el$187 = _$createElement("span");
8161
+ _$insertNode(_el$187, _$createTextNode(` (parent)`));
8162
+ _$effect((_$p) => _$setProp(_el$187, "style", {
8060
8163
  fg: theme().textMuted
8061
8164
  }, _$p));
8062
- return _el$183;
8165
+ return _el$187;
8063
8166
  })()] : (() => {
8064
- var _el$185 = _$createElement("span");
8065
- _$insertNode(_el$185, _$createTextNode(`parent`));
8066
- _$effect((_$p) => _$setProp(_el$185, "style", {
8167
+ var _el$189 = _$createElement("span");
8168
+ _$insertNode(_el$189, _$createTextNode(`parent`));
8169
+ _$effect((_$p) => _$setProp(_el$189, "style", {
8067
8170
  fg: theme().textMuted
8068
8171
  }, _$p));
8069
- return _el$185;
8172
+ return _el$189;
8070
8173
  })()), (() => {
8071
- var _el$162 = _$createElement("span");
8072
- _$insertNode(_el$162, _$createTextNode(` \u2502 \uD83E\uDDE0 `));
8073
- _$effect((_$p) => _$setProp(_el$162, "style", {
8174
+ var _el$166 = _$createElement("span");
8175
+ _$insertNode(_el$166, _$createTextNode(` \u2502 \uD83E\uDDE0 `));
8176
+ _$effect((_$p) => _$setProp(_el$166, "style", {
8074
8177
  fg: theme().textMuted
8075
8178
  }, _$p));
8076
- return _el$162;
8179
+ return _el$166;
8077
8180
  })(), (() => {
8078
- var _el$164 = _$createElement("span");
8079
- _$insertNode(_el$164, _$createTextNode(`Model: `));
8080
- _$effect((_$p) => _$setProp(_el$164, "style", {
8181
+ var _el$168 = _$createElement("span");
8182
+ _$insertNode(_el$168, _$createTextNode(`Model: `));
8183
+ _$effect((_$p) => _$setProp(_el$168, "style", {
8081
8184
  fg: theme().primary,
8082
8185
  bold: true
8083
8186
  }, _$p));
8084
- return _el$164;
8187
+ return _el$168;
8085
8188
  })(), _$memo(() => model && slash > 0 ? [(() => {
8086
- var _el$187 = _$createElement("span"), _el$188 = _$createTextNode(`/`);
8087
- _$insertNode(_el$187, _el$188);
8088
- _$insert(_el$187, () => model.slice(0, slash), _el$188);
8089
- _$effect((_$p) => _$setProp(_el$187, "style", {
8189
+ var _el$191 = _$createElement("span"), _el$192 = _$createTextNode(`/`);
8190
+ _$insertNode(_el$191, _el$192);
8191
+ _$insert(_el$191, () => model.slice(0, slash), _el$192);
8192
+ _$effect((_$p) => _$setProp(_el$191, "style", {
8090
8193
  fg: theme().textMuted
8091
8194
  }, _$p));
8092
- return _el$187;
8195
+ return _el$191;
8093
8196
  })(), (() => {
8094
- var _el$189 = _$createElement("span");
8095
- _$insert(_el$189, () => model.slice(slash + 1));
8096
- _$effect((_$p) => _$setProp(_el$189, "style", {
8197
+ var _el$193 = _$createElement("span");
8198
+ _$insert(_el$193, () => model.slice(slash + 1));
8199
+ _$effect((_$p) => _$setProp(_el$193, "style", {
8097
8200
  fg: theme().info,
8098
8201
  bold: true
8099
8202
  }, _$p));
8100
- return _el$189;
8203
+ return _el$193;
8101
8204
  })()] : goal().parentModel ? [(() => {
8102
- var _el$190 = _$createElement("span");
8103
- _$insertNode(_el$190, _$createTextNode(`\u21A9 `));
8104
- _$effect((_$p) => _$setProp(_el$190, "style", {
8205
+ var _el$194 = _$createElement("span");
8206
+ _$insertNode(_el$194, _$createTextNode(`\u21A9 `));
8207
+ _$effect((_$p) => _$setProp(_el$194, "style", {
8105
8208
  fg: theme().textMuted
8106
8209
  }, _$p));
8107
- return _el$190;
8210
+ return _el$194;
8108
8211
  })(), (() => {
8109
- var _el$192 = _$createElement("span");
8110
- _$insert(_el$192, () => goal().parentModel);
8111
- _$effect((_$p) => _$setProp(_el$192, "style", {
8212
+ var _el$196 = _$createElement("span");
8213
+ _$insert(_el$196, () => goal().parentModel);
8214
+ _$effect((_$p) => _$setProp(_el$196, "style", {
8112
8215
  fg: theme().info,
8113
8216
  bold: true
8114
8217
  }, _$p));
8115
- return _el$192;
8218
+ return _el$196;
8116
8219
  })(), (() => {
8117
- var _el$193 = _$createElement("span");
8118
- _$insertNode(_el$193, _$createTextNode(` (parent)`));
8119
- _$effect((_$p) => _$setProp(_el$193, "style", {
8220
+ var _el$197 = _$createElement("span");
8221
+ _$insertNode(_el$197, _$createTextNode(` (parent)`));
8222
+ _$effect((_$p) => _$setProp(_el$197, "style", {
8120
8223
  fg: theme().textMuted
8121
8224
  }, _$p));
8122
- return _el$193;
8225
+ return _el$197;
8123
8226
  })()] : (() => {
8124
- var _el$195 = _$createElement("span");
8125
- _$insertNode(_el$195, _$createTextNode(`parent`));
8126
- _$effect((_$p) => _$setProp(_el$195, "style", {
8227
+ var _el$199 = _$createElement("span");
8228
+ _$insertNode(_el$199, _$createTextNode(`parent`));
8229
+ _$effect((_$p) => _$setProp(_el$199, "style", {
8127
8230
  fg: theme().textMuted
8128
8231
  }, _$p));
8129
- return _el$195;
8232
+ return _el$199;
8130
8233
  })()), (() => {
8131
- var _el$166 = _$createElement("span");
8132
- _$insertNode(_el$166, _$createTextNode(` \u2502 \uD83D\uDCB0 `));
8133
- _$effect((_$p) => _$setProp(_el$166, "style", {
8234
+ var _el$170 = _$createElement("span");
8235
+ _$insertNode(_el$170, _$createTextNode(` \u2502 \uD83D\uDCB0 `));
8236
+ _$effect((_$p) => _$setProp(_el$170, "style", {
8134
8237
  fg: theme().textMuted
8135
8238
  }, _$p));
8136
- return _el$166;
8239
+ return _el$170;
8137
8240
  })(), (() => {
8138
- var _el$168 = _$createElement("span");
8139
- _$insertNode(_el$168, _$createTextNode(`Spent: `));
8140
- _$effect((_$p) => _$setProp(_el$168, "style", {
8241
+ var _el$172 = _$createElement("span");
8242
+ _$insertNode(_el$172, _$createTextNode(`Spent: `));
8243
+ _$effect((_$p) => _$setProp(_el$172, "style", {
8141
8244
  fg: theme().primary,
8142
8245
  bold: true
8143
8246
  }, _$p));
8144
- return _el$168;
8247
+ return _el$172;
8145
8248
  })(), (() => {
8146
- var _el$170 = _$createElement("span");
8147
- _$insert(_el$170, () => formatCost(goal().costUsed));
8148
- _$effect((_$p) => _$setProp(_el$170, "style", {
8249
+ var _el$174 = _$createElement("span");
8250
+ _$insert(_el$174, () => formatCost(goal().costUsed));
8251
+ _$effect((_$p) => _$setProp(_el$174, "style", {
8149
8252
  fg: theme().success,
8150
8253
  bold: true
8151
8254
  }, _$p));
8152
- return _el$170;
8255
+ return _el$174;
8153
8256
  })(), (() => {
8154
- var _el$171 = _$createElement("span");
8155
- _$insertNode(_el$171, _$createTextNode(` \xB7 `));
8156
- _$effect((_$p) => _$setProp(_el$171, "style", {
8257
+ var _el$175 = _$createElement("span");
8258
+ _$insertNode(_el$175, _$createTextNode(` \xB7 `));
8259
+ _$effect((_$p) => _$setProp(_el$175, "style", {
8157
8260
  fg: theme().textMuted
8158
8261
  }, _$p));
8159
- return _el$171;
8262
+ return _el$175;
8160
8263
  })(), (() => {
8161
- var _el$173 = _$createElement("span");
8162
- _$insert(_el$173, () => formatTokens(goal().tokensUsed));
8163
- _$effect((_$p) => _$setProp(_el$173, "style", {
8264
+ var _el$177 = _$createElement("span");
8265
+ _$insert(_el$177, () => formatTokens(goal().tokensUsed));
8266
+ _$effect((_$p) => _$setProp(_el$177, "style", {
8164
8267
  fg: theme().warning,
8165
8268
  bold: true
8166
8269
  }, _$p));
8167
- return _el$173;
8270
+ return _el$177;
8168
8271
  })(), (() => {
8169
- var _el$174 = _$createElement("span"), _el$175 = _$createTextNode(` tokens \xB7 `);
8170
- _$insertNode(_el$174, _el$175);
8171
- _$insert(_el$174, () => formatDuration(goal().timeUsedSeconds), null);
8172
- _$effect((_$p) => _$setProp(_el$174, "style", {
8272
+ var _el$178 = _$createElement("span"), _el$179 = _$createTextNode(` tokens \xB7 `);
8273
+ _$insertNode(_el$178, _el$179);
8274
+ _$insert(_el$178, () => formatDuration(goal().timeUsedSeconds), null);
8275
+ _$effect((_$p) => _$setProp(_el$178, "style", {
8173
8276
  fg: theme().textMuted
8174
8277
  }, _$p));
8175
- return _el$174;
8278
+ return _el$178;
8176
8279
  })()];
8177
- }, _el$141);
8178
- _$insertNode(_el$142, _$createTextNode(`\uD83C\uDFAF Target: `));
8179
- _$insert(_el$144, () => goal().objective.slice(0, 160));
8180
- _$insert(_el$132, (() => {
8181
- var _c$12 = _$memo(() => !!lp());
8182
- return () => _c$12() && [(() => {
8183
- var _el$197 = _$createElement("span"), _el$198 = _$createTextNode(`
8280
+ }, _el$145);
8281
+ _$insertNode(_el$146, _$createTextNode(`\uD83C\uDFAF Target: `));
8282
+ _$insert(_el$148, () => goal().objective.slice(0, 160));
8283
+ _$insert(_el$136, (() => {
8284
+ var _c$14 = _$memo(() => !!lp());
8285
+ return () => _c$14() && [(() => {
8286
+ var _el$201 = _$createElement("span"), _el$202 = _$createTextNode(`
8184
8287
  \u2714 `);
8185
- _$insertNode(_el$197, _el$198);
8186
- _$effect((_$p) => _$setProp(_el$197, "style", {
8288
+ _$insertNode(_el$201, _el$202);
8289
+ _$effect((_$p) => _$setProp(_el$201, "style", {
8187
8290
  fg: theme().success
8188
8291
  }, _$p));
8189
- return _el$197;
8292
+ return _el$201;
8190
8293
  })(), (() => {
8191
- var _el$200 = _$createElement("span");
8192
- _$insertNode(_el$200, _$createTextNode(`Progress: `));
8193
- _$effect((_$p) => _$setProp(_el$200, "style", {
8294
+ var _el$204 = _$createElement("span");
8295
+ _$insertNode(_el$204, _$createTextNode(`Progress: `));
8296
+ _$effect((_$p) => _$setProp(_el$204, "style", {
8194
8297
  fg: theme().success,
8195
8298
  bold: true
8196
8299
  }, _$p));
8197
- return _el$200;
8300
+ return _el$204;
8198
8301
  })(), (() => {
8199
- var _el$202 = _$createElement("span");
8200
- _$insert(_el$202, () => lp().summary.slice(0, 100));
8201
- _$effect((_$p) => _$setProp(_el$202, "style", {
8302
+ var _el$206 = _$createElement("span");
8303
+ _$insert(_el$206, () => lp().summary.slice(0, 100));
8304
+ _$effect((_$p) => _$setProp(_el$206, "style", {
8202
8305
  fg: theme().text
8203
8306
  }, _$p));
8204
- return _el$202;
8307
+ return _el$206;
8205
8308
  })(), (() => {
8206
- var _el$203 = _$createElement("span"), _el$204 = _$createTextNode(` \u2192 `);
8207
- _$insertNode(_el$203, _el$204);
8208
- _$insert(_el$203, () => lp().next?.slice(0, 60) || "", null);
8209
- _$effect((_$p) => _$setProp(_el$203, "style", {
8309
+ var _el$207 = _$createElement("span"), _el$208 = _$createTextNode(` \u2192 `);
8310
+ _$insertNode(_el$207, _el$208);
8311
+ _$insert(_el$207, () => lp().next?.slice(0, 60) || "", null);
8312
+ _$effect((_$p) => _$setProp(_el$207, "style", {
8210
8313
  fg: theme().textMuted
8211
8314
  }, _$p));
8212
- return _el$203;
8315
+ return _el$207;
8213
8316
  })()];
8214
8317
  })(), null);
8215
- _$insert(_el$132, (() => {
8216
- var _c$13 = _$memo(() => !!blk());
8217
- return () => _c$13() && [(() => {
8218
- var _el$205 = _$createElement("span"), _el$206 = _$createTextNode(`
8318
+ _$insert(_el$136, (() => {
8319
+ var _c$15 = _$memo(() => !!blk());
8320
+ return () => _c$15() && [(() => {
8321
+ var _el$209 = _$createElement("span"), _el$210 = _$createTextNode(`
8219
8322
  \u2716 Blocked: `);
8220
- _$insertNode(_el$205, _el$206);
8221
- _$effect((_$p) => _$setProp(_el$205, "style", {
8323
+ _$insertNode(_el$209, _el$210);
8324
+ _$effect((_$p) => _$setProp(_el$209, "style", {
8222
8325
  fg: theme().error,
8223
8326
  bold: true
8224
8327
  }, _$p));
8225
- return _el$205;
8328
+ return _el$209;
8226
8329
  })(), (() => {
8227
- var _el$208 = _$createElement("span");
8228
- _$insert(_el$208, () => blk().reason.slice(0, 140));
8229
- _$effect((_$p) => _$setProp(_el$208, "style", {
8330
+ var _el$212 = _$createElement("span");
8331
+ _$insert(_el$212, () => blk().reason.slice(0, 140));
8332
+ _$effect((_$p) => _$setProp(_el$212, "style", {
8230
8333
  fg: theme().error
8231
8334
  }, _$p));
8232
- return _el$208;
8335
+ return _el$212;
8233
8336
  })(), (() => {
8234
- var _el$209 = _$createElement("span"), _el$210 = _$createTextNode(` \u2014 `);
8235
- _$insertNode(_el$209, _el$210);
8236
- _$insert(_el$209, () => blk().needed.slice(0, 60), null);
8237
- _$effect((_$p) => _$setProp(_el$209, "style", {
8337
+ var _el$213 = _$createElement("span"), _el$214 = _$createTextNode(` \u2014 `);
8338
+ _$insertNode(_el$213, _el$214);
8339
+ _$insert(_el$213, () => blk().needed.slice(0, 60), null);
8340
+ _$effect((_$p) => _$setProp(_el$213, "style", {
8238
8341
  fg: theme().textMuted
8239
8342
  }, _$p));
8240
- return _el$209;
8343
+ return _el$213;
8241
8344
  })()];
8242
8345
  })(), null);
8243
- _$insert(_el$132, (() => {
8244
- var _c$14 = _$memo(() => !!goal().config.artifactDir);
8245
- return () => _c$14() && [(() => {
8246
- var _el$211 = _$createElement("span"), _el$212 = _$createTextNode(`
8346
+ _$insert(_el$136, (() => {
8347
+ var _c$16 = _$memo(() => !!goal().config.artifactDir);
8348
+ return () => _c$16() && [(() => {
8349
+ var _el$215 = _$createElement("span"), _el$216 = _$createTextNode(`
8247
8350
  \uD83D\uDCC1 `);
8248
- _$insertNode(_el$211, _el$212);
8249
- _$effect((_$p) => _$setProp(_el$211, "style", {
8351
+ _$insertNode(_el$215, _el$216);
8352
+ _$effect((_$p) => _$setProp(_el$215, "style", {
8250
8353
  fg: theme().accent
8251
8354
  }, _$p));
8252
- return _el$211;
8355
+ return _el$215;
8253
8356
  })(), (() => {
8254
- var _el$214 = _$createElement("span");
8255
- _$insertNode(_el$214, _$createTextNode(`Artifacts: `));
8256
- _$effect((_$p) => _$setProp(_el$214, "style", {
8357
+ var _el$218 = _$createElement("span");
8358
+ _$insertNode(_el$218, _$createTextNode(`Artifacts: `));
8359
+ _$effect((_$p) => _$setProp(_el$218, "style", {
8257
8360
  fg: theme().accent,
8258
8361
  bold: true
8259
8362
  }, _$p));
8260
- return _el$214;
8363
+ return _el$218;
8261
8364
  })(), (() => {
8262
- var _el$216 = _$createElement("span");
8263
- _$insert(_el$216, () => String(goal().config.artifactDir).replace(String(props.directory), "."));
8264
- _$effect((_$p) => _$setProp(_el$216, "style", {
8365
+ var _el$220 = _$createElement("span");
8366
+ _$insert(_el$220, () => String(goal().config.artifactDir).replace(String(props.directory), "."));
8367
+ _$effect((_$p) => _$setProp(_el$220, "style", {
8265
8368
  fg: theme().textMuted
8266
8369
  }, _$p));
8267
- return _el$216;
8370
+ return _el$220;
8268
8371
  })()];
8269
8372
  })(), null);
8270
- _$insert(_el$132, (() => {
8271
- var _c$15 = _$memo(() => !!goal().workerTopology);
8272
- return () => _c$15() && [(() => {
8273
- var _el$217 = _$createElement("span"), _el$218 = _$createTextNode(`
8373
+ _$insert(_el$136, (() => {
8374
+ var _c$17 = _$memo(() => !!goal().workerTopology);
8375
+ return () => _c$17() && [(() => {
8376
+ var _el$221 = _$createElement("span"), _el$222 = _$createTextNode(`
8274
8377
  \uD83C\uDF3F Worker: `);
8275
- _$insertNode(_el$217, _el$218);
8276
- _$effect((_$p) => _$setProp(_el$217, "style", {
8378
+ _$insertNode(_el$221, _el$222);
8379
+ _$effect((_$p) => _$setProp(_el$221, "style", {
8277
8380
  fg: theme().textMuted
8278
8381
  }, _$p));
8279
- return _el$217;
8382
+ return _el$221;
8280
8383
  })(), (() => {
8281
- var _el$220 = _$createElement("span");
8282
- _$insert(_el$220, (() => {
8283
- var _c$22 = _$memo(() => goal().workerTopology === "v2-native-child");
8284
- return () => _c$22() ? "native child" : goal().workerTopology === "v2-root-fallback" ? "root fallback" : "v1 child";
8384
+ var _el$224 = _$createElement("span");
8385
+ _$insert(_el$224, (() => {
8386
+ var _c$26 = _$memo(() => goal().workerTopology === "v2-native-child");
8387
+ return () => _c$26() ? "native child" : goal().workerTopology === "v2-root-fallback" ? "root fallback" : "v1 child";
8285
8388
  })());
8286
- _$effect((_$p) => _$setProp(_el$220, "style", {
8389
+ _$effect((_$p) => _$setProp(_el$224, "style", {
8287
8390
  fg: theme().text
8288
8391
  }, _$p));
8289
- return _el$220;
8392
+ return _el$224;
8290
8393
  })(), _$memo(() => _$memo(() => !!goal().nativeParentID)() ? (() => {
8291
- var _el$221 = _$createElement("span"), _el$222 = _$createTextNode(` of `), _el$223 = _$createTextNode(`\u2026`);
8292
- _$insertNode(_el$221, _el$222);
8293
- _$insertNode(_el$221, _el$223);
8294
- _$insert(_el$221, () => goal().nativeParentID.slice(0, 12), _el$223);
8295
- _$effect((_$p) => _$setProp(_el$221, "style", {
8394
+ var _el$225 = _$createElement("span"), _el$226 = _$createTextNode(` of `), _el$227 = _$createTextNode(`\u2026`);
8395
+ _$insertNode(_el$225, _el$226);
8396
+ _$insertNode(_el$225, _el$227);
8397
+ _$insert(_el$225, () => goal().nativeParentID.slice(0, 12), _el$227);
8398
+ _$effect((_$p) => _$setProp(_el$225, "style", {
8296
8399
  fg: theme().textMuted
8297
8400
  }, _$p));
8298
- return _el$221;
8401
+ return _el$225;
8299
8402
  })() : null)];
8300
8403
  })(), null);
8301
- _$insert(_el$132, (() => {
8302
- var _c$16 = _$memo(() => (goal().config.checks?.length ?? 0) > 0);
8303
- return () => _c$16() ? [(() => {
8304
- var _el$224 = _$createElement("span"), _el$225 = _$createTextNode(`
8404
+ _$insert(_el$136, (() => {
8405
+ var _c$18 = _$memo(() => goal().interactive === true);
8406
+ return () => _c$18() && [(() => {
8407
+ var _el$228 = _$createElement("span"), _el$229 = _$createTextNode(`
8408
+ \u270B Manual: `);
8409
+ _$insertNode(_el$228, _el$229);
8410
+ _$effect((_$p) => _$setProp(_el$228, "style", {
8411
+ fg: theme().accent,
8412
+ bold: true
8413
+ }, _$p));
8414
+ return _el$228;
8415
+ })(), (() => {
8416
+ var _el$231 = _$createElement("span");
8417
+ _$insertNode(_el$231, _$createTextNode(`engine never starts turns \u2014 steer with :send/nudge (:interactive to re-enable auto)`));
8418
+ _$effect((_$p) => _$setProp(_el$231, "style", {
8419
+ fg: theme().textMuted
8420
+ }, _$p));
8421
+ return _el$231;
8422
+ })()];
8423
+ })(), null);
8424
+ _$insert(_el$136, (() => {
8425
+ var _c$19 = _$memo(() => !!goal().config.model);
8426
+ return () => _c$19() && [(() => {
8427
+ var _el$233 = _$createElement("span"), _el$234 = _$createTextNode(`
8428
+ \uD83E\uDDE0 Model: `);
8429
+ _$insertNode(_el$233, _el$234);
8430
+ _$effect((_$p) => _$setProp(_el$233, "style", {
8431
+ fg: theme().info,
8432
+ bold: true
8433
+ }, _$p));
8434
+ return _el$233;
8435
+ })(), (() => {
8436
+ var _el$236 = _$createElement("span");
8437
+ _$insert(_el$236, () => goal().config.model);
8438
+ _$effect((_$p) => _$setProp(_el$236, "style", {
8439
+ fg: theme().text
8440
+ }, _$p));
8441
+ return _el$236;
8442
+ })(), _$memo(() => _$memo(() => !!goal().modelSwitch?.pending)() ? (() => {
8443
+ var _el$237 = _$createElement("span"), _el$238 = _$createTextNode(` \u2192 pending `), _el$239 = _$createTextNode(` (applies next turn)`);
8444
+ _$insertNode(_el$237, _el$238);
8445
+ _$insertNode(_el$237, _el$239);
8446
+ _$insert(_el$237, () => goal().modelSwitch?.pending?.model, _el$239);
8447
+ _$effect((_$p) => _$setProp(_el$237, "style", {
8448
+ fg: theme().warning
8449
+ }, _$p));
8450
+ return _el$237;
8451
+ })() : null)];
8452
+ })(), null);
8453
+ _$insert(_el$136, (() => {
8454
+ var _c$20 = _$memo(() => (goal().config.checks?.length ?? 0) > 0);
8455
+ return () => _c$20() ? [(() => {
8456
+ var _el$240 = _$createElement("span"), _el$241 = _$createTextNode(`
8305
8457
  \u25A3 `);
8306
- _$insertNode(_el$224, _el$225);
8307
- _$effect((_$p) => _$setProp(_el$224, "style", {
8458
+ _$insertNode(_el$240, _el$241);
8459
+ _$effect((_$p) => _$setProp(_el$240, "style", {
8308
8460
  fg: theme().warning
8309
8461
  }, _$p));
8310
- return _el$224;
8462
+ return _el$240;
8311
8463
  })(), (() => {
8312
- var _el$227 = _$createElement("span");
8313
- _$insertNode(_el$227, _$createTextNode(`Checks: `));
8314
- _$effect((_$p) => _$setProp(_el$227, "style", {
8464
+ var _el$243 = _$createElement("span");
8465
+ _$insertNode(_el$243, _$createTextNode(`Checks: `));
8466
+ _$effect((_$p) => _$setProp(_el$243, "style", {
8315
8467
  fg: theme().warning,
8316
8468
  bold: true
8317
8469
  }, _$p));
8318
- return _el$227;
8470
+ return _el$243;
8319
8471
  })(), (() => {
8320
- var _el$229 = _$createElement("span");
8321
- _$insert(_el$229, () => goal().config.checks.join(", ").slice(0, 100));
8322
- _$effect((_$p) => _$setProp(_el$229, "style", {
8472
+ var _el$245 = _$createElement("span");
8473
+ _$insert(_el$245, () => goal().config.checks.join(", ").slice(0, 100));
8474
+ _$effect((_$p) => _$setProp(_el$245, "style", {
8323
8475
  fg: theme().textMuted
8324
8476
  }, _$p));
8325
- return _el$229;
8477
+ return _el$245;
8326
8478
  })()] : null;
8327
8479
  })(), null);
8328
- _$insert(_el$132, (() => {
8329
- var _c$17 = _$memo(() => rt()?.evaluatorRejectionCount > 0);
8330
- return () => _c$17() && [(() => {
8331
- var _el$230 = _$createElement("span"), _el$231 = _$createTextNode(`
8480
+ _$insert(_el$136, (() => {
8481
+ var _c$21 = _$memo(() => rt()?.evaluatorRejectionCount > 0);
8482
+ return () => _c$21() && [(() => {
8483
+ var _el$246 = _$createElement("span"), _el$247 = _$createTextNode(`
8332
8484
  \u26A0 rejections: `);
8333
- _$insertNode(_el$230, _el$231);
8334
- _$effect((_$p) => _$setProp(_el$230, "style", {
8485
+ _$insertNode(_el$246, _el$247);
8486
+ _$effect((_$p) => _$setProp(_el$246, "style", {
8335
8487
  fg: theme().warning
8336
8488
  }, _$p));
8337
- return _el$230;
8489
+ return _el$246;
8338
8490
  })(), (() => {
8339
- var _el$233 = _$createElement("span"), _el$234 = _$createTextNode(` \u2014 `);
8340
- _$insertNode(_el$233, _el$234);
8341
- _$insert(_el$233, () => String(rt().evaluatorRejectionCount), _el$234);
8342
- _$insert(_el$233, () => String(rt().lastRejectionDetails || "").slice(0, 80), null);
8343
- _$effect((_$p) => _$setProp(_el$233, "style", {
8491
+ var _el$249 = _$createElement("span"), _el$250 = _$createTextNode(` \u2014 `);
8492
+ _$insertNode(_el$249, _el$250);
8493
+ _$insert(_el$249, () => String(rt().evaluatorRejectionCount), _el$250);
8494
+ _$insert(_el$249, () => String(rt().lastRejectionDetails || "").slice(0, 80), null);
8495
+ _$effect((_$p) => _$setProp(_el$249, "style", {
8344
8496
  fg: theme().warning
8345
8497
  }, _$p));
8346
- return _el$233;
8498
+ return _el$249;
8347
8499
  })()];
8348
8500
  })(), null);
8349
- _$insert(_el$132, (() => {
8350
- var _c$18 = _$memo(() => rt()?.unknownStatusCount > 0);
8351
- return () => _c$18() && [(() => {
8352
- var _el$235 = _$createElement("span"), _el$236 = _$createTextNode(`
8501
+ _$insert(_el$136, (() => {
8502
+ var _c$22 = _$memo(() => rt()?.unknownStatusCount > 0);
8503
+ return () => _c$22() && [(() => {
8504
+ var _el$251 = _$createElement("span"), _el$252 = _$createTextNode(`
8353
8505
  \u26A0\uFE0F unreachable: `);
8354
- _$insertNode(_el$235, _el$236);
8355
- _$effect((_$p) => _$setProp(_el$235, "style", {
8506
+ _$insertNode(_el$251, _el$252);
8507
+ _$effect((_$p) => _$setProp(_el$251, "style", {
8356
8508
  fg: theme().error
8357
8509
  }, _$p));
8358
- return _el$235;
8510
+ return _el$251;
8359
8511
  })(), (() => {
8360
- var _el$238 = _$createElement("span"), _el$239 = _$createTextNode(`/3`);
8361
- _$insertNode(_el$238, _el$239);
8362
- _$insert(_el$238, () => String(rt().unknownStatusCount), _el$239);
8363
- _$effect((_$p) => _$setProp(_el$238, "style", {
8512
+ var _el$254 = _$createElement("span"), _el$255 = _$createTextNode(`/3`);
8513
+ _$insertNode(_el$254, _el$255);
8514
+ _$insert(_el$254, () => String(rt().unknownStatusCount), _el$255);
8515
+ _$effect((_$p) => _$setProp(_el$254, "style", {
8364
8516
  fg: theme().error
8365
8517
  }, _$p));
8366
- return _el$238;
8518
+ return _el$254;
8367
8519
  })(), (() => {
8368
- var _el$240 = _$createElement("span");
8369
- _$insertNode(_el$240, _$createTextNode(` \u2014 nudge to recover`));
8370
- _$effect((_$p) => _$setProp(_el$240, "style", {
8520
+ var _el$256 = _$createElement("span");
8521
+ _$insertNode(_el$256, _$createTextNode(` \u2014 nudge to recover`));
8522
+ _$effect((_$p) => _$setProp(_el$256, "style", {
8371
8523
  fg: theme().textMuted
8372
8524
  }, _$p));
8373
- return _el$240;
8525
+ return _el$256;
8374
8526
  })()];
8375
8527
  })(), null);
8376
- _$insert(_el$132, (() => {
8377
- var _c$19 = _$memo(() => !!rt()?.retryAfter);
8378
- return () => _c$19() && [(() => {
8379
- var _el$242 = _$createElement("span"), _el$243 = _$createTextNode(`
8528
+ _$insert(_el$136, (() => {
8529
+ var _c$23 = _$memo(() => !!rt()?.retryAfter);
8530
+ return () => _c$23() && [(() => {
8531
+ var _el$258 = _$createElement("span"), _el$259 = _$createTextNode(`
8380
8532
  \u21BB retry in: `);
8381
- _$insertNode(_el$242, _el$243);
8382
- _$effect((_$p) => _$setProp(_el$242, "style", {
8533
+ _$insertNode(_el$258, _el$259);
8534
+ _$effect((_$p) => _$setProp(_el$258, "style", {
8383
8535
  fg: theme().accent
8384
8536
  }, _$p));
8385
- return _el$242;
8537
+ return _el$258;
8386
8538
  })(), (() => {
8387
- var _el$245 = _$createElement("span");
8388
- _$insert(_el$245, () => countdownLabel(rt().retryAfter, clock()));
8389
- _$effect((_$p) => _$setProp(_el$245, "style", {
8539
+ var _el$261 = _$createElement("span");
8540
+ _$insert(_el$261, () => countdownLabel(rt().retryAfter, clock()));
8541
+ _$effect((_$p) => _$setProp(_el$261, "style", {
8390
8542
  fg: theme().accent
8391
8543
  }, _$p));
8392
- return _el$245;
8544
+ return _el$261;
8393
8545
  })()];
8394
8546
  })(), null);
8395
- _$insert(_el$132, (() => {
8396
- var _c$20 = _$memo(() => !!rt()?.nextRunAt);
8397
- return () => _c$20() && [(() => {
8398
- var _el$246 = _$createElement("span"), _el$247 = _$createTextNode(`
8547
+ _$insert(_el$136, (() => {
8548
+ var _c$24 = _$memo(() => !!rt()?.nextRunAt);
8549
+ return () => _c$24() && [(() => {
8550
+ var _el$262 = _$createElement("span"), _el$263 = _$createTextNode(`
8399
8551
  \u23F0 next run: `);
8400
- _$insertNode(_el$246, _el$247);
8401
- _$effect((_$p) => _$setProp(_el$246, "style", {
8552
+ _$insertNode(_el$262, _el$263);
8553
+ _$effect((_$p) => _$setProp(_el$262, "style", {
8402
8554
  fg: theme().accent
8403
8555
  }, _$p));
8404
- return _el$246;
8556
+ return _el$262;
8405
8557
  })(), (() => {
8406
- var _el$249 = _$createElement("span");
8407
- _$insert(_el$249, () => countdownLabel(rt().nextRunAt, clock()));
8408
- _$effect((_$p) => _$setProp(_el$249, "style", {
8558
+ var _el$265 = _$createElement("span");
8559
+ _$insert(_el$265, () => countdownLabel(rt().nextRunAt, clock()));
8560
+ _$effect((_$p) => _$setProp(_el$265, "style", {
8409
8561
  fg: theme().accent
8410
8562
  }, _$p));
8411
- return _el$249;
8563
+ return _el$265;
8412
8564
  })(), (() => {
8413
- var _el$250 = _$createElement("span"), _el$251 = _$createTextNode(` (`), _el$252 = _$createTextNode(` runs)`);
8414
- _$insertNode(_el$250, _el$251);
8415
- _$insertNode(_el$250, _el$252);
8416
- _$insert(_el$250, () => String(rt().scheduleRunCount || 0), _el$252);
8417
- _$effect((_$p) => _$setProp(_el$250, "style", {
8565
+ var _el$266 = _$createElement("span"), _el$267 = _$createTextNode(` (`), _el$268 = _$createTextNode(` runs)`);
8566
+ _$insertNode(_el$266, _el$267);
8567
+ _$insertNode(_el$266, _el$268);
8568
+ _$insert(_el$266, () => String(rt().scheduleRunCount || 0), _el$268);
8569
+ _$effect((_$p) => _$setProp(_el$266, "style", {
8418
8570
  fg: theme().textMuted
8419
8571
  }, _$p));
8420
- return _el$250;
8572
+ return _el$266;
8421
8573
  })()];
8422
8574
  })(), null);
8423
- _$insert(_el$132, (() => {
8424
- var _c$21 = _$memo(() => !!rt()?.lastError);
8425
- return () => _c$21() && [(() => {
8426
- var _el$253 = _$createElement("span"), _el$254 = _$createTextNode(`
8575
+ _$insert(_el$136, (() => {
8576
+ var _c$25 = _$memo(() => !!rt()?.lastError);
8577
+ return () => _c$25() && [(() => {
8578
+ var _el$269 = _$createElement("span"), _el$270 = _$createTextNode(`
8427
8579
  \u26A0 `);
8428
- _$insertNode(_el$253, _el$254);
8429
- _$effect((_$p) => _$setProp(_el$253, "style", {
8580
+ _$insertNode(_el$269, _el$270);
8581
+ _$effect((_$p) => _$setProp(_el$269, "style", {
8430
8582
  fg: theme().error
8431
8583
  }, _$p));
8432
- return _el$253;
8584
+ return _el$269;
8433
8585
  })(), (() => {
8434
- var _el$256 = _$createElement("span");
8435
- _$insertNode(_el$256, _$createTextNode(`Error: `));
8436
- _$effect((_$p) => _$setProp(_el$256, "style", {
8586
+ var _el$272 = _$createElement("span");
8587
+ _$insertNode(_el$272, _$createTextNode(`Error: `));
8588
+ _$effect((_$p) => _$setProp(_el$272, "style", {
8437
8589
  fg: theme().error,
8438
8590
  bold: true
8439
8591
  }, _$p));
8440
- return _el$256;
8592
+ return _el$272;
8441
8593
  })(), (() => {
8442
- var _el$258 = _$createElement("span");
8443
- _$insert(_el$258, () => rt().lastError.slice(0, 120));
8444
- _$effect((_$p) => _$setProp(_el$258, "style", {
8594
+ var _el$274 = _$createElement("span");
8595
+ _$insert(_el$274, () => rt().lastError.slice(0, 120));
8596
+ _$effect((_$p) => _$setProp(_el$274, "style", {
8445
8597
  fg: theme().error
8446
8598
  }, _$p));
8447
- return _el$258;
8599
+ return _el$274;
8448
8600
  })()];
8449
8601
  })(), null);
8450
8602
  _$effect((_p$) => {
@@ -8463,13 +8615,13 @@ function LoopDashboard(props) {
8463
8615
  }, _v$48 = {
8464
8616
  fg: theme().text
8465
8617
  };
8466
- _v$42 !== _p$.e && (_p$.e = _$setProp(_el$131, "borderColor", _v$42, _p$.e));
8467
- _v$43 !== _p$.t && (_p$.t = _$setProp(_el$133, "style", _v$43, _p$.t));
8468
- _v$44 !== _p$.a && (_p$.a = _$setProp(_el$135, "style", _v$44, _p$.a));
8469
- _v$45 !== _p$.o && (_p$.o = _$setProp(_el$137, "style", _v$45, _p$.o));
8470
- _v$46 !== _p$.i && (_p$.i = _$setProp(_el$140, "style", _v$46, _p$.i));
8471
- _v$47 !== _p$.n && (_p$.n = _$setProp(_el$142, "style", _v$47, _p$.n));
8472
- _v$48 !== _p$.s && (_p$.s = _$setProp(_el$144, "style", _v$48, _p$.s));
8618
+ _v$42 !== _p$.e && (_p$.e = _$setProp(_el$135, "borderColor", _v$42, _p$.e));
8619
+ _v$43 !== _p$.t && (_p$.t = _$setProp(_el$137, "style", _v$43, _p$.t));
8620
+ _v$44 !== _p$.a && (_p$.a = _$setProp(_el$139, "style", _v$44, _p$.a));
8621
+ _v$45 !== _p$.o && (_p$.o = _$setProp(_el$141, "style", _v$45, _p$.o));
8622
+ _v$46 !== _p$.i && (_p$.i = _$setProp(_el$144, "style", _v$46, _p$.i));
8623
+ _v$47 !== _p$.n && (_p$.n = _$setProp(_el$146, "style", _v$47, _p$.n));
8624
+ _v$48 !== _p$.s && (_p$.s = _$setProp(_el$148, "style", _v$48, _p$.s));
8473
8625
  return _p$;
8474
8626
  }, {
8475
8627
  e: undefined,
@@ -8480,7 +8632,7 @@ function LoopDashboard(props) {
8480
8632
  n: undefined,
8481
8633
  s: undefined
8482
8634
  });
8483
- return _el$131;
8635
+ return _el$135;
8484
8636
  })();
8485
8637
  }
8486
8638
  })];
@@ -8497,32 +8649,62 @@ function LoopDashboard(props) {
8497
8649
  },
8498
8650
  get fallback() {
8499
8651
  return (() => {
8500
- var _el$259 = _$createElement("box"), _el$260 = _$createElement("text"), _el$261 = _$createElement("span"), _el$263 = _$createElement("span"), _el$265 = _$createElement("span"), _el$267 = _$createElement("text"), _el$268 = _$createElement("span"), _el$270 = _$createElement("span"), _el$272 = _$createElement("span"), _el$274 = _$createElement("span"), _el$276 = _$createElement("span"), _el$278 = _$createElement("span"), _el$280 = _$createElement("span");
8501
- _$insertNode(_el$259, _el$260);
8502
- _$insertNode(_el$259, _el$267);
8503
- _$setProp(_el$259, "flexDirection", "column");
8504
- _$setProp(_el$259, "gap", 1);
8505
- _$setProp(_el$259, "padding", 1);
8506
- _$insertNode(_el$260, _el$261);
8507
- _$insertNode(_el$260, _el$263);
8508
- _$insertNode(_el$260, _el$265);
8509
- _$insertNode(_el$261, _$createTextNode(`No command sessions owned by this session. `));
8510
- _$insertNode(_el$263, _$createTextNode(`:new &lt;command&gt;`));
8511
- _$insertNode(_el$265, _$createTextNode(` to start one.`));
8512
- _$insertNode(_el$267, _el$268);
8513
- _$insertNode(_el$267, _el$270);
8514
- _$insertNode(_el$267, _el$272);
8515
- _$insertNode(_el$267, _el$274);
8516
- _$insertNode(_el$267, _el$276);
8517
- _$insertNode(_el$267, _el$278);
8518
- _$insertNode(_el$267, _el$280);
8519
- _$insertNode(_el$268, _$createTextNode(`Tip: `));
8520
- _$insertNode(_el$270, _$createTextNode(`o`));
8521
- _$insertNode(_el$272, _$createTextNode(` fullscreen \xB7 `));
8522
- _$insertNode(_el$274, _$createTextNode(`X kill \xB7 R restart \xB7 x remove-done`));
8523
- _$insertNode(_el$276, _$createTextNode(` \xB7 `));
8524
- _$insertNode(_el$278, _$createTextNode(`:interrupt :terminate :remove`));
8525
- _$insertNode(_el$280, _$createTextNode(` manage \xB7 text + Enter writes stdin.`));
8652
+ var _el$275 = _$createElement("box"), _el$276 = _$createElement("text"), _el$277 = _$createElement("span"), _el$278 = _$createTextNode(`No live command sessions`), _el$279 = _$createTextNode(`. `), _el$280 = _$createElement("span"), _el$282 = _$createElement("span"), _el$283 = _$createTextNode(` to start one`), _el$284 = _$createElement("text"), _el$285 = _$createElement("span"), _el$287 = _$createElement("span"), _el$289 = _$createElement("span"), _el$291 = _$createElement("span"), _el$293 = _$createElement("span"), _el$295 = _$createElement("span"), _el$297 = _$createElement("span");
8653
+ _$insertNode(_el$275, _el$276);
8654
+ _$insertNode(_el$275, _el$284);
8655
+ _$setProp(_el$275, "flexDirection", "column");
8656
+ _$setProp(_el$275, "gap", 1);
8657
+ _$setProp(_el$275, "padding", 1);
8658
+ _$insertNode(_el$276, _el$277);
8659
+ _$insertNode(_el$276, _el$280);
8660
+ _$insertNode(_el$276, _el$282);
8661
+ _$insertNode(_el$277, _el$278);
8662
+ _$insertNode(_el$277, _el$279);
8663
+ _$insert(_el$277, (() => {
8664
+ var _c$27 = _$memo(() => hiddenFinishedCommands() > 0);
8665
+ return () => _c$27() ? ` \u2014 ${hiddenFinishedCommands()} finished hidden` : "";
8666
+ })(), _el$279);
8667
+ _$insertNode(_el$280, _$createTextNode(`:new &lt;command&gt;`));
8668
+ _$insertNode(_el$282, _el$283);
8669
+ _$insert(_el$282, () => hiddenFinishedCommands() > 0 ? ", or " : "; ", null);
8670
+ _$insert(_el$276, (() => {
8671
+ var _c$28 = _$memo(() => hiddenFinishedCommands() > 0);
8672
+ return () => _c$28() && (() => {
8673
+ var _el$299 = _$createElement("span"), _el$300 = _$createElement("span"), _el$302 = _$createElement("span");
8674
+ _$insertNode(_el$299, _el$300);
8675
+ _$insertNode(_el$299, _el$302);
8676
+ _$insertNode(_el$300, _$createTextNode(`c`));
8677
+ _$insertNode(_el$302, _$createTextNode(` to show finished.`));
8678
+ _$effect((_p$) => {
8679
+ var _v$59 = {
8680
+ fg: theme().warning
8681
+ }, _v$60 = {
8682
+ fg: theme().textMuted
8683
+ };
8684
+ _v$59 !== _p$.e && (_p$.e = _$setProp(_el$300, "style", _v$59, _p$.e));
8685
+ _v$60 !== _p$.t && (_p$.t = _$setProp(_el$302, "style", _v$60, _p$.t));
8686
+ return _p$;
8687
+ }, {
8688
+ e: undefined,
8689
+ t: undefined
8690
+ });
8691
+ return _el$299;
8692
+ })();
8693
+ })(), null);
8694
+ _$insertNode(_el$284, _el$285);
8695
+ _$insertNode(_el$284, _el$287);
8696
+ _$insertNode(_el$284, _el$289);
8697
+ _$insertNode(_el$284, _el$291);
8698
+ _$insertNode(_el$284, _el$293);
8699
+ _$insertNode(_el$284, _el$295);
8700
+ _$insertNode(_el$284, _el$297);
8701
+ _$insertNode(_el$285, _$createTextNode(`Tip: `));
8702
+ _$insertNode(_el$287, _$createTextNode(`o`));
8703
+ _$insertNode(_el$289, _$createTextNode(` fullscreen \xB7 `));
8704
+ _$insertNode(_el$291, _$createTextNode(`X kill \xB7 R restart \xB7 x remove-done`));
8705
+ _$insertNode(_el$293, _$createTextNode(` \xB7 `));
8706
+ _$insertNode(_el$295, _$createTextNode(`:interrupt :terminate :remove`));
8707
+ _$insertNode(_el$297, _$createTextNode(` manage \xB7 text + Enter writes stdin.`));
8526
8708
  _$effect((_p$) => {
8527
8709
  var _v$49 = {
8528
8710
  fg: theme().textMuted
@@ -8545,16 +8727,16 @@ function LoopDashboard(props) {
8545
8727
  }, _v$58 = {
8546
8728
  fg: theme().textMuted
8547
8729
  };
8548
- _v$49 !== _p$.e && (_p$.e = _$setProp(_el$261, "style", _v$49, _p$.e));
8549
- _v$50 !== _p$.t && (_p$.t = _$setProp(_el$263, "style", _v$50, _p$.t));
8550
- _v$51 !== _p$.a && (_p$.a = _$setProp(_el$265, "style", _v$51, _p$.a));
8551
- _v$52 !== _p$.o && (_p$.o = _$setProp(_el$268, "style", _v$52, _p$.o));
8552
- _v$53 !== _p$.i && (_p$.i = _$setProp(_el$270, "style", _v$53, _p$.i));
8553
- _v$54 !== _p$.n && (_p$.n = _$setProp(_el$272, "style", _v$54, _p$.n));
8554
- _v$55 !== _p$.s && (_p$.s = _$setProp(_el$274, "style", _v$55, _p$.s));
8555
- _v$56 !== _p$.h && (_p$.h = _$setProp(_el$276, "style", _v$56, _p$.h));
8556
- _v$57 !== _p$.r && (_p$.r = _$setProp(_el$278, "style", _v$57, _p$.r));
8557
- _v$58 !== _p$.d && (_p$.d = _$setProp(_el$280, "style", _v$58, _p$.d));
8730
+ _v$49 !== _p$.e && (_p$.e = _$setProp(_el$277, "style", _v$49, _p$.e));
8731
+ _v$50 !== _p$.t && (_p$.t = _$setProp(_el$280, "style", _v$50, _p$.t));
8732
+ _v$51 !== _p$.a && (_p$.a = _$setProp(_el$282, "style", _v$51, _p$.a));
8733
+ _v$52 !== _p$.o && (_p$.o = _$setProp(_el$285, "style", _v$52, _p$.o));
8734
+ _v$53 !== _p$.i && (_p$.i = _$setProp(_el$287, "style", _v$53, _p$.i));
8735
+ _v$54 !== _p$.n && (_p$.n = _$setProp(_el$289, "style", _v$54, _p$.n));
8736
+ _v$55 !== _p$.s && (_p$.s = _$setProp(_el$291, "style", _v$55, _p$.s));
8737
+ _v$56 !== _p$.h && (_p$.h = _$setProp(_el$293, "style", _v$56, _p$.h));
8738
+ _v$57 !== _p$.r && (_p$.r = _$setProp(_el$295, "style", _v$57, _p$.r));
8739
+ _v$58 !== _p$.d && (_p$.d = _$setProp(_el$297, "style", _v$58, _p$.d));
8558
8740
  return _p$;
8559
8741
  }, {
8560
8742
  e: undefined,
@@ -8568,7 +8750,7 @@ function LoopDashboard(props) {
8568
8750
  r: undefined,
8569
8751
  d: undefined
8570
8752
  });
8571
- return _el$259;
8753
+ return _el$275;
8572
8754
  })();
8573
8755
  },
8574
8756
  get children() {
@@ -8580,106 +8762,106 @@ function LoopDashboard(props) {
8580
8762
  children: (cmd, i) => {
8581
8763
  const isActive = () => i() === cmdSelected();
8582
8764
  return (() => {
8583
- var _el$282 = _$createElement("box"), _el$283 = _$createElement("text"), _el$284 = _$createElement("span"), _el$285 = _$createElement("span"), _el$287 = _$createElement("span"), _el$289 = _$createElement("span"), _el$290 = _$createElement("span"), _el$292 = _$createElement("span"), _el$293 = _$createElement("span"), _el$294 = _$createTextNode(` \u2502 `);
8584
- _$insertNode(_el$282, _el$283);
8585
- _$setProp(_el$282, "flexDirection", "row");
8586
- _$setProp(_el$282, "paddingLeft", 1);
8587
- _$setProp(_el$282, "paddingRight", 1);
8588
- _$insertNode(_el$283, _el$284);
8589
- _$insertNode(_el$283, _el$285);
8590
- _$insertNode(_el$283, _el$287);
8591
- _$insertNode(_el$283, _el$289);
8592
- _$insertNode(_el$283, _el$290);
8593
- _$insertNode(_el$283, _el$292);
8594
- _$insertNode(_el$283, _el$293);
8595
- _$setProp(_el$283, "wrapMode", "none");
8596
- _$setProp(_el$283, "truncate", true);
8597
- _$insert(_el$284, (() => {
8598
- var _c$23 = _$memo(() => !!isActive());
8599
- return () => _c$23() ? `\u25B6 ${commandStatusIcon(cmd.status)} ${cmd.title}` : ` ${commandStatusIcon(cmd.status)} ${cmd.title}`;
8765
+ var _el$304 = _$createElement("box"), _el$305 = _$createElement("text"), _el$306 = _$createElement("span"), _el$307 = _$createElement("span"), _el$309 = _$createElement("span"), _el$311 = _$createElement("span"), _el$312 = _$createElement("span"), _el$314 = _$createElement("span"), _el$315 = _$createElement("span"), _el$316 = _$createTextNode(` \u2502 `);
8766
+ _$insertNode(_el$304, _el$305);
8767
+ _$setProp(_el$304, "flexDirection", "row");
8768
+ _$setProp(_el$304, "paddingLeft", 1);
8769
+ _$setProp(_el$304, "paddingRight", 1);
8770
+ _$insertNode(_el$305, _el$306);
8771
+ _$insertNode(_el$305, _el$307);
8772
+ _$insertNode(_el$305, _el$309);
8773
+ _$insertNode(_el$305, _el$311);
8774
+ _$insertNode(_el$305, _el$312);
8775
+ _$insertNode(_el$305, _el$314);
8776
+ _$insertNode(_el$305, _el$315);
8777
+ _$setProp(_el$305, "wrapMode", "none");
8778
+ _$setProp(_el$305, "truncate", true);
8779
+ _$insert(_el$306, (() => {
8780
+ var _c$29 = _$memo(() => !!isActive());
8781
+ return () => _c$29() ? `\u25B6 ${commandStatusIcon(cmd.status)} ${cmd.title}` : ` ${commandStatusIcon(cmd.status)} ${cmd.title}`;
8600
8782
  })());
8601
- _$insertNode(_el$285, _$createTextNode(` \u2502 `));
8602
- _$insertNode(_el$287, _$createTextNode(`Cmd `));
8603
- _$insert(_el$289, () => commandStatusLabel(cmd.status).short);
8604
- _$insertNode(_el$290, _$createTextNode(` \u2502 `));
8605
- _$insert(_el$292, () => cmd.command);
8606
- _$insert(_el$283, (() => {
8607
- var _c$24 = _$memo(() => cmd.args.length > 0);
8608
- return () => _c$24() && (() => {
8609
- var _el$295 = _$createElement("span"), _el$296 = _$createTextNode(` `);
8610
- _$insertNode(_el$295, _el$296);
8611
- _$insert(_el$295, () => cmd.args.join(" ").slice(0, 40), null);
8612
- _$effect((_$p) => _$setProp(_el$295, "style", {
8783
+ _$insertNode(_el$307, _$createTextNode(` \u2502 `));
8784
+ _$insertNode(_el$309, _$createTextNode(`Cmd `));
8785
+ _$insert(_el$311, () => commandStatusLabel(cmd.status).short);
8786
+ _$insertNode(_el$312, _$createTextNode(` \u2502 `));
8787
+ _$insert(_el$314, () => cmd.command);
8788
+ _$insert(_el$305, (() => {
8789
+ var _c$30 = _$memo(() => cmd.args.length > 0);
8790
+ return () => _c$30() && (() => {
8791
+ var _el$317 = _$createElement("span"), _el$318 = _$createTextNode(` `);
8792
+ _$insertNode(_el$317, _el$318);
8793
+ _$insert(_el$317, () => cmd.args.join(" ").slice(0, 40), null);
8794
+ _$effect((_$p) => _$setProp(_el$317, "style", {
8613
8795
  fg: theme().textMuted
8614
8796
  }, _$p));
8615
- return _el$295;
8797
+ return _el$317;
8616
8798
  })();
8617
- })(), _el$293);
8618
- _$insert(_el$283, (() => {
8619
- var _c$25 = _$memo(() => cmd.exitCode !== undefined);
8620
- return () => _c$25() && (() => {
8621
- var _el$297 = _$createElement("span"), _el$298 = _$createTextNode(` \u2502 exit `);
8622
- _$insertNode(_el$297, _el$298);
8623
- _$insert(_el$297, () => cmd.exitCode, null);
8624
- _$effect((_$p) => _$setProp(_el$297, "style", {
8799
+ })(), _el$315);
8800
+ _$insert(_el$305, (() => {
8801
+ var _c$31 = _$memo(() => cmd.exitCode !== undefined);
8802
+ return () => _c$31() && (() => {
8803
+ var _el$319 = _$createElement("span"), _el$320 = _$createTextNode(` \u2502 exit `);
8804
+ _$insertNode(_el$319, _el$320);
8805
+ _$insert(_el$319, () => cmd.exitCode, null);
8806
+ _$effect((_$p) => _$setProp(_el$319, "style", {
8625
8807
  fg: cmd.exitCode === 0 ? theme().success : theme().error
8626
8808
  }, _$p));
8627
- return _el$297;
8809
+ return _el$319;
8628
8810
  })();
8629
- })(), _el$293);
8630
- _$insert(_el$283, (() => {
8631
- var _c$26 = _$memo(() => !!cmd.signal);
8632
- return () => _c$26() && (() => {
8633
- var _el$299 = _$createElement("span"), _el$300 = _$createTextNode(` \u2502 `);
8634
- _$insertNode(_el$299, _el$300);
8635
- _$insert(_el$299, () => cmd.signal, null);
8636
- _$effect((_$p) => _$setProp(_el$299, "style", {
8811
+ })(), _el$315);
8812
+ _$insert(_el$305, (() => {
8813
+ var _c$32 = _$memo(() => !!cmd.signal);
8814
+ return () => _c$32() && (() => {
8815
+ var _el$321 = _$createElement("span"), _el$322 = _$createTextNode(` \u2502 `);
8816
+ _$insertNode(_el$321, _el$322);
8817
+ _$insert(_el$321, () => cmd.signal, null);
8818
+ _$effect((_$p) => _$setProp(_el$321, "style", {
8637
8819
  fg: theme().warning
8638
8820
  }, _$p));
8639
- return _el$299;
8821
+ return _el$321;
8640
8822
  })();
8641
- })(), _el$293);
8642
- _$insertNode(_el$293, _el$294);
8643
- _$insert(_el$293, () => ageLabel(cmd.updatedAt, clock()), null);
8644
- _$insert(_el$283, (() => {
8645
- var _c$27 = _$memo(() => !!cmd.truncated);
8646
- return () => _c$27() && (() => {
8647
- var _el$301 = _$createElement("span");
8648
- _$insertNode(_el$301, _$createTextNode(` \u2502 \u26A0 truncated`));
8649
- _$effect((_$p) => _$setProp(_el$301, "style", {
8823
+ })(), _el$315);
8824
+ _$insertNode(_el$315, _el$316);
8825
+ _$insert(_el$315, () => ageLabel(cmd.updatedAt, clock()), null);
8826
+ _$insert(_el$305, (() => {
8827
+ var _c$33 = _$memo(() => !!cmd.truncated);
8828
+ return () => _c$33() && (() => {
8829
+ var _el$323 = _$createElement("span");
8830
+ _$insertNode(_el$323, _$createTextNode(` \u2502 \u26A0 truncated`));
8831
+ _$effect((_$p) => _$setProp(_el$323, "style", {
8650
8832
  fg: theme().warning,
8651
8833
  bold: true
8652
8834
  }, _$p));
8653
- return _el$301;
8835
+ return _el$323;
8654
8836
  })();
8655
8837
  })(), null);
8656
8838
  _$effect((_p$) => {
8657
- var _v$59 = isActive() ? theme().backgroundElement : undefined, _v$60 = {
8839
+ var _v$61 = isActive() ? theme().backgroundElement : undefined, _v$62 = {
8658
8840
  fg: commandStatusColor(cmd.status, theme()),
8659
8841
  bold: isActive()
8660
- }, _v$61 = {
8842
+ }, _v$63 = {
8661
8843
  fg: theme().textMuted
8662
- }, _v$62 = {
8844
+ }, _v$64 = {
8663
8845
  fg: theme().textMuted
8664
- }, _v$63 = {
8846
+ }, _v$65 = {
8665
8847
  fg: commandStatusColor(cmd.status, theme()),
8666
8848
  bold: true
8667
- }, _v$64 = {
8849
+ }, _v$66 = {
8668
8850
  fg: theme().textMuted
8669
- }, _v$65 = {
8851
+ }, _v$67 = {
8670
8852
  fg: theme().accent,
8671
8853
  bold: true
8672
- }, _v$66 = {
8854
+ }, _v$68 = {
8673
8855
  fg: theme().textMuted
8674
8856
  };
8675
- _v$59 !== _p$.e && (_p$.e = _$setProp(_el$282, "backgroundColor", _v$59, _p$.e));
8676
- _v$60 !== _p$.t && (_p$.t = _$setProp(_el$284, "style", _v$60, _p$.t));
8677
- _v$61 !== _p$.a && (_p$.a = _$setProp(_el$285, "style", _v$61, _p$.a));
8678
- _v$62 !== _p$.o && (_p$.o = _$setProp(_el$287, "style", _v$62, _p$.o));
8679
- _v$63 !== _p$.i && (_p$.i = _$setProp(_el$289, "style", _v$63, _p$.i));
8680
- _v$64 !== _p$.n && (_p$.n = _$setProp(_el$290, "style", _v$64, _p$.n));
8681
- _v$65 !== _p$.s && (_p$.s = _$setProp(_el$292, "style", _v$65, _p$.s));
8682
- _v$66 !== _p$.h && (_p$.h = _$setProp(_el$293, "style", _v$66, _p$.h));
8857
+ _v$61 !== _p$.e && (_p$.e = _$setProp(_el$304, "backgroundColor", _v$61, _p$.e));
8858
+ _v$62 !== _p$.t && (_p$.t = _$setProp(_el$306, "style", _v$62, _p$.t));
8859
+ _v$63 !== _p$.a && (_p$.a = _$setProp(_el$307, "style", _v$63, _p$.a));
8860
+ _v$64 !== _p$.o && (_p$.o = _$setProp(_el$309, "style", _v$64, _p$.o));
8861
+ _v$65 !== _p$.i && (_p$.i = _$setProp(_el$311, "style", _v$65, _p$.i));
8862
+ _v$66 !== _p$.n && (_p$.n = _$setProp(_el$312, "style", _v$66, _p$.n));
8863
+ _v$67 !== _p$.s && (_p$.s = _$setProp(_el$314, "style", _v$67, _p$.s));
8864
+ _v$68 !== _p$.h && (_p$.h = _$setProp(_el$315, "style", _v$68, _p$.h));
8683
8865
  return _p$;
8684
8866
  }, {
8685
8867
  e: undefined,
@@ -8691,7 +8873,7 @@ function LoopDashboard(props) {
8691
8873
  s: undefined,
8692
8874
  h: undefined
8693
8875
  });
8694
- return _el$282;
8876
+ return _el$304;
8695
8877
  })();
8696
8878
  }
8697
8879
  }));
@@ -8703,163 +8885,163 @@ function LoopDashboard(props) {
8703
8885
  return selectedCommand();
8704
8886
  },
8705
8887
  children: (cmd) => (() => {
8706
- var _el$303 = _$createElement("box"), _el$304 = _$createElement("text"), _el$305 = _$createElement("span"), _el$306 = _$createTextNode(` `), _el$307 = _$createElement("span"), _el$309 = _$createElement("span"), _el$310 = _$createTextNode(` \u2014 `), _el$311 = _$createTextNode(`
8707
- `), _el$312 = _$createElement("span"), _el$314 = _$createElement("span"), _el$315 = _$createTextNode(`
8708
- `), _el$316 = _$createElement("span"), _el$318 = _$createElement("span"), _el$320 = _$createElement("span"), _el$321 = _$createTextNode(`
8709
- `), _el$322 = _$createElement("span"), _el$324 = _$createElement("span"), _el$326 = _$createElement("span"), _el$327 = _$createTextNode(` bytes`), _el$328 = _$createElement("span"), _el$329 = _$createTextNode(` \u2502 updated `), _el$330 = _$createTextNode(`
8710
- `), _el$331 = _$createElement("span");
8711
- _$insertNode(_el$303, _el$304);
8712
- _$setProp(_el$303, "flexDirection", "column");
8713
- _$setProp(_el$303, "border", true);
8714
- _$setProp(_el$303, "padding", 1);
8715
- _$setProp(_el$303, "flexShrink", 0);
8716
- _$setProp(_el$303, "maxHeight", 8);
8717
- _$insertNode(_el$304, _el$305);
8718
- _$insertNode(_el$304, _el$307);
8719
- _$insertNode(_el$304, _el$309);
8720
- _$insertNode(_el$304, _el$311);
8721
- _$insertNode(_el$304, _el$312);
8722
- _$insertNode(_el$304, _el$314);
8723
- _$insertNode(_el$304, _el$315);
8724
- _$insertNode(_el$304, _el$316);
8725
- _$insertNode(_el$304, _el$318);
8726
- _$insertNode(_el$304, _el$320);
8727
- _$insertNode(_el$304, _el$321);
8728
- _$insertNode(_el$304, _el$322);
8729
- _$insertNode(_el$304, _el$324);
8730
- _$insertNode(_el$304, _el$326);
8731
- _$insertNode(_el$304, _el$328);
8732
- _$insertNode(_el$304, _el$330);
8733
- _$insertNode(_el$304, _el$331);
8734
- _$insertNode(_el$305, _el$306);
8735
- _$insert(_el$305, () => commandStatusIcon(cmd().status), _el$306);
8736
- _$insert(_el$305, () => cmd().title, null);
8737
- _$insertNode(_el$307, _$createTextNode(` Cmd `));
8738
- _$insertNode(_el$309, _el$310);
8739
- _$insert(_el$309, () => commandStatusLabel(cmd().status).short, _el$310);
8740
- _$insert(_el$309, () => commandStatusLabel(cmd().status).hint, null);
8741
- _$insertNode(_el$312, _$createTextNode(`\u2B22 Spawn: `));
8742
- _$insert(_el$314, () => cmd().command);
8743
- _$insert(_el$304, (() => {
8744
- var _c$28 = _$memo(() => cmd().args.length > 0);
8745
- return () => _c$28() && (() => {
8746
- var _el$333 = _$createElement("span"), _el$334 = _$createTextNode(` `);
8747
- _$insertNode(_el$333, _el$334);
8748
- _$insert(_el$333, () => cmd().args.join(" "), null);
8749
- _$effect((_$p) => _$setProp(_el$333, "style", {
8888
+ var _el$325 = _$createElement("box"), _el$326 = _$createElement("text"), _el$327 = _$createElement("span"), _el$328 = _$createTextNode(` `), _el$329 = _$createElement("span"), _el$331 = _$createElement("span"), _el$332 = _$createTextNode(` \u2014 `), _el$333 = _$createTextNode(`
8889
+ `), _el$334 = _$createElement("span"), _el$336 = _$createElement("span"), _el$337 = _$createTextNode(`
8890
+ `), _el$338 = _$createElement("span"), _el$340 = _$createElement("span"), _el$342 = _$createElement("span"), _el$343 = _$createTextNode(`
8891
+ `), _el$344 = _$createElement("span"), _el$346 = _$createElement("span"), _el$348 = _$createElement("span"), _el$349 = _$createTextNode(` bytes`), _el$350 = _$createElement("span"), _el$351 = _$createTextNode(` \u2502 updated `), _el$352 = _$createTextNode(`
8892
+ `), _el$353 = _$createElement("span");
8893
+ _$insertNode(_el$325, _el$326);
8894
+ _$setProp(_el$325, "flexDirection", "column");
8895
+ _$setProp(_el$325, "border", true);
8896
+ _$setProp(_el$325, "padding", 1);
8897
+ _$setProp(_el$325, "flexShrink", 0);
8898
+ _$setProp(_el$325, "maxHeight", 8);
8899
+ _$insertNode(_el$326, _el$327);
8900
+ _$insertNode(_el$326, _el$329);
8901
+ _$insertNode(_el$326, _el$331);
8902
+ _$insertNode(_el$326, _el$333);
8903
+ _$insertNode(_el$326, _el$334);
8904
+ _$insertNode(_el$326, _el$336);
8905
+ _$insertNode(_el$326, _el$337);
8906
+ _$insertNode(_el$326, _el$338);
8907
+ _$insertNode(_el$326, _el$340);
8908
+ _$insertNode(_el$326, _el$342);
8909
+ _$insertNode(_el$326, _el$343);
8910
+ _$insertNode(_el$326, _el$344);
8911
+ _$insertNode(_el$326, _el$346);
8912
+ _$insertNode(_el$326, _el$348);
8913
+ _$insertNode(_el$326, _el$350);
8914
+ _$insertNode(_el$326, _el$352);
8915
+ _$insertNode(_el$326, _el$353);
8916
+ _$insertNode(_el$327, _el$328);
8917
+ _$insert(_el$327, () => commandStatusIcon(cmd().status), _el$328);
8918
+ _$insert(_el$327, () => cmd().title, null);
8919
+ _$insertNode(_el$329, _$createTextNode(` Cmd `));
8920
+ _$insertNode(_el$331, _el$332);
8921
+ _$insert(_el$331, () => commandStatusLabel(cmd().status).short, _el$332);
8922
+ _$insert(_el$331, () => commandStatusLabel(cmd().status).hint, null);
8923
+ _$insertNode(_el$334, _$createTextNode(`\u2B22 Spawn: `));
8924
+ _$insert(_el$336, () => cmd().command);
8925
+ _$insert(_el$326, (() => {
8926
+ var _c$34 = _$memo(() => cmd().args.length > 0);
8927
+ return () => _c$34() && (() => {
8928
+ var _el$355 = _$createElement("span"), _el$356 = _$createTextNode(` `);
8929
+ _$insertNode(_el$355, _el$356);
8930
+ _$insert(_el$355, () => cmd().args.join(" "), null);
8931
+ _$effect((_$p) => _$setProp(_el$355, "style", {
8750
8932
  fg: theme().text
8751
8933
  }, _$p));
8752
- return _el$333;
8934
+ return _el$355;
8753
8935
  })();
8754
- })(), _el$315);
8755
- _$insertNode(_el$316, _$createTextNode(`\uD83D\uDCC1 `));
8756
- _$insertNode(_el$318, _$createTextNode(`Cwd: `));
8757
- _$insert(_el$320, () => cmd().cwd.replace(String(props.directory), "."));
8758
- _$insert(_el$304, (() => {
8759
- var _c$29 = _$memo(() => !!cmd().goalID);
8760
- return () => _c$29() && [(() => {
8761
- var _el$335 = _$createElement("span");
8762
- _$insertNode(_el$335, _$createTextNode(` \u2502 \uD83D\uDD17 linked goal `));
8763
- _$effect((_$p) => _$setProp(_el$335, "style", {
8936
+ })(), _el$337);
8937
+ _$insertNode(_el$338, _$createTextNode(`\uD83D\uDCC1 `));
8938
+ _$insertNode(_el$340, _$createTextNode(`Cwd: `));
8939
+ _$insert(_el$342, () => cmd().cwd.replace(String(props.directory), "."));
8940
+ _$insert(_el$326, (() => {
8941
+ var _c$35 = _$memo(() => !!cmd().goalID);
8942
+ return () => _c$35() && [(() => {
8943
+ var _el$357 = _$createElement("span");
8944
+ _$insertNode(_el$357, _$createTextNode(` \u2502 \uD83D\uDD17 linked goal `));
8945
+ _$effect((_$p) => _$setProp(_el$357, "style", {
8764
8946
  fg: theme().textMuted
8765
8947
  }, _$p));
8766
- return _el$335;
8948
+ return _el$357;
8767
8949
  })(), (() => {
8768
- var _el$337 = _$createElement("span");
8769
- _$insert(_el$337, () => cmd().goalID.slice(0, 8));
8770
- _$effect((_$p) => _$setProp(_el$337, "style", {
8950
+ var _el$359 = _$createElement("span");
8951
+ _$insert(_el$359, () => cmd().goalID.slice(0, 8));
8952
+ _$effect((_$p) => _$setProp(_el$359, "style", {
8771
8953
  fg: theme().text
8772
8954
  }, _$p));
8773
- return _el$337;
8955
+ return _el$359;
8774
8956
  })()];
8775
- })(), _el$321);
8776
- _$insertNode(_el$322, _$createTextNode(`\uD83D\uDCBE `));
8777
- _$insertNode(_el$324, _$createTextNode(`Output: `));
8778
- _$insertNode(_el$326, _el$327);
8779
- _$insert(_el$326, () => cmd().outputBytes, _el$327);
8780
- _$insert(_el$304, (() => {
8781
- var _c$30 = _$memo(() => !!cmd().truncated);
8782
- return () => _c$30() && (() => {
8783
- var _el$338 = _$createElement("span");
8784
- _$insertNode(_el$338, _$createTextNode(` \xB7 \u26A0 truncated`));
8785
- _$effect((_$p) => _$setProp(_el$338, "style", {
8957
+ })(), _el$343);
8958
+ _$insertNode(_el$344, _$createTextNode(`\uD83D\uDCBE `));
8959
+ _$insertNode(_el$346, _$createTextNode(`Output: `));
8960
+ _$insertNode(_el$348, _el$349);
8961
+ _$insert(_el$348, () => cmd().outputBytes, _el$349);
8962
+ _$insert(_el$326, (() => {
8963
+ var _c$36 = _$memo(() => !!cmd().truncated);
8964
+ return () => _c$36() && (() => {
8965
+ var _el$360 = _$createElement("span");
8966
+ _$insertNode(_el$360, _$createTextNode(` \xB7 \u26A0 truncated`));
8967
+ _$effect((_$p) => _$setProp(_el$360, "style", {
8786
8968
  fg: theme().warning,
8787
8969
  bold: true
8788
8970
  }, _$p));
8789
- return _el$338;
8971
+ return _el$360;
8790
8972
  })();
8791
- })(), _el$328);
8792
- _$insertNode(_el$328, _el$329);
8793
- _$insert(_el$328, () => ageLabel(cmd().updatedAt, clock()), null);
8794
- _$insert(_el$304, (() => {
8795
- var _c$31 = _$memo(() => !!cmd().lastError);
8796
- return () => _c$31() && [(() => {
8797
- var _el$340 = _$createElement("span"), _el$341 = _$createTextNode(`
8973
+ })(), _el$350);
8974
+ _$insertNode(_el$350, _el$351);
8975
+ _$insert(_el$350, () => ageLabel(cmd().updatedAt, clock()), null);
8976
+ _$insert(_el$326, (() => {
8977
+ var _c$37 = _$memo(() => !!cmd().lastError);
8978
+ return () => _c$37() && [(() => {
8979
+ var _el$362 = _$createElement("span"), _el$363 = _$createTextNode(`
8798
8980
  \u26A0 Error: `);
8799
- _$insertNode(_el$340, _el$341);
8800
- _$effect((_$p) => _$setProp(_el$340, "style", {
8981
+ _$insertNode(_el$362, _el$363);
8982
+ _$effect((_$p) => _$setProp(_el$362, "style", {
8801
8983
  fg: theme().error,
8802
8984
  bold: true
8803
8985
  }, _$p));
8804
- return _el$340;
8986
+ return _el$362;
8805
8987
  })(), (() => {
8806
- var _el$343 = _$createElement("span");
8807
- _$insert(_el$343, () => cmd().lastError.slice(0, 120));
8808
- _$effect((_$p) => _$setProp(_el$343, "style", {
8988
+ var _el$365 = _$createElement("span");
8989
+ _$insert(_el$365, () => cmd().lastError.slice(0, 120));
8990
+ _$effect((_$p) => _$setProp(_el$365, "style", {
8809
8991
  fg: theme().error
8810
8992
  }, _$p));
8811
- return _el$343;
8993
+ return _el$365;
8812
8994
  })()];
8813
- })(), _el$330);
8814
- _$insertNode(_el$331, _$createTextNode(`o fullscreen \xB7 X kill \xB7 R restart \xB7 x remove-done \xB7 :interrupt :terminate :remove \xB7 text + Enter writes stdin`));
8995
+ })(), _el$352);
8996
+ _$insertNode(_el$353, _$createTextNode(`o fullscreen \xB7 X kill \xB7 R restart \xB7 x remove-done \xB7 :interrupt :terminate :remove \xB7 text + Enter writes stdin`));
8815
8997
  _$effect((_p$) => {
8816
- var _v$67 = commandBorderColor(cmd().status, theme()), _v$68 = {
8998
+ var _v$69 = commandBorderColor(cmd().status, theme()), _v$70 = {
8817
8999
  fg: commandStatusColor(cmd().status, theme()),
8818
9000
  bold: true
8819
- }, _v$69 = {
9001
+ }, _v$71 = {
8820
9002
  fg: theme().textMuted
8821
- }, _v$70 = {
9003
+ }, _v$72 = {
8822
9004
  fg: commandStatusColor(cmd().status, theme())
8823
- }, _v$71 = {
9005
+ }, _v$73 = {
8824
9006
  fg: theme().primary,
8825
9007
  bold: true
8826
- }, _v$72 = {
8827
- fg: theme().accent,
8828
- bold: true
8829
- }, _v$73 = {
8830
- fg: theme().textMuted
8831
9008
  }, _v$74 = {
8832
9009
  fg: theme().accent,
8833
9010
  bold: true
8834
9011
  }, _v$75 = {
8835
9012
  fg: theme().textMuted
8836
9013
  }, _v$76 = {
8837
- fg: theme().warning,
9014
+ fg: theme().accent,
8838
9015
  bold: true
8839
9016
  }, _v$77 = {
9017
+ fg: theme().textMuted
9018
+ }, _v$78 = {
8840
9019
  fg: theme().warning,
8841
9020
  bold: true
8842
- }, _v$78 = {
8843
- fg: theme().text
8844
9021
  }, _v$79 = {
8845
- fg: theme().textMuted
9022
+ fg: theme().warning,
9023
+ bold: true
8846
9024
  }, _v$80 = {
9025
+ fg: theme().text
9026
+ }, _v$81 = {
9027
+ fg: theme().textMuted
9028
+ }, _v$82 = {
8847
9029
  fg: theme().textMuted
8848
9030
  };
8849
- _v$67 !== _p$.e && (_p$.e = _$setProp(_el$303, "borderColor", _v$67, _p$.e));
8850
- _v$68 !== _p$.t && (_p$.t = _$setProp(_el$305, "style", _v$68, _p$.t));
8851
- _v$69 !== _p$.a && (_p$.a = _$setProp(_el$307, "style", _v$69, _p$.a));
8852
- _v$70 !== _p$.o && (_p$.o = _$setProp(_el$309, "style", _v$70, _p$.o));
8853
- _v$71 !== _p$.i && (_p$.i = _$setProp(_el$312, "style", _v$71, _p$.i));
8854
- _v$72 !== _p$.n && (_p$.n = _$setProp(_el$314, "style", _v$72, _p$.n));
8855
- _v$73 !== _p$.s && (_p$.s = _$setProp(_el$316, "style", _v$73, _p$.s));
8856
- _v$74 !== _p$.h && (_p$.h = _$setProp(_el$318, "style", _v$74, _p$.h));
8857
- _v$75 !== _p$.r && (_p$.r = _$setProp(_el$320, "style", _v$75, _p$.r));
8858
- _v$76 !== _p$.d && (_p$.d = _$setProp(_el$322, "style", _v$76, _p$.d));
8859
- _v$77 !== _p$.l && (_p$.l = _$setProp(_el$324, "style", _v$77, _p$.l));
8860
- _v$78 !== _p$.u && (_p$.u = _$setProp(_el$326, "style", _v$78, _p$.u));
8861
- _v$79 !== _p$.c && (_p$.c = _$setProp(_el$328, "style", _v$79, _p$.c));
8862
- _v$80 !== _p$.w && (_p$.w = _$setProp(_el$331, "style", _v$80, _p$.w));
9031
+ _v$69 !== _p$.e && (_p$.e = _$setProp(_el$325, "borderColor", _v$69, _p$.e));
9032
+ _v$70 !== _p$.t && (_p$.t = _$setProp(_el$327, "style", _v$70, _p$.t));
9033
+ _v$71 !== _p$.a && (_p$.a = _$setProp(_el$329, "style", _v$71, _p$.a));
9034
+ _v$72 !== _p$.o && (_p$.o = _$setProp(_el$331, "style", _v$72, _p$.o));
9035
+ _v$73 !== _p$.i && (_p$.i = _$setProp(_el$334, "style", _v$73, _p$.i));
9036
+ _v$74 !== _p$.n && (_p$.n = _$setProp(_el$336, "style", _v$74, _p$.n));
9037
+ _v$75 !== _p$.s && (_p$.s = _$setProp(_el$338, "style", _v$75, _p$.s));
9038
+ _v$76 !== _p$.h && (_p$.h = _$setProp(_el$340, "style", _v$76, _p$.h));
9039
+ _v$77 !== _p$.r && (_p$.r = _$setProp(_el$342, "style", _v$77, _p$.r));
9040
+ _v$78 !== _p$.d && (_p$.d = _$setProp(_el$344, "style", _v$78, _p$.d));
9041
+ _v$79 !== _p$.l && (_p$.l = _$setProp(_el$346, "style", _v$79, _p$.l));
9042
+ _v$80 !== _p$.u && (_p$.u = _$setProp(_el$348, "style", _v$80, _p$.u));
9043
+ _v$81 !== _p$.c && (_p$.c = _$setProp(_el$350, "style", _v$81, _p$.c));
9044
+ _v$82 !== _p$.w && (_p$.w = _$setProp(_el$353, "style", _v$82, _p$.w));
8863
9045
  return _p$;
8864
9046
  }, {
8865
9047
  e: undefined,
@@ -8877,7 +9059,7 @@ function LoopDashboard(props) {
8877
9059
  c: undefined,
8878
9060
  w: undefined
8879
9061
  });
8880
- return _el$303;
9062
+ return _el$325;
8881
9063
  })()
8882
9064
  })];
8883
9065
  }
@@ -8905,29 +9087,29 @@ function LoopDashboard(props) {
8905
9087
  },
8906
9088
  children: (ev) => [`
8907
9089
  `, (() => {
8908
- var _el$344 = _$createElement("span");
8909
- _$insert(_el$344, () => String(ev.type));
8910
- _$effect((_$p) => _$setProp(_el$344, "style", {
9090
+ var _el$366 = _$createElement("span");
9091
+ _$insert(_el$366, () => String(ev.type));
9092
+ _$effect((_$p) => _$setProp(_el$366, "style", {
8911
9093
  fg: eventColor(String(ev.type), theme()),
8912
9094
  bold: true
8913
9095
  }, _$p));
8914
- return _el$344;
9096
+ return _el$366;
8915
9097
  })(), (() => {
8916
- var _el$345 = _$createElement("span"), _el$346 = _$createTextNode(` `);
8917
- _$insertNode(_el$345, _el$346);
8918
- _$insert(_el$345, () => ev.goalID?.slice(0, 8), null);
8919
- _$effect((_$p) => _$setProp(_el$345, "style", {
9098
+ var _el$367 = _$createElement("span"), _el$368 = _$createTextNode(` `);
9099
+ _$insertNode(_el$367, _el$368);
9100
+ _$insert(_el$367, () => ev.goalID?.slice(0, 8), null);
9101
+ _$effect((_$p) => _$setProp(_el$367, "style", {
8920
9102
  fg: theme().textMuted
8921
9103
  }, _$p));
8922
- return _el$345;
9104
+ return _el$367;
8923
9105
  })(), _$memo(() => _$memo(() => !!ev.summary)() && (() => {
8924
- var _el$347 = _$createElement("span"), _el$348 = _$createTextNode(` \u2014 `);
8925
- _$insertNode(_el$347, _el$348);
8926
- _$insert(_el$347, () => String(ev.summary).slice(0, 60), null);
8927
- _$effect((_$p) => _$setProp(_el$347, "style", {
9106
+ var _el$369 = _$createElement("span"), _el$370 = _$createTextNode(` \u2014 `);
9107
+ _$insertNode(_el$369, _el$370);
9108
+ _$insert(_el$369, () => String(ev.summary).slice(0, 60), null);
9109
+ _$effect((_$p) => _$setProp(_el$369, "style", {
8928
9110
  fg: theme().text
8929
9111
  }, _$p));
8930
- return _el$347;
9112
+ return _el$369;
8931
9113
  })())]
8932
9114
  }), null);
8933
9115
  _$effect((_p$) => {