@tacuchi/agent-workflow-cli 7.3.1 → 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 (169) 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 +277 -76
  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 +11 -33
  10. package/dist/cli/tui/components/command-palette.d.ts.map +1 -1
  11. package/dist/cli/tui/components/command-palette.js +18 -111
  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 +14 -0
  22. package/dist/cli/tui/components/family-card.d.ts.map +1 -0
  23. package/dist/cli/tui/components/family-card.js +37 -0
  24. package/dist/cli/tui/components/family-card.js.map +1 -0
  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/input-prompt.js +1 -1
  30. package/dist/cli/tui/components/input-prompt.js.map +1 -1
  31. package/dist/cli/tui/components/list-row.d.ts +30 -0
  32. package/dist/cli/tui/components/list-row.d.ts.map +1 -0
  33. package/dist/cli/tui/components/list-row.js +85 -0
  34. package/dist/cli/tui/components/list-row.js.map +1 -0
  35. package/dist/cli/tui/components/page-head.d.ts +11 -10
  36. package/dist/cli/tui/components/page-head.d.ts.map +1 -1
  37. package/dist/cli/tui/components/page-head.js +21 -10
  38. package/dist/cli/tui/components/page-head.js.map +1 -1
  39. package/dist/cli/tui/components/phase-card.d.ts +15 -0
  40. package/dist/cli/tui/components/phase-card.d.ts.map +1 -0
  41. package/dist/cli/tui/components/phase-card.js +13 -0
  42. package/dist/cli/tui/components/phase-card.js.map +1 -0
  43. package/dist/cli/tui/components/quick-actions.d.ts +9 -0
  44. package/dist/cli/tui/components/quick-actions.d.ts.map +1 -0
  45. package/dist/cli/tui/components/quick-actions.js +9 -0
  46. package/dist/cli/tui/components/quick-actions.js.map +1 -0
  47. package/dist/cli/tui/components/section-head.d.ts +10 -0
  48. package/dist/cli/tui/components/section-head.d.ts.map +1 -0
  49. package/dist/cli/tui/components/section-head.js +8 -0
  50. package/dist/cli/tui/components/section-head.js.map +1 -0
  51. package/dist/cli/tui/components/sidebar.d.ts +27 -0
  52. package/dist/cli/tui/components/sidebar.d.ts.map +1 -0
  53. package/dist/cli/tui/components/sidebar.js +37 -0
  54. package/dist/cli/tui/components/sidebar.js.map +1 -0
  55. package/dist/cli/tui/components/stat-tile.d.ts +16 -0
  56. package/dist/cli/tui/components/stat-tile.d.ts.map +1 -0
  57. package/dist/cli/tui/components/stat-tile.js +23 -0
  58. package/dist/cli/tui/components/stat-tile.js.map +1 -0
  59. package/dist/cli/tui/components/toast-stack.d.ts +3 -3
  60. package/dist/cli/tui/components/toast-stack.js +3 -3
  61. package/dist/cli/tui/data/activity.d.ts +21 -0
  62. package/dist/cli/tui/data/activity.d.ts.map +1 -0
  63. package/dist/cli/tui/data/activity.js +83 -0
  64. package/dist/cli/tui/data/activity.js.map +1 -0
  65. package/dist/cli/tui/data/workflow-content.d.ts +16 -0
  66. package/dist/cli/tui/data/workflow-content.d.ts.map +1 -0
  67. package/dist/cli/tui/data/workflow-content.js +202 -0
  68. package/dist/cli/tui/data/workflow-content.js.map +1 -0
  69. package/dist/cli/tui/tabs/mcp-tab.d.ts +3 -16
  70. package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
  71. package/dist/cli/tui/tabs/mcp-tab.js +150 -195
  72. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  73. package/dist/cli/tui/tabs/project-tab.d.ts +0 -11
  74. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
  75. package/dist/cli/tui/tabs/project-tab.js +47 -86
  76. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  77. package/dist/cli/tui/tabs/skills-tab.d.ts +1 -11
  78. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  79. package/dist/cli/tui/tabs/skills-tab.js +165 -126
  80. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  81. package/dist/cli/tui/tabs/status-tab.d.ts +14 -14
  82. package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
  83. package/dist/cli/tui/tabs/status-tab.js +179 -36
  84. package/dist/cli/tui/tabs/status-tab.js.map +1 -1
  85. package/dist/cli/tui/tabs/workflow-tab.d.ts +9 -0
  86. package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -0
  87. package/dist/cli/tui/tabs/workflow-tab.js +40 -0
  88. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -0
  89. package/dist/cli/tui/theme.d.ts +75 -55
  90. package/dist/cli/tui/theme.d.ts.map +1 -1
  91. package/dist/cli/tui/theme.js +75 -50
  92. package/dist/cli/tui/theme.js.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/cli/commands/orchestration.d.ts +0 -5
  95. package/dist/cli/commands/orchestration.d.ts.map +0 -1
  96. package/dist/cli/commands/orchestration.js +0 -84
  97. package/dist/cli/commands/orchestration.js.map +0 -1
  98. package/dist/cli/commands/wave2-extras.d.ts +0 -7
  99. package/dist/cli/commands/wave2-extras.d.ts.map +0 -1
  100. package/dist/cli/commands/wave2-extras.js +0 -87
  101. package/dist/cli/commands/wave2-extras.js.map +0 -1
  102. package/dist/cli/commands/wave2-final.d.ts +0 -8
  103. package/dist/cli/commands/wave2-final.d.ts.map +0 -1
  104. package/dist/cli/commands/wave2-final.js +0 -134
  105. package/dist/cli/commands/wave2-final.js.map +0 -1
  106. package/dist/cli/commands/wave4d-simple.d.ts +0 -6
  107. package/dist/cli/commands/wave4d-simple.d.ts.map +0 -1
  108. package/dist/cli/commands/wave4d-simple.js +0 -138
  109. package/dist/cli/commands/wave4d-simple.js.map +0 -1
  110. package/dist/cli/tui/components/confirm-modal.d.ts +0 -12
  111. package/dist/cli/tui/components/confirm-modal.d.ts.map +0 -1
  112. package/dist/cli/tui/components/confirm-modal.js +0 -18
  113. package/dist/cli/tui/components/confirm-modal.js.map +0 -1
  114. package/dist/cli/tui/components/connections-grid.d.ts +0 -8
  115. package/dist/cli/tui/components/connections-grid.d.ts.map +0 -1
  116. package/dist/cli/tui/components/connections-grid.js +0 -55
  117. package/dist/cli/tui/components/connections-grid.js.map +0 -1
  118. package/dist/cli/tui/components/connections-table.d.ts +0 -5
  119. package/dist/cli/tui/components/connections-table.d.ts.map +0 -1
  120. package/dist/cli/tui/components/connections-table.js +0 -11
  121. package/dist/cli/tui/components/connections-table.js.map +0 -1
  122. package/dist/cli/tui/components/footer.d.ts +0 -4
  123. package/dist/cli/tui/components/footer.d.ts.map +0 -1
  124. package/dist/cli/tui/components/footer.js +0 -6
  125. package/dist/cli/tui/components/footer.js.map +0 -1
  126. package/dist/cli/tui/components/header.d.ts +0 -14
  127. package/dist/cli/tui/components/header.d.ts.map +0 -1
  128. package/dist/cli/tui/components/header.js +0 -21
  129. package/dist/cli/tui/components/header.js.map +0 -1
  130. package/dist/cli/tui/components/host-chip.d.ts +0 -28
  131. package/dist/cli/tui/components/host-chip.d.ts.map +0 -1
  132. package/dist/cli/tui/components/host-chip.js +0 -35
  133. package/dist/cli/tui/components/host-chip.js.map +0 -1
  134. package/dist/cli/tui/components/keymap-bar.d.ts +0 -17
  135. package/dist/cli/tui/components/keymap-bar.d.ts.map +0 -1
  136. package/dist/cli/tui/components/keymap-bar.js +0 -13
  137. package/dist/cli/tui/components/keymap-bar.js.map +0 -1
  138. package/dist/cli/tui/components/pill.d.ts +0 -16
  139. package/dist/cli/tui/components/pill.d.ts.map +0 -1
  140. package/dist/cli/tui/components/pill.js +0 -24
  141. package/dist/cli/tui/components/pill.js.map +0 -1
  142. package/dist/cli/tui/components/sectioned-menu.d.ts +0 -24
  143. package/dist/cli/tui/components/sectioned-menu.d.ts.map +0 -1
  144. package/dist/cli/tui/components/sectioned-menu.js +0 -72
  145. package/dist/cli/tui/components/sectioned-menu.js.map +0 -1
  146. package/dist/cli/tui/components/tab-bar.d.ts +0 -23
  147. package/dist/cli/tui/components/tab-bar.d.ts.map +0 -1
  148. package/dist/cli/tui/components/tab-bar.js +0 -17
  149. package/dist/cli/tui/components/tab-bar.js.map +0 -1
  150. package/dist/cli/tui/screens/main-menu.d.ts +0 -8
  151. package/dist/cli/tui/screens/main-menu.d.ts.map +0 -1
  152. package/dist/cli/tui/screens/main-menu.js +0 -24
  153. package/dist/cli/tui/screens/main-menu.js.map +0 -1
  154. package/dist/cli/tui/screens/mcp-done.d.ts +0 -10
  155. package/dist/cli/tui/screens/mcp-done.d.ts.map +0 -1
  156. package/dist/cli/tui/screens/mcp-done.js +0 -24
  157. package/dist/cli/tui/screens/mcp-done.js.map +0 -1
  158. package/dist/cli/tui/screens/mcp-wizard.d.ts +0 -10
  159. package/dist/cli/tui/screens/mcp-wizard.d.ts.map +0 -1
  160. package/dist/cli/tui/screens/mcp-wizard.js +0 -97
  161. package/dist/cli/tui/screens/mcp-wizard.js.map +0 -1
  162. package/dist/cli/tui/tabs/plugins-tab.d.ts +0 -8
  163. package/dist/cli/tui/tabs/plugins-tab.d.ts.map +0 -1
  164. package/dist/cli/tui/tabs/plugins-tab.js +0 -635
  165. package/dist/cli/tui/tabs/plugins-tab.js.map +0 -1
  166. package/dist/cli/tui/tabs/update-tab.d.ts +0 -20
  167. package/dist/cli/tui/tabs/update-tab.d.ts.map +0 -1
  168. package/dist/cli/tui/tabs/update-tab.js +0 -83
  169. package/dist/cli/tui/tabs/update-tab.js.map +0 -1
