@tacuchi/agent-workflow-cli 8.0.0 → 9.1.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 (185) hide show
  1. package/dist/application/self/install-skill.d.ts +2 -0
  2. package/dist/application/self/install-skill.d.ts.map +1 -1
  3. package/dist/application/self/install-skill.js +75 -3
  4. package/dist/application/self/install-skill.js.map +1 -1
  5. package/dist/application/self/uninstall.d.ts.map +1 -1
  6. package/dist/application/self/uninstall.js +37 -1
  7. package/dist/application/self/uninstall.js.map +1 -1
  8. package/dist/cli/main.js +0 -0
  9. package/dist/cli/tui/app.d.ts.map +1 -1
  10. package/dist/cli/tui/app.js +149 -72
  11. package/dist/cli/tui/app.js.map +1 -1
  12. package/dist/cli/tui/components/activity-feed.d.ts +16 -0
  13. package/dist/cli/tui/components/activity-feed.d.ts.map +1 -0
  14. package/dist/cli/tui/components/activity-feed.js +35 -0
  15. package/dist/cli/tui/components/activity-feed.js.map +1 -0
  16. package/dist/cli/tui/components/command-palette.d.ts +1 -1
  17. package/dist/cli/tui/components/command-palette.d.ts.map +1 -1
  18. package/dist/cli/tui/components/command-palette.js +5 -5
  19. package/dist/cli/tui/components/command-palette.js.map +1 -1
  20. package/dist/cli/tui/components/confirm-banner.d.ts +10 -0
  21. package/dist/cli/tui/components/confirm-banner.d.ts.map +1 -0
  22. package/dist/cli/tui/components/confirm-banner.js +11 -0
  23. package/dist/cli/tui/components/confirm-banner.js.map +1 -0
  24. package/dist/cli/tui/components/detail-panel.d.ts +34 -0
  25. package/dist/cli/tui/components/detail-panel.d.ts.map +1 -0
  26. package/dist/cli/tui/components/detail-panel.js +83 -0
  27. package/dist/cli/tui/components/detail-panel.js.map +1 -0
  28. package/dist/cli/tui/components/family-card.d.ts +5 -1
  29. package/dist/cli/tui/components/family-card.d.ts.map +1 -1
  30. package/dist/cli/tui/components/family-card.js +35 -4
  31. package/dist/cli/tui/components/family-card.js.map +1 -1
  32. package/dist/cli/tui/components/home-footer.d.ts +6 -0
  33. package/dist/cli/tui/components/home-footer.d.ts.map +1 -0
  34. package/dist/cli/tui/components/home-footer.js +22 -0
  35. package/dist/cli/tui/components/home-footer.js.map +1 -0
  36. package/dist/cli/tui/components/home-header.d.ts +9 -0
  37. package/dist/cli/tui/components/home-header.d.ts.map +1 -0
  38. package/dist/cli/tui/components/home-header.js +9 -0
  39. package/dist/cli/tui/components/home-header.js.map +1 -0
  40. package/dist/cli/tui/components/inline-wizard.d.ts +19 -0
  41. package/dist/cli/tui/components/inline-wizard.d.ts.map +1 -0
  42. package/dist/cli/tui/components/inline-wizard.js +16 -0
  43. package/dist/cli/tui/components/inline-wizard.js.map +1 -0
  44. package/dist/cli/tui/components/list-row.d.ts +11 -3
  45. package/dist/cli/tui/components/list-row.d.ts.map +1 -1
  46. package/dist/cli/tui/components/list-row.js +71 -13
  47. package/dist/cli/tui/components/list-row.js.map +1 -1
  48. package/dist/cli/tui/components/page-head.d.ts +8 -16
  49. package/dist/cli/tui/components/page-head.d.ts.map +1 -1
  50. package/dist/cli/tui/components/page-head.js +21 -14
  51. package/dist/cli/tui/components/page-head.js.map +1 -1
  52. package/dist/cli/tui/components/phase-card.d.ts +2 -1
  53. package/dist/cli/tui/components/phase-card.d.ts.map +1 -1
  54. package/dist/cli/tui/components/phase-card.js +9 -4
  55. package/dist/cli/tui/components/phase-card.js.map +1 -1
  56. package/dist/cli/tui/components/quick-actions.d.ts +9 -0
  57. package/dist/cli/tui/components/quick-actions.d.ts.map +1 -0
  58. package/dist/cli/tui/components/quick-actions.js +9 -0
  59. package/dist/cli/tui/components/quick-actions.js.map +1 -0
  60. package/dist/cli/tui/components/section-head.d.ts +10 -0
  61. package/dist/cli/tui/components/section-head.d.ts.map +1 -0
  62. package/dist/cli/tui/components/section-head.js +8 -0
  63. package/dist/cli/tui/components/section-head.js.map +1 -0
  64. package/dist/cli/tui/components/sidebar.d.ts +27 -0
  65. package/dist/cli/tui/components/sidebar.d.ts.map +1 -0
  66. package/dist/cli/tui/components/sidebar.js +37 -0
  67. package/dist/cli/tui/components/sidebar.js.map +1 -0
  68. package/dist/cli/tui/components/stat-tile.d.ts +4 -2
  69. package/dist/cli/tui/components/stat-tile.d.ts.map +1 -1
  70. package/dist/cli/tui/components/stat-tile.js +9 -8
  71. package/dist/cli/tui/components/stat-tile.js.map +1 -1
  72. package/dist/cli/tui/components/tabs-config.d.ts +18 -0
  73. package/dist/cli/tui/components/tabs-config.d.ts.map +1 -0
  74. package/dist/cli/tui/components/tabs-config.js +7 -0
  75. package/dist/cli/tui/components/tabs-config.js.map +1 -0
  76. package/dist/cli/tui/components/toast-stack.d.ts +3 -3
  77. package/dist/cli/tui/components/toast-stack.js +3 -3
  78. package/dist/cli/tui/data/activity.d.ts +21 -0
  79. package/dist/cli/tui/data/activity.d.ts.map +1 -0
  80. package/dist/cli/tui/data/activity.js +83 -0
  81. package/dist/cli/tui/data/activity.js.map +1 -0
  82. package/dist/cli/tui/tabs/mcp-tab.d.ts +3 -11
  83. package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
  84. package/dist/cli/tui/tabs/mcp-tab.js +112 -85
  85. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  86. package/dist/cli/tui/tabs/project-tab.d.ts +0 -11
  87. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
  88. package/dist/cli/tui/tabs/project-tab.js +38 -78
  89. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  90. package/dist/cli/tui/tabs/skills-tab.d.ts +1 -21
  91. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  92. package/dist/cli/tui/tabs/skills-tab.js +65 -85
  93. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  94. package/dist/cli/tui/tabs/status-tab.d.ts +4 -1
  95. package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
  96. package/dist/cli/tui/tabs/status-tab.js +50 -11
  97. package/dist/cli/tui/tabs/status-tab.js.map +1 -1
  98. package/dist/cli/tui/tabs/workflow-tab.d.ts +3 -1
  99. package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
  100. package/dist/cli/tui/tabs/workflow-tab.js +31 -15
  101. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
  102. package/dist/cli/tui/theme.d.ts +75 -55
  103. package/dist/cli/tui/theme.d.ts.map +1 -1
  104. package/dist/cli/tui/theme.js +75 -50
  105. package/dist/cli/tui/theme.js.map +1 -1
  106. package/dist/domain/harnesses.d.ts.map +1 -1
  107. package/dist/domain/harnesses.js +6 -1
  108. package/dist/domain/harnesses.js.map +1 -1
  109. package/package.json +1 -1
  110. package/dist/cli/commands/orchestration.d.ts +0 -5
  111. package/dist/cli/commands/orchestration.d.ts.map +0 -1
  112. package/dist/cli/commands/orchestration.js +0 -84
  113. package/dist/cli/commands/orchestration.js.map +0 -1
  114. package/dist/cli/commands/wave2-extras.d.ts +0 -7
  115. package/dist/cli/commands/wave2-extras.d.ts.map +0 -1
  116. package/dist/cli/commands/wave2-extras.js +0 -87
  117. package/dist/cli/commands/wave2-extras.js.map +0 -1
  118. package/dist/cli/commands/wave2-final.d.ts +0 -8
  119. package/dist/cli/commands/wave2-final.d.ts.map +0 -1
  120. package/dist/cli/commands/wave2-final.js +0 -134
  121. package/dist/cli/commands/wave2-final.js.map +0 -1
  122. package/dist/cli/commands/wave4d-simple.d.ts +0 -6
  123. package/dist/cli/commands/wave4d-simple.d.ts.map +0 -1
  124. package/dist/cli/commands/wave4d-simple.js +0 -138
  125. package/dist/cli/commands/wave4d-simple.js.map +0 -1
  126. package/dist/cli/tui/components/action-modal.d.ts +0 -33
  127. package/dist/cli/tui/components/action-modal.d.ts.map +0 -1
  128. package/dist/cli/tui/components/action-modal.js +0 -41
  129. package/dist/cli/tui/components/action-modal.js.map +0 -1
  130. package/dist/cli/tui/components/confirm-modal.d.ts +0 -12
  131. package/dist/cli/tui/components/confirm-modal.d.ts.map +0 -1
  132. package/dist/cli/tui/components/confirm-modal.js +0 -18
  133. package/dist/cli/tui/components/confirm-modal.js.map +0 -1
  134. package/dist/cli/tui/components/connections-grid.d.ts +0 -8
  135. package/dist/cli/tui/components/connections-grid.d.ts.map +0 -1
  136. package/dist/cli/tui/components/connections-grid.js +0 -55
  137. package/dist/cli/tui/components/connections-grid.js.map +0 -1
  138. package/dist/cli/tui/components/connections-table.d.ts +0 -5
  139. package/dist/cli/tui/components/connections-table.d.ts.map +0 -1
  140. package/dist/cli/tui/components/connections-table.js +0 -11
  141. package/dist/cli/tui/components/connections-table.js.map +0 -1
  142. package/dist/cli/tui/components/footer.d.ts +0 -4
  143. package/dist/cli/tui/components/footer.d.ts.map +0 -1
  144. package/dist/cli/tui/components/footer.js +0 -6
  145. package/dist/cli/tui/components/footer.js.map +0 -1
  146. package/dist/cli/tui/components/frame-box.d.ts +0 -10
  147. package/dist/cli/tui/components/frame-box.d.ts.map +0 -1
  148. package/dist/cli/tui/components/frame-box.js +0 -9
  149. package/dist/cli/tui/components/frame-box.js.map +0 -1
  150. package/dist/cli/tui/components/header.d.ts +0 -14
  151. package/dist/cli/tui/components/header.d.ts.map +0 -1
  152. package/dist/cli/tui/components/header.js +0 -21
  153. package/dist/cli/tui/components/header.js.map +0 -1
  154. package/dist/cli/tui/components/host-chip.d.ts +0 -28
  155. package/dist/cli/tui/components/host-chip.d.ts.map +0 -1
  156. package/dist/cli/tui/components/host-chip.js +0 -35
  157. package/dist/cli/tui/components/host-chip.js.map +0 -1
  158. package/dist/cli/tui/components/keymap-bar.d.ts +0 -17
  159. package/dist/cli/tui/components/keymap-bar.d.ts.map +0 -1
  160. package/dist/cli/tui/components/keymap-bar.js +0 -13
  161. package/dist/cli/tui/components/keymap-bar.js.map +0 -1
  162. package/dist/cli/tui/components/pill.d.ts +0 -16
  163. package/dist/cli/tui/components/pill.d.ts.map +0 -1
  164. package/dist/cli/tui/components/pill.js +0 -24
  165. package/dist/cli/tui/components/pill.js.map +0 -1
  166. package/dist/cli/tui/components/sectioned-menu.d.ts +0 -24
  167. package/dist/cli/tui/components/sectioned-menu.d.ts.map +0 -1
  168. package/dist/cli/tui/components/sectioned-menu.js +0 -72
  169. package/dist/cli/tui/components/sectioned-menu.js.map +0 -1
  170. package/dist/cli/tui/components/tab-bar.d.ts +0 -23
  171. package/dist/cli/tui/components/tab-bar.d.ts.map +0 -1
  172. package/dist/cli/tui/components/tab-bar.js +0 -17
  173. package/dist/cli/tui/components/tab-bar.js.map +0 -1
  174. package/dist/cli/tui/screens/main-menu.d.ts +0 -8
  175. package/dist/cli/tui/screens/main-menu.d.ts.map +0 -1
  176. package/dist/cli/tui/screens/main-menu.js +0 -24
  177. package/dist/cli/tui/screens/main-menu.js.map +0 -1
  178. package/dist/cli/tui/screens/mcp-done.d.ts +0 -10
  179. package/dist/cli/tui/screens/mcp-done.d.ts.map +0 -1
  180. package/dist/cli/tui/screens/mcp-done.js +0 -24
  181. package/dist/cli/tui/screens/mcp-done.js.map +0 -1
  182. package/dist/cli/tui/screens/mcp-wizard.d.ts +0 -10
  183. package/dist/cli/tui/screens/mcp-wizard.d.ts.map +0 -1
  184. package/dist/cli/tui/screens/mcp-wizard.js +0 -97
  185. package/dist/cli/tui/screens/mcp-wizard.js.map +0 -1
