@tacuchi/agent-workflow-cli 5.9.3 → 5.10.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 (47) hide show
  1. package/dist/cli/interactive-menu.d.ts +0 -1
  2. package/dist/cli/interactive-menu.d.ts.map +1 -1
  3. package/dist/cli/interactive-menu.js +0 -17
  4. package/dist/cli/interactive-menu.js.map +1 -1
  5. package/dist/cli/main.js +14 -10
  6. package/dist/cli/main.js.map +1 -1
  7. package/dist/cli/tui/app.d.ts +17 -0
  8. package/dist/cli/tui/app.d.ts.map +1 -0
  9. package/dist/cli/tui/app.js +43 -0
  10. package/dist/cli/tui/app.js.map +1 -0
  11. package/dist/cli/tui/components/connections-table.d.ts +5 -0
  12. package/dist/cli/tui/components/connections-table.d.ts.map +1 -0
  13. package/dist/cli/tui/components/connections-table.js +10 -0
  14. package/dist/cli/tui/components/connections-table.js.map +1 -0
  15. package/dist/cli/tui/components/footer.d.ts +4 -0
  16. package/dist/cli/tui/components/footer.d.ts.map +1 -0
  17. package/dist/cli/tui/components/footer.js +6 -0
  18. package/dist/cli/tui/components/footer.js.map +1 -0
  19. package/dist/cli/tui/components/header.d.ts +5 -0
  20. package/dist/cli/tui/components/header.d.ts.map +1 -0
  21. package/dist/cli/tui/components/header.js +6 -0
  22. package/dist/cli/tui/components/header.js.map +1 -0
  23. package/dist/cli/tui/components/input-prompt.d.ts +9 -0
  24. package/dist/cli/tui/components/input-prompt.d.ts.map +1 -0
  25. package/dist/cli/tui/components/input-prompt.js +24 -0
  26. package/dist/cli/tui/components/input-prompt.js.map +1 -0
  27. package/dist/cli/tui/components/sectioned-menu.d.ts +17 -0
  28. package/dist/cli/tui/components/sectioned-menu.d.ts.map +1 -0
  29. package/dist/cli/tui/components/sectioned-menu.js +57 -0
  30. package/dist/cli/tui/components/sectioned-menu.js.map +1 -0
  31. package/dist/cli/tui/run.d.ts +4 -0
  32. package/dist/cli/tui/run.d.ts.map +1 -0
  33. package/dist/cli/tui/run.js +26 -0
  34. package/dist/cli/tui/run.js.map +1 -0
  35. package/dist/cli/tui/screens/main-menu.d.ts +8 -0
  36. package/dist/cli/tui/screens/main-menu.d.ts.map +1 -0
  37. package/dist/cli/tui/screens/main-menu.js +20 -0
  38. package/dist/cli/tui/screens/main-menu.js.map +1 -0
  39. package/dist/cli/tui/screens/mcp-done.d.ts +10 -0
  40. package/dist/cli/tui/screens/mcp-done.d.ts.map +1 -0
  41. package/dist/cli/tui/screens/mcp-done.js +19 -0
  42. package/dist/cli/tui/screens/mcp-done.js.map +1 -0
  43. package/dist/cli/tui/screens/mcp-wizard.d.ts +10 -0
  44. package/dist/cli/tui/screens/mcp-wizard.d.ts.map +1 -0
  45. package/dist/cli/tui/screens/mcp-wizard.js +91 -0
  46. package/dist/cli/tui/screens/mcp-wizard.js.map +1 -0
  47. package/package.json +6 -1
@@ -5,5 +5,4 @@ export interface MenuPredicateInput {
5
5
  }
6
6
  export declare function shouldShowInteractiveMenu(input: MenuPredicateInput): boolean;
7
7
  export type MenuAction = "doctor" | "install-skill" | "mcp" | "update" | "help" | "exit";
8
- export declare function runInteractiveMenu(version: string): Promise<MenuAction>;
9
8
  //# sourceMappingURL=interactive-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-menu.d.ts","sourceRoot":"","sources":["../../src/cli/interactive-menu.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAE5E;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAe7E"}
