@tacuchi/agent-workflow-cli 7.3.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/cli/tui/app.d.ts.map +1 -1
  2. package/dist/cli/tui/app.js +195 -53
  3. package/dist/cli/tui/app.js.map +1 -1
  4. package/dist/cli/tui/components/action-modal.d.ts +33 -0
  5. package/dist/cli/tui/components/action-modal.d.ts.map +1 -0
  6. package/dist/cli/tui/components/action-modal.js +41 -0
  7. package/dist/cli/tui/components/action-modal.js.map +1 -0
  8. package/dist/cli/tui/components/command-palette.d.ts +12 -33
  9. package/dist/cli/tui/components/command-palette.d.ts.map +1 -1
  10. package/dist/cli/tui/components/command-palette.js +17 -110
  11. package/dist/cli/tui/components/command-palette.js.map +1 -1
  12. package/dist/cli/tui/components/connections-grid.js +3 -3
  13. package/dist/cli/tui/components/connections-grid.js.map +1 -1
  14. package/dist/cli/tui/components/connections-table.js +1 -1
  15. package/dist/cli/tui/components/connections-table.js.map +1 -1
  16. package/dist/cli/tui/components/family-card.d.ts +10 -0
  17. package/dist/cli/tui/components/family-card.d.ts.map +1 -0
  18. package/dist/cli/tui/components/family-card.js +7 -0
  19. package/dist/cli/tui/components/family-card.js.map +1 -0
  20. package/dist/cli/tui/components/frame-box.d.ts +10 -0
  21. package/dist/cli/tui/components/frame-box.d.ts.map +1 -0
  22. package/dist/cli/tui/components/frame-box.js +9 -0
  23. package/dist/cli/tui/components/frame-box.js.map +1 -0
  24. package/dist/cli/tui/components/input-prompt.js +1 -1
  25. package/dist/cli/tui/components/input-prompt.js.map +1 -1
  26. package/dist/cli/tui/components/list-row.d.ts +22 -0
  27. package/dist/cli/tui/components/list-row.d.ts.map +1 -0
  28. package/dist/cli/tui/components/list-row.js +27 -0
  29. package/dist/cli/tui/components/list-row.js.map +1 -0
  30. package/dist/cli/tui/components/page-head.d.ts +14 -5
  31. package/dist/cli/tui/components/page-head.d.ts.map +1 -1
  32. package/dist/cli/tui/components/page-head.js +9 -5
  33. package/dist/cli/tui/components/page-head.js.map +1 -1
  34. package/dist/cli/tui/components/phase-card.d.ts +14 -0
  35. package/dist/cli/tui/components/phase-card.d.ts.map +1 -0
  36. package/dist/cli/tui/components/phase-card.js +8 -0
  37. package/dist/cli/tui/components/phase-card.js.map +1 -0
  38. package/dist/cli/tui/components/sectioned-menu.js +1 -1
  39. package/dist/cli/tui/components/sectioned-menu.js.map +1 -1
  40. package/dist/cli/tui/components/stat-tile.d.ts +14 -0
  41. package/dist/cli/tui/components/stat-tile.d.ts.map +1 -0
  42. package/dist/cli/tui/components/stat-tile.js +22 -0
  43. package/dist/cli/tui/components/stat-tile.js.map +1 -0
  44. package/dist/cli/tui/data/workflow-content.d.ts +16 -0
  45. package/dist/cli/tui/data/workflow-content.d.ts.map +1 -0
  46. package/dist/cli/tui/data/workflow-content.js +202 -0
  47. package/dist/cli/tui/data/workflow-content.js.map +1 -0
  48. package/dist/cli/tui/tabs/mcp-tab.d.ts +6 -12
  49. package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
  50. package/dist/cli/tui/tabs/mcp-tab.js +127 -141
  51. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  52. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
  53. package/dist/cli/tui/tabs/project-tab.js +30 -29
  54. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  55. package/dist/cli/tui/tabs/skills-tab.d.ts +18 -8
  56. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  57. package/dist/cli/tui/tabs/skills-tab.js +175 -112
  58. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  59. package/dist/cli/tui/tabs/status-tab.d.ts +11 -14
  60. package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
  61. package/dist/cli/tui/tabs/status-tab.js +138 -34
  62. package/dist/cli/tui/tabs/status-tab.js.map +1 -1
  63. package/dist/cli/tui/tabs/workflow-tab.d.ts +7 -0
  64. package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -0
  65. package/dist/cli/tui/tabs/workflow-tab.js +24 -0
  66. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -0
  67. package/package.json +1 -1
  68. package/dist/cli/tui/tabs/plugins-tab.d.ts +0 -8
  69. package/dist/cli/tui/tabs/plugins-tab.d.ts.map +0 -1
  70. package/dist/cli/tui/tabs/plugins-tab.js +0 -635
  71. package/dist/cli/tui/tabs/plugins-tab.js.map +0 -1
  72. package/dist/cli/tui/tabs/update-tab.d.ts +0 -20
  73. package/dist/cli/tui/tabs/update-tab.d.ts.map +0 -1
  74. package/dist/cli/tui/tabs/update-tab.js +0 -83
  75. package/dist/cli/tui/tabs/update-tab.js.map +0 -1
