@tacuchi/agent-workflow-cli 7.2.1 → 7.3.1

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 (79) hide show
  1. package/dist/application/project-tab-data.d.ts +119 -0
  2. package/dist/application/project-tab-data.d.ts.map +1 -0
  3. package/dist/application/project-tab-data.js +320 -0
  4. package/dist/application/project-tab-data.js.map +1 -0
  5. package/dist/cli/interactive-menu.d.ts +1 -1
  6. package/dist/cli/interactive-menu.d.ts.map +1 -1
  7. package/dist/cli/main.js +6 -0
  8. package/dist/cli/main.js.map +1 -1
  9. package/dist/cli/tui/app.d.ts.map +1 -1
  10. package/dist/cli/tui/app.js +115 -102
  11. package/dist/cli/tui/app.js.map +1 -1
  12. package/dist/cli/tui/components/command-palette.d.ts +39 -0
  13. package/dist/cli/tui/components/command-palette.d.ts.map +1 -0
  14. package/dist/cli/tui/components/command-palette.js +116 -0
  15. package/dist/cli/tui/components/command-palette.js.map +1 -0
  16. package/dist/cli/tui/components/header.d.ts +6 -0
  17. package/dist/cli/tui/components/header.d.ts.map +1 -1
  18. package/dist/cli/tui/components/header.js +8 -2
  19. package/dist/cli/tui/components/header.js.map +1 -1
  20. package/dist/cli/tui/components/host-chip.d.ts +28 -0
  21. package/dist/cli/tui/components/host-chip.d.ts.map +1 -0
  22. package/dist/cli/tui/components/host-chip.js +35 -0
  23. package/dist/cli/tui/components/host-chip.js.map +1 -0
  24. package/dist/cli/tui/components/keymap-bar.d.ts +8 -0
  25. package/dist/cli/tui/components/keymap-bar.d.ts.map +1 -1
  26. package/dist/cli/tui/components/keymap-bar.js +7 -1
  27. package/dist/cli/tui/components/keymap-bar.js.map +1 -1
  28. package/dist/cli/tui/components/page-head.d.ts +18 -0
  29. package/dist/cli/tui/components/page-head.d.ts.map +1 -0
  30. package/dist/cli/tui/components/page-head.js +14 -0
  31. package/dist/cli/tui/components/page-head.js.map +1 -0
  32. package/dist/cli/tui/components/pill.d.ts +16 -0
  33. package/dist/cli/tui/components/pill.d.ts.map +1 -0
  34. package/dist/cli/tui/components/pill.js +24 -0
  35. package/dist/cli/tui/components/pill.js.map +1 -0
  36. package/dist/cli/tui/components/tab-bar.d.ts +12 -0
  37. package/dist/cli/tui/components/tab-bar.d.ts.map +1 -1
  38. package/dist/cli/tui/components/tab-bar.js +11 -5
  39. package/dist/cli/tui/components/tab-bar.js.map +1 -1
  40. package/dist/cli/tui/components/toast-stack.d.ts +41 -0
  41. package/dist/cli/tui/components/toast-stack.d.ts.map +1 -0
  42. package/dist/cli/tui/components/toast-stack.js +61 -0
  43. package/dist/cli/tui/components/toast-stack.js.map +1 -0
  44. package/dist/cli/tui/hosts.d.ts +16 -0
  45. package/dist/cli/tui/hosts.d.ts.map +1 -0
  46. package/dist/cli/tui/hosts.js +31 -0
  47. package/dist/cli/tui/hosts.js.map +1 -0
  48. package/dist/cli/tui/tabs/mcp-tab.d.ts +21 -1
  49. package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
  50. package/dist/cli/tui/tabs/mcp-tab.js +234 -139
  51. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  52. package/dist/cli/tui/tabs/plugins-tab.d.ts.map +1 -1
  53. package/dist/cli/tui/tabs/plugins-tab.js +78 -19
  54. package/dist/cli/tui/tabs/plugins-tab.js.map +1 -1
  55. package/dist/cli/tui/tabs/project-tab.d.ts +19 -0
  56. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -0
  57. package/dist/cli/tui/tabs/project-tab.js +188 -0
  58. package/dist/cli/tui/tabs/project-tab.js.map +1 -0
  59. package/dist/cli/tui/tabs/skills-tab.d.ts +17 -1
  60. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  61. package/dist/cli/tui/tabs/skills-tab.js +131 -224
  62. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  63. package/dist/cli/tui/tabs/status-tab.d.ts +13 -0
  64. package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
  65. package/dist/cli/tui/tabs/status-tab.js +52 -66
  66. package/dist/cli/tui/tabs/status-tab.js.map +1 -1
  67. package/dist/cli/tui/tabs/update-tab.d.ts +12 -1
  68. package/dist/cli/tui/tabs/update-tab.d.ts.map +1 -1
  69. package/dist/cli/tui/tabs/update-tab.js +54 -49
  70. package/dist/cli/tui/tabs/update-tab.js.map +1 -1
  71. package/dist/cli/tui/theme.d.ts +84 -12
  72. package/dist/cli/tui/theme.d.ts.map +1 -1
  73. package/dist/cli/tui/theme.js +100 -16
  74. package/dist/cli/tui/theme.js.map +1 -1
  75. package/dist/cli/tui/tui-prefs.d.ts +15 -0
  76. package/dist/cli/tui/tui-prefs.d.ts.map +1 -0
  77. package/dist/cli/tui/tui-prefs.js +45 -0
  78. package/dist/cli/tui/tui-prefs.js.map +1 -0
  79. package/package.json +1 -1
