@deepseek-harness-tui/dsh-tui 0.8.7 → 0.8.8

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 (37) hide show
  1. package/README.md +2 -2
  2. package/bin/dsh-tui.js +1 -1
  3. package/lib/types/components/FileSuggestions.d.ts +8 -4
  4. package/lib/types/components/FileSuggestions.d.ts.map +1 -1
  5. package/lib/types/components/FileSuggestions.js +22 -12
  6. package/lib/types/components/LogoV2.d.ts +5 -1
  7. package/lib/types/components/LogoV2.d.ts.map +1 -1
  8. package/lib/types/components/LogoV2.js +12 -3
  9. package/lib/types/components/PromptInput.d.ts.map +1 -1
  10. package/lib/types/components/PromptInput.js +25 -21
  11. package/lib/types/dsh-adapter/channel.d.ts +11 -1
  12. package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
  13. package/lib/types/dsh-adapter/channel.js +100 -37
  14. package/lib/types/dsh-adapter/contract.d.ts +58 -18
  15. package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
  16. package/lib/types/dsh-adapter/contract.js +124 -36
  17. package/lib/types/dsh-adapter/index.d.ts.map +1 -1
  18. package/lib/types/dsh-adapter/index.js +6 -12
  19. package/lib/types/i18n.d.ts +18 -1
  20. package/lib/types/i18n.d.ts.map +1 -1
  21. package/lib/types/i18n.js +22 -2
  22. package/lib/types/ink/ink.d.ts.map +1 -1
  23. package/lib/types/ink/ink.js +38 -23
  24. package/lib/types/ink/render-node-to-output.d.ts +6 -3
  25. package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
  26. package/lib/types/ink/render-node-to-output.js +33 -7
  27. package/lib/types/ink/selection.d.ts +29 -4
  28. package/lib/types/ink/selection.d.ts.map +1 -1
  29. package/lib/types/ink/selection.js +41 -5
  30. package/lib/types/tips.d.ts.map +1 -1
  31. package/lib/types/tips.js +22 -4
  32. package/lib/types/utils/fileSuggestions.d.ts +19 -0
  33. package/lib/types/utils/fileSuggestions.d.ts.map +1 -0
  34. package/lib/types/utils/fileSuggestions.js +40 -0
  35. package/lib/types/utils/mentions.d.ts.map +1 -1
  36. package/lib/types/utils/mentions.js +3 -1
  37. package/package.json +67 -66
package/README.md CHANGED
@@ -39,10 +39,10 @@
39
39
  <img src="screenshots/wechat-official.png" alt="DeepSeek Harness 官方公众号推文收录 dsh-TUI" width="560">
40
40
  </p>
41
41
 