@@ -1,42 +1,40 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text, useInput } from "ink";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { selfCleanLegacy } from "../../../application/self/clean-legacy.js";
5
- import { selfInstallHooks } from "../../../application/self/install-hooks.js";
6
- import { selfInstallSkill } from "../../../application/self/install-skill.js";
5
+ import { TARGET_ROOTS, selfInstallSkill, } from "../../../application/self/install-skill.js";
7
6
  import { selfClearPluginCache } from "../../../application/self/plugin-cache-clear.js";
8
- import { selfUninstallSkill } from "../../../application/self/uninstall-skill.js";
9
7
  import { selfUninstall } from "../../../application/self/uninstall.js";
8
+ import { ActionModal } from "../components/action-modal.js";
9
+ import { FrameBox } from "../components/frame-box.js";
10
+ import { ListRow } from "../components/list-row.js";
10
11
  import { PageHead } from "../components/page-head.js";
11
- import { Pill } from "../components/pill.js";
12
+ import { WORKFLOW_CONTENT } from "../data/workflow-content.js";
13
+ import { HOSTS } from "../hosts.js";
12
14
  import { useInputLock } from "../input-lock.js";
13
15
  import { colors, icons } from "../theme.js";
14
16
  const HOOKS_SUPPORTED_TARGETS = new Set(["claude"]);
15
- const ACTION_DEFS = [
16
- {
17
- id: "install",
18
- label: (state) => (state === "installed" ? "Reinstalar" : "Instalar"),
19
- availableWhen: "always",
20
- },
21
- {
22
- id: "uninstall",
23
- label: () => "Desinstalar",
24
- danger: true,
25
- availableWhen: "installed",
26
- },
27
- ];
17
+ const BACKED_INSTALL_TARGETS = new Set(["claude", "codex", "warp", "agents"]);
28
18
  /**
29
- * SkillsTab — split view con sub-mode actions.
19
+ * SkillsTab — single-column list + ActionModal overlay.
30
20
  *
31
- * - `list` mode: cursor en lista de hosts. ↑↓ navega · ⏎ entra a actions.
32
- * - `actions` mode: cursor en lista de acciones del host activo.
33
- * ↑↓ navega · aplica · Esc vuelve.
21
+ * Layout match con handoff (variant-palette.jsx SkillsTab):
22
+ * PageHead con count + desc empty-state banner (si 0 installed) → FrameBox
23
+ * "hosts" accent con ListRow por host (7 total) → ActionModal overlay al ⏎.
34
24
  *
35
- * Acciones:
36
- * - Instalar/Reinstalar encadena clean-legacy + clean-cache + install-full.
37
- * - Desinstalar — encadena uninstall-full + clean-cache. Solo disponible si instalado.
25
+ * Hosts no-backed (gemini/opencode/crush) renderizan con chip `pending` warn,
26
+ * NO se puede invocar install. Backed sin instalar muestran `backed` chip.
27
+ *
28
+ * Acciones del modal:
29
+ * - Reinstall (steps clean-legacy → clean-cache → install-skill --force +
30
+ * hook hint solo para claude).
31
+ * - Uninstall (danger) — solo cuando installed.
32
+ *
33
+ * Atajos:
34
+ * - `i` en list mode con 0 hosts instalados → install directo en Claude.
35
+ * - ↑↓ navega · ⏎ abre modal · Esc cierra modal.
38
36
  */
