thatgfsj-code 3.0.13 → 3.0.15

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 (42) hide show
  1. package/README.md +1 -1
  2. package/dist/cmd/index.js +7 -0
  3. package/dist/cmd/index.js.map +1 -1
  4. package/dist/config/types.d.ts +3 -2
  5. package/dist/config/types.d.ts.map +1 -1
  6. package/dist/llm/index.d.ts.map +1 -1
  7. package/dist/llm/index.js +12 -1
  8. package/dist/llm/index.js.map +1 -1
  9. package/dist/setup/browser-setup.d.ts +5 -5
  10. package/dist/setup/browser-setup.d.ts.map +1 -1
  11. package/dist/setup/browser-setup.js +11 -14
  12. package/dist/setup/browser-setup.js.map +1 -1
  13. package/dist/tools/browser.d.ts +25 -12
  14. package/dist/tools/browser.d.ts.map +1 -1
  15. package/dist/tools/browser.js +57 -59
  16. package/dist/tools/browser.js.map +1 -1
  17. package/dist/tui/app.d.ts.map +1 -1
  18. package/dist/tui/app.js +38 -5
  19. package/dist/tui/app.js.map +1 -1
  20. package/dist/tui/components/ChatList.d.ts +9 -7
  21. package/dist/tui/components/ChatList.d.ts.map +1 -1
  22. package/dist/tui/components/ChatList.js +12 -12
  23. package/dist/tui/components/ChatList.js.map +1 -1
  24. package/dist/tui/components/ModelSettings.d.ts +0 -11
  25. package/dist/tui/components/ModelSettings.d.ts.map +1 -1
  26. package/dist/tui/components/ModelSettings.js +65 -13
  27. package/dist/tui/components/ModelSettings.js.map +1 -1
  28. package/dist/tui/components/ToolCall.d.ts +30 -0
  29. package/dist/tui/components/ToolCall.d.ts.map +1 -1
  30. package/dist/tui/components/ToolCall.js +55 -17
  31. package/dist/tui/components/ToolCall.js.map +1 -1
  32. package/dist/tui/hooks/useChat.d.ts +7 -18
  33. package/dist/tui/hooks/useChat.d.ts.map +1 -1
  34. package/dist/tui/hooks/useChat.js +157 -119
  35. package/dist/tui/hooks/useChat.js.map +1 -1
  36. package/dist/tui/hooks/useCommands.d.ts +3 -1
  37. package/dist/tui/hooks/useCommands.d.ts.map +1 -1
  38. package/dist/tui/hooks/useCommands.js +10 -0
  39. package/dist/tui/hooks/useCommands.js.map +1 -1
  40. package/dist/types.d.ts +10 -5
  41. package/dist/types.d.ts.map +1 -1
  42. package/package.json +1 -1
package/dist/tui/app.js CHANGED
@@ -45,7 +45,7 @@ function saveModelToHistory(model) {
45
45
  * sits in the bottom-right corner at all times.
46
46
  */
47
47
  export function TuiApp({ app }) {
48
- const { messages, isThinking, streaming, streamingToolCalls, queuedMessage, sendMessage, cancel, hydrateMessages } = useChat(app);
48
+ const { messages, isThinking, queuedMessage, sendMessage, cancel, hydrateMessages, clearMessages } = useChat(app);
49
49
  const { handleCommand } = useCommands(app);
50
50
  const [systemMessages, setSystemMessages] = useState([]);
51
51
  const [viewMode, setViewMode] = useState('chat');
@@ -133,11 +133,37 @@ export function TuiApp({ app }) {
133
133
  { role: 'assistant', content: result.output },
134
134
  ]);
135
135
  }
136
- if (result.action === 'clear')
136
+ if (result.action === 'clear') {
137
137
  setSystemMessages([]);
138
+ // v3.0.16: /new resets the session — reset the visible list too
139
+ // (useChat messages are display-only now).
140
+ clearMessages();
141
+ }
138
142
  if (result.action === 'reinit') {
139
143
  setViewMode('init_wizard');
140
144
  }