@@ -2,11 +2,11 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import { Box, useApp, useInput } from "ink";
3
3
  import { useCallback, useEffect, useMemo, useState } from "react";
4
4
  import { CommandPalette } from "./components/command-palette.js";
5
- import { Header } from "./components/header.js";
6
- import { KeymapBar } from "./components/keymap-bar.js";
5
+ import { HomeFooter } from "./components/home-footer.js";
6
+ import { HomeHeader } from "./components/home-header.js";
7
7
  import { ScreenFrame } from "./components/screen-frame.js";
8
- import { TabBar } from "./components/tab-bar.js";
9
8
  import { ToastStack, useToasts } from "./components/toast-stack.js";
9
+ import { loadActivity } from "./data/activity.js";
10
10
  import { InputLockProvider, useInputLock } from "./input-lock.js";
11
11
  import { McpTab } from "./tabs/mcp-tab.js";
12
12
  import { ProjectTab } from "./tabs/project-tab.js";
@@ -22,47 +22,26 @@ const TAB_BY_KEY = {
22
22
  "4": "mcp",
23
23
  "5": "skills",
24
24
  };
25
- const QUIT_HINT = { key: "q", action: "quit" };
26
- const TAB_HINT = { key: "Tab", action: "next" };
27
- const PALETTE_HINT = { key: "^K", action: "palette" };
28
- const KEYS_BY_TAB = {
29
- status: [
30
- { key: "↑↓", action: "navigate" },
31
- { key: "⏎", action: "go to tab", accent: true },
32
- { key: "i", action: "apply update" },
33
- PALETTE_HINT,
34
- QUIT_HINT,
35
- ],
36
- workflow: [TAB_HINT, PALETTE_HINT, QUIT_HINT],
37
- project: [
38
- { key: "↑↓", action: "navigate" },
39
- { key: "⏎", action: "apply", accent: true },
40
- PALETTE_HINT,
41
- QUIT_HINT,
42
- ],
43
- mcp: [
44
- { key: "↑↓", action: "navigate" },
45
- { key: "⏎", action: "actions", accent: true },
46
- PALETTE_HINT,
47
- QUIT_HINT,
48
- ],
49
- skills: [
50
- { key: "↑↓", action: "navigate" },
51
- { key: "⏎", action: "actions", accent: true },
52
- PALETTE_HINT,
53
- QUIT_HINT,
54
- ],
55
- };
56
25
  export function App(props) {
57
26
  return (_jsx(InputLockProvider, { children: _jsx(AppShell, { ...props }) }));
58
27
  }