42
- 同时也被 [dshfind](https://dshfind.com/ccch1mneyyy/dsh-TUI) 插件目录收录:
42
+ 同时也被 [dshfind](https://dshfind.com/zh/plugins/ccch1mneyyy/dsh-TUI) 插件目录收录:
43
43
 
44
44
  <p align="center">
45
- <a href="https://dshfind.com/ccch1mneyyy/dsh-TUI"><img src="https://dshfind.com/api/card/ccch1mneyyy/dsh-TUI?lang=zh" alt="dsh-TUI on dshfind"></a>
45
+ <a href="https://dshfind.com/zh/plugins/ccch1mneyyy/dsh-TUI"><img src="https://dshfind.com/api/card/ccch1mneyyy/dsh-TUI?lang=zh" alt="dsh-TUI on dshfind"></a>
46
46
  </p>
47
47
 
48
48
  ## 核心能力
package/bin/dsh-tui.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * dsh-tui — 双态启动器(delegating launcher,0.8.7)。
3
+ * dsh-tui — 双态启动器(delegating launcher,0.8.8)。
4
4
  *
5
5
  * 同一个文件按“自己住在哪”决定扮演的角色:
6
6
  *
@@ -1,11 +1,15 @@
1
1
  import React from 'react';
2
+ import type { FileCandidate } from '../utils/fileSuggestions.js';
2
3
  /**
3
- * The `@` file-completion overlay in CC's suggestion style: `+` icon prefix
4
- * (CC's file suggestions) + name column + description. The selected row
5
- * renders in the theme's `suggestion` color, others dim.
4
+ * The `@` file-completion overlay in CC's suggestion style: full relative
5
+ * path (directory suffix stripped) + a `file`/`directory` description. The
6
+ * selected row renders in the theme's `suggestion` color, others dim. The
7
+ * name column is padded to a fixed display width so the description column
8
+ * keeps its contract at narrow terminals (pinned by verify-cjk-truncate.tsx);
9
+ * every pad/truncate uses display width, so CJK names never split a glyph.
6
10
  */
7
11
  export declare function FileSuggestions({ files, selectedIndex, columns, }: {
8
- files: readonly string[];
12
+ files: readonly FileCandidate[];
9
13
  selectedIndex: number;
10
14
  columns: number;
11
15
  }): React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"FileSuggestions.d.ts","sourceRoot":"","sources":["../../../src/components/FileSuggestions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,aAAa,EACb,OAAO,GACR,EAAE;IACD,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,KAAK,CAAC,SAAS,CAqClB"}
1
+ {"version":3,"file":"FileSuggestions.d.ts","sourceRoot":"","sources":["../../../src/components/FileSuggestions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAEhE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,aAAa,EACb,OAAO,GACR,EAAE;IACD,KAAK,EAAE,SAAS,aAAa,EAAE,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,KAAK,CAAC,SAAS,CAgDlB"}
@@ -3,24 +3,34 @@ import { Box, Text } from '../ui.js';
3
3
  import { stringWidth } from '../ink/stringWidth.js';
4
4
  import { truncateToWidth } from '../ink/truncateToWidth.js';
5
5
  /**
6
- * The `@` file-completion overlay in CC's suggestion style: `+` icon prefix
7
- * (CC's file suggestions) + name column + description. The selected row
8
- * renders in the theme's `suggestion` color, others dim.
6
+ * The `@` file-completion overlay in CC's suggestion style: full relative
7
+ * path (directory suffix stripped) + a `file`/`directory` description. The
8
+ * selected row renders in the theme's `suggestion` color, others dim. The
9
+ * name column is padded to a fixed display width so the description column
10
+ * keeps its contract at narrow terminals (pinned by verify-cjk-truncate.tsx);
11
+ * every pad/truncate uses display width, so CJK names never split a glyph.
9
12
  */
10
13
  export function FileSuggestions({ files, selectedIndex, columns, }) {
11
14
  if (files.length === 0)
12
15
  return null;
13
16
  const maxVisible = 6;
14
- const startIndex = Math.max(0, Math.min(selectedIndex - Math.floor(maxVisible / 2), files.length - maxVisible));
17
+ const safeIndex = Math.min(Math.max(0, selectedIndex), files.length - 1);
18
+ const startIndex = Math.max(0, Math.min(safeIndex - Math.floor(maxVisible / 2), Math.max(0, files.length - maxVisible)));
15
19
  const visible = files.slice(startIndex, startIndex + maxVisible);
20
+ const nameOf = (file) => file.kind === 'directory' && file.path.endsWith('/')
21
+ ? file.path.slice(0, -1)
22
+ : file.path;
23
+ const NAME_COLUMN = 20;
24
+ const descriptionWidth = Math.max(0, columns - 24);
16
25
  return (_jsx(Box, { flexDirection: "column", children: visible.map(file => {
17
- const isSelected = file === files[selectedIndex];
18
- const isDir = file.endsWith('/');
19
- const name = isDir ? file.slice(0, -1) : file;
20
- const descriptionWidth = Math.max(0, columns - 24);
21
- const description = isDir ? 'directory' : 'file';
22
- return (_jsxs(Text, { wrap: "truncate", children: [_jsxs(Text, { color: isSelected ? 'suggestion' : undefined, dimColor: !isSelected, children: ["+ ", name] }), _jsxs(Text, { color: isSelected ? 'suggestion' : undefined, dimColor: !isSelected, children: [' '.repeat(Math.max(1, 20 - stringWidth(name))), stringWidth(description) > descriptionWidth
23
- ? truncateToWidth(description, descriptionWidth - 1) + '…'
24
- : description] })] }, file));
26
+ const isSelected = file.id === files[safeIndex]?.id;
27
+ const name = nameOf(file);
28
+ const icon = file.kind === 'directory' ? '▸ ' : '+ ';
29
+ const padded = name + ' '.repeat(Math.max(1, NAME_COLUMN - stringWidth(name)));
30
+ const description = file.kind === 'directory' ? 'directory' : 'file';
31
+ const renderedDescription = stringWidth(description) > descriptionWidth
32
+ ? truncateToWidth(description, Math.max(0, descriptionWidth - 1)) + '…'
33
+ : description;
34
+ return (_jsxs(Text, { wrap: "truncate", children: [_jsxs(Text, { color: isSelected ? 'suggestion' : undefined, dimColor: !isSelected, children: [icon, padded] }), _jsx(Text, { color: isSelected ? 'suggestion' : undefined, dimColor: !isSelected, children: renderedDescription })] }, file.id));
25
35
  }) }));
26
36
  }
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type Tip } from '../tips.js';
3
+ import { type UpstreamDriftSummary } from '../dsh-adapter/contract.js';
3
4
  /**
4
5
  * The header splash: one layout, two phases. The **opening** (~3.4s, once)
5
6
  * plays the hand-drawn whale animation (blink → water-spout bloom → tail
@@ -14,7 +15,7 @@ import { type Tip } from '../tips.js';
14
15
  * the whale the welcome tagline, centered under the art, in ice
15
16
  * blue. Narrow terminals drop the whale and keep the text column.
16
17
  */
17
- export declare function LogoV2({ model, effort, cwd, skipIntro, tip, whale, }: {
18
+ export declare function LogoV2({ model, effort, cwd, skipIntro, tip, whale, drift, }: {
18
19
  model: string;
19
20
  effort?: string | undefined;
20
21
  cwd: string;
@@ -24,5 +25,8 @@ export declare function LogoV2({ model, effort, cwd, skipIntro, tip, whale, }: {
24
25
  tip?: Tip;
25
26
  /** Show the pixel whale art (settings `dsh-tui.whale`); off → text-only header. */
26
27
  whale?: boolean;
28
+ /** Test seam: pin/suppress the upstream-drift notice (`null` forces it off;
29
+ * `undefined` — the production default — auto-detects the install). */
30
+ drift?: UpstreamDriftSummary | null;
27
31
  }): React.ReactNode;
28
32
  //# sourceMappingURL=LogoV2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogoV2.d.ts","sourceRoot":"","sources":["../../../src/components/LogoV2.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,YAAY,CAAA;AAuDpD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,MAAM,EACN,GAAG,EACH,SAAiB,EACjB,GAAG,EACH,KAAY,GACb,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GAAG,KAAK,CAAC,SAAS,CAqFlB"}
1
+ {"version":3,"file":"LogoV2.d.ts","sourceRoot":"","sources":["../../../src/components/LogoV2.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoD,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAuDxH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,MAAM,EACN,GAAG,EACH,SAAiB,EACjB,GAAG,EACH,KAAY,EACZ,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;2EACuE;IACvE,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAA;CACpC,GAAG,KAAK,CAAC,SAAS,CAyGlB"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { getLang, t as tr } from '../i18n.js';
3
+ import { getLang, t as tr, tOr } from '../i18n.js';
4
4
  import { pickRandomTip } from '../tips.js';
5
+ import { upstreamDriftSummary, UPSTREAM_VALIDATED_VERSION } from '../dsh-adapter/contract.js';
5
6
  import { readFileSync } from 'node:fs';
6
7
  import { dirname, join } from 'node:path';
7
8
  import { fileURLToPath } from 'node:url';
@@ -65,7 +66,7 @@ function capitalize(text) {
65
66
  * the whale the welcome tagline, centered under the art, in ice
66
67
  * blue. Narrow terminals drop the whale and keep the text column.
67
68
  */
68
- export function LogoV2({ model, effort, cwd, skipIntro = false, tip, whale = true, }) {
69
+ export function LogoV2({ model, effort, cwd, skipIntro = false, tip, whale = true, drift, }) {
69
70
  const [step, setStep] = React.useState(skipIntro ? OPENING_SEQUENCE.length : 0);
70
71
  const settled = step >= OPENING_SEQUENCE.length;
71
72
  // Opening clock: drives the shimmer sweep and big-text highlight only
@@ -99,11 +100,19 @@ export function LogoV2({ model, effort, cwd, skipIntro = false, tip, whale = tru
99
100
  // repaint (language switch, terminal resize), or the line would flicker.
100
101
  // `tip` is a test seam; production always passes undefined and rolls.
101
102
  const [randomTip] = React.useState(() => tip ?? pickRandomTip());
103
+ // Upstream-drift notice, merged to one line: computed once per mount from
104
+ // the same memoized contract data the adapter checks (undefined when the
105
+ // install matches). `drift` is a test seam to pin or suppress it.
106
+ const [driftLine] = React.useState(() => drift === undefined ? upstreamDriftSummary() : drift);
102
107
  // Indent that centers the tagline under the whale art's bounding box.
103
108
  const welcomePad = showWhale
104
109
  ? Math.max(0, Math.round(WHALE_CENTER - stringWidth(tagline) / 2))
105
110
  : 2;
106
111
  const bigDeepSeek = renderBigText('DEEPSEEK', t, wordmarkRGB, taglineRGB, FLASH, 60);
107
112
  const bigHarness = renderBigText('HARNESS', t, taglineRGB, PALE, FLASH, 60);
108
- return (_jsxs(Box, { ref: ref, flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { flexDirection: "row", gap: 2, width: "100%", alignItems: "center", children: [showWhale && _jsx(WhaleArt, { frameIndex: frameIndex, width: FULL_WHALE_WIDTH }), _jsxs(Box, { flexDirection: "column", flexShrink: 1, children: [_jsxs(Text, { wrap: "truncate-end", children: [sweep('✦ dsh-TUI', t, wordmarkRGB, wordmarkShimmerRGB, 60), _jsx(Text, { dimColor: true, children: ' v' + VERSION })] }), bigDeepSeek.map((row, index) => (_jsx(Text, { wrap: "truncate-end", children: row }, `ds-${index}`))), bigHarness.map((row, index) => (_jsx(Text, { wrap: "truncate-end", children: row }, `h-${index}`))), _jsxs(Text, { wrap: "truncate-end", children: [model, effort !== undefined && _jsx(Text, { dimColor: true, children: ' · ' + capitalize(effort) + ' effort' })] }), _jsx(Text, { dimColor: true, wrap: "truncate-end", children: cwd }), _jsxs(Text, { wrap: "truncate-end", children: [_jsx(Text, { dimColor: true, children: tr('logo-tip-prefix') }), getLang() === 'zh' ? randomTip.zh : randomTip.en, _jsx(Text, { dimColor: true, children: ' · /tips ' + tr('logo-tip-more') })] })] })] }), _jsx(Box, { marginTop: 1, paddingLeft: welcomePad, children: _jsx(Text, { children: sweep(tagline, t, taglineRGB, FLASH, 60) }) })] }));
113
+ return (_jsxs(Box, { ref: ref, flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { flexDirection: "row", gap: 2, width: "100%", alignItems: "center", children: [showWhale && _jsx(WhaleArt, { frameIndex: frameIndex, width: FULL_WHALE_WIDTH }), _jsxs(Box, { flexDirection: "column", flexShrink: 1, children: [_jsxs(Text, { wrap: "truncate-end", children: [sweep('✦ dsh-TUI', t, wordmarkRGB, wordmarkShimmerRGB, 60), _jsx(Text, { dimColor: true, children: ' v' + VERSION })] }), bigDeepSeek.map((row, index) => (_jsx(Text, { wrap: "truncate-end", children: row }, `ds-${index}`))), bigHarness.map((row, index) => (_jsx(Text, { wrap: "truncate-end", children: row }, `h-${index}`))), _jsxs(Text, { wrap: "truncate-end", children: [model, effort !== undefined && _jsx(Text, { dimColor: true, children: ' · ' + capitalize(effort) + ' effort' })] }), _jsx(Text, { dimColor: true, wrap: "truncate-end", children: cwd }), _jsxs(Text, { wrap: "truncate-end", children: [_jsx(Text, { dimColor: true, children: tr('logo-tip-prefix') }), getLang() === 'zh' ? randomTip.zh : randomTip.en, _jsx(Text, { dimColor: true, children: ' · /tips ' + tr('logo-tip-more') })] }), driftLine != null && (_jsxs(Text, { color: "warning", wrap: "wrap", children: ["\u26A0", ' ', tOr(`logo-drift-${driftLine.kind}`, `The dsh engine (${driftLine.versions.join(' / ')}) does not match the validated ${UPSTREAM_VALIDATED_VERSION}; reinstall via npm i -g @deepseek-ai/dsh@${UPSTREAM_VALIDATED_VERSION}.`, {
114
+ installed: driftLine.versions.join(' / '),
115
+ validated: UPSTREAM_VALIDATED_VERSION,
116
+ primary: UPSTREAM_VALIDATED_VERSION,
117
+ })] }))] })] }), _jsx(Box, { marginTop: 1, paddingLeft: welcomePad, children: _jsx(Text, { children: sweep(tagline, t, taglineRGB, FLASH, 60) }) })] }));
109
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PromptInput.d.ts","sourceRoot":"","sources":["../../../src/components/PromptInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAkDxD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,IAAI,OAAO,CAAA;IAClB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,IAAI,IAAI,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IACrD,6EAA6E;IAC7E,eAAe,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,IAAI,IAAI,CAAA;IACvB,8EAA8E;IAC9E,eAAe,CAAC,IAAI,IAAI,CAAA;IACxB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,cAAc,EACd,eAAe,EACf,aAAa,GACd,EAAE,gBAAgB,qBAg/BlB"}
1
+ {"version":3,"file":"PromptInput.d.ts","sourceRoot":"","sources":["../../../src/components/PromptInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAmDxD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,IAAI,OAAO,CAAA;IAClB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,0EAA0E;IAC1E,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,IAAI,IAAI,CAAA;IACpB;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;IACrD,6EAA6E;IAC7E,eAAe,EAAE,OAAO,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,cAAc,CAAC,IAAI,IAAI,CAAA;IACvB,8EAA8E;IAC9E,eAAe,CAAC,IAAI,IAAI,CAAA;IACxB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,cAAc,EACd,eAAe,EACf,aAAa,GACd,EAAE,gBAAgB,qBAo/BlB"}
@@ -15,6 +15,7 @@ import { editInExternalEditor } from '../utils/externalEditor.js';
15
15
  import { isHiddenCommandName, parseCommandName } from '../commands.js';
16
16
  import { appendHistory } from '../history.js';
17
17
  import { mentionAtCaret } from '../utils/mentions.js';
18
+ import { preserveSelection } from '../utils/fileSuggestions.js';
18
19
  import { isMod } from '../utils/modifiers.js';
19
20
  import { CommandSuggestions } from './CommandSuggestions.js';
20
21
  import { FileSuggestions } from './FileSuggestions.js';
@@ -165,29 +166,31 @@ export function PromptInput({ channel, helpOpen, onToggleHelp, onRunCommand, sel
165
166
  // CARET, so `@` works mid-message (`看看 @src/a.ts 这个`), not only when it
166
167
  // is the input's first character. The cwd listing loads when the trigger
167
168
  // appears.
168
- const [fileList, setFileList] = React.useState([]);
169
+ const [fileMatches, setFileMatches] = React.useState([]);
169
170
  const [fileSelected, setFileSelected] = React.useState(0);
170
171
  const mention = mentionAtCaret(value, cursor);
171
172
  const atTrigger = mention !== undefined;
173
+ const fileRequestId = React.useRef(0);
174
+ const selectedFile = fileMatches[fileSelected];
172
175
  React.useEffect(() => {
173
- if (atTrigger) {
174
- void channel.listFiles().then(setFileList);
175
- }
176
- }, [atTrigger, channel]);
177
- const atRest = (mention?.query ?? '').toLowerCase();
178
- // Match the relative path prefix OR the basename (CC's IDE suggestions do
179
- // both): `@src/ink` and `@ink` both find `src/ink/Box.js`.
180
- const fileMatches = atTrigger
181
- ? fileList.filter(file => {
182
- const lower = file.toLowerCase();
183
- if (lower.startsWith(atRest))
184
- return true;
185
- if (atRest.includes('/'))
186
- return false;
187
- const base = lower.split('/').pop() ?? '';
188
- return base.startsWith(atRest);
189
- })
190
- : [];
176
+ const requestId = ++fileRequestId.current;
177
+ if (!mention) {
178
+ setFileMatches([]);
179
+ setFileSelected(0);
180
+ return;
181
+ }
182
+ const previous = selectedFile;
183
+ // Deps key on `mention.query` (and trigger on/off) only: cursor movement
184
+ // within the same token must NOT refetch, and `selectedFile`/`fileSelected`
185
+ // are read as their render-time values only to seed selection preservation.
186
+ // eslint-disable-next-line react-hooks/exhaustive-deps
187
+ void channel.listFileCandidates(mention.query, { topK: 50 }).then(next => {
188
+ if (requestId !== fileRequestId.current)
189
+ return;
190
+ setFileMatches(next);
191
+ setFileSelected(preserveSelection(previous, next, fileSelected));
192
+ });
193
+ }, [channel, mention?.query, atTrigger]);
191
194
  // Esc dismisses the overlay for the token being edited (it reopens once the
192
195
  // text changes); it must NOT clear a mid-message input.
193
196
  const fileEscRef = React.useRef(-1);
@@ -210,11 +213,12 @@ export function PromptInput({ channel, helpOpen, onToggleHelp, onRunCommand, sel
210
213
  * directory inserts `@dir/` without a trailing space so completion
211
214
  * continues into it; a file completes the token with a space.
212
215
  */
213
- const acceptFile = (file) => {
216
+ const acceptFile = (candidate) => {
214
217
  if (!mention)
215
218
  return;
219
+ const file = candidate.path;
216
220
  const body = /\s/.test(file) ? `@"${file}"` : `@${file}`;
217
- const insert = file.endsWith('/') ? body : `${body} `;
221
+ const insert = candidate.kind === 'directory' ? body : `${body} `;
218
222
  const next = value.slice(0, mention.start) + insert + value.slice(mention.end);
219
223
  setInput(next, mention.start + insert.length);
220
224
  setFileSelected(0);
@@ -5,6 +5,7 @@ import { type SessionEvent } from '@deepseek-ai/dsh-session';
5
5
  import type { Context } from '@deepseek-ai/cordis';
6
6
  import { type CommandCompletion, type LocalCommand } from '../commands.js';
7
7
  import { type PreviewEntry, type SessionSummary } from './sessions/index.js';
8
+ import { type FileCandidate } from '../utils/fileSuggestions.js';
8
9
  import type { ProviderSetupHost } from './providerWizard.js';
9
10
  import { type SessionModeSpec } from '../sessionModes.js';
10
11
  import { type StatusBarConfig, type ToolBackground } from '../tuiDisplayPrefs.js';
@@ -592,7 +593,12 @@ export interface Channel {
592
593
  settingsSections(): readonly TuiSettingsSection[];
593
594
  /** Subscribe to settings-section register/unregister events. */
594
595
  subscribeSettingsSections(listener: () => void): () => void;
595
- /** Top-level entries of the session cwd for `@` file completion. */
596
+ /** Structured `@` file completion, using the session's remote fs service. */
597
+ listFileCandidates(query: string, options?: {
598
+ signal?: AbortSignal;
599
+ topK?: number;
600
+ }): Promise<readonly FileCandidate[]>;
601
+ /** Backward-compatible top-level/recursive listing. */
596
602
  listFiles(): Promise<readonly string[]>;
597
603
  /** Every session the persistence backend stores, classified and unfiltered
598
604
  * — the browser (`/resume`) decides which of them a given view shows. */
@@ -867,6 +873,10 @@ export interface ChannelState {
867
873
  settingsSections(): readonly TuiSettingsSection[];
868
874
  /** Subscribe to settings-section register/unregister events. */
869
875
  subscribeSettingsSections(listener: () => void): () => void;
876
+ listFileCandidates(query: string, options?: {
877
+ signal?: AbortSignal;
878
+ topK?: number;
879
+ }): Promise<readonly FileCandidate[]>;
870
880
  listFiles(): Promise<readonly string[]>;
871
881
  listSessions(): Promise<readonly SessionSummary[]>;
872
882
  /** Trailing exchanges of a persisted session (see the public Channel type). */
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/channel.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { clearResumeTarget, forgetSession, readResumeTarget, touchSession, write
12
12
  import { appendSessionTitle, deleteSessionLog, ensureLegacySessionEventTypes, sessionsRoots } from './compat/index.js';
13
13
  import { listSummaries, locateSession, noteBranch, previewSession, } from './sessions/index.js';
14
14
  import { writeActivityFrames } from '../activityPrefs.js';
15
+ import { isPathLikeQuery, rankFileCandidates } from '../utils/fileSuggestions.js';
15
16
  import { readEffortPref, writeEffortPref } from '../effortPrefs.js';
16
17
  import { readModelPref, writeModelPref } from '../modelPrefs.js';
17
18
  import { explicitModelRoute, recordedModelRoute, resolveModelRoute, validateModelRoute } from '../modelRoute.js';
@@ -42,7 +43,7 @@ import { installDecisionGuard } from './decision-guard.js';
42
43
  import { commandOwner } from './command-attribution.js';
43
44
  import { readGrantStore } from './grants.js';
44
45
  import { hasCommandErrorCode, mapCommandError } from './command-errors.js';
45
- import { installedLineOf } from './contract.js';
46
+ import { installedMeetsVersion } from './contract.js';
46
47
  import { pluginsInfoLines } from './plugins-info.js';
47
48
  import { cleanRenderText, cleanScalarText } from './sanitize.js';
48
49
  /** `tui/input` return normalization: transform/handled/cancel or no opinion.
@@ -910,13 +911,14 @@ export function createChannel(ctx, initialAgent, options) {
910
911
  applyEffort(found);
911
912
  return true;
912
913
  };
913
- /** Whether the installed command service takes composer images: rc line
914
- * gate with a structural fallback, so a failed manifest probe (bundlers,
915
- * exotic loaders) still lands on the 4-param rc.8 shape at runtime. */
914
+ /** Whether the installed command service takes composer images: version
915
+ * gate (composer images arrived on 0.1.0-rc.8 and every later family —
916
+ * 0.1.1 included — keeps the 4-param shape) with a structural fallback,
917
+ * so a failed manifest probe (bundlers, exotic loaders) still lands on
918
+ * the 4-param rc.8 shape at runtime. */
916
919
  const commandServiceSupportsImages = (service) => {
917
- const line = installedLineOf('@deepseek-ai/dsh-commands');
918
- if (line !== undefined)
919
- return line >= 8;
920
+ if (installedMeetsVersion('@deepseek-ai/dsh-commands', '0.1.0-rc.8'))
921
+ return true;
920
922
  return typeof service.execute?.length === 'number'
921
923
  && service.execute.length >= 4;
922
924
  };
@@ -1129,6 +1131,11 @@ export function createChannel(ctx, initialAgent, options) {
1129
1131
  const index = deriveModeIndex(agent.session.events);
1130
1132
  await applyMode(sessionModes[(index + 1) % sessionModes.length]);
1131
1133
  };
1134
+ // Session-lifetime candidate pool for non-path queries. The load promise is
1135
+ // shared so concurrent first keystrokes cannot kick off duplicate scans, and
1136
+ // it is keyed by cwd so a /workspace switch or resumed session never reuses
1137
+ // another directory's listing.
1138
+ const fileCandidateCache = { cwd: '', load: undefined };
1132
1139
  const state = {
1133
1140
  effortLevels: undefined,
1134
1141
  version: 0,
@@ -2460,9 +2467,33 @@ export function createChannel(ctx, initialAgent, options) {
2460
2467
  signal: options?.signal,
2461
2468
  });
2462
2469
  },
2463
- listFiles() {
2470
+ async listFileCandidates(query, options) {
2464
2471
  const fs = ctx.get('fs');
2465
- return listFilesDeep(fs, state.cwd);
2472
+ if (!fs || options?.signal?.aborted)
2473
+ return [];
2474
+ if (isPathLikeQuery(query)) {
2475
+ return listPathCandidates(fs, state.cwd, query, options?.signal, options?.topK ?? 50);
2476
+ }
2477
+ if (fileCandidateCache.cwd !== state.cwd) {
2478
+ fileCandidateCache.cwd = state.cwd;
2479
+ fileCandidateCache.load = undefined;
2480
+ }
2481
+ fileCandidateCache.load ??= listFilesDeepCandidates(fs, state.cwd).then(candidates => {
2482
+ if (candidates.length > 0)
2483
+ return candidates;
2484
+ // An empty scan is not worth caching forever — retry on next query.
2485
+ fileCandidateCache.load = undefined;
2486
+ return candidates;
2487
+ });
2488
+ const candidates = await fileCandidateCache.load;
2489
+ if (options?.signal?.aborted)
2490
+ return [];
2491
+ return rankFileCandidates(candidates, query, options?.topK ?? 50);
2492
+ },
2493
+ async listFiles() {
2494
+ const fs = ctx.get('fs');
2495
+ const candidates = await listFilesDeepCandidates(fs, state.cwd);
2496
+ return candidates.map(candidate => candidate.path);
2466
2497
  },
2467
2498
  async listSessions() {
2468
2499
  // Every stored session, classified and unfiltered. Which of them a
@@ -4373,33 +4404,64 @@ function usageOutputTokens(usage) {
4373
4404
  ? value
4374
4405
  : undefined;
4375
4406
  }
4376
- /**
4377
- * `@` file listing through the leaf's fs service (dsh-fs-local): skips
4378
- * VCS/dependency/build dirs and rotates across directory listings so one
4379
- * large subtree cannot consume the global MAX_FILES budget. That budget also
4380
- * bounds directory reads without imposing an arbitrary source-tree depth.
4381
- * Relative directories retain the trailing `/` that FileSuggestions expects.
4382
- * Unreadable subtrees are skipped, not fatal.
4383
- */
4384
- async function listFilesDeep(fs, root) {
4407
+ async function listPathCandidates(fs, cwd, query, signal, topK) {
4408
+ const normalized = query.replaceAll('\\', '/');
4409
+ const slash = normalized.lastIndexOf('/');
4410
+ // `.` / `..` without a trailing separator are whole-directory queries too.
4411
+ const bareDir = slash < 0 && (normalized === '.' || normalized === '..' || normalized === '~');
4412
+ const directoryPart = slash < 0 ? (bareDir ? `${normalized}/` : '') : normalized.slice(0, slash + 1);
4413
+ const nameQuery = slash < 0 || bareDir ? '' : normalized.slice(slash + 1);
4414
+ // `~/` expands against the host home (matches the cwd resolution rules);
4415
+ // drive-letter and POSIX-absolute prefixes pass through untouched.
4416
+ const expanded = directoryPart === '~/'
4417
+ ? `${homeDir()}/`
4418
+ : directoryPart.startsWith('/') || /^[A-Za-z]:\//.test(directoryPart)
4419
+ ? directoryPart
4420
+ : join(cwd, directoryPart || '.');
4421
+ try {
4422
+ if (signal?.aborted)
4423
+ return [];
4424
+ const target = await fs.resolve(expanded);
4425
+ const entries = (await fs.listDir(target)).slice().sort((a, b) => a.name.localeCompare(b.name));
4426
+ return rankFileCandidates(entries.filter(entry => entry.type === 'file' || entry.type === 'directory').map(entry => {
4427
+ const path = `${directoryPart}${entry.name}${entry.type === 'directory' ? '/' : ''}`;
4428
+ return { id: path, path, displayPath: path, name: entry.name, kind: entry.type, score: 0 };
4429
+ }), nameQuery, topK);
4430
+ }
4431
+ catch {
4432
+ return [];
4433
+ }
4434
+ }
4435
+ async function listFilesDeepCandidates(fs, root, signal) {
4385
4436
  if (!fs)
4386
4437
  return [];
4387
4438
  const out = [];
4388
4439
  const SKIP = new Set(['node_modules', '.git', '.hg', '.svn', '.DS_Store', 'dist']);
4389
4440
  const BUILD_DIR = /^(?:build(?:[-_].*)?|cmake-build(?:[-_].*)?)$/i;
4390
- const MAX_FILES = 100;
4391
- const directories = [{ dir: root, prefix: '', index: 0 }];
4392
- while (directories.length > 0 && out.length < MAX_FILES) {
4393
- const current = directories.shift();
4394
- if (!current)
4395
- continue;
4441
+ const queue = [{ dir: root, prefix: '', index: 0 }];
4442
+ const visited = new Set();
4443
+ const maxFiles = 100;
4444
+ const maxDirectories = 100;
4445
+ let fileCount = 0;
4446
+ let dirCount = 0;
4447
+ // Round-robin: each directory yields ONE non-skipped entry per visit before
4448
+ // it re-queues, so a large early sibling (e.g. `generated/` with 120 files)
4449
+ // cannot starve `src/` out of the per-kind budgets. This is the regression
4450
+ // contract pinned by scripts/verify-file-completion.mjs.
4451
+ while (queue.length && fileCount < maxFiles && dirCount < maxDirectories) {
4452
+ if (signal?.aborted)
4453
+ return [];
4454
+ const current = queue.shift();
4396
4455
  if (!current.entries) {
4397
4456
  try {
4398
4457
  const target = await fs.resolve(current.dir);
4399
- current.entries = await fs.listDir(target);
4458
+ if (visited.has(target.displayPath))
4459
+ continue;
4460
+ visited.add(target.displayPath);
4461
+ current.entries = (await fs.listDir(target)).slice().sort((a, b) => a.name.localeCompare(b.name));
4400
4462
  }
4401
4463
  catch {
4402
- continue; // unreadable subtree — skip
4464
+ continue;
4403
4465
  }
4404
4466
  }
4405
4467
  let entry;
@@ -4413,22 +4475,23 @@ async function listFilesDeep(fs, root) {
4413
4475
  if (!entry)
4414
4476
  continue;
4415
4477
  if (current.index < current.entries.length)
4416
- directories.push(current);
4417
- const rel = current.prefix ? `${current.prefix}/${entry.name}` : entry.name;
4478
+ queue.push(current);
4479
+ const path = current.prefix ? `${current.prefix}/${entry.name}` : entry.name;
4418
4480
  if (entry.type === 'directory') {
4419
- out.push(`${rel}/`);
4420
- directories.push({
4421
- // oxlint-disable-next-line typescript/no-unnecessary-condition -- runtime guard: symlink targets optional
4422
- dir: entry.target?.displayPath ?? join(current.dir, entry.name),
4423
- prefix: rel,
4424
- index: 0,
4425
- });
4481
+ if (dirCount >= maxDirectories)
4482
+ continue;
4483
+ out.push({ id: `${path}/`, path: `${path}/`, displayPath: `${path}/`, name: entry.name, kind: 'directory', score: 0 });
4484
+ dirCount += 1;
4485
+ queue.push({ dir: entry.target?.displayPath ?? join(current.dir, entry.name), prefix: path, index: 0 });
4426
4486
  }
4427
4487
  else if (entry.type === 'file') {
4428
- out.push(rel);
4488
+ if (fileCount >= maxFiles)
4489
+ continue;
4490
+ out.push({ id: path, path, displayPath: path, name: entry.name, kind: 'file', score: 0 });
4491
+ fileCount += 1;
4429
4492
  }
4430
4493
  }
4431
- return out;
4494
+ return out.sort((a, b) => a.path.localeCompare(b.path));
4432
4495
  }
4433
4496
  /** One attached file's contribution is capped so an absent-minded `@` of a
4434
4497
  * huge file cannot blow the context window (CC caps @-attachments too). */