145
+ // v3.0.16: /browser — verifyLaunch is async (spawns Chromium), so
146
+ // handleCommand only returns the action and we run the check here,
147
+ // posting the report as a chat notice (same pattern as /models).
148
+ if (result.action === 'browser_check') {
149
+ const c = app.config.get();
150
+ const setup = c.browserSetup;
151
+ const configLine = !setup?.done
152
+ ? '配置: 未配置(首次运行 gfcode 时会询问是否安装)'
153
+ : setup.mode === 'chromium'
154
+ ? '配置: 已安装内置 Chromium'
155
+ : `配置: ${setup.mode === 'declined' ? '已跳过安装' : setup.mode}`;
156
+ addMsg('正在检查浏览器(启动内置 Chromium…)');
157
+ const { BrowserTool } = await import('../tools/browser.js');
158
+ const mode = await BrowserTool.verifyLaunch();
159
+ addMsg([
160
+ '🌐 浏览器工具状态',
161
+ ` ${configLine}`,
162
+ mode
163
+ ? ' 启动: ✓ 可用(内置 Chromium 正常)'
164
+ : ' 启动: ✗ 不可用。运行 `npx playwright install chromium` 后重试。',
165
+ ].join('\n'));
166
+ }
141
167
  if (result.action === 'reload_model') {
142
168
  await app.reloadModel();
143
169
  setResolvedTtl(null);
@@ -170,14 +196,14 @@ export function TuiApp({ app }) {
170
196
  return;
171
197
  }
172
198
  sendMessage(input);
173
- }, [handleCommand, sendMessage, app, viewMode, addMsg, hydrateMessages]);
199
+ }, [handleCommand, sendMessage, app, viewMode, addMsg, hydrateMessages, clearMessages]);
174
200
  const allMessages = [...systemMessages, ...messages];
175
201
  const activeSkills = app.skills.listActive().map(s => s.id);
176
202
  const splashMode = allMessages.length === 0;
177
203
  const cfg = app.config.get();
178
204
  // v3.0.11: chat mode input spans the full terminal width (opencode
179
205
  // session view); splash keeps the centered fixed-width block.
