@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.
- package/README.md +1 -1
- package/dist/apiContracts.cjs +2 -2
- package/dist/apiContracts.cjs.map +1 -1
- package/dist/apiContracts.mjs +2 -2
- package/dist/apiContracts.mjs.map +1 -1
- package/dist/extensions/native.mjs +14 -0
- package/dist/extensions/native.mjs.map +1 -1
- package/dist/extensions/server.cjs +110 -35
- package/dist/extensions/server.cjs.map +1 -1
- package/dist/extensions/server.d.mts +1 -1
- package/dist/extensions/server.mjs +118 -43
- package/dist/extensions/server.mjs.map +1 -1
- package/dist/extensions/web.mjs +151 -151
- package/dist/extensions/web.mjs.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +1 -2
- package/llms.txt +2 -2
- package/package.json +20 -19
package/dist/extensions/web.mjs
CHANGED
|
@@ -276,16 +276,16 @@ const TONE_DOT = {
|
|
|
276
276
|
skipped: "muted"
|
|
277
277
|
};
|
|
278
278
|
const TONE_DETAIL = {
|
|
279
|
-
running: "text-
|
|
280
|
-
paused: "text-
|
|
281
|
-
failed: "text-
|
|
282
|
-
done: "text-
|
|
283
|
-
skipped: "text-
|
|
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-
|
|
287
|
-
failed: "text-
|
|
288
|
-
successful: "text-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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: "
|
|
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: "
|
|
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-
|
|
1421
|
+
className: "text-po-green"
|
|
1422
1422
|
},
|
|
1423
1423
|
empty: {
|
|
1424
1424
|
glyph: "○",
|
|
1425
|
-
className: "text-
|
|
1425
|
+
className: "text-po-yellow"
|
|
1426
1426
|
},
|
|
1427
1427
|
pending: {
|
|
1428
1428
|
glyph: "○",
|
|
1429
|
-
className: "text-
|
|
1429
|
+
className: "text-po-faint"
|
|
1430
1430
|
},
|
|
1431
1431
|
unreadable: {
|
|
1432
1432
|
glyph: "!",
|
|
1433
|
-
className: "text-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
1705
|
+
className: "text-base text-po-yellow",
|
|
1706
1706
|
children: error
|
|
1707
1707
|
}) : content === void 0 ? /* @__PURE__ */ jsx("span", {
|
|
1708
|
-
className: "text-sm text-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
2153
|
+
className: "text-xs text-po-faint",
|
|
2154
2154
|
children: "›"
|
|
2155
2155
|
}), /* @__PURE__ */ jsx("span", {
|
|
2156
|
-
className: "min-w-0 truncate text-base 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
2388
|
+
className: "text-po-faint"
|
|
2389
2389
|
},
|
|
2390
2390
|
running: {
|
|
2391
2391
|
glyph: "●",
|
|
2392
|
-
className: "text-
|
|
2392
|
+
className: "text-po-blue"
|
|
2393
2393
|
},
|
|
2394
2394
|
resumed: {
|
|
2395
2395
|
glyph: "●",
|
|
2396
|
-
className: "text-
|
|
2396
|
+
className: "text-po-blue"
|
|
2397
2397
|
},
|
|
2398
2398
|
completed: {
|
|
2399
2399
|
glyph: "✓",
|
|
2400
|
-
className: "text-
|
|
2400
|
+
className: "text-po-green"
|
|
2401
2401
|
},
|
|
2402
2402
|
failed: {
|
|
2403
2403
|
glyph: "✕",
|
|
2404
|
-
className: "text-
|
|
2404
|
+
className: "text-po-red"
|
|
2405
2405
|
},
|
|
2406
2406
|
skipped: {
|
|
2407
2407
|
glyph: "↷",
|
|
2408
|
-
className: "text-
|
|
2408
|
+
className: "text-po-faint"
|
|
2409
2409
|
},
|
|
2410
2410
|
pause_requested: {
|
|
2411
2411
|
glyph: "!",
|
|
2412
|
-
className: "text-
|
|
2412
|
+
className: "text-po-yellow"
|
|
2413
2413
|
},
|
|
2414
2414
|
paused: {
|
|
2415
2415
|
glyph: "!",
|
|
2416
|
-
className: "text-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
2530
|
+
className: "w-[440px] border-po-edge-blue",
|
|
2531
2531
|
children: [
|
|
2532
2532
|
/* @__PURE__ */ jsxs(PopoverHeader, { children: [/* @__PURE__ */ jsx(SectionLabel, {
|
|
2533
|
-
className: "text-
|
|
2533
|
+
className: "text-po-blue",
|
|
2534
2534
|
children: "workflow"
|
|
2535
2535
|
}), /* @__PURE__ */ jsx("span", {
|
|
2536
|
-
className: "truncate text-sm text-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
3672
|
+
className: "min-w-0 truncate font-mono text-sm text-po-dim",
|
|
3673
3673
|
children: state.cwd
|
|
3674
3674
|
})]
|
|
3675
3675
|
})
|