59
28
  function AppShell({ version, ctx, onResult }) {
60
- const [activeTab, setActiveTab] = useState("status");
29
+ // activeTab=null modela "estoy en el home (palette)". Cuando el usuario navega
30
+ // a un tab queda guardado para que `esc` en palette pueda volver al último tab.
31
+ const [activeTab, setActiveTab] = useState(null);
61
32
  const [density, setDensity] = useState("comfortable");
62
- const [paletteOpen, setPaletteOpen] = useState(false);
33
+ // Palette es la pantalla principal — abierta por default al boot.
34
+ const [paletteOpen, setPaletteOpen] = useState(true);
63
35
  const [paletteFilter, setPaletteFilter] = useState("");
64
36
  const [paletteCursor, setPaletteCursor] = useState(0);
65
37
  const [statusAlert, setStatusAlert] = useState(false);
38
+ const [workspaceCtx, setWorkspaceCtx] = useState({
39
+ modeLabel: "agent-workflow",
40
+ branchLabel: "— · loading",
41
+ sessionsLabel: "— sessions",
42
+ });
43
+ const [activity, setActivity] = useState([]);
44
+ const [activePhase, setActivePhase] = useState(0);
66
45
  const { exit } = useApp();
67
46
  const { locked: inputLocked } = useInputLock();
68
47
  const { toasts, push: pushToast } = useToasts();
@@ -73,6 +52,16 @@ function AppShell({ version, ctx, onResult }) {
73
52
  setDensity(prefs.density);
74
53
  })();