1
+ {"version":3,"file":"interactive-menu.d.ts","sourceRoot":"","sources":["../../src/cli/interactive-menu.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAE5E;AAED,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC"}
@@ -1,21 +1,4 @@
1
- import { Separator, select } from "@inquirer/prompts";
2
1
  export function shouldShowInteractiveMenu(input) {
3
2
  return input.command === undefined && input.isTTY && !input.hasHelp;
4
3
  }
5
- export async function runInteractiveMenu(version) {
6
- return select({
7
- message: `agent-workflow v${version}`,
8
- choices: [
9
- new Separator("── Verificar / configurar ──"),
10
- { name: "▸ Doctor (verificar instalación)", value: "doctor" },
11
- { name: "▸ Install / Update skill (manager bundled)", value: "install-skill" },
12
- { name: "▸ Configurar MCP database (dbhub)", value: "mcp" },
13
- new Separator("── Mantenimiento ──"),
14
- { name: "· Update CLI (npm i -g @tacuchi/agent-workflow-cli)", value: "update" },
15
- { name: "· Help (lista de comandos)", value: "help" },
16
- new Separator(),
17
- { name: "⏎ Salir", value: "exit" },
18
- ],
19
- });
20
- }
21
4
  //# sourceMappingURL=interactive-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-menu.js","sourceRoot":"","sources":["../../src/cli/interactive-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQtD,MAAM,UAAU,yBAAyB,CAAC,KAAyB;IACjE,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AACtE,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe;IACtD,OAAO,MAAM,CAAa;QACxB,OAAO,EAAE,mBAAmB,OAAO,EAAE;QACrC,OAAO,EAAE;YACP,IAAI,SAAS,CAAC,8BAA8B,CAAC;YAC7C,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC7D,EAAE,IAAI,EAAE,4CAA4C,EAAE,KAAK,EAAE,eAAe,EAAE;YAC9E,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,KAAK,EAAE;YAC3D,IAAI,SAAS,CAAC,qBAAqB,CAAC;YACpC,EAAE,IAAI,EAAE,qDAAqD,EAAE,KAAK,EAAE,QAAQ,EAAE;YAChF,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE;YACrD,IAAI,SAAS,EAAE;YACf,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;SACnC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"interactive-menu.js","sourceRoot":"","sources":["../../src/cli/interactive-menu.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,yBAAyB,CAAC,KAAyB;IACjE,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AACtE,CAAC"}
package/dist/cli/main.js CHANGED
@@ -50,10 +50,11 @@ import { visibilityCommand } from "./commands/visibility.js";
50
50
  import { workflowsCommand } from "./commands/workflows.js";
51
51
  import { workspaceModeCommand } from "./commands/workspace-mode.js";
52
52
  import { renderGroupedCommandLines } from "./help-groups.js";
53
- import { runInteractiveMenu, shouldShowInteractiveMenu, } from "./interactive-menu.js";
53
+ import { shouldShowInteractiveMenu } from "./interactive-menu.js";
54
54
  import { parseArgv } from "./parser.js";
55
55
  import { CommandRegistry } from "./registry.js";
56
56
  import { emitError, formatArgvError, formatUnknownCommand, renderRaw, writeStdout, } from "./render.js";
57
+ import { runTui } from "./tui/run.js";
57
58
  async function run(argv) {
58
59
  const fs = new NodeFileSystem();
59
60
  const env = new NodeEnv();
@@ -120,13 +121,23 @@ async function run(argv) {
120
121
  }
121
122
  const isTTY = process.stdout.isTTY === true;
122
123
  const hasHelp = parsed.flags.has("--help") || parsed.flags.has("-h");
124
+ const namespaceResolver = new NamespaceResolver(fs, env);
125
+ const namespace = await namespaceResolver.resolve(parsed.values.get("namespace"));
126
+ const paths = new PathsService(namespace.namespace, env.homeDir(), env.cwd());
127
+ const coreConfigPath = resolveCoreConfigPath(env, paths);
128
+ const runtimeService = new RuntimeConfigService(fs, env, paths, coreConfigPath ? { coreConfigPath } : {});
129
+ const runtime = await runtimeService.resolveRuntime();
130
+ const ctx = { fs, env, git, process: proc, runtime, namespace, paths };
123
131
  if (shouldShowInteractiveMenu({
124
132
  command: parsed.command,
125
133
  isTTY,
126
134
  hasHelp,
127
135
  })) {
128
- const action = await runInteractiveMenu(readPackageVersion());
129
- return await dispatchMenuAction(action, registry);
136
+ const tuiResult = await runTui(readPackageVersion(), ctx);
137
+ if (tuiResult.kind === "menu-action") {
138
+ return await dispatchMenuAction(tuiResult.action, registry);
139
+ }
140
+ return tuiResult.exitCode;
130
141
  }
131
142
  if (parsed.command === undefined || hasHelp) {
132
143
  printHelp(registry.list());
@@ -137,13 +148,6 @@ async function run(argv) {
137
148
  emitError(formatUnknownCommand(parsed.command, registry.list()));
138
149
  return 1;
139
150
  }
140
- const namespaceResolver = new NamespaceResolver(fs, env);
141
- const namespace = await namespaceResolver.resolve(parsed.values.get("namespace"));
142
- const paths = new PathsService(namespace.namespace, env.homeDir(), env.cwd());
143
- const coreConfigPath = resolveCoreConfigPath(env, paths);
144
- const runtimeService = new RuntimeConfigService(fs, env, paths, coreConfigPath ? { coreConfigPath } : {});
145
- const runtime = await runtimeService.resolveRuntime();
146
- const ctx = { fs, env, git, process: proc, runtime, namespace, paths };
147
151
  try {
148
152
  const result = await command.execute(parsed, ctx);
149
153
  emit(result);
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ExitCode } from "../../domain/types.js";
2
+ import type { MenuAction } from "../interactive-menu.js";
3
+ import type { CliContext } from "../types.js";
4
+ export type TuiResult = {
5
+ kind: "menu-action";
6
+ action: MenuAction;
7
+ } | {
8
+ kind: "exit";
9
+ exitCode: ExitCode;
10
+ };
11
+ export interface AppProps {
12
+ version: string;
13
+ ctx: CliContext;
14
+ onResult: (result: TuiResult) => void;
15
+ }
16
+ export declare function App({ version, ctx, onResult }: AppProps): import("react/jsx-runtime").JSX.Element | null;
17
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAIzC,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,QAAQ,kDAyDvD"}
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useApp } from "ink";
3
+ import { useState } from "react";
4
+ import { MainMenu } from "./screens/main-menu.js";
5
+ import { McpDoneScreen } from "./screens/mcp-done.js";
6
+ import { McpWizardScreen } from "./screens/mcp-wizard.js";
7
+ export function App({ version, ctx, onResult }) {
8
+ const [screen, setScreen] = useState("menu");
9
+ const [mcpResult, setMcpResult] = useState(null);
10
+ const { exit } = useApp();
11
+ if (screen === "menu") {
12
+ return (_jsx(MainMenu, { version: version, onSelect: (action) => {
13
+ if (action === "mcp") {
14
+ setScreen("mcp");
15
+ return;
16
+ }
17
+ if (action === "exit") {
18
+ onResult({ kind: "exit", exitCode: 0 });
19
+ exit();
20
+ return;
21
+ }
22
+ onResult({ kind: "menu-action", action });
23
+ exit();
24
+ } }));
25
+ }
26
+ if (screen === "mcp") {
27
+ return (_jsx(McpWizardScreen, { version: version, ctx: ctx, onDone: (result) => {
28
+ setMcpResult(result);
29
+ setScreen("mcp-done");
30
+ } }));
31
+ }
32
+ if (screen === "mcp-done" && mcpResult) {
33
+ return (_jsx(McpDoneScreen, { version: version, result: mcpResult, onContinue: () => {
34
+ setMcpResult(null);
35
+ setScreen("menu");
36
+ }, onExit: () => {
37
+ onResult({ kind: "exit", exitCode: mcpResult.exitCode });
38
+ exit();
39
+ } }));
40
+ }
41
+ return null;
42
+ }
43
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKjC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAc1D,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAY;IACtD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,MAAM,CAAC,CAAC;IACrD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA0C,IAAI,CAAC,CAAC;IAC1F,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,CACL,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;gBACnB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,SAAS,CAAC,KAAK,CAAC,CAAC;oBACjB,OAAO;gBACT,CAAC;gBACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;oBACxC,IAAI,EAAE,CAAC;oBACP,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1C,IAAI,EAAE,CAAC;YACT,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,CACL,KAAC,eAAe,IACd,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACjB,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,SAAS,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,UAAU,IAAI,SAAS,EAAE,CAAC;QACvC,OAAO,CACL,KAAC,aAAa,IACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,GAAG,EAAE;gBACf,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,SAAS,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,EACD,MAAM,EAAE,GAAG,EAAE;gBACX,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzD,IAAI,EAAE,CAAC;YACT,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type SelfMcpConnectionView } from "../../../application/self/mcp-config.js";
2
+ export declare function ConnectionsTable({ connections }: {
3
+ connections: SelfMcpConnectionView[];
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=connections-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connections-table.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/connections-table.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,yCAAyC,CAAC;AAEjD,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,EAAE;IAAE,WAAW,EAAE,qBAAqB,EAAE,CAAA;CAAE,2CAWzF"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { formatConnectionsTable, } from "../../../application/self/mcp-config.js";
4
+ export function ConnectionsTable({ connections }) {
5
+ if (connections.length === 0) {
6
+ return (_jsx(Box, { children: _jsx(Text, { color: "gray", italic: true, children: "(sin conexiones registradas)" }) }));
7
+ }
8
+ return _jsx(Text, { children: formatConnectionsTable(connections) });
9
+ }
10
+ //# sourceMappingURL=connections-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connections-table.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/connections-table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAEL,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AAEjD,MAAM,UAAU,gBAAgB,CAAC,EAAE,WAAW,EAA4C;IACxF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CACL,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,mDAElB,GACH,CACP,CAAC;IACJ,CAAC;IACD,OAAO,KAAC,IAAI,cAAE,sBAAsB,CAAC,WAAW,CAAC,GAAQ,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function Footer({ hint }: {
2
+ hint: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/footer.tsx"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,2CAMhD"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ export function Footer({ hint }) {
4
+ return (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: hint }) }));
5
+ }
6
+ //# sourceMappingURL=footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,UAAU,MAAM,CAAC,EAAE,IAAI,EAAoB;IAC/C,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,GAAQ,GAC5B,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function Header({ version, subtitle }: {
2
+ version: string;
3
+ subtitle?: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/header.tsx"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,2CAYnF"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ export function Header({ version, subtitle }) {
4
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: "cyan", bold: true, children: "agent-workflow" }), _jsxs(Text, { color: "gray", children: [" v", version] })] }), subtitle ? _jsx(Text, { color: "gray", children: subtitle }) : null] }));
5
+ }
6
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,UAAU,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAA0C;IAClF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,qCAEhB,EACP,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mBAAI,OAAO,IAAQ,IACjC,EACL,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,QAAQ,GAAQ,CAAC,CAAC,CAAC,IAAI,IACnD,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface InputPromptProps {
2
+ message: string;
3
+ defaultValue?: string;
4
+ validate?: (value: string) => boolean | string;
5
+ onSubmit: (value: string) => void;
6
+ isActive?: boolean;
7
+ }
8
+ export declare function InputPrompt(props: InputPromptProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=input-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-prompt.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/input-prompt.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAuClD"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TextInput } from "@inkjs/ui";
3
+ import { Box, Text } from "ink";
4
+ import { useState } from "react";
5
+ export function InputPrompt(props) {
6
+ const { message, defaultValue, validate, onSubmit, isActive = true } = props;
7
+ const [error, setError] = useState();
8
+ const handleSubmit = (value) => {
9
+ if (validate) {
10
+ const result = validate(value);
11
+ if (result === true) {
12
+ setError(undefined);
13
+ onSubmit(value);
14
+ return;
15
+ }
16
+ setError(typeof result === "string" ? result : "Valor inválido");
17
+ return;
18
+ }
19
+ setError(undefined);
20
+ onSubmit(value);
21
+ };
22
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: "cyan", children: "? " }), message] }), _jsx(Box, { marginLeft: 2, children: _jsx(TextInput, { isDisabled: !isActive, ...(defaultValue !== undefined ? { defaultValue } : {}), onSubmit: handleSubmit }) }), error ? (_jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: "red", children: error }) })) : null] }));
23
+ }
24
+ //# sourceMappingURL=input-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-prompt.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/input-prompt.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAUjC,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAEzD,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mBAAU,EAC3B,OAAO,IACH,EACP,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,SAAS,IACR,UAAU,EAAE,CAAC,QAAQ,KACjB,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACxD,QAAQ,EAAE,YAAY,GACtB,GACE,EACL,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,YAAE,KAAK,GAAQ,GAC5B,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ export type MenuItem<T extends string> = {
2
+ kind: "item";
3
+ label: string;
4
+ value: T;
5
+ description?: string;
6
+ } | {
7
+ kind: "section";
8
+ label?: string;
9
+ };
10
+ export interface SectionedMenuProps<T extends string> {
11
+ items: MenuItem<T>[];
12
+ onSelect: (value: T) => void;
13
+ isActive?: boolean;
14
+ defaultValue?: T;
15
+ }
16
+ export declare function SectionedMenu<T extends string>(props: SectionedMenuProps<T>): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=sectioned-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sectioned-menu.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/sectioned-menu.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,IACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM;IAClD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,CAAC;CAClB;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,2CA6D3E"}
@@ -0,0 +1,57 @@
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
+ export function SectionedMenu(props) {
5
+ const { items, onSelect, isActive = true, defaultValue } = props;
6
+ const selectables = items
7
+ .map((item, index) => ({ item, index }))
8
+ .filter((entry) => {
9
+ return entry.item.kind === "item";
10
+ });
11
+ const initialFocus = (() => {
12
+ if (defaultValue === undefined)
13
+ return 0;
14
+ const found = selectables.findIndex((entry) => entry.item.value === defaultValue);
15
+ return found >= 0 ? found : 0;
16
+ })();
17
+ const [focused, setFocused] = useState(initialFocus);
18
+ useInput((_, key) => {
19
+ if (selectables.length === 0)
20
+ return;
21
+ if (key.upArrow) {
22
+ setFocused((current) => (current - 1 + selectables.length) % selectables.length);
23
+ return;
24
+ }
25
+ if (key.downArrow) {
26
+ setFocused((current) => (current + 1) % selectables.length);
27
+ return;
28
+ }
29
+ if (key.return) {
30
+ const target = selectables[focused];
31
+ if (target)
32
+ onSelect(target.item.value);
33
+ }
34
+ }, { isActive });
35
+ const keyedItems = computeStableKeys(items);
36
+ return (_jsx(Box, { flexDirection: "column", children: keyedItems.map(({ item, index, key }) => {
37
+ if (item.kind === "section") {
38
+ if (!item.label) {
39
+ return _jsx(Text, { children: " " }, key);
40
+ }
41
+ return (_jsxs(Text, { color: "gray", dimColor: true, children: ["\u2500\u2500 ", item.label, " \u2500\u2500"] }, key));
42
+ }
43
+ const selectable = selectables.find((entry) => entry.index === index);
44
+ const isFocused = selectable?.index === selectables[focused]?.index;
45
+ return (_jsxs(Text, { ...(isFocused ? { color: "cyan" } : {}), children: [isFocused ? "❯ " : " ", item.label] }, key));
46
+ }) }));
47
+ }
48
+ function computeStableKeys(items) {
49
+ const counters = new Map();
50
+ return items.map((item, index) => {
51
+ const base = item.kind === "item" ? `i:${item.value}` : `s:${item.label ?? "blank"}`;
52
+ const seen = counters.get(base) ?? 0;
53
+ counters.set(base, seen + 1);
54
+ return { item, index, key: seen === 0 ? base : `${base}#${seen}` };
55
+ });
56
+ }
57
+ //# sourceMappingURL=sectioned-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sectioned-menu.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/sectioned-menu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAajC,MAAM,UAAU,aAAa,CAAmB,KAA4B;IAC1E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,WAAW,GAAG,KAAK;SACtB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,KAAK,EAA4E,EAAE;QAC1F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IACpC,CAAC,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;QAClF,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAS,YAAY,CAAC,CAAC;IAE7D,QAAQ,CACN,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACT,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,MAAM;gBAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,CACb,CAAC;IAEF,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,OAAO,KAAC,IAAI,qBAAM,GAAG,CAAU,CAAC;gBAClC,CAAC;gBACD,OAAO,CACL,MAAC,IAAI,IAAW,KAAK,EAAC,MAAM,EAAC,QAAQ,oCAC/B,IAAI,CAAC,KAAK,sBADL,GAAG,CAEP,CACR,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,UAAU,EAAE,KAAK,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;YACpE,OAAO,CACL,MAAC,IAAI,OAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aACrD,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACvB,IAAI,CAAC,KAAK,KAFF,GAAG,CAGP,CACR,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAoB;IAEpB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC;QACrF,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CliContext } from "../types.js";
2
+ import { type TuiResult } from "./app.js";
3
+ export declare function runTui(version: string, ctx: CliContext): Promise<TuiResult>;
4
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/run.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAsBjF"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render } from "ink";
3
+ import { App } from "./app.js";
4
+ export async function runTui(version, ctx) {
5
+ return new Promise((resolve) => {
6
+ let resolved = false;
7
+ const settle = (result) => {
8
+ if (resolved)
9
+ return;
10
+ resolved = true;
11
+ resolve(result);
12
+ };
13
+ const instance = render(_jsx(App, { version: version, ctx: ctx, onResult: settle }), {
14
+ exitOnCtrlC: true,
15
+ });
16
+ instance
17
+ .waitUntilExit()
18
+ .then(() => settle({ kind: "exit", exitCode: 0 }))
19
+ .catch((err) => {
20
+ const message = err instanceof Error ? err.message : String(err);
21
+ process.stderr.write(`tui error: ${message}\n`);
22
+ settle({ kind: "exit", exitCode: 1 });
23
+ });
24
+ });
25
+ }
26
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/tui/run.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,EAAE,GAAG,EAAkB,MAAM,UAAU,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe,EAAE,GAAe;IAC3D,OAAO,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;QACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,MAAiB,EAAE,EAAE;YACnC,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAC,GAAG,IAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAI,EAAE;YAC7E,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,QAAQ;aACL,aAAa,EAAE;aACf,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;aACjD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { MenuAction } from "../../interactive-menu.js";
2
+ export interface MainMenuProps {
3
+ version: string;
4
+ onSelect: (action: MenuAction) => void;
5
+ isActive?: boolean;
6
+ }
7
+ export declare function MainMenu({ version, onSelect, isActive }: MainMenuProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=main-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-menu.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/screens/main-menu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAiB5D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAe,EAAE,EAAE,aAAa,2CAQ7E"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box } from "ink";
3
+ import { Footer } from "../components/footer.js";
4
+ import { Header } from "../components/header.js";
5
+ import { SectionedMenu } from "../components/sectioned-menu.js";
6
+ const MENU_ITEMS = [
7
+ { kind: "section", label: "Verificar / configurar" },
8
+ { kind: "item", label: "▸ Doctor (verificar instalación)", value: "doctor" },
9
+ { kind: "item", label: "▸ Install / Update skill (manager bundled)", value: "install-skill" },
10
+ { kind: "item", label: "▸ Configurar MCP database (dbhub)", value: "mcp" },
11
+ { kind: "section", label: "Mantenimiento" },
12
+ { kind: "item", label: "· Update CLI (npm i -g @tacuchi/agent-workflow-cli)", value: "update" },
13
+ { kind: "item", label: "· Help (lista de comandos)", value: "help" },
14
+ { kind: "section" },
15
+ { kind: "item", label: "⏎ Salir", value: "exit" },
16
+ ];
17
+ export function MainMenu({ version, onSelect, isActive = true }) {
18
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { version: version, subtitle: "Men\u00FA principal" }), _jsx(SectionedMenu, { items: MENU_ITEMS, onSelect: onSelect, isActive: isActive }), _jsx(Footer, { hint: "\u2191\u2193 navegar \u00B7 \u23CE seleccionar \u00B7 Ctrl-C salir" })] }));
19
+ }
20
+ //# sourceMappingURL=main-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-menu.js","sourceRoot":"","sources":["../../../../src/cli/tui/screens/main-menu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAiB,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE/E,MAAM,UAAU,GAA2B;IACzC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,EAAE;IACpD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kCAAkC,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC5E,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,4CAA4C,EAAE,KAAK,EAAE,eAAe,EAAE;IAC7F,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mCAAmC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC1E,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qDAAqD,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC/F,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,MAAM,EAAE;IACpE,EAAE,IAAI,EAAE,SAAS,EAAE;IACnB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;CAClD,CAAC;AAQF,MAAM,UAAU,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAiB;IAC5E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,qBAAgB,GAAG,EACtD,KAAC,aAAa,IAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,EAC5E,KAAC,MAAM,IAAC,IAAI,EAAC,oEAA2C,GAAG,IACvD,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { SelfMcpConfigData } from "../../../application/self/mcp-config.js";
2
+ import type { CommandResult } from "../../../domain/types.js";
3
+ export interface McpDoneScreenProps {
4
+ version: string;
5
+ result: CommandResult<SelfMcpConfigData>;
6
+ onContinue: () => void;
7
+ onExit: () => void;
8
+ }
9
+ export declare function McpDoneScreen({ version, result, onContinue, onExit }: McpDoneScreenProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=mcp-done.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-done.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/screens/mcp-done.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CA4BxF"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text, useInput } from "ink";
3
+ import { ConnectionsTable } from "../components/connections-table.js";
4
+ import { Footer } from "../components/footer.js";
5
+ import { Header } from "../components/header.js";
6
+ export function McpDoneScreen({ version, result, onContinue, onExit }) {
7
+ useInput((input, key) => {
8
+ if (key.return || input === "m" || input === "M")
9
+ onContinue();
10
+ if (input === "q" || input === "Q" || key.escape)
11
+ onExit();
12
+ });
13
+ const data = result.data;
14
+ const summary = data?.summary ?? (result.ok ? "Acción completada." : "Acción cancelada o falló.");
15
+ const connections = data?.connections ?? [];
16
+ const isCancel = data?.action === "cancel";
17
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { version: version, subtitle: "Resultado MCP" }), _jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: result.ok ? "green" : "red", children: [result.ok ? "✓ " : "✗ ", summary] }) }), !isCancel && connections.length > 0 ? (_jsx(Box, { flexDirection: "column", marginBottom: 1, children: _jsx(ConnectionsTable, { connections: connections }) })) : null, _jsx(Footer, { hint: "\u23CE volver al men\u00FA \u00B7 q salir" })] }));
18
+ }
19
+ //# sourceMappingURL=mcp-done.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-done.js","sourceRoot":"","sources":["../../../../src/cli/tui/screens/mcp-done.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAM1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AASjD,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAsB;IACvF,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG;YAAE,UAAU,EAAE,CAAC;QAC/D,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM;YAAE,MAAM,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAClG,MAAM,WAAW,GAA4B,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC;IAE3C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,eAAe,GAAG,EACrD,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,aACrC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACvB,OAAO,IACH,GACH,EACL,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACrC,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,YACzC,KAAC,gBAAgB,IAAC,WAAW,EAAE,WAAW,GAAI,GAC1C,CACP,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,MAAM,IAAC,IAAI,EAAC,2CAA4B,GAAG,IACxC,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type SelfMcpConfigData } from "../../../application/self/mcp-config.js";
2
+ import type { CommandResult } from "../../../domain/types.js";
3
+ import type { CliContext } from "../../types.js";
4
+ export interface McpWizardScreenProps {
5
+ version: string;
6
+ ctx: CliContext;
7
+ onDone: (result: CommandResult<SelfMcpConfigData>) => void;
8
+ }
9
+ export declare function McpWizardScreen({ version, ctx, onDone }: McpWizardScreenProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=mcp-wizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-wizard.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/screens/mcp-wizard.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAwBjD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC5D;AA0BD,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,oBAAoB,2CAwG7E"}
@@ -0,0 +1,91 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Spinner } from "@inkjs/ui";
3
+ import { Box, Text, useApp } from "ink";
4
+ import { useEffect, useRef, useState } from "react";
5
+ import { selfMcpConfig, } from "../../../application/self/mcp-config.js";
6
+ import { Footer } from "../components/footer.js";
7
+ import { Header } from "../components/header.js";
8
+ import { InputPrompt } from "../components/input-prompt.js";
9
+ import { SectionedMenu } from "../components/sectioned-menu.js";
10
+ function buildEmptyArgs() {
11
+ return {
12
+ rest: [],
13
+ plugin: {},
14
+ flags: new Set(),
15
+ values: new Map(),
16
+ valuesMulti: new Map(),
17
+ };
18
+ }
19
+ function toMenuItem(choice) {
20
+ if (choice.type === "separator") {
21
+ const sep = choice;
22
+ return sep.separator !== undefined
23
+ ? { kind: "section", label: sep.separator.replace(/^── | ──$/g, "") }
24
+ : { kind: "section" };
25
+ }
26
+ const item = choice;
27
+ const base = { kind: "item", label: item.name, value: item.value };
28
+ return item.description !== undefined ? { ...base, description: item.description } : base;
29
+ }
30
+ export function McpWizardScreen({ version, ctx, onDone }) {
31
+ const [activePrompt, setActivePrompt] = useState(null);
32
+ const [errorMessage, setErrorMessage] = useState();
33
+ const startedRef = useRef(false);
34
+ const { exit } = useApp();
35
+ useEffect(() => {
36
+ if (startedRef.current)
37
+ return;
38
+ startedRef.current = true;
39
+ const prompts = {
40
+ select(options) {
41
+ return new Promise((resolve) => {
42
+ const items = options.choices.map(toMenuItem);
43
+ const state = {
44
+ kind: "select",
45
+ message: options.message,
46
+ items,
47
+ resolve: (value) => {
48
+ setActivePrompt(null);
49
+ resolve(value);
50
+ },
51
+ ...(options.default !== undefined ? { defaultValue: options.default } : {}),
52
+ };
53
+ setActivePrompt(state);
54
+ });
55
+ },
56
+ input(options) {
57
+ return new Promise((resolve) => {
58
+ const state = {
59
+ kind: "input",
60
+ message: options.message,
61
+ resolve: (value) => {
62
+ setActivePrompt(null);
63
+ resolve(value);
64
+ },
65
+ ...(options.default !== undefined ? { defaultValue: options.default } : {}),
66
+ ...(options.validate ? { validate: options.validate } : {}),
67
+ };
68
+ setActivePrompt(state);
69
+ });
70
+ },
71
+ };
72
+ selfMcpConfig(buildEmptyArgs(), ctx, prompts)
73
+ .then((result) => {
74
+ onDone(result);
75
+ })
76
+ .catch((err) => {
77
+ const message = err instanceof Error ? err.message : String(err);
78
+ setErrorMessage(message);
79
+ exit();
80
+ });
81
+ }, [ctx, onDone, exit]);
82
+ if (errorMessage) {
83
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { version: version, subtitle: "Configurar MCP database (dbhub)" }), _jsxs(Text, { color: "red", children: ["Error: ", errorMessage] })] }));
84
+ }
85
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { version: version, subtitle: "Configurar MCP database (dbhub)" }), activePrompt === null ? (_jsx(Box, { children: _jsx(Spinner, { label: "Procesando..." }) })) : activePrompt.kind === "select" ? (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: "cyan", children: "? " }), activePrompt.message] }), _jsx(Box, { marginTop: 1, children: _jsx(SectionedMenu, { items: activePrompt.items, onSelect: (value) => activePrompt.resolve(value), ...(activePrompt.defaultValue !== undefined
86
+ ? { defaultValue: activePrompt.defaultValue }
87
+ : {}) }) })] })) : (_jsx(InputPrompt, { message: activePrompt.message, ...(activePrompt.defaultValue !== undefined
88
+ ? { defaultValue: activePrompt.defaultValue }
89
+ : {}), ...(activePrompt.validate ? { validate: activePrompt.validate } : {}), onSubmit: (value) => activePrompt.resolve(value) })), _jsx(Footer, { hint: "\u2191\u2193 navegar \u00B7 \u23CE confirmar \u00B7 Ctrl-C cancelar" })] }));
90
+ }
91
+ //# sourceMappingURL=mcp-wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-wizard.js","sourceRoot":"","sources":["../../../../src/cli/tui/screens/mcp-wizard.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tacuchi/agent-workflow-cli",
3
- "version": "5.9.3",
3
+ "version": "5.10.0",
4
4
  "description": "Agnostic runtime CLI for session-lifecycle workflows. Auto-detects namespace from any `.<ns>/sessions/` dir in CWD; falls back to 'agent-workflow'. Plugins can reclaim a fixed namespace via SessionStart hook (writes to `~/.config/agent-workflow/namespace`). Bundles the universal `agent-workflow` skill in the tarball — `self install-skill` copies it from the bundled location to `~/.claude/skills/agent-workflow/` and `~/.codex/skills/agent-workflow/` (dual-target by default; opt-out with `--target claude|codex`). Override the source with `--from <local-path>` for skill development.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -45,6 +45,8 @@
45
45
  "devDependencies": {
46
46
  "@biomejs/biome": "^1.9.4",
47
47
  "@types/node": "^22.10.5",
48
+ "@types/react": "^18.3.28",
49
+ "ink-testing-library": "^4.0.0",
48
50
  "typescript": "^5.7.3",
49
51
  "vitest": "^2.1.8"
50
52
  },
@@ -52,7 +54,10 @@
52
54
  "access": "public"
53
55
  },
54
56
  "dependencies": {
57
+ "@inkjs/ui": "^2.0.0",
55
58
  "@inquirer/prompts": "^7.10.1",
59
+ "ink": "^5.2.1",
60
+ "react": "^18.3.1",
56
61
  "smol-toml": "^1.6.1"
57
62
  }
58
63
  }