@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,41 +1,22 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Box, Text, useInput } from "ink";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text, useInput, useStdout } 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 { ConfirmBanner } from "../components/confirm-banner.js";
9
+ import { DetailPanel } from "../components/detail-panel.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 { QuickActions } from "../components/quick-actions.js";
13
+ import { SectionHead } from "../components/section-head.js";
14
+ import { WORKFLOW_CONTENT } from "../data/workflow-content.js";
15
+ import { HOSTS } from "../hosts.js";
12
16
  import { useInputLock } from "../input-lock.js";
13
17
  import { colors, icons } from "../theme.js";
14
18
  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
- ];
28
- /**
29
- * SkillsTab — split view con sub-mode actions.
30
- *
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.
34
- *
35
- * Acciones:
36
- * - Instalar/Reinstalar — encadena clean-legacy + clean-cache + install-full.
37
- * - Desinstalar — encadena uninstall-full + clean-cache. Solo disponible si instalado.
38
- */
19
+ const BACKED_INSTALL_TARGETS = new Set(["claude", "codex", "warp", "agents"]);
39
20
  export function SkillsTab({ ctx, isActive, onToast }) {
40
21
  const [skills, setSkills] = useState([]);
41
22
  const [cursor, setCursor] = useState(0);
@@ -44,6 +25,7 @@ export function SkillsTab({ ctx, isActive, onToast }) {
44
25
  const [busy, setBusy] = useState(null);
45
26
  const startedRef = useRef(false);
46
27
  const { lock, unlock } = useInputLock();
28
+ const { stdout } = useStdout();
47
29
  useEffect(() => {
48
30
  if (busy)
49
31
  lock();
@@ -69,32 +51,21 @@ export function SkillsTab({ ctx, isActive, onToast }) {
69
51
  hooksInstalled = false;
70
52
  }
71
53
  }
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
- ];
54
+ const next = [];
55
+ for (const host of HOSTS) {
56
+ const path = pathForHost(host, home);
57
+ const installed = host.backed && path ? await ctx.fs.exists(path) : false;
58
+ next.push({
59
+ host,
60
+ installed,
61
+ hooks_installed: host.id === "claude" ? hooksInstalled : false,
62
+ path: installed
63
+ ? friendlyPath(host, home)
64
+ : host.backed
65
+ ? "not installed"
66
+ : "(not wired yet)",
67
+ });
68
+ }
98
69
  setSkills(next);
99
70
  setCursor((c) => Math.min(Math.max(0, c), Math.max(0, next.length - 1)));
100
71
  }, [ctx]);
@@ -106,41 +77,60 @@ export function SkillsTab({ ctx, isActive, onToast }) {
106
77
  }, [refresh]);
107
78
  const installedCount = skills.filter((s) => s.installed).length;
