@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,61 +1,204 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { Box, Text } from "ink";
3
- import { useEffect, useRef, useState } from "react";
2
+ import { Box, Text, useInput } from "ink";
3
+ import { useCallback, useEffect, useRef, useState } from "react";
4
4
  import { selfDoctor } from "../../../application/self/doctor-self.js";
5
5
  import { selfMcpConfig } from "../../../application/self/mcp-config.js";
6
+ import { ActivityFeed } from "../components/activity-feed.js";
6
7
  import { PageHead } from "../components/page-head.js";
8
+ import { QuickActions } from "../components/quick-actions.js";
9
+ import { SectionHead } from "../components/section-head.js";
10
+ import { StatTile } from "../components/stat-tile.js";
7
11
  import { HOSTS } from "../hosts.js";
8
12
  import { colors, icons } from "../theme.js";
9
- /**
10
- * StatusTab vista general del runtime.
11
- *
12
- * Estructura:
13
- * - PageHead (count: hosts instalados / totales)
14
- * - Card CLI (versión + paquete)
15
- * - Card MCP (lista de conexiones registradas)
16
- * - Card Hosts soportados (grid de host-cards)
17
- * - Card Skills (installed/total + progress)
18
- * - Card Plugins (placeholder hasta tener un counter rápido)
19
- * - Quick actions (install:all, update:check, clean:cache, palette)
20
- */
21
- export function StatusTab({ ctx }) {
22
- const [data, setData] = useState({ doctor: null, mcp: [], loading: true });
23
- const startedRef = useRef(false);
13
+ const TILE_IDS = ["cli", "hosts", "hooks", "mcp"];
14
+ export function StatusTab({ ctx, version, isActive, onActivateTab, onRequestUpdate, onToast, onAlertChange, recentEvents, }) {
15
+ const [data, setData] = useState({
16
+ doctor: null,
17
+ mcp: [],
18
+ hooksArmed: false,
19
+ loading: true,
20
+ });
21
+ const [update, setUpdate] = useState({ status: "idle" });
22
+ const [tileCursor, setTileCursor] = useState("cli");
23
+ const dataStartedRef = useRef(false);
24
+ const updateStartedRef = useRef(false);
25
+ const lastCheckedAtRef = useRef(null);
26
+ const [lastCheckedAt, setLastCheckedAt] = useState(null);
24
27
  useEffect(() => {
25
- if (startedRef.current)
28
+ if (dataStartedRef.current)
26
29
  return;
27
- startedRef.current = true;
30
+ dataStartedRef.current = true;
28
31
  void (async () => {
29
32
  const doc = await selfDoctor(ctx).catch(() => null);
30
33
  const mcpRes = await selfMcpConfig(buildArgs("list"), ctx).catch(() => null);
31
34
  const mcp = mcpRes?.ok ? (mcpRes.data?.connections ?? []) : [];
32
- setData({ doctor: doc?.ok ? (doc.data ?? null) : null, mcp, loading: false });
35
+ const hooksArmed = await detectHooksArmed(ctx);
36
+ setData({
37
+ doctor: doc?.ok ? (doc.data ?? null) : null,
38
+ mcp,
39
+ hooksArmed,
40
+ loading: false,
41
+ });
33
42
  })();
34
43
  }, [ctx]);
44
+ const runUpdateCheck = useCallback(async () => {
45
+ setUpdate({ status: "checking" });
46
+ try {
47
+ const result = await ctx.process.run("npm", ["view", ctx.runtime.packageName, "version"], {});
48
+ if (result.code !== 0) {
49
+ const msg = `npm view failed: ${result.stderr.trim() || "no detail"}`;
50
+ setUpdate({ status: "error", message: msg });
51
+ onToast?.({ tone: "err", title: "Update check failed", body: msg });
52
+ return;
53
+ }
54
+ const latest = result.stdout.trim();
55
+ if (!latest) {
56
+ setUpdate({ status: "error", message: "npm view returned empty output." });
57
+ return;
58
+ }
59
+ lastCheckedAtRef.current = Date.now();
60
+ setLastCheckedAt(Date.now());
61
+ if (latest === version) {
62
+ setUpdate({ status: "uptodate", latest });
63
+ }
64
+ else {
65
+ setUpdate({ status: "outdated", latest });
66
+ onToast?.({
67
+ tone: "info",
68
+ title: "Update available",
69
+ body: `v${version} → v${latest}`,
70
+ });
71
+ }
72
+ }
73
+ catch (err) {
74
+ setUpdate({ status: "error", message: err.message });
75
+ }
76
+ }, [ctx, version, onToast]);
77
+ useEffect(() => {
78
+ if (updateStartedRef.current)
79
+ return;
80
+ updateStartedRef.current = true;
81
+ void runUpdateCheck();
82
+ }, [runUpdateCheck]);
83
+ useEffect(() => {
84
+ onAlertChange?.(update.status === "outdated");
85
+ }, [update.status, onAlertChange]);
86
+ useInput((input, key) => {
87
+ if (!isActive)
88
+ return;
89
+ if (update.status === "checking" || update.status === "applying") {
90
+ // Solo bloquear teclas del update banner; navegación sigue.
91
+ }
92
+ else {
93
+ if (input === "r" || input === "R") {
94
+ void runUpdateCheck();
95
+ return;
96
+ }
97
+ if ((input === "i" || input === "I") && update.status === "outdated") {
98
+ setUpdate({ ...update, status: "applying" });
99
+ onRequestUpdate?.();
100
+ return;
101
+ }
102
+ if (input === "o" || input === "O") {
103
+ onToast?.({
104
+ tone: "info",
105
+ title: "Release notes",
106
+ body: `https://www.npmjs.com/package/${ctx.runtime.packageName}`,
107
+ });
108
+ return;
109
+ }
110
+ }
111
+ if (key.upArrow || key.leftArrow) {
112
+ setTileCursor((c) => {
113
+ const idx = TILE_IDS.indexOf(c);
114
+ return TILE_IDS[(idx - 1 + TILE_IDS.length) % TILE_IDS.length] ?? "cli";
115
+ });
116
+ return;
117
+ }
118
+ if (key.downArrow || key.rightArrow) {
119
+ setTileCursor((c) => {
120
+ const idx = TILE_IDS.indexOf(c);
121
+ return TILE_IDS[(idx + 1) % TILE_IDS.length] ?? "cli";
122
+ });
123
+ return;
124
+ }
125
+ if (key.return) {
126
+ if (tileCursor === "hosts")
127
+ onActivateTab?.("skills");
128
+ if (tileCursor === "mcp")
129
+ onActivateTab?.("mcp");
130
+ }
131
+ }, { isActive });
35
132
  if (data.loading) {
36
- return (_jsx(Box, { children: _jsxs(Text, { color: colors.fgSubtle, children: [icons.spinner, " cargando estado\u2026"] }) }));
133
+ return (_jsx(Box, { children: _jsxs(Text, { color: colors.dim, children: [icons.spinner, " loading status\u2026"] }) }));
37
134
  }
38
- const installedHosts = data.doctor?.skill.targets.filter((t) => t.installed).length ?? 0;
135
+ // Cross-reference HOSTS (7) con doctor.skill.targets (4 backed).
136
+ const installedByTarget = new Map((data.doctor?.skill.targets ?? []).map((t) => [t.target, t.installed]));
137
+ const hostsInstalled = HOSTS.map((h) => ({
138
+ host: h,
139
+ installed: installedByTarget.get(h.id) === true,
140
+ }));
141
+ const installedHosts = hostsInstalled.filter((h) => h.installed).length;
39
142
  const supportedHosts = HOSTS.length;
40
- const skillTotalBacked = data.doctor?.skill.targets.length ?? 0;
143
+ const backedHosts = HOSTS.filter((h) => h.backed).length;
144
+ const pendingHosts = supportedHosts - backedHosts;
145
+ const pct = supportedHosts > 0 ? Math.round((installedHosts / supportedHosts) * 100) : 0;
146
+ const checkedAgo = lastCheckedAt ? humanizeAgo(lastCheckedAt) : "—";
147
+ const showUpdateStrip = update.status === "outdated";
148
+ const events = recentEvents ?? [];
41
149
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(PageHead, { title: "Status", count: {
42
- label: `${installedHosts}/${supportedHosts}`,
43
- tone: installedHosts > 0 ? "ok" : "muted",
44
- } }), _jsxs(SectionFrame, { title: "CLI", children: [_jsxs(Text, { color: colors.fgBright, bold: true, children: ["v", data.doctor?.cli_version ?? "?"] }), _jsx(Text, { color: colors.fgFaint, children: " \u00B7 " }), _jsx(Text, { color: colors.info, children: data.doctor?.runtime.package_name ?? "" })] }), _jsx(SectionFrame, { title: "MCP", children: data.mcp.length === 0 ? (_jsx(Text, { color: colors.fgFaint, children: "(ninguna conexi\u00F3n registrada)" })) : (_jsx(Box, { flexDirection: "column", children: data.mcp.slice(0, 4).map((m) => (_jsxs(Box, { children: [_jsx(Text, { color: colors.accent, children: "\u00B7" }), _jsx(Text, { children: " " }), _jsx(Text, { color: colors.fgBright, children: m.nombre }), _jsx(Text, { color: colors.fgFaint, children: " " }), _jsx(Text, { color: colors.info, children: m.dsn_var })] }, m.nombre))) })) }), _jsxs(SectionFrame, { title: "Skills", children: [_jsx(Text, { color: colors.fgBright, children: installedHosts }), _jsxs(Text, { color: colors.fgFaint, children: ["/", skillTotalBacked || supportedHosts] }), _jsx(Text, { children: " " }), _jsx(ProgressLine, { ratio: skillTotalBacked > 0 ? installedHosts / skillTotalBacked : 0 })] })] }));
150
+ label: `${installedHosts}/${supportedHosts} hosts covered`,
151
+ tone: installedHosts > 0 ? "accent" : "warn",
152
+ }, action: _jsxs(Text, { color: colors.mute, children: ["checked ", checkedAgo, " \u00B7 ", _jsx(Text, { color: colors.accent, children: "r" }), " recheck"] }) }), showUpdateStrip ? (_jsx(UpdateStrip, { update: update, packageName: ctx.runtime.packageName })) : null, _jsxs(Box, { flexDirection: "row", marginBottom: 1, children: [_jsx(StatTile, { label: "cli", value: `v${data.doctor?.cli_version ?? version}`, sub: "@tacuchi", accent: true, active: tileCursor === "cli" }), _jsx(StatTile, { label: "hosts", value: `${installedHosts}/${supportedHosts}`, sub: `${pct}% coverage`, tone: installedHosts > 0 ? "accent" : "warn", clickable: true, active: tileCursor === "hosts" }), _jsx(StatTile, { label: "hooks", value: data.hooksArmed ? "armed" : "off", sub: "claude only", tone: data.hooksArmed ? "ok" : "dim", active: tileCursor === "hooks" }), _jsx(StatTile, { label: "mcp", value: `${data.mcp.length} db`, sub: "profile.json", tone: data.mcp.length > 0 ? "accent" : "dim", clickable: true, active: tileCursor === "mcp" })] }), _jsx(Text, { color: colors.borderFaint, children: "─".repeat(60) }), _jsx(SectionHead, { label: "Skill coverage", count: `${installedHosts}/${supportedHosts}`, hint: `${backedHosts} backed · ${pendingHosts} pending`, rightAction: "\u23CE open \u00B7 \u2191\u2193 select", marginTop: 1 }), _jsxs(Box, { marginLeft: 2, marginTop: 0, flexDirection: "row", children: [_jsx(ProgressLine, { ratio: supportedHosts > 0 ? installedHosts / supportedHosts : 0 }), _jsx(Text, { children: " " }), _jsxs(Text, { color: colors.accent, bold: true, children: [pct, "%"] })] }), _jsx(Box, { marginLeft: 2, marginTop: 0, flexDirection: "row", flexWrap: "wrap", children: hostsInstalled.map(({ host, installed }) => (_jsx(HostChip, { name: host.name, installed: installed, backed: host.backed }, host.id))) }), _jsx(SectionHead, { label: "Recent", count: events.length, marginTop: 1 }), _jsx(Box, { marginLeft: 2, children: _jsx(ActivityFeed, { events: events, cap: 4, emptyHint: " (no recent activity yet)" }) }), _jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [
153
+ ...(showUpdateStrip ? [{ key: "i", label: `apply v${update.latest ?? ""}` }] : []),
154
+ { key: "r", label: "recheck" },
155
+ { key: "^K", label: "palette" },
156
+ ] }) })] }));
157
+ }
158
+ function UpdateStrip({ update, packageName, }) {
159
+ return (_jsx(Box, { flexDirection: "column", marginBottom: 1, children: _jsxs(Box, { children: [_jsx(Text, { color: colors.warn, children: icons.focusBar }), _jsx(Text, { children: " " }), _jsx(Text, { color: colors.warn, children: "\u21BB " }), _jsxs(Text, { color: colors.bright, bold: true, children: ["v", packageName.split("/").pop()] }), _jsx(Text, { color: colors.dim, children: " \u2192 " }), _jsxs(Text, { color: colors.bright, bold: true, children: ["v", update.latest ?? "?"] }), _jsx(Text, { color: colors.dim, children: " available" }), _jsx(Box, { flexGrow: 1 }), _jsx(Text, { color: colors.accent, bold: true, inverse: true, children: " i · apply " }), _jsx(Text, { children: " " }), _jsx(Text, { color: colors.mute, children: "r recheck \u00B7 o notes \u00B7 x dismiss" })] }) }));
160
+ }
161
+ function HostChip({ name, installed, backed, }) {
162
+ let color = colors.dim;
163
+ let glyph = " ";
164
+ if (installed) {
165
+ color = colors.ok;
166
+ glyph = "✓";
167
+ }
168
+ else if (!backed) {
169
+ color = colors.warn;
170
+ }
171
+ return (_jsxs(Box, { marginRight: 2, children: [_jsx(Text, { color: color, children: glyph }), _jsx(Text, { children: " " }), _jsx(Text, { color: installed ? colors.text : colors.dim, children: name })] }));
172
+ }
173
+ async function detectHooksArmed(ctx) {
174
+ const settingsPath = `${ctx.env.homeDir()}/.claude/settings.json`;
175
+ if (!(await ctx.fs.exists(settingsPath)))
176
+ return false;
177
+ try {
178
+ const raw = await ctx.fs.readText(settingsPath);
179
+ const parsed = JSON.parse(raw);
180
+ return Boolean(parsed.hooks && Object.keys(parsed.hooks).length > 0);
181
+ }
182
+ catch {
183
+ return false;
184
+ }
45
185
  }
