@tacuchi/agent-workflow-cli 8.0.0 → 9.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 (163) hide show
  1. package/dist/cli/main.js +0 -0
  2. package/dist/cli/tui/app.d.ts.map +1 -1
  3. package/dist/cli/tui/app.js +119 -61
  4. package/dist/cli/tui/app.js.map +1 -1
  5. package/dist/cli/tui/components/activity-feed.d.ts +16 -0
  6. package/dist/cli/tui/components/activity-feed.d.ts.map +1 -0
  7. package/dist/cli/tui/components/activity-feed.js +35 -0
  8. package/dist/cli/tui/components/activity-feed.js.map +1 -0
  9. package/dist/cli/tui/components/command-palette.d.ts +0 -1
  10. package/dist/cli/tui/components/command-palette.d.ts.map +1 -1
  11. package/dist/cli/tui/components/command-palette.js +5 -5
  12. package/dist/cli/tui/components/command-palette.js.map +1 -1
  13. package/dist/cli/tui/components/confirm-banner.d.ts +10 -0
  14. package/dist/cli/tui/components/confirm-banner.d.ts.map +1 -0
  15. package/dist/cli/tui/components/confirm-banner.js +11 -0
  16. package/dist/cli/tui/components/confirm-banner.js.map +1 -0
  17. package/dist/cli/tui/components/detail-panel.d.ts +34 -0
  18. package/dist/cli/tui/components/detail-panel.d.ts.map +1 -0
  19. package/dist/cli/tui/components/detail-panel.js +83 -0
  20. package/dist/cli/tui/components/detail-panel.js.map +1 -0
  21. package/dist/cli/tui/components/family-card.d.ts +5 -1
  22. package/dist/cli/tui/components/family-card.d.ts.map +1 -1
  23. package/dist/cli/tui/components/family-card.js +34 -4
  24. package/dist/cli/tui/components/family-card.js.map +1 -1
  25. package/dist/cli/tui/components/inline-wizard.d.ts +19 -0
  26. package/dist/cli/tui/components/inline-wizard.d.ts.map +1 -0
  27. package/dist/cli/tui/components/inline-wizard.js +16 -0
  28. package/dist/cli/tui/components/inline-wizard.js.map +1 -0
  29. package/dist/cli/tui/components/list-row.d.ts +11 -3
  30. package/dist/cli/tui/components/list-row.d.ts.map +1 -1
  31. package/dist/cli/tui/components/list-row.js +71 -13
  32. package/dist/cli/tui/components/list-row.js.map +1 -1
  33. package/dist/cli/tui/components/page-head.d.ts +8 -16
  34. package/dist/cli/tui/components/page-head.d.ts.map +1 -1
  35. package/dist/cli/tui/components/page-head.js +21 -14
  36. package/dist/cli/tui/components/page-head.js.map +1 -1
  37. package/dist/cli/tui/components/phase-card.d.ts +2 -1
  38. package/dist/cli/tui/components/phase-card.d.ts.map +1 -1
  39. package/dist/cli/tui/components/phase-card.js +9 -4
  40. package/dist/cli/tui/components/phase-card.js.map +1 -1
  41. package/dist/cli/tui/components/quick-actions.d.ts +9 -0
  42. package/dist/cli/tui/components/quick-actions.d.ts.map +1 -0
  43. package/dist/cli/tui/components/quick-actions.js +9 -0
  44. package/dist/cli/tui/components/quick-actions.js.map +1 -0
  45. package/dist/cli/tui/components/section-head.d.ts +10 -0
  46. package/dist/cli/tui/components/section-head.d.ts.map +1 -0
  47. package/dist/cli/tui/components/section-head.js +8 -0
  48. package/dist/cli/tui/components/section-head.js.map +1 -0
  49. package/dist/cli/tui/components/sidebar.d.ts +27 -0
  50. package/dist/cli/tui/components/sidebar.d.ts.map +1 -0
  51. package/dist/cli/tui/components/sidebar.js +37 -0
  52. package/dist/cli/tui/components/sidebar.js.map +1 -0
  53. package/dist/cli/tui/components/stat-tile.d.ts +4 -2
  54. package/dist/cli/tui/components/stat-tile.d.ts.map +1 -1
  55. package/dist/cli/tui/components/stat-tile.js +9 -8
  56. package/dist/cli/tui/components/stat-tile.js.map +1 -1
  57. package/dist/cli/tui/components/toast-stack.d.ts +3 -3
  58. package/dist/cli/tui/components/toast-stack.js +3 -3
  59. package/dist/cli/tui/data/activity.d.ts +21 -0
  60. package/dist/cli/tui/data/activity.d.ts.map +1 -0
  61. package/dist/cli/tui/data/activity.js +83 -0
  62. package/dist/cli/tui/data/activity.js.map +1 -0
  63. package/dist/cli/tui/tabs/mcp-tab.d.ts +3 -11
  64. package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
  65. package/dist/cli/tui/tabs/mcp-tab.js +113 -85
  66. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  67. package/dist/cli/tui/tabs/project-tab.d.ts +0 -11
  68. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
  69. package/dist/cli/tui/tabs/project-tab.js +38 -78
  70. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  71. package/dist/cli/tui/tabs/skills-tab.d.ts +1 -21
  72. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  73. package/dist/cli/tui/tabs/skills-tab.js +65 -85
  74. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  75. package/dist/cli/tui/tabs/status-tab.d.ts +4 -1
  76. package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
  77. package/dist/cli/tui/tabs/status-tab.js +50 -11
  78. package/dist/cli/tui/tabs/status-tab.js.map +1 -1
  79. package/dist/cli/tui/tabs/workflow-tab.d.ts +3 -1
  80. package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
  81. package/dist/cli/tui/tabs/workflow-tab.js +31 -15
  82. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
  83. package/dist/cli/tui/theme.d.ts +75 -55
  84. package/dist/cli/tui/theme.d.ts.map +1 -1
  85. package/dist/cli/tui/theme.js +75 -50
  86. package/dist/cli/tui/theme.js.map +1 -1
  87. package/package.json +1 -1
  88. package/dist/cli/commands/orchestration.d.ts +0 -5
  89. package/dist/cli/commands/orchestration.d.ts.map +0 -1
  90. package/dist/cli/commands/orchestration.js +0 -84
  91. package/dist/cli/commands/orchestration.js.map +0 -1
  92. package/dist/cli/commands/wave2-extras.d.ts +0 -7
  93. package/dist/cli/commands/wave2-extras.d.ts.map +0 -1
  94. package/dist/cli/commands/wave2-extras.js +0 -87
  95. package/dist/cli/commands/wave2-extras.js.map +0 -1
  96. package/dist/cli/commands/wave2-final.d.ts +0 -8
  97. package/dist/cli/commands/wave2-final.d.ts.map +0 -1
  98. package/dist/cli/commands/wave2-final.js +0 -134
  99. package/dist/cli/commands/wave2-final.js.map +0 -1
  100. package/dist/cli/commands/wave4d-simple.d.ts +0 -6
  101. package/dist/cli/commands/wave4d-simple.d.ts.map +0 -1
  102. package/dist/cli/commands/wave4d-simple.js +0 -138
  103. package/dist/cli/commands/wave4d-simple.js.map +0 -1
  104. package/dist/cli/tui/components/action-modal.d.ts +0 -33
  105. package/dist/cli/tui/components/action-modal.d.ts.map +0 -1
  106. package/dist/cli/tui/components/action-modal.js +0 -41
  107. package/dist/cli/tui/components/action-modal.js.map +0 -1
  108. package/dist/cli/tui/components/confirm-modal.d.ts +0 -12
  109. package/dist/cli/tui/components/confirm-modal.d.ts.map +0 -1
  110. package/dist/cli/tui/components/confirm-modal.js +0 -18
  111. package/dist/cli/tui/components/confirm-modal.js.map +0 -1
  112. package/dist/cli/tui/components/connections-grid.d.ts +0 -8
  113. package/dist/cli/tui/components/connections-grid.d.ts.map +0 -1
  114. package/dist/cli/tui/components/connections-grid.js +0 -55
  115. package/dist/cli/tui/components/connections-grid.js.map +0 -1
  116. package/dist/cli/tui/components/connections-table.d.ts +0 -5
  117. package/dist/cli/tui/components/connections-table.d.ts.map +0 -1
  118. package/dist/cli/tui/components/connections-table.js +0 -11
  119. package/dist/cli/tui/components/connections-table.js.map +0 -1
  120. package/dist/cli/tui/components/footer.d.ts +0 -4
  121. package/dist/cli/tui/components/footer.d.ts.map +0 -1
  122. package/dist/cli/tui/components/footer.js +0 -6
  123. package/dist/cli/tui/components/footer.js.map +0 -1
  124. package/dist/cli/tui/components/frame-box.d.ts +0 -10
  125. package/dist/cli/tui/components/frame-box.d.ts.map +0 -1
  126. package/dist/cli/tui/components/frame-box.js +0 -9
  127. package/dist/cli/tui/components/frame-box.js.map +0 -1
  128. package/dist/cli/tui/components/header.d.ts +0 -14
  129. package/dist/cli/tui/components/header.d.ts.map +0 -1
  130. package/dist/cli/tui/components/header.js +0 -21
  131. package/dist/cli/tui/components/header.js.map +0 -1
  132. package/dist/cli/tui/components/host-chip.d.ts +0 -28
  133. package/dist/cli/tui/components/host-chip.d.ts.map +0 -1
  134. package/dist/cli/tui/components/host-chip.js +0 -35
  135. package/dist/cli/tui/components/host-chip.js.map +0 -1
  136. package/dist/cli/tui/components/keymap-bar.d.ts +0 -17
  137. package/dist/cli/tui/components/keymap-bar.d.ts.map +0 -1
  138. package/dist/cli/tui/components/keymap-bar.js +0 -13
  139. package/dist/cli/tui/components/keymap-bar.js.map +0 -1
  140. package/dist/cli/tui/components/pill.d.ts +0 -16
  141. package/dist/cli/tui/components/pill.d.ts.map +0 -1
  142. package/dist/cli/tui/components/pill.js +0 -24
  143. package/dist/cli/tui/components/pill.js.map +0 -1
  144. package/dist/cli/tui/components/sectioned-menu.d.ts +0 -24
  145. package/dist/cli/tui/components/sectioned-menu.d.ts.map +0 -1
  146. package/dist/cli/tui/components/sectioned-menu.js +0 -72
  147. package/dist/cli/tui/components/sectioned-menu.js.map +0 -1
  148. package/dist/cli/tui/components/tab-bar.d.ts +0 -23
  149. package/dist/cli/tui/components/tab-bar.d.ts.map +0 -1
  150. package/dist/cli/tui/components/tab-bar.js +0 -17
  151. package/dist/cli/tui/components/tab-bar.js.map +0 -1
  152. package/dist/cli/tui/screens/main-menu.d.ts +0 -8
  153. package/dist/cli/tui/screens/main-menu.d.ts.map +0 -1
  154. package/dist/cli/tui/screens/main-menu.js +0 -24
  155. package/dist/cli/tui/screens/main-menu.js.map +0 -1
  156. package/dist/cli/tui/screens/mcp-done.d.ts +0 -10
  157. package/dist/cli/tui/screens/mcp-done.d.ts.map +0 -1
  158. package/dist/cli/tui/screens/mcp-done.js +0 -24
  159. package/dist/cli/tui/screens/mcp-done.js.map +0 -1
  160. package/dist/cli/tui/screens/mcp-wizard.d.ts +0 -10
  161. package/dist/cli/tui/screens/mcp-wizard.d.ts.map +0 -1
  162. package/dist/cli/tui/screens/mcp-wizard.js +0 -97
  163. package/dist/cli/tui/screens/mcp-wizard.js.map +0 -1
