@tacuchi/agent-workflow-cli 9.1.0 → 9.2.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.
- package/dist/application/mcp-test-connection-service.d.ts +19 -0
- package/dist/application/mcp-test-connection-service.d.ts.map +1 -0
- package/dist/application/mcp-test-connection-service.js +71 -0
- package/dist/application/mcp-test-connection-service.js.map +1 -0
- package/dist/cli/tui/app.d.ts.map +1 -1
- package/dist/cli/tui/app.js +130 -165
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/activity-feed.d.ts.map +1 -1
- package/dist/cli/tui/components/activity-feed.js +2 -2
- package/dist/cli/tui/components/activity-feed.js.map +1 -1
- package/dist/cli/tui/components/command-palette.d.ts.map +1 -1
- package/dist/cli/tui/components/command-palette.js +2 -2
- package/dist/cli/tui/components/command-palette.js.map +1 -1
- package/dist/cli/tui/components/home-footer.d.ts +3 -3
- package/dist/cli/tui/components/home-footer.d.ts.map +1 -1
- package/dist/cli/tui/components/home-footer.js +6 -13
- package/dist/cli/tui/components/home-footer.js.map +1 -1
- package/dist/cli/tui/components/home-header.d.ts.map +1 -1
- package/dist/cli/tui/components/home-header.js +25 -2
- package/dist/cli/tui/components/home-header.js.map +1 -1
- package/dist/cli/tui/components/list-row.d.ts.map +1 -1
- package/dist/cli/tui/components/list-row.js +3 -3
- package/dist/cli/tui/components/list-row.js.map +1 -1
- package/dist/cli/tui/components/notification-banner.d.ts +17 -0
- package/dist/cli/tui/components/notification-banner.d.ts.map +1 -0
- package/dist/cli/tui/components/notification-banner.js +38 -0
- package/dist/cli/tui/components/notification-banner.js.map +1 -0
- package/dist/cli/tui/components/notification-stack.d.ts +17 -0
- package/dist/cli/tui/components/notification-stack.d.ts.map +1 -0
- package/dist/cli/tui/components/notification-stack.js +21 -0
- package/dist/cli/tui/components/notification-stack.js.map +1 -0
- package/dist/cli/tui/components/screen-frame.js +1 -1
- package/dist/cli/tui/components/screen-frame.js.map +1 -1
- package/dist/cli/tui/components/tab-bar.d.ts +17 -0
- package/dist/cli/tui/components/tab-bar.d.ts.map +1 -0
- package/dist/cli/tui/components/tab-bar.js +20 -0
- package/dist/cli/tui/components/tab-bar.js.map +1 -0
- package/dist/cli/tui/components/tabs-config.d.ts +2 -1
- package/dist/cli/tui/components/tabs-config.d.ts.map +1 -1
- package/dist/cli/tui/components/tabs-config.js +8 -1
- package/dist/cli/tui/components/tabs-config.js.map +1 -1
- package/dist/cli/tui/notification-center.d.ts +61 -0
- package/dist/cli/tui/notification-center.d.ts.map +1 -0
- package/dist/cli/tui/notification-center.js +102 -0
- package/dist/cli/tui/notification-center.js.map +1 -0
- package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +43 -29
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +67 -10
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +4 -6
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/dist/cli/tui/tabs/status-tab.d.ts +1 -4
- package/dist/cli/tui/tabs/status-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/status-tab.js +6 -94
- package/dist/cli/tui/tabs/status-tab.js.map +1 -1
- package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/workflow-tab.js +1 -5
- package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PathsService } from "./paths-service.js";
|
|
2
|
+
export interface McpTestConnectionInput {
|
|
3
|
+
/** Nombre de la DSN env var (ej: DB_CERT_DSN). */
|
|
4
|
+
dsnVar: string;
|
|
5
|
+
env: Record<string, string | undefined>;
|
|
6
|
+
paths: PathsService;
|
|
7
|
+
platform: NodeJS.Platform;
|
|
8
|
+
/** Timeout en ms para asumir que dbhub arrancó OK. Default: 5000. */
|
|
9
|
+
timeoutMs?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface McpTestConnectionResult {
|
|
12
|
+
ok: boolean;
|
|
13
|
+
/** De dónde se resolvió el DSN. `null` si no se pudo resolver. */
|
|
14
|
+
source: "env" | "dsn.env" | null;
|
|
15
|
+
/** Detalle del error cuando `ok=false`. */
|
|
16
|
+
error?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function testMcpConnection(input: McpTestConnectionInput): Promise<McpTestConnectionResult>;
|
|
19
|
+
//# sourceMappingURL=mcp-test-connection-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-test-connection-service.d.ts","sourceRoot":"","sources":["../../src/application/mcp-test-connection-service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,kEAAkE;IAClE,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAUlC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Test real de conexión MCP: ejecuta `npx -y @bytebase/dbhub` con el DSN
|
|
2
|
+
// resuelto del shell env o del bootstrap file. Si dbhub arranca sin errores
|
|
3
|
+
// fatales (queda esperando inputs MCP en stdio), se considera la conexión
|
|
4
|
+
// válida. Si dbhub falla rápidamente con stderr, el test falla con el detalle.
|
|
5
|
+
import { spawn } from "node:child_process";
|
|
6
|
+
import { readBootstrapDsn } from "./dsn-reader-service.js";
|
|
7
|
+
export async function testMcpConnection(input) {
|
|
8
|
+
const resolved = resolveDsnString(input);
|
|
9
|
+
if (!resolved) {
|
|
10
|
+
return {
|
|
11
|
+
ok: false,
|
|
12
|
+
source: null,
|
|
13
|
+
error: `${input.dsnVar} no está exportada en el shell ni en ${input.paths.userDsnFile()}`,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
return spawnDbhub(resolved.dsn, resolved.source, input);
|
|
17
|
+
}
|
|
18
|
+
function resolveDsnString(input) {
|
|
19
|
+
const fromEnv = input.env[input.dsnVar];
|
|
20
|
+
if (fromEnv && fromEnv.length > 0) {
|
|
21
|
+
return { dsn: fromEnv, source: "env" };
|
|
22
|
+
}
|
|
23
|
+
const bootstrap = readBootstrapDsn(input.paths);
|
|
24
|
+
const fromFile = bootstrap.values[input.dsnVar];
|
|
25
|
+
if (fromFile && fromFile.length > 0) {
|
|
26
|
+
return { dsn: fromFile, source: "dsn.env" };
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
function spawnDbhub(dsn, source, input) {
|
|
31
|
+
const timeoutMs = input.timeoutMs ?? 5000;
|
|
32
|
+
const isWin = input.platform === "win32";
|
|
33
|
+
const cmd = isWin ? "npx.cmd" : "npx";
|
|
34
|
+
return new Promise((resolve) => {
|
|
35
|
+
const child = spawn(cmd, ["-y", "@bytebase/dbhub"], {
|
|
36
|
+
env: { ...input.env, DSN: dsn },
|
|
37
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
38
|
+
shell: isWin,
|
|
39
|
+
});
|
|
40
|
+
let stderr = "";
|
|
41
|
+
let settled = false;
|
|
42
|
+
const settle = (result) => {
|
|
43
|
+
if (settled)
|
|
44
|
+
return;
|
|
45
|
+
settled = true;
|
|
46
|
+
if (!child.killed)
|
|
47
|
+
child.kill("SIGTERM");
|
|
48
|
+
resolve(result);
|
|
49
|
+
};
|
|
50
|
+
child.stderr.on("data", (chunk) => {
|
|
51
|
+
stderr += chunk.toString();
|
|
52
|
+
});
|
|
53
|
+
child.on("error", (err) => settle({ ok: false, source, error: err.message }));
|
|
54
|
+
child.on("exit", (code) => {
|
|
55
|
+
if (code === 0 || code === null) {
|
|
56
|
+
settle({ ok: true, source });
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
settle({
|
|
60
|
+
ok: false,
|
|
61
|
+
source,
|
|
62
|
+
error: stderr.trim() || `dbhub salió con código ${code}`,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
// Si dbhub sigue corriendo tras el timeout, asumimos que arrancó OK
|
|
67
|
+
// (conectó y está esperando inputs MCP en stdio). Lo matamos y reportamos OK.
|
|
68
|
+
setTimeout(() => settle({ ok: true, source }), timeoutMs);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=mcp-test-connection-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-test-connection-service.js","sourceRoot":"","sources":["../../src/application/mcp-test-connection-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAkB9C,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;AAYzC,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,KAAK,EAAE,QAAQ,2CAQlC"}
|
package/dist/cli/tui/app.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { basename } from "node:path";
|
|
3
|
+
import { Box, Text, useApp, useInput } from "ink";
|
|
4
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
5
5
|
import { HomeFooter } from "./components/home-footer.js";
|
|
6
6
|
import { HomeHeader } from "./components/home-header.js";
|
|
7
|
+
import { NotificationStack } from "./components/notification-stack.js";
|
|
7
8
|
import { ScreenFrame } from "./components/screen-frame.js";
|
|
8
|
-
import {
|
|
9
|
+
import { TabBar } from "./components/tab-bar.js";
|
|
9
10
|
import { loadActivity } from "./data/activity.js";
|
|
10
11
|
import { InputLockProvider, useInputLock } from "./input-lock.js";
|
|
12
|
+
import { NotificationCenterProvider, useNotifications } from "./notification-center.js";
|
|
11
13
|
import { McpTab } from "./tabs/mcp-tab.js";
|
|
12
14
|
import { ProjectTab } from "./tabs/project-tab.js";
|
|
13
15
|
import { SkillsTab } from "./tabs/skills-tab.js";
|
|
14
16
|
import { StatusTab } from "./tabs/status-tab.js";
|
|
15
17
|
import { WorkflowTab } from "./tabs/workflow-tab.js";
|
|
16
|
-
import {
|
|
18
|
+
import { colors } from "./theme.js";
|
|
17
19
|
const TAB_ORDER = ["status", "workflow", "project", "mcp", "skills"];
|
|
18
20
|
const TAB_BY_KEY = {
|
|
19
21
|
"1": "status",
|
|
@@ -23,20 +25,15 @@ const TAB_BY_KEY = {
|
|
|
23
25
|
"5": "skills",
|
|
24
26
|
};
|
|
25
27
|
export function App(props) {
|
|
26
|
-
return (_jsx(InputLockProvider, { children: _jsx(AppShell, { ...props }) }));
|
|
28
|
+
return (_jsx(InputLockProvider, { children: _jsx(NotificationCenterProvider, { children: _jsx(AppShell, { ...props }) }) }));
|
|
27
29
|
}
|
|
28
30
|
function AppShell({ version, ctx, onResult }) {
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const [paletteOpen, setPaletteOpen] = useState(true);
|
|
35
|
-
const [paletteFilter, setPaletteFilter] = useState("");
|
|
36
|
-
const [paletteCursor, setPaletteCursor] = useState(0);
|
|
37
|
-
const [statusAlert, setStatusAlert] = useState(false);
|
|
31
|
+
// Pestaña actual. Por default Status — alineado con el screenshot de diseño.
|
|
32
|
+
const [activeTab, setActiveTab] = useState("status");
|
|
33
|
+
// projectName se hidrata async desde el cwd (package.json#name o basename).
|
|
34
|
+
// Placeholder vacío para no parpadear con un brand incorrecto al boot.
|
|
35
|
+
const [projectName, setProjectName] = useState("");
|
|
38
36
|
const [workspaceCtx, setWorkspaceCtx] = useState({
|
|
39
|
-
modeLabel: "agent-workflow",
|
|
40
37
|
branchLabel: "— · loading",
|
|
41
38
|
sessionsLabel: "— sessions",
|
|
42
39
|
});
|
|
@@ -44,16 +41,12 @@ function AppShell({ version, ctx, onResult }) {
|
|
|
44
41
|
const [activePhase, setActivePhase] = useState(0);
|
|
45
42
|
const { exit } = useApp();
|
|
46
43
|
const { locked: inputLocked } = useInputLock();
|
|
47
|
-
const {
|
|
48
|
-
const
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
void (async () => {
|
|
51
|
-
const prefs = await prefsSvc.load();
|
|
52
|
-
setDensity(prefs.density);
|
|
53
|
-
})();
|
|
54
|
-
}, [prefsSvc]);
|
|
44
|
+
const { items: notifications, push: pushNotification, pushToast, dismiss, dismissTop, triggerAction, } = useNotifications();
|
|
45
|
+
const updateCheckStartedRef = useRef(false);
|
|
55
46
|
useEffect(() => {
|
|
56
47
|
void (async () => {
|
|
48
|
+
const name = await resolveProjectName(ctx);
|
|
49
|
+
setProjectName(name);
|
|
57
50
|
const wctx = await loadWorkspaceContext(ctx);
|
|
58
51
|
setWorkspaceCtx(wctx);
|
|
59
52
|
const events = await loadActivity(ctx, { cap: 10 });
|
|
@@ -62,6 +55,77 @@ function AppShell({ version, ctx, onResult }) {
|
|
|
62
55
|
setActivePhase(phase);
|
|
63
56
|
})();
|
|
64
57
|
}, [ctx]);
|
|
58
|
+
// Update-available banner. Antes vivía dentro de StatusTab — ahora es
|
|
59
|
+
// responsabilidad del shell para que aparezca sin importar la tab activa.
|
|
60
|
+
//
|
|
61
|
+
// `manual` distingue el boot-check (silencioso) del recheck disparado por
|
|
62
|
+
// el usuario vía `r` action (feedback explícito "Checking…" / "Up to date").
|
|
63
|
+
const runUpdateCheck = useCallback(async (opts) => {
|
|
64
|
+
const manual = opts?.manual === true;
|
|
65
|
+
if (manual) {
|
|
66
|
+
pushToast({ tone: "info", title: "Checking npm registry…" });
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
const result = await ctx.process.run("npm", ["view", ctx.runtime.packageName, "version"], {});
|
|
70
|
+
if (result.code !== 0) {
|
|
71
|
+
pushToast({
|
|
72
|
+
tone: "err",
|
|
73
|
+
title: "Update check failed",
|
|
74
|
+
body: result.stderr.trim() || "npm view returned non-zero exit.",
|
|
75
|
+
});
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const latest = result.stdout.trim();
|
|
79
|
+
if (!latest)
|
|
80
|
+
return;
|
|
81
|
+
if (latest === version) {
|
|
82
|
+
dismiss("update-available");
|
|
83
|
+
if (manual) {
|
|
84
|
+
pushToast({ tone: "ok", title: "Up to date", body: `v${version}` });
|
|
85
|
+
}
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
pushNotification({
|
|
89
|
+
id: "update-available",
|
|
90
|
+
tone: "warn",
|
|
91
|
+
title: (_jsxs(Text, { children: [_jsx(Text, { color: colors.warn, children: "\u21BB " }), _jsxs(Text, { color: colors.bright, bold: true, children: ["v", version] }), _jsx(Text, { color: colors.dim, children: " \u2192 " }), _jsxs(Text, { color: colors.bright, bold: true, children: ["v", latest] }), _jsx(Text, { color: colors.dim, children: " available" })] })),
|
|
92
|
+
actions: [
|
|
93
|
+
{
|
|
94
|
+
key: "i",
|
|
95
|
+
label: "apply",
|
|
96
|
+
emphasis: true,
|
|
97
|
+
run: () => {
|
|
98
|
+
onResult({ kind: "menu-action", action: "update" });
|
|
99
|
+
exit();
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
{ key: "r", label: "recheck", run: () => void runUpdateCheck({ manual: true }) },
|
|
103
|
+
{
|
|
104
|
+
key: "o",
|
|
105
|
+
label: "notes",
|
|
106
|
+
run: () => pushToast({
|
|
107
|
+
tone: "info",
|
|
108
|
+
title: "Release notes",
|
|
109
|
+
body: `https://www.npmjs.com/package/${ctx.runtime.packageName}`,
|
|
110
|
+
}),
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
pushToast({
|
|
117
|
+
tone: "err",
|
|
118
|
+
title: "Update check failed",
|
|
119
|
+
body: err.message,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}, [ctx, version, pushNotification, pushToast, dismiss, onResult, exit]);
|
|
123
|
+
useEffect(() => {
|
|
124
|
+
if (updateCheckStartedRef.current)
|
|
125
|
+
return;
|
|
126
|
+
updateCheckStartedRef.current = true;
|
|
127
|
+
void runUpdateCheck();
|
|
128
|
+
}, [runUpdateCheck]);
|
|
65
129
|
/**
|
|
66
130
|
* Despacha acciones provenientes de las tabs y la palette.
|
|
67
131
|
* Las acciones que requieren ejecutar un comando CLI con stdin (init, doctor,
|
|
@@ -112,7 +176,6 @@ function AppShell({ version, ctx, onResult }) {
|
|
|
112
176
|
// Hints in-app (navegación + toasts).
|
|
113
177
|
if (id === "mcp:add") {
|
|
114
178
|
setActiveTab("mcp");
|
|
115
|
-
setPaletteOpen(false);
|
|
116
179
|
pushToast({
|
|
117
180
|
tone: "info",
|
|
118
181
|
title: "MCP · new connection",
|
|
@@ -130,141 +193,31 @@ function AppShell({ version, ctx, onResult }) {
|
|
|
130
193
|
}
|
|
131
194
|
pushToast({ tone: "info", title: id });
|
|
132
195
|
}, [pushToast, onResult, exit]);
|
|
133
|
-
const
|
|
134
|
-
{
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
alert: statusAlert,
|
|
140
|
-
},
|
|
141
|
-
{ id: "goto:workflow", category: "tabs", label: "Go to Workflow", hint: "2" },
|
|
142
|
-
{ id: "goto:project", category: "tabs", label: "Go to Project", hint: "3" },
|
|
143
|
-
{ id: "goto:mcp", category: "tabs", label: "Go to MCP", hint: "4" },
|
|
144
|
-
{ id: "goto:skills", category: "tabs", label: "Go to Skills", hint: "5" },
|
|
145
|
-
{
|
|
146
|
-
id: "install-skill",
|
|
147
|
-
category: "install",
|
|
148
|
-
label: "Install SKILL (chain claude + codex + warp)",
|
|
149
|
-
hint: "self install",
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
id: "mcp:add",
|
|
153
|
-
category: "mcp",
|
|
154
|
-
label: "Register new MCP connection",
|
|
155
|
-
hint: "a in MCP tab",
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
id: "self:mcp-cli",
|
|
159
|
-
category: "mcp",
|
|
160
|
-
label: "Open MCP wizard (CLI)",
|
|
161
|
-
hint: "self mcp",
|
|
162
|
-
},
|
|
163
|
-
{ id: "project-init", category: "project", label: "Initialize as single-repo" },
|
|
164
|
-
{ id: "hub-init", category: "project", label: "Initialize as hub (multi-repo)" },
|
|
165
|
-
{
|
|
166
|
-
id: "self:doctor",
|
|
167
|
-
category: "self",
|
|
168
|
-
label: "Diagnose runtime (doctor)",
|
|
169
|
-
hint: "self doctor",
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
id: "self:update",
|
|
173
|
-
category: "self",
|
|
174
|
-
label: "Check for update",
|
|
175
|
-
hint: "self update",
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
id: "self:help",
|
|
179
|
-
category: "self",
|
|
180
|
-
label: "View full CLI help",
|
|
181
|
-
hint: "--help",
|
|
182
|
-
},
|
|
183
|
-
{ id: "quit", category: "self", label: "Quit", hint: "q" },
|
|
184
|
-
], [statusAlert]);
|
|
185
|
-
const filteredCommands = useMemo(() => {
|
|
186
|
-
const q = paletteFilter.trim().toLowerCase();
|
|
187
|
-
if (!q)
|
|
188
|
-
return allCommands;
|
|
189
|
-
return allCommands.filter((c) => c.label.toLowerCase().includes(q) ||
|
|
190
|
-
c.id.toLowerCase().includes(q) ||
|
|
191
|
-
c.category.toLowerCase().includes(q));
|
|
192
|
-
}, [allCommands, paletteFilter]);
|
|
193
|
-
const openPalette = useCallback(() => {
|
|
194
|
-
setPaletteFilter("");
|
|
195
|
-
setPaletteCursor(0);
|
|
196
|
-
setPaletteOpen(true);
|
|
197
|
-
}, []);
|
|
198
|
-
const goToTab = useCallback((target) => {
|
|
199
|
-
setActiveTab(target);
|
|
200
|
-
setPaletteOpen(false);
|
|
201
|
-
setPaletteFilter("");
|
|
202
|
-
setPaletteCursor(0);
|
|
196
|
+
const rotateTab = useCallback((direction) => {
|
|
197
|
+
setActiveTab((current) => {
|
|
198
|
+
const idx = TAB_ORDER.indexOf(current);
|
|
199
|
+
const next = (idx + direction + TAB_ORDER.length) % TAB_ORDER.length;
|
|
200
|
+
return TAB_ORDER[next] ?? current;
|
|
201
|
+
});
|
|
203
202
|
}, []);
|
|
204
|
-
const executeCommand = useCallback((cmd) => {
|
|
205
|
-
if (cmd.id.startsWith("goto:")) {
|
|
206
|
-
const target = cmd.id.slice("goto:".length);
|
|
207
|
-
if (TAB_ORDER.includes(target))
|
|
208
|
-
goToTab(target);
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
runAction(cmd.id);
|
|
212
|
-
}, [goToTab, runAction]);
|
|
213
203
|
useInput((input, key) => {
|
|
214
204
|
if (inputLocked)
|
|
215
205
|
return;
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
206
|
+
// Notif keys tienen prioridad: si hay notifs activas, `x` dismiss el top
|
|
207
|
+
// y las teclas de action (i/r/o/d/…) disparan la acción del item más
|
|
208
|
+
// nuevo que las tenga.
|
|
209
|
+
if (notifications.length > 0 && !key.ctrl && !key.meta) {
|
|
210
|
+
if (input === "x" || input === "X") {
|
|
211
|
+
if (dismissTop())
|
|
221
212
|
return;
|
|
222
|
-
}
|
|
223
|
-
if (activeTab !== null) {
|
|
224
|
-
setPaletteOpen(false);
|
|
225
|
-
}
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
if (key.return) {
|
|
229
|
-
const cmd = filteredCommands[paletteCursor];
|
|
230
|
-
if (cmd)
|
|
231
|
-
executeCommand(cmd);
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
if (key.upArrow) {
|
|
235
|
-
setPaletteCursor((c) => Math.max(0, c - 1));
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
if (key.downArrow) {
|
|
239
|
-
setPaletteCursor((c) => Math.min(Math.max(0, filteredCommands.length - 1), c + 1));
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
if (key.backspace || key.delete) {
|
|
243
|
-
setPaletteFilter((s) => s.slice(0, -1));
|
|
244
|
-
setPaletteCursor(0);
|
|
245
|
-
return;
|
|
246
213
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
if (directTarget && !key.ctrl && !key.meta) {
|
|
251
|
-
goToTab(directTarget);
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
if (input === "q" && !key.ctrl && !key.meta && paletteFilter === "") {
|
|
255
|
-
onResult({ kind: "exit", exitCode: 0 });
|
|
256
|
-
exit();
|
|
257
|
-
return;
|
|
258
|
-
}
|
|
259
|
-
if (input && !key.ctrl && !key.meta) {
|
|
260
|
-
setPaletteFilter((s) => s + input);
|
|
261
|
-
setPaletteCursor(0);
|
|
214
|
+
else if (input) {
|
|
215
|
+
if (triggerAction(input))
|
|
216
|
+
return;
|
|
262
217
|
}
|
|
263
|
-
return;
|
|
264
218
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
openPalette();
|
|
219
|
+
if (key.tab) {
|
|
220
|
+
rotateTab(key.shift ? -1 : 1);
|
|
268
221
|
return;
|
|
269
222
|
}
|
|
270
223
|
if (input === "q" || input === "Q") {
|
|
@@ -276,23 +229,35 @@ function AppShell({ version, ctx, onResult }) {
|
|
|
276
229
|
if (target)
|
|
277
230
|
setActiveTab(target);
|
|
278
231
|
}, { isActive: true });
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
exit();
|
|
282
|
-
}, onToast: pushToast, onAlertChange: setStatusAlert, recentEvents: activity })) : null, activeTab === "workflow" ? (_jsx(WorkflowTab, { ctx: ctx, isActive: true, activePhase: activePhase })) : null, activeTab === "project" ? (_jsx(ProjectTab, { ctx: ctx, isActive: true, onRunAction: runAction })) : null, activeTab === "mcp" ? (_jsx(McpTab, { ctx: ctx, isActive: true, onToast: pushToast })) : null, activeTab === "skills" ? (_jsx(SkillsTab, { ctx: ctx, isActive: true, version: version, onToast: pushToast })) : null] })) }), _jsx(HomeFooter, { context: paletteOpen ? "palette" : "tab" })] }), _jsx(ToastStack, { toasts: toasts })] }));
|
|
232
|
+
const hasNotifs = notifications.length > 0;
|
|
233
|
+
return (_jsx(ScreenFrame, { children: _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsx(HomeHeader, { brand: projectName, version: version, workspaceContext: workspaceCtx }), _jsx(NotificationStack, { items: notifications }), _jsx(TabBar, { activeTabId: activeTab }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, borderStyle: "single", borderColor: colors.accent, paddingX: 2, paddingY: 1, children: [activeTab === "status" ? (_jsx(StatusTab, { ctx: ctx, version: version, isActive: true, onActivateTab: (t) => setActiveTab(t), onToast: pushToast, recentEvents: activity })) : null, activeTab === "workflow" ? (_jsx(WorkflowTab, { ctx: ctx, isActive: true, activePhase: activePhase })) : null, activeTab === "project" ? (_jsx(ProjectTab, { ctx: ctx, isActive: true, onRunAction: runAction })) : null, activeTab === "mcp" ? _jsx(McpTab, { ctx: ctx, isActive: true, onToast: pushToast }) : null, activeTab === "skills" ? (_jsx(SkillsTab, { ctx: ctx, isActive: true, version: version, onToast: pushToast })) : null] }), _jsx(HomeFooter, { showDismiss: hasNotifs })] }) }));
|
|
283
234
|
}
|
|
284
|
-
|
|
235
|
+
/**
|
|
236
|
+
* Resuelve el nombre del proyecto a mostrar en el header.
|
|
237
|
+
* Prioridad: `package.json#name` (sin scope `@org/`) → `basename(cwd)`.
|
|
238
|
+
* Cualquier error de lectura/parsing cae al fallback de basename.
|
|
239
|
+
*/
|
|
240
|
+
async function resolveProjectName(ctx) {
|
|
285
241
|
const cwd = ctx.env.cwd();
|
|
286
|
-
// Mode + name: best-effort detection. Default agent-workflow.
|
|
287
|
-
let modeLabel = "agent-workflow · single-repo";
|
|
288
242
|
try {
|
|
289
|
-
const
|
|
290
|
-
if (
|
|
291
|
-
|
|
243
|
+
const pkgPath = `${cwd}/package.json`;
|
|
244
|
+
if (await ctx.fs.exists(pkgPath)) {
|
|
245
|
+
const raw = await ctx.fs.readText(pkgPath);
|
|
246
|
+
const pkg = JSON.parse(raw);
|
|
247
|
+
const name = (pkg.name ?? "").trim();
|
|
248
|
+
if (name) {
|
|
249
|
+
const slash = name.lastIndexOf("/");
|
|
250
|
+
return slash >= 0 ? name.slice(slash + 1) : name;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
292
253
|
}
|
|
293
254
|
catch {
|
|
294
|
-
//
|
|
255
|
+
// fallback abajo
|
|
295
256
|
}
|
|
257
|
+
return basename(cwd) || "workspace";
|
|
258
|
+
}
|
|
259
|
+
async function loadWorkspaceContext(ctx) {
|
|
260
|
+
const cwd = ctx.env.cwd();
|
|
296
261
|
// Branch + sync
|
|
297
262
|
let branchLabel = "— · no git";
|
|
298
263
|
try {
|
|
@@ -332,7 +297,7 @@ async function loadWorkspaceContext(ctx) {
|
|
|
332
297
|
catch {
|
|
333
298
|
// keep default
|
|
334
299
|
}
|
|
335
|
-
return {
|
|
300
|
+
return { branchLabel, sessionsLabel };
|
|
336
301
|
}
|
|
337
302
|
/**
|
|
338
303
|
* Mapea fase de sesión activa (planning/execution/validation/closure) al
|
package/dist/cli/tui/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/cli/tui/app.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-feed.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/activity-feed.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4BD,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"activity-feed.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/activity-feed.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAExF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4BD,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CA4BzE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Text } from "ink";
|
|
3
3
|
import { colors } from "../theme.js";
|
|
4
|
-
const MAX_TEXT_LENGTH =
|
|
4
|
+
const MAX_TEXT_LENGTH = 80;
|
|
5
5
|
function tone(t) {
|
|
6
6
|
switch (t) {
|
|
7
7
|
case "ok":
|
|
@@ -30,6 +30,6 @@ export function ActivityFeed({ events, cap, emptyHint }) {
|
|
|
30
30
|
if (!list.length) {
|
|
31
31
|
return _jsx(Text, { color: colors.faint, children: emptyHint ?? " (no recent activity)" });
|
|
32
32
|
}
|
|
33
|
-
return (_jsx(Box, { flexDirection: "column", children: list.map((e) => (_jsxs(Box, { children: [_jsx(Box, { width:
|
|
33
|
+
return (_jsx(Box, { flexDirection: "column", children: list.map((e) => (_jsxs(Box, { children: [_jsx(Box, { width: 10, flexShrink: 0, children: _jsx(Text, { color: colors.dim, wrap: "truncate-end", children: e.when }) }), _jsx(Text, { color: tone(e.dotColor), children: "\u25CF " }), _jsx(Text, { color: colors.text, children: truncate(e.text, MAX_TEXT_LENGTH) }), e.meta ? (_jsxs(_Fragment, { children: [_jsx(Box, { flexGrow: 1, children: _jsx(Text, { children: " " }) }), _jsx(Text, { color: tone(e.metaTone ?? "dim"), children: e.meta })] })) : null] }, e.id))) }));
|
|
34
34
|
}
|
|
35
35
|
//# sourceMappingURL=activity-feed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-feed.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/activity-feed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAmBrC,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,SAAS,IAAI,CAAC,CAAe;IAC3B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,IAAI;YACP,OAAO,MAAM,CAAC,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,CAAC;QACpB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAW;IACzC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAqB;IACxE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YAAG,SAAS,IAAI,wBAAwB,GAAQ,CAAC;IACnF,CAAC;IACD,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACf,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"activity-feed.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/activity-feed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAmBrC,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,SAAS,IAAI,CAAC,CAAe;IAC3B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,IAAI;YACP,OAAO,MAAM,CAAC,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,CAAC;QACpB,KAAK,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAW;IACzC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAqB;IACxE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YAAG,SAAS,IAAI,wBAAwB,GAAQ,CAAC;IACnF,CAAC;IACD,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACf,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,YAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,EAAC,cAAc,YACzC,CAAC,CAAC,IAAI,GACF,GACH,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAW,EACxC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,GAAQ,EACnE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACR,8BACE,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,oBAAS,GACV,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAG,CAAC,CAAC,IAAI,GAAQ,IACtD,CACJ,CAAC,CAAC,CAAC,IAAI,KAfA,CAAC,CAAC,EAAE,CAgBR,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/command-palette.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC;CAClE;AAID,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../../../../src/cli/tui/components/command-palette.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC;CAClE;AAID,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CA6E/E"}
|
|
@@ -14,10 +14,10 @@ export function CommandPalette({ filter, commands, cursor }) {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
let runningIdx = 0;
|
|
17
|
-
return (_jsxs(Box, { flexDirection: "column",
|
|
17
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", marginBottom: 1, children: [_jsx(Text, { color: colors.mute, children: "search " }), _jsxs(Text, { color: colors.accent, bold: true, children: ["\u203A", " "] }), filter ? (_jsx(Text, { color: colors.bright, children: filter })) : (_jsx(Text, { color: colors.faint, children: PLACEHOLDER })), _jsx(Text, { color: colors.accent, children: icons.caret }), _jsx(Box, { flexGrow: 1 }), _jsxs(Text, { color: colors.mute, children: [commands.length, " match", commands.length === 1 ? "" : "es"] })] }), _jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.borderFaint, children: "─".repeat(70) }) }), commands.length === 0 ? (_jsxs(Text, { color: colors.dim, children: ["No matches for \"", filter || "…", "\"."] })) : null, groups.map((g) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: colors.mute, children: g.category.toUpperCase() }), g.rows.map((c) => {
|
|
18
18
|
const idx = runningIdx++;
|
|
19
19
|
const active = idx === cursor;
|
|
20
20
|
return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: active ? colors.accent : colors.faint, children: active ? icons.focusBar : " " }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: active ? colors.accent : colors.bright, bold: active, children: c.label }) }), c.hint ? (_jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: colors.dim, children: c.hint }) })) : null, c.alert ? (_jsx(Box, { marginLeft: 1, children: _jsx(Text, { color: colors.err, children: "\u25CF" }) })) : null] }, c.id));
|
|
21
|
-
})] }, g.category)))
|
|
21
|
+
})] }, g.category)))] }));
|
|
22
22
|
}
|
|
23
23
|
//# sourceMappingURL=command-palette.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/command-palette.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAiB5C,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAuB;IAC9E,MAAM,MAAM,GAAwD,EAAE,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../../../src/cli/tui/components/command-palette.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAiB5C,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAuB;IAC9E,MAAM,MAAM,GAAwD,EAAE,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAEzB,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,YAAY,EAAE,CAAC,aACtC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,wBAAgB,EACxC,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,6BAC5B,GAAG,IACA,EACN,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,YAAG,MAAM,GAAQ,CAC5C,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,YAAG,WAAW,GAAQ,CAChD,EACD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,YAAG,KAAK,CAAC,KAAK,GAAQ,EAChD,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EACpB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,aACrB,QAAQ,CAAC,MAAM,YAAQ,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IACpD,IACH,EACN,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,WAAW,YAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,GACpD,EAGL,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACvB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,kCAAmB,MAAM,IAAI,GAAG,WAAU,CAClE,CAAC,CAAC,CAAC,IAAI,EAGP,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,MAAC,GAAG,IAAkB,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAC1D,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAQ,EAC1D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAChB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;wBACzB,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,CAAC;wBAC9B,OAAO,CACL,MAAC,GAAG,IAAY,aAAa,EAAC,KAAK,aACjC,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,YAC/C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GACzB,GACH,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,YAC9D,CAAC,CAAC,KAAK,GACH,GACH,EACL,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACR,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,YAAG,CAAC,CAAC,IAAI,GAAQ,GACpC,CACP,CAAC,CAAC,CAAC,IAAI,EACP,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACT,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,GAAG,uBAAU,GAC7B,CACP,CAAC,CAAC,CAAC,IAAI,KApBA,CAAC,CAAC,EAAE,CAqBR,CACP,CAAC;oBACJ,CAAC,CAAC,KA7BM,CAAC,CAAC,QAAQ,CA8Bd,CACP,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
|