@@ -1,24 +1,19 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text, useInput } from "ink";
3
- import { useCallback, useEffect, useRef, useState } from "react";
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { selfMcpConfig, } from "../../../application/self/mcp-config.js";
5
5
  import { ConfirmModal } from "../components/confirm-modal.js";
6
- import { ConnectionsGrid } from "../components/connections-grid.js";
7
6
  import { InputPrompt } from "../components/input-prompt.js";
8
- import { SectionedMenu, } from "../components/sectioned-menu.js";
9
- import { Toast } from "../components/toast.js";
7
+ import { PageHead } from "../components/page-head.js";
8
+ import { Pill } from "../components/pill.js";
10
9
  import { useInputLock } from "../input-lock.js";
11
10
  import { colors, icons } from "../theme.js";
12
- const ACTION_LABELS = {
13
- "install-claude": { label: "Instalar en Claude Code", busy: "instalando en Claude..." },
14
- "install-codex": { label: "Instalar en Codex", busy: "instalando en Codex..." },
15
- "install-warp": { label: "Instalar en Warp", busy: "instalando en Warp..." },
16
- };
17
- const STATUS_TRAILING = {
18
- si: { icon: icons.check, color: colors.success, text: "instalado" },
19
- no: { icon: "–", color: colors.fgMoreSubtle, text: "no instalado" },
20
- drift: { icon: "!", color: colors.warning, text: "drift" },
21
- };
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
+ ];
22
17
  function buildArgs(action, values = {}) {
23
18
  return {
24
19
  rest: ["mcp", action],
@@ -28,200 +23,300 @@ function buildArgs(action, values = {}) {
28
23
  valuesMulti: new Map(),
29
24
  };
30
25
  }
31
- function buildActionMenuItems(target) {
32
- return [
33
- {
34
- kind: "item",
35
- label: ACTION_LABELS["install-claude"].label,
36
- value: "install-claude",
37
- trailing: STATUS_TRAILING[target.instalado.claude_code],
38
- },
39
- {
40
- kind: "item",
41
- label: ACTION_LABELS["install-codex"].label,
42
- value: "install-codex",
43
- trailing: STATUS_TRAILING[target.instalado.codex],
44
- },
45
- {
46
- kind: "item",
47
- label: ACTION_LABELS["install-warp"].label,
48
- value: "install-warp",
49
- trailing: STATUS_TRAILING[target.instalado.warp],
50
- },
51
- { kind: "section" },
52
- { kind: "item", label: "Diagnosticar conexión", value: "doctor" },
53
- { kind: "item", label: "Eliminar conexión…", value: "remove" },
54
- ];
55
- }
56
- export function McpTab({ ctx, isActive }) {
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 }) {
57
42
  const [connections, setConnections] = useState([]);
58
43
  const [cursor, setCursor] = useState(0);
44
+ const [actionCursor, setActionCursor] = useState(0);
59
45
  const [mode, setMode] = useState({ kind: "list" });
60
- const [toast, setToast] = useState(null);
61
46
  const [warpHint, setWarpHint] = useState(null);
62
47
  const startedRef = useRef(false);
63
48
  const { lock, unlock } = useInputLock();
64
- // Lock global hotkeys (q/Tab/?/1-4) while a non-list mode owns the screen
65
- // (input prompt or confirm modal). Clear any prior toast so the previous
66
- // action result doesn't bleed into the new modal.
67
49
  useEffect(() => {
68
- if (mode.kind === "list") {
50
+ if (mode.kind === "list" || mode.kind === "actions")
69
51
  unlock();
70
- }
71
- else {
52
+ else
72
53
  lock();
73
- setToast(null);
74
- }
75
54
  }, [mode, lock, unlock]);
76
- // Always release the lock when the tab unmounts.
77
- useEffect(() => {
78
- return () => unlock();
79
- }, [unlock]);
55
+ useEffect(() => () => unlock(), [unlock]);
80
56
  const refresh = useCallback(async () => {
81
57
  try {
82
58
  const result = await selfMcpConfig(buildArgs("list"), ctx);
83
59
  const next = result.ok ? (result.data?.connections ?? []) : [];
84
60
  setConnections(next);
85
- setCursor((c) => Math.min(Math.max(0, next.length - 1), Math.max(0, c)));
61
+ setCursor((c) => Math.min(Math.max(0, c), next.length));
86
62
  }
87
63
  catch (err) {
88
- setToast({ tone: "error", message: err.message });
64
+ onToast?.({ tone: "err", title: "Error cargando MCP", body: err.message });
89
65
  }
90
- }, [ctx]);
66
+ }, [ctx, onToast]);
91
67
  useEffect(() => {
92
68
  if (startedRef.current)
93
69
  return;
94
70
  startedRef.current = true;
95
71
  void refresh();
96
72
  }, [refresh]);