46
- /**
47
- * SectionFrame caja con borde fino + título uppercase compacto.
48
- *
49
- * Usado para delimitar secciones del Status, Project y otros tabs sin recurrir
50
- * a uppercase labels sueltos. El border usa `borderFaint` para ser sutil.
51
- */
52
- function SectionFrame({ title, children }) {
53
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: colors.borderFaint, paddingX: 1, marginBottom: 1, children: [_jsx(Text, { color: colors.fgMoreSubtle, children: title.toUpperCase() }), _jsx(Box, { children: children })] }));
186
+ function humanizeAgo(t) {
187
+ const diffSec = Math.max(1, Math.floor((Date.now() - t) / 1000));
188
+ if (diffSec < 60)
189
+ return `${diffSec}s ago`;
190
+ const m = Math.floor(diffSec / 60);
191
+ if (m < 60)
192
+ return `${m}m ago`;
193
+ const h = Math.floor(m / 60);
194
+ if (h < 24)
195
+ return `${h}h ago`;
196
+ return `${Math.floor(h / 24)}d ago`;
54
197
  }
55
198
  function ProgressLine({ ratio }) {
56
- const width = 14;
199
+ const width = 18;
57
200
  const filled = Math.round(Math.max(0, Math.min(1, ratio)) * width);
58
- return (_jsxs(Box, { children: [_jsx(Text, { color: colors.accent, children: "█".repeat(filled) }), _jsx(Text, { color: colors.fgFaint, children: "░".repeat(width - filled) })] }));
201
+ return (_jsxs(Box, { children: [_jsx(Text, { color: colors.accent, children: "█".repeat(filled) }), _jsx(Text, { color: colors.faint, children: "░".repeat(width - filled) })] }));
59
202
  }