39
- export function SkillsTab({ ctx, isActive, onToast }) {
37
+ export function SkillsTab({ ctx, isActive, version, onToast }) {
40
38
  const [skills, setSkills] = useState([]);
41
39
  const [cursor, setCursor] = useState(0);
42
40
  const [actionCursor, setActionCursor] = useState(0);
@@ -69,32 +67,21 @@ export function SkillsTab({ ctx, isActive, onToast }) {
69
67
  hooksInstalled = false;
70
68
  }
71
69
  }
72
- const next = [
73
- {
74
- id: "claude",
75
- label: "Claude Code",
76
- installed: await ctx.fs.exists(`${home}/.claude/skills/agent-workflow`),
77
- hooks_installed: hooksInstalled,
78
- hooks_supported: HOOKS_SUPPORTED_TARGETS.has("claude"),
79
- path: "~/.claude/skills/agent-workflow/",
80
- },
81
- {
82
- id: "codex",
83
- label: "Codex",
84
- installed: await ctx.fs.exists(`${home}/.codex/skills/agent-workflow`),
85
- hooks_installed: false,
86
- hooks_supported: HOOKS_SUPPORTED_TARGETS.has("codex"),
87
- path: "~/.codex/skills/agent-workflow/",
88
- },
89
- {
90
- id: "warp",
91
- label: "Warp Terminal",
92
- installed: await ctx.fs.exists(`${home}/.warp/skills/agent-workflow`),
93
- hooks_installed: false,
94
- hooks_supported: HOOKS_SUPPORTED_TARGETS.has("warp"),
95
- path: "~/.warp/skills/agent-workflow/",
96
- },
97
- ];
70
+ const next = [];
71
+ for (const host of HOSTS) {
72
+ const path = pathForHost(host, home);
73
+ const installed = host.backed && path ? await ctx.fs.exists(path) : false;
74
+ next.push({
75
+ host,
76
+ installed,
77
+ hooks_installed: host.id === "claude" ? hooksInstalled : false,
78
+ path: installed
79
+ ? friendlyPath(host, home)
80
+ : host.backed
81
+ ? "not installed"
82
+ : "(not wired yet)",
83
+ });
84
+ }
98
85
  setSkills(next);
99
86
  setCursor((c) => Math.min(Math.max(0, c), Math.max(0, next.length - 1)));
100
87
  }, [ctx]);
@@ -106,41 +93,77 @@ export function SkillsTab({ ctx, isActive, onToast }) {
106
93
  }, [refresh]);
107
94
  const installedCount = skills.filter((s) => s.installed).length;
108
95
  const totalCount = skills.length;