97
- const runAction = useCallback(async (action, name, label) => {
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]);
95
+ const runRawAction = useCallback(async (action, name, label) => {
98
96
  setMode({ kind: "busy", label });
99
- setToast(null);
100
- setWarpHint(null);
101
97
  try {
102
98
  const result = await selfMcpConfig(buildArgs(action, { name }), ctx);
103
- const summary = result.data?.summary ?? result.error?.message ?? "";
104
99
  const isWarpInstall = result.ok && action === "install-warp" && result.data?.warp_hint;
105
- setToast({
106
- tone: result.ok ? (isWarpInstall ? "info" : "success") : "error",
107
- message: summary,
108
- });
109
- if (isWarpInstall && result.data?.warp_hint) {
100
+ if (isWarpInstall && result.data?.warp_hint)
110
101
  setWarpHint(result.data.warp_hint);
102
+ if (!result.ok) {
103
+ const summary = result.error?.message ?? "fallo";
104
+ onToast?.({ tone: "err", title: `Falló paso ${action}`, body: summary });
105
+ return false;
111
106
  }
112
- await refresh();
107
+ return true;
113
108
  }
114
109
  catch (err) {
115
- setToast({ tone: "error", message: err.message });
110
+ onToast?.({ tone: "err", title: "Error", body: err.message });
111
+ return false;
116
112
  }
117
- finally {
113
+ }, [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();
118
121
  setMode({ kind: "list" });
122
+ return;
119
123
  }
120
- }, [ctx, refresh]);
121
- useInput((input, key) => {
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
+ }
154
+ }
155
+ onToast?.({
156
+ tone: "ok",
157
+ title: `${kind === "reinstall" ? "Reinstalación" : "Instalación"} OK · ${name}`,
158
+ body: "claude + codex + warp",
159
+ });
160
+ await refresh();
161
+ setMode({ kind: "list" });
162
+ }, [runRawAction, refresh, onToast]);
163
+ const applyAction = useCallback((def) => {
164
+ if (!current)
165
+ return;
166
+ if (def.id === "uninstall") {
167
+ setMode({ kind: "confirm-delete", name: current.nombre });
168
+ return;
169
+ }
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) => {
122
175
  if (!isActive || mode.kind !== "list")
123
176
  return;
124
- if (handleNavigation(input, key, connections.length, setCursor))
177
+ if (key.upArrow) {
178
+ setCursor((c) => Math.max(0, c - 1));
179
+ setActionCursor(0);
125
180
  return;
126
- if (input === "n" || input === "N") {
127
- setMode({ kind: "new-name" });
181
+ }
182
+ if (key.downArrow) {
183
+ setCursor((c) => Math.min(totalListRows - 1, c + 1));
184
+ setActionCursor(0);
128
185
  return;
129
186
  }
130
187
  if (key.return) {
131
- const target = connections[cursor];
132
- if (target)
133
- setMode({ kind: "action-menu", target });
188
+ if (isNewRow) {
189
+ setMode({ kind: "new-name" });
190
+ }
191
+ else if (current) {
192
+ setActionCursor(0);
193
+ setMode({ kind: "actions" });
194
+ }
134
195
  }
135
196
  }, { isActive });
136
- useInput((input, key) => {
137
- if (!isActive)
197
+ // input actions mode (cursor en lista de acciones)
198
+ useInput((_input, key) => {
199
+ if (!isActive || mode.kind !== "actions")
138
200
  return;
139
- if (mode.kind !== "confirm-delete")
201
+ if (key.upArrow) {
202
+ setActionCursor((c) => Math.max(0, c - 1));
140
203
  return;
141
- if (input === "y" || input === "Y") {
142
- void runAction("remove", mode.name, `eliminando ${mode.name}...`);
143
204
  }
144
- else if (key.escape || input === "n" || input === "N") {
145
- setMode({ kind: "list" });
146
- }
147
- }, { isActive });
148
- // Esc cancela cualquier input mode (new-name / new-dsn / action-menu) y
149
- // vuelve a list. TextInput de @inkjs/ui no tiene onCancel propio, así que
150
- // registramos un useInput dedicado que coexiste con el del TextInput.
151
- useInput((_, key) => {
152
- if (!isActive)
153
- return;
154
- if (mode.kind !== "new-name" && mode.kind !== "new-dsn" && mode.kind !== "action-menu") {
205
+ if (key.downArrow) {
206
+ setActionCursor((c) => Math.min(availableActions.length - 1, c + 1));
155
207
  return;
156
208
  }
157
209
  if (key.escape) {
158
210
  setMode({ kind: "list" });
159
- }
160
- }, { isActive });
161
- const handleActionSelect = useCallback((action) => {
162
- if (mode.kind !== "action-menu")
163
- return;
164
- const name = mode.target.nombre;
165
- if (action === "remove") {
166
- setMode({ kind: "confirm-delete", name });
167
211
  return;
168
212
  }
169
- if (action === "doctor") {
170
- void runAction("doctor", name, "diagnosticando...");
213
+ if (key.return) {
214
+ const def = availableActions[actionCursor];
215
+ if (def)
216
+ applyAction(def);
217
+ }
218
+ }, { isActive });
219
+ // input — confirm-delete
220
+ useInput((input, key) => {
221
+ if (!isActive || mode.kind !== "confirm-delete")
171
222
  return;
223
+ if (input === "y" || input === "Y") {
224
+ void runRawAction("remove", mode.name, `eliminando ${mode.name}…`).then(async (ok) => {
225
+ if (ok)
226
+ onToast?.({ tone: "ok", title: `Conexión '${mode.name}' eliminada` });
227
+ await refresh();
228
+ setMode({ kind: "list" });
229
+ });
172
230
  }
173
- const { busy } = ACTION_LABELS[action];
174
- void runAction(action, name, busy);
175
- }, [mode, runAction]);
176
- // Render
177
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: colors.fg, bold: true, children: "Conexiones MCP database" }), _jsx(Text, { color: colors.fgMoreSubtle, children: " \u00B7 " }), _jsxs(Text, { color: colors.fgSubtle, children: [connections.length, " registrada", connections.length === 1 ? "" : "s"] })] }), _jsxs(Box, { marginTop: 1, children: [mode.kind === "list" ? (_jsx(ConnectionsGrid, { connections: connections, cursor: cursor, isActive: isActive })) : null, mode.kind === "action-menu" ? (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: colors.fgSubtle, children: [icons.bullet, " acciones de", " ", _jsx(Text, { color: colors.fg, bold: true, children: mode.target.nombre })] }), _jsx(Box, { marginTop: 1, children: _jsx(SectionedMenu, { items: buildActionMenuItems(mode.target), onSelect: handleActionSelect, isActive: isActive }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.fgMoreSubtle, children: "Esc para cerrar sin aplicar." }) })] })) : null, mode.kind === "new-name" ? (_jsx(InputPrompt, { message: "Nombre de la nueva conexi\u00F3n (slug-kebab):", onSubmit: (value) => {
178
- const trimmed = value.trim();
179
- if (!trimmed) {
180
- setToast({ tone: "error", message: "Nombre vacío." });
181
- setMode({ kind: "list" });
182
- return;
183
- }
184
- setMode({ kind: "new-dsn", name: trimmed });
185
- }, isActive: isActive })) : null, mode.kind === "new-dsn" ? (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: colors.fgSubtle, children: [icons.bullet, " nombre:", " ", _jsx(Text, { color: colors.fg, bold: true, children: mode.name })] }), _jsx(Box, { marginTop: 1, children: _jsx(InputPrompt, { message: "Variable de entorno con la DSN (UPPER_SNAKE_CASE):", onSubmit: (value) => {
186
- const dsnVar = value.trim();
187
- if (!dsnVar) {
188
- setToast({ tone: "error", message: "DSN var vacía." });
189
- setMode({ kind: "list" });
190
- return;
191
- }
192
- void registerConnection(mode.name, dsnVar);
193
- }, isActive: isActive }) })] })) : null, mode.kind === "confirm-delete" ? (_jsx(ConfirmModal, { tone: "danger", title: "Eliminar conexi\u00F3n", body: [
194
- `Vas a eliminar la conexión '${mode.name}'.`,
195
- "Esta acción no se puede deshacer.",
196
- ], confirmKey: "y", confirmLabel: `Sí, eliminar ${mode.name}`, cancelKey: "n / Esc", cancelLabel: "Cancelar" })) : null, mode.kind === "busy" ? (_jsxs(Text, { color: colors.warning, children: [icons.spinner, " ", mode.label] })) : null] }), toast ? _jsx(Toast, { tone: toast.tone, message: toast.message }) : null, warpHint ? _jsx(WarpHintPanel, { hint: warpHint }) : null, _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.fgMoreSubtle, children: ["Warp lee ", _jsx(Text, { bold: true, children: ".warp/.mcp.json" }), " solo si", " ", _jsx(Text, { bold: true, children: "File-based MCP Servers" }), " est\u00E1 activo en Settings."] }) })] }));
197
- function handleNavigation(_input, key, total, setCursorState) {
198
- if (key.upArrow) {
199
- setCursorState((c) => Math.max(0, c - 1));
200
- return true;
231
+ else if (key.escape || input === "n" || input === "N") {
232
+ setMode({ kind: "list" });
201
233
  }
202
- if (key.downArrow) {
203
- setCursorState((c) => (total === 0 ? 0 : Math.min(total - 1, c + 1)));
204
- return true;
234
+ }, { isActive });
235
+ // input esc en new-name/new-dsn
236
+ useInput((_input, key) => {
237
+ if (!isActive)
238
+ return;
239
+ if (mode.kind === "new-name" || mode.kind === "new-dsn") {
240
+ if (key.escape)
241
+ setMode({ kind: "list" });
205
242
  }
206
- return false;
207
- }
243
+ }, { 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" }) })] }));
208
263
  async function registerConnection(name, dsnVar) {
209
- setMode({ kind: "busy", label: `registrando ${name}...` });
210
- setToast(null);
264
+ setMode({ kind: "busy", label: `registrando ${name}…` });
211
265
  try {
212
266
  const result = await selfMcpConfig(buildArgs("use-env", { name, "dsn-var": dsnVar }), ctx);
213
267
  const summary = result.data?.summary ?? result.error?.message ?? "";
214
- setToast({ tone: result.ok ? "success" : "error", message: summary });
268
+ onToast?.({
269
+ tone: result.ok ? "ok" : "err",
270
+ title: result.ok ? "Conexión registrada" : "Falló",
271
+ body: summary,
272
+ });
215
273
  await refresh();
216
274
  }
217
275
  catch (err) {
218
- setToast({ tone: "error", message: err.message });
276
+ onToast?.({ tone: "err", title: "Error", body: err.message });
219
277
  }
220
278
  finally {
221
279
  setMode({ kind: "list" });
222
280
  }
223
281
  }
224
282
  }
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
+ }
225
320
  function WarpHintPanel({ hint }) {
226
321
  const steps = hint.lines.slice(1);
227
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] })] }));
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugins-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/plugins-tab.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAWjD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAoKD,wBAAgB,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAma5D;AAwND,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAS9D"}
1
+ {"version":3,"file":"plugins-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/plugins-tab.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAcjD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AA6KD,wBAAgB,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAqhB5D;AA6QD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAS9D"}