60
203
  function buildArgs(action) {
61
204
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"status-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/status-tab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/status-tab.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { CliContext } from "../../types.js";
2
+ export interface WorkflowTabProps {
3
+ ctx: CliContext;
4
+ isActive: boolean;
5
+ /** Phase activa (1-based) inferida desde la sesión activa. 0 = idle. */
6
+ activePhase?: number;
7
+ }
8
+ export declare function WorkflowTab({ isActive, activePhase }: WorkflowTabProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=workflow-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-tab.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/workflow-tab.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AASjD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAe,EAAE,EAAE,gBAAgB,2CAsG1E"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text, useInput } from "ink";
3
+ import { useState } from "react";
4
+ import { FamilyCard } from "../components/family-card.js";
5
+ import { PageHead } from "../components/page-head.js";
6
+ import { PhaseCard } from "../components/phase-card.js";
7
+ import { QuickActions } from "../components/quick-actions.js";
8
+ import { SectionHead } from "../components/section-head.js";
9
+ import { WORKFLOW_CONTENT } from "../data/workflow-content.js";
10
+ import { colors } from "../theme.js";
11
+ export function WorkflowTab({ isActive, activePhase = 0 }) {
12
+ const w = WORKFLOW_CONTENT;
13
+ const [cursor, setCursor] = useState(0);
14
+ const [expandedId, setExpandedId] = useState(w.commandFamilies[0]?.id ?? null);
15
+ useInput((_input, key) => {
16
+ if (!isActive)
17
+ return;
18
+ if (key.upArrow) {
19
+ setCursor((c) => Math.max(0, c - 1));
20
+ return;
21
+ }
22
+ if (key.downArrow) {
23
+ setCursor((c) => Math.min(w.commandFamilies.length - 1, c + 1));
24
+ return;
25
+ }
26
+ if (key.return) {
27
+ const fam = w.commandFamilies[cursor];
28
+ if (fam)
29
+ setExpandedId((prev) => (prev === fam.id ? null : fam.id));
30
+ }
31
+ }, { isActive });
32
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(PageHead, { title: "Workflow", count: {
33
+ label: `${w.slashCommands.length} commands · ${w.commandFamilies.length} families · ${w.hooks.length} hooks`,
34
+ tone: "accent",
35
+ }, action: _jsx(Text, { color: colors.mute, children: "universal session-lifecycle harness" }) }), _jsxs(Box, { flexDirection: "row", children: [_jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, children: [_jsx(SectionHead, { label: "Session lifecycle", rightAction: "day-to-day flow" }), _jsx(Box, { marginTop: 0, flexDirection: "column", children: w.phases.map((p) => (_jsx(PhaseCard, { phase: p, active: activePhase === p.n }, p.id))) })] }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingLeft: 1, children: [_jsx(SectionHead, { label: "Command families", count: w.commandFamilies.length, rightAction: "\u21B5 to expand" }), _jsxs(Box, { marginTop: 0, flexDirection: "column", children: [w.commandFamilies.map((f, i) => (_jsx(FamilyCard, { family: f, active: i === cursor, expanded: expandedId === f.id }, f.id))), w.commandFamilies.length > 8 ? (_jsxs(Text, { color: colors.faint, children: ["\u2026+", w.commandFamilies.length - 8, " more families"] })) : null] }), _jsx(SectionHead, { label: "Slash \u00B7 Hooks", rightAction: "claude \u00B7 codex", marginTop: 1 }), _jsxs(Box, { marginLeft: 2, marginTop: 0, flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: colors.bright, bold: true, children: w.slashCommands.length }), _jsx(Text, { color: colors.dim, children: " slash commands \u00B7 " }), _jsx(Text, { color: colors.accent, children: "/agent-workflow:<name>" })] }), _jsxs(Box, { flexWrap: "wrap", children: [_jsx(Text, { color: colors.bright, bold: true, children: w.hooks.length }), _jsx(Text, { color: colors.dim, children: " hooks \u00B7 " }), w.hooks.map((h, i) => (_jsxs(Box, { children: [i > 0 ? _jsx(Text, { color: colors.dim, children: ", " }) : null, _jsx(Text, { color: colors.ok, children: h.name })] }, h.name)))] })] })] })] }), _jsx(Box, { marginTop: 1, children: _jsx(QuickActions, { actions: [
36
+ { key: "⏎", label: "expand" },
37
+ { key: "^K", label: "palette" },
38
+ ] }) })] }));
39
+ }
40
+ //# sourceMappingURL=workflow-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-tab.js","sourceRoot":"","sources":["../../../../src/cli/tui/tabs/workflow-tab.tsx"],"names":[],"mappings":"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"}
@@ -1,57 +1,72 @@
1
1
  export declare const palette: {
2
- readonly bg: "#0a0e1a";
3
- readonly bgElev1: "#0f1729";
4
- readonly bgElev2: "#152040";
5
- readonly bgElev3: "#1e2a52";
6
- readonly bgHover: "#1d2e5a";
7
- readonly bgSelected: "#1e3a8a";
8
- readonly borderFaint: "#1e293b";
9
- readonly border: "#334155";
10
- readonly borderStrong: "#475569";
11
- readonly borderAccent: "#0284c7";
12
- readonly text: "#e2e8f0";
13
- readonly textBright: "#f8fafc";
14
- readonly textDim: "#94a3b8";
15
- readonly textMute: "#64748b";
16
- readonly textFaint: "#475569";
17
- readonly accent: "#0ea5e9";
18
- readonly accentSoft: "#38bdf8";
19
- readonly purple: "#8b5cf6";
20
- readonly purpleSoft: "#a78bfa";
21
- readonly blue: "#3b82f6";
22
- readonly cyan: "#06b6d4";
23
- readonly green: "#10b981";
24
- readonly greenDim: "#059669";
25
- readonly yellow: "#f59e0b";
26
- readonly orange: "#f97316";
27
- readonly red: "#ef4444";
28
- readonly ok: "#10b981";
29
- readonly warn: "#f59e0b";
30
- readonly err: "#ef4444";
31
- readonly info: "#06b6d4";
2
+ readonly bg: "#0c0a14";
3
+ readonly bgElev1: "#0c0a14";
4
+ readonly bgElev2: "#0c0a14";
5
+ readonly bgElev3: "#0c0a14";
6
+ readonly bgHover: "#1a172a";
7
+ readonly bgSelected: "#3a2f5c";
8
+ readonly bgHighlight: "#3a2f5c";
9
+ readonly borderFaint: "#1a172a";
10
+ readonly border: "#2a2540";
11
+ readonly borderStrong: "#4a4368";
12
+ readonly borderAccent: "#a78bfa";
13
+ readonly bright: "#f4f1fc";
14
+ readonly text: "#d4d0e2";
15
+ readonly dim: "#9b94b8";
16
+ readonly mute: "#6e6588";
17
+ readonly faint: "#4a4368";
18
+ readonly textBright: "#f4f1fc";
19
+ readonly textDim: "#9b94b8";
20
+ readonly textMute: "#6e6588";
21
+ readonly textFaint: "#4a4368";
22
+ readonly accent: "#a78bfa";
23
+ readonly accentSoft: "#c4b5fd";
24
+ readonly purple: "#a78bfa";
25
+ readonly purpleSoft: "#c4b5fd";
26
+ readonly blue: "#93c5fd";
27
+ readonly cyan: "#93c5fd";
28
+ readonly green: "#6ee7b7";
29
+ readonly greenDim: "#34d399";
30
+ readonly yellow: "#fbbf24";
31
+ readonly orange: "#fbbf24";
32
+ readonly red: "#fb7185";
33
+ readonly ok: "#6ee7b7";
34
+ readonly warn: "#fbbf24";
35
+ readonly err: "#fb7185";
36
+ readonly info: "#93c5fd";
32
37
  };