75
54
  }, [prefsSvc]);
55
+ useEffect(() => {
56
+ void (async () => {
57
+ const wctx = await loadWorkspaceContext(ctx);
58
+ setWorkspaceCtx(wctx);
59
+ const events = await loadActivity(ctx, { cap: 10 });
60
+ setActivity(events);
61
+ const phase = await loadActivePhase(ctx);
62
+ setActivePhase(phase);
63
+ })();
64
+ }, [ctx]);
76
65
  /**
77
66
  * Despacha acciones provenientes de las tabs y la palette.
78
67
  * Las acciones que requieren ejecutar un comando CLI con stdin (init, doctor,
@@ -123,6 +112,7 @@ function AppShell({ version, ctx, onResult }) {
123
112
  // Hints in-app (navegación + toasts).
124
113
  if (id === "mcp:add") {
125
114
  setActiveTab("mcp");
115
+ setPaletteOpen(false);
126
116
  pushToast({
127
117
  tone: "info",
128
118
  title: "MCP · new connection",
@@ -140,23 +130,24 @@ function AppShell({ version, ctx, onResult }) {
140
130
  }
141
131
  pushToast({ tone: "info", title: id });
142
132
  }, [pushToast, onResult, exit]);
143
- // Catálogo completo de comandos accesibles desde la palette (⌘K / Ctrl+K).
144
- // Categorías: tabs · install · mcp · project · self.
145
133
  const allCommands = useMemo(() => [
146
- // tabs
147
- { id: "goto:status", category: "tabs", label: "Go to Status", hint: "1" },
134
+ {
135
+ id: "goto:status",
136
+ category: "tabs",
137
+ label: "Go to Status",
138
+ hint: "1",
139
+ alert: statusAlert,
140
+ },
148
141
  { id: "goto:workflow", category: "tabs", label: "Go to Workflow", hint: "2" },
149
142
  { id: "goto:project", category: "tabs", label: "Go to Project", hint: "3" },
150
143
  { id: "goto:mcp", category: "tabs", label: "Go to MCP", hint: "4" },
151
144
  { id: "goto:skills", category: "tabs", label: "Go to Skills", hint: "5" },
152
- // install
153
145
  {
154
146
  id: "install-skill",
155
147
  category: "install",
156
148
  label: "Install SKILL (chain claude + codex + warp)",
157
149
  hint: "self install",
158
150
  },
159
- // mcp
160
151
  {
161
152
  id: "mcp:add",
162
153
  category: "mcp",
@@ -169,10 +160,8 @@ function AppShell({ version, ctx, onResult }) {
169
160
  label: "Open MCP wizard (CLI)",
170
161
  hint: "self mcp",
171
162
  },
172
- // project
173
163
  { id: "project-init", category: "project", label: "Initialize as single-repo" },
174
164
  { id: "hub-init", category: "project", label: "Initialize as hub (multi-repo)" },
175
- // self
176
165
  {
177
166
  id: "self:doctor",
178
167
  category: "self",
@@ -192,7 +181,7 @@ function AppShell({ version, ctx, onResult }) {
192
181
  hint: "--help",
193
182
  },
194
183
  { id: "quit", category: "self", label: "Quit", hint: "q" },
195
- ], []);
184
+ ], [statusAlert]);
196
185
  const filteredCommands = useMemo(() => {
197
186
  const q = paletteFilter.trim().toLowerCase();
198
187
  if (!q)
@@ -206,25 +195,34 @@ function AppShell({ version, ctx, onResult }) {
206
195
  setPaletteCursor(0);
207
196
  setPaletteOpen(true);
208
197
  }, []);
209
- const closePalette = useCallback(() => {
198
+ const goToTab = useCallback((target) => {
199
+ setActiveTab(target);
210
200
  setPaletteOpen(false);
201
+ setPaletteFilter("");
202
+ setPaletteCursor(0);
211
203
  }, []);
212
204
  const executeCommand = useCallback((cmd) => {
213
- closePalette();
214
205
  if (cmd.id.startsWith("goto:")) {
215
206
  const target = cmd.id.slice("goto:".length);
216
207
  if (TAB_ORDER.includes(target))
217
- setActiveTab(target);
208
+ goToTab(target);
218
209
  return;
219
210
  }
220
211
  runAction(cmd.id);
221
- }, [closePalette, runAction]);
212
+ }, [goToTab, runAction]);
222
213
  useInput((input, key) => {
223
214
  if (inputLocked)
224
215
  return;
225
216
  if (paletteOpen) {
226
217
  if (key.escape) {
227
- closePalette();
218
+ if (paletteFilter !== "") {
219
+ setPaletteFilter("");
220
+ setPaletteCursor(0);
221
+ return;
222
+ }
223
+ if (activeTab !== null) {
224
+ setPaletteOpen(false);
225
+ }
228
226
  return;
229
227
  }
230
228
  if (key.return) {
@@ -246,12 +244,25 @@ function AppShell({ version, ctx, onResult }) {
246
244
  setPaletteCursor(0);
247
245
  return;
248
246
  }
247
+ // Shortcuts directos `1`–`5` desde la palette sin necesidad de filtrar
248
+ // y `⏎`. Conveniencia para users que ya saben los atajos.
249
+ const directTarget = TAB_BY_KEY[input];
250
+ if (directTarget && !key.ctrl && !key.meta) {
251
+ goToTab(directTarget);
252
+ return;
253
+ }
254
+ if (input === "q" && !key.ctrl && !key.meta && paletteFilter === "") {
255
+ onResult({ kind: "exit", exitCode: 0 });
256
+ exit();
257
+ return;
258
+ }
249
259
  if (input && !key.ctrl && !key.meta) {
250
260
  setPaletteFilter((s) => s + input);
251
261
  setPaletteCursor(0);
252
262
  }
253
263
  return;
254
264
  }
265
+ // Estamos en un tab.
255
266
  if ((key.ctrl || key.meta) && (input === "k" || input === "K")) {
256
267
  openPalette();
257
268
  return;
@@ -261,32 +272,98 @@ function AppShell({ version, ctx, onResult }) {
261
272
  exit();
262
273
  return;
263
274
  }
264
- if (key.tab) {
265
- setActiveTab((t) => cycleTab(t, key.shift === true));
266
- return;
267
- }
268
275
  const target = TAB_BY_KEY[input];
269
276
  if (target)
270
277
  setActiveTab(target);
271
278
  }, { isActive: true });
272
- const tabs = [
273
- { id: "status", label: "Status", key: "1", alert: statusAlert },
274
- { id: "workflow", label: "Workflow", key: "2" },
275
- { id: "project", label: "Project", key: "3" },
276
- { id: "mcp", label: "MCP", key: "4" },
277
- { id: "skills", label: "Skills", key: "5" },
278
- ];
279
- const keymap = paletteOpen ? [] : (KEYS_BY_TAB[activeTab] ?? []);
280
- return (_jsxs(ScreenFrame, { children: [_jsx(Header, { version: version, cwd: ctx.env.cwd(), homeDir: ctx.env.homeDir() }), _jsx(TabBar, { tabs: tabs, activeId: activeTab }), _jsx(Box, { marginTop: density === "compact" ? 0 : 1, flexDirection: "column", children: paletteOpen ? (_jsx(Box, { flexDirection: "column", alignItems: "center", paddingY: 2, children: _jsx(Box, { width: "80%", flexDirection: "column", children: _jsx(CommandPalette, { filter: paletteFilter, commands: filteredCommands, cursor: paletteCursor }) }) })) : (_jsxs(_Fragment, { children: [activeTab === "status" ? (_jsx(StatusTab, { ctx: ctx, version: version, isActive: true, onActivateTab: (t) => setActiveTab(t), onRequestUpdate: () => {
281
- onResult({ kind: "menu-action", action: "update" });
282
- exit();
283
- }, onToast: pushToast, onAlertChange: setStatusAlert })) : null, activeTab === "workflow" ? _jsx(WorkflowTab, { ctx: ctx, isActive: true }) : null, activeTab === "project" ? (_jsx(ProjectTab, { ctx: ctx, isActive: true, onRunAction: runAction })) : null, activeTab === "mcp" ? _jsx(McpTab, { ctx: ctx, isActive: true, onToast: pushToast }) : null, activeTab === "skills" ? (_jsx(SkillsTab, { ctx: ctx, isActive: true, version: version, onToast: pushToast })) : null] })) }), _jsx(ToastStack, { toasts: toasts }), _jsx(KeymapBar, { entries: keymap })] }));
279
+ return (_jsxs(ScreenFrame, { children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsx(HomeHeader, { brand: "agent-workflow", version: version, workspaceContext: workspaceCtx }), _jsx(Box, { flexDirection: "column", flexGrow: 1, marginTop: density === "compact" ? 0 : 1, paddingX: 1, children: paletteOpen ? (_jsx(CommandPalette, { filter: paletteFilter, commands: filteredCommands, cursor: paletteCursor })) : (_jsxs(_Fragment, { children: [activeTab === "status" ? (_jsx(StatusTab, { ctx: ctx, version: version, isActive: true, onActivateTab: (t) => setActiveTab(t), onRequestUpdate: () => {
280
+ onResult({ kind: "menu-action", action: "update" });
281
+ exit();
282
+ }, onToast: pushToast, onAlertChange: setStatusAlert, recentEvents: activity })) : null, activeTab === "workflow" ? (_jsx(WorkflowTab, { ctx: ctx, isActive: true, activePhase: activePhase })) : null, activeTab === "project" ? (_jsx(ProjectTab, { ctx: ctx, isActive: true, onRunAction: runAction })) : null, activeTab === "mcp" ? (_jsx(McpTab, { ctx: ctx, isActive: true, onToast: pushToast })) : null, activeTab === "skills" ? (_jsx(SkillsTab, { ctx: ctx, isActive: true, version: version, onToast: pushToast })) : null] })) }), _jsx(HomeFooter, { context: paletteOpen ? "palette" : "tab" })] }), _jsx(ToastStack, { toasts: toasts })] }));
284
283
  }
285
- function cycleTab(current, reverse) {
286
- const idx = TAB_ORDER.indexOf(current);
287
- const next = reverse
288
- ? (idx - 1 + TAB_ORDER.length) % TAB_ORDER.length
289
- : (idx + 1) % TAB_ORDER.length;
290
- return TAB_ORDER[next] ?? "status";
284
+ async function loadWorkspaceContext(ctx) {
285
+ const cwd = ctx.env.cwd();
286
+ // Mode + name: best-effort detection. Default agent-workflow.
287
+ let modeLabel = "agent-workflow · single-repo";
288
+ try {
289
+ const aw = await ctx.fs.exists(`${cwd}/AW-PROJECT.md`).catch(() => false);
290
+ if (aw)
291
+ modeLabel = "agent-workflow · linked";
292
+ }
293
+ catch {
294
+ // ignore
295
+ }
296
+ // Branch + sync
297
+ let branchLabel = "— · no git";
298
+ try {
299
+ const branchRes = await ctx.process.run("git", ["rev-parse", "--abbrev-ref", "HEAD"], {
300
+ cwd,
301
+ });
302
+ if (branchRes.code === 0) {
303
+ const branch = branchRes.stdout.trim();
304
+ const dirtyRes = await ctx.process
305
+ .run("git", ["status", "--porcelain"], { cwd })
306
+ .catch(() => null);
307
+ const isDirty = (dirtyRes?.stdout.trim() ?? "").length > 0;
308
+ const aheadRes = await ctx.process
309
+ .run("git", ["rev-list", "--count", "--left-right", "@{u}...HEAD"], { cwd })
310
+ .catch(() => null);
311
+ const aheadBehind = aheadRes?.stdout.trim().split(/\s+/);
312
+ const behind = aheadBehind?.[0] ?? "0";
313
+ const ahead = aheadBehind?.[1] ?? "0";
314
+ const sync = ahead !== "0" || behind !== "0" ? `${ahead}↑ ${behind}↓` : isDirty ? "dirty" : "in sync";
315
+ branchLabel = `${branch} · ${sync}`;
316
+ }
317
+ }
318
+ catch {
319
+ // keep default
320
+ }
321
+ // Sessions count
322
+ let sessionsLabel = "— sessions";
323
+ try {
324
+ const sessRes = await ctx.process.run(ctx.runtime.binName, ["sessions"], { cwd });
325
+ if (sessRes.code === 0) {
326
+ const data = JSON.parse(sessRes.stdout);
327
+ const active = data.active_count ?? 0;
328
+ const total = data.total_count ?? 0;
329
+ sessionsLabel = `${total} sessions · ${active} active`;
330
+ }
331
+ }
332
+ catch {
333
+ // keep default
334
+ }
335
+ return { modeLabel, branchLabel, sessionsLabel };
336
+ }
337
+ /**
338
+ * Mapea fase de sesión activa (planning/execution/validation/closure) al
339
+ * phase number del workflow tab (Discover=1, Start=2, Plan=3, Work=4, Close=5).
340
+ * Si no hay sesión activa, retorna 0 (idle).
341
+ */
342
+ async function loadActivePhase(ctx) {
343
+ try {
344
+ const sessRes = await ctx.process.run(ctx.runtime.binName, ["sessions"], {
345
+ cwd: ctx.env.cwd(),
346
+ });
347
+ if (sessRes.code !== 0)
348
+ return 0;
349
+ const data = JSON.parse(sessRes.stdout);
350
+ const active = (data.sessions ?? []).find((s) => s.state === "active");
351
+ if (!active)
352
+ return 0;
353
+ switch (active.phase) {
354
+ case "planning":
355
+ return 3;
356
+ case "execution":
357
+ case "validation":
358
+ return 4;
359
+ case "closure":
360
+ return 5;
361
+ default:
362
+ return 4;
363
+ }
364
+ }
365
+ catch {
366
+ return 0;
367
+ }
291
368
  }