@@ -1,19 +1,35 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text, useInput } from "ink";
3
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box, Text, useInput, useStdout } from "ink";
3
+ import { useCallback, useEffect, useRef, useState } from "react";
4
4
  import { selfMcpConfig, } from "../../../application/self/mcp-config.js";
5
- import { ConfirmModal } from "../components/confirm-modal.js";
5
+ import { ActivityFeed } from "../components/activity-feed.js";
6
+ import { ConfirmBanner } from "../components/confirm-banner.js";
7
+ import { DetailPanel } from "../components/detail-panel.js";
6
8
  import { InputPrompt } from "../components/input-prompt.js";
9
+ import { ListRow } from "../components/list-row.js";
7
10
  import { PageHead } from "../components/page-head.js";
8
- import { Pill } from "../components/pill.js";
11
+ import { QuickActions } from "../components/quick-actions.js";
12
+ import { SectionHead } from "../components/section-head.js";
9
13
  import { useInputLock } from "../input-lock.js";
10
14
  import { colors, icons } from "../theme.js";
11
- const ACTION_DEFS = [
12
- { id: "install", label: "Instalar", availableWhen: "missing" },
13
- { id: "reinstall", label: "Reinstalar", availableWhen: "installed" },
14
- { id: "doctor", label: "Diagnosticar (doctor)", availableWhen: "always" },
15
- { id: "uninstall", label: "Desinstalar", availableWhen: "installed", danger: true },
16
- ];
15
+ /**
16
+ * Calcula el ancho disponible para un row de la lista, considerando si el
17
+ * detail panel está abierto.
18
+ *
19
+ * Overhead horizontal:
20
+ * - ScreenFrame border (2) + paddingX (4) = 6
21
+ * - Sidebar (24)
22
+ * - Main paddingX (2)
23
+ * - List paddingRight (2)
24
+ * - Detail panel + separator (39) cuando está abierto
25
+ * - Safety margin (2)
26
+ */
27
+ function computeRowWidth(termCols, detailOpen) {
28
+ const cols = termCols ?? 100;
29
+ const baseOverhead = 36; // 6 + 24 + 2 + 2 + 2
30
+ const detailOverhead = detailOpen ? 39 : 0;
31
+ return Math.max(16, cols - baseOverhead - detailOverhead);
32
+ }
17
33
  function buildArgs(action, values = {}) {
18
34
  return {
19
35
  rest: ["mcp", action],
@@ -23,31 +39,16 @@ function buildArgs(action, values = {}) {
23
39
  valuesMulti: new Map(),
24
40
  };
25
41
  }
26
- /**
27
- * MCPTab — split view con sub-modes.
28
- *
29
- * Lista: connections reales + row "+ Nueva conexión" al final.
30
- * Detail: estado único (instalado/no instalado/parcial) + acciones composite.
31
- *
32
- * Modes:
33
- * - `list` — cursor en lista (connections + new-row). ↑↓ navega · ⏎ entra
34
- * a `actions` (si conn) o a `new-name` (si new-row).
35
- * - `actions` — cursor en acciones contextuales del host activo. ↑↓ navega
36
- * · ⏎ aplica · esc vuelve.
37
- *
38
- * Install composite: encadena install-claude + install-codex + install-warp.
39
- * Si alguno falla, aborta el resto y reporta.
40
- */
41
- export function McpTab({ ctx, isActive, onToast }) {
42
+ export function McpTab({ ctx, isActive, onToast, recentEvents }) {
42
43
  const [connections, setConnections] = useState([]);
43
44
  const [cursor, setCursor] = useState(0);
44
45
  const [actionCursor, setActionCursor] = useState(0);
45
46
  const [mode, setMode] = useState({ kind: "list" });
46
- const [warpHint, setWarpHint] = useState(null);
47
47
  const startedRef = useRef(false);
48
48
  const { lock, unlock } = useInputLock();
49
+ const { stdout } = useStdout();
49
50
  useEffect(() => {
50
- if (mode.kind === "list" || mode.kind === "actions")
51
+ if (mode.kind === "list" || mode.kind === "detail")
51
52
  unlock();
52
53
  else
53
54
  lock();
@@ -58,10 +59,10 @@ export function McpTab({ ctx, isActive, onToast }) {
58
59
  const result = await selfMcpConfig(buildArgs("list"), ctx);
59
60
  const next = result.ok ? (result.data?.connections ?? []) : [];
60
61
  setConnections(next);
61
- setCursor((c) => Math.min(Math.max(0, c), next.length));
62
+ setCursor((c) => Math.min(Math.max(0, c), Math.max(0, next.length - 1)));
62
63
  }
63
64
  catch (err) {
64
- onToast?.({ tone: "err", title: "Error cargando MCP", body: err.message });
65
+ onToast?.({ tone: "err", title: "Error loading MCP", body: err.message });
65
66
  }
66
67
  }, [ctx, onToast]);
67
68
  useEffect(() => {
@@ -70,38 +71,14 @@ export function McpTab({ ctx, isActive, onToast }) {
70
71
  startedRef.current = true;
71
72
  void refresh();
72
73
  }, [refresh]);
73
- // cursor index >= connections.length "Nueva conexión" row
74
- const isNewRow = cursor === connections.length;
75
- const current = isNewRow ? null : connections[cursor];
76
- const installedState = useMemo(() => {
77
- if (!current)
78
- return "missing";
79
- const states = [current.instalado.claude_code, current.instalado.codex, current.instalado.warp];
80
- const someInstalled = states.some((s) => s === "si");
81
- const allInstalled = states.every((s) => s === "si");
82
- if (allInstalled)
83
- return "installed";
84
- if (someInstalled)
85
- return "partial";
86
- return "missing";
87
- }, [current]);
88
- const availableActions = useMemo(() => ACTION_DEFS.filter((def) => {
89
- if (def.availableWhen === "always")
90
- return true;
91
- if (def.availableWhen === "missing")
92
- return installedState === "missing";
93
- return installedState !== "missing";
94
- }), [installedState]);
74
+ const current = connections[cursor] ?? null;
95
75
  const runRawAction = useCallback(async (action, name, label) => {
96
76
  setMode({ kind: "busy", label });
97
77
  try {
98
78
  const result = await selfMcpConfig(buildArgs(action, { name }), ctx);
99
- const isWarpInstall = result.ok && action === "install-warp" && result.data?.warp_hint;
100
- if (isWarpInstall && result.data?.warp_hint)
101
- setWarpHint(result.data.warp_hint);
102
79
  if (!result.ok) {
103
- const summary = result.error?.message ?? "fallo";
104
- onToast?.({ tone: "err", title: `Falló paso ${action}`, body: summary });
80
+ const summary = result.error?.message ?? "failed";
81
+ onToast?.({ tone: "err", title: `Step ${action} failed`, body: summary });
105
82
  return false;
106
83
  }
107
84
  return true;
@@ -111,99 +88,87 @@ export function McpTab({ ctx, isActive, onToast }) {
111
88
  return false;
112
89
  }
113
90
  }, [ctx, onToast]);
114
- const runComposite = useCallback(async (kind, name) => {
115
- setWarpHint(null);
116
- if (kind === "doctor") {
117
- const ok = await runRawAction("doctor", name, `diagnosticando ${name}…`);
118
- if (ok)
119
- onToast?.({ tone: "ok", title: `Diagnóstico OK · ${name}` });
120
- await refresh();
121
- setMode({ kind: "list" });
122
- return;
91
+ /**
92
+ * Sincroniza el MCP entry de la connection en los 3 hosts (Claude/Codex/Warp).
93
+ * Esto es lo que "activa" la connection — sin install en hosts, los skills no
94
+ * la pueden consumir. Reemplaza el viejo "doctor" (que solo reportaba drift).
95
+ */
96
+ const runSyncToHosts = useCallback(async (name) => {
97
+ const hosts = ["claude", "codex", "warp"];
98
+ let allOk = true;
99
+ for (const host of hosts) {
100
+ const ok = await runRawAction(`install-${host}`, name, `syncing ${name} → ${host}…`);
101
+ if (!ok)
102
+ allOk = false;
123
103
  }
124
- if (kind === "uninstall") {
125
- const ok = await runRawAction("remove", name, `eliminando ${name}…`);
126
- if (ok)
127
- onToast?.({ tone: "ok", title: `Conexión '${name}' eliminada` });
128
- await refresh();
129
- setMode({ kind: "list" });
130
- return;
131
- }
132
- // install / reinstall — encadenar install-claude + install-codex + install-warp
133
- const steps = [
134
- {
135
- action: "install-claude",
136
- label: `${kind === "reinstall" ? "reinstalando" : "instalando"} en Claude…`,
137
- },
138
- {
139
- action: "install-codex",
140
- label: `${kind === "reinstall" ? "reinstalando" : "instalando"} en Codex…`,
141
- },
142
- {
143
- action: "install-warp",
144
- label: `${kind === "reinstall" ? "reinstalando" : "instalando"} en Warp…`,
145
- },
146
- ];
147
- for (const step of steps) {
148
- const ok = await runRawAction(step.action, name, step.label);
149
- if (!ok) {
150
- await refresh();
151
- setMode({ kind: "list" });
152
- return;
153
- }
104
+ if (allOk) {
105
+ onToast?.({ tone: "ok", title: `Synced ${name}`, body: "claude · codex · warp" });
154
106
  }
155
- onToast?.({
156
- tone: "ok",
157
- title: `${kind === "reinstall" ? "Reinstalación" : "Instalación"} OK · ${name}`,
158
- body: "claude + codex + warp",
159
- });
160
107
  await refresh();
161
108
  setMode({ kind: "list" });
162
109
  }, [runRawAction, refresh, onToast]);
163
- const applyAction = useCallback((def) => {
110
+ const triggerAction = useCallback((id) => {
164
111
  if (!current)
165
112
  return;
166
- if (def.id === "uninstall") {
167
- setMode({ kind: "confirm-delete", name: current.nombre });
168
- return;
113
+ switch (id) {
114
+ case "test":
115
+ void runSyncToHosts(current.nombre);
116
+ return;
117
+ case "edit":
118
+ setMode({
119
+ kind: "wizard-name",
120
+ editingName: current.nombre,
121
+ prefillDsn: current.dsn_var,
122
+ });
123
+ return;
124
+ case "remove":
125
+ setMode({ kind: "confirm-delete", name: current.nombre });
126
+ return;
169
127
  }
170
- void runComposite(def.id, current.nombre);
171
- }, [current, runComposite]);
172
- const totalListRows = connections.length + 1; // +1 = "Nueva conexión"
173
- // input — list mode (cursor en lista, incluye new-row)
174
- useInput((_input, key) => {
128
+ }, [current, runSyncToHosts]);
129
+ // Detail panel actions (Sync/Edit/Remove).
130
+ const detailActions = current
131
+ ? [
132
+ { name: "Sync to hosts", description: "Install to Claude/Codex/Warp." },
133
+ { name: "Edit connection", description: "Alias / host / DSN." },
134
+ {
135
+ name: "Remove connection",
136
+ description: "Delete entry + DSN export.",
137
+ danger: true,
138
+ },
139
+ ]
140
+ : [];
141
+ // input — list mode (↑↓ navega · ⏎ abre detail · 'a' add wizard)
142
+ useInput((input, key) => {
175
143
  if (!isActive || mode.kind !== "list")
176
144
  return;
145
+ if (input === "a" || input === "A") {
146
+ setMode({ kind: "wizard-name" });
147
+ return;
148
+ }
177
149
  if (key.upArrow) {
178
150
  setCursor((c) => Math.max(0, c - 1));
179
- setActionCursor(0);
180
151
  return;
181
152
  }
182
153
  if (key.downArrow) {
183
- setCursor((c) => Math.min(totalListRows - 1, c + 1));
184
- setActionCursor(0);
154
+ setCursor((c) => (connections.length === 0 ? 0 : Math.min(connections.length - 1, c + 1)));
185
155
  return;
186
156
  }
187
- if (key.return) {
188
- if (isNewRow) {
189
- setMode({ kind: "new-name" });
190
- }
191
- else if (current) {
192
- setActionCursor(0);
193
- setMode({ kind: "actions" });
194
- }
157
+ if (key.return && current) {
158
+ setActionCursor(0);
159
+ setMode({ kind: "detail" });
195
160
  }
196
161
  }, { isActive });
197
- // input — actions mode (cursor en lista de acciones)
162
+ // input — detail mode (↑↓ navega actions · ⏎ ejecuta focused · Esc cierra)
198
163
  useInput((_input, key) => {
199
- if (!isActive || mode.kind !== "actions")
164
+ if (!isActive || mode.kind !== "detail" || !current)
200
165
  return;
201
166
  if (key.upArrow) {
202
167
  setActionCursor((c) => Math.max(0, c - 1));
203
168
  return;
204
169
  }
205
170
  if (key.downArrow) {
206
- setActionCursor((c) => Math.min(availableActions.length - 1, c + 1));
171
+ setActionCursor((c) => Math.min(detailActions.length - 1, c + 1));
207
172
  return;
208
173
  }
209
174
  if (key.escape) {
@@ -211,63 +176,89 @@ export function McpTab({ ctx, isActive, onToast }) {
211
176
  return;
212
177
  }
213
178
  if (key.return) {
214
- const def = availableActions[actionCursor];
215
- if (def)
216
- applyAction(def);
179
+ const action = detailActions[actionCursor];
180
+ if (!action)
181
+ return;
182
+ if (action.danger) {
183
+ triggerAction("remove");
184
+ }
185
+ else if (action.name.startsWith("Edit")) {
186
+ triggerAction("edit");
187
+ }
188
+ else {
189
+ triggerAction("test");
190
+ }
217
191
  }
218
192
  }, { isActive });
219
- // input — confirm-delete
193
+ // input — confirm-delete (y confirma · n/esc vuelve al detail)
220
194
  useInput((input, key) => {
221
195
  if (!isActive || mode.kind !== "confirm-delete")
222
196
  return;
223
197
  if (input === "y" || input === "Y") {
224
- void runRawAction("remove", mode.name, `eliminando ${mode.name}…`).then(async (ok) => {
198
+ void runRawAction("remove", mode.name, `removing ${mode.name}…`).then(async (ok) => {
225
199
  if (ok)
226
- onToast?.({ tone: "ok", title: `Conexión '${mode.name}' eliminada` });
200
+ onToast?.({ tone: "ok", title: `Connection '${mode.name}' removed` });
227
201
  await refresh();
228
202
  setMode({ kind: "list" });
229
203
  });
230
204
  }
231
205
  else if (key.escape || input === "n" || input === "N") {
232
- setMode({ kind: "list" });
206
+ setMode({ kind: "detail" });
233
207
  }
234
208
  }, { isActive });
235
- // input — esc en new-name/new-dsn
209
+ // input — esc en wizard
236
210
  useInput((_input, key) => {
237
211
  if (!isActive)
238
212
  return;
239
- if (mode.kind === "new-name" || mode.kind === "new-dsn") {
213
+ if (mode.kind === "wizard-name" || mode.kind === "wizard-dsn") {
240
214
  if (key.escape)
241
215
  setMode({ kind: "list" });
242
216
  }
243
217
  }, { isActive });
244
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(PageHead, { title: "MCP", count: { label: `${connections.length}`, tone: "info" } }), mode.kind === "list" || mode.kind === "actions" ? (_jsx(McpSplitView, { connections: connections, cursor: cursor, current: current ?? null, installedState: installedState, actionMode: mode.kind === "actions", actionCursor: actionCursor, availableActions: availableActions })) : null, mode.kind === "new-name" ? (_jsx(InputPrompt, { message: "Nombre de la nueva conexi\u00F3n (slug-kebab):", onSubmit: (value) => {
245
- const trimmed = value.trim();
246
- if (!trimmed) {
247
- onToast?.({ tone: "err", title: "Nombre vacío" });
248
- setMode({ kind: "list" });
249
- return;
250
- }
251
- setMode({ kind: "new-dsn", name: trimmed });
252
- }, isActive: isActive })) : null, mode.kind === "new-dsn" ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: _jsxs(Text, { color: colors.fgSubtle, children: [icons.bullet, " nombre:", " ", _jsx(Text, { color: colors.fgBright, bold: true, children: mode.name })] }) }), _jsx(Box, { marginTop: 1, children: _jsx(InputPrompt, { message: "Variable de entorno con la DSN (UPPER_SNAKE_CASE):", onSubmit: (value) => {
253
- const dsnVar = value.trim();
254
- if (!dsnVar) {
255
- onToast?.({ tone: "err", title: "DSN var vacía" });
256
- setMode({ kind: "list" });
257
- return;
258
- }
259
- void registerConnection(mode.name, dsnVar);
260
- }, isActive: isActive }) })] })) : null, mode.kind === "confirm-delete" ? (_jsx(ConfirmModal, { tone: "danger", title: "Eliminar conexi\u00F3n", body: [`Vas a eliminar la conexión '${mode.name}'.`, "Esta acción no se puede deshacer."], confirmKey: "y", confirmLabel: `Sí, eliminar ${mode.name}`, cancelKey: "n / Esc", cancelLabel: "Cancelar" })) : null, mode.kind === "busy" ? (_jsx(Box, { children: _jsxs(Text, { color: colors.warning, children: [icons.spinner, " ", mode.label] }) })) : null, warpHint ? _jsx(WarpHintPanel, { hint: warpHint }) : null, _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.fgFaint, children: mode.kind === "actions"
261
- ? "↑↓ navegar acciones · ⏎ aplicar · esc volver"
262
- : "↑↓ navegar · ⏎ acciones / nueva" }) })] }));
218
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(PageHead, { title: "MCP", count: { label: `${connections.length} databases · profile.json`, tone: "accent" }, action: _jsx(Text, { color: colors.mute, children: "aliases match mcp_databases[] \u00B7 consumed by skills" }) }), _jsxs(Box, { flexDirection: "row", children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, children: [_jsx(SectionHead, { label: "Connections", count: connections.length, rightAction: mode.kind === "wizard-name" || mode.kind === "wizard-dsn"
219
+ ? "esc cancel"
220
+ : mode.kind === "detail" || mode.kind === "confirm-delete"
221
+ ? "esc to close detail"
222
+ : "⏎ for actions · a · + add" }), connections.length === 0 && mode.kind === "list" ? (_jsxs(Box, { marginLeft: 2, marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.dim, children: "No MCP connections yet." }), _jsxs(Text, { color: colors.dim, children: ["Register a DSN to let skills query your DB. Press", " ", _jsx(Text, { color: colors.accent, bold: true, children: "a" }), " ", "to start."] })] })) : (_jsx(Box, { marginTop: 0, flexDirection: "column", children: connections.map((c, i) => (_jsx(ListRow, { icon: icons.diamond, iconActive: true, title: c.nombre, subtitle: `${c.dsn_var} · ${c.server_name}`, state: { label: "registered", tone: "ok" }, chevron: true, active: i === cursor, dimmed: mode.kind === "wizard-name" || mode.kind === "wizard-dsn", widthHint: computeRowWidth(stdout?.columns, mode.kind === "detail" ||
223
+ mode.kind === "confirm-delete" ||
224
+ mode.kind === "wizard-name" ||
225
+ mode.kind === "wizard-dsn") }, c.nombre))) })), mode.kind === "wizard-name" ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(SectionHead, { label: mode.editingName
226
+ ? `Edit connection · ${mode.editingName}`
227
+ : "Register new connection", hint: "Step 1 of 2 \u00B7 Alias", rightAction: "\u23CE next \u00B7 esc cancel" }), _jsx(Box, { marginLeft: 2, marginTop: 0, children: _jsx(InputPrompt, { message: "alias (slug-kebab):", onSubmit: (value) => {
228
+ const trimmed = value.trim() || mode.editingName || "";
229
+ if (!trimmed) {
230
+ onToast?.({ tone: "err", title: "Empty alias" });
231
+ setMode({ kind: "list" });
232
+ return;
233
+ }
234
+ setMode({
235
+ kind: "wizard-dsn",
236
+ name: trimmed,
237
+ ...(mode.editingName ? { editingExisting: mode.editingName } : {}),
238
+ });
239
+ }, isActive: isActive }) })] })) : null, mode.kind === "wizard-dsn" ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(SectionHead, { label: `Register new connection · ${mode.name}`, hint: "Step 2 of 2 \u00B7 DSN env var", rightAction: "\u23CE register \u00B7 esc cancel" }), _jsx(Box, { marginLeft: 2, marginTop: 0, children: _jsx(InputPrompt, { message: "DSN env var (UPPER_SNAKE_CASE):", onSubmit: (value) => {
240
+ const dsnVar = value.trim();
241
+ if (!dsnVar) {
242
+ onToast?.({ tone: "err", title: "Empty DSN var" });
243
+ setMode({ kind: "list" });
244
+ return;
245
+ }
246
+ void registerConnection(mode.name, dsnVar);
247
+ }, isActive: isActive }) })] })) : null, mode.kind === "list" ? (_jsxs(_Fragment, { children: [_jsx(SectionHead, { label: "Recent", count: recentEvents?.length ?? 0, marginTop: 1 }), _jsx(Box, { marginLeft: 2, children: _jsx(ActivityFeed, { events: recentEvents ?? [], cap: 4, emptyHint: " (no recent MCP calls yet)" }) })] })) : null, mode.kind === "busy" ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.warn, children: [icons.spinner, " ", mode.label] }) })) : null] }), current && (mode.kind === "detail" || mode.kind === "confirm-delete") ? (_jsxs(Box, { flexDirection: "column", borderLeft: false, children: [_jsx(Text, { color: colors.borderFaint, children: "│" }), _jsx(DetailPanel, { header: {
248
+ name: current.nombre,
249
+ meta: `${current.server_name} · ${current.dsn_var}\nlast test: —`,
250
+ }, statePill: { label: "registered", tone: "ok" }, actions: detailActions, focusedAction: actionCursor, banner: mode.kind === "confirm-delete" ? (_jsx(ConfirmBanner, { title: `× Remove ${mode.name}?`, body: `This deletes the entry from profile.json and unexports ${current.dsn_var}. Not reversible.` })) : null })] })) : mode.kind === "wizard-name" || mode.kind === "wizard-dsn" ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.borderFaint, children: "│" }), _jsxs(Box, { flexDirection: "column", width: 38, paddingLeft: 1, children: [_jsx(Box, { children: _jsx(Text, { color: colors.accent, bold: true, children: "+ New connection" }) }), _jsx(Text, { color: colors.dim, wrap: "truncate-end", children: "2-step wizard \u00B7 profile.json" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.mute, children: "STEPS" }), _jsx(WizardStep, { index: 1, label: "Alias", active: mode.kind === "wizard-name", completed: mode.kind === "wizard-dsn", value: mode.kind === "wizard-dsn" ? mode.name : undefined }), _jsx(WizardStep, { index: 2, label: "DSN env var", active: mode.kind === "wizard-dsn", completed: false })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.borderFaint, children: "─".repeat(36) }), _jsx(Text, { color: colors.faint, children: "\u23CE next \u00B7 esc cancel" })] })] })] })) : null] }), _jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [
251
+ { key: "a", label: "add connection" },
252
+ { key: "^K", label: "palette" },
253
+ ] }) })] }));
263
254
  async function registerConnection(name, dsnVar) {
264
- setMode({ kind: "busy", label: `registrando ${name}…` });
255
+ setMode({ kind: "busy", label: `registering ${name}…` });
265
256
  try {
266
257
  const result = await selfMcpConfig(buildArgs("use-env", { name, "dsn-var": dsnVar }), ctx);
267
258
  const summary = result.data?.summary ?? result.error?.message ?? "";
268
259
  onToast?.({
269
260
  tone: result.ok ? "ok" : "err",
270
- title: result.ok ? "Conexión registrada" : "Falló",
261
+ title: result.ok ? "Connection registered" : "Failed",
271
262
  body: summary,
272
263
  });
273
264
  await refresh();
@@ -280,45 +271,9 @@ export function McpTab({ ctx, isActive, onToast }) {
280
271
  }
281
272
  }
282
273
  }