33
38
  export declare const colors: {
34
- readonly primary: "#0ea5e9";
35
- readonly accent: "#0ea5e9";
36
- readonly accentSoft: "#38bdf8";
37
- readonly secondary: "#38bdf8";
38
- readonly success: "#10b981";
39
- readonly warning: "#f59e0b";
40
- readonly error: "#ef4444";
41
- readonly info: "#06b6d4";
42
- readonly fg: "#e2e8f0";
43
- readonly fgBright: "#f8fafc";
44
- readonly fgSubtle: "#94a3b8";
45
- readonly fgMoreSubtle: "#64748b";
46
- readonly fgFaint: "#475569";
47
- readonly border: "#334155";
48
- readonly borderFaint: "#1e293b";
49
- readonly borderStrong: "#475569";
50
- readonly borderActive: "#0ea5e9";
51
- readonly bg: "#0a0e1a";
52
- readonly bgElev: "#152040";
53
- readonly bgHover: "#1d2e5a";
54
- readonly bgSelected: "#1e3a8a";
39
+ readonly primary: "#a78bfa";
40
+ readonly accent: "#a78bfa";
41
+ readonly accentSoft: "#c4b5fd";
42
+ readonly secondary: "#c4b5fd";
43
+ readonly success: "#6ee7b7";
44
+ readonly warning: "#fbbf24";
45
+ readonly error: "#fb7185";
46
+ readonly info: "#93c5fd";
47
+ readonly purple: "#a78bfa";
48
+ readonly fg: "#d4d0e2";
49
+ readonly fgBright: "#f4f1fc";
50
+ readonly fgSubtle: "#9b94b8";
51
+ readonly fgMoreSubtle: "#6e6588";
52
+ readonly fgFaint: "#4a4368";
53
+ readonly border: "#2a2540";
54
+ readonly borderFaint: "#1a172a";
55
+ readonly borderStrong: "#4a4368";
56
+ readonly borderActive: "#a78bfa";
57
+ readonly bg: "#0c0a14";
58
+ readonly bgElev: "#0c0a14";
59
+ readonly bgHover: "#1a172a";
60
+ readonly bgSelected: "#3a2f5c";
61
+ readonly bgHighlight: "#3a2f5c";
62
+ readonly bright: "#f4f1fc";
63
+ readonly text: "#d4d0e2";
64
+ readonly dim: "#9b94b8";
65
+ readonly mute: "#6e6588";
66
+ readonly faint: "#4a4368";
67
+ readonly ok: "#6ee7b7";
68
+ readonly warn: "#fbbf24";
69
+ readonly err: "#fb7185";
55
70
  };