292
369
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export type ActivityTone = "ok" | "accent" | "info" | "purple" | "warn" | "err" | "dim";
2
+ export interface ActivityEvent {
3
+ id: string;
4
+ when: string;
5
+ dotColor: ActivityTone;
6
+ text: string;
7
+ meta?: string;
8
+ metaTone?: ActivityTone;
9
+ }
10
+ export interface ActivityFeedProps {
11
+ events: ActivityEvent[];
12
+ cap?: number;
13
+ emptyHint?: string;
14
+ }
15
+ export declare function ActivityFeed({ events, cap, emptyHint }: ActivityFeedProps): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=activity-feed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-feed.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/activity-feed.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4BD,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CA0BzE"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { colors } from "../theme.js";
4
+ const MAX_TEXT_LENGTH = 48;
5
+ function tone(t) {
6
+ switch (t) {
7
+ case "ok":
8
+ return colors.ok;
9
+ case "accent":
10
+ return colors.accent;
11
+ case "info":
12
+ return colors.info;
13
+ case "purple":
14
+ return colors.purple;
15
+ case "warn":
16
+ return colors.warn;
17
+ case "err":
18
+ return colors.err;
19
+ case "dim":
20
+ return colors.dim;
21
+ }
22
+ }
23
+ function truncate(text, max) {
24
+ if (text.length <= max)
25
+ return text;
26
+ return `${text.slice(0, max - 1)}…`;
27
+ }
28
+ export function ActivityFeed({ events, cap, emptyHint }) {
29
+ const list = cap ? events.slice(0, cap) : events;
30
+ if (!list.length) {
31
+ return _jsx(Text, { color: colors.faint, children: emptyHint ?? " (no recent activity)" });
32
+ }
33
+ return (_jsx(Box, { flexDirection: "column", children: list.map((e) => (_jsxs(Box, { children: [_jsx(Box, { width: 5, children: _jsx(Text, { color: colors.dim, children: e.when }) }), _jsx(Text, { color: tone(e.dotColor), children: "\u25CF " }), _jsx(Text, { color: colors.text, children: truncate(e.text, MAX_TEXT_LENGTH) }), e.meta ? (_jsxs(_Fragment, { children: [_jsx(Box, { flexGrow: 1, children: _jsx(Text, { children: " " }) }), _jsx(Text, { color: tone(e.metaTone ?? "dim"), children: e.meta })] })) : null] }, e.id))) }));
34
+ }
35
+ //# sourceMappingURL=activity-feed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-feed.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/activity-feed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAmBrC,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,SAAS,IAAI,CAAC,CAAe;IAC3B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,IAAI;YACP,OAAO,MAAM,CAAC,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,CAAC;QACpB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAW;IACzC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAqB;IACxE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YAAG,SAAS,IAAI,wBAAwB,GAAQ,CAAC;IACnF,CAAC;IACD,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACf,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,YAAG,CAAC,CAAC,IAAI,GAAQ,GACpC,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAW,EACxC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,GAAQ,EACnE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACR,8BACE,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,oBAAS,GACV,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAG,CAAC,CAAC,IAAI,GAAQ,IACtD,CACJ,CAAC,CAAC,CAAC,IAAI,KAbA,CAAC,CAAC,EAAE,CAcR,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -3,12 +3,12 @@ export interface PaletteCommand {
3
3
  label: string;