283
- // ===== sub-components =====
284
- function McpSplitView({ connections, cursor, current, installedState, actionMode, actionCursor, availableActions, }) {
285
- const isNewRow = cursor === connections.length;
286
- return (_jsxs(Box, { children: [_jsxs(Box, { flexDirection: "column", minWidth: 42, marginRight: 1, borderStyle: "round", borderColor: actionMode ? colors.borderFaint : colors.borderActive, paddingX: 1, children: [_jsx(Text, { color: colors.fgMoreSubtle, children: "CONEXIONES" }), connections.map((c, i) => (_jsx(McpListRow, { conn: c, selected: i === cursor, dimmed: actionMode }, c.nombre))), _jsx(NewConnectionRow, { selected: isNewRow, dimmed: actionMode })] }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, borderStyle: "round", borderColor: actionMode ? colors.borderActive : colors.borderFaint, paddingX: 1, children: [_jsx(Text, { color: colors.fgMoreSubtle, children: "DETALLE" }), isNewRow ? (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.fgBright, bold: true, children: "Nueva conexi\u00F3n" }), _jsx(Text, { color: colors.fgFaint, children: "\u23CE inicia el flujo de registro (nombre + DSN env var)." })] })) : current ? (_jsx(McpDetail, { conn: current, installedState: installedState, actionMode: actionMode, actionCursor: actionCursor, availableActions: availableActions })) : (_jsx(Text, { color: colors.fgFaint, children: "(seleccion\u00E1 una)" }))] })] }));
287
- }
288
- function McpListRow({ conn, selected, dimmed, }) {
289
- const focused = selected && !dimmed;
290
- const cursorColor = focused ? colors.accent : colors.fgFaint;
291
- const nameColor = dimmed ? colors.fgSubtle : focused ? colors.fgBright : colors.fgSubtle;
292
- return (_jsxs(Box, { children: [_jsx(Text, { color: cursorColor, ...(focused ? { bold: true } : {}), children: selected ? "▸" : " " }), _jsx(Text, { children: " " }), _jsx(Box, { minWidth: 14, children: _jsx(Text, { color: nameColor, ...(focused ? { bold: true, inverse: true } : {}), children: focused ? ` ${conn.nombre} ` : conn.nombre }) }), _jsx(Box, { children: _jsx(Text, { color: colors.info, children: conn.dsn_var }) })] }));
293
- }
294
- function NewConnectionRow({ selected, dimmed }) {
295
- const focused = selected && !dimmed;
296
- const cursorColor = focused ? colors.accent : colors.fgFaint;
297
- const labelColor = focused ? colors.fgBright : colors.fgSubtle;
298
- const label = "+ Nueva conexión";
299
- return (_jsxs(Box, { children: [_jsx(Text, { color: cursorColor, ...(focused ? { bold: true } : {}), children: selected ? "▸" : " " }), _jsx(Text, { children: " " }), _jsx(Text, { color: labelColor, ...(focused ? { bold: true, inverse: true } : {}), children: focused ? ` ${label} ` : label })] }));
300
- }
301
- function McpDetail({ conn, installedState, actionMode, actionCursor, availableActions, }) {
302
- const driftAny = conn.instalado.claude_code === "drift" ||
303
- conn.instalado.codex === "drift" ||
304
- conn.instalado.warp === "drift";
305
- const statePillTone = installedState === "installed" ? "ok" : installedState === "partial" ? "warn" : "muted";
306
- const stateLabel = installedState === "installed"
307
- ? "instalado"
308
- : installedState === "partial"
309
- ? "parcial"
310
- : "no instalado";
311
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: colors.fgBright, bold: true, children: conn.nombre }), _jsx(Box, { marginLeft: 1, children: _jsx(Pill, { tone: statePillTone, children: stateLabel }) }), driftAny ? (_jsx(Box, { marginLeft: 1, children: _jsx(Pill, { tone: "warn", children: "drift" }) })) : null] }), _jsxs(Text, { color: colors.fgMoreSubtle, children: ["DSN env var \u00B7 ", _jsx(Text, { color: colors.info, children: conn.dsn_var })] }), _jsxs(Text, { color: colors.fgMoreSubtle, children: ["server name \u00B7 ", _jsx(Text, { color: colors.info, children: conn.server_name })] }), _jsx(Box, { marginTop: 1, flexDirection: "column", children: availableActions.map((a, i) => (_jsx(ActionRow, { label: a.label, danger: a.danger === true, active: actionMode && i === actionCursor }, a.id))) }), _jsx(Text, { color: colors.fgFaint, children: installedState === "missing"
312
- ? "instalar encadena claude + codex + warp"
313
- : "reinstalar reaplica · desinstalar quita en todos los hosts" })] }));
314
- }
315
- function ActionRow({ label, danger, active, }) {
316
- const cursorColor = active ? (danger ? colors.error : colors.accent) : colors.fgFaint;
317
- const labelColor = danger ? colors.error : active ? colors.fgBright : colors.fgSubtle;
318
- return (_jsxs(Box, { children: [_jsx(Text, { color: cursorColor, ...(active ? { bold: true } : {}), children: active ? "▸" : " " }), _jsx(Text, { children: " " }), _jsx(Text, { color: labelColor, ...(active ? { bold: true, inverse: true } : {}), children: active ? ` ${label} ` : label })] }));
319
- }
320
- function WarpHintPanel({ hint }) {
321
- const steps = hint.lines.slice(1);
322
- return (_jsxs(Box, { marginTop: 1, flexDirection: "column", borderStyle: "round", borderColor: colors.info, paddingX: 1, children: [_jsxs(Text, { color: colors.info, bold: true, children: [icons.bullet, " Para que Warp lo spawnee:"] }), steps.map((line, idx) => (_jsx(Text, { color: colors.fg, children: ` ${idx + 1}. ${line}` }, line))), _jsxs(Text, { color: colors.fgMoreSubtle, children: ["Doc: ", hint.doc_url] })] }));
274
+ function WizardStep({ index, label, active, completed, value, hint, }) {
275
+ const glyph = completed ? icons.check : active ? "→" : " ";
276
+ const color = completed ? colors.ok : active ? colors.accent : colors.dim;
277
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: active ? colors.accent : colors.faint, children: active ? icons.focusBar : " " }), _jsxs(Text, { color: color, bold: active, children: [glyph, " ", index, ". ", label] })] }), value ? (_jsx(Box, { marginLeft: 3, children: _jsx(Text, { color: colors.ok, children: value }) })) : null, hint ? (_jsx(Box, { marginLeft: 3, children: _jsx(Text, { color: colors.dim, children: hint }) })) : null] }));
323
278
  }