108
79
  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) => {
80
+ const backedHosts = HOSTS.filter((h) => h.backed).length;
81
+ const pendingHosts = HOSTS.length - backedHosts;
82
+ const focused = skills[cursor] ?? null;
83
+ const isInstalled = focused?.installed === true;
84
+ const isBackedFocused = focused ? BACKED_INSTALL_TARGETS.has(focused.host.id) : false;
85
+ const detailActions = useMemo(() => {
86
+ if (!focused)
87
+ return [];
88
+ const reinstall = {
89
+ name: isInstalled ? "Reinstall" : "Install",
90
+ description: isInstalled ? "Overwrite files (--force)." : "Copy files (--force).",
91
+ };
92
+ if (isInstalled) {
93
+ return [
94
+ reinstall,
95
+ {
96
+ name: "Uninstall",
97
+ description: "Remove files. Reversible.",
98
+ danger: true,
99
+ },
100
+ ];
101
+ }
102
+ return [reinstall];
103
+ }, [focused, isInstalled]);
104
+ const runComposite = useCallback(async (kind, host) => {
105
+ if (!BACKED_INSTALL_TARGETS.has(host.id)) {
106
+ onToast?.({
107
+ tone: "info",
108
+ title: `Host '${host.name}' not supported yet`,
109
+ body: "Install/uninstall backend without path mapping.",
110
+ });
111
+ return;
112
+ }
113
+ const target = host.id;
124
114
  const steps = kind === "install"
125
115
  ? ["clean-legacy", "clean-cache", "install-full"]
126
116
  : ["uninstall-full", "clean-cache"];
127
- const startLabel = kind === "install" ? `instalando en ${target.label}…` : `desinstalando de ${target.label}…`;
117
+ const startLabel = kind === "install" ? `installing on ${host.name}…` : `uninstalling from ${host.name}…`;
128
118
  setBusy(startLabel);
129
119
  try {
130
120
  for (const step of steps) {
131
- setBusy(buildBusyLabel(step, target.label));
121
+ setBusy(buildBusyLabel(step, host.name));
132
122
  const result = await dispatchAction(step, target, ctx);
133
123
  if (!result.ok) {
134
124
  const failMsg = result.error?.message;
135
125
  onToast?.(failMsg !== undefined
136
- ? { tone: "err", title: `Falló en paso ${step}`, body: failMsg }
137
- : { tone: "err", title: `Falló en paso ${step}` });
126
+ ? { tone: "err", title: `Step ${step} failed`, body: failMsg }
127
+ : { tone: "err", title: `Step ${step} failed` });
138
128
  await refresh();
139
129
  return;
140
130
  }
141
131
  }
142
132
  const finalAction = kind === "install" ? "install-full" : "uninstall-full";
143
- onToast?.({ tone: "ok", title: buildSuccessMessage(finalAction, target) });
133
+ onToast?.({ tone: "ok", title: buildSuccessMessage(finalAction, host.name) });
144
134
  await refresh();
145
135
  }
146
136
  catch (err) {
@@ -150,80 +140,133 @@ export function SkillsTab({ ctx, isActive, onToast }) {
150
140
  setBusy(null);
151
141
  }
152
142
  }, [ctx, refresh, onToast]);
153
- // input — list mode (cursor en la lista de hosts)
154
- useInput((_input, key) => {
143
+ // input — list mode (↑↓ navega · abre detail · Esc no-op · 'i' empty-state install)
144
+ useInput((input, key) => {
155
145
  if (!isActive || busy || mode.kind !== "list")
156
146
  return;
147
+ if ((input === "i" || input === "I") && installedCount === 0) {
148
+ const claude = HOSTS.find((h) => h.id === "claude");
149
+ if (claude)
150
+ void runComposite("install", claude);
151
+ return;
152
+ }
157
153
  if (key.upArrow) {
158
154
  setCursor((c) => Math.max(0, c - 1));
159
- setActionCursor(0);
160
155
  return;
161
156
  }
162
157
  if (key.downArrow) {
163
158
  setCursor((c) => (skills.length === 0 ? 0 : Math.min(skills.length - 1, c + 1)));
164
- setActionCursor(0);
165
159
  return;
166
160
  }
167
- if (key.return && currentTarget) {
161
+ if (key.return && focused) {
162
+ if (!BACKED_INSTALL_TARGETS.has(focused.host.id)) {
163
+ onToast?.({
164
+ tone: "info",
165
+ title: `Host '${focused.host.name}'`,
166
+ body: "pending — backend without path mapping yet",
167
+ });
168
+ return;
169
+ }
168
170
  setActionCursor(0);
169
- setMode({ kind: "actions" });
171
+ setMode({ kind: "detail" });
170
172
  }
171
173
  }, { isActive });
172
- // input — actions mode (cursor en lista de acciones del detail panel)
174
+ // input — detail mode (↑↓ navega actions · ejecuta focused · Esc cierra)
173
175
  useInput((_input, key) => {
174
- if (!isActive || busy || mode.kind !== "actions")
176
+ if (!isActive || busy || mode.kind !== "detail" || !focused)
175
177
  return;
176
178
  if (key.upArrow) {
177
179
  setActionCursor((c) => Math.max(0, c - 1));
178
180
  return;
179
181
  }
180
182
  if (key.downArrow) {
181
- setActionCursor((c) => Math.min(availableActions.length - 1, c + 1));
183
+ setActionCursor((c) => Math.min(detailActions.length - 1, c + 1));
182
184
  return;
183
185
  }
184
186
  if (key.escape) {
185
187
  setMode({ kind: "list" });
186
188
  return;
187
189
  }
188
- if (key.return && currentTarget) {
189
- const def = availableActions[actionCursor];
190
- if (!def)
190
+ if (key.return) {
191
+ const action = detailActions[actionCursor];
192
+ if (!action)
191
193
  return;
192
- void runComposite(def.id, currentTarget);
194
+ if (action.danger) {
195
+ setMode({ kind: "confirm-uninstall", host: focused.host });
196
+ }
197
+ else {
198
+ void runComposite("install", focused.host);
199
+ setMode({ kind: "list" });
200
+ }
201
+ }
202
+ }, { isActive });
203
+ // input — confirm-uninstall (y confirma · n/esc cancela)
204
+ useInput((input, key) => {
205
+ if (!isActive || mode.kind !== "confirm-uninstall")
206
+ return;
207
+ if (input === "y" || input === "Y") {
208
+ void runComposite("uninstall", mode.host);
193
209
  setMode({ kind: "list" });
194
210
  }
211
+ else if (key.escape || input === "n" || input === "N") {
212
+ setMode({ kind: "detail" });
213
+ }
195
214
  }, { isActive });
196
- const inActionMode = mode.kind === "actions";
215
+ const detailVisible = mode.kind === "detail" || mode.kind === "confirm-uninstall";
197
216
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(PageHead, { title: "Skills", count: {
198
- 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" }) })] }));
217
+ label: `${installedCount}/${totalCount} hosts · ${subSkillsTotal()} sub-skills · ${WORKFLOW_CONTENT.slashCommands.length} slash commands`,
218
+ tone: installedCount === 0 ? "warn" : "accent",
219
+ }, action: _jsx(Text, { color: colors.mute, children: "one universal SKILL \u00B7 agent-workflow" }) }), _jsx(SectionHead, { label: "Hosts", count: totalCount, hint: `backed ${backedHosts} · pending ${pendingHosts}`, rightAction: detailVisible ? "esc to close detail" : " for actions · ↑↓ navigate", marginTop: 0 }), _jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, children: skills.map((s, i) => (_jsx(ListRow, { icon: icons.diamond, iconActive: s.installed, title: s.host.name, subtitle: friendlyPath(s.host, ctx.env.homeDir()), meta: HOOKS_SUPPORTED_TARGETS.has(s.host.id) && s.hooks_installed
220
+ ? [{ label: "hooks armed", tone: "ok" }]
221
+ : [], state: {
222
+ label: s.installed ? "installed" : s.host.backed ? "backed" : "pending",
223
+ tone: s.installed ? "ok" : s.host.backed ? "dim" : "warn",
224
+ }, chevron: true, active: cursor === i, widthHint: computeRowWidth(stdout?.columns, detailVisible) }, s.host.id))) }), focused && isBackedFocused && detailVisible ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.borderFaint, children: "│" }), _jsx(DetailPanel, { header: {
225
+ name: focused.host.name,
226
+ meta: `${focused.path}${focused.hooks_installed
227
+ ? `\nhooks armed · SKILL + ${WORKFLOW_CONTENT.slashCommands.length} slash + ${WORKFLOW_CONTENT.hooks.length} hooks`
228
+ : ""}`,
229
+ }, statePill: {
230
+ label: isInstalled ? "installed" : "missing",
231
+ tone: isInstalled ? "ok" : "dim",
232
+ }, actions: detailActions, focusedAction: actionCursor, banner: mode.kind === "confirm-uninstall" ? (_jsx(ConfirmBanner, { title: `× Uninstall ${mode.host.name}?`, body: `Removes SKILL + commands + hooks from ${friendlyPath(mode.host, ctx.env.homeDir())}. Reversible with Reinstall.` })) : null })] })) : null] }), busy ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.warn, children: [icons.spinner, " ", busy] }) })) : null, _jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [
233
+ ...(installedCount === 0 ? [{ key: "i", label: "install on Claude" }] : []),
234
+ { key: "^K", label: "palette" },
235
+ ] }) })] }));
236
+ }
237
+ function computeRowWidth(termCols, detailOpen) {
238
+ const cols = termCols ?? 100;
239
+ const baseOverhead = 36;
240
+ const detailOverhead = detailOpen ? 39 : 0;
241
+ return Math.max(16, cols - baseOverhead - detailOverhead);
242
+ }
243
+ function subSkillsTotal() {
244
+ return WORKFLOW_CONTENT.commandFamilies.reduce((n, f) => n + f.items.length, 0);
205
245
  }
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
- const cursorColor = focused ? colors.accent : colors.fgFaint;
211
- // Estructura sin Box anidados flexGrow+column en la columna del label:
212
- // mantenemos cursor + label en la MISMA caja horizontal para que Ink no
213
- // desalinee verticalmente cuando el row contiene un Pill (caso `[hooks]`).
214
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: cursorColor, ...(focused ? { bold: true } : {}), children: selected ? "▸" : " " }), _jsx(Text, { 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(Box, { flexGrow: 1 }), _jsx(Text, { color: stateColor, bold: true, children: state === "ok" ? icons.check : icons.cross })] }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: colors.fgFaint, children: note }) })] }));
246
+ function pathForHost(host, home) {
247
+ if (!BACKED_INSTALL_TARGETS.has(host.id))
248
+ return null;
249
+ const root = TARGET_ROOTS[host.id];
250
+ if (!root)
251
+ return null;
252
+ return `${home}/${root.join("/")}/agent-workflow`;
215
253
  }