package/dist/cli/main.js CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAe9C,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AA+CzC,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,2CAMlC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoB9C,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAczC,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,2CAMlC"}
@@ -2,11 +2,10 @@ 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";
7
5
  import { ScreenFrame } from "./components/screen-frame.js";
8
- import { TabBar } from "./components/tab-bar.js";
6
+ import { Sidebar, } from "./components/sidebar.js";
9
7
  import { ToastStack, useToasts } from "./components/toast-stack.js";
8
+ import { loadActivity } from "./data/activity.js";
10
9
  import { InputLockProvider, useInputLock } from "./input-lock.js";
11
10
  import { McpTab } from "./tabs/mcp-tab.js";
12
11
  import { ProjectTab } from "./tabs/project-tab.js";
@@ -22,37 +21,6 @@ const TAB_BY_KEY = {
22
21
  "4": "mcp",
23
22
  "5": "skills",
24
23
  };
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
24
  export function App(props) {
57
25
  return (_jsx(InputLockProvider, { children: _jsx(AppShell, { ...props }) }));
58
26
  }
@@ -63,6 +31,13 @@ function AppShell({ version, ctx, onResult }) {
63
31
  const [paletteFilter, setPaletteFilter] = useState("");
64
32
  const [paletteCursor, setPaletteCursor] = useState(0);
65
33
  const [statusAlert, setStatusAlert] = useState(false);
34
+ const [workspaceCtx, setWorkspaceCtx] = useState({
35
+ modeLabel: "agent-workflow",
36
+ branchLabel: "— · loading",
37
+ sessionsLabel: "— sessions",
38
+ });
39
+ const [activity, setActivity] = useState([]);
40
+ const [activePhase, setActivePhase] = useState(0);
66
41
  const { exit } = useApp();
67
42
  const { locked: inputLocked } = useInputLock();
68
43
  const { toasts, push: pushToast } = useToasts();
@@ -73,6 +48,16 @@ function AppShell({ version, ctx, onResult }) {
73
48
  setDensity(prefs.density);
74
49
  })();
