@bojackduy/opencode-loopd 1.10.0 → 1.10.1

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 +121 -45
  2. package/dist/tui.js +542 -489
  3. package/package.json +1 -1
package/dist/tui.js CHANGED
@@ -323,6 +323,8 @@ function commandHelp() {
323
323
  return [
324
324
  "Modes: : insert \u2192 send/commands | Ctrl+N \u2192 normal | ? toggle help | Shift+B bug report",
325
325
  "Nav: j/k move | g/G top/bottom | o open child | c toggle done | p/r/R/x pause/resume/retry/clear | A abort worker | N nudge | L logs | q close",
326
+ "Goal (ownership): Active=loopd owns it | Blocked/Paused=needs you | Out of budget=resume to spend | Waiting for capacity=auto-resumes | Done=verified",
327
+ "Worker (activity now): Running=acting now | Idle=between turns | Retrying=backing off | Queued/Compacting/Stopping=transitional",
326
328
  "Commands (insert mode, : prefix):",
327
329
  " :send <message> Send bare words now as their own turn (no steering)",
328
330
  " :open Open child session (same as o)",
@@ -338,6 +340,40 @@ function commandHelp() {
338
340
  `);
339
341
  }
340
342
 
343
+ // src/domain/status-labels.ts
344
+ var GOAL_STATUS_META = {
345
+ active: { short: "Active", hint: "loopd owns it" },
346
+ paused: { short: "Paused", hint: "stopped by you" },
347
+ blocked: { short: "Blocked", hint: "needs you" },
348
+ budget_limited: { short: "Out of budget", hint: "resume to spend" },
349
+ usage_limited: { short: "Waiting for capacity", hint: "auto-resumes" },
350
+ complete: { short: "Done", hint: "verified" }
351
+ };
352
+ var PHASE_META = {
353
+ idle: { short: "Idle", hint: "between turns" },
354
+ queued: { short: "Queued", hint: "waiting to start" },
355
+ running: { short: "Running", hint: "worker acting now" },
356
+ compacting: { short: "Compacting", hint: "summarizing context" },
357
+ waiting_retry: { short: "Retrying", hint: "backing off" },
358
+ stopping: { short: "Stopping", hint: "abort in flight" }
359
+ };
360
+ function goalStatusLabel(status) {
361
+ return GOAL_STATUS_META[status] ?? { short: status, hint: "" };
362
+ }
363
+ function phaseLabel(phase) {
364
+ return PHASE_META[phase] ?? { short: phase, hint: "" };
365
+ }
366
+ function describeGoalState(status, phase) {
367
+ const goal = goalStatusLabel(status);
368
+ const activity = phase ? phaseLabel(phase) : undefined;
369
+ const workerClause = activity ? `worker is ${activity.hint || activity.short.toLowerCase()}` : "worker state unknown";
370
+ if (status === "active")
371
+ return `Loopd owns this; ${workerClause}.`;
372
+ if (status === "complete")
373
+ return "Done \u2014 verified; worker is stopped.";
374
+ return `Parked \u2014 ${goal.hint || goal.short.toLowerCase()}; ${workerClause}.`;
375
+ }
376
+
341
377
  // src/browser.ts
342
378
  import { spawn } from "child_process";
343
379
  var LOOPD_ISSUES_URL = "https://github.com/bojackduy/opencode-loopd/issues/new";
@@ -1112,21 +1148,21 @@ function LoopDashboard(props) {
1112
1148
  } catch {}
1113
1149
  });
1114
1150
  return (() => {
1115
- 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(` running`), _el$20 = _$createElement("span"), _el$22 = _$createElement("span"), _el$24 = _$createElement("span"), _el$25 = _$createElement("span"), _el$27 = _$createElement("box"), _el$28 = _$createElement("text"), _el$29 = _$createElement("span"), _el$31 = _$createElement("box"), _el$43 = _$createElement("box"), _el$44 = _$createElement("text"), _el$45 = _$createElement("span"), _el$46 = _$createElement("input");
1151
+ 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("box"), _el$26 = _$createElement("text"), _el$27 = _$createElement("span"), _el$29 = _$createElement("box"), _el$41 = _$createElement("box"), _el$42 = _$createElement("text"), _el$43 = _$createElement("span"), _el$44 = _$createElement("input");
1116
1152
  _$insertNode(_el$, _el$2);
1117
1153
  _$setProp(_el$, "flexDirection", "column");
1118
1154
  _$setProp(_el$, "width", "100%");
1119
1155
  _$setProp(_el$, "alignItems", "center");
1120
1156
  _$setProp(_el$, "padding", 1);
1121
1157
  _$insertNode(_el$2, _el$3);
1122
- _$insertNode(_el$2, _el$31);
1123
- _$insertNode(_el$2, _el$43);
1158
+ _$insertNode(_el$2, _el$29);
1159
+ _$insertNode(_el$2, _el$41);
1124
1160
  _$setProp(_el$2, "flexDirection", "column");
1125
1161
  _$setProp(_el$2, "width", "90%");
1126
1162
  _$setProp(_el$2, "border", true);
1127
1163
  _$setProp(_el$2, "padding", 1);
1128
1164
  _$insertNode(_el$3, _el$4);
1129
- _$insertNode(_el$3, _el$27);
1165
+ _$insertNode(_el$3, _el$25);
1130
1166
  _$setProp(_el$3, "flexDirection", "row");
1131
1167
  _$setProp(_el$3, "justifyContent", "space-between");
1132
1168
  _$setProp(_el$3, "alignItems", "center");
@@ -1143,8 +1179,7 @@ function LoopDashboard(props) {
1143
1179
  _$insertNode(_el$4, _el$17);
1144
1180
  _$insertNode(_el$4, _el$20);
1145
1181
  _$insertNode(_el$4, _el$22);
1146
- _$insertNode(_el$4, _el$24);
1147
- _$insertNode(_el$4, _el$25);
1182
+ _$insertNode(_el$4, _el$23);
1148
1183
  _$insertNode(_el$5, _$createTextNode(`\u2B22 Loop Dashboard`));
1149
1184
  _$insertNode(_el$7, _$createTextNode(` \u2502 `));
1150
1185
  _$insertNode(_el$9, _el$0);
@@ -1152,7 +1187,7 @@ function LoopDashboard(props) {
1152
1187
  _$insert(_el$9, () => mode().toUpperCase(), _el$1);
1153
1188
  _$insertNode(_el$10, _$createTextNode(` \u2502 `));
1154
1189
  _$insert(_el$12, () => activeGoals().length);
1155
- _$insertNode(_el$13, _$createTextNode(` active`));
1190
+ _$insertNode(_el$13, _$createTextNode(` open`));
1156
1191
  _$insertNode(_el$15, _$createTextNode(` \u2502 `));
1157
1192
  _$insertNode(_el$17, _el$18);
1158
1193
  _$insertNode(_el$17, _el$19);
@@ -1161,54 +1196,53 @@ function LoopDashboard(props) {
1161
1196
  return () => _c$() ? runningFrame() : "\u25CB";
1162
1197
  })(), _el$18);
1163
1198
  _$insert(_el$17, runningCount, _el$19);
1164
- _$insertNode(_el$20, _$createTextNode(` (phase)`));
1165
- _$insertNode(_el$22, _$createTextNode(` \u2502 `));
1166
- _$insert(_el$24, () => state()?.goals.filter((g) => g.status === "complete").length || 0);
1167
- _$insertNode(_el$25, _$createTextNode(` done`));
1168
- _$insertNode(_el$27, _el$28);
1169
- _$setProp(_el$27, "flexDirection", "row");
1170
- _$setProp(_el$27, "alignItems", "center");
1171
- _$setProp(_el$27, "paddingLeft", 1);
1172
- _$setProp(_el$27, "paddingRight", 1);
1173
- _$setProp(_el$27, "flexShrink", 0);
1174
- _$spread(_el$27, _$mergeProps({
1199
+ _$insertNode(_el$20, _$createTextNode(` \u2502 `));
1200
+ _$insert(_el$22, () => state()?.goals.filter((g) => g.status === "complete").length || 0);
1201
+ _$insertNode(_el$23, _$createTextNode(` done`));
1202
+ _$insertNode(_el$25, _el$26);
1203
+ _$setProp(_el$25, "flexDirection", "row");
1204
+ _$setProp(_el$25, "alignItems", "center");
1205
+ _$setProp(_el$25, "paddingLeft", 1);
1206
+ _$setProp(_el$25, "paddingRight", 1);
1207
+ _$setProp(_el$25, "flexShrink", 0);
1208
+ _$spread(_el$25, _$mergeProps({
1175
1209
  get backgroundColor() {
1176
1210
  return theme().error;
1177
1211
  }
1178
1212
  }, {
1179
1213
  onMouseDown: handleBugReport
1180
1214
  }), true);
1181
- _$insertNode(_el$28, _el$29);
1182
- _$insertNode(_el$29, _$createTextNode(`Bug Report`));
1183
- _$setProp(_el$29, "style", {
1215
+ _$insertNode(_el$26, _el$27);
1216
+ _$insertNode(_el$27, _$createTextNode(`Bug Report`));
1217
+ _$setProp(_el$27, "style", {
1184
1218
  fg: "white",
1185
1219
  bold: true
1186
1220
  });
1187
- _$setProp(_el$31, "flexDirection", "column");
1188
- _$setProp(_el$31, "flexShrink", 1);
1189
- _$setProp(_el$31, "minHeight", 0);
1190
- _$setProp(_el$31, "overflow", "hidden");
1191
- _$insert(_el$31, _$createComponent(Show, {
1221
+ _$setProp(_el$29, "flexDirection", "column");
1222
+ _$setProp(_el$29, "flexShrink", 1);
1223
+ _$setProp(_el$29, "minHeight", 0);
1224
+ _$setProp(_el$29, "overflow", "hidden");
1225
+ _$insert(_el$29, _$createComponent(Show, {
1192
1226
  get when() {
1193
1227
  return showHelp();
1194
1228
  },
1195
1229
  get children() {
1196
- var _el$32 = _$createElement("box"), _el$33 = _$createElement("text"), _el$34 = _$createElement("span");
1197
- _$insertNode(_el$32, _el$33);
1198
- _$setProp(_el$32, "flexDirection", "column");
1199
- _$setProp(_el$32, "padding", 1);
1200
- _$setProp(_el$32, "border", true);
1201
- _$setProp(_el$32, "borderColor", "yellow");
1202
- _$setProp(_el$32, "flexShrink", 0);
1203
- _$setProp(_el$32, "maxHeight", 14);
1204
- _$setProp(_el$32, "overflow", "hidden");
1205
- _$insertNode(_el$33, _el$34);
1206
- _$insertNode(_el$34, _$createTextNode(`\u2501\u2501\u2501 Keys: ? toggle help c toggle done : insert Ctrl+N normal o open A abort worker N nudge q close \u2501\u2501\u2501`));
1207
- _$setProp(_el$34, "style", {
1230
+ var _el$30 = _$createElement("box"), _el$31 = _$createElement("text"), _el$32 = _$createElement("span");
1231
+ _$insertNode(_el$30, _el$31);
1232
+ _$setProp(_el$30, "flexDirection", "column");
1233
+ _$setProp(_el$30, "padding", 1);
1234
+ _$setProp(_el$30, "border", true);
1235
+ _$setProp(_el$30, "borderColor", "yellow");
1236
+ _$setProp(_el$30, "flexShrink", 0);
1237
+ _$setProp(_el$30, "maxHeight", 14);
1238
+ _$setProp(_el$30, "overflow", "hidden");
1239
+ _$insertNode(_el$31, _el$32);
1240
+ _$insertNode(_el$32, _$createTextNode(`\u2501\u2501\u2501 Keys: ? toggle help c toggle done : insert Ctrl+N normal o open A abort worker N nudge q close \u2501\u2501\u2501`));
1241
+ _$setProp(_el$32, "style", {
1208
1242
  fg: "yellow",
1209
1243
  bold: true
1210
1244
  });
1211
- _$insert(_el$33, _$createComponent(For, {
1245
+ _$insert(_el$31, _$createComponent(For, {
1212
1246
  get each() {
1213
1247
  return commandHelp().split(`
1214
1248
  `);
@@ -1220,20 +1254,20 @@ function LoopDashboard(props) {
1220
1254
  const segments = rest.split(" | ");
1221
1255
  return [`
1222
1256
  `, (() => {
1223
- var _el$47 = _$createElement("span");
1224
- _$insert(_el$47, label);
1225
- _$effect((_$p) => _$setProp(_el$47, "style", {
1257
+ var _el$45 = _$createElement("span");
1258
+ _$insert(_el$45, label);
1259
+ _$effect((_$p) => _$setProp(_el$45, "style", {
1226
1260
  fg: theme().primary,
1227
1261
  bold: true
1228
1262
  }, _$p));
1229
- return _el$47;
1263
+ return _el$45;
1230
1264
  })(), (() => {
1231
- var _el$48 = _$createElement("span");
1232
- _$insertNode(_el$48, _$createTextNode(` `));
1233
- _$effect((_$p) => _$setProp(_el$48, "style", {
1265
+ var _el$46 = _$createElement("span");
1266
+ _$insertNode(_el$46, _$createTextNode(` `));
1267
+ _$effect((_$p) => _$setProp(_el$46, "style", {
1234
1268
  fg: theme().textMuted
1235
1269
  }, _$p));
1236
- return _el$48;
1270
+ return _el$46;
1237
1271
  })(), _$createComponent(For, {
1238
1272
  each: segments,
1239
1273
  children: (seg, idx) => {
@@ -1241,62 +1275,62 @@ function LoopDashboard(props) {
1241
1275
  if (hasArrow) {
1242
1276
  const [k, d] = seg.split("\u2192").map((s) => s.trim());
1243
1277
  return [_$memo(() => _$memo(() => idx() > 0)() && (() => {
1244
- var _el$54 = _$createElement("span");
1245
- _$insertNode(_el$54, _$createTextNode(` | `));
1246
- _$effect((_$p) => _$setProp(_el$54, "style", {
1278
+ var _el$52 = _$createElement("span");
1279
+ _$insertNode(_el$52, _$createTextNode(` | `));
1280
+ _$effect((_$p) => _$setProp(_el$52, "style", {
1247
1281
  fg: theme().textMuted
1248
1282
  }, _$p));
1249
- return _el$54;
1283
+ return _el$52;
1250
1284
  })()), (() => {
1251
- var _el$50 = _$createElement("span");
1252
- _$insert(_el$50, k);
1253
- _$effect((_$p) => _$setProp(_el$50, "style", {
1285
+ var _el$48 = _$createElement("span");
1286
+ _$insert(_el$48, k);
1287
+ _$effect((_$p) => _$setProp(_el$48, "style", {
1254
1288
  fg: theme().warning,
1255
1289
  bold: true
1256
1290
  }, _$p));
1257
- return _el$50;
1291
+ return _el$48;
1258
1292
  })(), (() => {
1259
- var _el$51 = _$createElement("span");
1260
- _$insertNode(_el$51, _$createTextNode(` \u2192 `));
1261
- _$effect((_$p) => _$setProp(_el$51, "style", {
1293
+ var _el$49 = _$createElement("span");
1294
+ _$insertNode(_el$49, _$createTextNode(` \u2192 `));
1295
+ _$effect((_$p) => _$setProp(_el$49, "style", {
1262
1296
  fg: theme().textMuted
1263
1297
  }, _$p));
1264
- return _el$51;
1298
+ return _el$49;
1265
1299
  })(), (() => {
1266
- var _el$53 = _$createElement("span");
1267
- _$insert(_el$53, d);
1268
- _$effect((_$p) => _$setProp(_el$53, "style", {
1300
+ var _el$51 = _$createElement("span");
1301
+ _$insert(_el$51, d);
1302
+ _$effect((_$p) => _$setProp(_el$51, "style", {
1269
1303
  fg: theme().text
1270
1304
  }, _$p));
1271
- return _el$53;
1305
+ return _el$51;
1272
1306
  })()];
1273
1307
  }
1274
1308
  const sp = seg.indexOf(" ");
1275
1309
  const k = sp > 0 ? seg.slice(0, sp) : seg;
1276
1310
  const d = sp > 0 ? seg.slice(sp + 1) : "";
1277
1311
  return [_$memo(() => _$memo(() => idx() > 0)() && (() => {
1278
- var _el$57 = _$createElement("span");
1279
- _$insertNode(_el$57, _$createTextNode(` | `));
1280
- _$effect((_$p) => _$setProp(_el$57, "style", {
1312
+ var _el$55 = _$createElement("span");
1313
+ _$insertNode(_el$55, _$createTextNode(` | `));
1314
+ _$effect((_$p) => _$setProp(_el$55, "style", {
1281
1315
  fg: theme().textMuted
1282
1316
  }, _$p));
1283
- return _el$57;
1317
+ return _el$55;
1284
1318
  })()), (() => {
1285
- var _el$56 = _$createElement("span");
1286
- _$insert(_el$56, k);
1287
- _$effect((_$p) => _$setProp(_el$56, "style", {
1319
+ var _el$54 = _$createElement("span");
1320
+ _$insert(_el$54, k);
1321
+ _$effect((_$p) => _$setProp(_el$54, "style", {
1288
1322
  fg: theme().warning,
1289
1323
  bold: true
1290
1324
  }, _$p));
1291
- return _el$56;
1325
+ return _el$54;
1292
1326
  })(), d && (() => {
1293
- var _el$59 = _$createElement("span"), _el$60 = _$createTextNode(` `);
1294
- _$insertNode(_el$59, _el$60);
1295
- _$insert(_el$59, d, null);
1296
- _$effect((_$p) => _$setProp(_el$59, "style", {
1327
+ var _el$57 = _$createElement("span"), _el$58 = _$createTextNode(` `);
1328
+ _$insertNode(_el$57, _el$58);
1329
+ _$insert(_el$57, d, null);
1330
+ _$effect((_$p) => _$setProp(_el$57, "style", {
1297
1331
  fg: theme().text
1298
1332
  }, _$p));
1299
- return _el$59;
1333
+ return _el$57;
1300
1334
  })()];
1301
1335
  }
1302
1336
  })];
@@ -1308,117 +1342,117 @@ function LoopDashboard(props) {
1308
1342
  const desc = m?.[3] ?? line.split(/\s{2,}/)[1] ?? "";
1309
1343
  return [`
1310
1344
  `, (() => {
1311
- var _el$61 = _$createElement("span");
1312
- _$insert(_el$61, indent);
1313
- _$effect((_$p) => _$setProp(_el$61, "style", {
1345
+ var _el$59 = _$createElement("span");
1346
+ _$insert(_el$59, indent);
1347
+ _$effect((_$p) => _$setProp(_el$59, "style", {
1314
1348
  fg: theme().textMuted
1315
1349
  }, _$p));
1316
- return _el$61;
1350
+ return _el$59;
1317
1351
  })(), (() => {
1318
- var _el$62 = _$createElement("span");
1319
- _$insert(_el$62, key);
1320
- _$effect((_$p) => _$setProp(_el$62, "style", {
1352
+ var _el$60 = _$createElement("span");
1353
+ _$insert(_el$60, key);
1354
+ _$effect((_$p) => _$setProp(_el$60, "style", {
1321
1355
  fg: theme().warning,
1322
1356
  bold: true
1323
1357
  }, _$p));
1324
- return _el$62;
1358
+ return _el$60;
1325
1359
  })(), desc && [(() => {
1326
- var _el$63 = _$createElement("span");
1327
- _$insertNode(_el$63, _$createTextNode(` `));
1328
- _$effect((_$p) => _$setProp(_el$63, "style", {
1360
+ var _el$61 = _$createElement("span");
1361
+ _$insertNode(_el$61, _$createTextNode(` `));
1362
+ _$effect((_$p) => _$setProp(_el$61, "style", {
1329
1363
  fg: theme().textMuted
1330
1364
  }, _$p));
1331
- return _el$63;
1365
+ return _el$61;
1332
1366
  })(), (() => {
1333
- var _el$65 = _$createElement("span");
1334
- _$insert(_el$65, desc);
1335
- _$effect((_$p) => _$setProp(_el$65, "style", {
1367
+ var _el$63 = _$createElement("span");
1368
+ _$insert(_el$63, desc);
1369
+ _$effect((_$p) => _$setProp(_el$63, "style", {
1336
1370
  fg: theme().textMuted
1337
1371
  }, _$p));
1338
- return _el$65;
1372
+ return _el$63;
1339
1373
  })()]];
1340
1374
  }
1341
1375
  const isHeader = line.startsWith("Commands");
1342
1376
  return [`
1343
1377
  `, (() => {
1344
- var _el$66 = _$createElement("span");
1345
- _$insert(_el$66, line);
1346
- _$effect((_$p) => _$setProp(_el$66, "style", {
1378
+ var _el$64 = _$createElement("span");
1379
+ _$insert(_el$64, line);
1380
+ _$effect((_$p) => _$setProp(_el$64, "style", {
1347
1381
  fg: isHeader ? theme().primary : theme().textMuted,
1348
1382
  bold: isHeader
1349
1383
  }, _$p));
1350
- return _el$66;
1384
+ return _el$64;
1351
1385
  })()];
1352
1386
  }
1353
1387
  }), null);
1354
- _$effect((_$p) => _$setProp(_el$32, "backgroundColor", theme().background, _$p));
1355
- return _el$32;
1388
+ _$effect((_$p) => _$setProp(_el$30, "backgroundColor", theme().background, _$p));
1389
+ return _el$30;
1356
1390
  }
1357
1391
  }), null);
1358
- _$insert(_el$31, _$createComponent(Show, {
1392
+ _$insert(_el$29, _$createComponent(Show, {
1359
1393
  get when() {
1360
1394
  return activeGoals().length > 0;
1361
1395
  },
1362
1396
  get fallback() {
1363
1397
  return (() => {
1364
- var _el$67 = _$createElement("box"), _el$68 = _$createElement("text"), _el$69 = _$createElement("span"), _el$71 = _$createElement("span"), _el$73 = _$createElement("span"), _el$75 = _$createElement("text"), _el$76 = _$createElement("span"), _el$78 = _$createElement("span"), _el$80 = _$createElement("span"), _el$82 = _$createElement("span"), _el$84 = _$createElement("span"), _el$86 = _$createElement("span"), _el$88 = _$createElement("span");
1365
- _$insertNode(_el$67, _el$68);
1366
- _$insertNode(_el$67, _el$75);
1367
- _$setProp(_el$67, "flexDirection", "column");
1368
- _$setProp(_el$67, "gap", 1);
1369
- _$setProp(_el$67, "padding", 1);
1370
- _$insertNode(_el$68, _el$69);
1371
- _$insertNode(_el$68, _el$71);
1372
- _$insertNode(_el$68, _el$73);
1373
- _$insertNode(_el$69, _$createTextNode(`No active goals.`));
1374
- _$insertNode(_el$71, _$createTextNode(` /goal`));
1375
- _$insertNode(_el$73, _$createTextNode(` in parent chat to create one.`));
1376
- _$insertNode(_el$75, _el$76);
1377
- _$insertNode(_el$75, _el$78);
1378
- _$insertNode(_el$75, _el$80);
1379
- _$insertNode(_el$75, _el$82);
1380
- _$insertNode(_el$75, _el$84);
1381
- _$insertNode(_el$75, _el$86);
1382
- _$insertNode(_el$75, _el$88);
1383
- _$insertNode(_el$76, _$createTextNode(`Tip: `));
1384
- _$insertNode(_el$78, _$createTextNode(`:send`));
1385
- _$insertNode(_el$80, _$createTextNode(` to steer the worker \xB7 `));
1386
- _$insertNode(_el$82, _$createTextNode(`o`));
1387
- _$insertNode(_el$84, _$createTextNode(` to open child \xB7 `));
1388
- _$insertNode(_el$86, _$createTextNode(`:force`));
1389
- _$insertNode(_el$88, _$createTextNode(` to complete manually.`));
1398
+ var _el$65 = _$createElement("box"), _el$66 = _$createElement("text"), _el$67 = _$createElement("span"), _el$69 = _$createElement("span"), _el$71 = _$createElement("span"), _el$73 = _$createElement("text"), _el$74 = _$createElement("span"), _el$76 = _$createElement("span"), _el$78 = _$createElement("span"), _el$80 = _$createElement("span"), _el$82 = _$createElement("span"), _el$84 = _$createElement("span"), _el$86 = _$createElement("span");
1399
+ _$insertNode(_el$65, _el$66);
1400
+ _$insertNode(_el$65, _el$73);
1401
+ _$setProp(_el$65, "flexDirection", "column");
1402
+ _$setProp(_el$65, "gap", 1);
1403
+ _$setProp(_el$65, "padding", 1);
1404
+ _$insertNode(_el$66, _el$67);
1405
+ _$insertNode(_el$66, _el$69);
1406
+ _$insertNode(_el$66, _el$71);
1407
+ _$insertNode(_el$67, _$createTextNode(`No active goals.`));
1408
+ _$insertNode(_el$69, _$createTextNode(` /goal`));
1409
+ _$insertNode(_el$71, _$createTextNode(` in parent chat to create one.`));
1410
+ _$insertNode(_el$73, _el$74);
1411
+ _$insertNode(_el$73, _el$76);
1412
+ _$insertNode(_el$73, _el$78);
1413
+ _$insertNode(_el$73, _el$80);
1414
+ _$insertNode(_el$73, _el$82);
1415
+ _$insertNode(_el$73, _el$84);
1416
+ _$insertNode(_el$73, _el$86);
1417
+ _$insertNode(_el$74, _$createTextNode(`Tip: `));
1418
+ _$insertNode(_el$76, _$createTextNode(`:send`));
1419
+ _$insertNode(_el$78, _$createTextNode(` to steer the worker \xB7 `));
1420
+ _$insertNode(_el$80, _$createTextNode(`o`));
1421
+ _$insertNode(_el$82, _$createTextNode(` to open child \xB7 `));
1422
+ _$insertNode(_el$84, _$createTextNode(`:force`));
1423
+ _$insertNode(_el$86, _$createTextNode(` to complete manually.`));
1390
1424
  _$effect((_p$) => {
1391
- var _v$22 = {
1425
+ var _v$21 = {
1392
1426
  fg: theme().textMuted
1393
- }, _v$23 = {
1427
+ }, _v$22 = {
1394
1428
  fg: theme().accent
1429
+ }, _v$23 = {
1430
+ fg: theme().textMuted
1395
1431
  }, _v$24 = {
1396
1432
  fg: theme().textMuted
1397
1433
  }, _v$25 = {
1398
- fg: theme().textMuted
1399
- }, _v$26 = {
1400
1434
  fg: theme().warning
1401
- }, _v$27 = {
1435
+ }, _v$26 = {
1402
1436
  fg: theme().textMuted
1403
- }, _v$28 = {
1437
+ }, _v$27 = {
1404
1438
  fg: theme().warning
1405
- }, _v$29 = {
1439
+ }, _v$28 = {
1406
1440
  fg: theme().textMuted
1407
- }, _v$30 = {
1441
+ }, _v$29 = {
1408
1442
  fg: theme().warning
1409
- }, _v$31 = {
1443
+ }, _v$30 = {
1410
1444
  fg: theme().textMuted
1411
1445
  };
1412
- _v$22 !== _p$.e && (_p$.e = _$setProp(_el$69, "style", _v$22, _p$.e));
1413
- _v$23 !== _p$.t && (_p$.t = _$setProp(_el$71, "style", _v$23, _p$.t));
1414
- _v$24 !== _p$.a && (_p$.a = _$setProp(_el$73, "style", _v$24, _p$.a));
1415
- _v$25 !== _p$.o && (_p$.o = _$setProp(_el$76, "style", _v$25, _p$.o));
1416
- _v$26 !== _p$.i && (_p$.i = _$setProp(_el$78, "style", _v$26, _p$.i));
1417
- _v$27 !== _p$.n && (_p$.n = _$setProp(_el$80, "style", _v$27, _p$.n));
1418
- _v$28 !== _p$.s && (_p$.s = _$setProp(_el$82, "style", _v$28, _p$.s));
1419
- _v$29 !== _p$.h && (_p$.h = _$setProp(_el$84, "style", _v$29, _p$.h));
1420
- _v$30 !== _p$.r && (_p$.r = _$setProp(_el$86, "style", _v$30, _p$.r));
1421
- _v$31 !== _p$.d && (_p$.d = _$setProp(_el$88, "style", _v$31, _p$.d));
1446
+ _v$21 !== _p$.e && (_p$.e = _$setProp(_el$67, "style", _v$21, _p$.e));
1447
+ _v$22 !== _p$.t && (_p$.t = _$setProp(_el$69, "style", _v$22, _p$.t));
1448
+ _v$23 !== _p$.a && (_p$.a = _$setProp(_el$71, "style", _v$23, _p$.a));
1449
+ _v$24 !== _p$.o && (_p$.o = _$setProp(_el$74, "style", _v$24, _p$.o));
1450
+ _v$25 !== _p$.i && (_p$.i = _$setProp(_el$76, "style", _v$25, _p$.i));
1451
+ _v$26 !== _p$.n && (_p$.n = _$setProp(_el$78, "style", _v$26, _p$.n));
1452
+ _v$27 !== _p$.s && (_p$.s = _$setProp(_el$80, "style", _v$27, _p$.s));
1453
+ _v$28 !== _p$.h && (_p$.h = _$setProp(_el$82, "style", _v$28, _p$.h));
1454
+ _v$29 !== _p$.r && (_p$.r = _$setProp(_el$84, "style", _v$29, _p$.r));
1455
+ _v$30 !== _p$.d && (_p$.d = _$setProp(_el$86, "style", _v$30, _p$.d));
1422
1456
  return _p$;
1423
1457
  }, {
1424
1458
  e: undefined,
@@ -1432,15 +1466,15 @@ function LoopDashboard(props) {
1432
1466
  r: undefined,
1433
1467
  d: undefined
1434
1468
  });
1435
- return _el$67;
1469
+ return _el$65;
1436
1470
  })();
1437
1471
  },
1438
1472
  get children() {
1439
- var _el$36 = _$createElement("scrollbox");
1473
+ var _el$34 = _$createElement("scrollbox");
1440
1474
  _$use((el) => {
1441
1475
  listScrollRef = el;
1442
- }, _el$36);
1443
- _$insert(_el$36, _$createComponent(For, {
1476
+ }, _el$34);
1477
+ _$insert(_el$34, _$createComponent(For, {
1444
1478
  get each() {
1445
1479
  return activeGoals();
1446
1480
  },
@@ -1459,27 +1493,29 @@ function LoopDashboard(props) {
1459
1493
  return phaseColor(runtime().phase || "idle", theme());
1460
1494
  };
1461
1495
  return (() => {
1462
- var _el$90 = _$createElement("box"), _el$91 = _$createElement("text"), _el$92 = _$createElement("span"), _el$93 = _$createElement("span"), _el$95 = _$createElement("span");
1463
- _$insertNode(_el$90, _el$91);
1464
- _$setProp(_el$90, "flexDirection", "row");
1465
- _$setProp(_el$90, "paddingLeft", 1);
1466
- _$setProp(_el$90, "paddingRight", 1);
1467
- _$insertNode(_el$91, _el$92);
1468
- _$insertNode(_el$91, _el$93);
1469
- _$insertNode(_el$91, _el$95);
1470
- _$setProp(_el$91, "wrapMode", "none");
1471
- _$setProp(_el$91, "truncate", true);
1472
- _$insert(_el$92, (() => {
1496
+ var _el$88 = _$createElement("box"), _el$89 = _$createElement("text"), _el$90 = _$createElement("span"), _el$91 = _$createElement("span"), _el$93 = _$createElement("span"), _el$95 = _$createElement("span");
1497
+ _$insertNode(_el$88, _el$89);
1498
+ _$setProp(_el$88, "flexDirection", "row");
1499
+ _$setProp(_el$88, "paddingLeft", 1);
1500
+ _$setProp(_el$88, "paddingRight", 1);
1501
+ _$insertNode(_el$89, _el$90);
1502
+ _$insertNode(_el$89, _el$91);
1503
+ _$insertNode(_el$89, _el$93);
1504
+ _$insertNode(_el$89, _el$95);
1505
+ _$setProp(_el$89, "wrapMode", "none");
1506
+ _$setProp(_el$89, "truncate", true);
1507
+ _$insert(_el$90, (() => {
1473
1508
  var _c$2 = _$memo(() => !!isActive());
1474
1509
  return () => _c$2() ? `\u25B6 ${statusIcon(goal.status)} ${goal.name}` : ` ${statusIcon(goal.status)} ${goal.name}`;
1475
1510
  })());
1476
- _$insertNode(_el$93, _$createTextNode(` \u2502 `));
1477
- _$insert(_el$95, () => goal.status.toUpperCase());
1478
- _$insert(_el$91, (() => {
1511
+ _$insertNode(_el$91, _$createTextNode(` \u2502 `));
1512
+ _$insertNode(_el$93, _$createTextNode(`Goal `));
1513
+ _$insert(_el$95, () => goalStatusLabel(goal.status).short.toUpperCase());
1514
+ _$insert(_el$89, (() => {
1479
1515
  var _c$3 = _$memo(() => !!runtime());
1480
1516
  return () => _c$3() && [(() => {
1481
1517
  var _el$96 = _$createElement("span");
1482
- _$insertNode(_el$96, _$createTextNode(` \u2502 `));
1518
+ _$insertNode(_el$96, _$createTextNode(` \u2502 Worker `));
1483
1519
  _$effect((_$p) => _$setProp(_el$96, "style", {
1484
1520
  fg: theme().textMuted
1485
1521
  }, _$p));
@@ -1491,7 +1527,7 @@ function LoopDashboard(props) {
1491
1527
  var _c$1 = _$memo(() => runtime().phase === "running");
1492
1528
  return () => _c$1() ? runningFrame() : phaseIcon(runtime().phase);
1493
1529
  })(), _el$99);
1494
- _$insert(_el$98, () => runtime().phase.toUpperCase(), null);
1530
+ _$insert(_el$98, () => phaseLabel(runtime().phase).short.toUpperCase(), null);
1495
1531
  _$effect((_$p) => _$setProp(_el$98, "style", {
1496
1532
  fg: turnColor(),
1497
1533
  bold: runtime().phase === "running"
@@ -1516,7 +1552,7 @@ function LoopDashboard(props) {
1516
1552
  return _el$102;
1517
1553
  })()];
1518
1554
  })(), null);
1519
- _$insert(_el$91, (() => {
1555
+ _$insert(_el$89, (() => {
1520
1556
  var _c$4 = _$memo(() => !!(runtime() && runtime().consecutiveFailures > 0));
1521
1557
  return () => _c$4() && (() => {
1522
1558
  var _el$104 = _$createElement("span"), _el$105 = _$createTextNode(` \u2502 \u26A0 `), _el$106 = _$createTextNode(` fail`);
@@ -1530,7 +1566,7 @@ function LoopDashboard(props) {
1530
1566
  return _el$104;
1531
1567
  })();
1532
1568
  })(), null);
1533
- _$insert(_el$91, (() => {
1569
+ _$insert(_el$89, (() => {
1534
1570
  var _c$5 = _$memo(() => !!(runtime() && (runtime().noProgressCount || 0) > 0));
1535
1571
  return () => _c$5() && (() => {
1536
1572
  var _el$107 = _$createElement("span"), _el$108 = _$createTextNode(` \u2502 `), _el$109 = _$createTextNode(` no-progress`);
@@ -1543,7 +1579,7 @@ function LoopDashboard(props) {
1543
1579
  return _el$107;
1544
1580
  })();
1545
1581
  })(), null);
1546
- _$insert(_el$91, (() => {
1582
+ _$insert(_el$89, (() => {
1547
1583
  var _c$6 = _$memo(() => !!(runtime() && runtime().evaluatorRejectionCount > 0));
1548
1584
  return () => _c$6() && (() => {
1549
1585
  var _el$110 = _$createElement("span"), _el$111 = _$createTextNode(` \u2502 \u26A0 `), _el$112 = _$createTextNode(` rejected`);
@@ -1557,7 +1593,7 @@ function LoopDashboard(props) {
1557
1593
  return _el$110;
1558
1594
  })();
1559
1595
  })(), null);
1560
- _$insert(_el$91, (() => {
1596
+ _$insert(_el$89, (() => {
1561
1597
  var _c$7 = _$memo(() => !!(runtime() && runtime().unknownStatusCount >= 3));
1562
1598
  return () => _c$7() && (() => {
1563
1599
  var _el$113 = _$createElement("span");
@@ -1569,7 +1605,7 @@ function LoopDashboard(props) {
1569
1605
  return _el$113;
1570
1606
  })();
1571
1607
  })(), null);
1572
- _$insert(_el$91, (() => {
1608
+ _$insert(_el$89, (() => {
1573
1609
  var _c$8 = _$memo(() => !!(runtime() && runtime().phase === "idle" && runtime().activeRunID));
1574
1610
  return () => _c$8() && (() => {
1575
1611
  var _el$115 = _$createElement("span");
@@ -1581,7 +1617,7 @@ function LoopDashboard(props) {
1581
1617
  return _el$115;
1582
1618
  })();
1583
1619
  })(), null);
1584
- _$insert(_el$91, (() => {
1620
+ _$insert(_el$89, (() => {
1585
1621
  var _c$9 = _$memo(() => !!(runtime() && runtime().retryAfter));
1586
1622
  return () => _c$9() && (() => {
1587
1623
  var _el$117 = _$createElement("span"), _el$118 = _$createTextNode(` \u2502 \u21BB `);
@@ -1593,7 +1629,7 @@ function LoopDashboard(props) {
1593
1629
  return _el$117;
1594
1630
  })();
1595
1631
  })(), null);
1596
- _$insert(_el$91, (() => {
1632
+ _$insert(_el$89, (() => {
1597
1633
  var _c$0 = _$memo(() => !!(runtime() && runtime().nextRunAt));
1598
1634
  return () => _c$0() && (() => {
1599
1635
  var _el$119 = _$createElement("span"), _el$120 = _$createTextNode(` \u2502 \u23F0 `);
@@ -1606,37 +1642,41 @@ function LoopDashboard(props) {
1606
1642
  })();
1607
1643
  })(), null);
1608
1644
  _$effect((_p$) => {
1609
- var _v$32 = rowIdFor(goal.id), _v$33 = isActive() ? theme().backgroundElement : undefined, _v$34 = {
1645
+ var _v$31 = rowIdFor(goal.id), _v$32 = isActive() ? theme().backgroundElement : undefined, _v$33 = {
1610
1646
  fg: statusColor(goal.status, theme()),
1611
1647
  bold: isActive()
1648
+ }, _v$34 = {
1649
+ fg: theme().textMuted
1612
1650
  }, _v$35 = {
1613
1651
  fg: theme().textMuted
1614
1652
  }, _v$36 = {
1615
1653
  fg: statusColor(goal.status, theme()),
1616
1654
  bold: true
1617
1655
  };
1618
- _v$32 !== _p$.e && (_p$.e = _$setProp(_el$90, "id", _v$32, _p$.e));
1619
- _v$33 !== _p$.t && (_p$.t = _$setProp(_el$90, "backgroundColor", _v$33, _p$.t));
1620
- _v$34 !== _p$.a && (_p$.a = _$setProp(_el$92, "style", _v$34, _p$.a));
1621
- _v$35 !== _p$.o && (_p$.o = _$setProp(_el$93, "style", _v$35, _p$.o));
1622
- _v$36 !== _p$.i && (_p$.i = _$setProp(_el$95, "style", _v$36, _p$.i));
1656
+ _v$31 !== _p$.e && (_p$.e = _$setProp(_el$88, "id", _v$31, _p$.e));
1657
+ _v$32 !== _p$.t && (_p$.t = _$setProp(_el$88, "backgroundColor", _v$32, _p$.t));
1658
+ _v$33 !== _p$.a && (_p$.a = _$setProp(_el$90, "style", _v$33, _p$.a));
1659
+ _v$34 !== _p$.o && (_p$.o = _$setProp(_el$91, "style", _v$34, _p$.o));
1660
+ _v$35 !== _p$.i && (_p$.i = _$setProp(_el$93, "style", _v$35, _p$.i));
1661
+ _v$36 !== _p$.n && (_p$.n = _$setProp(_el$95, "style", _v$36, _p$.n));
1623
1662
  return _p$;
1624
1663
  }, {
1625
1664
  e: undefined,
1626
1665
  t: undefined,
1627
1666
  a: undefined,
1628
1667
  o: undefined,
1629
- i: undefined
1668
+ i: undefined,
1669
+ n: undefined
1630
1670
  });
1631
- return _el$90;
1671
+ return _el$88;
1632
1672
  })();
1633
1673
  }
1634
1674
  }));
1635
- _$effect((_$p) => _$setProp(_el$36, "height", listHeight(), _$p));
1636
- return _el$36;
1675
+ _$effect((_$p) => _$setProp(_el$34, "height", listHeight(), _$p));
1676
+ return _el$34;
1637
1677
  }
1638
1678
  }), null);
1639
- _$insert(_el$31, _$createComponent(Show, {
1679
+ _$insert(_el$29, _$createComponent(Show, {
1640
1680
  get when() {
1641
1681
  return selectedGoal();
1642
1682
  },
@@ -1645,8 +1685,9 @@ function LoopDashboard(props) {
1645
1685
  const lp = () => goal().lastProgress;
1646
1686
  const blk = () => goal().blocker;
1647
1687
  return (() => {
1648
- var _el$121 = _$createElement("box"), _el$122 = _$createElement("text"), _el$123 = _$createElement("span"), _el$124 = _$createTextNode(` `), _el$125 = _$createElement("span"), _el$126 = _$createTextNode(` `), _el$127 = _$createTextNode(`
1649
- `), _el$128 = _$createElement("span"), _el$130 = _$createElement("span");
1688
+ var _el$121 = _$createElement("box"), _el$122 = _$createElement("text"), _el$123 = _$createElement("span"), _el$124 = _$createTextNode(` `), _el$125 = _$createElement("span"), _el$127 = _$createElement("span"), _el$128 = _$createTextNode(` \u2014 `), _el$129 = _$createTextNode(`
1689
+ `), _el$130 = _$createElement("span"), _el$131 = _$createTextNode(`
1690
+ `), _el$132 = _$createElement("span"), _el$134 = _$createElement("span");
1650
1691
  _$insertNode(_el$121, _el$122);
1651
1692
  _$setProp(_el$121, "flexDirection", "column");
1652
1693
  _$setProp(_el$121, "border", true);
@@ -1656,65 +1697,73 @@ function LoopDashboard(props) {
1656
1697
  _$insertNode(_el$122, _el$123);
1657
1698
  _$insertNode(_el$122, _el$125);
1658
1699
  _$insertNode(_el$122, _el$127);
1659
- _$insertNode(_el$122, _el$128);
1700
+ _$insertNode(_el$122, _el$129);
1660
1701
  _$insertNode(_el$122, _el$130);
1702
+ _$insertNode(_el$122, _el$131);
1703
+ _$insertNode(_el$122, _el$132);
1704
+ _$insertNode(_el$122, _el$134);
1661
1705
  _$insertNode(_el$123, _el$124);
1662
1706
  _$insert(_el$123, () => statusIcon(goal().status), _el$124);
1663
1707
  _$insert(_el$123, () => goal().name, null);
1664
- _$insertNode(_el$125, _el$126);
1665
- _$insert(_el$125, () => goal().status.toUpperCase(), null);
1708
+ _$insertNode(_el$125, _$createTextNode(` Goal `));
1709
+ _$insertNode(_el$127, _el$128);
1710
+ _$insert(_el$127, () => goalStatusLabel(goal().status).short, _el$128);
1711
+ _$insert(_el$127, () => goalStatusLabel(goal().status).hint, null);
1666
1712
  _$insert(_el$122, (() => {
1667
1713
  var _c$10 = _$memo(() => !!rt());
1668
1714
  return () => _c$10() && [(() => {
1669
- var _el$131 = _$createElement("span");
1670
- _$insertNode(_el$131, _$createTextNode(` \u2502 `));
1671
- _$effect((_$p) => _$setProp(_el$131, "style", {
1715
+ var _el$135 = _$createElement("span");
1716
+ _$insertNode(_el$135, _$createTextNode(` \u2502 Worker `));
1717
+ _$effect((_$p) => _$setProp(_el$135, "style", {
1672
1718
  fg: theme().textMuted
1673
1719
  }, _$p));
1674
- return _el$131;
1720
+ return _el$135;
1675
1721
  })(), (() => {
1676
- var _el$133 = _$createElement("span"), _el$134 = _$createTextNode(` `);
1677
- _$insertNode(_el$133, _el$134);
1678
- _$insert(_el$133, () => phaseIcon(rt().phase), _el$134);
1679
- _$insert(_el$133, () => rt().phase, null);
1680
- _$effect((_$p) => _$setProp(_el$133, "style", {
1722
+ var _el$137 = _$createElement("span"), _el$138 = _$createTextNode(` `), _el$139 = _$createTextNode(` \u2014 `);
1723
+ _$insertNode(_el$137, _el$138);
1724
+ _$insertNode(_el$137, _el$139);
1725
+ _$insert(_el$137, () => phaseIcon(rt().phase), _el$138);
1726
+ _$insert(_el$137, () => phaseLabel(rt().phase).short, _el$139);
1727
+ _$insert(_el$137, () => phaseLabel(rt().phase).hint, null);
1728
+ _$effect((_$p) => _$setProp(_el$137, "style", {
1681
1729
  fg: phaseColor(rt().phase, theme()),
1682
1730
  bold: true
1683
1731
  }, _$p));
1684
- return _el$133;
1732
+ return _el$137;
1685
1733
  })(), (() => {
1686
- var _el$135 = _$createElement("span"), _el$136 = _$createTextNode(` run `), _el$137 = _$createTextNode(` (budget `), _el$138 = _$createTextNode(`)`);
1687
- _$insertNode(_el$135, _el$136);
1688
- _$insertNode(_el$135, _el$137);
1689
- _$insertNode(_el$135, _el$138);
1690
- _$insert(_el$135, () => rt().runCount, _el$137);
1691
- _$insert(_el$135, () => rt().budgetTurnCount, _el$138);
1692
- _$effect((_$p) => _$setProp(_el$135, "style", {
1734
+ var _el$140 = _$createElement("span"), _el$141 = _$createTextNode(` run `), _el$142 = _$createTextNode(` (budget `), _el$143 = _$createTextNode(`)`);
1735
+ _$insertNode(_el$140, _el$141);
1736
+ _$insertNode(_el$140, _el$142);
1737
+ _$insertNode(_el$140, _el$143);
1738
+ _$insert(_el$140, () => rt().runCount, _el$142);
1739
+ _$insert(_el$140, () => rt().budgetTurnCount, _el$143);
1740
+ _$effect((_$p) => _$setProp(_el$140, "style", {
1693
1741
  fg: theme().textMuted
1694
1742
  }, _$p));
1695
- return _el$135;
1743
+ return _el$140;
1696
1744
  })()];
1697
- })(), _el$127);
1745
+ })(), _el$129);
1746
+ _$insert(_el$130, () => describeGoalState(goal().status, rt()?.phase));
1698
1747
  _$insert(_el$122, (() => {
1699
1748
  var _c$11 = _$memo(() => !!rt()?.workerAbortedAt);
1700
1749
  return () => _c$11() && [(() => {
1701
- var _el$139 = _$createElement("span");
1702
- _$insertNode(_el$139, _$createTextNode(` \u2502 \u26A0 worker aborted `));
1703
- _$effect((_$p) => _$setProp(_el$139, "style", {
1750
+ var _el$144 = _$createElement("span");
1751
+ _$insertNode(_el$144, _$createTextNode(` \u2502 \u26A0 worker aborted `));
1752
+ _$effect((_$p) => _$setProp(_el$144, "style", {
1704
1753
  fg: theme().warning,
1705
1754
  bold: true
1706
1755
  }, _$p));
1707
- return _el$139;
1756
+ return _el$144;
1708
1757
  })(), (() => {
1709
- var _el$141 = _$createElement("span"), _el$142 = _$createTextNode(` \u2014 session kept, next turn reuses it`);
1710
- _$insertNode(_el$141, _el$142);
1711
- _$insert(_el$141, () => ageLabel(rt().workerAbortedAt, clock()), _el$142);
1712
- _$effect((_$p) => _$setProp(_el$141, "style", {
1758
+ var _el$146 = _$createElement("span"), _el$147 = _$createTextNode(` \u2014 session kept, next turn reuses it`);
1759
+ _$insertNode(_el$146, _el$147);
1760
+ _$insert(_el$146, () => ageLabel(rt().workerAbortedAt, clock()), _el$147);
1761
+ _$effect((_$p) => _$setProp(_el$146, "style", {
1713
1762
  fg: theme().textMuted
1714
1763
  }, _$p));
1715
- return _el$141;
1764
+ return _el$146;
1716
1765
  })()];
1717
- })(), _el$127);
1766
+ })(), _el$131);
1718
1767
  _$insert(_el$122, () => {
1719
1768
  const agentName = goal().config.agent;
1720
1769
  const meta = agentName ? agentIndex()[agentName] ?? agentIndex()[agentName.toLowerCase()] : undefined;
@@ -1722,413 +1771,413 @@ function LoopDashboard(props) {
1722
1771
  const slash = model?.indexOf("/") ?? -1;
1723
1772
  return [`
1724
1773
  `, (() => {
1725
- var _el$143 = _$createElement("span");
1726
- _$insertNode(_el$143, _$createTextNode(`\uD83E\uDD16 `));
1727
- _$effect((_$p) => _$setProp(_el$143, "style", {
1774
+ var _el$148 = _$createElement("span");
1775
+ _$insertNode(_el$148, _$createTextNode(`\uD83E\uDD16 `));
1776
+ _$effect((_$p) => _$setProp(_el$148, "style", {
1728
1777
  fg: theme().textMuted
1729
1778
  }, _$p));
1730
- return _el$143;
1779
+ return _el$148;
1731
1780
  })(), (() => {
1732
- var _el$145 = _$createElement("span");
1733
- _$insertNode(_el$145, _$createTextNode(`Agent: `));
1734
- _$effect((_$p) => _$setProp(_el$145, "style", {
1781
+ var _el$150 = _$createElement("span");
1782
+ _$insertNode(_el$150, _$createTextNode(`Agent: `));
1783
+ _$effect((_$p) => _$setProp(_el$150, "style", {
1735
1784
  fg: theme().primary,
1736
1785
  bold: true
1737
1786
  }, _$p));
1738
- return _el$145;
1787
+ return _el$150;
1739
1788
  })(), _$memo(() => agentName ? [(() => {
1740
- var _el$161 = _$createElement("span");
1741
- _$insert(_el$161, agentName);
1742
- _$effect((_$p) => _$setProp(_el$161, "style", {
1789
+ var _el$166 = _$createElement("span");
1790
+ _$insert(_el$166, agentName);
1791
+ _$effect((_$p) => _$setProp(_el$166, "style", {
1743
1792
  fg: agentColor(meta?.color, theme()),
1744
1793
  bold: true
1745
1794
  }, _$p));
1746
- return _el$161;
1795
+ return _el$166;
1747
1796
  })(), _$memo(() => _$memo(() => !!meta?.mode)() && (() => {
1748
- var _el$162 = _$createElement("span"), _el$163 = _$createTextNode(` (`), _el$164 = _$createTextNode(`)`);
1749
- _$insertNode(_el$162, _el$163);
1750
- _$insertNode(_el$162, _el$164);
1751
- _$insert(_el$162, () => meta.mode, _el$164);
1752
- _$effect((_$p) => _$setProp(_el$162, "style", {
1797
+ var _el$167 = _$createElement("span"), _el$168 = _$createTextNode(` (`), _el$169 = _$createTextNode(`)`);
1798
+ _$insertNode(_el$167, _el$168);
1799
+ _$insertNode(_el$167, _el$169);
1800
+ _$insert(_el$167, () => meta.mode, _el$169);
1801
+ _$effect((_$p) => _$setProp(_el$167, "style", {
1753
1802
  fg: theme().textMuted
1754
1803
  }, _$p));
1755
- return _el$162;
1804
+ return _el$167;
1756
1805
  })())] : goal().parentAgent ? [(() => {
1757
- var _el$165 = _$createElement("span");
1758
- _$insertNode(_el$165, _$createTextNode(`\u21A9 `));
1759
- _$effect((_$p) => _$setProp(_el$165, "style", {
1806
+ var _el$170 = _$createElement("span");
1807
+ _$insertNode(_el$170, _$createTextNode(`\u21A9 `));
1808
+ _$effect((_$p) => _$setProp(_el$170, "style", {
1760
1809
  fg: theme().textMuted
1761
1810
  }, _$p));
1762
- return _el$165;
1811
+ return _el$170;
1763
1812
  })(), (() => {
1764
- var _el$167 = _$createElement("span");
1765
- _$insert(_el$167, () => goal().parentAgent);
1766
- _$effect((_$p) => _$setProp(_el$167, "style", {
1813
+ var _el$172 = _$createElement("span");
1814
+ _$insert(_el$172, () => goal().parentAgent);
1815
+ _$effect((_$p) => _$setProp(_el$172, "style", {
1767
1816
  fg: theme().text,
1768
1817
  bold: true
1769
1818
  }, _$p));
1770
- return _el$167;
1819
+ return _el$172;
1771
1820
  })(), (() => {
1772
- var _el$168 = _$createElement("span");
1773
- _$insertNode(_el$168, _$createTextNode(` (parent)`));
1774
- _$effect((_$p) => _$setProp(_el$168, "style", {
1821
+ var _el$173 = _$createElement("span");
1822
+ _$insertNode(_el$173, _$createTextNode(` (parent)`));
1823
+ _$effect((_$p) => _$setProp(_el$173, "style", {
1775
1824
  fg: theme().textMuted
1776
1825
  }, _$p));
1777
- return _el$168;
1826
+ return _el$173;
1778
1827
  })()] : (() => {
1779
- var _el$170 = _$createElement("span");
1780
- _$insertNode(_el$170, _$createTextNode(`parent`));
1781
- _$effect((_$p) => _$setProp(_el$170, "style", {
1828
+ var _el$175 = _$createElement("span");
1829
+ _$insertNode(_el$175, _$createTextNode(`parent`));
1830
+ _$effect((_$p) => _$setProp(_el$175, "style", {
1782
1831
  fg: theme().textMuted
1783
1832
  }, _$p));
1784
- return _el$170;
1833
+ return _el$175;
1785
1834
  })()), (() => {
1786
- var _el$147 = _$createElement("span");
1787
- _$insertNode(_el$147, _$createTextNode(` \u2502 \uD83E\uDDE0 `));
1788
- _$effect((_$p) => _$setProp(_el$147, "style", {
1835
+ var _el$152 = _$createElement("span");
1836
+ _$insertNode(_el$152, _$createTextNode(` \u2502 \uD83E\uDDE0 `));
1837
+ _$effect((_$p) => _$setProp(_el$152, "style", {
1789
1838
  fg: theme().textMuted
1790
1839
  }, _$p));
1791
- return _el$147;
1840
+ return _el$152;
1792
1841
  })(), (() => {
1793
- var _el$149 = _$createElement("span");
1794
- _$insertNode(_el$149, _$createTextNode(`Model: `));
1795
- _$effect((_$p) => _$setProp(_el$149, "style", {
1842
+ var _el$154 = _$createElement("span");
1843
+ _$insertNode(_el$154, _$createTextNode(`Model: `));
1844
+ _$effect((_$p) => _$setProp(_el$154, "style", {
1796
1845
  fg: theme().primary,
1797
1846
  bold: true
1798
1847
  }, _$p));
1799
- return _el$149;
1848
+ return _el$154;
1800
1849
  })(), _$memo(() => model && slash > 0 ? [(() => {
1801
- var _el$172 = _$createElement("span"), _el$173 = _$createTextNode(`/`);
1802
- _$insertNode(_el$172, _el$173);
1803
- _$insert(_el$172, () => model.slice(0, slash), _el$173);
1804
- _$effect((_$p) => _$setProp(_el$172, "style", {
1850
+ var _el$177 = _$createElement("span"), _el$178 = _$createTextNode(`/`);
1851
+ _$insertNode(_el$177, _el$178);
1852
+ _$insert(_el$177, () => model.slice(0, slash), _el$178);
1853
+ _$effect((_$p) => _$setProp(_el$177, "style", {
1805
1854
  fg: theme().textMuted
1806
1855
  }, _$p));
1807
- return _el$172;
1856
+ return _el$177;
1808
1857
  })(), (() => {
1809
- var _el$174 = _$createElement("span");
1810
- _$insert(_el$174, () => model.slice(slash + 1));
1811
- _$effect((_$p) => _$setProp(_el$174, "style", {
1858
+ var _el$179 = _$createElement("span");
1859
+ _$insert(_el$179, () => model.slice(slash + 1));
1860
+ _$effect((_$p) => _$setProp(_el$179, "style", {
1812
1861
  fg: theme().info,
1813
1862
  bold: true
1814
1863
  }, _$p));
1815
- return _el$174;
1864
+ return _el$179;
1816
1865
  })()] : goal().parentModel ? [(() => {
1817
- var _el$175 = _$createElement("span");
1818
- _$insertNode(_el$175, _$createTextNode(`\u21A9 `));
1819
- _$effect((_$p) => _$setProp(_el$175, "style", {
1866
+ var _el$180 = _$createElement("span");
1867
+ _$insertNode(_el$180, _$createTextNode(`\u21A9 `));
1868
+ _$effect((_$p) => _$setProp(_el$180, "style", {
1820
1869
  fg: theme().textMuted
1821
1870
  }, _$p));
1822
- return _el$175;
1871
+ return _el$180;
1823
1872
  })(), (() => {
1824
- var _el$177 = _$createElement("span");
1825
- _$insert(_el$177, () => goal().parentModel);
1826
- _$effect((_$p) => _$setProp(_el$177, "style", {
1873
+ var _el$182 = _$createElement("span");
1874
+ _$insert(_el$182, () => goal().parentModel);
1875
+ _$effect((_$p) => _$setProp(_el$182, "style", {
1827
1876
  fg: theme().info,
1828
1877
  bold: true
1829
1878
  }, _$p));
1830
- return _el$177;
1879
+ return _el$182;
1831
1880
  })(), (() => {
1832
- var _el$178 = _$createElement("span");
1833
- _$insertNode(_el$178, _$createTextNode(` (parent)`));
1834
- _$effect((_$p) => _$setProp(_el$178, "style", {
1881
+ var _el$183 = _$createElement("span");
1882
+ _$insertNode(_el$183, _$createTextNode(` (parent)`));
1883
+ _$effect((_$p) => _$setProp(_el$183, "style", {
1835
1884
  fg: theme().textMuted
1836
1885
  }, _$p));
1837
- return _el$178;
1886
+ return _el$183;
1838
1887
  })()] : (() => {
1839
- var _el$180 = _$createElement("span");
1840
- _$insertNode(_el$180, _$createTextNode(`parent`));
1841
- _$effect((_$p) => _$setProp(_el$180, "style", {
1888
+ var _el$185 = _$createElement("span");
1889
+ _$insertNode(_el$185, _$createTextNode(`parent`));
1890
+ _$effect((_$p) => _$setProp(_el$185, "style", {
1842
1891
  fg: theme().textMuted
1843
1892
  }, _$p));
1844
- return _el$180;
1893
+ return _el$185;
1845
1894
  })()), (() => {
1846
- var _el$151 = _$createElement("span");
1847
- _$insertNode(_el$151, _$createTextNode(` \u2502 \uD83D\uDCB0 `));
1848
- _$effect((_$p) => _$setProp(_el$151, "style", {
1895
+ var _el$156 = _$createElement("span");
1896
+ _$insertNode(_el$156, _$createTextNode(` \u2502 \uD83D\uDCB0 `));
1897
+ _$effect((_$p) => _$setProp(_el$156, "style", {
1849
1898
  fg: theme().textMuted
1850
1899
  }, _$p));
1851
- return _el$151;
1900
+ return _el$156;
1852
1901
  })(), (() => {
1853
- var _el$153 = _$createElement("span");
1854
- _$insertNode(_el$153, _$createTextNode(`Spent: `));
1855
- _$effect((_$p) => _$setProp(_el$153, "style", {
1902
+ var _el$158 = _$createElement("span");
1903
+ _$insertNode(_el$158, _$createTextNode(`Spent: `));
1904
+ _$effect((_$p) => _$setProp(_el$158, "style", {
1856
1905
  fg: theme().primary,
1857
1906
  bold: true
1858
1907
  }, _$p));
1859
- return _el$153;
1908
+ return _el$158;
1860
1909
  })(), (() => {
1861
- var _el$155 = _$createElement("span");
1862
- _$insert(_el$155, () => formatCost(goal().costUsed));
1863
- _$effect((_$p) => _$setProp(_el$155, "style", {
1910
+ var _el$160 = _$createElement("span");
1911
+ _$insert(_el$160, () => formatCost(goal().costUsed));
1912
+ _$effect((_$p) => _$setProp(_el$160, "style", {
1864
1913
  fg: theme().success,
1865
1914
  bold: true
1866
1915
  }, _$p));
1867
- return _el$155;
1916
+ return _el$160;
1868
1917
  })(), (() => {
1869
- var _el$156 = _$createElement("span");
1870
- _$insertNode(_el$156, _$createTextNode(` \xB7 `));
1871
- _$effect((_$p) => _$setProp(_el$156, "style", {
1918
+ var _el$161 = _$createElement("span");
1919
+ _$insertNode(_el$161, _$createTextNode(` \xB7 `));
1920
+ _$effect((_$p) => _$setProp(_el$161, "style", {
1872
1921
  fg: theme().textMuted
1873
1922
  }, _$p));
1874
- return _el$156;
1923
+ return _el$161;
1875
1924
  })(), (() => {
1876
- var _el$158 = _$createElement("span");
1877
- _$insert(_el$158, () => formatTokens(goal().tokensUsed));
1878
- _$effect((_$p) => _$setProp(_el$158, "style", {
1925
+ var _el$163 = _$createElement("span");
1926
+ _$insert(_el$163, () => formatTokens(goal().tokensUsed));
1927
+ _$effect((_$p) => _$setProp(_el$163, "style", {
1879
1928
  fg: theme().warning,
1880
1929
  bold: true
1881
1930
  }, _$p));
1882
- return _el$158;
1931
+ return _el$163;
1883
1932
  })(), (() => {
1884
- var _el$159 = _$createElement("span"), _el$160 = _$createTextNode(` tokens \xB7 `);
1885
- _$insertNode(_el$159, _el$160);
1886
- _$insert(_el$159, () => formatDuration(goal().timeUsedSeconds), null);
1887
- _$effect((_$p) => _$setProp(_el$159, "style", {
1933
+ var _el$164 = _$createElement("span"), _el$165 = _$createTextNode(` tokens \xB7 `);
1934
+ _$insertNode(_el$164, _el$165);
1935
+ _$insert(_el$164, () => formatDuration(goal().timeUsedSeconds), null);
1936
+ _$effect((_$p) => _$setProp(_el$164, "style", {
1888
1937
  fg: theme().textMuted
1889
1938
  }, _$p));
1890
- return _el$159;
1939
+ return _el$164;
1891
1940
  })()];
1892
- }, _el$127);
1893
- _$insertNode(_el$128, _$createTextNode(`\uD83C\uDFAF Target: `));
1894
- _$insert(_el$130, () => goal().objective.slice(0, 160));
1941
+ }, _el$131);
1942
+ _$insertNode(_el$132, _$createTextNode(`\uD83C\uDFAF Target: `));
1943
+ _$insert(_el$134, () => goal().objective.slice(0, 160));
1895
1944
  _$insert(_el$122, (() => {
1896
1945
  var _c$12 = _$memo(() => !!lp());
1897
1946
  return () => _c$12() && [(() => {
1898
- var _el$182 = _$createElement("span"), _el$183 = _$createTextNode(`
1947
+ var _el$187 = _$createElement("span"), _el$188 = _$createTextNode(`
1899
1948
  \u2714 `);
1900
- _$insertNode(_el$182, _el$183);
1901
- _$effect((_$p) => _$setProp(_el$182, "style", {
1949
+ _$insertNode(_el$187, _el$188);
1950
+ _$effect((_$p) => _$setProp(_el$187, "style", {
1902
1951
  fg: theme().success
1903
1952
  }, _$p));
1904
- return _el$182;
1953
+ return _el$187;
1905
1954
  })(), (() => {
1906
- var _el$185 = _$createElement("span");
1907
- _$insertNode(_el$185, _$createTextNode(`Progress: `));
1908
- _$effect((_$p) => _$setProp(_el$185, "style", {
1955
+ var _el$190 = _$createElement("span");
1956
+ _$insertNode(_el$190, _$createTextNode(`Progress: `));
1957
+ _$effect((_$p) => _$setProp(_el$190, "style", {
1909
1958
  fg: theme().success,
1910
1959
  bold: true
1911
1960
  }, _$p));
1912
- return _el$185;
1961
+ return _el$190;
1913
1962
  })(), (() => {
1914
- var _el$187 = _$createElement("span");
1915
- _$insert(_el$187, () => lp().summary.slice(0, 100));
1916
- _$effect((_$p) => _$setProp(_el$187, "style", {
1963
+ var _el$192 = _$createElement("span");
1964
+ _$insert(_el$192, () => lp().summary.slice(0, 100));
1965
+ _$effect((_$p) => _$setProp(_el$192, "style", {
1917
1966
  fg: theme().text
1918
1967
  }, _$p));
1919
- return _el$187;
1968
+ return _el$192;
1920
1969
  })(), (() => {
1921
- var _el$188 = _$createElement("span"), _el$189 = _$createTextNode(` \u2192 `);
1922
- _$insertNode(_el$188, _el$189);
1923
- _$insert(_el$188, () => lp().next?.slice(0, 60) || "", null);
1924
- _$effect((_$p) => _$setProp(_el$188, "style", {
1970
+ var _el$193 = _$createElement("span"), _el$194 = _$createTextNode(` \u2192 `);
1971
+ _$insertNode(_el$193, _el$194);
1972
+ _$insert(_el$193, () => lp().next?.slice(0, 60) || "", null);
1973
+ _$effect((_$p) => _$setProp(_el$193, "style", {
1925
1974
  fg: theme().textMuted
1926
1975
  }, _$p));
1927
- return _el$188;
1976
+ return _el$193;
1928
1977
  })()];
1929
1978
  })(), null);
1930
1979
  _$insert(_el$122, (() => {
1931
1980
  var _c$13 = _$memo(() => !!blk());
1932
1981
  return () => _c$13() && [(() => {
1933
- var _el$190 = _$createElement("span"), _el$191 = _$createTextNode(`
1982
+ var _el$195 = _$createElement("span"), _el$196 = _$createTextNode(`
1934
1983
  \u2716 Blocked: `);
1935
- _$insertNode(_el$190, _el$191);
1936
- _$effect((_$p) => _$setProp(_el$190, "style", {
1984
+ _$insertNode(_el$195, _el$196);
1985
+ _$effect((_$p) => _$setProp(_el$195, "style", {
1937
1986
  fg: theme().error,
1938
1987
  bold: true
1939
1988
  }, _$p));
1940
- return _el$190;
1989
+ return _el$195;
1941
1990
  })(), (() => {
1942
- var _el$193 = _$createElement("span");
1943
- _$insert(_el$193, () => blk().reason.slice(0, 140));
1944
- _$effect((_$p) => _$setProp(_el$193, "style", {
1991
+ var _el$198 = _$createElement("span");
1992
+ _$insert(_el$198, () => blk().reason.slice(0, 140));
1993
+ _$effect((_$p) => _$setProp(_el$198, "style", {
1945
1994
  fg: theme().error
1946
1995
  }, _$p));
1947
- return _el$193;
1996
+ return _el$198;
1948
1997
  })(), (() => {
1949
- var _el$194 = _$createElement("span"), _el$195 = _$createTextNode(` \u2014 `);
1950
- _$insertNode(_el$194, _el$195);
1951
- _$insert(_el$194, () => blk().needed.slice(0, 60), null);
1952
- _$effect((_$p) => _$setProp(_el$194, "style", {
1998
+ var _el$199 = _$createElement("span"), _el$200 = _$createTextNode(` \u2014 `);
1999
+ _$insertNode(_el$199, _el$200);
2000
+ _$insert(_el$199, () => blk().needed.slice(0, 60), null);
2001
+ _$effect((_$p) => _$setProp(_el$199, "style", {
1953
2002
  fg: theme().textMuted
1954
2003
  }, _$p));
1955
- return _el$194;
2004
+ return _el$199;
1956
2005
  })()];
1957
2006
  })(), null);
1958
2007
  _$insert(_el$122, (() => {
1959
2008
  var _c$14 = _$memo(() => !!goal().config.artifactDir);
1960
2009
  return () => _c$14() && [(() => {
1961
- var _el$196 = _$createElement("span"), _el$197 = _$createTextNode(`
2010
+ var _el$201 = _$createElement("span"), _el$202 = _$createTextNode(`
1962
2011
  \uD83D\uDCC1 `);
1963
- _$insertNode(_el$196, _el$197);
1964
- _$effect((_$p) => _$setProp(_el$196, "style", {
2012
+ _$insertNode(_el$201, _el$202);
2013
+ _$effect((_$p) => _$setProp(_el$201, "style", {
1965
2014
  fg: theme().accent
1966
2015
  }, _$p));
1967
- return _el$196;
2016
+ return _el$201;
1968
2017
  })(), (() => {
1969
- var _el$199 = _$createElement("span");
1970
- _$insertNode(_el$199, _$createTextNode(`Artifacts: `));
1971
- _$effect((_$p) => _$setProp(_el$199, "style", {
2018
+ var _el$204 = _$createElement("span");
2019
+ _$insertNode(_el$204, _$createTextNode(`Artifacts: `));
2020
+ _$effect((_$p) => _$setProp(_el$204, "style", {
1972
2021
  fg: theme().accent,
1973
2022
  bold: true
1974
2023
  }, _$p));
1975
- return _el$199;
2024
+ return _el$204;
1976
2025
  })(), (() => {
1977
- var _el$201 = _$createElement("span");
1978
- _$insert(_el$201, () => String(goal().config.artifactDir).replace(String(props.directory), "."));
1979
- _$effect((_$p) => _$setProp(_el$201, "style", {
2026
+ var _el$206 = _$createElement("span");
2027
+ _$insert(_el$206, () => String(goal().config.artifactDir).replace(String(props.directory), "."));
2028
+ _$effect((_$p) => _$setProp(_el$206, "style", {
1980
2029
  fg: theme().textMuted
1981
2030
  }, _$p));
1982
- return _el$201;
2031
+ return _el$206;
1983
2032
  })()];
1984
2033
  })(), null);
1985
2034
  _$insert(_el$122, (() => {
1986
2035
  var _c$15 = _$memo(() => (goal().config.checks?.length ?? 0) > 0);
1987
2036
  return () => _c$15() ? [(() => {
1988
- var _el$202 = _$createElement("span"), _el$203 = _$createTextNode(`
2037
+ var _el$207 = _$createElement("span"), _el$208 = _$createTextNode(`
1989
2038
  \u25A3 `);
1990
- _$insertNode(_el$202, _el$203);
1991
- _$effect((_$p) => _$setProp(_el$202, "style", {
2039
+ _$insertNode(_el$207, _el$208);
2040
+ _$effect((_$p) => _$setProp(_el$207, "style", {
1992
2041
  fg: theme().warning
1993
2042
  }, _$p));
1994
- return _el$202;
2043
+ return _el$207;
1995
2044
  })(), (() => {
1996
- var _el$205 = _$createElement("span");
1997
- _$insertNode(_el$205, _$createTextNode(`Checks: `));
1998
- _$effect((_$p) => _$setProp(_el$205, "style", {
2045
+ var _el$210 = _$createElement("span");
2046
+ _$insertNode(_el$210, _$createTextNode(`Checks: `));
2047
+ _$effect((_$p) => _$setProp(_el$210, "style", {
1999
2048
  fg: theme().warning,
2000
2049
  bold: true
2001
2050
  }, _$p));
2002
- return _el$205;
2051
+ return _el$210;
2003
2052
  })(), (() => {
2004
- var _el$207 = _$createElement("span");
2005
- _$insert(_el$207, () => goal().config.checks.join(", ").slice(0, 100));
2006
- _$effect((_$p) => _$setProp(_el$207, "style", {
2053
+ var _el$212 = _$createElement("span");
2054
+ _$insert(_el$212, () => goal().config.checks.join(", ").slice(0, 100));
2055
+ _$effect((_$p) => _$setProp(_el$212, "style", {
2007
2056
  fg: theme().textMuted
2008
2057
  }, _$p));
2009
- return _el$207;
2058
+ return _el$212;
2010
2059
  })()] : null;
2011
2060
  })(), null);
2012
2061
  _$insert(_el$122, (() => {
2013
2062
  var _c$16 = _$memo(() => rt()?.evaluatorRejectionCount > 0);
2014
2063
  return () => _c$16() && [(() => {
2015
- var _el$208 = _$createElement("span"), _el$209 = _$createTextNode(`
2064
+ var _el$213 = _$createElement("span"), _el$214 = _$createTextNode(`
2016
2065
  \u26A0 rejections: `);
2017
- _$insertNode(_el$208, _el$209);
2018
- _$effect((_$p) => _$setProp(_el$208, "style", {
2066
+ _$insertNode(_el$213, _el$214);
2067
+ _$effect((_$p) => _$setProp(_el$213, "style", {
2019
2068
  fg: theme().warning
2020
2069
  }, _$p));
2021
- return _el$208;
2070
+ return _el$213;
2022
2071
  })(), (() => {
2023
- var _el$211 = _$createElement("span"), _el$212 = _$createTextNode(` \u2014 `);
2024
- _$insertNode(_el$211, _el$212);
2025
- _$insert(_el$211, () => String(rt().evaluatorRejectionCount), _el$212);
2026
- _$insert(_el$211, () => String(rt().lastRejectionDetails || "").slice(0, 80), null);
2027
- _$effect((_$p) => _$setProp(_el$211, "style", {
2072
+ var _el$216 = _$createElement("span"), _el$217 = _$createTextNode(` \u2014 `);
2073
+ _$insertNode(_el$216, _el$217);
2074
+ _$insert(_el$216, () => String(rt().evaluatorRejectionCount), _el$217);
2075
+ _$insert(_el$216, () => String(rt().lastRejectionDetails || "").slice(0, 80), null);
2076
+ _$effect((_$p) => _$setProp(_el$216, "style", {
2028
2077
  fg: theme().warning
2029
2078
  }, _$p));
2030
- return _el$211;
2079
+ return _el$216;
2031
2080
  })()];
2032
2081
  })(), null);
2033
2082
  _$insert(_el$122, (() => {
2034
2083
  var _c$17 = _$memo(() => rt()?.unknownStatusCount > 0);
2035
2084
  return () => _c$17() && [(() => {
2036
- var _el$213 = _$createElement("span"), _el$214 = _$createTextNode(`
2085
+ var _el$218 = _$createElement("span"), _el$219 = _$createTextNode(`
2037
2086
  \u26A0\uFE0F unreachable: `);
2038
- _$insertNode(_el$213, _el$214);
2039
- _$effect((_$p) => _$setProp(_el$213, "style", {
2087
+ _$insertNode(_el$218, _el$219);
2088
+ _$effect((_$p) => _$setProp(_el$218, "style", {
2040
2089
  fg: theme().error
2041
2090
  }, _$p));
2042
- return _el$213;
2091
+ return _el$218;
2043
2092
  })(), (() => {
2044
- var _el$216 = _$createElement("span"), _el$217 = _$createTextNode(`/3`);
2045
- _$insertNode(_el$216, _el$217);
2046
- _$insert(_el$216, () => String(rt().unknownStatusCount), _el$217);
2047
- _$effect((_$p) => _$setProp(_el$216, "style", {
2093
+ var _el$221 = _$createElement("span"), _el$222 = _$createTextNode(`/3`);
2094
+ _$insertNode(_el$221, _el$222);
2095
+ _$insert(_el$221, () => String(rt().unknownStatusCount), _el$222);
2096
+ _$effect((_$p) => _$setProp(_el$221, "style", {
2048
2097
  fg: theme().error
2049
2098
  }, _$p));
2050
- return _el$216;
2099
+ return _el$221;
2051
2100
  })(), (() => {
2052
- var _el$218 = _$createElement("span");
2053
- _$insertNode(_el$218, _$createTextNode(` \u2014 nudge to recover`));
2054
- _$effect((_$p) => _$setProp(_el$218, "style", {
2101
+ var _el$223 = _$createElement("span");
2102
+ _$insertNode(_el$223, _$createTextNode(` \u2014 nudge to recover`));
2103
+ _$effect((_$p) => _$setProp(_el$223, "style", {
2055
2104
  fg: theme().textMuted
2056
2105
  }, _$p));
2057
- return _el$218;
2106
+ return _el$223;
2058
2107
  })()];
2059
2108
  })(), null);
2060
2109
  _$insert(_el$122, (() => {
2061
2110
  var _c$18 = _$memo(() => !!rt()?.retryAfter);
2062
2111
  return () => _c$18() && [(() => {
2063
- var _el$220 = _$createElement("span"), _el$221 = _$createTextNode(`
2112
+ var _el$225 = _$createElement("span"), _el$226 = _$createTextNode(`
2064
2113
  \u21BB retry in: `);
2065
- _$insertNode(_el$220, _el$221);
2066
- _$effect((_$p) => _$setProp(_el$220, "style", {
2114
+ _$insertNode(_el$225, _el$226);
2115
+ _$effect((_$p) => _$setProp(_el$225, "style", {
2067
2116
  fg: theme().accent
2068
2117
  }, _$p));
2069
- return _el$220;
2118
+ return _el$225;
2070
2119
  })(), (() => {
2071
- var _el$223 = _$createElement("span");
2072
- _$insert(_el$223, () => countdownLabel(rt().retryAfter, clock()));
2073
- _$effect((_$p) => _$setProp(_el$223, "style", {
2120
+ var _el$228 = _$createElement("span");
2121
+ _$insert(_el$228, () => countdownLabel(rt().retryAfter, clock()));
2122
+ _$effect((_$p) => _$setProp(_el$228, "style", {
2074
2123
  fg: theme().accent
2075
2124
  }, _$p));
2076
- return _el$223;
2125
+ return _el$228;
2077
2126
  })()];
2078
2127
  })(), null);
2079
2128
  _$insert(_el$122, (() => {
2080
2129
  var _c$19 = _$memo(() => !!rt()?.nextRunAt);
2081
2130
  return () => _c$19() && [(() => {
2082
- var _el$224 = _$createElement("span"), _el$225 = _$createTextNode(`
2131
+ var _el$229 = _$createElement("span"), _el$230 = _$createTextNode(`
2083
2132
  \u23F0 next run: `);
2084
- _$insertNode(_el$224, _el$225);
2085
- _$effect((_$p) => _$setProp(_el$224, "style", {
2133
+ _$insertNode(_el$229, _el$230);
2134
+ _$effect((_$p) => _$setProp(_el$229, "style", {
2086
2135
  fg: theme().accent
2087
2136
  }, _$p));
2088
- return _el$224;
2137
+ return _el$229;
2089
2138
  })(), (() => {
2090
- var _el$227 = _$createElement("span");
2091
- _$insert(_el$227, () => countdownLabel(rt().nextRunAt, clock()));
2092
- _$effect((_$p) => _$setProp(_el$227, "style", {
2139
+ var _el$232 = _$createElement("span");
2140
+ _$insert(_el$232, () => countdownLabel(rt().nextRunAt, clock()));
2141
+ _$effect((_$p) => _$setProp(_el$232, "style", {
2093
2142
  fg: theme().accent
2094
2143
  }, _$p));
2095
- return _el$227;
2144
+ return _el$232;
2096
2145
  })(), (() => {
2097
- var _el$228 = _$createElement("span"), _el$229 = _$createTextNode(` (`), _el$230 = _$createTextNode(` runs)`);
2098
- _$insertNode(_el$228, _el$229);
2099
- _$insertNode(_el$228, _el$230);
2100
- _$insert(_el$228, () => String(rt().scheduleRunCount || 0), _el$230);
2101
- _$effect((_$p) => _$setProp(_el$228, "style", {
2146
+ var _el$233 = _$createElement("span"), _el$234 = _$createTextNode(` (`), _el$235 = _$createTextNode(` runs)`);
2147
+ _$insertNode(_el$233, _el$234);
2148
+ _$insertNode(_el$233, _el$235);
2149
+ _$insert(_el$233, () => String(rt().scheduleRunCount || 0), _el$235);
2150
+ _$effect((_$p) => _$setProp(_el$233, "style", {
2102
2151
  fg: theme().textMuted
2103
2152
  }, _$p));
2104
- return _el$228;
2153
+ return _el$233;
2105
2154
  })()];
2106
2155
  })(), null);
2107
2156
  _$insert(_el$122, (() => {
2108
2157
  var _c$20 = _$memo(() => !!rt()?.lastError);
2109
2158
  return () => _c$20() && [(() => {
2110
- var _el$231 = _$createElement("span"), _el$232 = _$createTextNode(`
2159
+ var _el$236 = _$createElement("span"), _el$237 = _$createTextNode(`
2111
2160
  \u26A0 `);
2112
- _$insertNode(_el$231, _el$232);
2113
- _$effect((_$p) => _$setProp(_el$231, "style", {
2161
+ _$insertNode(_el$236, _el$237);
2162
+ _$effect((_$p) => _$setProp(_el$236, "style", {
2114
2163
  fg: theme().error
2115
2164
  }, _$p));
2116
- return _el$231;
2165
+ return _el$236;
2117
2166
  })(), (() => {
2118
- var _el$234 = _$createElement("span");
2119
- _$insertNode(_el$234, _$createTextNode(`Error: `));
2120
- _$effect((_$p) => _$setProp(_el$234, "style", {
2167
+ var _el$239 = _$createElement("span");
2168
+ _$insertNode(_el$239, _$createTextNode(`Error: `));
2169
+ _$effect((_$p) => _$setProp(_el$239, "style", {
2121
2170
  fg: theme().error,
2122
2171
  bold: true
2123
2172
  }, _$p));
2124
- return _el$234;
2173
+ return _el$239;
2125
2174
  })(), (() => {
2126
- var _el$236 = _$createElement("span");
2127
- _$insert(_el$236, () => rt().lastError.slice(0, 120));
2128
- _$effect((_$p) => _$setProp(_el$236, "style", {
2175
+ var _el$241 = _$createElement("span");
2176
+ _$insert(_el$241, () => rt().lastError.slice(0, 120));
2177
+ _$effect((_$p) => _$setProp(_el$241, "style", {
2129
2178
  fg: theme().error
2130
2179
  }, _$p));
2131
- return _el$236;
2180
+ return _el$241;
2132
2181
  })()];
2133
2182
  })(), null);
2134
2183
  _$effect((_p$) => {
@@ -2136,76 +2185,84 @@ function LoopDashboard(props) {
2136
2185
  fg: statusColor(goal().status, theme()),
2137
2186
  bold: true
2138
2187
  }, _v$39 = {
2139
- fg: statusColor(goal().status, theme())
2188
+ fg: theme().textMuted
2140
2189
  }, _v$40 = {
2190
+ fg: statusColor(goal().status, theme())
2191
+ }, _v$41 = {
2192
+ fg: theme().textMuted
2193
+ }, _v$42 = {
2141
2194
  fg: theme().primary,
2142
2195
  bold: true
2143
- }, _v$41 = {
2196
+ }, _v$43 = {
2144
2197
  fg: theme().text
2145
2198
  };
2146
2199
  _v$37 !== _p$.e && (_p$.e = _$setProp(_el$121, "borderColor", _v$37, _p$.e));
2147
2200
  _v$38 !== _p$.t && (_p$.t = _$setProp(_el$123, "style", _v$38, _p$.t));
2148
2201
  _v$39 !== _p$.a && (_p$.a = _$setProp(_el$125, "style", _v$39, _p$.a));
2149
- _v$40 !== _p$.o && (_p$.o = _$setProp(_el$128, "style", _v$40, _p$.o));
2202
+ _v$40 !== _p$.o && (_p$.o = _$setProp(_el$127, "style", _v$40, _p$.o));
2150
2203
  _v$41 !== _p$.i && (_p$.i = _$setProp(_el$130, "style", _v$41, _p$.i));
2204
+ _v$42 !== _p$.n && (_p$.n = _$setProp(_el$132, "style", _v$42, _p$.n));
2205
+ _v$43 !== _p$.s && (_p$.s = _$setProp(_el$134, "style", _v$43, _p$.s));
2151
2206
  return _p$;
2152
2207
  }, {
2153
2208
  e: undefined,
2154
2209
  t: undefined,
2155
2210
  a: undefined,
2156
2211
  o: undefined,
2157
- i: undefined
2212
+ i: undefined,
2213
+ n: undefined,
2214
+ s: undefined
2158
2215
  });
2159
2216
  return _el$121;
2160
2217
  })();
2161
2218
  }
2162
2219
  }), null);
2163
- _$insert(_el$31, _$createComponent(Show, {
2220
+ _$insert(_el$29, _$createComponent(Show, {
2164
2221
  get when() {
2165
2222
  return _$memo(() => !!showLogs())() && events().length > 0;
2166
2223
  },
2167
2224
  get children() {
2168
- var _el$37 = _$createElement("box"), _el$38 = _$createElement("text"), _el$39 = _$createElement("span"), _el$41 = _$createElement("span");
2169
- _$insertNode(_el$37, _el$38);
2170
- _$setProp(_el$37, "flexDirection", "column");
2171
- _$setProp(_el$37, "border", true);
2172
- _$setProp(_el$37, "padding", 1);
2173
- _$setProp(_el$37, "maxHeight", 7);
2174
- _$setProp(_el$37, "flexShrink", 0);
2175
- _$setProp(_el$37, "overflow", "hidden");
2176
- _$insertNode(_el$38, _el$39);
2177
- _$insertNode(_el$38, _el$41);
2178
- _$insertNode(_el$39, _$createTextNode(`\u25C8 Recent Events`));
2179
- _$insertNode(_el$41, _$createTextNode(` \u2014 :logs to hide`));
2180
- _$insert(_el$38, _$createComponent(For, {
2225
+ var _el$35 = _$createElement("box"), _el$36 = _$createElement("text"), _el$37 = _$createElement("span"), _el$39 = _$createElement("span");
2226
+ _$insertNode(_el$35, _el$36);
2227
+ _$setProp(_el$35, "flexDirection", "column");
2228
+ _$setProp(_el$35, "border", true);
2229
+ _$setProp(_el$35, "padding", 1);
2230
+ _$setProp(_el$35, "maxHeight", 7);
2231
+ _$setProp(_el$35, "flexShrink", 0);
2232
+ _$setProp(_el$35, "overflow", "hidden");
2233
+ _$insertNode(_el$36, _el$37);
2234
+ _$insertNode(_el$36, _el$39);
2235
+ _$insertNode(_el$37, _$createTextNode(`\u25C8 Recent Events`));
2236
+ _$insertNode(_el$39, _$createTextNode(` \u2014 :logs to hide`));
2237
+ _$insert(_el$36, _$createComponent(For, {
2181
2238
  get each() {
2182
2239
  return events().slice(-10);
2183
2240
  },
2184
2241
  children: (ev) => [`
2185
2242
  `, (() => {
2186
- var _el$237 = _$createElement("span");
2187
- _$insert(_el$237, () => String(ev.type));
2188
- _$effect((_$p) => _$setProp(_el$237, "style", {
2243
+ var _el$242 = _$createElement("span");
2244
+ _$insert(_el$242, () => String(ev.type));
2245
+ _$effect((_$p) => _$setProp(_el$242, "style", {
2189
2246
  fg: eventColor(String(ev.type), theme()),
2190
2247
  bold: true
2191
2248
  }, _$p));
2192
- return _el$237;
2249
+ return _el$242;
2193
2250
  })(), (() => {
2194
- var _el$238 = _$createElement("span"), _el$239 = _$createTextNode(` `);
2195
- _$insertNode(_el$238, _el$239);
2196
- _$insert(_el$238, () => ev.goalID?.slice(0, 8), null);
2197
- _$effect((_$p) => _$setProp(_el$238, "style", {
2251
+ var _el$243 = _$createElement("span"), _el$244 = _$createTextNode(` `);
2252
+ _$insertNode(_el$243, _el$244);
2253
+ _$insert(_el$243, () => ev.goalID?.slice(0, 8), null);
2254
+ _$effect((_$p) => _$setProp(_el$243, "style", {
2198
2255
  fg: theme().textMuted
2199
2256
  }, _$p));
2200
- return _el$238;
2257
+ return _el$243;
2201
2258
  })(), _$memo(() => _$memo(() => !!ev.summary)() && (() => {
2202
- var _el$240 = _$createElement("span"), _el$241 = _$createTextNode(` \u2014 `);
2203
- _$insertNode(_el$240, _el$241);
2204
- _$insert(_el$240, () => String(ev.summary).slice(0, 60), null);
2205
- _$effect((_$p) => _$setProp(_el$240, "style", {
2259
+ var _el$245 = _$createElement("span"), _el$246 = _$createTextNode(` \u2014 `);
2260
+ _$insertNode(_el$245, _el$246);
2261
+ _$insert(_el$245, () => String(ev.summary).slice(0, 60), null);
2262
+ _$effect((_$p) => _$setProp(_el$245, "style", {
2206
2263
  fg: theme().text
2207
2264
  }, _$p));
2208
- return _el$240;
2265
+ return _el$245;
2209
2266
  })())]
2210
2267
  }), null);
2211
2268
  _$effect((_p$) => {
@@ -2215,42 +2272,42 @@ function LoopDashboard(props) {
2215
2272
  }, _v$3 = {
2216
2273
  fg: theme().textMuted
2217
2274
  };
2218
- _v$ !== _p$.e && (_p$.e = _$setProp(_el$37, "borderColor", _v$, _p$.e));
2219
- _v$2 !== _p$.t && (_p$.t = _$setProp(_el$39, "style", _v$2, _p$.t));
2220
- _v$3 !== _p$.a && (_p$.a = _$setProp(_el$41, "style", _v$3, _p$.a));
2275
+ _v$ !== _p$.e && (_p$.e = _$setProp(_el$35, "borderColor", _v$, _p$.e));
2276
+ _v$2 !== _p$.t && (_p$.t = _$setProp(_el$37, "style", _v$2, _p$.t));
2277
+ _v$3 !== _p$.a && (_p$.a = _$setProp(_el$39, "style", _v$3, _p$.a));
2221
2278
  return _p$;
2222
2279
  }, {
2223
2280
  e: undefined,
2224
2281
  t: undefined,
2225
2282
  a: undefined
2226
2283
  });
2227
- return _el$37;
2284
+ return _el$35;
2228
2285
  }
2229
2286
  }), null);
2230
- _$insertNode(_el$43, _el$44);
2231
- _$insertNode(_el$43, _el$46);
2232
- _$setProp(_el$43, "flexDirection", "row");
2233
- _$setProp(_el$43, "border", true);
2234
- _$setProp(_el$43, "paddingLeft", 1);
2235
- _$setProp(_el$43, "paddingRight", 1);
2236
- _$setProp(_el$43, "flexShrink", 0);
2237
- _$setProp(_el$43, "height", 3);
2238
- _$setProp(_el$43, "gap", 1);
2239
- _$insertNode(_el$44, _el$45);
2240
- _$insert(_el$45, () => mode() === "insert" ? " INSERT \uE0B1" : " NORMAL ");
2287
+ _$insertNode(_el$41, _el$42);
2288
+ _$insertNode(_el$41, _el$44);
2289
+ _$setProp(_el$41, "flexDirection", "row");
2290
+ _$setProp(_el$41, "border", true);
2291
+ _$setProp(_el$41, "paddingLeft", 1);
2292
+ _$setProp(_el$41, "paddingRight", 1);
2293
+ _$setProp(_el$41, "flexShrink", 0);
2294
+ _$setProp(_el$41, "height", 3);
2295
+ _$setProp(_el$41, "gap", 1);
2296
+ _$insertNode(_el$42, _el$43);
2297
+ _$insert(_el$43, () => mode() === "insert" ? " INSERT \uE0B1" : " NORMAL ");
2241
2298
  _$use((el) => {
2242
2299
  inputEl = el;
2243
2300
  focusInput();
2244
- }, _el$46);
2245
- _$setProp(_el$46, "flexGrow", 1);
2246
- _$setProp(_el$46, "onInput", (v) => {
2301
+ }, _el$44);
2302
+ _$setProp(_el$44, "flexGrow", 1);
2303
+ _$setProp(_el$44, "onInput", (v) => {
2247
2304
  debugLog("onInput", JSON.stringify(v), "mode", mode());
2248
2305
  if (mode() === "insert")
2249
2306
  setCommandInput(v);
2250
2307
  else if (inputEl?.value)
2251
2308
  inputEl.value = "";
2252
2309
  });
2253
- _$setProp(_el$46, "onKeyDown", (evt) => {
2310
+ _$setProp(_el$44, "onKeyDown", (evt) => {
2254
2311
  const name = evt.name || "";
2255
2312
  const seq = evt.sequence || "";
2256
2313
  debugLog("input onKeyDown", `name=${name} seq=${JSON.stringify(seq)} mode=${mode()} value=${JSON.stringify(commandInput())}`);
@@ -2285,17 +2342,15 @@ function LoopDashboard(props) {
2285
2342
  }, _v$11 = {
2286
2343
  fg: theme().textMuted
2287
2344
  }, _v$12 = {
2288
- fg: theme().textMuted
2289
- }, _v$13 = {
2290
2345
  fg: theme().info,
2291
2346
  bold: true
2292
- }, _v$14 = {
2347
+ }, _v$13 = {
2293
2348
  fg: theme().textMuted
2294
- }, _v$15 = mode() === "insert" ? theme().warning : theme().border, _v$16 = {
2349
+ }, _v$14 = mode() === "insert" ? theme().warning : theme().border, _v$15 = {
2295
2350
  fg: mode() === "insert" ? theme().warning : theme().success,
2296
2351
  bold: true,
2297
2352
  bg: mode() === "insert" ? theme().backgroundElement : undefined
2298
- }, _v$17 = 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$18 = theme().textMuted, _v$19 = theme().primary, _v$20 = theme().text, _v$21 = theme().background;
2353
+ }, _v$16 = 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$17 = theme().textMuted, _v$18 = theme().primary, _v$19 = theme().text, _v$20 = theme().background;
2299
2354
  _v$4 !== _p$.e && (_p$.e = _$setProp(_el$2, "borderColor", _v$4, _p$.e));
2300
2355
  _v$5 !== _p$.t && (_p$.t = _$setProp(_el$5, "style", _v$5, _p$.t));
2301
2356
  _v$6 !== _p$.a && (_p$.a = _$setProp(_el$7, "style", _v$6, _p$.a));
@@ -2307,15 +2362,14 @@ function LoopDashboard(props) {
2307
2362
  _v$10 !== _p$.r && (_p$.r = _$setProp(_el$17, "style", _v$10, _p$.r));
2308
2363
  _v$11 !== _p$.d && (_p$.d = _$setProp(_el$20, "style", _v$11, _p$.d));
2309
2364
  _v$12 !== _p$.l && (_p$.l = _$setProp(_el$22, "style", _v$12, _p$.l));
2310
- _v$13 !== _p$.u && (_p$.u = _$setProp(_el$24, "style", _v$13, _p$.u));
2311
- _v$14 !== _p$.c && (_p$.c = _$setProp(_el$25, "style", _v$14, _p$.c));
2312
- _v$15 !== _p$.w && (_p$.w = _$setProp(_el$43, "borderColor", _v$15, _p$.w));
2313
- _v$16 !== _p$.m && (_p$.m = _$setProp(_el$45, "style", _v$16, _p$.m));
2314
- _v$17 !== _p$.f && (_p$.f = _$setProp(_el$46, "placeholder", _v$17, _p$.f));
2315
- _v$18 !== _p$.y && (_p$.y = _$setProp(_el$46, "placeholderColor", _v$18, _p$.y));
2316
- _v$19 !== _p$.g && (_p$.g = _$setProp(_el$46, "cursorColor", _v$19, _p$.g));
2317
- _v$20 !== _p$.p && (_p$.p = _$setProp(_el$46, "focusedTextColor", _v$20, _p$.p));
2318
- _v$21 !== _p$.b && (_p$.b = _$setProp(_el$46, "focusedBackgroundColor", _v$21, _p$.b));
2365
+ _v$13 !== _p$.u && (_p$.u = _$setProp(_el$23, "style", _v$13, _p$.u));
2366
+ _v$14 !== _p$.c && (_p$.c = _$setProp(_el$41, "borderColor", _v$14, _p$.c));
2367
+ _v$15 !== _p$.w && (_p$.w = _$setProp(_el$43, "style", _v$15, _p$.w));
2368
+ _v$16 !== _p$.m && (_p$.m = _$setProp(_el$44, "placeholder", _v$16, _p$.m));
2369
+ _v$17 !== _p$.f && (_p$.f = _$setProp(_el$44, "placeholderColor", _v$17, _p$.f));
2370
+ _v$18 !== _p$.y && (_p$.y = _$setProp(_el$44, "cursorColor", _v$18, _p$.y));
2371
+ _v$19 !== _p$.g && (_p$.g = _$setProp(_el$44, "focusedTextColor", _v$19, _p$.g));
2372
+ _v$20 !== _p$.p && (_p$.p = _$setProp(_el$44, "focusedBackgroundColor", _v$20, _p$.p));
2319
2373
  return _p$;
2320
2374
  }, {
2321
2375
  e: undefined,
@@ -2336,8 +2390,7 @@ function LoopDashboard(props) {
2336
2390
  f: undefined,
2337
2391
  y: undefined,
2338
2392
  g: undefined,
2339
- p: undefined,
2340
- b: undefined
2393
+ p: undefined
2341
2394
  });
2342
2395
  return _el$;
2343
2396
  })();