216
- function ActionRow({ label, danger, active, }) {
217
- const cursorColor = active ? (danger ? colors.error : colors.accent) : colors.fgFaint;
218
- const labelColor = danger ? colors.error : active ? colors.fgBright : colors.fgSubtle;
219
- 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 })] }));
254
+ function friendlyPath(host, _home) {
255
+ if (host.id === "claude")
256
+ return "~/.claude/skills/agent-workflow/";
257
+ if (host.id === "codex")
258
+ return "~/.codex/skills/agent-workflow/";
259
+ if (host.id === "warp")
260
+ return "~/.warp/skills/agent-workflow/";
261
+ if (host.id === "agents")
262
+ return "~/.agents/skills/agent-workflow/";
263
+ return "(not wired yet)";
220
264
  }
221
- // ===== helpers (preserved) =====
222
265
  function buildArgsFor(action, target) {
223
266
  const flags = new Set();
224
267
  const values = new Map();
225
- values.set("target", target.id);
226
- if (action === "install-full")
268
+ values.set("target", target);
269
+ if (action === "install-full" || action === "uninstall-full")
227
270
  flags.add("--force");
228
271
  if (action === "clean-cache")
229
272
  values.set("plugin", "agent-workflow");
@@ -263,29 +306,25 @@ async function dispatchAction(action, target, ctx) {
263
306
  function buildBusyLabel(action, label) {
264
307
  switch (action) {
265
308
  case "install-full":
266
- return `install completa en ${label}…`;
309
+ return `installing on ${label}…`;
267
310
  case "uninstall-full":
268
- return `uninstall completa en ${label}…`;
311
+ return `uninstalling from ${label}…`;
269
312
  case "clean-cache":
270
- return `limpiando caché en ${label}…`;
313
+ return `cleaning cache on ${label}…`;
271
314
  case "clean-legacy":
272
- return `removiendo legacy skills en ${label}…`;
315
+ return `removing legacy skills from ${label}…`;
273
316
  }
274
317
  }
275
- function buildSuccessMessage(action, target) {
276
- const t = target.label;
318
+ function buildSuccessMessage(action, label) {
277
319
  switch (action) {
278
320
  case "install-full":
279
- return `Install completa OK en ${t}.`;
321
+ return `Install complete OK on ${label}.`;
280
322
  case "uninstall-full":
281
- return `Uninstall completa OK en ${t}.`;
323
+ return `Uninstall complete OK on ${label}.`;
282
324
  case "clean-cache":
283
- return `Caché limpiada en ${t}.`;
325
+ return `Cache cleaned on ${label}.`;
284
326
  case "clean-legacy":
285
- return `Legacy skills removidos de ${t}.`;
327
+ return `Legacy skills removed from ${label}.`;
286
328
  }
287
329
  }
288
- // Mantenemos imports para uso futuro de hooks/skill-only (no usados hoy).
289
- void selfInstallHooks;
290
- void selfUninstallSkill;
291
330
  //# 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,20 @@
1
1
  import type { CliContext } from "../../types.js";
2
+ import { type ActivityEvent } from "../components/activity-feed.js";
2
3
  export interface StatusTabProps {
3
4
  ctx: CliContext;
5
+ version: string;
4
6
  isActive: boolean;
5
- onRunAction?: (id: string) => void;
7
+ onActivateTab?: (tab: "mcp" | "skills") => void;
8
+ onRequestUpdate?: () => void;
9
+ onToast?: (msg: {
10
+ tone: "ok" | "info" | "err";
11
+ title: string;
12
+ body?: string;
13
+ }) => void;
14
+ /** Emite cambios en el estado de alerta del tab (update outdated). */
15
+ onAlertChange?: (alert: boolean) => void;
16
+ /** Eventos recientes (activity feed). Si vacío, se renderiza empty-state. */
17
+ recentEvents?: ActivityEvent[];
6
18
  }
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;
19
+ export declare function StatusTab({ ctx, version, isActive, onActivateTab, onRequestUpdate, onToast, onAlertChange, recentEvents, }: StatusTabProps): import("react/jsx-runtime").JSX.Element;
20
20
  //# 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;AACjD,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,gCAAgC,CAAC;AAQlF,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;IACzC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;CAChC;AAoBD,wBAAgB,SAAS,CAAC,EACxB,GAAG,EACH,OAAO,EACP,QAAQ,EACR,aAAa,EACb,eAAe,EACf,OAAO,EACP,aAAa,EACb,YAAY,GACb,EAAE,cAAc,2CA6OhB"}