75
50
  }, [prefsSvc]);
51
+ useEffect(() => {
52
+ void (async () => {
53
+ const wctx = await loadWorkspaceContext(ctx);
54
+ setWorkspaceCtx(wctx);
55
+ const events = await loadActivity(ctx, { cap: 10 });
56
+ setActivity(events);
57
+ const phase = await loadActivePhase(ctx);
58
+ setActivePhase(phase);
59
+ })();
60
+ }, [ctx]);
76
61
  /**
77
62
  * Despacha acciones provenientes de las tabs y la palette.
78
63
  * Las acciones que requieren ejecutar un comando CLI con stdin (init, doctor,
@@ -140,23 +125,18 @@ function AppShell({ version, ctx, onResult }) {
140
125
  }
141
126
  pushToast({ tone: "info", title: id });
142
127
  }, [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
128
  const allCommands = useMemo(() => [
146
- // tabs
147
129
  { id: "goto:status", category: "tabs", label: "Go to Status", hint: "1" },
148
130
  { id: "goto:workflow", category: "tabs", label: "Go to Workflow", hint: "2" },
149
131
  { id: "goto:project", category: "tabs", label: "Go to Project", hint: "3" },
150
132
  { id: "goto:mcp", category: "tabs", label: "Go to MCP", hint: "4" },
151
133
  { id: "goto:skills", category: "tabs", label: "Go to Skills", hint: "5" },
152
- // install
153
134
  {
154
135
  id: "install-skill",
155
136
  category: "install",
156
137
  label: "Install SKILL (chain claude + codex + warp)",
157
138
  hint: "self install",
158
139
  },
159
- // mcp
160
140
  {
161
141
  id: "mcp:add",
162
142
  category: "mcp",
@@ -169,10 +149,8 @@ function AppShell({ version, ctx, onResult }) {
169
149
  label: "Open MCP wizard (CLI)",
170
150
  hint: "self mcp",
171
151
  },
172
- // project
173
152
  { id: "project-init", category: "project", label: "Initialize as single-repo" },
174
153
  { id: "hub-init", category: "project", label: "Initialize as hub (multi-repo)" },
175
- // self
176
154
  {
177
155
  id: "self:doctor",
178
156
  category: "self",
@@ -261,32 +239,112 @@ function AppShell({ version, ctx, onResult }) {
261
239
  exit();
262
240
  return;
263
241
  }
264
- if (key.tab) {
265
- setActiveTab((t) => cycleTab(t, key.shift === true));
266
- return;
267
- }
268
242
  const target = TAB_BY_KEY[input];
269
243
  if (target)
270
244
  setActiveTab(target);
271
245
  }, { isActive: true });
272
246
  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" },
247
+ { id: "status", key: "1", label: "Status", alert: statusAlert },
248
+ { id: "workflow", key: "2", label: "Workflow" },
249
+ { id: "project", key: "3", label: "Project" },
250
+ { id: "mcp", key: "4", label: "MCP" },
251
+ { id: "skills", key: "5", label: "Skills" },
252
+ ];
253
+ const globalKeys = [
254
+ { key: "^K", action: "palette" },
255
+ { key: "⏎", action: "open" },
256
+ { key: "↑↓", action: "navigate" },
257
+ { key: "?", action: "help" },
258
+ { key: "q", action: "quit" },
278
259
  ];
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 })] }));
260
+ return (_jsxs(ScreenFrame, { children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Sidebar, { activeTab: activeTab, tabs: tabs, workspaceContext: workspaceCtx, cliVersion: version, globalKeys: globalKeys }), _jsx(Box, { flexDirection: "column", flexGrow: 1, marginTop: density === "compact" ? 0 : 1, paddingX: 1, 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: () => {
261
+ onResult({ kind: "menu-action", action: "update" });
262
+ exit();
263
+ }, 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(ToastStack, { toasts: toasts })] }));
284
264
  }
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";
265
+ async function loadWorkspaceContext(ctx) {
266
+ const cwd = ctx.env.cwd();
267
+ // Mode + name: best-effort detection. Default agent-workflow.
268
+ let modeLabel = "agent-workflow · single-repo";
269
+ try {
270
+ const aw = await ctx.fs.exists(`${cwd}/AW-PROJECT.md`).catch(() => false);
271
+ if (aw)
272
+ modeLabel = "agent-workflow · linked";
273
+ }
274
+ catch {
275
+ // ignore
276
+ }
277
+ // Branch + sync
278
+ let branchLabel = "— · no git";
279
+ try {
280
+ const branchRes = await ctx.process.run("git", ["rev-parse", "--abbrev-ref", "HEAD"], {
281
+ cwd,
282
+ });
283
+ if (branchRes.code === 0) {
284
+ const branch = branchRes.stdout.trim();
285
+ const dirtyRes = await ctx.process
286
+ .run("git", ["status", "--porcelain"], { cwd })
287
+ .catch(() => null);
288
+ const isDirty = (dirtyRes?.stdout.trim() ?? "").length > 0;
289
+ const aheadRes = await ctx.process
290
+ .run("git", ["rev-list", "--count", "--left-right", "@{u}...HEAD"], { cwd })
291
+ .catch(() => null);
292
+ const aheadBehind = aheadRes?.stdout.trim().split(/\s+/);
293
+ const behind = aheadBehind?.[0] ?? "0";
294
+ const ahead = aheadBehind?.[1] ?? "0";
295
+ const sync = ahead !== "0" || behind !== "0" ? `${ahead}↑ ${behind}↓` : isDirty ? "dirty" : "in sync";
296
+ branchLabel = `${branch} · ${sync}`;
297
+ }
298
+ }
299
+ catch {
300
+ // keep default
301
+ }
302
+ // Sessions count
303
+ let sessionsLabel = "— sessions";
304
+ try {
305
+ const sessRes = await ctx.process.run(ctx.runtime.binName, ["sessions"], { cwd });
306
+ if (sessRes.code === 0) {
307
+ const data = JSON.parse(sessRes.stdout);
308
+ const active = data.active_count ?? 0;
309
+ const total = data.total_count ?? 0;
310
+ sessionsLabel = `${total} sessions · ${active} active`;
311
+ }
312
+ }
313
+ catch {
314
+ // keep default
315
+ }
316
+ return { modeLabel, branchLabel, sessionsLabel };
317
+ }
318
+ /**
319
+ * Mapea fase de sesión activa (planning/execution/validation/closure) al
320
+ * phase number del workflow tab (Discover=1, Start=2, Plan=3, Work=4, Close=5).
321
+ * Si no hay sesión activa, retorna 0 (idle).
322
+ */
323
+ async function loadActivePhase(ctx) {
324
+ try {
325
+ const sessRes = await ctx.process.run(ctx.runtime.binName, ["sessions"], {
326
+ cwd: ctx.env.cwd(),
327
+ });
328
+ if (sessRes.code !== 0)
329
+ return 0;
330
+ const data = JSON.parse(sessRes.stdout);
331
+ const active = (data.sessions ?? []).find((s) => s.state === "active");
332
+ if (!active)
333
+ return 0;
334
+ switch (active.phase) {
335
+ case "planning":
336
+ return 3;
337
+ case "execution":
338
+ case "validation":
339
+ return 4;
340
+ case "closure":
341
+ return 5;
342
+ default:
343
+ return 4;
344
+ }
345
+ }
346
+ catch {
347
+ return 0;
348
+ }
291
349
  }