56
71
  export declare const icons: {
57
72
  readonly check: "✓";
@@ -60,14 +75,14 @@ export declare const icons: {
60
75
  readonly spinner: "⋯";
61
76
  readonly arrow: "→";
62
77
  readonly section: "─";
63
- readonly focusBullet: "";
78
+ readonly focusBullet: "";
64
79
  readonly dimBullet: " ";
65
- readonly bullet: "";
80
+ readonly bullet: "·";
66
81
  readonly diamond: "◆";
67
82
  readonly brand: "◆";
68
83
  readonly promptMark: "›";
69
- readonly tabActiveLeft: "[";
70
- readonly tabActiveRight: "]";
84
+ readonly tabActiveLeft: "";
85
+ readonly tabActiveRight: "";
71
86
  readonly tabSeparator: " ";
72
87
  readonly divider: "─";
73
88
  readonly chevron: "›";
@@ -101,6 +116,11 @@ export declare const icons: {
101
116
  readonly alertDot: "●";
102
117
  readonly ring: "●";
103
118
  readonly pin: "⌖";
119
+ readonly focusBar: "▎";
120
+ readonly caret: "▍";
121
+ readonly expandCollapsed: "▸";
122
+ readonly expandExpanded: "▾";
123
+ readonly sectionDot: "·";
104
124
  };
105
125
  export type ColorName = (typeof colors)[keyof typeof colors];
106
126
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/theme.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CV,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;CA0BT,CAAC;AAEX,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDR,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/theme.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDV,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCT,CAAC;AAEX,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDR,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"}