109
- const currentTarget = useMemo(() => {
110
- const host = skills[cursor];
111
- if (!host)
112
- return null;
113
- return { kind: "host", id: host.id, label: host.label };
114
- }, [cursor, skills]);
115
- const focusedHost = useMemo(() => {
116
- if (!currentTarget)
117
- return null;
118
- return skills.find((s) => s.id === currentTarget.id) ?? null;
119
- }, [currentTarget, skills]);
120
- const stateOfTarget = focusedHost?.installed ? "installed" : "missing";
121
- // Acciones disponibles según el estado.
122
- const availableActions = useMemo(() => ACTION_DEFS.filter((a) => a.availableWhen === "always" || stateOfTarget === "installed"), [stateOfTarget]);
123
- const runComposite = useCallback(async (kind, target) => {
96
+ const focused = skills[cursor] ?? null;
97
+ const isInstalled = focused?.installed === true;
98
+ const isBackedFocused = focused ? BACKED_INSTALL_TARGETS.has(focused.host.id) : false;
99
+ // Acciones del modal — Reinstall siempre, Uninstall solo si instalado.
100
+ const modalActions = useMemo(() => {
101
+ if (!focused)
102
+ return [];
103
+ const installSteps = ["clean-legacy", "clean-cache", "install-skill --force"];
104
+ const reinstall = {
105
+ id: "reinstall",
106
+ icon: icons.refresh,
107
+ label: isInstalled ? "Reinstall" : "Install",
108
+ desc: isInstalled
109
+ ? "Overwrite skill files + commands + hooks (--force, no prompts)."
110
+ : "Copy SKILL + commands + hooks. Always uses --force (overwrite).",
111
+ steps: installSteps,
112
+ ...(HOOKS_SUPPORTED_TARGETS.has(focused.host.id)
113
+ ? {
114
+ hint: {
115
+ tone: "ok",
116
+ icon: icons.hook,
117
+ text: `also wires 5 Claude hooks: ${WORKFLOW_CONTENT.hooks.map((h) => h.name).join(", ")}`,
118
+ },
119
+ }
120
+ : {}),
121
+ };
122
+ if (isInstalled) {
123
+ return [
124
+ reinstall,
125
+ {
126
+ id: "uninstall",
127
+ icon: icons.cross,
128
+ label: "Uninstall",
129
+ desc: "Remove SKILL + commands + hooks. Reversible with Install.",
130
+ danger: true,
131
+ steps: ["uninstall --force", "clean-cache"],
132
+ },
133
+ ];
134
+ }
135
+ return [reinstall];
136
+ }, [focused, isInstalled]);
137
+ const runComposite = useCallback(async (kind, host) => {
138
+ if (!BACKED_INSTALL_TARGETS.has(host.id)) {
139
+ onToast?.({
140
+ tone: "info",
141
+ title: `Host '${host.name}' not supported yet`,
142
+ body: "Install/uninstall backend without path mapping.",
143
+ });
144
+ return;
145
+ }
146
+ const target = host.id;
124
147
  const steps = kind === "install"
125
148
  ? ["clean-legacy", "clean-cache", "install-full"]
126
149
  : ["uninstall-full", "clean-cache"];
127
- const startLabel = kind === "install" ? `instalando en ${target.label}…` : `desinstalando de ${target.label}…`;
150
+ const startLabel = kind === "install" ? `installing on ${host.name}…` : `uninstalling from ${host.name}…`;
128
151
  setBusy(startLabel);
129
152
  try {
130
153
  for (const step of steps) {
131
- setBusy(buildBusyLabel(step, target.label));
154
+ setBusy(buildBusyLabel(step, host.name));
132
155
  const result = await dispatchAction(step, target, ctx);
133
156
  if (!result.ok) {
134
157
  const failMsg = result.error?.message;
135
158
  onToast?.(failMsg !== undefined
136
- ? { tone: "err", title: `Falló en paso ${step}`, body: failMsg }
137
- : { tone: "err", title: `Falló en paso ${step}` });
159
+ ? { tone: "err", title: `Step ${step} failed`, body: failMsg }
160
+ : { tone: "err", title: `Step ${step} failed` });
138
161
  await refresh();
139
162
  return;
140
163
  }
141
164
  }
142
165
  const finalAction = kind === "install" ? "install-full" : "uninstall-full";
143
- onToast?.({ tone: "ok", title: buildSuccessMessage(finalAction, target) });
166
+ onToast?.({ tone: "ok", title: buildSuccessMessage(finalAction, host.name) });
144
167
  await refresh();
145
168
  }
146
169
  catch (err) {
@@ -150,10 +173,17 @@ export function SkillsTab({ ctx, isActive, onToast }) {
150
173
  setBusy(null);
151
174
  }
152
175
  }, [ctx, refresh, onToast]);
153
- // input — list mode (cursor en la lista de hosts)
154
- useInput((_input, key) => {
176
+ // input — list mode
177
+ useInput((input, key) => {
155
178
  if (!isActive || busy || mode.kind !== "list")
156
179
  return;
180
+ // Empty-state shortcut: `i` instala directo en Claude.
181
+ if ((input === "i" || input === "I") && installedCount === 0) {
182
+ const claude = HOSTS.find((h) => h.id === "claude");
183
+ if (claude)
184
+ void runComposite("install", claude);
185
+ return;
186
+ }
157
187
  if (key.upArrow) {
158
188
  setCursor((c) => Math.max(0, c - 1));
159
189
  setActionCursor(0);
@@ -164,12 +194,20 @@ export function SkillsTab({ ctx, isActive, onToast }) {
164
194
  setActionCursor(0);
165
195
  return;
166
196
  }
167
- if (key.return && currentTarget) {
197
+ if (key.return && focused) {
198
+ if (!BACKED_INSTALL_TARGETS.has(focused.host.id)) {
199
+ onToast?.({
200
+ tone: "info",
201
+ title: `Host '${focused.host.name}'`,
202
+ body: "pending — backend without path mapping yet",
203
+ });
204
+ return;
205
+ }
168
206
  setActionCursor(0);
169
207
  setMode({ kind: "actions" });
170
208
  }
171
209
  }, { isActive });
172
- // input — actions mode (cursor en lista de acciones del detail panel)
210
+ // input — actions mode (modal overlay)
173
211
  useInput((_input, key) => {
174
212
  if (!isActive || busy || mode.kind !== "actions")
175
213
  return;
@@ -178,48 +216,77 @@ export function SkillsTab({ ctx, isActive, onToast }) {
178
216
  return;
179
217
  }
180
218
  if (key.downArrow) {
181
- setActionCursor((c) => Math.min(availableActions.length - 1, c + 1));
219
+ setActionCursor((c) => Math.min(modalActions.length - 1, c + 1));
182
220
  return;
183
221
  }
184
222
  if (key.escape) {
185
223
  setMode({ kind: "list" });
186
224
  return;
187
225
  }
188
- if (key.return && currentTarget) {
189
- const def = availableActions[actionCursor];
226
+ if (key.return && focused) {
227
+ const def = modalActions[actionCursor];
190
228
  if (!def)
191
229
  return;
192
- void runComposite(def.id, currentTarget);
230
+ const kind = def.id === "uninstall" ? "uninstall" : "install";
231
+ void runComposite(kind, focused.host);
193
232
  setMode({ kind: "list" });
194
233
  }
195
234
  }, { isActive });
196
- const inActionMode = mode.kind === "actions";
235
+ const inListMode = mode.kind === "list";
197
236
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(PageHead, { title: "Skills", count: {
198
237
  label: `${installedCount}/${totalCount}`,
199
- tone: installedCount === totalCount && totalCount > 0 ? "ok" : "muted",
200
- } }), _jsxs(Box, { children: [_jsxs(Box, { flexDirection: "column", minWidth: 32, marginRight: 1, borderStyle: "round", borderColor: inActionMode ? colors.borderFaint : colors.borderActive, paddingX: 1, children: [_jsx(Text, { color: colors.fgMoreSubtle, children: "HOSTS" }), skills.map((s, i) => (_jsx(HostRow, { label: s.label, note: s.installed ? s.path : "no instalado", hooks: s.hooks_installed, selected: cursor === i, dimmed: inActionMode, state: s.installed ? "ok" : "missing" }, s.id)))] }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, borderStyle: "round", borderColor: inActionMode ? colors.borderActive : colors.borderFaint, paddingX: 1, children: [_jsx(Text, { color: colors.fgMoreSubtle, children: "DETALLE" }), currentTarget && focusedHost ? (_jsxs(_Fragment, { children: [_jsxs(Box, { children: [_jsx(Text, { color: colors.fgBright, bold: true, children: currentTarget.label }), _jsx(Box, { marginLeft: 1, children: _jsx(Pill, { tone: stateOfTarget === "installed" ? "ok" : "muted", children: stateOfTarget === "installed" ? "instalado" : "no instalado" }) })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.info, children: focusedHost.path }), focusedHost.hooks_supported && focusedHost.hooks_installed ? (_jsx(Box, { marginTop: 1, children: _jsx(Pill, { tone: "info", children: "hooks activos" }) })) : null] }), _jsx(Box, { marginTop: 1, flexDirection: "column", children: availableActions.map((a, i) => (_jsx(ActionRow, { label: a.label(stateOfTarget), danger: a.danger === true, active: inActionMode && i === actionCursor }, a.id))) }), _jsx(Text, { color: colors.fgFaint, children: stateOfTarget === "installed"
201
- ? "reinstalar encadena clean-legacy + clean-cache + install · desinstalar encadena uninstall + clean-cache"
202
- : "instalar encadena clean-legacy + clean-cache + install" })] })) : (_jsx(Text, { color: colors.fgFaint, children: "(seleccion\u00E1 un host)" })), busy ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.warning, children: [icons.spinner, " ", busy] }) })) : null] })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.fgFaint, children: inActionMode
203
- ? "↑↓ navegar acciones · ⏎ aplicar · esc volver"
204
- : "↑↓ navegar hosts · ver acciones" }) })] }));
238
+ tone: installedCount === 0 ? "warn" : "accent",
239
+ }, desc: `one universal SKILL · ${subSkillsTotal()} sub-skills · ${WORKFLOW_CONTENT.slashCommands.length} commands` }), installedCount === 0 && skills.length > 0 && inListMode ? (_jsxs(FrameBox, { title: "first run", accent: true, children: [_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: colors.accent, children: [icons.star, " "] }), _jsx(Text, { color: colors.fgBright, bold: true, children: "Nothing installed yet \u2014 start with Claude Code." })] }), _jsx(Text, { color: colors.fgSubtle, wrap: "wrap", children: "Claude supports SKILL + slash commands + hooks. Other hosts copy only the SKILL." }), _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsx(Text, { color: colors.accent, bold: true, inverse: true, children: ` i · ${icons.play} Install on Claude ` }), _jsx(Text, { color: colors.fgSubtle, children: " \u00B7 \u23CE view actions on active host" })] })] })) : null, inListMode ? (_jsx(FrameBox, { title: "hosts", accent: true, children: skills.map((s, i) => {
240
+ const meta = [];
241
+ if (HOOKS_SUPPORTED_TARGETS.has(s.host.id)) {
242
+ meta.push({
243
+ label: s.hooks_installed ? "hooks active" : "hooks inactive",
244
+ tone: s.hooks_installed ? "ok" : "dim",
245
+ });
246
+ }
247
+ meta.push({
248
+ label: s.host.backed ? "backed" : "pending",
249
+ tone: s.host.backed ? "dim" : "warn",
250
+ });
251
+ return (_jsx(ListRow, { icon: icons.diamond, iconActive: s.installed, title: s.host.name, subtitle: s.path, meta: meta, state: {
252
+ label: s.installed ? "installed" : "missing",
253
+ tone: s.installed ? "ok" : "dim",
254
+ }, chevron: true, active: cursor === i }, s.host.id));
255
+ }) })) : null, mode.kind === "actions" && focused && isBackedFocused ? (_jsx(Box, { flexDirection: "column", alignItems: "center", paddingY: 2, children: _jsx(Box, { width: "80%", flexDirection: "column", children: _jsx(ActionModal, { glyph: focused.host.glyph, title: focused.host.name, subtitle: focused.path, state: {
256
+ label: isInstalled ? "installed" : "missing",
257
+ tone: isInstalled ? "ok" : "dim",
258
+ }, actions: modalActions, cursor: actionCursor, footerRight: version ? `agent-workflow v${version}` : "agent-workflow" }) }) })) : null, busy ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.warning, children: [icons.spinner, " ", busy] }) })) : null] }));
259
+ }
260
+ // ===== helpers =====
261
+ function subSkillsTotal() {
262
+ return WORKFLOW_CONTENT.commandFamilies.reduce((n, f) => n + f.items.length, 0);
205
263
  }