292
350
  //# 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"}
@@ -8,7 +8,6 @@ export interface CommandPaletteProps {
8
8
  filter: string;
9
9
  commands: PaletteCommand[];
10
10
  cursor: number;
11
- /** Optional pre-grouped sections. If provided, overrides flat list. */
12
11
  groups?: Array<{
13
12
  category: string;
14
13
  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;CACf;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,2CAmF/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", borderStyle: "round", borderColor: colors.accent, 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.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":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAiB5C,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAuB;IAC9E,+CAA+C;IAC/C,MAAM,MAAM,GAAwD,EAAE,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,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,aAGX,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,mBAC7B,KAAK,CAAC,MAAM,EAAE,GAAG,IACb,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,YAAG,MAAM,GAAQ,EAC7C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,YAAG,KAAK,CAAC,UAAU,GAAQ,IACjD,EACN,KAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,KAAK,EACjB,WAAW,EAAE,KAAK,EAClB,YAAY,EAAE,CAAC,GACf,EAGD,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,sCAAmB,MAAM,IAAI,GAAG,eAAU,CACvE,CAAC,CAAC,CAAC,IAAI,EAGP,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,MAAC,GAAG,IAAkB,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAC1D,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,YAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAQ,EAClE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAChB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;wBACzB,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,CAAC;wBAC9B,OAAO,CACL,MAAC,GAAG,IAAY,aAAa,EAAC,KAAK,aACjC,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,kBACtD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GACrB,GACH,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,YAChE,CAAC,CAAC,KAAK,GACH,GACH,EACL,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACR,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,YAAG,CAAC,CAAC,IAAI,GAAQ,GACzC,CACP,CAAC,CAAC,CAAC,IAAI,KAfA,CAAC,CAAC,EAAE,CAgBR,CACP,CAAC;oBACJ,CAAC,CAAC,KAxBM,CAAC,CAAC,QAAQ,CAyBd,CACP,CAAC,EAGF,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,yEAAwC,GAChE,IACF,CACP,CAAC;AACJ,CAAC"}
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"}
@@ -0,0 +1,83 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { colors, icons } from "../theme.js";
4
+ const DEFAULT_WIDTH = 38;
5
+ const DEFAULT_FOOTER = [
6
+ { key: "⏎", label: "apply" },
7
+ { key: "↑↓", label: "action" },
8
+ { key: "esc", label: "close" },
9
+ ];
10
+ // Separator entre name y description en la misma línea.
11
+ const NAME_DESC_SEP = " · ";
12
+ function toneColor(tone) {
13
+ switch (tone) {
14
+ case "ok":
15
+ return colors.ok;
16
+ case "warn":
17
+ return colors.warn;
18
+ case "accent":
19
+ return colors.accent;
20
+ case "err":
21
+ return colors.err;
22
+ case "dim":
23
+ return colors.dim;
24
+ case "purple":
25
+ return colors.purple;
26
+ case "info":
27
+ return colors.info;
28
+ default:
29
+ return colors.dim;
30
+ }
31
+ }
32
+ export function DetailPanel({ width = DEFAULT_WIDTH, header, statePill, actions, focusedAction, footer = DEFAULT_FOOTER, banner, }) {
33
+ return (_jsxs(Box, { flexDirection: "column", width: width, paddingLeft: 1, children: [_jsxs(Box, { flexDirection: "row", children: [header.glyph ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: colors.accent, children: header.glyph }), _jsx(Text, { children: " " })] })) : null, _jsx(Text, { color: colors.bright, bold: true, children: header.name }), _jsx(Box, { flexGrow: 1 }), statePill ? _jsx(Text, { color: toneColor(statePill.tone), children: statePill.label }) : null] }), header.meta ? (_jsx(Box, { children: _jsx(Text, { color: colors.dim, children: header.meta }) })) : null, _jsx(Box, { marginTop: 1, flexDirection: "column", children: banner ? (banner) : (_jsxs(_Fragment, { children: [_jsx(Text, { color: colors.mute, children: "ACTIONS" }), _jsx(Box, { flexDirection: "column", marginTop: 0, children: actions.map((a, i) => (_jsx(DetailActionRow, { action: a, focused: i === focusedAction }, a.name))) })] })) }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.borderFaint, children: "─".repeat(width - 2) }), _jsx(DetailFooter, { entries: footer })] })] }));
34
+ }
35
+ // Width interior del detail panel: DEFAULT_WIDTH - paddingLeft - safety.
36
+ const DETAIL_INNER_WIDTH = DEFAULT_WIDTH - 3;
37
+ const ACTION_INNER_PAD = 1;
38
+ function DetailActionRow({ action, focused, }) {
39
+ const nameColor = focused
40
+ ? action.danger
41
+ ? colors.err
42
+ : colors.bright
43
+ : action.danger
44
+ ? colors.err
45
+ : colors.text;
46
+ const descColor = focused
47
+ ? action.danger
48
+ ? colors.err
49
+ : colors.accentSoft
50
+ : action.danger
51
+ ? colors.faint
52
+ : colors.dim;
53
+ const focusBarColor = focused ? (action.danger ? colors.err : colors.accent) : colors.faint;
54
+ const bg = focused ? colors.bgHighlight : undefined;
55
+ const bgProp = bg ? { backgroundColor: bg } : {};
56
+ const innerPad = " ".repeat(ACTION_INNER_PAD);
57
+ // Layout 1 línea: bar + gap + pad + name + sep + desc + spacer + pad.
58
+ // El focus bar va AFUERA del bg (como list-row); bg empieza en el inner pad.
59
+ const FOCUS_OUTER = 2; // bar + gap
60
+ const nameLen = [...action.name].length;
61
+ const sepLen = action.description ? NAME_DESC_SEP.length : 0;
62
+ const fixedLen = FOCUS_OUTER + ACTION_INNER_PAD * 2 + nameLen;
63
+ const availableForDesc = Math.max(0, DETAIL_INNER_WIDTH - fixedLen - sepLen - 1);
64
+ let displayDesc = action.description ?? "";
65
+ if (action.description && [...action.description].length > availableForDesc) {
66
+ if (availableForDesc <= 1) {
67
+ displayDesc = "";
68
+ }
69
+ else {
70
+ displayDesc = `${action.description.slice(0, availableForDesc - 1)}…`;
71
+ }
72
+ }
73
+ const descLen = displayDesc ? [...displayDesc].length : 0;
74
+ const sepActualLen = displayDesc ? sepLen : 0;
75
+ const usedLen = fixedLen + sepActualLen + descLen;
76
+ const spacerLen = Math.max(1, DETAIL_INNER_WIDTH - usedLen);
77
+ const spacer = " ".repeat(spacerLen);
78
+ return (_jsxs(Box, { flexDirection: "row", marginTop: 0, children: [_jsx(Text, { color: focusBarColor, bold: focused, children: focused ? icons.focusBar : " " }), _jsx(Text, { children: " " }), _jsx(Text, { ...bgProp, children: innerPad }), _jsx(Text, { ...bgProp, color: nameColor, bold: focused, children: action.name }), displayDesc ? (_jsxs(_Fragment, { children: [_jsx(Text, { ...bgProp, color: colors.dim, children: NAME_DESC_SEP }), _jsx(Text, { ...bgProp, color: descColor, wrap: "truncate-end", children: displayDesc })] })) : null, _jsx(Text, { ...bgProp, wrap: "truncate-end", children: spacer }), _jsx(Text, { ...bgProp, children: innerPad })] }));
79
+ }
80
+ function DetailFooter({ entries }) {
81
+ return (_jsx(Box, { flexDirection: "row", children: entries.map((e, i) => (_jsxs(Box, { marginRight: i < entries.length - 1 ? 3 : 0, children: [_jsx(Text, { color: colors.accent, children: e.key }), _jsxs(Text, { color: colors.faint, children: [" ", e.label] })] }, `${e.key}-${e.label}`))) }));
82
+ }
83
+ //# sourceMappingURL=detail-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail-panel.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/detail-panel.tsx"],"names":[],"mappings":"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"}