180
- const inputArea = confirmReq ? (_jsx(ConfirmPrompt, { message: confirmReq.message, onAnswer: onConfirmAnswer })) : viewMode === 'model_settings' ? (_jsx(ModelSettings, { app: app, onClose: () => setViewMode('chat'), width: splashMode ? Math.min(terminalWidth - 4, 64) : terminalWidth - 2 })) : viewMode === 'model_select' ? (_jsx(ModelSelector, { currentModel: cfg.model, currentProvider: cfg.provider, onSelect: (model) => {
206
+ const inputArea = confirmReq ? (_jsx(ConfirmPrompt, { message: confirmReq.message, onAnswer: onConfirmAnswer })) : viewMode === 'model_select' ? (_jsx(ModelSelector, { currentModel: cfg.model, currentProvider: cfg.provider, onSelect: (model) => {
181
207
  app.config.save({ model });
182
208
  saveModelToHistory(model);
183
209
  void app.reloadModel().then(() => setResolvedTtl(null));
@@ -189,7 +215,14 @@ export function TuiApp({ app }) {
189
215
  setViewMode('chat');
190
216
  addMsg(`配置完成: ${provider} / ${model}`);
191
217
  }, onCancel: () => setViewMode('chat') })) : (_jsx(UserInput, { onSubmit: onSubmit, onCancel: cancel, disabled: false, mode: "Build", provider: cfg.provider, model: cfg.model, thinking: thinking, fullWidth: !splashMode, width: splashMode ? Math.min(terminalWidth - 4, 64) : undefined }));
192
- return (_jsxs(Box, { flexDirection: "column", width: terminalWidth, paddingX: 1, ...(splashMode ? { height: terminalRows } : {}), children: [splashMode ? (_jsxs(_Fragment, { children: [_jsx(Splash, {}), _jsx(Box, { justifyContent: "center", children: inputArea }), _jsx(Box, { justifyContent: "center", paddingTop: 1, children: _jsxs(Text, { color: theme.textFaint, children: [_jsx(Text, { color: theme.accent, children: "\u25C6 Tip " }), ' ', "/models \u53EF\u6DFB\u52A0\u6A21\u578B\u3001\u8BBE\u7F6E\u4E0A\u4E0B\u6587\u957F\u5EA6\u548C\u601D\u8003\u5F3A\u5EA6 \u00B7 /help \u67E5\u770B\u5168\u90E8\u547D\u4EE4"] }) })] })) : (_jsxs(_Fragment, { children: [_jsx(Header, { cacheHitRate: cacheSnapshot.hitRate > 0 ? cacheSnapshot.hitRate : null, cacheSavingsCNY: cacheSnapshot.estimatedSavingsCNY, cacheTtl: resolvedTtl ?? configTtl ?? null, width: terminalWidth }), _jsx(ChatList, { messages: allMessages, streaming: streaming, streamingToolCalls: streamingToolCalls, width: terminalWidth - 4, mode: "Build", model: cfg.model }), _jsx(Thinking, { active: isThinking }), queuedMessage && (_jsxs(Box, { paddingLeft: 1, children: [_jsx(Text, { color: theme.warning, children: "\uD83D\uDCCE \u5DF2\u6392\u961F: " }), _jsx(Text, { color: theme.textDim, children: queuedMessage })] })), inputArea] })), _jsx(StatusBar, { messageCount: allMessages.length, skills: activeSkills, provider: cfg.provider, model: cfg.model, stats: {
218
+ // v3.0.15 (borrowed from opencode ui/dialog.tsx): /models opens as a
219
+ // full-screen centered modal overlay, not squeezed into the input slot.
220
+ // The dialog floats in the middle of the terminal with blank space around
221
+ // it (opencode centers horizontally + offsets vertically from the top).
222
+ if (viewMode === 'model_settings') {
223
+ return (_jsx(Box, { height: terminalRows, width: terminalWidth, justifyContent: "center", alignItems: "center", children: _jsx(ModelSettings, { app: app, onClose: () => setViewMode('chat'), width: Math.min(terminalWidth - 2, 72) }) }));
224
+ }
225
+ return (_jsxs(Box, { flexDirection: "column", width: terminalWidth, paddingX: 1, ...(splashMode ? { height: terminalRows } : {}), children: [splashMode ? (_jsxs(_Fragment, { children: [_jsx(Splash, {}), _jsx(Box, { justifyContent: "center", children: inputArea }), _jsx(Box, { justifyContent: "center", paddingTop: 1, children: _jsxs(Text, { color: theme.textFaint, children: [_jsx(Text, { color: theme.accent, children: "\u25C6 Tip " }), ' ', "/models \u53EF\u6DFB\u52A0\u6A21\u578B\u3001\u8BBE\u7F6E\u4E0A\u4E0B\u6587\u957F\u5EA6\u548C\u601D\u8003\u5F3A\u5EA6 \u00B7 /help \u67E5\u770B\u5168\u90E8\u547D\u4EE4"] }) })] })) : (_jsxs(_Fragment, { children: [_jsx(Header, { cacheHitRate: cacheSnapshot.hitRate > 0 ? cacheSnapshot.hitRate : null, cacheSavingsCNY: cacheSnapshot.estimatedSavingsCNY, cacheTtl: resolvedTtl ?? configTtl ?? null, width: terminalWidth }), _jsx(ChatList, { messages: allMessages, width: terminalWidth - 4, mode: "Build", model: cfg.model }), _jsx(Thinking, { active: isThinking }), queuedMessage && (_jsxs(Box, { paddingLeft: 1, children: [_jsx(Text, { color: theme.warning, children: "\uD83D\uDCCE \u5DF2\u6392\u961F: " }), _jsx(Text, { color: theme.textDim, children: queuedMessage })] })), inputArea] })), _jsx(StatusBar, { messageCount: allMessages.length, skills: activeSkills, provider: cfg.provider, model: cfg.model, stats: {
193
226
  contextTokens: app.sessionStats.promptTokens,
194
227
  contextWindow: app.getContextWindow(),
195
228
  inTokens: cacheSnapshot.totalInputTokens,
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,8 @@
1
1
  /** @jsxImportSource react */
2
2
  import React from 'react';
3
3
  import { type MessageData } from './ChatMessage.js';
4
- import type { ToolCallData } from './ToolCall.js';
5
4
  interface Props {
6
5
  messages: MessageData[];
7
- streaming?: string;
8
- streamingToolCalls?: ToolCallData[];
9
6
  width?: number;
10
7
  /** v3.0.9: assistant label info (opencode session view). */
11
8
  mode?: string;
@@ -15,11 +12,16 @@ interface Props {
15
12
  * v3.0.13: completed messages render through Ink <Static> — printed ONCE
16
13
  * into the terminal's scroll buffer and never touched again. History stays
17
14
  * visible indefinitely (scroll back freely); nothing is ever folded or
18
- * erased. Only the streaming tail + input live in the re-rendered frame.
15
+ * erased.
19
16
  *
20
- * (3.0.9 tried a sliced viewport inside a fixed-height fullscreen frame;
21
- * the user rejected it history must stay visible, not fold after ~10
22
- * messages.)
17
+ * v3.0.16 (scroll-wheel fix): this component now renders EXCLUSIVELY
18
+ * <Static> items, so it contributes ZERO lines to the re-rendered frame.
19
+ * Streaming text/tool lines are appended directly to the scrollback by
20
+ * useChat (claude-code two-region rendering) — the live frame is just the
21
+ * spinner + input + status bar, at constant height while a response
22
+ * streams. The old `streaming`/`streamingToolCalls` live-frame branches
23
+ * are gone (they were the root cause of the wheel lockup: the frame grew
24
+ * with every token and Ink's full-frame redraw yanked the viewport down).
23
25
  */
24
26
  export declare const ChatList: React.NamedExoticComponent<Props>;
25
27
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ChatList.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ChatList.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,UAAU,KAAK;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,mCA0BnB,CAAC"}
1
+ {"version":3,"file":"ChatList.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ChatList.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,KAAe,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjE,UAAU,KAAK;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,mCAYnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /** @jsxImportSource react */
3
3
  import { memo } from 'react';
4
4
  import { Box, Static } from 'ink';
@@ -7,18 +7,18 @@ import { ChatMessage } from './ChatMessage.js';
7
7
  * v3.0.13: completed messages render through Ink <Static> — printed ONCE
8
8
  * into the terminal's scroll buffer and never touched again. History stays
9
9
  * visible indefinitely (scroll back freely); nothing is ever folded or
10
- * erased. Only the streaming tail + input live in the re-rendered frame.
10
+ * erased.
11
11
  *
12
- * (3.0.9 tried a sliced viewport inside a fixed-height fullscreen frame;
13
- * the user rejected it history must stay visible, not fold after ~10
14
- * messages.)
12
+ * v3.0.16 (scroll-wheel fix): this component now renders EXCLUSIVELY
13
+ * <Static> items, so it contributes ZERO lines to the re-rendered frame.
14
+ * Streaming text/tool lines are appended directly to the scrollback by
15
+ * useChat (claude-code two-region rendering) — the live frame is just the
16
+ * spinner + input + status bar, at constant height while a response
17
+ * streams. The old `streaming`/`streamingToolCalls` live-frame branches
18
+ * are gone (they were the root cause of the wheel lockup: the frame grew
19
+ * with every token and Ink's full-frame redraw yanked the viewport down).
15
20
  */
16
- export const ChatList = memo(function ChatList({ messages, streaming, streamingToolCalls, width, mode, model }) {
17
- const hasStreaming = !!(streaming || (streamingToolCalls && streamingToolCalls.length > 0));
18
- return (_jsxs(Box, { flexDirection: "column", children: [messages.length > 0 && (_jsx(Static, { items: messages, children: (msg, index) => (_jsx(ChatMessage, { message: msg, width: width, mode: mode, model: model }, `msg-${index}`)) })), hasStreaming && (_jsx(ChatMessage, { message: {
19
- role: 'assistant',
20
- content: streaming || '',
21
- toolCalls: streamingToolCalls && streamingToolCalls.length > 0 ? streamingToolCalls : undefined,
22
- }, width: width, mode: mode, model: model }))] }));
21
+ export const ChatList = memo(function ChatList({ messages, width, mode, model }) {
22
+ return (_jsx(Box, { flexDirection: "column", children: messages.length > 0 && (_jsx(Static, { items: messages, children: (msg, index) => (_jsx(ChatMessage, { message: msg, width: width, mode: mode, model: model }, `msg-${index}`)) })) }));
23
23
  });
24
24
  //# sourceMappingURL=ChatList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatList.js","sourceRoot":"","sources":["../../../src/tui/components/ChatList.tsx"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,OAAc,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AAajE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAS;IACnH,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE5F,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,KAAC,MAAM,IAAC,KAAK,EAAE,QAAQ,YACpB,CAAC,GAAgB,EAAE,KAAa,EAAE,EAAE,CAAC,CACpC,KAAC,WAAW,IAAsB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAApE,OAAO,KAAK,EAAE,CAA0D,CAC3F,GACM,CACV,EACA,YAAY,IAAI,CACf,KAAC,WAAW,IACV,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,SAAS,IAAI,EAAE;oBACxB,SAAS,EAAE,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;iBAChG,EACD,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,GACZ,CACH,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ChatList.js","sourceRoot":"","sources":["../../../src/tui/components/ChatList.tsx"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,OAAc,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AAUjE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAS;IACpF,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,KAAC,MAAM,IAAC,KAAK,EAAE,QAAQ,YACpB,CAAC,GAAgB,EAAE,KAAa,EAAE,EAAE,CAAC,CACpC,KAAC,WAAW,IAAsB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAApE,OAAO,KAAK,EAAE,CAA0D,CAC3F,GACM,CACV,GACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -6,17 +6,6 @@ interface Props {
6
6
  onClose: () => void;
7
7
  width?: number;
8
8
  }
9
- /**
10
- * v3.0.8: the model settings dialog (opencode-style), opened with
11
- * /models. Manages the model list and per-model settings:
12
- *
13
- * ↑/↓ 选择模型 a 添加模型
14
- * t 思考强度循环 c 上下文长度
15
- * d 删除自定义模型 esc 关闭
16
- *
17
- * Settings persist to config.json (modelSettings / customModels) and the
18
- * current model's context length applies to the live session immediately.
19
- */
20
9
  export declare function ModelSettings({ app, onClose, width }: Props): React.JSX.Element;
21
10
  export {};
22
11
  //# sourceMappingURL=ModelSettings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSettings.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ModelSettings.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAK9C,UAAU,KAAK;IACb,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,qBAmM3D"}
1
+ {"version":3,"file":"ModelSettings.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ModelSettings.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAK9C,UAAU,KAAK;IACb,GAAG,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA8CD,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,qBAkN3D"}
@@ -1,19 +1,47 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /** @jsxImportSource react */
3
3
  import { useEffect, useState } from 'react';
4
4
  import { Box, Text, useInput } from 'ink';
5
+ import stringWidth from 'string-width';
5
6
  import { theme } from '../theme.js';
6
7
  /**
7
- * v3.0.8: the model settings dialog (opencode-style), opened with
8
- * /models. Manages the model list and per-model settings:
8
+ * v3.0.15: the model settings dialog (opencode-style), opened with /models.
9
+ * Renders as a fixed-width, rounded-border modal that the app centers in the
10
+ * terminal (see TuiApp's model_settings branch, mirroring opencode's
11
+ * ui/dialog.tsx full-screen + alignItems:center container).
9
12
  *
10
- * ↑/↓ 选择模型 a 添加模型
11
- * t 思考强度循环 c 上下文长度
12
- * d 删除自定义模型 esc 关闭
13
+ * Layout rules learned from opencode's dialog-select.tsx:
14
+ * - header row: bold title left, muted "esc" right (space-between)
15
+ * - every line is pre-truncated to the dialog content width
16
+ * (dialogWidth - border 2 - paddingX 2) so nothing ever wraps
17
+ * - footer key hints use the "key + dim description" pattern, split over
18
+ * two compact rows instead of one over-long line
19
+ *
20
+ * Keys:
21
+ * ↑/↓ 选择 a 添加模型 c 上下文长度(5-1000) w 上下文窗口
22
+ * t 思考强度循环(off/low/medium/high) d 删除自定义模型 esc 关闭
13
23
  *
14
24
  * Settings persist to config.json (modelSettings / customModels) and the
15
25
  * current model's context length applies to the live session immediately.
16
26
  */
27
+ /** CJK-aware truncation: never exceed `max` display columns. */
28
+ function truncateToWidth(s, max) {
29
+ if (max <= 0)
30
+ return '';
31
+ if (stringWidth(s) <= max)
32
+ return s;
33
+ let out = '';
34
+ for (const ch of s) {
35
+ if (stringWidth(out + ch) > max - 1)
36
+ return out + '…';
37
+ out += ch;
38
+ }
39
+ return out;
40
+ }
41
+ /** opencode FooterAction pattern: accent key + dim description. */
42
+ function KeyHint({ keys, desc, last = false }) {
43
+ return (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.accent, children: keys }), _jsxs(Text, { color: theme.textDim, children: [" ", desc] }), !last && _jsx(Text, { color: theme.textFaint, children: " \u00B7 " })] }));
44
+ }
17
45
  export function ModelSettings({ app, onClose, width }) {
18
46
  const [models, setModels] = useState(() => app.listConfiguredModels());
19
47
  const [selected, setSelected] = useState(0);
@@ -147,16 +175,40 @@ export function ModelSettings({ app, onClose, width }) {
147
175
  return;
148
176
  }
149
177
  });
150
- const dialogWidth = Math.min(width || 80, 72);
151
- const THINKING_LABEL = { off: 'off', low: 'low', medium: 'medium', high: 'high' };
152
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border, paddingX: 1, width: dialogWidth, children: [_jsxs(Box, { justifyContent: "space-between", children: [_jsx(Text, { color: theme.accent, bold: true, children: "\u25C6 \u6A21\u578B\u8BBE\u7F6E" }), _jsx(Text, { color: theme.textFaint, children: "esc \u5173\u95ED" })] }), _jsx(Text, { color: theme.border, children: '─'.repeat(Math.max(10, dialogWidth - 2)) }), _jsx(Text, { color: theme.textDim, children: "\u6A21\u578B\u5217\u8868" }), models.map((m, i) => {
178
+ // Dialog geometry. Content width = dialogWidth - border(2) - paddingX(2).
179
+ // Every rendered line is pre-truncated to this budget so the frame never
180
+ // wraps (the v3.0.14 separator/keys overflow bug).
181
+ const dialogWidth = Math.max(24, Math.min(width || 72, 72));
182
+ const contentW = dialogWidth - 4;
183
+ const rule = '─'.repeat(contentW);
184
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.border, paddingX: 1, width: dialogWidth, children: [_jsxs(Box, { justifyContent: "space-between", width: contentW, children: [_jsx(Text, { color: theme.accent, bold: true, children: "\u25C6 \u6A21\u578B\u8BBE\u7F6E" }), _jsx(Text, { color: theme.textFaint, children: "esc \u5173\u95ED" })] }), _jsx(Text, { color: theme.border, children: rule }), models.map((m, i) => {
153
185
  const st = settings[m] || {};
154
186
  const isSel = i === idx;
155
187
  const isCurrent = m === currentModel;
156
188
  const thinking = st.thinking ?? 'off';
157
- return (_jsxs(Box, { children: [_jsx(Text, { color: isSel ? theme.accent : theme.textFaint, children: isSel ? '▸ ' : ' ' }), _jsx(Text, { color: isSel ? theme.text : theme.textDim, bold: isSel, wrap: "truncate-end", children: m.slice(0, dialogWidth - 34) }), _jsxs(Text, { color: theme.textFaint, children: [" ctx ", st.contextLength ?? app.session.getMaxMessages()] }), _jsxs(Text, { color: theme.textFaint, children: [" \u00B7 \u7A97\u53E3 ", (app.getContextWindow(m) / 1000).toFixed(0), "k"] }), _jsxs(Text, { color: thinking !== 'off' ? theme.accent : theme.textFaint, children: [' ', "thinking ", THINKING_LABEL[thinking]] }), isCurrent && _jsx(Text, { color: theme.success, children: " \u25CF \u5F53\u524D" })] }, m));
158
- }), _jsx(Text, { color: theme.border, children: '─'.repeat(Math.max(10, dialogWidth - 2)) }), submode ? (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.accent, children: submode.type === 'add' ? '添加模型 id ❯ '
159
- : submode.type === 'window' ? `${active} 上下文窗口(tokens) ❯ `
160
- : `${active} 上下文长度 ❯ ` }), _jsx(Text, { children: submode.value }), _jsx(Text, { color: theme.text, children: "\u2588" })] }), submode.error && _jsx(Text, { color: theme.error, children: submode.error }), _jsx(Text, { color: theme.textFaint, children: "enter \u786E\u8BA4 \u00B7 esc \u53D6\u6D88" })] })) : (_jsxs(Box, { children: [_jsx(Text, { color: theme.textFaint, children: "\u2191\u2193 \u9009\u62E9 \u00B7 " }), _jsx(Text, { color: theme.accent, children: "a" }), _jsx(Text, { color: theme.textFaint, children: " \u6DFB\u52A0\u6A21\u578B \u00B7 " }), _jsx(Text, { color: theme.accent, children: "c" }), _jsx(Text, { color: theme.textFaint, children: " \u4E0A\u4E0B\u6587\u957F\u5EA6 \u00B7 " }), _jsx(Text, { color: theme.accent, children: "w" }), _jsx(Text, { color: theme.textFaint, children: " \u4E0A\u4E0B\u6587\u7A97\u53E3(tokens) \u00B7 " }), _jsx(Text, { color: theme.accent, children: "t" }), _jsx(Text, { color: theme.textFaint, children: " \u601D\u8003\u5F3A\u5EA6 \u00B7 " }), _jsx(Text, { color: theme.accent, children: "d" }), _jsx(Text, { color: theme.textFaint, children: " \u5220\u9664\u81EA\u5B9A\u4E49" })] })), toast && _jsxs(Text, { color: theme.success, children: ["\u2713 ", toast] })] }));
189
+ // chips render right of the id; the id shrinks (with ) so the
190
+ // whole row always fits in one line.
191
+ const chipsFull = `ctx ${st.contextLength ?? app.session.getMaxMessages()}` +
192
+ ` · 窗口 ${(app.getContextWindow(m) / 1000).toFixed(0)}k` +
193
+ ` · thinking ${thinking}` +
194
+ (isCurrent ? ' · ● 当前' : '');
195
+ let chips = chipsFull;
196
+ let maxIdW = contentW - 2 - 2 - stringWidth(chips); // prefix '▸ ' + gap ' '
197
+ if (maxIdW < 4) {
198
+ // pathological narrow dialog: keep a minimal id, truncate chips too
199
+ maxIdW = 4;
200
+ chips = truncateToWidth(chipsFull, Math.max(1, contentW - 4 - maxIdW));
201
+ }
202
+ const id = truncateToWidth(m, maxIdW);
203
+ return (_jsxs(Box, { children: [_jsx(Text, { color: isSel ? theme.accent : theme.textFaint, children: isSel ? '▸ ' : ' ' }), _jsx(Text, { color: isSel ? theme.text : theme.textDim, bold: isSel, wrap: "truncate-end", children: id }), _jsxs(Text, { color: theme.textFaint, children: [' ', chips] })] }, m));
204
+ }), _jsx(Text, { color: theme.border, children: rule }), submode ? (_jsxs(Box, { flexDirection: "column", width: contentW, children: [(() => {
205
+ const label = submode.type === 'add' ? '添加模型 id ❯ '
206
+ : submode.type === 'window' ? `${truncateToWidth(active, 24)} 上下文窗口(tokens) ❯ `
207
+ : `${truncateToWidth(active, 24)} 上下文长度 ❯ `;
208
+ const budget = contentW - stringWidth(submode.value) - 1; // 1 = cursor █
209
+ return (_jsxs(Box, { children: [_jsx(Text, { color: theme.accent, children: truncateToWidth(label, Math.max(4, budget)) }), _jsx(Text, { color: theme.text, children: truncateToWidth(submode.value, Math.max(0, contentW - 1)) }), _jsx(Text, { color: theme.text, children: "\u2588" })] }));
210
+ })(), submode.error && _jsx(Text, { color: theme.error, wrap: "truncate-end", children: truncateToWidth(submode.error, contentW) }), _jsxs(Box, { children: [_jsx(KeyHint, { keys: "enter", desc: "\u786E\u8BA4" }), _jsx(KeyHint, { keys: "esc", desc: "\u53D6\u6D88", last: true })] })] })) : (
211
+ // two-line compact key table: accent keys, dim descriptions.
212
+ _jsxs(Box, { flexDirection: "column", width: contentW, children: [_jsxs(Box, { children: [_jsx(KeyHint, { keys: "\u2191\u2193", desc: "\u9009\u62E9" }), _jsx(KeyHint, { keys: "enter/a", desc: "\u6DFB\u52A0" }), _jsx(KeyHint, { keys: "d", desc: "\u5220\u9664" }), _jsx(KeyHint, { keys: "esc", desc: "\u5173\u95ED", last: true })] }), _jsxs(Box, { children: [_jsx(KeyHint, { keys: "c", desc: "\u4E0A\u4E0B\u6587\u957F\u5EA6" }), _jsx(KeyHint, { keys: "w", desc: "\u4E0A\u4E0B\u6587\u7A97\u53E3" }), _jsx(KeyHint, { keys: "t", desc: "\u601D\u8003\u5F3A\u5EA6", last: true })] })] })), toast && _jsx(Text, { color: theme.success, wrap: "truncate-end", children: truncateToWidth(`✓ ${toast}`, contentW) })] }));
161
213
  }
162
214
  //# sourceMappingURL=ModelSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSettings.js","sourceRoot":"","sources":["../../../src/tui/components/ModelSettings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelSettings.js","sourceRoot":"","sources":["../../../src/tui/components/ModelSettings.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,36 @@ interface Props {
10
10
  tool: ToolCallData;
11
11
  width?: number;
12
12
  }
13
+ /**
14
+ * Compact one-line arg preview per tool, opencode-style:
15
+ * ⎿ shell(npm test)
16
+ * ⎿ file(write src/app.ts)
17
+ *
18
+ * v3.0.16: exported pure function — also drives the append-only streaming
19
+ * writer in useChat (direct stdout writes share the exact formatting the
20
+ * <Static>-rendered ToolCall component uses, so scrollback looks identical
21
+ * no matter which path produced the line).
22
+ */
23
+ export declare function formatToolLabel(name: string, args: string): {
24
+ title: string;
25
+ detail: string;
26
+ };
27
+ /**
28
+ * v3.0.16: the result summary line under a `⎿` call line, extracted from the
29
+ * ToolCall component so the streaming writer can paint the same summary as
30
+ * plain text. Pure: (result, isError) → line text + theme color, or null
31
+ * while the call is still running (result undefined).
32
+ */
33
+ export declare function formatToolResultLine(result: string, isError: boolean): {
34
+ text: string;
35
+ color: string;
36
+ } | null;
37
+ /**
38
+ * v3.0.16: the pre-execution `⎿ name(args) ⟳` line painted by the streaming
39
+ * writer the moment a pending tool_calls chunk arrives. Pure and
40
+ * color-free (callers add theme colors with chalk).
41
+ */
42
+ export declare function formatToolPendingText(name: string, args: string): string;
13
43
  /**
14
44
  * v3.0.6 (opencode-style): tool calls render as a dim `⎿` continuation
15
45
  * line with a compact result summary — 2 lines of output (or the error),
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCall.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ToolCall.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,KAAK;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkCD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,qBAiCvC;AAED,YAAY,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"ToolCall.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ToolCall.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,KAAK;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA2C7F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAY7G;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,qBAsBvC;AAED,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -5,8 +5,13 @@ import { theme } from '../theme.js';
5
5
  * Compact one-line arg preview per tool, opencode-style:
6
6
  * ⎿ shell(npm test)
7
7
  * ⎿ file(write src/app.ts)
8
+ *
9
+ * v3.0.16: exported pure function — also drives the append-only streaming
10
+ * writer in useChat (direct stdout writes share the exact formatting the
11
+ * <Static>-rendered ToolCall component uses, so scrollback looks identical
12
+ * no matter which path produced the line).
8
13
  */
9
- function formatToolLabel(name, args) {
14
+ export function formatToolLabel(name, args) {
10
15
  try {
11
16
  const obj = JSON.parse(args);
12
17
  switch (name) {
@@ -20,6 +25,24 @@ function formatToolLabel(name, args) {
20
25
  return { title: obj.action || 'search', detail: obj.pattern || obj.query || '' };
21
26
  case 'nwt':
22
27
  return { title: `nwt ${obj.action || ''}`.trim(), detail: obj.task || obj.query || '' };
28
+ case 'browser': {
29
+ // v3.0.16: browser tool got its own label shape.
30
+ // search → `browser search (bing)` + "query"
31
+ // open → `browser open` + url
32
+ // close → `browser close`
33
+ const action = String(obj.action || 'browser').toLowerCase();
34
+ if (action === 'search') {
35
+ const engine = String(obj.engine || 'bing').toLowerCase();
36
+ return { title: `browser search (${engine})`, detail: obj.query ? `"${String(obj.query).slice(0, 60)}"` : '' };
37
+ }
38
+ if (action === 'open') {
39
+ return { title: 'browser open', detail: String(obj.url || '').slice(0, 70) };
40
+ }
41
+ if (action === 'close') {
42
+ return { title: 'browser close', detail: '' };
43
+ }
44
+ return { title: `browser ${action}`, detail: '' };
45
+ }
23
46
  default: {
24
47
  if (name.startsWith('mcp__')) {
25
48
  const short = name.replace(/^mcp__/, '').replace(/__/, ' · ');
@@ -33,6 +56,34 @@ function formatToolLabel(name, args) {
33
56
  return { title: name, detail: (args || '').slice(0, 50) };
34
57
  }
35
58
  }
59
+ /**
60
+ * v3.0.16: the result summary line under a `⎿` call line, extracted from the
61
+ * ToolCall component so the streaming writer can paint the same summary as
62
+ * plain text. Pure: (result, isError) → line text + theme color, or null
63
+ * while the call is still running (result undefined).
64
+ */
65
+ export function formatToolResultLine(result, isError) {
66
+ const lines = result.split('\n').filter(l => l.trim());
67
+ if (isError) {
68
+ return { text: lines[0]?.slice(0, 90) || 'failed', color: theme.error };
69
+ }
70
+ if (lines.length === 0) {
71
+ return { text: 'ok (no output)', color: theme.textFaint };
72
+ }
73
+ if (lines.length <= 2) {
74
+ return { text: lines.join(' · ').slice(0, 100), color: theme.textDim };
75
+ }
76
+ return { text: `${lines.length} 行 · ${lines[0].slice(0, 70)}`, color: theme.textFaint };
77
+ }
78
+ /**
79
+ * v3.0.16: the pre-execution `⎿ name(args) ⟳` line painted by the streaming
80
+ * writer the moment a pending tool_calls chunk arrives. Pure and
81
+ * color-free (callers add theme colors with chalk).
82
+ */
83
+ export function formatToolPendingText(name, args) {
84
+ const { title, detail } = formatToolLabel(name, args);
85
+ return `⎿ ${title}${detail ? ` ${detail}` : ''} ⟳`;
86
+ }
36
87
  /**
37
88
  * v3.0.6 (opencode-style): tool calls render as a dim `⎿` continuation
38
89
  * line with a compact result summary — 2 lines of output (or the error),
@@ -41,22 +92,9 @@ function formatToolLabel(name, args) {
41
92
  export function ToolCall({ tool }) {
42
93
  const { title, detail } = formatToolLabel(tool.name, tool.args);
43
94
  const running = tool.result === undefined;
44
- let resultLine = null;
45
- if (tool.result !== undefined) {
46
- const lines = tool.result.split('\n').filter(l => l.trim());
47
- if (tool.isError) {
48
- resultLine = { text: lines[0]?.slice(0, 90) || 'failed', color: theme.error };
49
- }
50
- else if (lines.length === 0) {
51
- resultLine = { text: 'ok (no output)', color: theme.textFaint };
52
- }
53
- else if (lines.length <= 2) {
54
- resultLine = { text: lines.join(' · ').slice(0, 100), color: theme.textDim };
55
- }
56
- else {
57
- resultLine = { text: `${lines.length} 行 · ${lines[0].slice(0, 70)}`, color: theme.textFaint };
58
- }
59
- }
95
+ const resultLine = tool.result !== undefined
96
+ ? formatToolResultLine(tool.result, !!tool.isError)
97
+ : null;
60
98
  return (_jsxs(Box, { flexDirection: "column", paddingLeft: 2, marginBottom: 0, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.toolMark, children: "\u23BF " }), _jsx(Text, { color: theme.accentDim, children: title }), detail && _jsxs(Text, { color: theme.textDim, children: [" ", detail] }), running && _jsx(Text, { color: theme.textFaint, children: " \u27F3" })] }), resultLine && (_jsx(Box, { paddingLeft: 2, children: _jsx(Text, { color: resultLine.color, wrap: "truncate-end", children: resultLine.text }) }))] }));
61
99
  }
62
100
  //# sourceMappingURL=ToolCall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCall.js","sourceRoot":"","sources":["../../../src/tui/components/ToolCall.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolCall.js","sourceRoot":"","sources":["../../../src/tui/components/ToolCall.tsx"],"names":[],"mappings":"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"}