@wukonglabs/wukong 0.1.4 → 0.1.6
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/exit-codes.d.ts +3 -8
- package/dist/cli/exit-codes.d.ts.map +1 -1
- package/dist/cli/exit-codes.js +5 -11
- package/dist/cli/exit-codes.js.map +1 -1
- package/dist/cli/help.js +1 -1
- package/dist/index.js +49 -36
- package/dist/index.js.map +1 -1
- package/dist/tui/app.d.ts +7 -11
- package/dist/tui/app.d.ts.map +1 -1
- package/dist/tui/app.js +24 -11
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/hint-bar.js +1 -1
- package/dist/tui/hint-bar.js.map +1 -1
- package/dist/tui/run-ink.d.ts +3 -0
- package/dist/tui/run-ink.d.ts.map +1 -1
- package/dist/tui/run-ink.js +1 -1
- package/dist/tui/run-ink.js.map +1 -1
- package/dist/tui/slash/menu.d.ts +24 -0
- package/dist/tui/slash/menu.d.ts.map +1 -1
- package/dist/tui/slash/menu.js +34 -0
- package/dist/tui/slash/menu.js.map +1 -1
- package/dist/tui/text-input.d.ts +10 -1
- package/dist/tui/text-input.d.ts.map +1 -1
- package/dist/tui/text-input.js +98 -13
- package/dist/tui/text-input.js.map +1 -1
- package/dist/tui/welcome.d.ts +1 -1
- package/dist/tui/welcome.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/tui/app.js
CHANGED
|
@@ -15,7 +15,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
15
15
|
* - M8:NoticePanel 独立承载错误
|
|
16
16
|
* - M9:? / /keys 键位帮助
|
|
17
17
|
*/
|
|
18
|
-
import { useState, useCallback, useEffect, useRef } from 'react';
|
|
18
|
+
import { useState, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
19
19
|
import { Box, Text, useApp, useStdout } from 'ink';
|
|
20
20
|
import { TextInput } from './text-input.js';
|
|
21
21
|
import { useInputHistory } from './use-input-history.js';
|
|
@@ -26,9 +26,10 @@ import { useTheme } from './theme/context.js';
|
|
|
26
26
|
import { isThemeName } from './theme/theme.js';
|
|
27
27
|
import { KEYS_HELP } from './keys-help.js';
|
|
28
28
|
import { parseSlashCommand } from './slash/parse.js';
|
|
29
|
+
import { ModelMenu, getModelMenuRowCount, } from './slash/menu.js';
|
|
29
30
|
import { MainArea } from './main-area.js';
|
|
30
31
|
import { Welcome } from './welcome.js';
|
|
31
|
-
import { useViewport } from './use-viewport.js';
|
|
32
|
+
import { FOOTER_ROWS_BASE, useViewport } from './use-viewport.js';
|
|
32
33
|
import { useElapsed } from './use-elapsed.js';
|
|
33
34
|
import { usePlanState } from './use-plan-state.js';
|
|
34
35
|
/** §5.0 M0:abort 窗口超时(ms),与 sigint-handler 的 resetTimeoutMs 保持一致 */
|
|
@@ -37,20 +38,23 @@ const HELP_TEXT = `可用命令:
|
|
|
37
38
|
/help 本帮助
|
|
38
39
|
/status 显示当前配置(模型 / workspace / session)
|
|
39
40
|
/clear 清空对话历史
|
|
40
|
-
/model
|
|
41
|
-
/model <id>
|
|
41
|
+
/model 打开模型选择面板
|
|
42
|
+
/model <id> 直接切换模型
|
|
42
43
|
/session 显示 session 信息
|
|
43
44
|
/theme 切换主题(dark/light/mono)
|
|
44
45
|
/compact 手动触发压缩
|
|
45
46
|
/think 展开 Thinking 到滚动历史
|
|
46
47
|
/keys 键位帮助
|
|
47
48
|
快捷键:Enter 发送 · Shift+Enter 换行 · Ctrl+R 反查 · Ctrl+C 中断 · ? 键位帮助 · / 命令菜单`;
|
|
48
|
-
export function App({ model, sessionUuidShort, workspaceRoot, handlers, initialHistory = [], streamSinkRef, appVersion, configPath, sessionRecordCount = 0, sessionCreated = false, toolsCount, skillsLoaded, cursorAnchorRef, }) {
|
|
49
|
+
export function App({ model, modelId, sessionUuidShort, workspaceRoot, handlers, initialHistory = [], streamSinkRef, appVersion, configPath, sessionRecordCount = 0, sessionCreated = false, toolsCount, skillsLoaded, cursorAnchorRef, }) {
|
|
49
50
|
const { exit } = useApp();
|
|
50
51
|
const { write } = useStdout();
|
|
51
52
|
const { themeName, setThemeName } = useTheme();
|
|
52
53
|
const [input, setInput] = useState('');
|
|
54
|
+
const [inputMode, setInputMode] = useState('normal');
|
|
55
|
+
const [modelMenu, setModelMenu] = useState(null);
|
|
53
56
|
const [currentModel, setCurrentModel] = useState(model);
|
|
57
|
+
const [currentModelId, setCurrentModelId] = useState(modelId);
|
|
54
58
|
const [streamingText, setStreamingText] = useState('');
|
|
55
59
|
const [streaming, setStreaming] = useState(false);
|
|
56
60
|
const [thinkingText, setThinkingText] = useState('');
|
|
@@ -76,8 +80,12 @@ export function App({ model, sessionUuidShort, workspaceRoot, handlers, initialH
|
|
|
76
80
|
const [exiting, setExiting] = useState(false);
|
|
77
81
|
const [pendingAuth, setPendingAuth] = useState(null);
|
|
78
82
|
const inputHistory = useInputHistory(initialHistory);
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
const availableModels = useMemo(() => handlers.listModels?.() ?? [], [handlers]);
|
|
84
|
+
// 视口:模型面板展开时动态扣除其高度,保证输入区与提示栏始终留在屏幕内。
|
|
85
|
+
const footerRows = modelMenu
|
|
86
|
+
? FOOTER_ROWS_BASE + getModelMenuRowCount(modelMenu.models, modelMenu.highlight)
|
|
87
|
+
: FOOTER_ROWS_BASE;
|
|
88
|
+
const viewport = useViewport(footerRows);
|
|
81
89
|
// 集中计算本轮耗时,供 StatusBar 和 LiveBlock 活动行共用(避免重复 setInterval)
|
|
82
90
|
const elapsedSec = useElapsed(busy ? runStartAt ?? null : null);
|
|
83
91
|
// 派生"等待 LLM 首 token"窗口 —— busy=true 但还没收到任何 chunk、也没工具调用。
|
|
@@ -209,6 +217,10 @@ export function App({ model, sessionUuidShort, workspaceRoot, handlers, initialH
|
|
|
209
217
|
showNotice('warn', '当前任务运行中,不能切换模型');
|
|
210
218
|
return;
|
|
211
219
|
}
|
|
220
|
+
if (alias === currentModel) {
|
|
221
|
+
appendHistory({ kind: 'info', text: `当前已使用模型: ${currentModel}` });
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
212
224
|
if (!handlers.switchModel) {
|
|
213
225
|
showNotice('warn', '模型切换功能未启用');
|
|
214
226
|
return;
|
|
@@ -216,6 +228,7 @@ export function App({ model, sessionUuidShort, workspaceRoot, handlers, initialH
|
|
|
216
228
|
try {
|
|
217
229
|
const switched = await handlers.switchModel(alias);
|
|
218
230
|
setCurrentModel(switched.alias);
|
|
231
|
+
setCurrentModelId(switched.id);
|
|
219
232
|
setCurrentStep(0);
|
|
220
233
|
setCacheHitRate(undefined);
|
|
221
234
|
appendHistory({
|
|
@@ -409,7 +422,7 @@ export function App({ model, sessionUuidShort, workspaceRoot, handlers, initialH
|
|
|
409
422
|
const placeholder = abortRequested
|
|
410
423
|
? '正在中断当前任务,请等它退出…'
|
|
411
424
|
: '输入消息或 / 打开命令菜单…';
|
|
412
|
-
const welcomeCard = (_jsx(Welcome, { appVersion: appVersion, cwd: workspaceRoot, configPath: configPath, model:
|
|
425
|
+
const welcomeCard = (_jsx(Welcome, { appVersion: appVersion, cwd: workspaceRoot, configPath: configPath, model: currentModelId, sessionUuidShort: sessionUuidShort, sessionRecordCount: welcomeSessionRecordCount, sessionCreated: sessionCreated, toolsCount: toolsCount, skillsLoaded: skillsLoaded }));
|
|
413
426
|
/** 首条用户消息发出时,将欢迎卡作为历史首项固化进 Static */
|
|
414
427
|
const maybePinWelcome = useCallback(() => {
|
|
415
428
|
setHistory((prev) => {
|
|
@@ -419,14 +432,14 @@ export function App({ model, sessionUuidShort, workspaceRoot, handlers, initialH
|
|
|
419
432
|
id: historyIdRef.current++,
|
|
420
433
|
kind: 'welcome',
|
|
421
434
|
text: '',
|
|
422
|
-
welcomeEl: (_jsx(Welcome, { appVersion: appVersion, cwd: workspaceRoot, configPath: configPath, model:
|
|
435
|
+
welcomeEl: (_jsx(Welcome, { appVersion: appVersion, cwd: workspaceRoot, configPath: configPath, model: currentModelId, sessionUuidShort: sessionUuidShort, sessionRecordCount: welcomeSessionRecordCount, sessionCreated: sessionCreated, toolsCount: toolsCount, skillsLoaded: skillsLoaded })),
|
|
423
436
|
};
|
|
424
437
|
return [welcomeItem];
|
|
425
438
|
});
|
|
426
|
-
}, [appVersion, workspaceRoot, configPath,
|
|
439
|
+
}, [appVersion, workspaceRoot, configPath, currentModelId, sessionUuidShort, welcomeSessionRecordCount, sessionCreated, toolsCount, skillsLoaded]);
|
|
427
440
|
return (_jsxs(Box, { flexDirection: "column", children: [history.length === 0 && !busy ? (welcomeCard) : (_jsx(MainArea, { history: history, todos: todos, thinkingText: thinkingText, thinkingStreaming: thinkingStreaming, activeTools: activeTools, streamingText: streamingText, streaming: streaming, awaitingLlm: awaitingLlm, mainHeight: viewport.mainHeight, cols: viewport.cols, elapsedSec: elapsedSec, currentStep: currentStep, maxSteps: handlers.maxSteps })), abortRequested && _jsx(AbortHint, {}), notice && _jsx(NoticePanel, { notice: notice }), pendingAuth ? (_jsx(Box, { marginTop: 1, children: _jsx(PermissionCard, { request: pendingAuth.request, onSubmit: handleAuthSubmit }) })) : (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { borderStyle: "round", borderColor: "gray", paddingX: 1, children: _jsx(TextInput, { value: input, onChange: setInput, onSubmit: handleSubmit, multiline: true, history: inputHistory, placeholder: placeholder, disabled: busy, cursorAnchorRef: cursorAnchorRef, terminalColumns: viewport.cols, onAbort: handleAbort, onExit: handleExit, onSlash: (n, a) => {
|
|
428
441
|
void dispatchSlash(n, a);
|
|
429
|
-
} }) }), _jsx(HintBar, { mode: busy ? 'busy' :
|
|
442
|
+
}, models: availableModels, currentModel: currentModel, onModeChange: setInputMode, onModelMenuChange: setModelMenu }) }), modelMenu && _jsx(ModelMenu, { ...modelMenu }), _jsx(HintBar, { mode: busy ? 'busy' : inputMode })] }))] }));
|
|
430
443
|
}
|
|
431
444
|
/** 中断提示(24-tui-redesign-viewport.md §4.9):拆成两行,窄终端不折行错乱 */
|
|
432
445
|
function AbortHint() {
|
package/dist/tui/app.js.map
CHANGED
|
@@ -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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"}
|
package/dist/tui/hint-bar.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useTheme } from './theme/context.js';
|
|
|
4
4
|
const HINTS = {
|
|
5
5
|
normal: 'Enter · send Shift+Enter · newline ? · help / · commands Ctrl+R · search Ctrl+C · interrupt',
|
|
6
6
|
reverse: 'Enter · accept Esc · cancel Ctrl+R · next match',
|
|
7
|
-
menu: '↑↓ · select Enter ·
|
|
7
|
+
menu: '↑↓ · select Enter · confirm Esc · cancel',
|
|
8
8
|
busy: 'esc · interrupt Ctrl+C · also interrupt',
|
|
9
9
|
};
|
|
10
10
|
export function HintBar({ mode }) {
|
package/dist/tui/hint-bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hint-bar.js","sourceRoot":"","sources":["../../src/tui/hint-bar.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,MAAM,KAAK,GAA6B;IACtC,MAAM,EACJ,uGAAuG;IACzG,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"hint-bar.js","sourceRoot":"","sources":["../../src/tui/hint-bar.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,MAAM,KAAK,GAA6B;IACtC,MAAM,EACJ,uGAAuG;IACzG,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,8CAA8C;IACpD,IAAI,EAAE,2CAA2C;CAClD,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,EAAsB;IAClD,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,OAAO,CACL,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,QAAC,IAAI,EAAC,UAAU,YAAE,KAAK,CAAC,IAAI,CAAC,GAAQ,GACjE,CACP,CAAC;AACJ,CAAC"}
|
package/dist/tui/run-ink.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { AppHandlers, SinkRef } from './app.js';
|
|
2
2
|
export interface InkRunOptions {
|
|
3
|
+
/** 配置中的模型别名,用于模型选择与切换 */
|
|
3
4
|
model: string;
|
|
5
|
+
/** 实际发送给 Provider 的模型 ID,用于运行时展示 */
|
|
6
|
+
modelId: string;
|
|
4
7
|
sessionUuidShort: string;
|
|
5
8
|
workspaceRoot: string;
|
|
6
9
|
handlers: AppHandlers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-ink.d.ts","sourceRoot":"","sources":["../../src/tui/run-ink.tsx"],"names":[],"mappings":"AASA,OAAO,EAAO,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGrD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,WAAW,EAC1B,eAAe,EAAE,eAAe,EAChC,aAAa,GAAE,aAAkC,GAChD,MAAM,CAAC,WAAW,CAsCpB;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"run-ink.d.ts","sourceRoot":"","sources":["../../src/tui/run-ink.tsx"],"names":[],"mappings":"AASA,OAAO,EAAO,WAAW,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGrD,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,WAAW,EAC1B,eAAe,EAAE,eAAe,EAChC,aAAa,GAAE,aAAkC,GAChD,MAAM,CAAC,WAAW,CAsCpB;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CA+CxD"}
|
package/dist/tui/run-ink.js
CHANGED
|
@@ -69,7 +69,7 @@ export function runInk(opts) {
|
|
|
69
69
|
const cursorAnchorRef = { current: '' };
|
|
70
70
|
const fullRenderRef = { current: false };
|
|
71
71
|
const stdout = createCursorAnchoredStdout(process.stdout, cursorAnchorRef, fullRenderRef);
|
|
72
|
-
const inkInstance = render(_jsx(ThemeProvider, { children: _jsx(App, { model: opts.model, sessionUuidShort: opts.sessionUuidShort, workspaceRoot: opts.workspaceRoot, handlers: opts.handlers, initialHistory: opts.initialHistory, streamSinkRef: opts.streamSinkRef, appVersion: opts.appVersion, configPath: opts.configPath, sessionRecordCount: opts.sessionRecordCount, sessionCreated: opts.sessionCreated, toolsCount: opts.toolsCount, skillsLoaded: opts.skillsLoaded, cursorAnchorRef: cursorAnchorRef }) }), { stdout });
|
|
72
|
+
const inkInstance = render(_jsx(ThemeProvider, { children: _jsx(App, { model: opts.model, modelId: opts.modelId, sessionUuidShort: opts.sessionUuidShort, workspaceRoot: opts.workspaceRoot, handlers: opts.handlers, initialHistory: opts.initialHistory, streamSinkRef: opts.streamSinkRef, appVersion: opts.appVersion, configPath: opts.configPath, sessionRecordCount: opts.sessionRecordCount, sessionCreated: opts.sessionCreated, toolsCount: opts.toolsCount, skillsLoaded: opts.skillsLoaded, cursorAnchorRef: cursorAnchorRef }) }), { stdout });
|
|
73
73
|
/*
|
|
74
74
|
* 终端 resize 会按新列宽重排旧帧,Ink 的 previousLineCount 不再可信。
|
|
75
75
|
* 监听器排在 Ink 自带 resize 监听器之前:本次同步 resize 周期内让 stdout.rows=1,
|
package/dist/tui/run-ink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-ink.js","sourceRoot":"","sources":["../../src/tui/run-ink.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAwB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-ink.js","sourceRoot":"","sources":["../../src/tui/run-ink.tsx"],"names":[],"mappings":"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"}
|
package/dist/tui/slash/menu.d.ts
CHANGED
|
@@ -12,5 +12,29 @@ export interface SlashMenuProps {
|
|
|
12
12
|
/** 当前高亮索引(0-based) */
|
|
13
13
|
highlight: number;
|
|
14
14
|
}
|
|
15
|
+
export interface ModelMenuItem {
|
|
16
|
+
alias: string;
|
|
17
|
+
id: string;
|
|
18
|
+
provider: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ModelMenuState {
|
|
21
|
+
models: ModelMenuItem[];
|
|
22
|
+
highlight: number;
|
|
23
|
+
currentModel?: string;
|
|
24
|
+
query: string;
|
|
25
|
+
}
|
|
26
|
+
export type ModelMenuProps = ModelMenuState;
|
|
27
|
+
export declare const MODEL_MENU_MAX_VISIBLE = 8;
|
|
15
28
|
export declare function SlashMenu({ commands, highlight }: SlashMenuProps): React.ReactElement | null;
|
|
29
|
+
export declare function filterModelMenuItems(models: ModelMenuItem[], query: string): ModelMenuItem[];
|
|
30
|
+
interface ModelMenuWindow {
|
|
31
|
+
items: ModelMenuItem[];
|
|
32
|
+
start: number;
|
|
33
|
+
hiddenBefore: number;
|
|
34
|
+
hiddenAfter: number;
|
|
35
|
+
}
|
|
36
|
+
export declare function getModelMenuWindow(models: ModelMenuItem[], highlight: number, maxVisible?: number): ModelMenuWindow;
|
|
37
|
+
export declare function getModelMenuRowCount(models: ModelMenuItem[], highlight: number): number;
|
|
38
|
+
export declare function ModelMenu({ models, highlight, currentModel, query, }: ModelMenuProps): React.ReactElement;
|
|
39
|
+
export {};
|
|
16
40
|
//# sourceMappingURL=menu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/tui/slash/menu.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAkB5F"}
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../src/tui/slash/menu.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC;AAE5C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAkB5F;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAM5F;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,UAAU,SAAyB,GAClC,eAAe,CAejB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGvF;AAED,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,KAAK,GACN,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA8CrC"}
|
package/dist/tui/slash/menu.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
import { useTheme } from '../theme/context.js';
|
|
4
|
+
export const MODEL_MENU_MAX_VISIBLE = 8;
|
|
4
5
|
export function SlashMenu({ commands, highlight }) {
|
|
5
6
|
const { theme } = useTheme();
|
|
6
7
|
if (commands.length === 0)
|
|
@@ -10,4 +11,37 @@ export function SlashMenu({ commands, highlight }) {
|
|
|
10
11
|
return (_jsx(Box, { children: _jsxs(Text, { inverse: active, children: [_jsxs(Text, { color: active ? theme.status : undefined, children: ["/", c.name] }), _jsxs(Text, { children: [" \u2014 ", c.description] })] }) }, c.name));
|
|
11
12
|
}) }));
|
|
12
13
|
}
|
|
14
|
+
export function filterModelMenuItems(models, query) {
|
|
15
|
+
const normalized = query.trim().toLowerCase();
|
|
16
|
+
if (!normalized)
|
|
17
|
+
return models;
|
|
18
|
+
return models.filter((model) => [model.alias, model.id, model.provider].some((field) => field.toLowerCase().includes(normalized)));
|
|
19
|
+
}
|
|
20
|
+
export function getModelMenuWindow(models, highlight, maxVisible = MODEL_MENU_MAX_VISIBLE) {
|
|
21
|
+
if (models.length <= maxVisible) {
|
|
22
|
+
return { items: models, start: 0, hiddenBefore: 0, hiddenAfter: 0 };
|
|
23
|
+
}
|
|
24
|
+
const safeHighlight = Math.max(0, Math.min(highlight, models.length - 1));
|
|
25
|
+
const start = Math.max(0, Math.min(safeHighlight - Math.floor(maxVisible / 2), models.length - maxVisible));
|
|
26
|
+
return {
|
|
27
|
+
items: models.slice(start, start + maxVisible),
|
|
28
|
+
start,
|
|
29
|
+
hiddenBefore: start,
|
|
30
|
+
hiddenAfter: models.length - start - maxVisible,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export function getModelMenuRowCount(models, highlight) {
|
|
34
|
+
const window = getModelMenuWindow(models, highlight);
|
|
35
|
+
return 2 + window.items.length + Number(window.hiddenBefore > 0) + Number(window.hiddenAfter > 0);
|
|
36
|
+
}
|
|
37
|
+
export function ModelMenu({ models, highlight, currentModel, query, }) {
|
|
38
|
+
const { theme } = useTheme();
|
|
39
|
+
const window = getModelMenuWindow(models, highlight);
|
|
40
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: theme.status, borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, paddingX: 1, children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, color: theme.status, children: "\u9009\u62E9\u6A21\u578B" }), _jsx(Text, { color: theme.dim, dimColor: true, children: query ? ` · 过滤: ${query}` : ' · ↑↓ 选择 · Enter 确认 · Esc 取消' })] }), window.hiddenBefore > 0 && (_jsxs(Text, { color: theme.dim, dimColor: true, children: [" \u2191 \u8FD8\u6709 ", window.hiddenBefore, " \u4E2A\u6A21\u578B"] })), models.length === 0 ? (_jsx(Text, { color: "yellow", children: " \u6CA1\u6709\u5339\u914D\u7684\u53EF\u7528\u6A21\u578B" })) : window.items.map((model, offset) => {
|
|
41
|
+
const index = window.start + offset;
|
|
42
|
+
const active = index === highlight;
|
|
43
|
+
const current = model.alias === currentModel;
|
|
44
|
+
return (_jsxs(Box, { children: [_jsxs(Text, { color: active ? theme.status : undefined, bold: active, wrap: "truncate", children: [active ? '› ' : ' ', String(index + 1).padStart(2, ' '), ". ", model.id] }), _jsxs(Text, { color: theme.dim, dimColor: !active, wrap: "truncate", children: [' ', "(", model.provider, ")", model.alias !== model.id ? ` · 配置: ${model.alias}` : ''] }), current && _jsx(Text, { color: theme.status, children: " \u00B7 \u5F53\u524D" })] }, model.alias));
|
|
45
|
+
}), window.hiddenAfter > 0 && (_jsxs(Text, { color: theme.dim, dimColor: true, children: [" \u2193 \u8FD8\u6709 ", window.hiddenAfter, " \u4E2A\u6A21\u578B"] }))] }));
|
|
46
|
+
}
|
|
13
47
|
//# sourceMappingURL=menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/tui/slash/menu.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/tui/slash/menu.tsx"],"names":[],"mappings":"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"}
|
package/dist/tui/text-input.d.ts
CHANGED
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import React from 'react';
|
|
26
26
|
import { useInputHistory } from './use-input-history.js';
|
|
27
|
+
import { type ModelMenuItem, type ModelMenuState } from './slash/menu.js';
|
|
27
28
|
export interface TextInputProps {
|
|
28
29
|
/** 当前值(受控) */
|
|
29
30
|
value: string;
|
|
@@ -56,8 +57,16 @@ export interface TextInputProps {
|
|
|
56
57
|
onExit?: () => void;
|
|
57
58
|
/** 选中某个 slash 命令时回调(name + 可选参数) */
|
|
58
59
|
onSlash?: (name: string, arg?: string) => void;
|
|
60
|
+
/** `/model` 选择器使用的可用模型列表 */
|
|
61
|
+
models?: ModelMenuItem[];
|
|
62
|
+
/** 当前模型别名,用于菜单标记和初始高亮 */
|
|
63
|
+
currentModel?: string;
|
|
64
|
+
/** 输入模式变化,用于同步底部快捷键提示 */
|
|
65
|
+
onModeChange?: (mode: 'normal' | 'reverse' | 'menu') => void;
|
|
66
|
+
/** 模型面板状态变化;`null` 表示收起 */
|
|
67
|
+
onModelMenuChange?: (state: ModelMenuState | null) => void;
|
|
59
68
|
}
|
|
60
|
-
export declare function TextInput({ value, onChange, onSubmit, multiline, history, prompt, placeholder, disabled, cursorAnchorRef, terminalColumns, onAbort, onExit, onSlash, }: TextInputProps): React.ReactElement;
|
|
69
|
+
export declare function TextInput({ value, onChange, onSubmit, multiline, history, prompt, placeholder, disabled, cursorAnchorRef, terminalColumns, onAbort, onExit, onSlash, models, currentModel, onModeChange, onModelMenuChange, }: TextInputProps): React.ReactElement;
|
|
61
70
|
/**
|
|
62
71
|
* 生成 Ink 完成一帧输出后,将真实终端光标移回输入位置的 ANSI 序列。
|
|
63
72
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../../src/tui/text-input.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../../src/tui/text-input.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAEjF,OAAO,EACL,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAMzB,MAAM,WAAW,cAAc;IAC7B,cAAc;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY;IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kBAAkB;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC7C,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,4BAA4B;IAC5B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7D,2BAA2B;IAC3B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;CAC5D;AAeD,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAgB,EAChB,OAAO,EACP,MAAa,EACb,WAAgB,EAChB,QAAgB,EAChB,eAAe,EACf,eAAoB,EACpB,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,GAClB,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA8crC;AASD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GACtB,MAAM,CA0BR;AAgCD,0CAA0C;AAC1C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQtD;AAiED,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMnE;AAED,0BAA0B;AAC1B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMnE"}
|
package/dist/tui/text-input.js
CHANGED
|
@@ -23,12 +23,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
23
23
|
* 因闭包未 flush 会丢字(实测 "你好" 只留 "好")。M11c 改用 valueRef/cursorRef,
|
|
24
24
|
* 所有可打印字符(单/多)统一走 insertText,彻底消除闭包陷阱,IME 候选可见、可退格改字。
|
|
25
25
|
*/
|
|
26
|
-
import { useState, useCallback, useEffect, useRef } from 'react';
|
|
26
|
+
import { useState, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
27
27
|
import { Text, useInput, useStdin } from 'ink';
|
|
28
28
|
import { reverseSearch, reverseSearchNext, } from './use-input-history.js';
|
|
29
29
|
import { parseSlashCommand } from './slash/parse.js';
|
|
30
30
|
import { filterSlashCommands } from './slash/registry.js';
|
|
31
|
-
import { SlashMenu } from './slash/menu.js';
|
|
31
|
+
import { SlashMenu, filterModelMenuItems, } from './slash/menu.js';
|
|
32
32
|
import { useTheme } from './theme/context.js';
|
|
33
33
|
/** 输入长度硬上限(M11c):粘贴大文件也够,防止异常灌入撑爆 Ink */
|
|
34
34
|
const MAX_INPUT_LENGTH = 100_000;
|
|
@@ -37,11 +37,13 @@ const INITIAL_RS = {
|
|
|
37
37
|
query: '',
|
|
38
38
|
matchIndex: -1,
|
|
39
39
|
};
|
|
40
|
-
export function TextInput({ value, onChange, onSubmit, multiline = true, history, prompt = '> ', placeholder = '', disabled = false, cursorAnchorRef, terminalColumns = 80, onAbort, onExit, onSlash, }) {
|
|
40
|
+
export function TextInput({ value, onChange, onSubmit, multiline = true, history, prompt = '> ', placeholder = '', disabled = false, cursorAnchorRef, terminalColumns = 80, onAbort, onExit, onSlash, models, currentModel, onModeChange, onModelMenuChange, }) {
|
|
41
41
|
const [cursor, setCursor] = useState(value.length);
|
|
42
42
|
const [rs, setRs] = useState(INITIAL_RS);
|
|
43
43
|
const [slashDismissed, setSlashDismissed] = useState(false);
|
|
44
44
|
const [slashHighlight, setSlashHighlight] = useState(0);
|
|
45
|
+
const [modelPickerOpen, setModelPickerOpen] = useState(false);
|
|
46
|
+
const [modelHighlight, setModelHighlight] = useState(0);
|
|
45
47
|
const { stdin, setRawMode } = useStdin();
|
|
46
48
|
const { theme } = useTheme();
|
|
47
49
|
// stdin 原始模式(捕获 Ctrl+C / Ctrl+R 等控制字符)
|
|
@@ -89,16 +91,82 @@ export function TextInput({ value, onChange, onSubmit, multiline = true, history
|
|
|
89
91
|
setCursor(0);
|
|
90
92
|
setRs(INITIAL_RS);
|
|
91
93
|
}, [value, history, onSubmit, onChange]);
|
|
92
|
-
// slash
|
|
93
|
-
const
|
|
94
|
-
const
|
|
94
|
+
// slash / model 菜单状态:`/model` 首次回车后才打开独立模型面板。
|
|
95
|
+
const parsedSlash = parseSlashCommand(value);
|
|
96
|
+
const slashBaseActive = value.startsWith('/') && !slashDismissed && !rs.active;
|
|
97
|
+
const modelPickerActive = modelPickerOpen && parsedSlash.name === 'model' && models !== undefined;
|
|
98
|
+
const modelQuery = modelPickerActive ? parsedSlash.arg?.trim() ?? '' : '';
|
|
99
|
+
const filteredModels = useMemo(() => modelPickerActive ? filterModelMenuItems(models ?? [], modelQuery) : [], [modelPickerActive, models, modelQuery]);
|
|
100
|
+
const slashCmds = slashBaseActive && !modelPickerActive
|
|
101
|
+
? filterSlashCommands(parsedSlash.raw)
|
|
102
|
+
: [];
|
|
103
|
+
const slashMenuActive = slashBaseActive && !modelPickerActive && slashCmds.length > 0;
|
|
104
|
+
const menuActive = modelPickerActive || slashMenuActive;
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
if (modelPickerOpen && parsedSlash.name !== 'model') {
|
|
107
|
+
setModelPickerOpen(false);
|
|
108
|
+
}
|
|
109
|
+
}, [modelPickerOpen, parsedSlash.name]);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
if (!modelPickerActive)
|
|
112
|
+
return;
|
|
113
|
+
setModelHighlight((highlight) => {
|
|
114
|
+
const currentIndex = filteredModels.findIndex((model) => model.alias === currentModel);
|
|
115
|
+
if (!modelQuery && currentIndex >= 0)
|
|
116
|
+
return currentIndex;
|
|
117
|
+
return Math.min(highlight, Math.max(filteredModels.length - 1, 0));
|
|
118
|
+
});
|
|
119
|
+
}, [modelPickerActive, modelQuery, filteredModels.length, currentModel]);
|
|
120
|
+
useEffect(() => {
|
|
121
|
+
onModelMenuChange?.(modelPickerActive
|
|
122
|
+
? {
|
|
123
|
+
models: filteredModels,
|
|
124
|
+
highlight: Math.min(modelHighlight, Math.max(filteredModels.length - 1, 0)),
|
|
125
|
+
currentModel,
|
|
126
|
+
query: modelQuery,
|
|
127
|
+
}
|
|
128
|
+
: null);
|
|
129
|
+
}, [modelPickerActive, filteredModels, modelHighlight, currentModel, modelQuery, onModelMenuChange]);
|
|
130
|
+
const inputMode = menuActive ? 'menu' : rs.active ? 'reverse' : 'normal';
|
|
131
|
+
useEffect(() => {
|
|
132
|
+
onModeChange?.(inputMode);
|
|
133
|
+
}, [inputMode, onModeChange]);
|
|
95
134
|
useInput((input, key) => {
|
|
96
135
|
if (disabled)
|
|
97
136
|
return;
|
|
98
137
|
// ink 的 Key 类型未声明 home/end(Fn+方向键 / 物理 Home/End),这里扩展访问
|
|
99
138
|
const k = key;
|
|
139
|
+
// ── `/model` 二级选择菜单 ──
|
|
140
|
+
if (modelPickerActive) {
|
|
141
|
+
if (key.escape) {
|
|
142
|
+
setModelPickerOpen(false);
|
|
143
|
+
setSlashDismissed(true);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
if (key.upArrow) {
|
|
147
|
+
setModelHighlight((h) => Math.max(0, h - 1));
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
if (key.downArrow) {
|
|
151
|
+
setModelHighlight((h) => Math.min(Math.max(filteredModels.length - 1, 0), h + 1));
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
if (key.return && filteredModels.length > 0) {
|
|
155
|
+
const selected = filteredModels[Math.min(modelHighlight, filteredModels.length - 1)];
|
|
156
|
+
onSlash?.('model', selected.alias);
|
|
157
|
+
setModelPickerOpen(false);
|
|
158
|
+
valueRef.current = '';
|
|
159
|
+
cursorRef.current = 0;
|
|
160
|
+
onChange('');
|
|
161
|
+
setCursor(0);
|
|
162
|
+
setSlashDismissed(false);
|
|
163
|
+
setModelHighlight(0);
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
// 没有匹配项时 Enter 落到普通提交,保留 `/model <alias>` 的错误提示。
|
|
167
|
+
}
|
|
100
168
|
// ── Slash 菜单模式(M1)──
|
|
101
|
-
if (
|
|
169
|
+
if (slashMenuActive) {
|
|
102
170
|
if (key.escape) {
|
|
103
171
|
setSlashDismissed(true);
|
|
104
172
|
return;
|
|
@@ -111,10 +179,21 @@ export function TextInput({ value, onChange, onSubmit, multiline = true, history
|
|
|
111
179
|
setSlashHighlight((h) => Math.min(Math.max(slashCmds.length - 1, 0), h + 1));
|
|
112
180
|
return;
|
|
113
181
|
}
|
|
114
|
-
if (key.return
|
|
182
|
+
if (key.return) {
|
|
115
183
|
const cmd = slashCmds[Math.min(slashHighlight, slashCmds.length - 1)];
|
|
116
|
-
|
|
117
|
-
|
|
184
|
+
if (cmd.name === 'model') {
|
|
185
|
+
const completion = '/model';
|
|
186
|
+
valueRef.current = completion;
|
|
187
|
+
cursorRef.current = completion.length;
|
|
188
|
+
onChange(completion);
|
|
189
|
+
setCursor(completion.length);
|
|
190
|
+
setSlashHighlight(0);
|
|
191
|
+
setModelPickerOpen(true);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
onSlash?.(cmd.name, parsedSlash.arg);
|
|
195
|
+
valueRef.current = '';
|
|
196
|
+
cursorRef.current = 0;
|
|
118
197
|
onChange('');
|
|
119
198
|
setCursor(0);
|
|
120
199
|
setSlashDismissed(false);
|
|
@@ -237,6 +316,11 @@ export function TextInput({ value, onChange, onSubmit, multiline = true, history
|
|
|
237
316
|
}
|
|
238
317
|
// ── 普通模式 ──
|
|
239
318
|
if (key.return) {
|
|
319
|
+
if (parsedSlash.name === 'model' && !parsedSlash.arg && models !== undefined) {
|
|
320
|
+
setSlashDismissed(false);
|
|
321
|
+
setModelPickerOpen(true);
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
240
324
|
if (multiline && (key.shift || key.meta)) {
|
|
241
325
|
insertText('\n');
|
|
242
326
|
return;
|
|
@@ -348,13 +432,14 @@ export function TextInput({ value, onChange, onSubmit, multiline = true, history
|
|
|
348
432
|
// 这里同步计算锚点;run-ink 的 stdout 包装器会在每次真实写帧后的 microtask 恢复它,
|
|
349
433
|
// 不再用 setTimeout 与 Ink 的节流输出抢时序。
|
|
350
434
|
if (cursorAnchorRef) {
|
|
351
|
-
cursorAnchorRef.current = disabled ||
|
|
435
|
+
cursorAnchorRef.current = disabled || menuActive || rs.active
|
|
352
436
|
? ''
|
|
353
437
|
: getCursorAnchorSequence(value, cursor, prompt, terminalColumns);
|
|
354
438
|
}
|
|
355
439
|
// ── 渲染 ──
|
|
356
|
-
|
|
357
|
-
|
|
440
|
+
// 模型面板由 App 渲染在输入框下方;这里始终保留 `/model` 输入行。
|
|
441
|
+
if (slashMenuActive) {
|
|
442
|
+
return _jsx(SlashMenu, { commands: slashCmds, highlight: Math.min(slashHighlight, slashCmds.length - 1) });
|
|
358
443
|
}
|
|
359
444
|
if (rs.active) {
|
|
360
445
|
const matchText = rs.matchIndex >= 0 && history ? history.entries[rs.matchIndex] : '';
|