@wukonglabs/wukong 0.0.19 → 0.0.21
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/cli/help.js +1 -1
- package/dist/cli/session-commands.d.ts.map +1 -1
- package/dist/cli/session-commands.js +4 -3
- package/dist/cli/session-commands.js.map +1 -1
- package/dist/index.js +73 -12
- package/dist/index.js.map +1 -1
- package/dist/tui/activity-verb.d.ts +29 -0
- package/dist/tui/activity-verb.d.ts.map +1 -0
- package/dist/tui/activity-verb.js +81 -0
- package/dist/tui/activity-verb.js.map +1 -0
- package/dist/tui/app.d.ts +29 -28
- package/dist/tui/app.d.ts.map +1 -1
- package/dist/tui/app.js +259 -132
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/diff-count.d.ts +14 -0
- package/dist/tui/diff-count.d.ts.map +1 -0
- package/dist/tui/diff-count.js +21 -0
- package/dist/tui/diff-count.js.map +1 -0
- package/dist/tui/hint-bar.d.ts +12 -0
- package/dist/tui/hint-bar.d.ts.map +1 -0
- package/dist/tui/hint-bar.js +14 -0
- package/dist/tui/hint-bar.js.map +1 -0
- package/dist/tui/history-entry.d.ts +11 -0
- package/dist/tui/history-entry.d.ts.map +1 -0
- package/dist/tui/history-entry.js +35 -0
- package/dist/tui/history-entry.js.map +1 -0
- package/dist/tui/history-item.d.ts +40 -0
- package/dist/tui/history-item.d.ts.map +1 -0
- package/dist/tui/history-item.js +8 -0
- package/dist/tui/history-item.js.map +1 -0
- package/dist/tui/keys-help.d.ts +5 -0
- package/dist/tui/keys-help.d.ts.map +1 -0
- package/dist/tui/keys-help.js +36 -0
- package/dist/tui/keys-help.js.map +1 -0
- package/dist/tui/live-block.d.ts +54 -0
- package/dist/tui/live-block.d.ts.map +1 -0
- package/dist/tui/live-block.js +72 -0
- package/dist/tui/live-block.js.map +1 -0
- package/dist/tui/main-area.d.ts +40 -0
- package/dist/tui/main-area.d.ts.map +1 -0
- package/dist/tui/main-area.js +9 -0
- package/dist/tui/main-area.js.map +1 -0
- package/dist/tui/markdown.d.ts +14 -0
- package/dist/tui/markdown.d.ts.map +1 -0
- package/dist/tui/markdown.js +134 -0
- package/dist/tui/markdown.js.map +1 -0
- package/dist/tui/notice-panel.d.ts +20 -0
- package/dist/tui/notice-panel.d.ts.map +1 -0
- package/dist/tui/notice-panel.js +19 -0
- package/dist/tui/notice-panel.js.map +1 -0
- package/dist/tui/response-panel.d.ts +12 -16
- package/dist/tui/response-panel.d.ts.map +1 -1
- package/dist/tui/response-panel.js +8 -11
- package/dist/tui/response-panel.js.map +1 -1
- package/dist/tui/run-ink.d.ts +12 -0
- package/dist/tui/run-ink.d.ts.map +1 -1
- package/dist/tui/run-ink.js +2 -1
- package/dist/tui/run-ink.js.map +1 -1
- package/dist/tui/slash/menu.d.ts +16 -0
- package/dist/tui/slash/menu.d.ts.map +1 -0
- package/dist/tui/slash/menu.js +11 -0
- package/dist/tui/slash/menu.js.map +1 -0
- package/dist/tui/slash/parse.d.ts +21 -0
- package/dist/tui/slash/parse.d.ts.map +1 -0
- package/dist/tui/slash/parse.js +32 -0
- package/dist/tui/slash/parse.js.map +1 -0
- package/dist/tui/slash/registry.d.ts +20 -0
- package/dist/tui/slash/registry.d.ts.map +1 -0
- package/dist/tui/slash/registry.js +28 -0
- package/dist/tui/slash/registry.js.map +1 -0
- package/dist/tui/spinner.d.ts +11 -0
- package/dist/tui/spinner.d.ts.map +1 -0
- package/dist/tui/spinner.js +21 -0
- package/dist/tui/spinner.js.map +1 -0
- package/dist/tui/status-bar.d.ts +42 -0
- package/dist/tui/status-bar.d.ts.map +1 -0
- package/dist/tui/status-bar.js +32 -0
- package/dist/tui/status-bar.js.map +1 -0
- package/dist/tui/tail-visual.d.ts +11 -0
- package/dist/tui/tail-visual.d.ts.map +1 -0
- package/dist/tui/tail-visual.js +30 -0
- package/dist/tui/tail-visual.js.map +1 -0
- package/dist/tui/text-input.d.ts +20 -22
- package/dist/tui/text-input.d.ts.map +1 -1
- package/dist/tui/text-input.js +211 -81
- package/dist/tui/text-input.js.map +1 -1
- package/dist/tui/theme/context.d.ts +16 -0
- package/dist/tui/theme/context.d.ts.map +1 -0
- package/dist/tui/theme/context.js +28 -0
- package/dist/tui/theme/context.js.map +1 -0
- package/dist/tui/theme/persist.d.ts +11 -0
- package/dist/tui/theme/persist.d.ts.map +1 -0
- package/dist/tui/theme/persist.js +41 -0
- package/dist/tui/theme/persist.js.map +1 -0
- package/dist/tui/theme/theme.d.ts +26 -0
- package/dist/tui/theme/theme.d.ts.map +1 -0
- package/dist/tui/theme/theme.js +51 -0
- package/dist/tui/theme/theme.js.map +1 -0
- package/dist/tui/thinking-panel.d.ts +11 -20
- package/dist/tui/thinking-panel.d.ts.map +1 -1
- package/dist/tui/thinking-panel.js +29 -7
- package/dist/tui/thinking-panel.js.map +1 -1
- package/dist/tui/tool-cards.d.ts +5 -17
- package/dist/tui/tool-cards.d.ts.map +1 -1
- package/dist/tui/tool-cards.js +4 -5
- package/dist/tui/tool-cards.js.map +1 -1
- package/dist/tui/tool-summary.d.ts +2 -0
- package/dist/tui/tool-summary.d.ts.map +1 -0
- package/dist/tui/tool-summary.js +93 -0
- package/dist/tui/tool-summary.js.map +1 -0
- package/dist/tui/use-elapsed.d.ts +2 -0
- package/dist/tui/use-elapsed.d.ts.map +1 -0
- package/dist/tui/use-elapsed.js +22 -0
- package/dist/tui/use-elapsed.js.map +1 -0
- package/dist/tui/use-plan-state.d.ts +20 -1
- package/dist/tui/use-plan-state.d.ts.map +1 -1
- package/dist/tui/use-plan-state.js +52 -46
- package/dist/tui/use-plan-state.js.map +1 -1
- package/dist/tui/use-terminal-width.d.ts +2 -0
- package/dist/tui/use-terminal-width.d.ts.map +1 -0
- package/dist/tui/use-terminal-width.js +23 -0
- package/dist/tui/use-terminal-width.js.map +1 -0
- package/dist/tui/use-viewport.d.ts +15 -0
- package/dist/tui/use-viewport.d.ts.map +1 -0
- package/dist/tui/use-viewport.js +37 -0
- package/dist/tui/use-viewport.js.map +1 -0
- package/dist/tui/welcome.d.ts +29 -0
- package/dist/tui/welcome.d.ts.map +1 -0
- package/dist/tui/welcome.js +41 -0
- package/dist/tui/welcome.js.map +1 -0
- package/package.json +3 -2
- package/dist/tui/header.d.ts +0 -24
- package/dist/tui/header.d.ts.map +0 -1
- package/dist/tui/header.js +0 -26
- package/dist/tui/header.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../src/tui/text-input.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../src/tui/text-input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 主题 Context(M6)。ThemeProvider 包在 App 最外层;
|
|
3
|
+
* 子组件用 useTheme() 取当前主题颜色 + setThemeName(/theme 命令调用)。
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { Theme, ThemeName } from './theme.js';
|
|
7
|
+
export interface ThemeContextValue {
|
|
8
|
+
theme: Theme;
|
|
9
|
+
themeName: ThemeName;
|
|
10
|
+
setThemeName: (n: ThemeName) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function ThemeProvider({ children }: {
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}): React.ReactElement;
|
|
15
|
+
export declare function useTheme(): ThemeContextValue;
|
|
16
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/tui/theme/context.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAuB,MAAM,YAAY,CAAC;AAGnE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AAID,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAgB7F;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAK5C"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* 主题 Context(M6)。ThemeProvider 包在 App 最外层;
|
|
4
|
+
* 子组件用 useTheme() 取当前主题颜色 + setThemeName(/theme 命令调用)。
|
|
5
|
+
*/
|
|
6
|
+
import { createContext, useContext, useState, useCallback } from 'react';
|
|
7
|
+
import { THEMES, isThemeName } from './theme.js';
|
|
8
|
+
import { readThemeName, writeThemeName } from './persist.js';
|
|
9
|
+
const Ctx = createContext(null);
|
|
10
|
+
export function ThemeProvider({ children }) {
|
|
11
|
+
const [themeName, setThemeNameState] = useState(() => {
|
|
12
|
+
const saved = readThemeName();
|
|
13
|
+
return isThemeName(saved) ? saved : 'dark';
|
|
14
|
+
});
|
|
15
|
+
const setThemeName = useCallback((n) => {
|
|
16
|
+
setThemeNameState(n);
|
|
17
|
+
writeThemeName(n);
|
|
18
|
+
}, []);
|
|
19
|
+
return (_jsx(Ctx.Provider, { value: { theme: THEMES[themeName], themeName, setThemeName }, children: children }));
|
|
20
|
+
}
|
|
21
|
+
export function useTheme() {
|
|
22
|
+
const v = useContext(Ctx);
|
|
23
|
+
if (v)
|
|
24
|
+
return v;
|
|
25
|
+
// 无 Provider 时降级为 dark(便于单测 / 间接渲染)
|
|
26
|
+
return { theme: THEMES.dark, themeName: 'dark', setThemeName: () => { } };
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/tui/theme/context.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AACH,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChF,OAAO,EAAoB,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ7D,MAAM,GAAG,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAC;AAE1D,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAiC;IACvE,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAY,GAAG,EAAE;QAC9D,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAY,EAAE,EAAE;QAChD,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrB,cAAc,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,GAAG,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YACvE,QAAQ,GACI,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAChB,oCAAoC;IACpC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const WUKONG_CONFIG_DIR: string;
|
|
2
|
+
export declare const WUKONG_CONFIG_PATH: string;
|
|
3
|
+
export interface WukongConfig {
|
|
4
|
+
theme?: string;
|
|
5
|
+
[k: string]: unknown;
|
|
6
|
+
}
|
|
7
|
+
export declare function readConfig(): WukongConfig;
|
|
8
|
+
export declare function writeConfig(cfg: WukongConfig): void;
|
|
9
|
+
export declare function readThemeName(): string | undefined;
|
|
10
|
+
export declare function writeThemeName(name: string): void;
|
|
11
|
+
//# sourceMappingURL=persist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persist.d.ts","sourceRoot":"","sources":["../../../src/tui/theme/persist.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,kBAAkB,QAAyC,CAAC;AAEzE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,wBAAgB,UAAU,IAAI,YAAY,CASzC;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAOnD;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAElD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIjD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 主题持久化(M6):读写 ~/.wukong/config.json 的 `theme` 字段。
|
|
3
|
+
*
|
|
4
|
+
* 任何异常(文件缺失 / 损坏 / 无权限)都静默降级,绝不崩溃 TUI。
|
|
5
|
+
*/
|
|
6
|
+
import { homedir } from 'node:os';
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
9
|
+
export const WUKONG_CONFIG_DIR = join(homedir(), '.wukong');
|
|
10
|
+
export const WUKONG_CONFIG_PATH = join(WUKONG_CONFIG_DIR, 'config.json');
|
|
11
|
+
export function readConfig() {
|
|
12
|
+
try {
|
|
13
|
+
if (!existsSync(WUKONG_CONFIG_PATH))
|
|
14
|
+
return {};
|
|
15
|
+
const raw = readFileSync(WUKONG_CONFIG_PATH, 'utf8');
|
|
16
|
+
const parsed = JSON.parse(raw);
|
|
17
|
+
return parsed && typeof parsed === 'object' ? parsed : {};
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return {};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function writeConfig(cfg) {
|
|
24
|
+
try {
|
|
25
|
+
if (!existsSync(WUKONG_CONFIG_DIR))
|
|
26
|
+
mkdirSync(WUKONG_CONFIG_DIR, { recursive: true });
|
|
27
|
+
writeFileSync(WUKONG_CONFIG_PATH, JSON.stringify(cfg, null, 2), 'utf8');
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// 写坏 config 不应崩溃 TUI
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function readThemeName() {
|
|
34
|
+
return readConfig().theme;
|
|
35
|
+
}
|
|
36
|
+
export function writeThemeName(name) {
|
|
37
|
+
const cfg = readConfig();
|
|
38
|
+
cfg.theme = name;
|
|
39
|
+
writeConfig(cfg);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=persist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persist.js","sourceRoot":"","sources":["../../../src/tui/theme/persist.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAOzE,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YAAE,OAAO,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAiB;IAC3C,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAAE,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;IACjB,WAAW,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 主题定义(M6)。内置 dark / light / mono 三套。
|
|
3
|
+
*
|
|
4
|
+
* mono 全部为 undefined → Ink 不应用颜色(纯字符 UI)。
|
|
5
|
+
* 其他组件通过 useTheme() 取对应字段作为 `color` 值。
|
|
6
|
+
*/
|
|
7
|
+
export type ThemeName = 'dark' | 'light' | 'mono';
|
|
8
|
+
export interface Theme {
|
|
9
|
+
name: ThemeName;
|
|
10
|
+
userPrompt: string;
|
|
11
|
+
assistant: string;
|
|
12
|
+
toolRunning: string;
|
|
13
|
+
toolDone: string;
|
|
14
|
+
toolFailed: string;
|
|
15
|
+
planCurrent: string;
|
|
16
|
+
planDone: string;
|
|
17
|
+
planPending: string;
|
|
18
|
+
thinking: string;
|
|
19
|
+
status: string;
|
|
20
|
+
border: string;
|
|
21
|
+
/** 次级文字颜色(用于提示 / 摘要) */
|
|
22
|
+
dim: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const THEMES: Record<ThemeName, Theme>;
|
|
25
|
+
export declare function isThemeName(v: unknown): v is ThemeName;
|
|
26
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/tui/theme/theme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CA8C3C,CAAC;AAEF,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,SAAS,CAEtD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export const THEMES = {
|
|
2
|
+
dark: {
|
|
3
|
+
name: 'dark',
|
|
4
|
+
userPrompt: 'green',
|
|
5
|
+
assistant: 'cyan',
|
|
6
|
+
toolRunning: 'yellow',
|
|
7
|
+
toolDone: 'green',
|
|
8
|
+
toolFailed: 'red',
|
|
9
|
+
planCurrent: 'yellow',
|
|
10
|
+
planDone: 'green',
|
|
11
|
+
planPending: 'gray',
|
|
12
|
+
thinking: 'magenta',
|
|
13
|
+
status: 'cyan',
|
|
14
|
+
border: 'gray',
|
|
15
|
+
dim: 'gray',
|
|
16
|
+
},
|
|
17
|
+
light: {
|
|
18
|
+
name: 'light',
|
|
19
|
+
userPrompt: 'green',
|
|
20
|
+
assistant: 'blue',
|
|
21
|
+
toolRunning: 'yellow',
|
|
22
|
+
toolDone: 'green',
|
|
23
|
+
toolFailed: 'red',
|
|
24
|
+
planCurrent: 'yellow',
|
|
25
|
+
planDone: 'green',
|
|
26
|
+
planPending: 'gray',
|
|
27
|
+
thinking: 'magenta',
|
|
28
|
+
status: 'blue',
|
|
29
|
+
border: 'gray',
|
|
30
|
+
dim: 'gray',
|
|
31
|
+
},
|
|
32
|
+
mono: {
|
|
33
|
+
name: 'mono',
|
|
34
|
+
userPrompt: undefined,
|
|
35
|
+
assistant: undefined,
|
|
36
|
+
toolRunning: undefined,
|
|
37
|
+
toolDone: undefined,
|
|
38
|
+
toolFailed: undefined,
|
|
39
|
+
planCurrent: undefined,
|
|
40
|
+
planDone: undefined,
|
|
41
|
+
planPending: undefined,
|
|
42
|
+
thinking: undefined,
|
|
43
|
+
status: undefined,
|
|
44
|
+
border: undefined,
|
|
45
|
+
dim: undefined,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
export function isThemeName(v) {
|
|
49
|
+
return v === 'dark' || v === 'light' || v === 'mono';
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/tui/theme/theme.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,MAAM,MAAM,GAA6B;IAC9C,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,MAAM;KACZ;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,MAAM;KACZ;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,SAA8B;QAC1C,SAAS,EAAE,SAA8B;QACzC,WAAW,EAAE,SAA8B;QAC3C,QAAQ,EAAE,SAA8B;QACxC,UAAU,EAAE,SAA8B;QAC1C,WAAW,EAAE,SAA8B;QAC3C,QAAQ,EAAE,SAA8B;QACxC,WAAW,EAAE,SAA8B;QAC3C,QAAQ,EAAE,SAA8B;QACxC,MAAM,EAAE,SAA8B;QACtC,MAAM,EAAE,SAA8B;QACtC,GAAG,EAAE,SAA8B;KACpC;CACF,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,OAAO,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,MAAM,CAAC;AACvD,CAAC"}
|
|
@@ -1,32 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Thinking panel —— 渲染 agent 的思考过程摘要(thinking_delta)。
|
|
3
3
|
*
|
|
4
|
-
* ##
|
|
4
|
+
* ## 历史
|
|
5
|
+
* - M7:thinking 折叠为 1 行摘要,`/think` 把完整内容推进 <Static>。
|
|
6
|
+
* - 24-tui-redesign-viewport.md:busy 时按 tailLines 展开尾部 N 行,避免"黑箱"。
|
|
5
7
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* **永远折叠为 1 行摘要**,不再支持 `t` 键展开。
|
|
12
|
-
*
|
|
13
|
-
* 原因:动态区高度硬约束(见 App.tsx)。thinking 展开可能有几千字符,
|
|
14
|
-
* 一旦动态区高度超过终端可视高度,Ink 的重绘就会失败(vscode 内嵌终端里
|
|
15
|
-
* 表现为满屏空线框)。thinking 完整内容可通过 session trace 文件查看。
|
|
16
|
-
*
|
|
17
|
-
* `expanded` prop 保留是为了未来"展开时打进 <Static>"的扩展预留;
|
|
18
|
-
* `onToggleExpand` 已废弃,当前 App 也不再传入。
|
|
8
|
+
* ## 渲染分支
|
|
9
|
+
* - `expanded=true`:显示完整内容(受控,供 `/think` 之外的未来用法)。
|
|
10
|
+
* - `tailLines >= 2`:折叠状态下显示尾部 N 行 + 提示。
|
|
11
|
+
* - 其他:1 行摘要(原行为),含 `/think` 提示。
|
|
19
12
|
*/
|
|
20
13
|
import React from 'react';
|
|
21
14
|
export interface ThinkingPanelProps {
|
|
22
|
-
/** 当前累积的思考内容 */
|
|
23
15
|
thinking: string;
|
|
24
|
-
/** 是否正在流式接收 thinking */
|
|
25
16
|
streaming: boolean;
|
|
26
|
-
/** 是否展开(受控)
|
|
17
|
+
/** 是否展开(受控);显示完整内容 */
|
|
27
18
|
expanded?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
|
|
19
|
+
/** 折叠状态下展示尾部行数;>=2 时显示尾部 tailLines 行(替代永远 1 行黑箱) */
|
|
20
|
+
tailLines?: number;
|
|
30
21
|
}
|
|
31
|
-
export declare function ThinkingPanel({ thinking, streaming, expanded, }: ThinkingPanelProps): React.ReactElement | null;
|
|
22
|
+
export declare function ThinkingPanel({ thinking, streaming, expanded, tailLines, }: ThinkingPanelProps): React.ReactElement | null;
|
|
32
23
|
//# sourceMappingURL=thinking-panel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thinking-panel.d.ts","sourceRoot":"","sources":["../../src/tui/thinking-panel.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"thinking-panel.d.ts","sourceRoot":"","sources":["../../src/tui/thinking-panel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,QAAgB,EAChB,SAAa,GACd,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAwChD"}
|
|
@@ -1,14 +1,36 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Thinking panel —— 渲染 agent 的思考过程摘要(thinking_delta)。
|
|
4
|
+
*
|
|
5
|
+
* ## 历史
|
|
6
|
+
* - M7:thinking 折叠为 1 行摘要,`/think` 把完整内容推进 <Static>。
|
|
7
|
+
* - 24-tui-redesign-viewport.md:busy 时按 tailLines 展开尾部 N 行,避免"黑箱"。
|
|
8
|
+
*
|
|
9
|
+
* ## 渲染分支
|
|
10
|
+
* - `expanded=true`:显示完整内容(受控,供 `/think` 之外的未来用法)。
|
|
11
|
+
* - `tailLines >= 2`:折叠状态下显示尾部 N 行 + 提示。
|
|
12
|
+
* - 其他:1 行摘要(原行为),含 `/think` 提示。
|
|
13
|
+
*/
|
|
14
|
+
import { useMemo } from 'react';
|
|
2
15
|
import { Box, Text } from 'ink';
|
|
3
|
-
export function ThinkingPanel({ thinking, streaming, expanded = false, }) {
|
|
4
|
-
// 无内容 → 不渲染
|
|
16
|
+
export function ThinkingPanel({ thinking, streaming, expanded = false, tailLines = 0, }) {
|
|
5
17
|
if (!thinking)
|
|
6
18
|
return null;
|
|
7
19
|
const icon = '💭';
|
|
8
|
-
|
|
9
|
-
|
|
20
|
+
// 受控展开:完整内容(顶部由 LiveBlock 活动行承担 "正在做什么" 状态,
|
|
21
|
+
// 这里只放思考内容本身,不再重复 Thinking 字样)
|
|
22
|
+
if (expanded) {
|
|
23
|
+
return (_jsx(Box, { flexDirection: "column", children: _jsx(Text, { color: "magenta", dimColor: true, children: thinking }) }));
|
|
10
24
|
}
|
|
11
|
-
//
|
|
12
|
-
|
|
25
|
+
// 折叠 + 尾部展开(>=2 行):显示末尾 tailLines 行
|
|
26
|
+
// 头部仅保留图标 + 字符数 + /think 展开提示,与 LiveBlock 活动行职责分离.
|
|
27
|
+
if (tailLines >= 2) {
|
|
28
|
+
// thinking 文本可能很长,每个 token 都会触发重渲染;
|
|
29
|
+
// useMemo 缓存 split/slice/join 的结果,避免每次重渲染都全量重切.
|
|
30
|
+
const tail = useMemo(() => thinking.split('\n').slice(-tailLines).join('\n'), [thinking, tailLines]);
|
|
31
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: `${icon} ${thinking.length} 字符 · /think 展开` }), tail.split('\n').map((line, i) => (_jsx(Text, { color: "magenta", dimColor: true, children: `│ ${line}` }, i)))] }));
|
|
32
|
+
}
|
|
33
|
+
// 默认:1 行摘要(无 tail 展开)
|
|
34
|
+
return (_jsx(Box, { children: _jsx(Text, { dimColor: true, children: `${icon} ${thinking.length} 字符 · /think 展开` }) }));
|
|
13
35
|
}
|
|
14
36
|
//# sourceMappingURL=thinking-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thinking-panel.js","sourceRoot":"","sources":["../../src/tui/thinking-panel.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"thinking-panel.js","sourceRoot":"","sources":["../../src/tui/thinking-panel.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AACH,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAWhC,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,CAAC,GACM;IACnB,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,IAAI,GAAG,IAAI,CAAC;IAElB,4CAA4C;IAC5C,+BAA+B;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,kBAAE,QAAQ,GAAQ,GAC5C,CACP,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,mDAAmD;IACnD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,oCAAoC;QACpC,gDAAgD;QAChD,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACvD,CAAC,QAAQ,EAAE,SAAS,CAAC,CACtB,CAAC;QACF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,IAAI,IAAI,QAAQ,CAAC,MAAM,iBAAiB,GAAQ,EAClE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACjC,KAAC,IAAI,IAAS,KAAK,EAAC,SAAS,EAAC,QAAQ,kBAAE,KAAK,IAAI,EAAE,IAAxC,CAAC,CAA+C,CAC5D,CAAC,IACE,CACP,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,OAAO,CACL,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,IAAI,IAAI,QAAQ,CAAC,MAAM,iBAAiB,GAAQ,GAC/D,CACP,CAAC;AACJ,CAAC"}
|
package/dist/tui/tool-cards.d.ts
CHANGED
|
@@ -1,27 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Tool cards ——
|
|
2
|
+
* Tool cards —— 每个工具调用一张卡片,展示"人话摘要" + 状态/耗时。
|
|
3
3
|
*
|
|
4
|
-
* ##
|
|
4
|
+
* ## M4 改造
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* ## 折叠
|
|
11
|
-
*
|
|
12
|
-
* 并行工具超过 `maxVisible`(默认 5)时,只展示最近 N 个 + "还有 X 个" 折叠提示。
|
|
13
|
-
* 避免一次 15 个 read_file 把终端刷爆(§3.1 性能预算)。
|
|
14
|
-
*
|
|
15
|
-
* ## 状态
|
|
16
|
-
*
|
|
17
|
-
* - ⏳ running(黄色)
|
|
18
|
-
* - ✓ done(绿色)
|
|
19
|
-
* - ✗ failed(红色)
|
|
6
|
+
* - ToolCardRow 调用 `summarizeTool(name, argsJson, resultPreview)` 生成一行摘要
|
|
7
|
+
* (Read path / Grep "pattern" / Edit path (+N -M) / $ command …)。
|
|
8
|
+
* - `argsJson` 来自 EventBus `tool_call_start`(SDK 已提供),App 透传到 ToolCallState。
|
|
20
9
|
*/
|
|
21
10
|
import React from 'react';
|
|
22
11
|
import type { ToolCallState } from './response-panel.js';
|
|
23
12
|
export interface ToolCardsProps {
|
|
24
|
-
/** 活跃 + 最近完成的 tool call(已完成但未过期的) */
|
|
25
13
|
tools: ToolCallState[];
|
|
26
14
|
/** 最大可见卡片数;超出折叠(默认 5) */
|
|
27
15
|
maxVisible?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-cards.d.ts","sourceRoot":"","sources":["../../src/tui/tool-cards.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tool-cards.d.ts","sourceRoot":"","sources":["../../src/tui/tool-cards.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,UAAc,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAqB9F"}
|
package/dist/tui/tool-cards.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
|
+
import { summarizeTool } from './tool-summary.js';
|
|
3
4
|
export function ToolCards({ tools, maxVisible = 5 }) {
|
|
4
5
|
if (tools.length === 0)
|
|
5
6
|
return null;
|
|
6
|
-
// 按开始时间排序,最近在前
|
|
7
7
|
const sorted = [...tools].sort((a, b) => b.startedAt - a.startedAt);
|
|
8
8
|
const visible = sorted.slice(0, maxVisible);
|
|
9
9
|
const hidden = sorted.length - visible.length;
|
|
10
|
-
return (_jsxs(Box, { flexDirection: "column",
|
|
10
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { dimColor: true, bold: true, children: "\uD83D\uDD27 Tools" }), visible.map((t, i) => (_jsx(Box, { marginTop: i === 0 ? 0 : 1, children: _jsx(ToolCardRow, { tool: t }) }, t.toolCallId))), hidden > 0 && (_jsxs(Text, { dimColor: true, children: [" \u2026 \u8FD8\u6709 ", hidden, " \u4E2A\u5DE5\u5177\u8C03\u7528(\u5DF2\u6298\u53E0)"] }))] }));
|
|
11
11
|
}
|
|
12
12
|
function ToolCardRow({ tool }) {
|
|
13
13
|
const now = Date.now();
|
|
14
14
|
const elapsed = ((tool.endedAt ?? now) - tool.startedAt) / 1000;
|
|
15
15
|
const status = tool.success === undefined ? 'running' : tool.success ? 'done' : 'failed';
|
|
16
16
|
const { icon, color } = statusVisual(status);
|
|
17
|
-
|
|
18
|
-
// running / failed 才展示,便于用户观察当前进度或排查失败原因。
|
|
17
|
+
const summary = summarizeTool(tool.name, tool.argsJson, tool.resultPreview);
|
|
19
18
|
const showPreview = tool.resultPreview && status !== 'done';
|
|
20
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: color, children: icon }), _jsxs(Text, { children: [" \u26A1 ",
|
|
19
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: color, children: icon }), _jsxs(Text, { children: [" \u26A1 ", summary] }), _jsxs(Text, { dimColor: true, children: [" [", elapsed.toFixed(2), "s]"] }), tool.step > 0 && _jsxs(Text, { dimColor: true, children: [" (step ", tool.step, ")"] })] }), showPreview && (_jsxs(Text, { dimColor: true, children: [" \u21B3 ", truncate(tool.resultPreview, 100)] }))] }));
|
|
21
20
|
}
|
|
22
21
|
function statusVisual(status) {
|
|
23
22
|
switch (status) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-cards.js","sourceRoot":"","sources":["../../src/tui/tool-cards.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"tool-cards.js","sourceRoot":"","sources":["../../src/tui/tool-cards.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-summary.d.ts","sourceRoot":"","sources":["../../src/tui/tool-summary.ts"],"names":[],"mappings":"AAyCA,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CA6CR"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 工具调用摘要(纯函数,便于单测)。
|
|
3
|
+
*
|
|
4
|
+
* M4:把 `tool_call_start` 的 name + argumentsJson 转成"人话"一行摘要,
|
|
5
|
+
* 让用户一眼看懂 agent 在干什么(对齐 Claude Code / opencode 的 tool 摘要)。
|
|
6
|
+
*
|
|
7
|
+
* 优先级:
|
|
8
|
+
* 1. 按工具名正则归类到对应摘要模板
|
|
9
|
+
* 2. 从 argumentsJson 里抽取首个有意义的 path/pattern/query/command 参数
|
|
10
|
+
* 3. edit 完成时额外追加 diff(+N -M)(见 diff-count.ts)
|
|
11
|
+
* 4. 任何异常都走兜底:返回原工具名(绝不 crash)
|
|
12
|
+
*/
|
|
13
|
+
import { countDiffLines, formatDiff } from './diff-count.js';
|
|
14
|
+
function tryParseArgs(argsJson) {
|
|
15
|
+
if (!argsJson)
|
|
16
|
+
return undefined;
|
|
17
|
+
try {
|
|
18
|
+
const v = JSON.parse(argsJson);
|
|
19
|
+
return v && typeof v === 'object' ? v : undefined;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function firstStringArg(args, keys) {
|
|
26
|
+
if (!args)
|
|
27
|
+
return undefined;
|
|
28
|
+
for (const k of keys) {
|
|
29
|
+
const v = args[k];
|
|
30
|
+
if (typeof v === 'string' && v.length > 0)
|
|
31
|
+
return v;
|
|
32
|
+
}
|
|
33
|
+
// 兜底:取第一个字符串值
|
|
34
|
+
for (const v of Object.values(args)) {
|
|
35
|
+
if (typeof v === 'string' && v.length > 0)
|
|
36
|
+
return v;
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
function truncate(s, max) {
|
|
41
|
+
return s.length <= max ? s : s.slice(0, max - 1) + '…';
|
|
42
|
+
}
|
|
43
|
+
export function summarizeTool(name, argsJson, resultPreview) {
|
|
44
|
+
try {
|
|
45
|
+
const args = tryParseArgs(argsJson);
|
|
46
|
+
const n = name.toLowerCase();
|
|
47
|
+
if (/^read$|read_file|readfile/.test(n)) {
|
|
48
|
+
return withPath('Read', firstStringArg(args, ['path', 'file_path', 'filePath']));
|
|
49
|
+
}
|
|
50
|
+
if (/^ls$|list_dir|list_files|listdir|listfiles/.test(n)) {
|
|
51
|
+
return withPath('List', firstStringArg(args, ['path', 'dir', 'directory']));
|
|
52
|
+
}
|
|
53
|
+
if (/search_content|grep|searchcontent/.test(n)) {
|
|
54
|
+
return withPath('Grep', firstStringArg(args, ['pattern', 'regex']), '"');
|
|
55
|
+
}
|
|
56
|
+
if (/codebase_search|codebasesearch/.test(n)) {
|
|
57
|
+
const q = firstStringArg(args, ['query']) ?? '';
|
|
58
|
+
return `Search: ${truncate(q, 40)}`.trim();
|
|
59
|
+
}
|
|
60
|
+
if (/search_file|searchfile/.test(n)) {
|
|
61
|
+
return withPath('Find', firstStringArg(args, ['pattern', 'glob']), '"');
|
|
62
|
+
}
|
|
63
|
+
if (/^edit$|edit_file|replace_in_file|editfile|replaceinfile/.test(n)) {
|
|
64
|
+
const base = withPath('Edit', firstStringArg(args, ['path', 'file_path', 'filePath']));
|
|
65
|
+
const diff = resultPreview ? countDiffLines(resultPreview) : null;
|
|
66
|
+
return diff ? `${base} (${formatDiff(diff)})` : base;
|
|
67
|
+
}
|
|
68
|
+
if (/^write$|write_to_file|writetofile|write_file/.test(n)) {
|
|
69
|
+
const base = withPath('Write', firstStringArg(args, ['path', 'file_path', 'filePath']));
|
|
70
|
+
if (resultPreview) {
|
|
71
|
+
const m = resultPreview.match(/(\d+(?:\.\d+)?\s*[KMG]?B)/i);
|
|
72
|
+
return m ? `${base} (${m[1]})` : base;
|
|
73
|
+
}
|
|
74
|
+
return base;
|
|
75
|
+
}
|
|
76
|
+
if (/^bash$|exec_command|execute_command|run_shell|executecommand|runshell/.test(n)) {
|
|
77
|
+
const cmd = firstStringArg(args, ['command']) ?? '';
|
|
78
|
+
return `$ ${truncate(cmd, 50)}`.trim();
|
|
79
|
+
}
|
|
80
|
+
if (/delete_file|deletefile/.test(n)) {
|
|
81
|
+
return withPath('Delete', firstStringArg(args, ['path', 'file_path', 'filePath']));
|
|
82
|
+
}
|
|
83
|
+
return name;
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return name;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function withPath(verb, path, quote = '') {
|
|
90
|
+
const p = path ? `${quote}${path}${quote}` : '';
|
|
91
|
+
return `${verb} ${p}`.trim();
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=tool-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-summary.js","sourceRoot":"","sources":["../../src/tui/tool-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-elapsed.d.ts","sourceRoot":"","sources":["../../src/tui/use-elapsed.ts"],"names":[],"mappings":"AAQA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,SAAO,GAAG,MAAM,CAaxE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 计时 hook:返回自 startAt 起的秒数(busy 期间每 tickMs 刷新一次)。
|
|
3
|
+
*
|
|
4
|
+
* M2:状态行 spinner 旁显示 "已耗时 3.2s";abort 提示里显示实时倒计时。
|
|
5
|
+
* startAt 为 null 时返回 0(空闲态)。
|
|
6
|
+
*/
|
|
7
|
+
import { useState, useEffect } from 'react';
|
|
8
|
+
export function useElapsed(startAt, tickMs = 1000) {
|
|
9
|
+
const [elapsed, setElapsed] = useState(0);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (startAt == null) {
|
|
12
|
+
setElapsed(0);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const update = () => setElapsed((Date.now() - startAt) / 1000);
|
|
16
|
+
update();
|
|
17
|
+
const id = setInterval(update, tickMs);
|
|
18
|
+
return () => clearInterval(id);
|
|
19
|
+
}, [startAt, tickMs]);
|
|
20
|
+
return elapsed;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=use-elapsed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-elapsed.js","sourceRoot":"","sources":["../../src/tui/use-elapsed.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,UAAU,UAAU,CAAC,OAAsB,EAAE,MAAM,GAAG,IAAI;IAC9D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,UAAU,CAAC,CAAC,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|