4
4
  category: string;
5
5
  hint?: string;
6
+ alert?: boolean;
6
7
  }
7
8
  export interface CommandPaletteProps {
8
9
  filter: string;
9
10
  commands: PaletteCommand[];
10
11
  cursor: number;
11
- /** Optional pre-grouped sections. If provided, overrides flat list. */
12
12
  groups?: Array<{
13
13
  category: string;
14
14
  commands: PaletteCommand[];
@@ -1 +1 @@
1
- {"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/command-palette.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAgF/E"}
1
+ {"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/command-palette.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC;CAClE;AAID,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAkF/E"}
@@ -1,8 +1,8 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
3
  import { colors, icons } from "../theme.js";
4
+ const PLACEHOLDER = "type to filter…";
4
5
  export function CommandPalette({ filter, commands, cursor }) {
5
- // Group by category to render section headers.
6
6
  const groups = [];
7
7
  for (const c of commands) {
8
8
  const last = groups[groups.length - 1];
@@ -14,10 +14,10 @@ export function CommandPalette({ filter, commands, cursor }) {
14
14
  }
15
15
  }
16
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) => {
17
+ return (_jsxs(Box, { flexDirection: "column", paddingX: 2, paddingY: 1, children: [_jsxs(Box, { flexDirection: "row", marginBottom: 1, children: [_jsx(Text, { color: colors.mute, children: "search " }), _jsxs(Text, { color: colors.accent, bold: true, children: ["\u203A", " "] }), filter ? (_jsx(Text, { color: colors.bright, children: filter })) : (_jsx(Text, { color: colors.faint, children: PLACEHOLDER })), _jsx(Text, { color: colors.accent, children: icons.caret }), _jsx(Box, { flexGrow: 1 }), _jsxs(Text, { color: colors.mute, children: [commands.length, " match", commands.length === 1 ? "" : "es"] })] }), _jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.borderFaint, children: "─".repeat(70) }) }), commands.length === 0 ? (_jsxs(Text, { color: colors.dim, children: ["No matches for \"", filter || "…", "\"."] })) : null, groups.map((g) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: colors.mute, children: g.category.toUpperCase() }), g.rows.map((c) => {
18
18
  const idx = runningIdx++;
19
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" }) })] }));
20
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: active ? colors.accent : colors.faint, children: active ? icons.focusBar : " " }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: active ? colors.accent : colors.bright, bold: active, children: c.label }) }), c.hint ? (_jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: colors.dim, children: c.hint }) })) : null, c.alert ? (_jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: colors.err, children: "\u25CF" }) })) : null] }, c.id));
21
+ })] }, g.category))), _jsx(Box, { marginTop: 0, children: _jsx(Text, { color: colors.faint, children: "\u2191\u2193 navigate \u00B7 \u23CE run \u00B7 esc close" }) })] }));
22
22
  }
