@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.
Files changed (75) hide show
  1. package/dist/cli/tui/app.d.ts.map +1 -1
  2. package/dist/cli/tui/app.js +195 -52
  3. package/dist/cli/tui/app.js.map +1 -1
  4. package/dist/cli/tui/components/action-modal.d.ts +33 -0
  5. package/dist/cli/tui/components/action-modal.d.ts.map +1 -0
  6. package/dist/cli/tui/components/action-modal.js +41 -0
  7. package/dist/cli/tui/components/action-modal.js.map +1 -0
  8. package/dist/cli/tui/components/command-palette.d.ts +12 -33
  9. package/dist/cli/tui/components/command-palette.d.ts.map +1 -1
  10. package/dist/cli/tui/components/command-palette.js +17 -110
  11. package/dist/cli/tui/components/command-palette.js.map +1 -1
  12. package/dist/cli/tui/components/connections-grid.js +3 -3
  13. package/dist/cli/tui/components/connections-grid.js.map +1 -1
  14. package/dist/cli/tui/components/connections-table.js +1 -1
  15. package/dist/cli/tui/components/connections-table.js.map +1 -1
  16. package/dist/cli/tui/components/family-card.d.ts +10 -0
  17. package/dist/cli/tui/components/family-card.d.ts.map +1 -0
  18. package/dist/cli/tui/components/family-card.js +7 -0
  19. package/dist/cli/tui/components/family-card.js.map +1 -0
  20. package/dist/cli/tui/components/frame-box.d.ts +10 -0
  21. package/dist/cli/tui/components/frame-box.d.ts.map +1 -0
  22. package/dist/cli/tui/components/frame-box.js +9 -0
  23. package/dist/cli/tui/components/frame-box.js.map +1 -0
  24. package/dist/cli/tui/components/input-prompt.js +1 -1
  25. package/dist/cli/tui/components/input-prompt.js.map +1 -1
  26. package/dist/cli/tui/components/list-row.d.ts +22 -0
  27. package/dist/cli/tui/components/list-row.d.ts.map +1 -0
  28. package/dist/cli/tui/components/list-row.js +27 -0
  29. package/dist/cli/tui/components/list-row.js.map +1 -0
  30. package/dist/cli/tui/components/page-head.d.ts +14 -5
  31. package/dist/cli/tui/components/page-head.d.ts.map +1 -1
  32. package/dist/cli/tui/components/page-head.js +9 -5
  33. package/dist/cli/tui/components/page-head.js.map +1 -1
  34. package/dist/cli/tui/components/phase-card.d.ts +14 -0
  35. package/dist/cli/tui/components/phase-card.d.ts.map +1 -0
  36. package/dist/cli/tui/components/phase-card.js +8 -0
  37. package/dist/cli/tui/components/phase-card.js.map +1 -0
  38. package/dist/cli/tui/components/sectioned-menu.js +1 -1
  39. package/dist/cli/tui/components/sectioned-menu.js.map +1 -1
  40. package/dist/cli/tui/components/stat-tile.d.ts +14 -0
  41. package/dist/cli/tui/components/stat-tile.d.ts.map +1 -0
  42. package/dist/cli/tui/components/stat-tile.js +22 -0
  43. package/dist/cli/tui/components/stat-tile.js.map +1 -0
  44. package/dist/cli/tui/data/workflow-content.d.ts +16 -0
  45. package/dist/cli/tui/data/workflow-content.d.ts.map +1 -0
  46. package/dist/cli/tui/data/workflow-content.js +202 -0
  47. package/dist/cli/tui/data/workflow-content.js.map +1 -0
  48. package/dist/cli/tui/tabs/mcp-tab.d.ts +6 -11
  49. package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
  50. package/dist/cli/tui/tabs/mcp-tab.js +107 -180
  51. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  52. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
  53. package/dist/cli/tui/tabs/project-tab.js +30 -29
  54. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  55. package/dist/cli/tui/tabs/skills-tab.d.ts +18 -8
  56. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  57. package/dist/cli/tui/tabs/skills-tab.js +175 -116
  58. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  59. package/dist/cli/tui/tabs/status-tab.d.ts +11 -14
  60. package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
  61. package/dist/cli/tui/tabs/status-tab.js +138 -34
  62. package/dist/cli/tui/tabs/status-tab.js.map +1 -1
  63. package/dist/cli/tui/tabs/workflow-tab.d.ts +7 -0
  64. package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -0
  65. package/dist/cli/tui/tabs/workflow-tab.js +24 -0
  66. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -0
  67. package/package.json +1 -1
  68. package/dist/cli/tui/tabs/plugins-tab.d.ts +0 -8
  69. package/dist/cli/tui/tabs/plugins-tab.d.ts.map +0 -1
  70. package/dist/cli/tui/tabs/plugins-tab.js +0 -635
  71. package/dist/cli/tui/tabs/plugins-tab.js.map +0 -1
  72. package/dist/cli/tui/tabs/update-tab.d.ts +0 -20
  73. package/dist/cli/tui/tabs/update-tab.d.ts.map +0 -1
  74. package/dist/cli/tui/tabs/update-tab.js +0 -83
  75. 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 { TextInput } from "@inkjs/ui";
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
- * CommandPalette overlay tipo Ctrl+K.
8
- *
9
- * - TextInput de `@inkjs/ui` para filtrar (case-insensitive en `label` + `ctx`).
10
- * - Lista filtrada con cursor; `↑↓` mueve, `⏎` ejecuta, `Esc` cierra.
11
- * - Footer con hint de navegación y conteo de resultados.
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
- if (key.downArrow) {
34
- setCursor((c) => Math.min(filtered.length - 1, c + 1));
35
- return;
12
+ else {
13
+ groups.push({ category: c.category, rows: [c] });
36
14
  }
37
- if (key.escape) {
38
- onClose();
39
- return;
40
- }
41
- if (key.return) {
42
- const target = filtered[cursor];
43
- if (target) {
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":"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"}
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: ["(sin conexiones registradas \u2014 pulsa", " ", _jsx(Text, { color: colors.accent, bold: true, children: "n" }), " ", "para crear una)"] }) }));
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: "nombre", 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) => {
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("nombre".length, ...connections.map((c) => c.nombre.length));
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":"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"}
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: "(sin conexiones registradas)" }) }));
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,mDAEjC,GACH,CACP,CAAC;IACJ,CAAC;IACD,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,YAAG,sBAAsB,CAAC,WAAW,CAAC,GAAQ,CAAC;AACpF,CAAC"}
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"}
@@ -14,7 +14,7 @@ export function InputPrompt(props) {
14
14
  onSubmit(value);
15
15
  return;
16
16
  }
17
- setError(typeof result === "string" ? result : "Valor inválido");
17
+ setError(typeof result === "string" ? result : "Invalid value");
18
18
  return;
19
19
  }
20
20
  setError(undefined);
@@ -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,gBAAgB,CAAC,CAAC;YACjE,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"}
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 minimal solo título bold + count opcional al lado.
17
+ * PageHead — header unificado de cada tab.
13
18
  *
14
- * Antes incluía eyebrow + lede; los quitamos porque eran ruido en cada tab.
15
- * Si un tab quiere prosa adicional, la inline donde aporte.
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":"AAEA,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,aAAa,2CAevD"}
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 minimal solo título bold + count opcional al lado.
6
+ * PageHead — header unificado de cada tab.
7
7
  *
8
- * Antes incluía eyebrow + lede; los quitamos porque eran ruido en cada tab.
9
- * Si un tab quiere prosa adicional, la inline donde aporte.
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;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAW,CAAC;AAShD;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAiB;IACtD,OAAO,CACL,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,aAClB,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,IACJ,CACP,CAAC;AACJ,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 (p.ej. update-tab).
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":"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"}
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"}