@agimon-ai/po-workflow 0.0.0-alpha.2 → 0.0.0-alpha.4

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.
@@ -276,16 +276,16 @@ const TONE_DOT = {
276
276
  skipped: "muted"
277
277
  };
278
278
  const TONE_DETAIL = {
279
- running: "text-doom-dim",
280
- paused: "text-doom-yellow",
281
- failed: "text-doom-red",
282
- done: "text-doom-dim",
283
- skipped: "text-doom-dim"
279
+ running: "text-po-dim",
280
+ paused: "text-po-yellow",
281
+ failed: "text-po-red",
282
+ done: "text-po-dim",
283
+ skipped: "text-po-dim"
284
284
  };
285
285
  const GROUP_LABEL = {
286
- running: "text-doom-yellow",
287
- failed: "text-doom-red",
288
- successful: "text-doom-green"
286
+ running: "text-po-yellow",
287
+ failed: "text-po-red",
288
+ successful: "text-po-green"
289
289
  };
290
290
  /**
291
291
  * The workflows group's body in the activity dock: every run this session
@@ -308,13 +308,13 @@ function WorkflowsActivitySection({ sessionId, openSession }) {
308
308
  className: "flex flex-wrap items-center gap-x-4 gap-y-1",
309
309
  children: [/* @__PURE__ */ jsx("p", {
310
310
  "data-testid": "activity-summary-workflows",
311
- className: "text-sm text-doom-dim",
311
+ className: "text-sm text-po-dim",
312
312
  children: "Idle"
313
313
  }), /* @__PURE__ */ jsxs(Button, {
314
314
  variant: "link",
315
315
  size: "sm",
316
316
  "data-testid": "activity-workflow-launch",
317
- className: "h-auto gap-1 px-0 text-doom-green",
317
+ className: "h-auto gap-1 px-0 text-po-green",
318
318
  onClick: () => {
319
319
  if (sessionId === null) return;
320
320
  openCatalog(sessionId);
@@ -341,7 +341,7 @@ function WorkflowsActivitySection({ sessionId, openSession }) {
341
341
  }
342
342
  if (sessionId !== null) focusRun(sessionId, row.identity);
343
343
  },
344
- className: "min-w-0 gap-0.5 rounded-md px-1 py-1 hover:bg-doom-panel",
344
+ className: "min-w-0 gap-0.5 rounded-md px-1 py-1 hover:bg-po-panel",
345
345
  children: [/* @__PURE__ */ jsxs("span", {
346
346
  className: "flex min-w-0 items-center gap-1.5",
347
347
  children: [
@@ -350,11 +350,11 @@ function WorkflowsActivitySection({ sessionId, openSession }) {
350
350
  pulse: row.tone === "running"
351
351
  }),
352
352
  /* @__PURE__ */ jsx("span", {
353
- className: `min-w-0 flex-1 truncate text-base font-semibold ${row.tone === "running" || row.tone === "paused" ? "text-doom-hi" : "text-doom-dim"}`,
353
+ className: `min-w-0 flex-1 truncate text-base font-semibold ${row.tone === "running" || row.tone === "paused" ? "text-po-hi" : "text-po-dim"}`,
354
354
  children: row.name
355
355
  }),
356
356
  /* @__PURE__ */ jsx("span", {
357
- className: "shrink-0 text-sm text-doom-dim",
357
+ className: "shrink-0 text-sm text-po-dim",
358
358
  children: row.elapsed
359
359
  })
360
360
  ]
@@ -381,15 +381,15 @@ function WorkflowsActivitySection({ sessionId, openSession }) {
381
381
  ...current,
382
382
  [group.name]: !open
383
383
  })),
384
- className: "justify-start gap-1.5 rounded-md px-1 py-0.5 hover:bg-doom-panel",
384
+ className: "justify-start gap-1.5 rounded-md px-1 py-0.5 hover:bg-po-panel",
385
385
  children: [
386
- open ? /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-2.5 w-2.5 text-doom-faint" }) : /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-2.5 w-2.5 text-doom-faint" }),
386
+ open ? /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-2.5 w-2.5 text-po-faint" }) : /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-2.5 w-2.5 text-po-faint" }),
387
387
  /* @__PURE__ */ jsx("span", {
388
388
  className: `inline-block text-sm font-semibold first-letter:uppercase ${GROUP_LABEL[group.name]}`,
389
389
  children: group.name
390
390
  }),
391
391
  /* @__PURE__ */ jsx("span", {
392
- className: "text-2xs text-doom-faint",
392
+ className: "text-2xs text-po-faint",
393
393
  children: group.rows.length
394
394
  })
395
395
  ]
@@ -397,7 +397,7 @@ function WorkflowsActivitySection({ sessionId, openSession }) {
397
397
  className: "flex flex-col gap-0.5 pl-2",
398
398
  children: group.rows.map((row) => /* @__PURE__ */ jsx(RunRow, { row }, row.identity))
399
399
  }) : /* @__PURE__ */ jsxs("span", {
400
- className: "truncate pl-5 text-sm text-doom-dim",
400
+ className: "truncate pl-5 text-sm text-po-dim",
401
401
  children: [group.rows.slice(0, 2).map((row) => row.name).join(", "), group.rows.length > 2 ? `, and ${group.rows.length - 2} more` : ""]
402
402
  })]
403
403
  }, group.name);
@@ -948,15 +948,15 @@ function WorkflowToolMessage({ toolName, args, result, running, isError }) {
948
948
  className: "flex min-w-0 flex-1 items-center gap-2",
949
949
  children: [
950
950
  /* @__PURE__ */ jsx("span", {
951
- className: "font-semibold text-doom-hi",
951
+ className: "font-semibold text-po-hi",
952
952
  children: summary.action
953
953
  }),
954
954
  summary.target ? /* @__PURE__ */ jsx("span", {
955
- className: "min-w-0 truncate text-doom-dim",
955
+ className: "min-w-0 truncate text-po-dim",
956
956
  children: summary.target
957
957
  }) : null,
958
958
  summary.metadata.map((value) => /* @__PURE__ */ jsxs("span", {
959
- className: "shrink-0 text-doom-dim",
959
+ className: "shrink-0 text-po-dim",
960
960
  children: ["· ", value]
961
961
  }, value))
962
962
  ]
@@ -1020,7 +1020,7 @@ var _lib_default = {
1020
1020
  message: WorkflowToolMessage
1021
1021
  }],