206
- // ===== sub-components =====
207
- function HostRow({ label, note, hooks, selected, dimmed, state, }) {
208
- const focused = selected && !dimmed;
209
- const stateColor = state === "ok" ? colors.success : colors.fgFaint;
210
- return (_jsxs(Box, { children: [_jsx(Text, { color: focused ? colors.accent : colors.fgFaint, ...(focused ? { bold: true } : {}), children: selected ? "▸" : " " }), _jsx(Text, { children: " " }), _jsxs(Box, { flexGrow: 1, flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: focused ? colors.fgBright : colors.fgSubtle, ...(focused ? { bold: true, inverse: true } : {}), children: focused ? ` ${label} ` : label }), hooks ? (_jsx(Box, { marginLeft: 1, children: _jsx(Pill, { tone: "info", children: "hooks" }) })) : null] }), _jsx(Text, { color: colors.fgFaint, children: note })] }), _jsx(Text, { color: stateColor, bold: true, children: state === "ok" ? icons.check : icons.cross })] }));
264
+ function pathForHost(host, home) {
265
+ if (!BACKED_INSTALL_TARGETS.has(host.id))
266
+ return null;
267
+ const root = TARGET_ROOTS[host.id];
268
+ if (!root)
269
+ return null;
270
+ return `${home}/${root.join("/")}/agent-workflow`;
211
271
  }