23
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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"}
@@ -0,0 +1,10 @@
1
+ export interface ConfirmBannerProps {
2
+ title: string;
3
+ body: string;
4
+ confirmKey?: string;
5
+ confirmLabel?: string;
6
+ cancelKeys?: string;
7
+ cancelLabel?: string;
8
+ }
9
+ export declare function ConfirmBanner({ title, body, confirmKey, confirmLabel, cancelKeys, cancelLabel, }: ConfirmBannerProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=confirm-banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-banner.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/confirm-banner.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,UAAgC,EAChC,YAAoC,EACpC,UAAgC,EAChC,WAAkC,GACnC,EAAE,kBAAkB,2CAoBpB"}
@@ -0,0 +1,11 @@
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
+ const DEFAULT_CONFIRM_KEY = "y";
5
+ const DEFAULT_CONFIRM_LABEL = "confirm";
6
+ const DEFAULT_CANCEL_KEYS = "n / esc";
7
+ const DEFAULT_CANCEL_LABEL = "cancel";
8
+ export function ConfirmBanner({ title, body, confirmKey = DEFAULT_CONFIRM_KEY, confirmLabel = DEFAULT_CONFIRM_LABEL, cancelKeys = DEFAULT_CANCEL_KEYS, cancelLabel = DEFAULT_CANCEL_LABEL, }) {
9
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: colors.err, children: icons.focusBar }), _jsxs(Box, { flexDirection: "column", paddingLeft: 1, flexGrow: 1, children: [_jsx(Text, { color: colors.err, bold: true, children: title }), _jsx(Text, { color: colors.text, children: body }), _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsx(Text, { color: colors.err, bold: true, children: confirmKey }), _jsxs(Text, { color: colors.dim, children: [" \u00B7 ", confirmLabel, " "] }), _jsx(Text, { color: colors.dim, children: cancelKeys }), _jsxs(Text, { color: colors.dim, children: [" \u00B7 ", cancelLabel] })] })] })] }));
10
+ }
11
+ //# sourceMappingURL=confirm-banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirm-banner.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/confirm-banner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAW5C,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AACxC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AACtC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAEtC,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,UAAU,GAAG,mBAAmB,EAChC,YAAY,GAAG,qBAAqB,EACpC,UAAU,GAAG,mBAAmB,EAChC,WAAW,GAAG,oBAAoB,GACf;IACnB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,YAAG,KAAK,CAAC,QAAQ,GAAQ,EAChD,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,aACrD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,kBAC1B,KAAK,GACD,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,IAAI,GAAQ,EACvC,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,KAAK,aACpC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,kBAC1B,UAAU,GACN,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,yBAAM,YAAY,SAAS,EAClD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,YAAG,UAAU,GAAQ,EAC5C,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,yBAAM,WAAW,IAAQ,IAC5C,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { ReactNode } from "react";
2
+ export type DetailTone = "ok" | "warn" | "accent" | "dim" | "err" | "purple" | "info";
3
+ export interface DetailHeader {
4
+ /** Optional glyph prefix (e.g. ▤). If empty, header renders just the name. */
5
+ glyph?: string;
6
+ name: string;
7
+ meta?: string;
8
+ }
9
+ export interface DetailStatePill {
10
+ label: string;
11
+ tone?: DetailTone;
12
+ }
13
+ export interface DetailAction {
14
+ name: string;
15
+ description?: string;
16
+ danger?: boolean;
17
+ }
18
+ export interface DetailFooterEntry {
19
+ key: string;
20
+ label: string;
21
+ }
22
+ export interface DetailPanelProps {
23
+ width?: number;
24
+ header: DetailHeader;
25
+ statePill?: DetailStatePill;
26
+ actions: DetailAction[];
27
+ focusedAction: number;
28
+ /** Structured footer entries with key + label. If omitted, uses default. */
29
+ footer?: DetailFooterEntry[];
30
+ /** If present, the actions block is replaced by this banner (e.g. ConfirmBanner). */
31
+ banner?: ReactNode;
32
+ }
33
+ export declare function DetailPanel({ width, header, statePill, actions, focusedAction, footer, banner, }: DetailPanelProps): import("react/jsx-runtime").JSX.Element;
34
+ //# sourceMappingURL=detail-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail-panel.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/detail-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtF,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,qFAAqF;IACrF,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAiCD,wBAAgB,WAAW,CAAC,EAC1B,KAAqB,EACrB,MAAM,EACN,SAAS,EACT,OAAO,EACP,aAAa,EACb,MAAuB,EACvB,MAAM,GACP,EAAE,gBAAgB,2CA2ClB"}