1022
1022
  leaderBindings: [{
1023
- id: "doom-workflow.catalog",
1023
+ id: "po-workflow.catalog",
1024
1024
  path: [WORKFLOWS_GROUP, {
1025
1025
  key: "l",
1026
1026
  label: "launch",
@@ -1030,7 +1030,7 @@ var _lib_default = {
1030
1030
  if (context.sessionId !== null) openCatalog(context.sessionId);
1031
1031
  }
1032
1032
  }, {
1033
- id: "doom-workflow.toggle",
1033
+ id: "po-workflow.toggle",
1034
1034
  path: [WORKFLOWS_GROUP, {
1035
1035
  key: "e",
1036
1036
  label: "toggle",
@@ -1418,19 +1418,19 @@ function formatWhen(iso) {
1418
1418
  const STATE_GLYPH = {
1419
1419
  written: {
1420
1420
  glyph: "✓",
1421
- className: "text-doom-green"
1421
+ className: "text-po-green"
1422
1422
  },
1423
1423
  empty: {
1424
1424
  glyph: "○",
1425
- className: "text-doom-yellow"
1425
+ className: "text-po-yellow"
1426
1426
  },
1427
1427
  pending: {
1428
1428
  glyph: "○",
1429
- className: "text-doom-faint"
1429
+ className: "text-po-faint"
1430
1430
  },
1431
1431
  unreadable: {
1432
1432
  glyph: "!",
1433
- className: "text-doom-red"
1433
+ className: "text-po-red"
1434
1434
  }
1435
1435
  };
1436
1436
  function parseDelimited(text, delimiter) {
@@ -1467,13 +1467,13 @@ function DelimitedPreview({ text, delimiter }) {
1467
1467
  "data-testid": "artifact-table",
1468
1468
  className: "min-w-full border-collapse font-mono text-sm",
1469
1469
  children: [/* @__PURE__ */ jsx("thead", {
1470
- className: "sticky top-0 bg-doom-panel text-doom-hi",
1470
+ className: "sticky top-0 bg-po-panel text-po-hi",
1471
1471
  children: /* @__PURE__ */ jsx("tr", { children: head.map((cell, index) => /* @__PURE__ */ jsx("th", {
1472
- className: "border border-doom-border px-2 py-1.5 text-left font-semibold",
1472
+ className: "border border-po-border px-2 py-1.5 text-left font-semibold",
1473
1473
  children: cell
1474
1474
  }, index)) })
1475
1475
  }), /* @__PURE__ */ jsx("tbody", { children: body.map((cells, rowIndex) => /* @__PURE__ */ jsx("tr", { children: cells.map((cell, cellIndex) => /* @__PURE__ */ jsx("td", {
1476
- className: "border border-doom-border px-2 py-1 align-top text-doom-text",
1476
+ className: "border border-po-border px-2 py-1 align-top text-po-text",
1477
1477
  children: cell
1478
1478
  }, cellIndex)) }, rowIndex)) })]
1479
1479
  })
@@ -1525,11 +1525,11 @@ function ArtifactPreview({ content, rawUrl, raw }) {
1525
1525
  });
1526
1526
  if (mimeType === "text/markdown") return raw ? /* @__PURE__ */ jsx("pre", {
1527
1527
  "data-testid": "artifact-raw",
1528
- className: "whitespace-pre-wrap break-words font-mono text-sm leading-snug text-doom-text",
1528
+ className: "whitespace-pre-wrap break-words font-mono text-sm leading-snug text-po-text",
1529
1529
  children: text
1530
1530
  }) : /* @__PURE__ */ jsx("div", {
1531
1531
  "data-testid": "artifact-markdown",
1532
- className: "max-w-5xl text-base text-doom-text",
1532
+ className: "max-w-5xl text-base text-po-text",
1533
1533
  children: /* @__PURE__ */ jsx(Markdown, { text })
1534
1534
  });
1535
1535
  if (mimeType === "application/json") {
@@ -1538,7 +1538,7 @@ function ArtifactPreview({ content, rawUrl, raw }) {
1538
1538
  formatted = JSON.stringify(JSON.parse(text), null, 2);
1539
1539
  } catch {}
1540
1540
  return /* @__PURE__ */ jsx("pre", {
1541
- className: "whitespace-pre-wrap break-words font-mono text-sm leading-snug text-doom-text",
1541
+ className: "whitespace-pre-wrap break-words font-mono text-sm leading-snug text-po-text",
1542
1542
  children: formatted
1543
1543
  });
1544
1544
  }
@@ -1584,7 +1584,7 @@ function ArtifactPreview({ content, rawUrl, raw }) {
1584
1584
  children: /* @__PURE__ */ jsx("track", { kind: "captions" })
1585
1585
  });
1586
1586
  if (content.text !== void 0) return /* @__PURE__ */ jsx("pre", {
1587
- className: "whitespace-pre-wrap break-words font-mono text-sm leading-snug text-doom-text",
1587
+ className: "whitespace-pre-wrap break-words font-mono text-sm leading-snug text-po-text",
1588
1588
  children: text
1589
1589
  });
1590
1590
  return /* @__PURE__ */ jsx(EmptyState, {
@@ -1650,7 +1650,7 @@ function ArtifactViewerPanel({ workspace, runKey, path, sessionId }) {
1650
1650
  className: "flex items-center gap-2.5 pb-3",
1651
1651
  children: [
1652
1652
  /* @__PURE__ */ jsx("span", {
1653
- className: "truncate text-base font-semibold text-doom-hi",
1653
+ className: "truncate text-base font-semibold text-po-hi",
1654
1654
  children: path
1655
1655
  }),
1656
1656
  /* @__PURE__ */ jsx(Badge, {
@@ -1658,7 +1658,7 @@ function ArtifactViewerPanel({ workspace, runKey, path, sessionId }) {
1658
1658
  children: mimeType ?? "artifact"
1659
1659
  }),
1660
1660
  /* @__PURE__ */ jsx("span", {
1661
- className: "text-sm text-doom-dim",
1661
+ className: "text-sm text-po-dim",
1662
1662
  children: content === void 0 ? "" : `${formatSize(content.size)} · written ${formatWhen(content.modifiedAt)}`
1663
1663
  }),
1664
1664
  /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1" }),
@@ -1699,13 +1699,13 @@ function ArtifactViewerPanel({ workspace, runKey, path, sessionId }) {
1699
1699
  ]
1700
1700
  }),
1701
1701
  /* @__PURE__ */ jsx("div", {
1702
- className: "min-h-0 flex-1 overflow-auto rounded-md border border-doom-border bg-doom-deep p-4",
1702
+ className: "min-h-0 flex-1 overflow-auto rounded-md border border-po-border bg-po-deep p-4",
1703
1703
  children: error !== void 0 ? /* @__PURE__ */ jsx("span", {
1704
1704
  "data-testid": "artifact-error",
1705
- className: "text-base text-doom-yellow",
1705
+ className: "text-base text-po-yellow",
1706
1706
  children: error
1707
1707
  }) : content === void 0 ? /* @__PURE__ */ jsx("span", {
1708
- className: "text-sm text-doom-dim",
1708
+ className: "text-sm text-po-dim",
1709
1709
  children: "loading preview"
1710
1710
  }) : /* @__PURE__ */ jsx(ArtifactPreview, {
1711
1711
  content,
@@ -1714,7 +1714,7 @@ function ArtifactViewerPanel({ workspace, runKey, path, sessionId }) {
1714
1714
  })
1715
1715
  }),
1716
1716
  content?.truncated === true ? /* @__PURE__ */ jsxs("span", {
1717
- className: "pt-2 text-sm text-doom-dim",
1717
+ className: "pt-2 text-sm text-po-dim",
1718
1718
  children: [
1719
1719
  "this preview shows the first ",
1720
1720
  formatSize(content.text?.length),
@@ -1854,7 +1854,7 @@ function ArtifactList({ listing, error, onOpen, onOpenDirectory, onLoadDirectory
1854
1854
  disabled: !openable,
1855
1855
  "aria-expanded": entry.kind === "directory" ? expanded.has(entry.path) : void 0,
1856
1856
  onClick: () => entry.kind === "directory" ? void toggle(entry) : onOpen(entry.path),
1857
- className: `flex flex-col gap-0.5 px-3 py-1.5 text-left ${openable ? "cursor-pointer hover:bg-doom-panel" : "cursor-default"}`,
1857
+ className: `flex flex-col gap-0.5 px-3 py-1.5 text-left ${openable ? "cursor-pointer hover:bg-po-panel" : "cursor-default"}`,
1858
1858
  children: [/* @__PURE__ */ jsxs("span", {
1859
1859
  className: "flex min-w-0 items-center gap-2",
1860
1860
  children: [
@@ -1864,16 +1864,16 @@ function ArtifactList({ listing, error, onOpen, onOpenDirectory, onLoadDirectory
1864
1864
  }),
1865
1865
  /* @__PURE__ */ jsxs("span", {
1866
1866
  title: entry.path,
1867
- className: `min-w-0 flex-1 truncate text-base font-semibold ${entry.state === "pending" ? "text-doom-dim" : "text-doom-hi"}`,
1867
+ className: `min-w-0 flex-1 truncate text-base font-semibold ${entry.state === "pending" ? "text-po-dim" : "text-po-hi"}`,
1868
1868
  children: [entry.path.split("/").pop(), entry.kind === "directory" ? "/" : ""]
1869
1869
  }),
1870
1870
  /* @__PURE__ */ jsx("span", {
1871
- className: "shrink-0 text-sm text-doom-dim",
1871
+ className: "shrink-0 text-sm text-po-dim",
1872
1872
  children: entry.state === "pending" ? "pending" : entry.kind === "directory" ? "" : [formatSize(entry.size), formatWhen(entry.modifiedAt)].filter(Boolean).join(" · ")
1873
1873
  })
1874
1874
  ]
1875
1875
  }), entry.declared || entry.producedBy.length > 0 || entry.description !== "" ? /* @__PURE__ */ jsxs("span", {
1876
- className: "flex min-w-0 items-center gap-1 pl-5 text-sm text-doom-dim",
1876
+ className: "flex min-w-0 items-center gap-1 pl-5 text-sm text-po-dim",
1877
1877
  children: [
1878
1878
  entry.declared ? /* @__PURE__ */ jsx(Badge, {
1879
1879
  size: "xs",
@@ -1902,15 +1902,15 @@ function ArtifactList({ listing, error, onOpen, onOpenDirectory, onLoadDirectory
1902
1902
  }).sort((left, right) => Number(right.kind === "directory") - Number(left.kind === "directory") || left.path.localeCompare(right.path)).map((entry) => /* @__PURE__ */ jsxs("div", {
1903
1903
  className: "flex flex-col",
1904
1904
  children: [renderRow(entry), entry.kind === "directory" && expanded.has(entry.path) ? /* @__PURE__ */ jsxs("div", {
1905
- className: "ml-3 border-l border-doom-border pl-1",
1905
+ className: "ml-3 border-l border-po-border pl-1",
1906
1906
  children: [
1907
1907
  loading.has(entry.path) ? /* @__PURE__ */ jsx("span", {
1908
- className: "px-3 text-sm text-doom-dim",
1908
+ className: "px-3 text-sm text-po-dim",
1909
1909
  children: "loading…"
1910
1910
  }) : null,
1911
1911
  folderErrors[entry.path] ? /* @__PURE__ */ jsx("span", {
1912
1912
  role: "alert",
1913
- className: "px-3 text-base text-doom-yellow",
1913
+ className: "px-3 text-base text-po-yellow",
1914
1914
  children: folderErrors[entry.path]
1915
1915
  }) : null,
1916
1916
  renderChildren(entry.path)
@@ -1932,13 +1932,13 @@ function ArtifactList({ listing, error, onOpen, onOpenDirectory, onLoadDirectory
1932
1932
  title: "nothing in the run directory yet"
1933
1933
  }) : null,
1934
1934
  listing?.description ? /* @__PURE__ */ jsx("span", {
1935
- className: "px-3 py-2 text-sm text-doom-dim",
1935
+ className: "px-3 py-2 text-sm text-po-dim",
1936
1936
  children: listing.description
1937
1937
  }) : null,
1938
1938
  renderChildren(""),
1939
1939
  openError === void 0 ? null : /* @__PURE__ */ jsx("span", {
1940
1940
  role: "alert",
1941
- className: "px-3 text-base text-doom-yellow",
1941
+ className: "px-3 text-base text-po-yellow",
1942
1942
  children: openError
1943
1943
  }),
1944
1944
  listing === void 0 ? null : /* @__PURE__ */ jsx("button", {
@@ -1948,7 +1948,7 @@ function ArtifactList({ listing, error, onOpen, onOpenDirectory, onLoadDirectory
1948
1948
  title: `${listing.runDir} (open in Finder)`,
1949
1949
  disabled: opening || onOpenDirectory === void 0,
1950
1950
  onClick: () => void openDirectory(),
1951
- className: "truncate px-3 py-2 text-left text-base text-doom-dim hover:text-doom-hi disabled:cursor-default",
1951
+ className: "truncate px-3 py-2 text-left text-base text-po-dim hover:text-po-hi disabled:cursor-default",
1952
1952
  children: listing.runDir
1953
1953
  })
1954
1954
  ]
@@ -2015,15 +2015,15 @@ function StepSteerComposer({ run, sessionId, step }) {
2015
2015
  };
2016
2016
  return /* @__PURE__ */ jsx("form", {
2017
2017
  "data-testid": "step-steer-composer",
2018
- className: "shrink-0 border-t border-doom-border-soft bg-doom-rail px-3 pt-3 pb-2.5",
2018
+ className: "shrink-0 border-t border-po-border-soft bg-po-rail px-3 pt-3 pb-2.5",
2019
2019
  onSubmit: (event) => void submit(event),
2020
2020
  children: /* @__PURE__ */ jsxs("div", {
2021
- className: "rounded-lg border border-doom-border bg-doom-deep transition-colors focus-within:border-doom-blue/60",
2021
+ className: "rounded-lg border border-po-border bg-po-deep transition-colors focus-within:border-po-blue/60",
2022
2022
  children: [
2023
2023
  /* @__PURE__ */ jsxs("div", {
2024
2024
  className: "flex min-w-0 items-start gap-2.5 px-3.5 pt-3",
2025
2025
  children: [/* @__PURE__ */ jsx("span", {
2026
- className: "mt-[3px] shrink-0 select-none text-base leading-none text-doom-green",
2026
+ className: "mt-[3px] shrink-0 select-none text-base leading-none text-po-green",
2027
2027
  children: ">"
2028
2028
  }), /* @__PURE__ */ jsx(Textarea, {
2029
2029
  variant: "bare",
@@ -2040,7 +2040,7 @@ function StepSteerComposer({ run, sessionId, step }) {
2040
2040
  error === void 0 ? null : /* @__PURE__ */ jsx("p", {
2041
2041
  role: "alert",
2042
2042
  "data-testid": "step-steer-error",
2043
- className: "px-3.5 pt-2 text-base text-doom-red",
2043
+ className: "px-3.5 pt-2 text-base text-po-red",
2044
2044
  children: error
2045
2045
  }),
2046
2046
  /* @__PURE__ */ jsxs("div", {
@@ -2049,7 +2049,7 @@ function StepSteerComposer({ run, sessionId, step }) {
2049
2049
  /* @__PURE__ */ jsx("span", {
2050
2050
  role: "status",
2051
2051
  "data-testid": "step-steer-hint",
2052
- className: "min-w-0 truncate text-sm text-doom-dim",
2052
+ className: "min-w-0 truncate text-sm text-po-dim",
2053
2053
  children: "guidance reaches this step while it is still working"
2054
2054
  }),
2055
2055
  /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1" }),
@@ -2138,22 +2138,22 @@ function StepHeader({ run, target, children }) {
2138
2138
  className: "flex items-center gap-2.5 pb-3",
2139
2139
  children: [
2140
2140
  /* @__PURE__ */ jsx("span", {
2141
- className: "shrink-0 truncate text-base font-semibold text-doom-hi",
2141
+ className: "shrink-0 truncate text-base font-semibold text-po-hi",
2142
2142
  children: run?.displayName ?? target.runKey
2143
2143
  }),
2144
2144
  /* @__PURE__ */ jsx("span", {
2145
- className: "text-xs text-doom-faint",
2145
+ className: "text-xs text-po-faint",
2146
2146
  children: "›"
2147
2147
  }),
2148
2148
  /* @__PURE__ */ jsx("span", {
2149
- className: "shrink-0 truncate text-base font-semibold text-doom-hi",
2149
+ className: "shrink-0 truncate text-base font-semibold text-po-hi",
2150
2150
  children: target.job
2151
2151
  }),
2152
2152
  target.step === void 0 ? null : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
2153
- className: "text-xs text-doom-faint",
2153
+ className: "text-xs text-po-faint",
2154
2154
  children: "›"
2155
2155
  }), /* @__PURE__ */ jsx("span", {
2156
- className: "min-w-0 truncate text-base text-doom-text",
2156
+ className: "min-w-0 truncate text-base text-po-text",
2157
2157
  children: target.step
2158
2158
  })] }),
2159
2159
  run === void 0 ? null : /* @__PURE__ */ jsx(StatusBadge, {
@@ -2335,7 +2335,7 @@ function StepTerminal({ sessionId, target, run }) {
2335
2335
  size: "xs",
2336
2336
  tone: held ? "blue" : "neutral",
2337
2337
  "data-testid": "step-terminal-control",
2338
- className: held ? "border-doom-blue/60 bg-doom-tint-blue text-doom-hi" : "",
2338
+ className: held ? "border-po-blue/60 bg-po-tint-blue text-po-hi" : "",
2339
2339
  children: held ? "keyboard yours" : "watching"
2340
2340
  }), writable ? /* @__PURE__ */ jsx(Button, {
2341
2341
  variant: held ? "outline" : "primary",
@@ -2350,9 +2350,9 @@ function StepTerminal({ sessionId, target, run }) {
2350
2350
  "data-testid": "step-terminal-screen",
2351
2351
  tabIndex: 0,
2352
2352
  onKeyDown,
2353
- className: `min-h-0 flex-1 overflow-y-auto rounded-md border bg-doom-deep px-4 py-3 font-mono text-sm leading-tight text-doom-text outline-none ${held ? "border-doom-blue/60" : "border-doom-border"}`,
2353
+ className: `min-h-0 flex-1 overflow-y-auto rounded-md border bg-po-deep px-4 py-3 font-mono text-sm leading-tight text-po-text outline-none ${held ? "border-po-blue/60" : "border-po-border"}`,
2354
2354
  children: [lines.length === 0 ? /* @__PURE__ */ jsx("span", {
2355
- className: "text-sm text-doom-dim",
2355
+ className: "text-sm text-po-dim",
2356
2356
  children: capabilities?.readable === false ? capabilities.reason ?? "This run has no terminal to read." : "waiting for the run to paint…"
2357
2357
  }) : lines.map((line, index) => /* @__PURE__ */ jsx(ScreenLine, { line }, index)), held && !ended ? /* @__PURE__ */ jsx(StreamCursor, { className: "mt-0.5 h-[12px] w-1.5" }) : null]
2358
2358
  }),
@@ -2361,18 +2361,18 @@ function StepTerminal({ sessionId, target, run }) {
2361
2361
  children: [
2362
2362
  /* @__PURE__ */ jsx("span", {
2363
2363
  "data-testid": "step-terminal-hint",
2364
- className: "text-sm text-doom-dim",
2364
+ className: "text-sm text-po-dim",
2365
2365
  children: held ? "keys go to the run · ctrl-c and ctrl-d pass through · esc releases the keyboard" : capabilities?.writable === false ? capabilities.reason ?? "this run cannot be typed into" : "read-only until you take control · the run keeps going either way"
2366
2366
  }),
2367
2367
  /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1" }),
2368
2368
  ended ? /* @__PURE__ */ jsx("span", {
2369
2369
  "data-testid": "step-terminal-ended",
2370
- className: "text-sm text-doom-dim",
2370
+ className: "text-sm text-po-dim",
2371
2371
  children: "the run has settled; this is its last screen"
2372
2372
  }) : null,
2373
2373
  notice === void 0 ? null : /* @__PURE__ */ jsx("span", {
2374
2374
  "data-testid": "step-terminal-notice",
2375
- className: "text-sm text-doom-yellow",
2375
+ className: "text-sm text-po-yellow",
2376
2376
  children: notice
2377
2377
  })
2378
2378
  ]
@@ -2385,35 +2385,35 @@ function StepTerminal({ sessionId, target, run }) {
2385
2385
  const STATE_ICON = {
2386
2386
  pending: {
2387
2387
  glyph: "○",
2388
- className: "text-doom-faint"
2388
+ className: "text-po-faint"
2389
2389
  },
2390
2390
  running: {
2391
2391
  glyph: "●",
2392
- className: "text-doom-blue"
2392
+ className: "text-po-blue"
2393
2393
  },
2394
2394
  resumed: {
2395
2395
  glyph: "●",
2396
- className: "text-doom-blue"
2396
+ className: "text-po-blue"
2397
2397
  },
2398
2398
  completed: {
2399
2399
  glyph: "✓",
2400
- className: "text-doom-green"
2400
+ className: "text-po-green"
2401
2401
  },
2402
2402
  failed: {
2403
2403
  glyph: "✕",
2404
- className: "text-doom-red"
2404
+ className: "text-po-red"
2405
2405
  },
2406
2406
  skipped: {
2407
2407
  glyph: "↷",
2408
- className: "text-doom-faint"
2408
+ className: "text-po-faint"
2409
2409
  },
2410
2410
  pause_requested: {
2411
2411
  glyph: "!",
2412
- className: "text-doom-yellow"
2412
+ className: "text-po-yellow"
2413
2413
  },
2414
2414
  paused: {
2415
2415
  glyph: "!",
2416
- className: "text-doom-yellow"
2416
+ className: "text-po-yellow"
2417
2417
  }
2418
2418
  };
2419
2419
  const ACTIVE_STATES = /* @__PURE__ */ new Set([
@@ -2509,35 +2509,35 @@ function WorkflowPicker({ runs, selected, onSelect, className }) {
2509
2509
  variant: "outline",
2510
2510
  size: "sm",
2511
2511
  "data-testid": "workflow-picker",
2512
- className: cn("h-8 w-full max-w-[360px] justify-start border-doom-border bg-doom-deep px-2.5", className),
2512
+ className: cn("h-8 w-full max-w-[360px] justify-start border-po-border bg-po-deep px-2.5", className),
2513
2513
  children: [
2514
- /* @__PURE__ */ jsx(SearchIcon, { className: "h-3 w-3 shrink-0 text-doom-faint" }),
2514
+ /* @__PURE__ */ jsx(SearchIcon, { className: "h-3 w-3 shrink-0 text-po-faint" }),
2515
2515
  /* @__PURE__ */ jsx("span", {
2516
- className: "min-w-0 flex-1 truncate text-left text-base font-semibold text-doom-hi",
2516
+ className: "min-w-0 flex-1 truncate text-left text-base font-semibold text-po-hi",
2517
2517
  children: selected.displayName
2518
2518
  }),
2519
2519
  /* @__PURE__ */ jsxs("span", {
2520
- className: "shrink-0 text-sm font-normal text-doom-dim",
2520
+ className: "shrink-0 text-sm font-normal text-po-dim",
2521
2521
  children: [runs.length, " workflows"]
2522
2522
  }),
2523
- /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-3 w-3 shrink-0 text-doom-dim" })
2523
+ /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-3 w-3 shrink-0 text-po-dim" })
2524
2524
  ]
2525
2525
  })
2526
2526
  }), /* @__PURE__ */ jsxs(PopoverContent, {
2527
2527
  side: "bottom",
2528
2528
  align: "start",
2529
2529
  "data-testid": "workflow-picker-popover",
2530
- className: "w-[440px] border-doom-edge-blue",
2530
+ className: "w-[440px] border-po-edge-blue",
2531
2531
  children: [
2532
2532
  /* @__PURE__ */ jsxs(PopoverHeader, { children: [/* @__PURE__ */ jsx(SectionLabel, {
2533
- className: "text-doom-blue",
2533
+ className: "text-po-blue",
2534
2534
  children: "workflow"
2535
2535
  }), /* @__PURE__ */ jsx("span", {
2536
- className: "truncate text-sm text-doom-dim",
2536
+ className: "truncate text-sm text-po-dim",
2537
2537
  children: selected.displayName
2538
2538
  })] }),
2539
2539
  /* @__PURE__ */ jsx("div", {
2540
- className: "border-b border-doom-border-soft p-1.5",
2540
+ className: "border-b border-po-border-soft p-1.5",
2541
2541
  children: /* @__PURE__ */ jsx(Input, {
2542
2542
  autoFocus: true,
2543
2543
  "data-testid": "workflow-picker-search",
@@ -2566,19 +2566,19 @@ function WorkflowPicker({ runs, selected, onSelect, className }) {
2566
2566
  onSelect(run);
2567
2567
  setOpen(false);
2568
2568
  },
2569
- className: cn("w-full gap-2.5 py-1.5 transition-colors hover:bg-doom-deep focus-visible:bg-doom-deep", active && "bg-doom-tint-blue hover:brightness-125"),
2569
+ className: cn("w-full gap-2.5 py-1.5 transition-colors hover:bg-po-deep focus-visible:bg-po-deep", active && "bg-po-tint-blue hover:brightness-125"),
2570
2570
  children: [
2571
2571
  /* @__PURE__ */ jsx("span", {
2572
- className: "w-14 shrink-0 truncate text-sm text-doom-dim",
2572
+ className: "w-14 shrink-0 truncate text-sm text-po-dim",
2573
2573
  children: runState(run)
2574
2574
  }),
2575
2575
  /* @__PURE__ */ jsx(OptionLabel, {
2576
2576
  density: "compact",
2577
- className: active ? "text-doom-blue" : "text-doom-hi",
2577
+ className: active ? "text-po-blue" : "text-po-hi",
2578
2578
  children: run.displayName
2579
2579
  }),
2580
2580
  /* @__PURE__ */ jsx("span", {
2581
- className: "max-w-[40%] truncate text-sm text-doom-dim",
2581
+ className: "max-w-[40%] truncate text-sm text-po-dim",
2582
2582
  children: [run.position?.job, run.position?.step].filter(Boolean).join(" · ")
2583
2583
  }),
2584
2584
  /* @__PURE__ */ jsx(Dot, {
@@ -2602,7 +2602,7 @@ function WorkflowPicker({ runs, selected, onSelect, className }) {
2602
2602
  "data-testid": `workflow-filter-${candidate}`,
2603
2603
  "data-current": current,
2604
2604
  onClick: () => setFilter(candidate),
2605
- className: cn(current && "bg-doom-blue/25 font-semibold text-doom-blue hover:bg-doom-blue/25"),
2605
+ className: cn(current && "bg-po-blue/25 font-semibold text-po-blue hover:bg-po-blue/25"),
2606
2606
  children: candidate
2607
2607
  }, candidate);
2608
2608
  })]
@@ -2621,7 +2621,7 @@ function StepRow({ step, now, selected, onSelect }) {
2621
2621
  "data-step-status": step.status,
2622
2622
  "data-active": selected,
2623
2623
  onClick: onSelect,
2624
- className: cn("flex w-full cursor-pointer flex-col gap-0.5 rounded px-2 py-1.5 text-left enabled:hover:bg-doom-deep disabled:cursor-default", selected && "bg-doom-tint-blue ring-1 ring-inset ring-doom-blue/40"),
2624
+ className: cn("flex w-full cursor-pointer flex-col gap-0.5 rounded px-2 py-1.5 text-left enabled:hover:bg-po-deep disabled:cursor-default", selected && "bg-po-tint-blue ring-1 ring-inset ring-po-blue/40"),
2625
2625
  children: [/* @__PURE__ */ jsxs("span", {
2626
2626
  className: "flex items-center gap-2",
2627
2627
  children: [
@@ -2630,23 +2630,23 @@ function StepRow({ step, now, selected, onSelect }) {
2630
2630
  children: icon.glyph
2631
2631
  }),
2632
2632
  /* @__PURE__ */ jsx("span", {
2633
- className: cn("min-w-0 flex-1 truncate text-base font-medium", step.status === "failed" ? "text-doom-red" : "text-doom-text"),
2633
+ className: cn("min-w-0 flex-1 truncate text-base font-medium", step.status === "failed" ? "text-po-red" : "text-po-text"),
2634
2634
  children: step.name
2635
2635
  }),
2636
2636
  step.group === void 0 ? null : /* @__PURE__ */ jsxs("span", {
2637
2637
  "data-testid": `step-group-${step.name}`,
2638
- className: "max-w-24 shrink-0 truncate text-sm text-doom-dim",
2638
+ className: "max-w-24 shrink-0 truncate text-sm text-po-dim",
2639
2639
  children: ["∥ ", step.group]
2640
2640
  }),
2641
2641
  /* @__PURE__ */ jsx("span", {
2642
- className: "shrink-0 text-sm text-doom-dim",
2642
+ className: "shrink-0 text-sm text-po-dim",
2643
2643
  children: step.status === "pending" ? "pending" : spanDuration(step.startedAt, step.endedAt, now) ?? ""
2644
2644
  })
2645
2645
  ]
2646
2646
  }), step.reason === void 0 ? null : /* @__PURE__ */ jsx("span", {
2647
2647
  "data-testid": `step-reason-${step.name}`,
2648
2648
  title: step.reason,
2649
- className: cn("truncate pl-5 text-sm", step.status === "failed" ? "text-doom-red" : "text-doom-dim"),
2649
+ className: cn("truncate pl-5 text-sm", step.status === "failed" ? "text-po-red" : "text-po-dim"),
2650
2650
  children: step.reason
2651
2651
  })]
2652
2652
  });
@@ -2681,12 +2681,12 @@ function DeleteWorkflowDialog({ run, sessionId, onClose, onDeleted }) {
2681
2681
  "?"
2682
2682
  ] }) }), /* @__PURE__ */ jsxs(DialogBody, { children: [
2683
2683
  /* @__PURE__ */ jsx("p", {
2684
- className: "text-sm leading-relaxed text-doom-dim",
2684
+ className: "text-sm leading-relaxed text-po-dim",
2685
2685
  children: "This permanently removes the workflow run, including its logs and artifacts. This action cannot be undone."
2686
2686
  }),
2687
2687
  error === void 0 ? null : /* @__PURE__ */ jsx("p", {
2688
2688
  "data-testid": "delete-workflow-error",
2689
- className: "text-base text-doom-red",
2689
+ className: "text-base text-po-red",
2690
2690
  children: error
2691
2691
  }),
2692
2692
  /* @__PURE__ */ jsxs(DialogFooter, { children: [
@@ -2727,10 +2727,10 @@ function StopWorkflowButton({ run, sessionId }) {
2727
2727
  });
2728
2728
  };
2729
2729
  return /* @__PURE__ */ jsxs("div", {
2730
- className: "flex shrink-0 flex-col gap-1 border-t border-doom-border-soft p-1.5",
2730
+ className: "flex shrink-0 flex-col gap-1 border-t border-po-border-soft p-1.5",
2731
2731
  children: [error === void 0 ? null : /* @__PURE__ */ jsx("span", {
2732
2732
  "data-testid": "stop-workflow-error",
2733
- className: "px-1 text-base text-doom-red",
2733
+ className: "px-1 text-base text-po-red",
2734
2734
  children: error
2735
2735
  }), /* @__PURE__ */ jsx(Button, {
2736
2736
  variant: "danger-outline",
@@ -2768,12 +2768,12 @@ function SectionHeading({ label, meta }) {
2768
2768
  className: "flex items-center px-4 pb-1 pt-3",
2769
2769
  children: [
2770
2770
  /* @__PURE__ */ jsx("span", {
2771
- className: "text-lg font-semibold text-doom-hi",
2771
+ className: "text-lg font-semibold text-po-hi",
2772
2772
  children: label
2773
2773
  }),
2774
2774
  /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1" }),
2775
2775
  meta === void 0 ? null : /* @__PURE__ */ jsx("span", {
2776
- className: "text-sm text-doom-dim",
2776
+ className: "text-sm text-po-dim",
2777
2777
  children: meta
2778
2778
  })
2779
2779
  ]
@@ -2785,7 +2785,7 @@ function RunHeader({ run, runs, now, onSelectRun }) {
2785
2785
  const elapsed = spanDuration(run.startedAt, run.finishedAt, now);
2786
2786
  return /* @__PURE__ */ jsxs("div", {
2787
2787
  "data-testid": "workflow-dock-run",
2788
- className: "flex shrink-0 flex-col gap-1.5 border-b border-doom-border px-4 py-3",
2788
+ className: "flex shrink-0 flex-col gap-1.5 border-b border-po-border px-4 py-3",
2789
2789
  children: [
2790
2790
  /* @__PURE__ */ jsxs("div", {
2791
2791
  className: "flex min-w-0 items-center gap-2",
@@ -2796,7 +2796,7 @@ function RunHeader({ run, runs, now, onSelectRun }) {
2796
2796
  }),
2797
2797
  /* @__PURE__ */ jsx("span", {
2798
2798
  title: run.displayName,
2799
- className: "min-w-0 flex-1 truncate text-base font-semibold text-doom-hi",
2799
+ className: "min-w-0 flex-1 truncate text-base font-semibold text-po-hi",
2800
2800
  children: run.displayName
2801
2801
  }),
2802
2802
  /* @__PURE__ */ jsx(StatusBadge, {
@@ -2809,7 +2809,7 @@ function RunHeader({ run, runs, now, onSelectRun }) {
2809
2809
  ]
2810
2810
  }),
2811
2811
  /* @__PURE__ */ jsxs("div", {
2812
- className: "flex min-w-0 items-center gap-1.5 text-sm text-doom-dim",
2812
+ className: "flex min-w-0 items-center gap-1.5 text-sm text-po-dim",
2813
2813
  children: [/* @__PURE__ */ jsx("span", {
2814
2814
  title: where,
2815
2815
  className: "min-w-0 flex-1 truncate",
@@ -2835,7 +2835,7 @@ function AttentionBanner({ run }) {
2835
2835
  return /* @__PURE__ */ jsxs("div", {
2836
2836
  "data-testid": "workflow-dock-attention",
2837
2837
  "data-attention": attention.kind,
2838
- className: cn("mx-3 mt-3 flex flex-col gap-1 rounded-md border px-3 py-2", paused ? "border-doom-edge-yellow bg-doom-tint-yellow/40" : "border-doom-edge-red bg-doom-tint-red/40"),
2838
+ className: cn("mx-3 mt-3 flex flex-col gap-1 rounded-md border px-3 py-2", paused ? "border-po-edge-yellow bg-po-tint-yellow/40" : "border-po-edge-red bg-po-tint-red/40"),
2839
2839
  children: [
2840
2840
  /* @__PURE__ */ jsxs("div", {
2841
2841
  className: "flex items-center gap-2",
@@ -2844,16 +2844,16 @@ function AttentionBanner({ run }) {
2844
2844
  tone: paused ? "running" : "error",
2845
2845
  children: attention.kind
2846
2846
  }), /* @__PURE__ */ jsx("span", {
2847
- className: "min-w-0 flex-1 text-sm text-doom-dim",
2847
+ className: "min-w-0 flex-1 text-sm text-po-dim",
2848
2848
  children: paused ? "waiting to be resumed" : "needs a look"
2849
2849
  })]
2850
2850
  }),
2851
2851
  /* @__PURE__ */ jsx("span", {
2852
- className: "break-words text-base text-doom-text",
2852
+ className: "break-words text-base text-po-text",
2853
2853
  children: attention.text
2854
2854
  }),
2855
2855
  /* @__PURE__ */ jsx("span", {
2856
- className: "text-sm text-doom-dim",
2856
+ className: "text-sm text-po-dim",
2857
2857
  children: paused ? "ask the agent in this conversation to resume it" : "ask the agent in this conversation to diagnose or recover it"
2858
2858
  })
2859
2859
  ]
@@ -2877,7 +2877,7 @@ function ActiveNow({ run, now, onOpenStep }) {
2877
2877
  "data-testid": `workflow-dock-active-${step.name}`,
2878
2878
  title: `open ${step.name}`,
2879
2879
  onClick: () => onOpenStep(job, step.name),
2880
- className: "flex w-full cursor-pointer items-center gap-2 rounded px-2 py-1.5 text-left hover:bg-doom-panel",
2880
+ className: "flex w-full cursor-pointer items-center gap-2 rounded px-2 py-1.5 text-left hover:bg-po-panel",
2881
2881
  children: [
2882
2882
  /* @__PURE__ */ jsx(Dot, {
2883
2883
  tone: paused ? "yellow" : "blue",
@@ -2886,15 +2886,15 @@ function ActiveNow({ run, now, onOpenStep }) {
2886
2886
  /* @__PURE__ */ jsxs("span", {
2887
2887
  className: "flex min-w-0 flex-1 flex-col",
2888
2888
  children: [/* @__PURE__ */ jsx("span", {
2889
- className: "truncate text-base font-semibold text-doom-hi",
2889
+ className: "truncate text-base font-semibold text-po-hi",
2890
2890
  children: step.name
2891
2891
  }), /* @__PURE__ */ jsxs("span", {
2892
- className: "truncate text-sm text-doom-dim",
2892
+ className: "truncate text-sm text-po-dim",
2893
2893
  children: [job, step.group === void 0 ? "" : ` · ∥ ${step.group}`]
2894
2894
  })]
2895
2895
  }),
2896
2896
  /* @__PURE__ */ jsx("span", {
2897
- className: "shrink-0 text-sm text-doom-dim",
2897
+ className: "shrink-0 text-sm text-po-dim",
2898
2898
  children: spanDuration(step.startedAt, step.endedAt, now) ?? ""
2899
2899
  })
2900
2900
  ]
@@ -2933,24 +2933,24 @@ function JobTree({ run, now, onOpenStep }) {
2933
2933
  ...current,
2934
2934
  [job.name]: !open
2935
2935
  })),
2936
- className: "flex w-full cursor-pointer items-center gap-2 rounded px-2 py-1.5 text-left hover:bg-doom-panel",
2936
+ className: "flex w-full cursor-pointer items-center gap-2 rounded px-2 py-1.5 text-left hover:bg-po-panel",
2937
2937
  children: [
2938
- open ? /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-2.5 w-2.5 shrink-0 text-doom-faint" }) : /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-2.5 w-2.5 shrink-0 text-doom-faint" }),
2938
+ open ? /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-2.5 w-2.5 shrink-0 text-po-faint" }) : /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-2.5 w-2.5 shrink-0 text-po-faint" }),
2939
2939
  /* @__PURE__ */ jsx("span", {
2940
2940
  className: `w-3 shrink-0 text-xs ${icon.className}`,
2941
2941
  children: icon.glyph
2942
2942
  }),
2943
2943
  /* @__PURE__ */ jsx("span", {
2944
- className: cn("min-w-0 flex-1 truncate text-base font-semibold", job.status === "failed" ? "text-doom-red" : "text-doom-hi"),
2944
+ className: cn("min-w-0 flex-1 truncate text-base font-semibold", job.status === "failed" ? "text-po-red" : "text-po-hi"),
2945
2945
  children: job.name
2946
2946
  }),
2947
2947
  /* @__PURE__ */ jsx("span", {
2948
- className: "shrink-0 text-sm text-doom-dim",
2948
+ className: "shrink-0 text-sm text-po-dim",
2949
2949
  children: job.status === "pending" ? "pending" : open || job.steps.length === 0 ? spanDuration(job.startedAt, job.endedAt, now) ?? "" : `${finished}/${job.steps.length} steps`
2950
2950
  })
2951
2951
  ]
2952
2952
  }), open && job.steps.length > 0 ? /* @__PURE__ */ jsx("div", {
2953
- className: "ml-4 flex flex-col gap-0.5 border-l border-doom-border-soft pl-1",
2953
+ className: "ml-4 flex flex-col gap-0.5 border-l border-po-border-soft pl-1",
2954
2954
  children: job.steps.map((step) => /* @__PURE__ */ jsx(StepRow, {
2955
2955
  step,
2956
2956
  now,
@@ -3007,11 +3007,11 @@ function WorkflowDockView({ runs, run, now, sessionId, onSelectRun, onOpenStep,
3007
3007
  run,
3008
3008
  sessionId
3009
3009
  }, workflowRunIdentity(run)), /* @__PURE__ */ jsx("p", {
3010
- className: "px-3 pb-2 text-sm text-doom-dim",
3010
+ className: "px-3 pb-2 text-sm text-po-dim",
3011
3011
  children: "this session runs the workflow; removing or restarting it stops the run"
3012
3012
  })]
3013
3013
  }) : /* @__PURE__ */ jsx("div", {
3014
- className: "flex shrink-0 border-t border-doom-border-soft p-1.5",
3014
+ className: "flex shrink-0 border-t border-po-border-soft p-1.5",
3015
3015
  children: /* @__PURE__ */ jsx(Button, {
3016
3016
  variant: "danger-outline",
3017
3017
  size: "xs",
@@ -3169,7 +3169,7 @@ const BOOLEAN_TYPE = "boolean";
3169
3169
  const BOOLEAN_VALUES = ["true", "false"];
3170
3170
  function FieldLabel({ children }) {
3171
3171
  return /* @__PURE__ */ jsx("span", {
3172
- className: "text-base font-medium text-doom-text",
3172
+ className: "text-base font-medium text-po-text",
3173
3173
  children
3174
3174
  });
3175
3175
  }
@@ -3186,9 +3186,9 @@ function InputField({ input, value, onChange }) {
3186
3186
  "data-testid": `launch-input-${input.name}`,
3187
3187
  children: [
3188
3188
  /* @__PURE__ */ jsxs("span", {
3189
- className: "min-w-0 truncate text-base font-medium text-doom-text sm:w-28 sm:shrink-0",
3189
+ className: "min-w-0 truncate text-base font-medium text-po-text sm:w-28 sm:shrink-0",
3190
3190
  children: [input.name, input.required === true ? /* @__PURE__ */ jsx("span", {
3191
- className: "text-doom-yellow",
3191
+ className: "text-po-yellow",
3192
3192
  children: " *"
3193
3193
  }) : null]
3194
3194
  }),
@@ -3209,7 +3209,7 @@ function InputField({ input, value, onChange }) {
3209
3209
  }, option)) })]
3210
3210
  }),
3211
3211
  /* @__PURE__ */ jsx("span", {
3212
- className: "min-w-0 truncate text-sm text-doom-dim sm:w-40 sm:shrink-0",
3212
+ className: "min-w-0 truncate text-sm text-po-dim sm:w-40 sm:shrink-0",
3213
3213
  children: hint
3214
3214
  })
3215
3215
  ]
@@ -3234,7 +3234,7 @@ function PickField({ label, testId, options, value, hint, onChange }) {
3234
3234
  }, option)) })]
3235
3235
  }),
3236
3236
  /* @__PURE__ */ jsx("span", {
3237
- className: "text-sm text-doom-dim",
3237
+ className: "text-sm text-po-dim",
3238
3238
  children: hint
3239
3239
  })
3240
3240
  ]
@@ -3285,7 +3285,7 @@ function LaunchWorkflowDialog({ sessionId, workflow, cwd, initialPrompt, send, o
3285
3285
  className: "flex min-w-0 flex-col items-start gap-1 sm:flex-row sm:items-center sm:gap-2.5",
3286
3286
  children: [
3287
3287
  /* @__PURE__ */ jsx("span", {
3288
- className: "text-sm text-doom-dim",
3288
+ className: "text-sm text-po-dim",
3289
3289
  children: "launch workflow"
3290
3290
  }),
3291
3291
  /* @__PURE__ */ jsx(DialogTitle, {
@@ -3301,7 +3301,7 @@ function LaunchWorkflowDialog({ sessionId, workflow, cwd, initialPrompt, send, o
3301
3301
  ]
3302
3302
  }) }), /* @__PURE__ */ jsxs(DialogBody, { children: [
3303
3303
  /* @__PURE__ */ jsx("p", {
3304
- className: "text-sm leading-relaxed text-doom-dim",
3304
+ className: "text-sm leading-relaxed text-po-dim",
3305
3305
  children: workflow.description || "This workflow declares no description."
3306
3306
  }),
3307
3307
  /* @__PURE__ */ jsxs("div", {
@@ -3318,7 +3318,7 @@ function LaunchWorkflowDialog({ sessionId, workflow, cwd, initialPrompt, send, o
3318
3318
  onKeyDown: onPromptKeyDown
3319
3319
  }),
3320
3320
  /* @__PURE__ */ jsx("span", {
3321
- className: "text-sm text-doom-dim",
3321
+ className: "text-sm text-po-dim",
3322
3322
  children: "enter launches · shift+enter for a new line"
3323
3323
  })
3324
3324
  ]
@@ -3328,7 +3328,7 @@ function LaunchWorkflowDialog({ sessionId, workflow, cwd, initialPrompt, send, o
3328
3328
  children: [/* @__PURE__ */ jsxs("div", {
3329
3329
  className: "flex items-center gap-2",
3330
3330
  children: [/* @__PURE__ */ jsx(FieldLabel, { children: "Inputs" }), /* @__PURE__ */ jsxs("span", {
3331
- className: "text-sm text-doom-dim",
3331
+ className: "text-sm text-po-dim",
3332
3332
  children: [
3333
3333
  "workflow_dispatch · ",
3334
3334
  workflow.inputs.length,
@@ -3352,7 +3352,7 @@ function LaunchWorkflowDialog({ sessionId, workflow, cwd, initialPrompt, send, o
3352
3352
  children: [
3353
3353
  /* @__PURE__ */ jsx(FieldLabel, { children: "Runner" }),
3354
3354
  workflow.runners === void 0 || workflow.runners.length === 0 ? /* @__PURE__ */ jsx("span", {
3355
- className: "flex h-7 items-center text-base text-doom-dim",
3355
+ className: "flex h-7 items-center text-base text-po-dim",
3356
3356
  children: "whatever the workflow resolves"
3357
3357
  }) : /* @__PURE__ */ jsxs(Select, {
3358
3358
  value: runner,
@@ -3367,7 +3367,7 @@ function LaunchWorkflowDialog({ sessionId, workflow, cwd, initialPrompt, send, o
3367
3367
  }, choice)) })]
3368
3368
  }),
3369
3369
  /* @__PURE__ */ jsx("span", {
3370
- className: "text-sm text-doom-dim",
3370
+ className: "text-sm text-po-dim",
3371
3371
  children: workflow.runners === void 0 ? "no runner map declared" : "the runners every step agrees on"
3372
3372
  })
3373
3373
  ]
@@ -3393,11 +3393,11 @@ function LaunchWorkflowDialog({ sessionId, workflow, cwd, initialPrompt, send, o
3393
3393
  children: [
3394
3394
  /* @__PURE__ */ jsx(FieldLabel, { children: "Jobs" }),
3395
3395
  /* @__PURE__ */ jsx("span", {
3396
- className: "flex h-7 items-center text-base text-doom-dim",
3396
+ className: "flex h-7 items-center text-base text-po-dim",
3397
3397
  children: workflow.jobs.map((job) => job.name).join(" → ") || "none declared"
3398
3398
  }),
3399
3399
  /* @__PURE__ */ jsx("span", {
3400
- className: "text-sm text-doom-dim",
3400
+ className: "text-sm text-po-dim",
3401
3401
  children: "in the order the file declares them"
3402
3402
  })
3403
3403
  ]
@@ -3407,11 +3407,11 @@ function LaunchWorkflowDialog({ sessionId, workflow, cwd, initialPrompt, send, o
3407
3407
  children: [
3408
3408
  /* @__PURE__ */ jsx(FieldLabel, { children: "Cwd" }),
3409
3409
  /* @__PURE__ */ jsx("span", {
3410
- className: "flex h-7 items-center font-mono text-sm text-doom-dim",
3410
+ className: "flex h-7 items-center font-mono text-sm text-po-dim",
3411
3411
  children: cwd
3412
3412
  }),
3413
3413
  /* @__PURE__ */ jsx("span", {
3414
- className: "text-sm text-doom-dim",
3414
+ className: "text-sm text-po-dim",
3415
3415
  children: "the session's directory"
3416
3416
  })
3417
3417
  ]
@@ -3419,23 +3419,23 @@ function LaunchWorkflowDialog({ sessionId, workflow, cwd, initialPrompt, send, o
3419
3419
  ]
3420
3420
  }),
3421
3421
  /* @__PURE__ */ jsxs("div", {
3422
- className: "flex flex-col gap-1 rounded-md border border-doom-border bg-doom-deep px-3 py-2",
3422
+ className: "flex flex-col gap-1 rounded-md border border-po-border bg-po-deep px-3 py-2",
3423
3423
  children: [/* @__PURE__ */ jsx(FieldLabel, { children: "Sent to the session" }), /* @__PURE__ */ jsx("pre", {
3424
3424
  "data-testid": "launch-line",
3425
- className: "whitespace-pre-wrap break-words font-mono text-sm text-doom-green",
3425
+ className: "whitespace-pre-wrap break-words font-mono text-sm text-po-green",
3426
3426
  children: line
3427
3427
  })]
3428
3428
  }),
3429
3429
  problems.length === 0 ? null : /* @__PURE__ */ jsx("p", {
3430
3430
  "data-testid": "launch-problems",
3431
- className: "text-base text-doom-yellow",
3431
+ className: "text-base text-po-yellow",
3432
3432
  children: problems.join(" ")
3433
3433
  }),
3434
3434
  /* @__PURE__ */ jsxs(DialogFooter, {
3435
3435
  className: "flex-wrap sm:flex-nowrap",
3436
3436
  children: [
3437
3437
  /* @__PURE__ */ jsx("span", {
3438
- className: "w-full text-sm text-doom-dim sm:w-auto",
3438
+ className: "w-full text-sm text-po-dim sm:w-auto",
3439
3439
  children: "the run appears on the board as soon as it starts"
3440
3440
  }),
3441
3441
  /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1" }),
@@ -3479,10 +3479,10 @@ function Detail({ workflow }) {
3479
3479
  children: rows.map(([label, value]) => /* @__PURE__ */ jsxs("div", {
3480
3480
  className: "flex gap-2",
3481
3481
  children: [/* @__PURE__ */ jsx("dt", {
3482
- className: "w-16 shrink-0 text-doom-dim",
3482
+ className: "w-16 shrink-0 text-po-dim",
3483
3483
  children: label
3484
3484
  }), /* @__PURE__ */ jsx("dd", {
3485
- className: "min-w-0 break-words text-doom-dim",
3485
+ className: "min-w-0 break-words text-po-dim",
3486
3486
  children: value
3487
3487
  })]
3488
3488
  }, label))
@@ -3498,13 +3498,13 @@ function WorkflowRow({ workflow, selected, inspected, onSelect, onLaunch, onInsp
3498
3498
  "data-selected": selected,
3499
3499
  onClick: onSelect,
3500
3500
  onDoubleClick: onLaunch,
3501
- className: `flex cursor-pointer flex-col gap-1 border-l-2 px-4 py-2 ${selected ? "border-doom-blue bg-doom-panel" : "border-transparent hover:bg-doom-panel/60"}`,
3501
+ className: `flex cursor-pointer flex-col gap-1 border-l-2 px-4 py-2 ${selected ? "border-po-blue bg-po-panel" : "border-transparent hover:bg-po-panel/60"}`,
3502
3502
  children: [
3503
3503
  /* @__PURE__ */ jsxs("div", {
3504
3504
  className: "flex min-w-0 items-center gap-2",
3505
3505
  children: [
3506
3506
  /* @__PURE__ */ jsx("span", {
3507
- className: "truncate text-base font-semibold text-doom-hi",
3507
+ className: "truncate text-base font-semibold text-po-hi",
3508
3508
  children: workflow.name
3509
3509
  }),
3510
3510
  workflow.tags.map((tag) => /* @__PURE__ */ jsx(Badge, {
@@ -3514,17 +3514,17 @@ function WorkflowRow({ workflow, selected, inspected, onSelect, onLaunch, onInsp
3514
3514
  }, tag)),
3515
3515
  /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1" }),
3516
3516
  /* @__PURE__ */ jsx("span", {
3517
- className: `shrink-0 text-sm ${workflow.error === void 0 ? "text-doom-cyan" : "text-doom-red"}`,
3517
+ className: `shrink-0 text-sm ${workflow.error === void 0 ? "text-po-cyan" : "text-po-red"}`,
3518
3518
  children: workflow.error === void 0 ? `${jobs} job${jobs === 1 ? "" : "s"}` : "needs fixing"
3519
3519
  })
3520
3520
  ]
3521
3521
  }),
3522
3522
  /* @__PURE__ */ jsx("span", {
3523
- className: "truncate text-sm text-doom-dim",
3523
+ className: "truncate text-sm text-po-dim",
3524
3524
  children: workflow.description || workflow.relativePath
3525
3525
  }),
3526
3526
  workflow.error === void 0 ? /* @__PURE__ */ jsxs("span", {
3527
- className: "truncate text-sm text-doom-dim",
3527
+ className: "truncate text-sm text-po-dim",
3528
3528
  children: [
3529
3529
  workflow.inputs.length,
3530
3530
  " input",
@@ -3535,7 +3535,7 @@ function WorkflowRow({ workflow, selected, inspected, onSelect, onLaunch, onInsp
3535
3535
  workflow.artifacts.length > 0 ? ` · ${workflow.artifacts.length} artifacts` : ""
3536
3536
  ]
3537
3537
  }) : /* @__PURE__ */ jsx("span", {
3538
- className: "truncate text-base text-doom-red",
3538
+ className: "truncate text-base text-po-red",
3539
3539
  children: workflow.error
3540
3540
  }),
3541
3541
  selected ? /* @__PURE__ */ jsxs("div", {
@@ -3555,7 +3555,7 @@ function WorkflowRow({ workflow, selected, inspected, onSelect, onLaunch, onInsp
3555
3555
  variant: "link",
3556
3556
  size: "xs",
3557
3557
  "data-testid": `catalog-inspect-${workflow.name}`,
3558
- className: "px-0 text-doom-dim",
3558
+ className: "px-0 text-po-dim",
3559
3559
  onClick: (event) => {
3560
3560
  event.stopPropagation();
3561
3561
  onInspect();
@@ -3607,13 +3607,13 @@ function WorkflowCatalogDrawer({ sessionId, onClose, onLaunch }) {
3607
3607
  "data-testid": "workflow-catalog-drawer",
3608
3608
  tabIndex: 0,
3609
3609
  onKeyDown,
3610
- className: "flex w-[min(440px,calc(100vw-24px))] max-w-full shrink-0 flex-col overflow-hidden border-l border-doom-border bg-doom-rail outline-none",
3610
+ className: "flex w-[min(440px,calc(100vw-24px))] max-w-full shrink-0 flex-col overflow-hidden border-l border-po-border bg-po-rail outline-none",
3611
3611
  children: [
3612
3612
  /* @__PURE__ */ jsxs("div", {
3613
- className: "flex h-11 shrink-0 items-center gap-2.5 border-b border-doom-border px-4",
3613
+ className: "flex h-11 shrink-0 items-center gap-2.5 border-b border-po-border px-4",
3614
3614
  children: [
3615
3615
  /* @__PURE__ */ jsx("span", {
3616
- className: "text-lg font-semibold text-doom-hi",
3616
+ className: "text-lg font-semibold text-po-hi",
3617
3617
  children: "workflow catalog"
3618
3618
  }),
3619
3619
  /* @__PURE__ */ jsxs(Badge, {
@@ -3652,7 +3652,7 @@ function WorkflowCatalogDrawer({ sessionId, onClose, onLaunch }) {
3652
3652
  className: "flex min-h-0 flex-1 flex-col overflow-y-auto pb-2",
3653
3653
  children: [shown.length === 0 ? /* @__PURE__ */ jsx("p", {
3654
3654
  "data-testid": "catalog-empty",
3655
- className: "px-4 py-3 text-sm text-doom-dim",
3655
+ className: "px-4 py-3 text-sm text-po-dim",
3656
3656
  children: state.warning ?? (state.workflows.length === 0 ? "no workflows found for this session; add one under automations/workflows" : "nothing matches the filter")
3657
3657
  }) : null, shown.map((workflow) => /* @__PURE__ */ jsx(WorkflowRow, {
3658
3658
  workflow,
@@ -3664,12 +3664,12 @@ function WorkflowCatalogDrawer({ sessionId, onClose, onLaunch }) {
3664
3664
  }, workflow.path))]
3665
3665
  }),
3666
3666
  /* @__PURE__ */ jsxs("div", {
3667
- className: "flex h-8 shrink-0 items-center justify-between border-t border-doom-border-soft bg-doom-deep px-4",
3667
+ className: "flex h-8 shrink-0 items-center justify-between border-t border-po-border-soft bg-po-deep px-4",
3668
3668
  children: [/* @__PURE__ */ jsx("span", {
3669
- className: "shrink-0 text-sm text-doom-dim",
3669
+ className: "shrink-0 text-sm text-po-dim",
3670
3670
  children: "↑↓ choose · enter launch · i inspect · esc close"
3671
3671
  }), /* @__PURE__ */ jsx("span", {
3672
- className: "min-w-0 truncate font-mono text-sm text-doom-dim",
3672
+ className: "min-w-0 truncate font-mono text-sm text-po-dim",
3673
3673
  children: state.cwd
3674
3674
  })]
3675
3675
  })