324
279
  //# sourceMappingURL=mcp-tab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/mcp-tab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/mcp-tab.tsx"],"names":[],"mappings":"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"}
@@ -2,18 +2,7 @@ import type { CliContext } from "../../types.js";
2
2
  export interface ProjectTabProps {
3
3
  ctx: CliContext;
4
4
  isActive: boolean;
5
- /** Callback opcional para emitir toasts del tab */
6
5
  onRunAction?: (id: string, payload?: Record<string, unknown>) => void;
7
6
  }
8
- /**
9
- * ProjectTab — vista agregada del workspace.
10
- *
11
- * Dos estados:
12
- * - **No inicializado** (sin bloque AW-PROJECT en CLAUDE.md/AGENTS.md) →
13
- * landing con instrucciones para `project-init` o `hub-init` + info detectada
14
- * (cwd, git).
15
- * - **Inicializado** → stat strip + git workspace + sesiones + pendientes +
16
- * actividad. En hub mode, también lista de sources con dirty status.
17
- */
18
7
  export declare function ProjectTab({ ctx, isActive, onRunAction }: ProjectTabProps): import("react/jsx-runtime").JSX.Element;
19
8
  //# sourceMappingURL=project-tab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/project-tab.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACvE;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,eAAe,2CA4FzE"}
1
+ {"version":3,"file":"project-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/project-tab.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQjD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACvE;AAED,wBAAgB,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,eAAe,2CAkFzE"}