@tacuchi/agent-workflow-cli 7.3.1 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/tui/app.d.ts.map +1 -1
- package/dist/cli/tui/app.js +195 -52
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/action-modal.d.ts +33 -0
- package/dist/cli/tui/components/action-modal.d.ts.map +1 -0
- package/dist/cli/tui/components/action-modal.js +41 -0
- package/dist/cli/tui/components/action-modal.js.map +1 -0
- package/dist/cli/tui/components/command-palette.d.ts +12 -33
- package/dist/cli/tui/components/command-palette.d.ts.map +1 -1
- package/dist/cli/tui/components/command-palette.js +17 -110
- package/dist/cli/tui/components/command-palette.js.map +1 -1
- package/dist/cli/tui/components/connections-grid.js +3 -3
- package/dist/cli/tui/components/connections-grid.js.map +1 -1
- package/dist/cli/tui/components/connections-table.js +1 -1
- package/dist/cli/tui/components/connections-table.js.map +1 -1
- package/dist/cli/tui/components/family-card.d.ts +10 -0
- package/dist/cli/tui/components/family-card.d.ts.map +1 -0
- package/dist/cli/tui/components/family-card.js +7 -0
- package/dist/cli/tui/components/family-card.js.map +1 -0
- package/dist/cli/tui/components/frame-box.d.ts +10 -0
- package/dist/cli/tui/components/frame-box.d.ts.map +1 -0
- package/dist/cli/tui/components/frame-box.js +9 -0
- package/dist/cli/tui/components/frame-box.js.map +1 -0
- package/dist/cli/tui/components/input-prompt.js +1 -1
- package/dist/cli/tui/components/input-prompt.js.map +1 -1
- package/dist/cli/tui/components/list-row.d.ts +22 -0
- package/dist/cli/tui/components/list-row.d.ts.map +1 -0
- package/dist/cli/tui/components/list-row.js +27 -0
- package/dist/cli/tui/components/list-row.js.map +1 -0
- package/dist/cli/tui/components/page-head.d.ts +14 -5
- package/dist/cli/tui/components/page-head.d.ts.map +1 -1
- package/dist/cli/tui/components/page-head.js +9 -5
- package/dist/cli/tui/components/page-head.js.map +1 -1
- package/dist/cli/tui/components/phase-card.d.ts +14 -0
- package/dist/cli/tui/components/phase-card.d.ts.map +1 -0
- package/dist/cli/tui/components/phase-card.js +8 -0
- package/dist/cli/tui/components/phase-card.js.map +1 -0
- package/dist/cli/tui/components/sectioned-menu.js +1 -1
- package/dist/cli/tui/components/sectioned-menu.js.map +1 -1
- package/dist/cli/tui/components/stat-tile.d.ts +14 -0
- package/dist/cli/tui/components/stat-tile.d.ts.map +1 -0
- package/dist/cli/tui/components/stat-tile.js +22 -0
- package/dist/cli/tui/components/stat-tile.js.map +1 -0
- package/dist/cli/tui/data/workflow-content.d.ts +16 -0
- package/dist/cli/tui/data/workflow-content.d.ts.map +1 -0
- package/dist/cli/tui/data/workflow-content.js +202 -0
- package/dist/cli/tui/data/workflow-content.js.map +1 -0
- package/dist/cli/tui/tabs/mcp-tab.d.ts +6 -11
- package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +107 -180
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +30 -29
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts +18 -8
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +175 -116
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/dist/cli/tui/tabs/status-tab.d.ts +11 -14
- package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/status-tab.js +138 -34
- package/dist/cli/tui/tabs/status-tab.js.map +1 -1
- package/dist/cli/tui/tabs/workflow-tab.d.ts +7 -0
- package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -0
- package/dist/cli/tui/tabs/workflow-tab.js +24 -0
- package/dist/cli/tui/tabs/workflow-tab.js.map +1 -0
- package/package.json +1 -1
- package/dist/cli/tui/tabs/plugins-tab.d.ts +0 -8
- package/dist/cli/tui/tabs/plugins-tab.d.ts.map +0 -1
- package/dist/cli/tui/tabs/plugins-tab.js +0 -635
- package/dist/cli/tui/tabs/plugins-tab.js.map +0 -1
- package/dist/cli/tui/tabs/update-tab.d.ts +0 -20
- package/dist/cli/tui/tabs/update-tab.d.ts.map +0 -1
- package/dist/cli/tui/tabs/update-tab.js +0 -83
- package/dist/cli/tui/tabs/update-tab.js.map +0 -1
|
@@ -1,116 +1,23 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { Box, Text, useInput } from "ink";
|
|
4
|
-
import { useMemo, useState } from "react";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
5
3
|
import { colors, icons } from "../theme.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* En TTY no hay backdrop translúcido — el componente se renderiza en el área
|
|
14
|
-
* de contenido en lugar de la tab activa cuando está abierto (app.tsx maneja
|
|
15
|
-
* esa conmutación).
|
|
16
|
-
*/
|
|
17
|
-
export function CommandPalette({ commands, onRun, onClose, isActive = true }) {
|
|
18
|
-
const [query, setQuery] = useState("");
|
|
19
|
-
const [cursor, setCursor] = useState(0);
|
|
20
|
-
const filtered = useMemo(() => {
|
|
21
|
-
if (!query)
|
|
22
|
-
return commands;
|
|
23
|
-
const q = query.toLowerCase();
|
|
24
|
-
return commands.filter((c) => c.label.toLowerCase().includes(q) || c.ctx.toLowerCase().includes(q));
|
|
25
|
-
}, [query, commands]);
|
|
26
|
-
// Reset cursor cuando cambia el filtro — derivado, no necesita useEffect.
|
|
27
|
-
// (El cursor se ajusta al límite cuando `filtered.length` cambia.)
|
|
28
|
-
useInput((_input, key) => {
|
|
29
|
-
if (key.upArrow) {
|
|
30
|
-
setCursor((c) => Math.max(0, c - 1));
|
|
31
|
-
return;
|
|
4
|
+
export function CommandPalette({ filter, commands, cursor }) {
|
|
5
|
+
// Group by category to render section headers.
|
|
6
|
+
const groups = [];
|
|
7
|
+
for (const c of commands) {
|
|
8
|
+
const last = groups[groups.length - 1];
|
|
9
|
+
if (last && last.category === c.category) {
|
|
10
|
+
last.rows.push(c);
|
|
32
11
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return;
|
|
12
|
+
else {
|
|
13
|
+
groups.push({ category: c.category, rows: [c] });
|
|
36
14
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
onRun(target.id);
|
|
45
|
-
onClose();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}, { isActive });
|
|
49
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: colors.accent, bold: true, children: [icons.promptMark, " "] }), _jsx(Box, { flexGrow: 1, children: _jsx(TextInput, { isDisabled: !isActive, placeholder: "Buscar acci\u00F3n\u2026", onChange: (v) => {
|
|
50
|
-
setQuery(v);
|
|
51
|
-
setCursor(0);
|
|
52
|
-
}, onSubmit: () => {
|
|
53
|
-
const target = filtered[cursor];
|
|
54
|
-
if (target) {
|
|
55
|
-
onRun(target.id);
|
|
56
|
-
onClose();
|
|
57
|
-
}
|
|
58
|
-
} }) }), _jsx(Text, { color: colors.fgFaint, children: "esc" })] }), _jsx(Box, { flexDirection: "column", children: filtered.length === 0 ? (_jsx(Text, { color: colors.fgFaint, children: "(sin coincidencias)" })) : (filtered.map((c, i) => _jsx(CommandRow, { cmd: c, active: i === cursor }, c.id))) })] }));
|
|
59
|
-
}
|
|
60
|
-
function CommandRow({ cmd, active }) {
|
|
61
|
-
return (_jsxs(Box, { children: [_jsxs(Text, { color: active ? colors.accent : colors.fgFaint, bold: active, children: [active ? "› " : " ", cmd.glyph] }), _jsx(Text, { children: " " }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: active ? colors.fgBright : colors.fgSubtle, bold: active, children: cmd.label }) }), _jsx(Text, { color: colors.fgFaint, children: cmd.ctx })] }));
|
|
15
|
+
}
|
|
16
|
+
let runningIdx = 0;
|
|
17
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: colors.accent, paddingX: 2, paddingY: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: colors.accent, bold: true, children: [icons.search, " "] }), _jsx(Text, { color: colors.fgBright, children: filter }), _jsx(Text, { color: colors.accent, children: icons.promptMark })] }), _jsx(Box, { borderStyle: "single", borderColor: colors.borderFaint, borderTop: false, borderLeft: false, borderRight: false, marginBottom: 1 }), commands.length === 0 ? (_jsxs(Text, { color: colors.fgSubtle, children: ["No matches for \u201C", filter || "…", "\u201D."] })) : null, groups.map((g) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: colors.fgMoreSubtle, children: g.category.toUpperCase() }), g.rows.map((c) => {
|
|
18
|
+
const idx = runningIdx++;
|
|
19
|
+
const active = idx === cursor;
|
|
20
|
+
return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: active ? colors.accent : "transparent", bold: true, children: active ? icons.play : " " }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: active ? colors.accent : colors.fgBright, bold: active, children: c.label }) }), c.hint ? (_jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: colors.fgSubtle, children: c.hint }) })) : null] }, c.id));
|
|
21
|
+
})] }, g.category))), _jsx(Box, { marginTop: 0, children: _jsx(Text, { color: colors.fgSubtle, children: "\u2191\u2193 navigate \u00B7 \u23CE run \u00B7 esc close" }) })] }));
|
|
62
22
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Catálogo canónico de comandos del TUI.
|
|
65
|
-
*
|
|
66
|
-
* Stable IDs porque app.tsx + hooks externos hacen pattern match contra ellos.
|
|
67
|
-
* Cuando un comando no aplica al contexto actual el handler debe responder
|
|
68
|
-
* con un toast (no romper).
|
|
69
|
-
*/
|
|
70
|
-
export const PALETTE_COMMANDS = [
|
|
71
|
-
// navegación
|
|
72
|
-
{ id: "goto:status", label: "Ir a Status", ctx: "navegación", glyph: "›" },
|
|
73
|
-
{ id: "goto:project", label: "Ir a Proyecto", ctx: "navegación", glyph: "›" },
|
|
74
|
-
{ id: "goto:mcp", label: "Ir a MCP", ctx: "navegación", glyph: "›" },
|
|
75
|
-
{ id: "goto:skills", label: "Ir a Skills", ctx: "navegación", glyph: "›" },
|
|
76
|
-
{ id: "goto:plugins", label: "Ir a Plugins", ctx: "navegación", glyph: "›" },
|
|
77
|
-
{ id: "goto:update", label: "Ir a Update", ctx: "navegación", glyph: "›" },
|
|
78
|
-
// proyecto
|
|
79
|
-
{ id: "git:status", label: "Git status", ctx: "proyecto", glyph: "◆" },
|
|
80
|
-
{ id: "sessions:open", label: "Abrir sesión más reciente", ctx: "proyecto", glyph: "▸" },
|
|
81
|
-
{ id: "pending:next", label: "Saltar al próximo pendiente", ctx: "proyecto", glyph: "→" },
|
|
82
|
-
// acción (install/update/maintenance)
|
|
83
|
-
{ id: "install:all", label: "Install completa en todos los hosts", ctx: "acción", glyph: "↓" },
|
|
84
|
-
{
|
|
85
|
-
id: "uninstall:all",
|
|
86
|
-
label: "Uninstall completo en todos los hosts",
|
|
87
|
-
ctx: "acción",
|
|
88
|
-
glyph: "×",
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
id: "clean:cache",
|
|
92
|
-
label: "Limpiar cache de plugins (todos los hosts)",
|
|
93
|
-
ctx: "acción",
|
|
94
|
-
glyph: "⊘",
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
id: "legacy:clean",
|
|
98
|
-
label: "Limpiar skills legacy (qtc-*, agent-workflow-manager)",
|
|
99
|
-
ctx: "acción",
|
|
100
|
-
glyph: "⚒",
|
|
101
|
-
},
|
|
102
|
-
{ id: "update:check", label: "Buscar actualización del CLI", ctx: "acción", glyph: "↻" },
|
|
103
|
-
{ id: "mcp:new", label: "Nueva conexión MCP", ctx: "acción", glyph: "+" },
|
|
104
|
-
{ id: "mcp:test-all", label: "Probar todas las conexiones MCP", ctx: "acción", glyph: "▸" },
|
|
105
|
-
{ id: "plugins:refresh", label: "Refrescar lista de plugins", ctx: "acción", glyph: "↻" },
|
|
106
|
-
// vista
|
|
107
|
-
{
|
|
108
|
-
id: "toggle:density",
|
|
109
|
-
label: "Alternar densidad (cómodo ↔ compacto)",
|
|
110
|
-
ctx: "vista",
|
|
111
|
-
glyph: "↔",
|
|
112
|
-
},
|
|
113
|
-
// sesión
|
|
114
|
-
{ id: "quit", label: "Salir del TUI", ctx: "sesión", glyph: "⎋" },
|
|
115
|
-
];
|
|
116
23
|
//# sourceMappingURL=command-palette.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/command-palette.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/command-palette.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,10 @@ const STATUS_COLOR = {
|
|
|
13
13
|
};
|
|
14
14
|
export function ConnectionsGrid({ connections, cursor, isActive }) {
|
|
15
15
|
if (connections.length === 0) {
|
|
16
|
-
return (_jsx(Box, { children: _jsxs(Text, { color: colors.fgMoreSubtle, italic: true, children: ["(
|
|
16
|
+
return (_jsx(Box, { children: _jsxs(Text, { color: colors.fgMoreSubtle, italic: true, children: ["(no registered connections \u2014 press", " ", _jsx(Text, { color: colors.accent, bold: true, children: "n" }), " ", "to create one)"] }) }));
|
|
17
17
|
}
|
|
18
18
|
const widths = computeColumnWidths(connections);
|
|
19
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: colors.fgMoreSubtle, children: " " }), _jsx(ColumnHeader, { text: "
|
|
19
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: colors.fgMoreSubtle, children: " " }), _jsx(ColumnHeader, { text: "name", width: widths.name }), _jsx(Spacer, {}), _jsx(ColumnHeader, { text: "DSN var", width: widths.dsn }), _jsx(Spacer, {}), _jsx(ColumnHeader, { text: "Claude", width: widths.claude }), _jsx(Spacer, {}), _jsx(ColumnHeader, { text: "Codex", width: widths.codex }), _jsx(Spacer, {}), _jsx(ColumnHeader, { text: "Warp", width: widths.warp })] }), _jsxs(Box, { children: [_jsx(Text, { color: colors.fgMoreSubtle, children: " " }), _jsx(Text, { color: colors.fgMoreSubtle, children: "─".repeat(widths.name + widths.dsn + widths.claude + widths.codex + widths.warp + 8) })] }), connections.map((c, i) => {
|
|
20
20
|
const focused = isActive && i === cursor;
|
|
21
21
|
const labelColor = focused ? colors.fg : colors.fgSubtle;
|
|
22
22
|
return (_jsxs(Box, { children: [_jsx(Text, { color: focused ? colors.primary : colors.fgMoreSubtle, bold: focused, children: focused ? icons.focusBullet : " " }), _jsx(Text, { color: labelColor, ...(focused ? { bold: true } : {}), children: pad(c.nombre, widths.name) }), _jsx(Spacer, {}), _jsx(Text, { color: colors.fgSubtle, children: pad(c.dsn_var, widths.dsn) }), _jsx(Spacer, {}), _jsx(StatusCell, { status: c.instalado.claude_code, width: widths.claude }), _jsx(Spacer, {}), _jsx(StatusCell, { status: c.instalado.codex, width: widths.codex }), _jsx(Spacer, {}), _jsx(StatusCell, { status: c.instalado.warp, width: widths.warp })] }, c.nombre));
|
|
@@ -48,7 +48,7 @@ function centerPad(text, width) {
|
|
|
48
48
|
return " ".repeat(left) + text + " ".repeat(right);
|
|
49
49
|
}
|
|
50
50
|
function computeColumnWidths(connections) {
|
|
51
|
-
const name = Math.max("
|
|
51
|
+
const name = Math.max("name".length, ...connections.map((c) => c.nombre.length));
|
|
52
52
|
const dsn = Math.max("DSN var".length, ...connections.map((c) => c.dsn_var.length));
|
|
53
53
|
return { name, dsn, claude: "Claude".length, codex: "Codex".length, warp: "Warp".length };
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections-grid.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/connections-grid.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,GAA0C;IACzD,EAAE,EAAE,KAAK,CAAC,KAAK;IACf,EAAE,EAAE,GAAG;IACP,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,YAAY,GAA0C;IAC1D,EAAE,EAAE,MAAM,CAAC,OAAO;IAClB,EAAE,EAAE,MAAM,CAAC,YAAY;IACvB,KAAK,EAAE,MAAM,CAAC,OAAO;CACtB,CAAC;AAQF,MAAM,UAAU,eAAe,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAwB;IACrF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CACL,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"connections-grid.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/connections-grid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { formatConnectionsTable, } from "../../../application/self/mcp-config.js
|
|
|
4
4
|
import { colors } from "../theme.js";
|
|
5
5
|
export function ConnectionsTable({ connections }) {
|
|
6
6
|
if (connections.length === 0) {
|
|
7
|
-
return (_jsx(Box, { children: _jsx(Text, { color: colors.fgMoreSubtle, italic: true, children: "(
|
|
7
|
+
return (_jsx(Box, { children: _jsx(Text, { color: colors.fgMoreSubtle, italic: true, children: "(no registered connections)" }) }));
|
|
8
8
|
}
|
|
9
9
|
return _jsx(Text, { color: colors.fgSubtle, children: formatConnectionsTable(connections) });
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections-table.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/connections-table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAEL,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,gBAAgB,CAAC,EAAE,WAAW,EAA4C;IACxF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CACL,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"connections-table.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/connections-table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAEL,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,gBAAgB,CAAC,EAAE,WAAW,EAA4C;IACxF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CACL,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,kDAEjC,GACH,CACP,CAAC;IACJ,CAAC;IACD,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,YAAG,sBAAsB,CAAC,WAAW,CAAC,GAAQ,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface FamilyCardData {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
items: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface FamilyCardProps {
|
|
7
|
+
family: FamilyCardData;
|
|
8
|
+
}
|
|
9
|
+
export declare function FamilyCard({ family }: FamilyCardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=family-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family-card.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/family-card.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,2CAyBrD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { colors } from "../theme.js";
|
|
4
|
+
export function FamilyCard({ family }) {
|
|
5
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: colors.border, paddingX: 1, flexGrow: 1, marginRight: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: colors.fgBright, bold: true, children: family.title }), _jsxs(Text, { color: colors.accent, children: [" ", family.items.length] })] }), _jsx(Box, { flexDirection: "column", children: family.items.map((cmd) => (_jsxs(Text, { color: colors.fg, children: ["\u00B7 ", cmd] }, cmd))) })] }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=family-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family-card.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/family-card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAYrC,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAmB;IACpD,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAC1B,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,aAEd,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,kBAC/B,MAAM,CAAC,KAAK,GACR,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,kBAAI,MAAM,CAAC,KAAK,CAAC,MAAM,IAAQ,IACrD,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACzB,MAAC,IAAI,IAAW,KAAK,EAAE,MAAM,CAAC,EAAE,wBAC3B,GAAG,KADG,GAAG,CAEP,CACR,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export interface FrameBoxProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
accent?: boolean;
|
|
5
|
+
dim?: boolean;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
marginBottom?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function FrameBox({ title, accent, dim, children, marginBottom, }: FrameBoxProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=frame-box.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-box.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/frame-box.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,MAAc,EACd,GAAW,EACX,QAAQ,EACR,YAAgB,GACjB,EAAE,aAAa,2CAgBf"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { colors } from "../theme.js";
|
|
4
|
+
export function FrameBox({ title, accent = false, dim = false, children, marginBottom = 1, }) {
|
|
5
|
+
const borderColor = accent ? colors.borderActive : dim ? colors.borderFaint : colors.border;
|
|
6
|
+
const titleColor = accent ? colors.accent : colors.fgMoreSubtle;
|
|
7
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: borderColor, paddingX: 1, marginBottom: marginBottom, children: [title ? _jsx(Text, { color: titleColor, children: title.toUpperCase() }) : null, _jsx(Box, { flexDirection: "column", children: children })] }));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=frame-box.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-box.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/frame-box.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrC,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,MAAM,GAAG,KAAK,EACd,GAAG,GAAG,KAAK,EACX,QAAQ,EACR,YAAY,GAAG,CAAC,GACF;IACd,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5F,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;IAEhE,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,EACX,YAAY,EAAE,YAAY,aAEzB,KAAK,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,YAAG,KAAK,CAAC,WAAW,EAAE,GAAQ,CAAC,CAAC,CAAC,IAAI,EACrE,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YAAE,QAAQ,GAAO,IACxC,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-prompt.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/input-prompt.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAU5C,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAEzD,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"input-prompt.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/input-prompt.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAU5C,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAEzD,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,aAAG,KAAK,CAAC,UAAU,SAAS,EACtD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,kBACzB,OAAO,GACH,IACH,EACN,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,aAC9B,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,aAAG,KAAK,CAAC,KAAK,SAAS,EACvD,KAAC,SAAS,IACR,UAAU,EAAE,CAAC,QAAQ,KACjB,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACxD,QAAQ,EAAE,YAAY,GACtB,IACE,EACL,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,YAC9B,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,aACtB,KAAK,CAAC,KAAK,OAAG,KAAK,IACf,GACH,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type MetaTone = "ok" | "warn" | "accent" | "dim" | "err";
|
|
2
|
+
export interface MetaChip {
|
|
3
|
+
label: string;
|
|
4
|
+
tone?: MetaTone;
|
|
5
|
+
}
|
|
6
|
+
export interface StatePill {
|
|
7
|
+
label: string;
|
|
8
|
+
tone?: MetaTone;
|
|
9
|
+
}
|
|
10
|
+
export interface ListRowProps {
|
|
11
|
+
icon?: string;
|
|
12
|
+
iconActive?: boolean;
|
|
13
|
+
title: string;
|
|
14
|
+
subtitle?: string;
|
|
15
|
+
meta?: MetaChip[];
|
|
16
|
+
state?: StatePill;
|
|
17
|
+
chevron?: boolean;
|
|
18
|
+
active?: boolean;
|
|
19
|
+
last?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare function ListRow({ icon, iconActive, title, subtitle, meta, state, chevron, active, }: ListRowProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=list-row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-row.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/list-row.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAEhE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAyBD,wBAAgB,OAAO,CAAC,EACtB,IAAiB,EACjB,UAAkB,EAClB,KAAK,EACL,QAAQ,EACR,IAAS,EACT,KAAK,EACL,OAAe,EACf,MAAc,GACf,EAAE,YAAY,2CA0Cd"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { colors, icons } from "../theme.js";
|
|
4
|
+
function toneColor(tone) {
|
|
5
|
+
switch (tone) {
|
|
6
|
+
case "ok":
|
|
7
|
+
return colors.success;
|
|
8
|
+
case "warn":
|
|
9
|
+
return colors.warning;
|
|
10
|
+
case "accent":
|
|
11
|
+
return colors.accent;
|
|
12
|
+
case "err":
|
|
13
|
+
return colors.error;
|
|
14
|
+
default:
|
|
15
|
+
return colors.fgSubtle;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function Chip({ label, tone }) {
|
|
19
|
+
return (_jsx(Box, { marginRight: 1, children: _jsxs(Text, { color: toneColor(tone), children: ["[", label, "]"] }) }));
|
|
20
|
+
}
|
|
21
|
+
export function ListRow({ icon = icons.plug, iconActive = false, title, subtitle, meta = [], state, chevron = false, active = false, }) {
|
|
22
|
+
const cursor = active ? icons.play : " ";
|
|
23
|
+
const iconColor = iconActive ? colors.accent : colors.fgSubtle;
|
|
24
|
+
const titleColor = active ? colors.accent : colors.fgBright;
|
|
25
|
+
return (_jsxs(Box, { flexDirection: "row", paddingX: 0, children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: colors.accent, bold: true, children: cursor }) }), _jsx(Box, { width: 3, children: _jsx(Text, { color: iconColor, children: icon }) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, minWidth: 0, children: [_jsx(Text, { color: titleColor, bold: active, children: title }), subtitle ? _jsx(Text, { color: colors.fgSubtle, children: subtitle }) : null] }), meta.length > 0 ? (_jsx(Box, { flexDirection: "row", marginX: 1, children: meta.map((m, i) => (_jsx(Chip, { ...m }, `${m.label}-${i}`))) })) : null, state ? (_jsx(Box, { marginRight: 1, children: _jsx(Text, { color: toneColor(state.tone), bold: true, children: state.label }) })) : null, chevron ? (_jsx(Box, { width: 2, children: _jsx(Text, { color: colors.fgSubtle, children: icons.chevron }) })) : null] }));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=list-row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-row.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/list-row.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,27 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
1
2
|
import { type PillTone } from "./pill.js";
|
|
2
3
|
export interface PageHeadProps {
|
|
3
4
|
/** Título principal */
|
|
4
5
|
title: string;
|
|
5
|
-
/** Pill opcional al lado del título (counter, status) */
|
|
6
|
+
/** Pill opcional al lado del título (counter, status, mode) */
|
|
6
7
|
count?: {
|
|
7
8
|
label: string;
|
|
8
9
|
tone?: PillTone;
|
|
9
10
|
};
|
|
11
|
+
/** Subtítulo descriptivo inline · color fgSubtle. Mismo concepto del TabPage del prototipo. */
|
|
12
|
+
desc?: string;
|
|
13
|
+
/** Acción opcional alineada a la derecha (típicamente un botón primario en accent bold). */
|
|
14
|
+
action?: ReactNode;
|
|
10
15
|
}
|
|
11
16
|
/**
|
|
12
|
-
* PageHead
|
|
17
|
+
* PageHead — header unificado de cada tab.
|
|
13
18
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
19
|
+
* Layout:
|
|
20
|
+
* `<title bold> [count pill] <desc dim> <action>`
|
|
21
|
+
*
|
|
22
|
+
* Match con `TabPage` del handoff (variant-palette.jsx ~líneas 286-314): título +
|
|
23
|
+
* count + desc en una línea con la acción primaria pegada a la derecha. Mantiene
|
|
24
|
+
* proporciones del prototipo respetando límites de Ink (flex, sin gap CSS).
|
|
16
25
|
*/
|
|
17
|
-
export declare function PageHead({ title, count }: PageHeadProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare function PageHead({ title, count, desc, action }: PageHeadProps): import("react/jsx-runtime").JSX.Element;
|
|
18
27
|
//# sourceMappingURL=page-head.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-head.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/page-head.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-head.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/page-head.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;IAC3C,+FAA+F;IAC/F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,2CAuBrE"}
|
|
@@ -3,12 +3,16 @@ import { Box, Text } from "ink";
|
|
|
3
3
|
import { colors } from "../theme.js";
|
|
4
4
|
import { Pill } from "./pill.js";
|
|
5
5
|
/**
|
|
6
|
-
* PageHead
|
|
6
|
+
* PageHead — header unificado de cada tab.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Layout:
|
|
9
|
+
* `<title bold> [count pill] <desc dim> <action>`
|
|
10
|
+
*
|
|
11
|
+
* Match con `TabPage` del handoff (variant-palette.jsx ~líneas 286-314): título +
|
|
12
|
+
* count + desc en una línea con la acción primaria pegada a la derecha. Mantiene
|
|
13
|
+
* proporciones del prototipo respetando límites de Ink (flex, sin gap CSS).
|
|
10
14
|
*/
|
|
11
|
-
export function PageHead({ title, count }) {
|
|
12
|
-
return (_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: colors.fgBright, bold: true, children: title }), count ? (_jsx(Box, { marginLeft: 1, children: _jsx(Pill, { tone: count.tone ?? "muted", preserveCase: true, children: count.label }) })) : null] }));
|
|
15
|
+
export function PageHead({ title, count, desc, action }) {
|
|
16
|
+
return (_jsxs(Box, { marginBottom: 1, flexDirection: "row", children: [_jsx(Text, { color: colors.fgBright, bold: true, children: title }), count ? (_jsx(Box, { marginLeft: 1, children: _jsx(Pill, { tone: count.tone ?? "muted", preserveCase: true, children: count.label }) })) : null, desc ? (_jsx(Box, { marginLeft: 1, flexGrow: 1, children: _jsx(Text, { color: colors.fgSubtle, children: desc }) })) : (_jsx(Box, { flexGrow: 1 })), action ? _jsx(Box, { children: action }) : null] }));
|
|
13
17
|
}
|
|
14
18
|
//# sourceMappingURL=page-head.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-head.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/page-head.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"page-head.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/page-head.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAC;AAahD;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAiB;IACpE,OAAO,CACL,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,EAAE,aAAa,EAAC,KAAK,aACvC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,kBAC/B,KAAK,GACD,EACN,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO,EAAE,YAAY,kBAC5C,KAAK,CAAC,KAAK,GACP,GACH,CACP,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAC7B,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,YAAG,IAAI,GAAQ,GACvC,CACP,CAAC,CAAC,CAAC,CACF,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,CACrB,EACA,MAAM,CAAC,CAAC,CAAC,KAAC,GAAG,cAAE,MAAM,GAAO,CAAC,CAAC,CAAC,IAAI,IAChC,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface PhaseCardData {
|
|
2
|
+
id: string;
|
|
3
|
+
n: number;
|
|
4
|
+
title: string;
|
|
5
|
+
desc: string;
|
|
6
|
+
commands: string[];
|
|
7
|
+
slash?: string;
|
|
8
|
+
hook?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface PhaseCardProps {
|
|
11
|
+
phase: PhaseCardData;
|
|
12
|
+
}
|
|
13
|
+
export declare function PhaseCard({ phase }: PhaseCardProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=phase-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-card.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/phase-card.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,2CA+ClD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { colors, icons } from "../theme.js";
|
|
4
|
+
export function PhaseCard({ phase }) {
|
|
5
|
+
const visibleCmds = phase.commands.slice(0, 3);
|
|
6
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: colors.border, paddingX: 1, flexGrow: 1, marginRight: 1, children: [_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: colors.accent, bold: true, children: [phase.n, "."] }), _jsxs(Text, { color: colors.fgBright, bold: true, children: [" ", phase.title] })] }), _jsx(Text, { color: colors.fgSubtle, wrap: "wrap", children: phase.desc }), visibleCmds.length > 0 ? (_jsx(Box, { flexDirection: "column", children: visibleCmds.map((c) => (_jsxs(Text, { color: colors.fg, children: ["\u00B7 ", c] }, c))) })) : null, phase.slash && phase.slash !== "—" ? (_jsxs(Box, { children: [_jsxs(Text, { color: colors.fgSubtle, children: [icons.chevron, " "] }), _jsx(Text, { color: colors.accent, children: phase.slash })] })) : null, phase.hook && phase.hook !== "—" ? (_jsxs(Box, { children: [_jsxs(Text, { color: colors.fgSubtle, children: [icons.hook, " "] }), _jsx(Text, { color: colors.success, children: phase.hook })] })) : null] }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=phase-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phase-card.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/phase-card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAgB5C,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAkB;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/C,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAC1B,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,aAEd,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,mBAC7B,KAAK,CAAC,CAAC,SACH,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,mBAC/B,GAAG,EACH,KAAK,CAAC,KAAK,IACP,IACH,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,YACtC,KAAK,CAAC,IAAI,GACN,EACN,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,IAAI,IAAS,KAAK,EAAE,MAAM,CAAC,EAAE,wBACzB,CAAC,KADK,CAAC,CAEL,CACR,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,CACpC,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,aAAG,KAAK,CAAC,OAAO,SAAS,EACrD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,YAAG,KAAK,CAAC,KAAK,GAAQ,IAC5C,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAClC,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,aAAG,KAAK,CAAC,IAAI,SAAS,EAClD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YAAG,KAAK,CAAC,IAAI,GAAQ,IAC5C,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -17,7 +17,7 @@ export function SectionedMenu(props) {
|
|
|
17
17
|
})();
|
|
18
18
|
const [focused, setFocused] = useState(initialFocus);
|
|
19
19
|
// Clamp defensivo: si los items cambian y el focus queda fuera de rango,
|
|
20
|
-
// re-anclar al último seleccionable. Cubre menus dinámicos
|
|
20
|
+
// re-anclar al último seleccionable. Cubre menus dinámicos.
|
|
21
21
|
useEffect(() => {
|
|
22
22
|
if (selectables.length === 0)
|
|
23
23
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sectioned-menu.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/sectioned-menu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAkB,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAyB5D,MAAM,UAAU,aAAa,CAAmB,KAA4B;IAC1E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,WAAW,GAAG,KAAK;SACtB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,KAAK,EAA4E,EAAE;QAC1F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IACpC,CAAC,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;QAClF,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAS,YAAY,CAAC,CAAC;IAE7D,yEAAyE;IACzE
|
|
1
|
+
{"version":3,"file":"sectioned-menu.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/sectioned-menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type StatTone = "ok" | "warn" | "accent" | "dim";
|
|
2
|
+
export interface StatTileProps {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
sub?: string;
|
|
6
|
+
tone?: StatTone;
|
|
7
|
+
accent?: boolean;
|
|
8
|
+
/** If truthy, renders a chevron indicating the tile is selectable. */
|
|
9
|
+
clickable?: boolean;
|
|
10
|
+
/** Highlights the tile when its index === active cursor in a strip. */
|
|
11
|
+
active?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function StatTile({ label, value, sub, tone, accent, clickable, active, }: StatTileProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=stat-tile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-tile.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/stat-tile.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAiBD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,GAAG,EACH,IAAI,EACJ,MAAc,EACd,SAAiB,EACjB,MAAc,GACf,EAAE,aAAa,2CAwBf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { colors, icons } from "../theme.js";
|
|
4
|
+
function valueColor(tone, accent) {
|
|
5
|
+
switch (tone) {
|
|
6
|
+
case "ok":
|
|
7
|
+
return colors.success;
|
|
8
|
+
case "warn":
|
|
9
|
+
return colors.warning;
|
|
10
|
+
case "accent":
|
|
11
|
+
return colors.accent;
|
|
12
|
+
case "dim":
|
|
13
|
+
return colors.fgSubtle;
|
|
14
|
+
default:
|
|
15
|
+
return accent ? colors.accent : colors.fgBright;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function StatTile({ label, value, sub, tone, accent = false, clickable = false, active = false, }) {
|
|
19
|
+
const borderColor = active ? colors.accent : accent ? colors.borderActive : colors.border;
|
|
20
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: borderColor, paddingX: 1, marginRight: 1, flexGrow: 1, children: [_jsxs(Box, { flexDirection: "row", justifyContent: "space-between", children: [_jsx(Text, { color: colors.fgSubtle, children: label.toUpperCase() }), clickable ? (_jsx(Text, { color: active ? colors.accent : colors.fgSubtle, children: icons.chevron })) : null] }), _jsx(Text, { color: valueColor(tone, accent), bold: true, children: value }), sub ? _jsx(Text, { color: colors.fgSubtle, children: sub }) : null] }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=stat-tile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-tile.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/stat-tile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAgB5C,SAAS,UAAU,CAAC,IAAe,EAAE,MAAgB;IACnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI;YACP,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB;YACE,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,GAAG,EACH,IAAI,EACJ,MAAM,GAAG,KAAK,EACd,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,KAAK,GACA;IACd,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAE1F,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,EACd,QAAQ,EAAE,CAAC,aAEX,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,cAAc,EAAC,eAAe,aACrD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,YAAG,KAAK,CAAC,WAAW,EAAE,GAAQ,EACzD,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,YAAG,KAAK,CAAC,OAAO,GAAQ,CAC9E,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,kBACxC,KAAK,GACD,EACN,GAAG,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,YAAG,GAAG,GAAQ,CAAC,CAAC,CAAC,IAAI,IACpD,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FamilyCardData } from "../components/family-card.js";
|
|
2
|
+
import type { PhaseCardData } from "../components/phase-card.js";
|
|
3
|
+
export interface HookEntry {
|
|
4
|
+
name: string;
|
|
5
|
+
matcher: string;
|
|
6
|
+
fires: string;
|
|
7
|
+
}
|
|
8
|
+
export interface WorkflowContent {
|
|
9
|
+
overview: string;
|
|
10
|
+
phases: PhaseCardData[];
|
|
11
|
+
commandFamilies: FamilyCardData[];
|
|
12
|
+
slashCommands: string[];
|
|
13
|
+
hooks: HookEntry[];
|
|
14
|
+
}
|
|
15
|
+
export declare const WORKFLOW_CONTENT: WorkflowContent;
|
|
16
|
+
//# sourceMappingURL=workflow-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-content.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/data/workflow-content.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,gBAAgB,EAAE,eAkM9B,CAAC"}
|