212
- function ActionRow({ label, danger, active, }) {
213
- const cursorColor = active ? (danger ? colors.error : colors.accent) : colors.fgFaint;
214
- const labelColor = danger ? colors.error : active ? colors.fgBright : colors.fgSubtle;
215
- 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 })] }));
272
+ function friendlyPath(host, _home) {
273
+ if (host.id === "claude")
274
+ return "~/.claude/skills/agent-workflow/";
275
+ if (host.id === "codex")
276
+ return "~/.codex/skills/agent-workflow/";
277
+ if (host.id === "warp")
278
+ return "~/.warp/skills/agent-workflow/";
279
+ if (host.id === "agents")
280
+ return "~/.agents/skills/agent-workflow/";
281
+ return "(not wired yet)";
216
282
  }
217
- // ===== helpers (preserved) =====
218
283
  function buildArgsFor(action, target) {
219
284
  const flags = new Set();
220
285
  const values = new Map();
221
- values.set("target", target.id);
222
- if (action === "install-full")
286
+ values.set("target", target);
287
+ // `--force` aplica a install y uninstall: sobreescribir sin confirm prompt.
288
+ // Decisión de producto (handoff README §Estados, línea ~216).
289
+ if (action === "install-full" || action === "uninstall-full")
223
290
  flags.add("--force");
224
291
  if (action === "clean-cache")
225
292
  values.set("plugin", "agent-workflow");
@@ -259,29 +326,25 @@ async function dispatchAction(action, target, ctx) {
259
326
  function buildBusyLabel(action, label) {
260
327
  switch (action) {
261
328
  case "install-full":
262
- return `install completa en ${label}…`;
329
+ return `installing on ${label}…`;
263
330
  case "uninstall-full":
264
- return `uninstall completa en ${label}…`;
331
+ return `uninstalling from ${label}…`;
265
332
  case "clean-cache":
266
- return `limpiando caché en ${label}…`;
333
+ return `cleaning cache on ${label}…`;
267
334
  case "clean-legacy":
268
- return `removiendo legacy skills en ${label}…`;
335
+ return `removing legacy skills from ${label}…`;
269
336
  }
270
337
  }
271
- function buildSuccessMessage(action, target) {
272
- const t = target.label;
338
+ function buildSuccessMessage(action, label) {
273
339
  switch (action) {
274
340
  case "install-full":
275
- return `Install completa OK en ${t}.`;
341
+ return `Install complete OK on ${label}.`;
276
342
  case "uninstall-full":
277
- return `Uninstall completa OK en ${t}.`;
343
+ return `Uninstall complete OK on ${label}.`;
278
344
  case "clean-cache":
279
- return `Caché limpiada en ${t}.`;
345
+ return `Cache cleaned on ${label}.`;
280
346
  case "clean-legacy":
281
- return `Legacy skills removidos de ${t}.`;
347
+ return `Legacy skills removed from ${label}.`;
282
348
  }
283
349
  }
284
- // Mantenemos imports para uso futuro de hooks/skill-only (no usados hoy).
285
- void selfInstallHooks;
286
- void selfUninstallSkill;
287
350
  //# sourceMappingURL=skills-tab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/skills-tab.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,17 @@
1
1
  import type { CliContext } from "../../types.js";
2
2
  export interface StatusTabProps {
3
3
  ctx: CliContext;
4
+ version: string;
4
5
  isActive: boolean;
5
- onRunAction?: (id: string) => void;
6
+ onActivateTab?: (tab: "mcp" | "skills") => void;
7
+ onRequestUpdate?: () => void;
8
+ onToast?: (msg: {
9
+ tone: "ok" | "info" | "err";
10
+ title: string;
11
+ body?: string;
12
+ }) => void;
13
+ /** Emite cambios en el estado de alerta del tab (update outdated). */
14
+ onAlertChange?: (alert: boolean) => void;
6
15
  }
7
- /**
8
- * StatusTab — vista general del runtime.
9
- *
10
- * Estructura:
11
- * - PageHead (count: hosts instalados / totales)
12
- * - Card CLI (versión + paquete)
13
- * - Card MCP (lista de conexiones registradas)
14
- * - Card Hosts soportados (grid de host-cards)
15
- * - Card Skills (installed/total + progress)
16
- * - Card Plugins (placeholder hasta tener un counter rápido)
17
- * - Quick actions (install:all, update:check, clean:cache, palette)
18
- */
19
- export declare function StatusTab({ ctx }: StatusTabProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function StatusTab({ ctx, version, isActive, onActivateTab, onRequestUpdate, onToast, onAlertChange, }: StatusTabProps): import("react/jsx-runtime").JSX.Element;
20
17
  //# sourceMappingURL=status-tab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/status-tab.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKjD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAQD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,EAAE,GAAG,EAAE,EAAE,cAAc,2CAuEhD"}
1
+ {"version":3,"file":"status-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/status-tab.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQjD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,QAAQ,KAAK,IAAI,CAAC;IAChD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvF,sEAAsE;IACtE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAoBD,wBAAgB,SAAS,CAAC,EACxB,GAAG,EACH,OAAO,EACP,QAAQ,EACR,aAAa,EACb,eAAe,EACf,OAAO,EACP,aAAa,GACd,EAAE,cAAc,2CA4QhB"}