@aiwayds/dsh-tui-pi 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -12
- package/README.zh.md +35 -19
- package/lib/agents.js +2 -12
- package/lib/agents.js.map +1 -1
- package/lib/model-list.d.ts +64 -0
- package/lib/model-list.js +87 -0
- package/lib/model-list.js.map +1 -0
- package/lib/panels.d.ts +48 -1
- package/lib/panels.js +140 -20
- package/lib/panels.js.map +1 -1
- package/lib/selectors.d.ts +5 -0
- package/lib/selectors.js +112 -6
- package/lib/selectors.js.map +1 -1
- package/lib/session.js +8 -3
- package/lib/session.js.map +1 -1
- package/lib/subagent-policy.d.ts +38 -7
- package/lib/subagent-policy.js +82 -13
- package/lib/subagent-policy.js.map +1 -1
- package/lib/theme-settings.d.ts +23 -0
- package/lib/theme-settings.js +35 -0
- package/lib/theme-settings.js.map +1 -1
- package/package.json +1 -1
- package/scripts/dev-upgrade.mjs +286 -0
- package/scripts/dev-install.mjs +0 -85
package/README.md
CHANGED
|
@@ -164,7 +164,7 @@ Inside a subagent, a committed compaction is visible too: DCP appends one `user/
|
|
|
164
164
|
|
|
165
165
|
| Command | What it does |
|
|
166
166
|
|---|---|
|
|
167
|
-
| `/model` | Two-stage provider/model picker (then thinking level). Live switch, persisted. |
|
|
167
|
+
| `/model` | Two-stage provider/model picker (then thinking level). Live switch, persisted; in-panel keys: `f` favorite · `h` hide · `/` filter (favorites/hidden persisted via settings). |
|
|
168
168
|
| `/think` | Reasoning-effort picker for the current model (`Off`/`High`/`Max`). |
|
|
169
169
|
| `/session` | Read-only info panel: id, cwd, model, token usage, event count. |
|
|
170
170
|
| `/resume` | Pick a persisted session, validate its log, then restore it. |
|
|
@@ -262,18 +262,21 @@ the powerline glyphs on the next start.
|
|
|
262
262
|
|
|
263
263
|
## Install (local)
|
|
264
264
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
265
|
+
The `tui` profile installs this plugin from the npm registry — its
|
|
266
|
+
`package.json` pins `"@aiwayds/dsh-tui-pi": "<version>"`, resolved by pnpm
|
|
267
|
+
like any other dependency. After a release, upgrade the profile with:
|
|
268
268
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
269
|
+
```sh
|
|
270
|
+
node scripts/dev-upgrade.mjs # latest
|
|
271
|
+
node scripts/dev-upgrade.mjs 0.15.1 --dry-run # preview the plan first
|
|
272
272
|
```
|
|
273
273
|
|
|
274
|
-
The
|
|
275
|
-
`dsh-tui-pi`
|
|
276
|
-
|
|
274
|
+
The script verifies the version exists on the registry, updates ONLY the
|
|
275
|
+
`"@aiwayds/dsh-tui-pi"` key in `~/.dsh/profiles/tui/package.json`
|
|
276
|
+
(formatting-preserving read-modify-write), runs `pnpm install` there, then
|
|
277
|
+
checks the installed copy reports the target version. It never touches
|
|
278
|
+
`~/.dsh/settings.yaml` or `.credentials.yaml`. Restart dsh (or `/reload`
|
|
279
|
+
inside the TUI) to load the new copy.
|
|
277
280
|
|
|
278
281
|
## Install (npm)
|
|
279
282
|
|
|
@@ -335,7 +338,7 @@ dsh --profile tui # or: dsh-tui-pi (bin shim)
|
|
|
335
338
|
```sh
|
|
336
339
|
pnpm check # tsc --noEmit
|
|
337
340
|
pnpm build # emit lib/
|
|
338
|
-
pnpm test # unit tests, node --test against lib/ (
|
|
341
|
+
pnpm test # unit tests, node --test against lib/ (569 tests, pretest builds)
|
|
339
342
|
```
|
|
340
343
|
|
|
341
344
|
Local type-checking symlinks `node_modules/@deepseek-ai/*` to the installed
|
|
@@ -368,7 +371,7 @@ src/
|
|
|
368
371
|
subagent-policy.ts maxAgents guard + maxRounds wrap-up injection
|
|
369
372
|
subagent-viewer.ts Ctrl+G picker + live transcript panel
|
|
370
373
|
theme/ GitHub light/dark palettes + terminal detection
|
|
371
|
-
test/*.test.mjs unit tests (
|
|
374
|
+
test/*.test.mjs unit tests (569 across 38 files)
|
|
372
375
|
```
|
|
373
376
|
|
|
374
377
|
---
|
package/README.zh.md
CHANGED
|
@@ -111,6 +111,8 @@ dsh ▸ volc-ark-plan ▸ deepseek-v4-flash ▸ high ▸ 48.7k/1.0M(4.6%) ▸
|
|
|
111
111
|
|
|
112
112
|
每行显示:spinner + 代理**名称**,重试次数(`↻N≤M`),当前上下文占用(`X/Y` —— 子代理最近一次请求的 billed input+output 加上其后消息的 CJK 估算,除以它的上下文窗口;**不是**只增不减的累计 token 消耗),rounds(`round N/M` —— assistant 消息数对上限,`maxRounds > 0` 时才显示 `/M`),耗时。不显示 provider,无边框,无标题。
|
|
113
113
|
|
|
114
|
+
**spawn 派生**与 **fork 派生**两类子代理都会被追踪——dsh 通过 `childSessionMeta` 同时写入 `origin: 'subagent'` 和 `delegationDepth` 预算,头部识别对两种标记都认得(只有预算没有 origin 的头部作为防御性兜底也会被接纳,标记为 `fork <id8>`;当前 dsh 不会产生这种形态)。非子代理会话按**值**而非字段有无被挡在板外:jsonl 持久化后端在每条恢复的头部上都会物化 `delegationDepth: 0`,所以闸门要求预算严格 `> 0`。面向用户的会话 fork(fork 出的*对话*:`Session.fork` 只设 `parentSession` + `seedLength`,不带预算)刻意不进子代理面板,仍可通过 `/resume` 恢复——`/resume` 的过滤器(`isResumableSessionHeader`)恰好排除被委派的子代理(`origin: 'subagent'` 或预算 > 0)。
|
|
115
|
+
|
|
114
116
|
#### Todos 待办面板
|
|
115
117
|
|
|
116
118
|
`● Todos (done/total)` 树是一个有边框的面板,**固定在输入框上方**(不随对话区滚动):
|
|
@@ -148,13 +150,15 @@ dsh plugin --profile tui add @aiwayds/dsh-dcp
|
|
|
148
150
|
|
|
149
151
|
挂载后 DCP 在后台透明运行。Footer 的 **Context** 分段计算的是当前上下文占用 —— 最近一次请求的 billed context 加上其后消息的 CJK 估算 —— 所以裁剪后下一次请求会变小,显示随之回落(百分比封顶 100,窗口是硬上限)。**Cache-hit** 分段反映会话累计的缓存复用。
|
|
150
152
|
|
|
153
|
+
在子代理内部,已提交的裁剪同样可见:DCP 在子代理自己的日志里为每次裁剪追加一行 `user/message` **notice**,Ctrl+G 的对话查看器用 `🧹` 标记渲染它(区别于通用的 `ⓘ`),选择器行的描述里带有该子代理的裁剪次数(`🧹 N×`)。DCP 的 `roundInterval` 与 TUI 的 `maxRounds` 数的是**同一样东西**——`assistant/message` 事件,每次 LLM 往返计 1——但行为不同:子代理计数达到 `maxRounds` 时 TUI 排队发一个收尾请求;会话计数达到 `roundInterval` 后 DCP 在下一个空闲边界执行裁剪(修剪上下文)。一个触发工作,一个释放上下文。
|
|
154
|
+
|
|
151
155
|
---
|
|
152
156
|
|
|
153
157
|
## 斜杠命令
|
|
154
158
|
|
|
155
159
|
| 命令 | 功能 |
|
|
156
160
|
|---|---|
|
|
157
|
-
| `/model` | 两阶段选择 provider/model
|
|
161
|
+
| `/model` | 两阶段选择 provider/model(然后选推理等级),实时切换并持久化。面板内按键:`f` 收藏 · `h` 隐藏 · `/` 过滤(收藏/隐藏经 settings 持久化)。 |
|
|
158
162
|
| `/think` | 当前模型的推理强度选择(`Off`/`High`/`Max`)。 |
|
|
159
163
|
| `/session` | 只读信息面板:id、cwd、模型、token 用量、事件计数。 |
|
|
160
164
|
| `/resume` | 选择已保存的会话,验证日志后恢复。 |
|
|
@@ -163,6 +167,7 @@ dsh plugin --profile tui add @aiwayds/dsh-dcp
|
|
|
163
167
|
| `/export` | 将当前会话日志导出为 JSONL(默认 `~/Downloads/dsh-session-<id>.jsonl`)。 |
|
|
164
168
|
| `/permission` | 权限预设选择器(read-only / workspace-write / danger-full-access)。 |
|
|
165
169
|
| `/theme` | 配色方案选择器(`auto` / `light` / `dark`),实时生效。 |
|
|
170
|
+
| `/preset` | Agent 预设选择器;`<name>` 直接切换,`next` 向前循环(同 `Tab`)。 |
|
|
166
171
|
| `/agents` | 管理 agent markdown 文件 + 子代理限制(`maxAgents`、`maxRounds`)。 |
|
|
167
172
|
| `/subagents` | 选择运行中/最近的子代理,查看其实时对话。 |
|
|
168
173
|
| `/reload` | 从源码热重载插件(`pnpm build` 后执行,无需重启 dsh)。 |
|
|
@@ -182,12 +187,18 @@ dsh plugin --profile tui add @aiwayds/dsh-dcp
|
|
|
182
187
|
| `Ctrl+D` | 退出(仅在编辑器为空时) |
|
|
183
188
|
| `Ctrl+L` | 打开模型/推理强度选择器 |
|
|
184
189
|
| `Ctrl+G` | 打开子代理选择器(有运行中的子代理时) |
|
|
185
|
-
| `Tab` |
|
|
190
|
+
| `Tab` | 循环切换 agent 预设(footer 品牌段显示当前预设 `dsh(<name>)`) |
|
|
186
191
|
| `↑` / `↓` | 浏览历史消息(shell 风格,保留 500 条) |
|
|
187
192
|
|
|
188
193
|
### 自定义快捷键
|
|
189
194
|
|
|
190
|
-
通过 `~/.dsh/keybindings.json`
|
|
195
|
+
通过 `~/.dsh/keybindings.json` 重新映射任意应用按键 —— 一个部分 JSON 映射表,键为应用按键、值为按键 id(`ctrl+letter`、`alt+letter`、命名键)。可手动编辑,或用 `/hotkeys` 交互式修改(实时生效,无需重启)。
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Agent 预设
|
|
200
|
+
|
|
201
|
+
当部署提供了 `standard` 预设时,TUI 启动即选中它;否则选中扫描到的第一项。这只是本地选择:在你操作 `/preset` 或按 `Tab` 之前,创建会话时不会发送任何 `meta.agentPreset`,因此仍由服务端默认值(`agent-presets.default`)决定。footer 品牌段反映本地选择(`dsh(<name>)`);一次切换会在下一个空白会话生效。
|
|
191
202
|
|
|
192
203
|
---
|
|
193
204
|
|
|
@@ -200,6 +211,9 @@ GitHub light / GitHub dark 配色方案,运行时热切换:
|
|
|
200
211
|
- `DSH_TUI_TRANSPARENT=1` —— 透明画布(终端背景可见)。
|
|
201
212
|
- `auto` 模式自动检测终端并跟随实时明暗切换。
|
|
202
213
|
|
|
214
|
+
全屏画布背景随包内置 —— 由写流装饰器(`src/canvas-terminal.ts`)用主题色
|
|
215
|
+
经 BCE 给每条擦除序列上色,无需补丁依赖。
|
|
216
|
+
|
|
203
217
|
---
|
|
204
218
|
|
|
205
219
|
## 字体
|
|
@@ -237,18 +251,20 @@ wezterm → `wezterm.font("…")`。下次启动时 `auto` 就会解析成 Power
|
|
|
237
251
|
|
|
238
252
|
## 安装(本地)
|
|
239
253
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
254
|
+
`tui` profile 通过 npm registry 安装本插件——profile 的 `package.json` 钉
|
|
255
|
+
`"@aiwayds/dsh-tui-pi": "<version>"`,由 pnpm 像普通依赖一样解析。发版后
|
|
256
|
+
升级 profile:
|
|
243
257
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
258
|
+
```sh
|
|
259
|
+
node scripts/dev-upgrade.mjs # 最新版
|
|
260
|
+
node scripts/dev-upgrade.mjs 0.15.1 --dry-run # 先预览执行计划
|
|
247
261
|
```
|
|
248
262
|
|
|
249
|
-
|
|
250
|
-
`dsh-tui-pi
|
|
251
|
-
|
|
263
|
+
脚本先在 registry 上校验版本存在,然后只更新
|
|
264
|
+
`~/.dsh/profiles/tui/package.json` 里的 `"@aiwayds/dsh-tui-pi"` 一个键
|
|
265
|
+
(保格式的 read-modify-write),在该目录执行 `pnpm install`,最后校验安装
|
|
266
|
+
副本的版本与目标一致。绝不碰 `~/.dsh/settings.yaml` 和
|
|
267
|
+
`.credentials.yaml`。重启 dsh(或在 TUI 内 `/reload`)加载新副本。
|
|
252
268
|
|
|
253
269
|
## 安装(npm)
|
|
254
270
|
|
|
@@ -277,16 +293,16 @@ dsh --profile tui
|
|
|
277
293
|
|
|
278
294
|
**不会自动完成的事:**
|
|
279
295
|
|
|
280
|
-
-
|
|
281
|
-
|
|
282
|
-
`pnpm-workspace.yaml`
|
|
283
|
-
补丁照样启动,只是未选中行不会渲染全行背景。
|
|
296
|
+
- 不再有任何补丁相关的事:自 0.8.0 起,仓库和 npm 包运行的是同一个
|
|
297
|
+
原版 `@earendil-works/pi-tui`——画布背景由我们自己的写流装饰器(BCE)
|
|
298
|
+
绘制,随包内置,消费方 profile 无需任何 `pnpm-workspace.yaml` 条目。
|
|
284
299
|
|
|
285
300
|
### 故障排查
|
|
286
301
|
|
|
287
302
|
| 症状 | 原因 | 修复 |
|
|
288
303
|
|---|---|---|
|
|
289
304
|
| `Cannot find package '<name>' imported from ~/.dsh/profiles/...` | 某个 bundle 的 `cordis.patch.yml` 的 `name` 字段与 scoped 包名不匹配 | 更新插件(所有 `@aiwayds/*` 插件已修复补丁 `name` 字段) |
|
|
305
|
+
| npm 安装的 dsh 报 `Cannot find package '@deepseek-ai/dsh-client-schema-form'` | npm 分发的 dsh 闭包缺这个包(上游打包缺口——[deepseek-harness discussion #3471](https://github.com/deepseek-ai/deepseek-harness/discussions/3471)) | 本插件自 0.8.1 起已修(辅助函数内置,不再 import 缺失的包)。其他需要它的插件:`cd ~/.dsh/profiles/<profile> && pnpm add @deepseek-ai/dsh-client-schema-form@next` |
|
|
290
306
|
| `Cannot read properties of undefined (reading 'prepare')` | profile 树里出现两个 `@deepseek-ai/cordis` 物理副本(模块重复安装) | 见 AGENTS.md 铁律 8。删掉物理副本:`rm -rf ~/.dsh/profiles/tui/node_modules/@deepseek-ai && dsh --profile tui`(dsh 会重新 heal 为软链) |
|
|
291
307
|
| pnpm 提示 `Peer dependencies that should be installed: @deepseek-ai/...` | 某个插件把 `@deepseek-ai/*` 放在 `dependencies` 而非 `peerDependencies` | 更新插件(所有 `@aiwayds/*` dsh 插件已改用 optional peerDeps),警告无害 |
|
|
292
308
|
| pnpm 提示 `Ignored build scripts: @aiwayds/dsh-tui-pi@...` | pnpm 10 默认阻止 build 脚本,tui-pi 的 postinstall 被跳过 | **正常且无害**——postinstall 只影响仓库开发流,npm 消费者由 dsh 的 `healProfilesModuleFallback` 处理闭包链接 |
|
|
@@ -306,12 +322,12 @@ dsh --profile tui # 或:dsh-tui-pi(bin shim)
|
|
|
306
322
|
```sh
|
|
307
323
|
pnpm check # tsc --noEmit
|
|
308
324
|
pnpm build # 输出 lib/
|
|
309
|
-
pnpm test # 单元测试,node --test 对 lib/ 执行(
|
|
325
|
+
pnpm test # 单元测试,node --test 对 lib/ 执行(569 个测试,pretest 自动构建)
|
|
310
326
|
```
|
|
311
327
|
|
|
312
328
|
本地类型检查通过 symlink `node_modules/@deepseek-ai/*` 指向已安装的 dsh 闭包(`/opt/homebrew/lib/node_modules/@deepseek-ai/dsh/node_modules`);这些 symlink 不会打入 tarball。`scripts/link-dsh-closure.mjs`(`postinstall`)在每次 `pnpm install` 后重新创建所有 symlink。
|
|
313
329
|
|
|
314
|
-
**pi-tui
|
|
330
|
+
**pi-tui**:npm 上的原版 `@earendil-works/pi-tui` 0.84.2——无补丁、无 fork。全屏画布背景由我们自己的写流装饰器实现(`src/canvas-terminal.ts`,BCE)。
|
|
315
331
|
|
|
316
332
|
---
|
|
317
333
|
|
|
@@ -331,7 +347,7 @@ src/
|
|
|
331
347
|
subagent-policy.ts maxAgents 守卫 + maxRounds 收尾请求注入
|
|
332
348
|
subagent-viewer.ts Ctrl+G 选择器 + 实时对话面板
|
|
333
349
|
theme/ GitHub light/dark 配色 + 终端检测
|
|
334
|
-
test/*.test.mjs 单元测试(
|
|
350
|
+
test/*.test.mjs 单元测试(569 个,覆盖 38 个文件)
|
|
335
351
|
```
|
|
336
352
|
|
|
337
353
|
---
|
package/lib/agents.js
CHANGED
|
@@ -211,18 +211,7 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect)
|
|
|
211
211
|
? undefined
|
|
212
212
|
: agents.findIndex(agent => agent.meta.name === pendingPreselect);
|
|
213
213
|
pendingPreselect = undefined;
|
|
214
|
-
|
|
215
|
-
// thin subclass that routes the key before the table's own handling.
|
|
216
|
-
class AgentTablePanel extends TablePanel {
|
|
217
|
-
handleInput(data) {
|
|
218
|
-
if (data.toLowerCase() === 'l') {
|
|
219
|
-
showLimits();
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
super.handleInput(data);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
const table = new AgentTablePanel(theme, {
|
|
214
|
+
const table = new TablePanel(theme, {
|
|
226
215
|
title: '● Agents',
|
|
227
216
|
columns: agentColumns(agents),
|
|
228
217
|
rows: agents,
|
|
@@ -236,6 +225,7 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect)
|
|
|
236
225
|
showFields(agent);
|
|
237
226
|
},
|
|
238
227
|
onCancel: () => closeManager(),
|
|
228
|
+
shortcuts: { l: showLimits },
|
|
239
229
|
});
|
|
240
230
|
host.open(table);
|
|
241
231
|
};
|
package/lib/agents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure model-list assembly for the /model picker — favorites pinned on top,
|
|
3
|
+
* hidden models in a dim section at the bottom, everything between. No TUI
|
|
4
|
+
* imports: every function here is plain data-in/data-out, so the ordering,
|
|
5
|
+
* filtering and toggle semantics stay unit-testable without a terminal
|
|
6
|
+
* (test/model-list.test.mjs).
|
|
7
|
+
*/
|
|
8
|
+
/** One listed model route (provider + model id + display name). */
|
|
9
|
+
export interface ListedModel {
|
|
10
|
+
provider: string;
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
}
|
|
14
|
+
/** Composite settings key of a model: `${provider}/${id}`. */
|
|
15
|
+
export declare function modelKey(model: Pick<ListedModel, 'provider' | 'id'>): string;
|
|
16
|
+
/**
|
|
17
|
+
* One rendered row of the model picker table. `divider` separates the
|
|
18
|
+
* favorites from the rest; `hiddenHeader` opens the dim Hidden section.
|
|
19
|
+
* Both are structural and never selectable (see TablePanel `isSelectable`).
|
|
20
|
+
*/
|
|
21
|
+
export type ModelRow = {
|
|
22
|
+
kind: 'model';
|
|
23
|
+
section: 'favorite' | 'normal' | 'hidden';
|
|
24
|
+
model: ListedModel;
|
|
25
|
+
} | {
|
|
26
|
+
kind: 'divider';
|
|
27
|
+
} | {
|
|
28
|
+
kind: 'hiddenHeader';
|
|
29
|
+
count: number;
|
|
30
|
+
};
|
|
31
|
+
/** Case-insensitive substring match of `query` against name/id/provider. */
|
|
32
|
+
export declare function matchesModelFilter(model: ListedModel, query: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Toggle `key` in `list`: remove when present, append when absent (join
|
|
35
|
+
* order = favorite order). Returns a new array; the input is never mutated.
|
|
36
|
+
*/
|
|
37
|
+
export declare function toggleStringList(list: readonly string[], key: string): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Hide-toggle guard: a favorite row is also shown pinned in Favorites, so
|
|
40
|
+
* hiding it from there would silently persist `hiddenModels` with no visual
|
|
41
|
+
* feedback (the model would only resurface once unfavorited — suddenly
|
|
42
|
+
* landing in the Hidden section). The picker must refuse `h` on a favorite
|
|
43
|
+
* row; the user unfavorites first.
|
|
44
|
+
*/
|
|
45
|
+
export declare function canHideModelRow(row: ModelRow): boolean;
|
|
46
|
+
/** Narrow an unknown settings value into a string[] (non-strings dropped). */
|
|
47
|
+
export declare function narrowStringList(value: unknown): string[];
|
|
48
|
+
/**
|
|
49
|
+
* Assemble the picker rows, top to bottom:
|
|
50
|
+
*
|
|
51
|
+
* 1. Favorites (`section: 'favorite'`, ★ prefix applied by renderCell), in
|
|
52
|
+
* join order — a favorited model is removed from every other section;
|
|
53
|
+
* 2. one full-width divider row — only when at least one favorite is visible
|
|
54
|
+
* AND something follows it;
|
|
55
|
+
* 3. the remaining models (`section: 'normal'`) in listing order;
|
|
56
|
+
* 4. the Hidden section — only without an active filter and when non-empty:
|
|
57
|
+
* a `hiddenHeader` row carrying the count, then the hidden models
|
|
58
|
+
* (`section: 'hidden'`, rendered dim) that are not also favorited.
|
|
59
|
+
*
|
|
60
|
+
* An active `filter` keeps the pinned structure but leaves only matching
|
|
61
|
+
* models per section; stale keys in `favorites`/`hidden` (models no longer
|
|
62
|
+
* listed by any provider) are skipped silently.
|
|
63
|
+
*/
|
|
64
|
+
export declare function buildModelRows(models: readonly ListedModel[], favorites: readonly string[], hidden: readonly string[], filter?: string): ModelRow[];
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure model-list assembly for the /model picker — favorites pinned on top,
|
|
3
|
+
* hidden models in a dim section at the bottom, everything between. No TUI
|
|
4
|
+
* imports: every function here is plain data-in/data-out, so the ordering,
|
|
5
|
+
* filtering and toggle semantics stay unit-testable without a terminal
|
|
6
|
+
* (test/model-list.test.mjs).
|
|
7
|
+
*/
|
|
8
|
+
/** Composite settings key of a model: `${provider}/${id}`. */
|
|
9
|
+
export function modelKey(model) {
|
|
10
|
+
return `${model.provider}/${model.id}`;
|
|
11
|
+
}
|
|
12
|
+
/** Case-insensitive substring match of `query` against name/id/provider. */
|
|
13
|
+
export function matchesModelFilter(model, query) {
|
|
14
|
+
const needle = query.trim().toLowerCase();
|
|
15
|
+
if (needle === '')
|
|
16
|
+
return true;
|
|
17
|
+
return (model.name.toLowerCase().includes(needle)
|
|
18
|
+
|| model.id.toLowerCase().includes(needle)
|
|
19
|
+
|| model.provider.toLowerCase().includes(needle));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Toggle `key` in `list`: remove when present, append when absent (join
|
|
23
|
+
* order = favorite order). Returns a new array; the input is never mutated.
|
|
24
|
+
*/
|
|
25
|
+
export function toggleStringList(list, key) {
|
|
26
|
+
return list.includes(key) ? list.filter(entry => entry !== key) : [...list, key];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Hide-toggle guard: a favorite row is also shown pinned in Favorites, so
|
|
30
|
+
* hiding it from there would silently persist `hiddenModels` with no visual
|
|
31
|
+
* feedback (the model would only resurface once unfavorited — suddenly
|
|
32
|
+
* landing in the Hidden section). The picker must refuse `h` on a favorite
|
|
33
|
+
* row; the user unfavorites first.
|
|
34
|
+
*/
|
|
35
|
+
export function canHideModelRow(row) {
|
|
36
|
+
return row.kind !== 'model' || row.section !== 'favorite';
|
|
37
|
+
}
|
|
38
|
+
/** Narrow an unknown settings value into a string[] (non-strings dropped). */
|
|
39
|
+
export function narrowStringList(value) {
|
|
40
|
+
return Array.isArray(value)
|
|
41
|
+
? value.filter((entry) => typeof entry === 'string')
|
|
42
|
+
: [];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Assemble the picker rows, top to bottom:
|
|
46
|
+
*
|
|
47
|
+
* 1. Favorites (`section: 'favorite'`, ★ prefix applied by renderCell), in
|
|
48
|
+
* join order — a favorited model is removed from every other section;
|
|
49
|
+
* 2. one full-width divider row — only when at least one favorite is visible
|
|
50
|
+
* AND something follows it;
|
|
51
|
+
* 3. the remaining models (`section: 'normal'`) in listing order;
|
|
52
|
+
* 4. the Hidden section — only without an active filter and when non-empty:
|
|
53
|
+
* a `hiddenHeader` row carrying the count, then the hidden models
|
|
54
|
+
* (`section: 'hidden'`, rendered dim) that are not also favorited.
|
|
55
|
+
*
|
|
56
|
+
* An active `filter` keeps the pinned structure but leaves only matching
|
|
57
|
+
* models per section; stale keys in `favorites`/`hidden` (models no longer
|
|
58
|
+
* listed by any provider) are skipped silently.
|
|
59
|
+
*/
|
|
60
|
+
export function buildModelRows(models, favorites, hidden, filter = '') {
|
|
61
|
+
const byKey = new Map(models.map(model => [modelKey(model), model]));
|
|
62
|
+
const favKeys = new Set(favorites);
|
|
63
|
+
const hiddenSet = new Set(hidden);
|
|
64
|
+
const favRows = favorites
|
|
65
|
+
.map(key => byKey.get(key))
|
|
66
|
+
.filter((model) => model !== undefined && matchesModelFilter(model, filter))
|
|
67
|
+
.map(model => ({ kind: 'model', section: 'favorite', model }));
|
|
68
|
+
const normalRows = models
|
|
69
|
+
.filter(model => !favKeys.has(modelKey(model))
|
|
70
|
+
&& !hiddenSet.has(modelKey(model))
|
|
71
|
+
&& matchesModelFilter(model, filter))
|
|
72
|
+
.map(model => ({ kind: 'model', section: 'normal', model }));
|
|
73
|
+
const hiddenModels = models.filter(model => hiddenSet.has(modelKey(model)) && !favKeys.has(modelKey(model)));
|
|
74
|
+
const showHidden = filter.trim() === '' && hiddenModels.length > 0;
|
|
75
|
+
const rows = [...favRows];
|
|
76
|
+
if (favRows.length > 0 && (normalRows.length > 0 || showHidden)) {
|
|
77
|
+
rows.push({ kind: 'divider' });
|
|
78
|
+
}
|
|
79
|
+
rows.push(...normalRows);
|
|
80
|
+
if (showHidden) {
|
|
81
|
+
rows.push({ kind: 'hiddenHeader', count: hiddenModels.length });
|
|
82
|
+
for (const model of hiddenModels)
|
|
83
|
+
rows.push({ kind: 'model', section: 'hidden', model });
|
|
84
|
+
}
|
|
85
|
+
return rows;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=model-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-list.js","sourceRoot":"","sources":["../src/model-list.ts"],"names":[],"mappings":"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"}
|
package/lib/panels.d.ts
CHANGED
|
@@ -106,12 +106,22 @@ export declare class ListController {
|
|
|
106
106
|
scroll: number;
|
|
107
107
|
readonly maxVisible: number;
|
|
108
108
|
private readonly length;
|
|
109
|
-
|
|
109
|
+
private readonly selectable;
|
|
110
|
+
constructor(length: () => number, maxVisible?: number, selectable?: (index: number) => boolean);
|
|
110
111
|
up(): void;
|
|
111
112
|
down(): void;
|
|
112
113
|
pageUp(): void;
|
|
113
114
|
pageDown(): void;
|
|
114
115
|
setIndex(index: number): void;
|
|
116
|
+
/**
|
|
117
|
+
* Move to `target` clamped into range, snapping onto the nearest selectable
|
|
118
|
+
* row: scan from the target toward `fallbackDir`, then the other way. This
|
|
119
|
+
* keeps the cursor off unselectable rows (dividers, section headers) — a
|
|
120
|
+
* list with no selectable row at all keeps the cursor where it is.
|
|
121
|
+
*/
|
|
122
|
+
private moveTo;
|
|
123
|
+
/** Nearest selectable index scanning from `start` toward `dir`; undefined when none. */
|
|
124
|
+
private scan;
|
|
115
125
|
private clampScroll;
|
|
116
126
|
}
|
|
117
127
|
/** Render the ▸/spaces row marker for the selected row. */
|
|
@@ -145,6 +155,30 @@ export interface TablePanelOptions<T> {
|
|
|
145
155
|
preselect?: number;
|
|
146
156
|
/** Visible rows before scrolling (default 12). */
|
|
147
157
|
maxVisible?: number;
|
|
158
|
+
/** Single-key shortcuts mapped to actions (checked after navigation, before confirm/cancel). */
|
|
159
|
+
shortcuts?: Readonly<Record<string, () => void>>;
|
|
160
|
+
/** Rows the cursor may rest on (default: every row). Unselectable rows are skipped by navigation. */
|
|
161
|
+
isSelectable?: (row: T) => boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Full-width replacement line for structural rows (divider, section header).
|
|
164
|
+
* Returning a string renders exactly that line (clipped); returning
|
|
165
|
+
* undefined falls through to the normal cell rendering.
|
|
166
|
+
*/
|
|
167
|
+
specialRow?: (row: T, width: number) => string | undefined;
|
|
168
|
+
/** Rows rendered in the dimmer subtle color instead of muted (e.g. hidden models). */
|
|
169
|
+
dimRow?: (row: T) => boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Live substring filter owned by the caller: `/` engages a single-line
|
|
172
|
+
* input inside the panel; every keystroke lands in `onQueryChange` (the
|
|
173
|
+
* caller rebuilds `rows`), Enter confirms and leaves input mode, Esc clears
|
|
174
|
+
* the query. The query itself is session-local — the panel never persists it.
|
|
175
|
+
*/
|
|
176
|
+
filter?: {
|
|
177
|
+
getQuery(): string;
|
|
178
|
+
onQueryChange(query: string): void;
|
|
179
|
+
};
|
|
180
|
+
/** Live status line (attention-colored) shown above the footer. */
|
|
181
|
+
status?: () => string | undefined;
|
|
148
182
|
}
|
|
149
183
|
/**
|
|
150
184
|
* A self-drawn table panel: optional title, an uppercase header row with the
|
|
@@ -155,10 +189,23 @@ export declare class TablePanel<T> implements Component {
|
|
|
155
189
|
private readonly theme;
|
|
156
190
|
private readonly options;
|
|
157
191
|
private readonly controller;
|
|
192
|
+
/** True while the filter input line owns the keyboard (see `options.filter`). */
|
|
193
|
+
private filterInput;
|
|
158
194
|
constructor(theme: TuiTheme, options: TablePanelOptions<T>);
|
|
159
195
|
invalidate(): void;
|
|
160
196
|
/** The row under the cursor (undefined on an empty table). */
|
|
161
197
|
selectedRow(): T | undefined;
|
|
198
|
+
/**
|
|
199
|
+
* Move the cursor onto the first row matching `predicate`. Returns whether
|
|
200
|
+
* a row matched — callers use the miss to fall back to `resyncCursor`
|
|
201
|
+
* (e.g. the toggled row vanished from the rebuilt list).
|
|
202
|
+
*/
|
|
203
|
+
focusRow(predicate: (row: T) => boolean): boolean;
|
|
204
|
+
/**
|
|
205
|
+
* Re-clamp the cursor after an out-of-band rows swap (the caller reassigns
|
|
206
|
+
* `options.rows`): keeps it in range and on a selectable row.
|
|
207
|
+
*/
|
|
208
|
+
resyncCursor(): void;
|
|
162
209
|
render(width: number): string[];
|
|
163
210
|
handleInput(data: string): void;
|
|
164
211
|
}
|