dsh-better-display 0.2.1 → 0.3.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.
Files changed (87) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.en.md +4 -2
  3. package/README.md +4 -2
  4. package/compat/harness-rc2.json +59 -0
  5. package/docs/official-rendering-bridge.md +65 -0
  6. package/lib/client.js +858 -456
  7. package/lib/client.js.map +1 -1
  8. package/lib/types/client/Blocks.d.ts +2 -1
  9. package/lib/types/client/Blocks.d.ts.map +1 -1
  10. package/lib/types/client/Blocks.js +2 -2
  11. package/lib/types/client/Blocks.js.map +1 -1
  12. package/lib/types/client/OfficialContent.d.ts +25 -0
  13. package/lib/types/client/OfficialContent.d.ts.map +1 -0
  14. package/lib/types/client/OfficialContent.js +42 -0
  15. package/lib/types/client/OfficialContent.js.map +1 -0
  16. package/lib/types/client/Reader.d.ts.map +1 -1
  17. package/lib/types/client/Reader.js +38 -6
  18. package/lib/types/client/Reader.js.map +1 -1
  19. package/lib/types/client/ToolActivity.d.ts.map +1 -1
  20. package/lib/types/client/ToolActivity.js +21 -17
  21. package/lib/types/client/ToolActivity.js.map +1 -1
  22. package/lib/types/client/index.d.ts.map +1 -1
  23. package/lib/types/client/index.js +23 -33
  24. package/lib/types/client/index.js.map +1 -1
  25. package/lib/types/client/markdown/MarkdownText.d.ts +3 -1
  26. package/lib/types/client/markdown/MarkdownText.d.ts.map +1 -1
  27. package/lib/types/client/markdown/MarkdownText.js +14 -7
  28. package/lib/types/client/markdown/MarkdownText.js.map +1 -1
  29. package/lib/types/client/markdown/render.d.ts +2 -0
  30. package/lib/types/client/markdown/render.d.ts.map +1 -1
  31. package/lib/types/client/markdown/render.js +22 -6
  32. package/lib/types/client/markdown/render.js.map +1 -1
  33. package/lib/types/client/motion.d.ts.map +1 -1
  34. package/lib/types/client/motion.js +22 -13
  35. package/lib/types/client/motion.js.map +1 -1
  36. package/lib/types/client/native/ContextInjectionRow.d.ts +12 -3
  37. package/lib/types/client/native/ContextInjectionRow.d.ts.map +1 -1
  38. package/lib/types/client/native/ContextInjectionRow.js +6 -3
  39. package/lib/types/client/native/ContextInjectionRow.js.map +1 -1
  40. package/lib/types/client/official-slots.d.ts +71 -0
  41. package/lib/types/client/official-slots.d.ts.map +1 -0
  42. package/lib/types/client/official-slots.js +183 -0
  43. package/lib/types/client/official-slots.js.map +1 -0
  44. package/lib/types/client/platform-media.d.ts +6 -0
  45. package/lib/types/client/platform-media.d.ts.map +1 -0
  46. package/lib/types/client/platform-media.js +13 -0
  47. package/lib/types/client/platform-media.js.map +1 -0
  48. package/lib/types/client/settings.js.map +1 -1
  49. package/lib/types/client/store.d.ts +1 -0
  50. package/lib/types/client/store.d.ts.map +1 -1
  51. package/lib/types/client/store.js +1 -0
  52. package/lib/types/client/store.js.map +1 -1
  53. package/lib/types/client/tool-activity.d.ts +1 -1
  54. package/lib/types/client/tool-activity.d.ts.map +1 -1
  55. package/lib/types/client/tool-activity.js +9 -2
  56. package/lib/types/client/tool-activity.js.map +1 -1
  57. package/lib/types/client/types.d.ts +18 -8
  58. package/lib/types/client/types.d.ts.map +1 -1
  59. package/lib/types/client/word-motion.d.ts.map +1 -1
  60. package/lib/types/client/word-motion.js +2 -1
  61. package/lib/types/client/word-motion.js.map +1 -1
  62. package/package.json +22 -16
  63. package/scripts/check-harness-compat.mjs +71 -0
  64. package/scripts/link-harness-dependencies.mjs +1 -0
  65. package/scripts/verify-auto-fold.mjs +114 -0
  66. package/scripts/verify-official-bridge.mjs +119 -0
  67. package/src/client/Blocks.tsx +2 -1
  68. package/src/client/OfficialContent.tsx +57 -0
  69. package/src/client/Reader.module.css +23 -8
  70. package/src/client/Reader.tsx +37 -9
  71. package/src/client/ToolActivity.tsx +22 -27
  72. package/src/client/index.tsx +27 -31
  73. package/src/client/markdown/MarkdownText.tsx +14 -6
  74. package/src/client/markdown/render.tsx +23 -7
  75. package/src/client/motion.tsx +18 -11
  76. package/src/client/native/ContextInjectionRow.tsx +19 -7
  77. package/src/client/official-slots.tsx +211 -0
  78. package/src/client/platform-media.ts +11 -0
  79. package/src/client/settings.tsx +1 -1
  80. package/src/client/store.ts +2 -0
  81. package/src/client/tool-activity.ts +9 -2
  82. package/src/client/types.ts +14 -8
  83. package/src/client/word-motion.tsx +2 -1
  84. package/tests/browser-auto-fold.tsx +64 -0
  85. package/tests/browser-official-bridge.tsx +144 -0
  86. package/tests/official-slots.test.ts +112 -0
  87. package/tests/platform-media.test.ts +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-media.d.ts","sourceRoot":"","sources":["../../../src/client/platform-media.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIrG;AAED,eAAO,MAAM,gBAAgB;qBACV,MAAM;CAExB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /** RC2 Chat's same-origin local media contract. Authorization stays Host-side. */
2
+ export function localPathMediaUrl(protocol, origin, value) {
3
+ if (protocol !== 'http:' && protocol !== 'https:')
4
+ return undefined;
5
+ if (!value.startsWith('/') || value.startsWith('//'))
6
+ return undefined;
7
+ return `${origin}/api/file?path=${encodeURIComponent(value)}`;
8
+ }
9
+ export const readerPathImages = {
10
+ resolve: (value) => typeof window === 'undefined' ? undefined
11
+ : localPathMediaUrl(window.location.protocol, window.location.origin, value),
12
+ };
13
+ //# sourceMappingURL=platform-media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-media.js","sourceRoot":"","sources":["../../../src/client/platform-media.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,MAAc,EAAE,KAAa;IAC/E,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACpE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACvE,OAAO,GAAG,MAAM,kBAAkB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS;QACnE,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;CAC/E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/client/settings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/client/settings.tsx"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export interface ReaderState {
20
20
  }
21
21
  type ReaderActions = {
22
22
  setExpanded: (draft: ReaderState, key: string, value: boolean) => void;
23
+ resetExpanded: (draft: ReaderState) => void;
23
24
  setMotion: (draft: ReaderState, value: boolean) => void;
24
25
  setAutoFold: (draft: ReaderState, value: boolean) => void;
25
26
  setDeliverableOpenMode: (draft: ReaderState, value: DeliverableOpenMode) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/client/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,QAAQ,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B,2EAA2E;IAC3E,YAAY,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,WAAW,EAAE,OAAO,CAAC;CACtB;AACD,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjF,gBAAgB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACrE,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/D,CAAC;AAQF,wBAAgB,iBAAiB,IAAI,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,CAyBjF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/client/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,gFAAgF;IAChF,QAAQ,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B,2EAA2E;IAC3E,YAAY,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,WAAW,EAAE,OAAO,CAAC;CACtB;AACD,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvE,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjF,gBAAgB,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACrE,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/D,CAAC;AAQF,wBAAgB,iBAAiB,IAAI,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,CA0BjF"}
@@ -19,6 +19,7 @@ export function createReaderStore() {
19
19
  persist: 'dsh.reader.v1',
20
20
  actions: {
21
21
  setExpanded: (draft, key, value) => { draft.expanded[key] = value; },
22
+ resetExpanded: draft => { draft.expanded = {}; },
22
23
  setMotion: (draft, value) => { draft.motion = value; },
23
24
  setAutoFold: (draft, value) => {
24
25
  applyFoldIntensity(draft, value
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/client/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AA6B7B,SAAS,kBAAkB,CAAC,KAAkB,EAAE,KAAoB;IAClE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;IAC5B,KAAK,CAAC,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9C,KAAK,CAAC,WAAW,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,GAAgB,EAAE,CAAC,CAAC;YACxB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,mBAAmB,EAAE,UAAU;YAC/B,aAAa,EAAE,sBAAsB;YACrC,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE;YACP,WAAW,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,KAAc,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACrF,SAAS,EAAE,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;YAC/D,WAAW,EAAE,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;gBACrC,kBAAkB,CAAC,KAAK,EAAE,KAAK;oBAC7B,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC,CAAC,CAAC;YACT,CAAC;YACD,sBAAsB,EAAE,CAAC,KAAK,EAAE,KAA0B,EAAE,EAAE,GAAG,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,CAAC;YACrG,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAoB,EAAE,EAAE,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACxF,eAAe,EAAE,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE,GAAG,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;SAC5E;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/client/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AA8B7B,SAAS,kBAAkB,CAAC,KAAkB,EAAE,KAAoB;IAClE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;IAC5B,KAAK,CAAC,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9C,KAAK,CAAC,WAAW,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,GAAgB,EAAE,CAAC,CAAC;YACxB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,mBAAmB,EAAE,UAAU;YAC/B,aAAa,EAAE,sBAAsB;YACrC,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE;YACP,WAAW,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,KAAc,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACrF,aAAa,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;YAChD,SAAS,EAAE,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;YAC/D,WAAW,EAAE,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE;gBACrC,kBAAkB,CAAC,KAAK,EAAE,KAAK;oBAC7B,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC,CAAC,CAAC;YACT,CAAC;YACD,sBAAsB,EAAE,CAAC,KAAK,EAAE,KAA0B,EAAE,EAAE,GAAG,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,CAAC;YACrG,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAoB,EAAE,EAAE,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACxF,eAAe,EAAE,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE,GAAG,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;SAC5E;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -5,7 +5,7 @@ export type ToolDraft = Extract<AssistantBlock, {
5
5
  kind: 'tool-call';
6
6
  }>;
7
7
  export type ToolPhase = 'preparing' | 'running' | 'returned' | 'succeeded' | 'failed' | 'interrupted';
8
- export type ToolCategory = 'write' | 'read' | 'terminal' | 'search' | 'web' | 'other';
8
+ export type ToolCategory = 'write' | 'read' | 'terminal' | 'search' | 'web' | 'code' | 'other';
9
9
  export interface ToolActivityEntry {
10
10
  kind: 'tool';
11
11
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-activity.d.ts","sourceRoot":"","sources":["../../../src/client/tool-activity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-activity.d.ts","sourceRoot":"","sources":["../../../src/client/tool-activity.ts"],"names":[],"mappings":"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"}
@@ -278,13 +278,20 @@ export function activitySummary(entry) {
278
278
  : /^(read|read_file)$/.test(name) ? 'read'
279
279
  : /^(bash|shell|terminal|terminal_send|exec_command|pwsh)$/.test(name) ? 'terminal'
280
280
  : /^(grep|glob|find|search)$/.test(name) ? 'search'
281
- : /^(web_search|web_fetch|web_open)$/.test(name) ? 'web' : 'other';
281
+ : /^(web_search|web_fetch|web_open)$/.test(name) ? 'web'
282
+ // Code interpreters: no file, no shell, no query — the call is a program.
283
+ // Without this branch `run_code` fell through to `other`, which has no
284
+ // renderer of its own, so its result text was emitted as ordinary prose
285
+ // and stayed outside every fold.
286
+ : /^(run_code|execute_code|code_interpreter|python|node|eval|repl)$/.test(name) ? 'code'
287
+ : 'other';
282
288
  const title = category === 'write' ? `${name === 'write' ? '写入' : '修改'}${file ? ` ${file}` : name === 'apply_patch' ? '代码补丁' : '文件'}`
283
289
  : category === 'read' ? `读取${file ? ` ${file}` : '文件'}`
284
290
  : category === 'terminal' ? description || '运行命令'
285
291
  : category === 'search' ? name === 'glob' ? '查找文件' : '搜索内容'
286
292
  : category === 'web' ? name === 'web_search' ? '搜索网页' : '读取网页'
287
- : name;
293
+ : category === 'code' ? (description || '运行代码')
294
+ : name;
288
295
  return { name, raw, args, category, title, target: target ?? command ?? stringValue(args, 'query', 'pattern', 'url'), command,
289
296
  cwd: stringValue(args, 'workdir', 'cwd'), content: stringValue(args, 'content', 'new_string', 'newText', 'file_text') };
290
297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-activity.js","sourceRoot":"","sources":["../../../src/client/tool-activity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-activity.js","sourceRoot":"","sources":["../../../src/client/tool-activity.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import type { ComponentType } from 'react';
2
1
  import type { ImageAttachmentRef } from '@deepseek-ai/dsh-attachment';
3
- import type { AssistantBlock } from '@deepseek-ai/dsh-client-ui-conversation/client';
2
+ import type { AssistantBlock, MessageImageLoader } from '@deepseek-ai/dsh-client-ui-conversation/client';
4
3
  import type { MarkdownFileMentions } from '@deepseek-ai/dsh-client-ui-primitives';
5
4
  import type { PropsLocale, PropsRenderSlots, PropsRuntime, PropsStore } from '@deepseek-ai/dsh-client-ui-slots';
6
5
  import type { createReaderStore } from './store.js';
6
+ import type { OfficialSeat } from './official-slots.js';
7
+ import type { OpenFileOptions, TurnTailOwnerProps } from '@deepseek-ai/dsh-client-ui-chat/client';
7
8
  export interface ReaderBlockOwner {
8
9
  block: AssistantBlock;
9
10
  streaming: boolean;
@@ -32,7 +33,16 @@ export interface ReaderInjected {
32
33
  */
33
34
  fillComposer: (text: string) => boolean;
34
35
  /** Open a workspace file or directory; mode comes from the Better Display setting. */
35
- openFile: (path: string) => Promise<void> | void;
36
+ openFile: (path: string, options?: OpenFileOptions) => Promise<void> | void;
37
+ officialImageLoader: MessageImageLoader;
38
+ officialFileMentions: (owner: TurnTailOwnerProps) => MarkdownFileMentions | undefined;
39
+ officialPreviewFile: (path: string) => void;
40
+ officialHost: {
41
+ getSnapshot: () => {
42
+ home?: string;
43
+ };
44
+ subscribe: (listener: () => void) => () => void;
45
+ };
36
46
  /** Root-scoped Better Display prefs (`dsh.reader.v1`), shared with Settings. */
37
47
  openPrefs?: {
38
48
  getSnapshot: () => {
@@ -56,12 +66,12 @@ export interface ReaderInjected {
56
66
  forkAt?: (seq: number) => void;
57
67
  /** Load session history through a target sequence number. */
58
68
  loadThrough?: (seq: unknown) => Promise<void>;
59
- /** Resolve a custom tool view registered in the `tool.call.toolview` slot (e.g. diff cards). */
60
- getToolView?: (toolName: string) => ComponentType<any> | null;
61
69
  }
62
- export type ReaderProps = PropsRuntime<'conversation.view'> & PropsLocale<'chat'> & PropsRenderSlots<'dsh-better-display.block'> & PropsStore<ReturnType<typeof createReaderStore>> & ReaderInjected;
63
- export type BlockRenderProps = Pick<ReaderProps, 'renderSlotChain' | 'loadImage' | 'fillComposer' | 'getToolView'> & {
64
- openFile?: (path: string) => Promise<void> | void;
70
+ export type ReaderProps = PropsRuntime<'conversation.view'> & PropsLocale<'chat'> & PropsRenderSlots<'dsh-better-display.block' | OfficialSeat> & PropsStore<ReturnType<typeof createReaderStore>> & ReaderInjected;
71
+ export type BlockRenderProps = Pick<ReaderProps, 'renderSlotChain' | 'loadImage' | 'fillComposer'> & {
72
+ official?: Pick<ReaderProps, 'renderSlot' | 'renderSlotChain' | 'officialImageLoader' | 'officialFileMentions' | 'officialPreviewFile' | 'officialHost' | 'openView'>;
73
+ cwd?: string;
74
+ openFile?: (path: string, options?: OpenFileOptions) => Promise<void> | void;
65
75
  revealFile?: (path: string) => Promise<void> | void;
66
76
  forkAt?: (seq: number) => void;
67
77
  /** Durable closing-message seq of this turn (turn-tail closing), used as the fork anchor. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"word-motion.d.ts","sourceRoot":"","sources":["../../../src/client/word-motion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAkDlF,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,+BAYhH;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;IACnF,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;CAC3G,+BAoBA"}
1
+ {"version":3,"file":"word-motion.d.ts","sourceRoot":"","sources":["../../../src/client/word-motion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAmDlF,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,+BAYhH;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;IACnF,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;CAC3G,+BAoBA"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useContext, useLayoutEffect, useMemo, useRef } from 'react';
3
3
  import { MarkdownText } from './markdown/MarkdownText.js';
4
+ import { readerPathImages } from './platform-media.js';
4
5
  import { WORD_MOTION, WordTimeline } from './word-timeline.js';
5
6
  import css from './Reader.module.css';
6
7
  const WordScope = createContext({ enabled: false, generation: 0 });
@@ -84,6 +85,6 @@ export function MotionMarkdown({ text, streaming, enabled, revision, fileMention
84
85
  const current = timeline.current;
85
86
  return current.hasLiveText ? _jsx(MotionAtom, { born: current.bornAt(offset), generation: current.generation, offset: offset, children: children }) : children;
86
87
  }, []);
87
- return _jsx(WordScope.Provider, { value: scope, children: _jsx(MarkdownText, { text: text, streaming: streaming, codeLabels: CODE_LABELS, fileMentions: fileMentions, renderText: renderText, renderAtom: renderAtom }) });
88
+ return _jsx(WordScope.Provider, { value: scope, children: _jsx(MarkdownText, { text: text, streaming: streaming, codeLabels: CODE_LABELS, fileMentions: fileMentions, pathImages: readerPathImages, renderText: renderText, renderAtom: renderAtom }) });
88
89
  }
89
90
  //# sourceMappingURL=word-motion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"word-motion.js","sourceRoot":"","sources":["../../../src/client/word-motion.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"word-motion.js","sourceRoot":"","sources":["../../../src/client/word-motion.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,GAAG,MAAM,qBAAqB,CAAC;AAEtC,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;AACnE,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAE9D,SAAS,eAAe,CAAC,OAA+B,EAAE,IAAmB,EAAE,UAAkB;IAC/F,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YAAC,OAAO;QAAC,CAAC;QAC5F,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO;QAClE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;QAC9E,IAAI,GAAG,IAAI,WAAW,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO;QAChF,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,WAAW,CAAC,IAAI,KAAK,EAAE;YACrD,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE;SACpC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACtF,4EAA4E;QAC5E,yEAAyE;QACzE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC;QACvC,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7I,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC;QACtF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAkG;IAC1J,MAAM,OAAO,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3C,OAAO,eAAM,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,iDAAsC,MAAM,uBAAqB,IAAI,IAAI,SAAS,YAAG,QAAQ,GAAQ,CAAC;AAC5L,CAAC;AAED,iFAAiF;AACjF,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAoF;IAC1I,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC7C,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3C,OAAO,cAAK,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,iDAAsC,MAAM,uBAAqB,IAAI,IAAI,SAAS,YAAG,QAAQ,GAAO,CAAC;AAC1J,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAwD;IAC/G,MAAM,QAAQ,GAAG,MAAM,EAAgB,CAAC;IACxC,QAAQ,CAAC,OAAO,KAAK,IAAI,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5G,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9E,OAAO,KAAC,SAAS,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAE,cAAK,SAAS,EAAE,GAAG,CAAC,WAAW,YACrE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACxE,CAAC,CAAC,KAAC,IAAI,IAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,kBAAE,IAAI,CAAC,IAAI,IAAtF,IAAI,CAAC,GAAG,CAAsF;gBAC3G,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GACjB,GAAqB,CAAC;AAC9B,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAEhF;IACC,MAAM,QAAQ,GAAG,MAAM,EAAgB,CAAC;IACxC,QAAQ,CAAC,OAAO,KAAK,IAAI,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC5G,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAa,EAAE,MAAc,EAAE,MAAM,GAAG,KAAK,EAAa,EAAE;QAC5F,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAQ,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACvC,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAC9D,CAAC,CAAC,KAAC,IAAI,IAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAG,IAAI,CAAC,IAAI,IAAtI,IAAI,CAAC,GAAG,CAAsI;YAC3J,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,QAAmB,EAAE,MAAc,EAAa,EAAE;QAClF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAQ,CAAC;QAClC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,YAAG,QAAQ,GAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5J,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,KAAC,SAAS,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACrC,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAI,GAClK,CAAC;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-better-display",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "A calmer reading view for DeepSeek Harness: native process details, live reasoning, and clean final answers.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -33,29 +33,33 @@
33
33
  }
34
34
  },
35
35
  "scripts": {
36
- "build": "tsc -p tsconfig.json && tsdown",
36
+ "build": "node scripts/check-harness-compat.mjs && tsc -p tsconfig.json && tsdown",
37
+ "check:harness": "node scripts/check-harness-compat.mjs",
38
+ "test:official": "node scripts/verify-official-bridge.mjs",
39
+ "test:auto-fold": "node scripts/verify-auto-fold.mjs",
37
40
  "typecheck": "tsc -p tsconfig.json --noEmit",
38
41
  "test": "node --import tsx/esm --test tests/*.test.ts",
39
42
  "link:harness": "node scripts/link-harness-dependencies.mjs"
40
43
  },
41
44
  "peerDependencies": {
42
45
  "@deepseek-ai/cordis": "^4.0.2",
43
- "@deepseek-ai/dsh-api-session-controller": "^0.1.2-rc.1",
44
- "@deepseek-ai/dsh-attachment": "^0.1.2-rc.1",
45
- "@deepseek-ai/dsh-client-store": "^0.1.2-rc.1",
46
- "@deepseek-ai/dsh-client-ui-chat": "^0.1.2-rc.1",
47
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-rc.1",
48
- "@deepseek-ai/dsh-client-ui-primitives": "^0.1.2-rc.1",
49
- "@deepseek-ai/dsh-client-ui-renderer": "^0.1.2-rc.1",
50
- "@deepseek-ai/dsh-client-ui-session": "^0.1.2-rc.1",
51
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.2-rc.1",
52
- "@deepseek-ai/dsh-session": "^0.1.2-rc.1",
53
- "@deepseek-ai/dsh-util-workspace-path": "^0.1.2-rc.1",
46
+ "@deepseek-ai/dsh-api-session-controller": "^0.1.5-rc.2",
47
+ "@deepseek-ai/dsh-attachment": "^0.1.5-rc.2",
48
+ "@deepseek-ai/dsh-client-store": "^0.1.5-rc.2",
49
+ "@deepseek-ai/dsh-client-ui-chat": "^0.1.5-rc.2",
50
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.1.5-rc.2",
51
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.5-rc.2",
52
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.5-rc.2",
53
+ "@deepseek-ai/dsh-client-ui-session": "^0.1.5-rc.2",
54
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.5-rc.2",
55
+ "@deepseek-ai/dsh-client-ui-tool": "^0.1.5-rc.2",
56
+ "@deepseek-ai/dsh-session": "^0.1.5-rc.2",
57
+ "@deepseek-ai/dsh-util-workspace-path": "^0.1.5-rc.2",
54
58
  "react": "^18.2.0"
55
59
  },
56
60
  "devDependencies": {
57
- "@deepseek-ai/dsh-api-session-controller": "0.1.2-rc.1",
58
- "@deepseek-ai/dsh-session-turn-outline": "0.1.2-rc.1",
61
+ "@deepseek-ai/dsh-api-session-controller": "0.1.5-rc.2",
62
+ "@deepseek-ai/dsh-session-turn-outline": "0.1.5-rc.2",
59
63
  "@types/mdast": "^4.0.4",
60
64
  "@types/node": "^22.20.0",
61
65
  "@types/react": "~18.3.1",
@@ -95,7 +99,9 @@
95
99
  "DESIGN.md",
96
100
  "LICENSE",
97
101
  "THIRD_PARTY_NOTICES.md",
98
- "CHANGELOG.md"
102
+ "CHANGELOG.md",
103
+ "compat",
104
+ "docs"
99
105
  ],
100
106
  "engines": {
101
107
  "node": "^22.19.0 || >=24.0.0"
@@ -0,0 +1,71 @@
1
+ /** Upgrade gate for the public composition adapter and remaining Markdown fork. */
2
+ import { readFileSync, writeFileSync } from 'node:fs';
3
+ import { createHash } from 'node:crypto';
4
+ import { execFileSync } from 'node:child_process';
5
+ import { homedir } from 'node:os';
6
+ import { join, resolve } from 'node:path';
7
+ import { createRequire } from 'node:module';
8
+
9
+ const root = resolve(import.meta.dirname, '..');
10
+ const harness = resolve(process.env.DSHX_HARNESS?.trim() || readFileSync(join(homedir(), '.config/dshx/harness'), 'utf8').trim());
11
+ const baselineFile = join(root, 'compat/harness-rc2.json');
12
+ const ts = createRequire(join(root, 'package.json'))('typescript');
13
+ const files = [
14
+ 'packages/client/ui-slots/src/index.ts',
15
+ 'packages/client/ui-slots/src/renderer.ts',
16
+ 'packages/client/ui-renderer/src/client/registry.ts',
17
+ 'packages/client/ui-renderer/src/client/scoped-slots.tsx',
18
+ 'packages/client/ui-chat/src/client/contract/slots.ts',
19
+ 'packages/client/ui-tool/src/client/contract/slots.ts',
20
+ 'packages/client/ui-deliverables/src/client/Deliverables.tsx',
21
+ 'packages/client/ui-chat/src/client/chat/AssistantMarkdown.tsx',
22
+ 'packages/client/ui-chat/src/client/chat/MessageItem.tsx',
23
+ 'packages/client/ui-chat/src/client/chat/AssistantNodeView.tsx',
24
+ 'packages/client/ui-chat/src/client/chat/TurnTailNodeView.tsx',
25
+ 'packages/client/ui-chat/src/client/chat/TurnProcessNodeView.tsx',
26
+ 'packages/client/ui-tool/src/client/tool/models/tool-call-model.ts',
27
+ ...['MarkdownText.tsx', 'render.tsx', 'parse.ts', 'incremental.ts', 'katex.tsx'].map(name => `packages/client/ui-primitives/src/markdown/${name}`),
28
+ ];
29
+ const hashes = Object.fromEntries(files.map(file => [file, createHash('sha256').update(readFileSync(join(harness, file))).digest('hex')]));
30
+ const registrations = [];
31
+ for (const path of execFileSync('rg', ['--files', 'packages/client', '-g', '*.ts', '-g', '*.tsx'], { cwd: harness, encoding: 'utf8' }).trim().split('\n')) {
32
+ if (!path.includes('/src/client/')) continue;
33
+ const text = readFileSync(join(harness, path), 'utf8');
34
+ if (!/conversation\.chat\.|tool\.call\.|conversation\.message\./u.test(text)) continue;
35
+ const file = ts.createSourceFile(path, text, ts.ScriptTarget.Latest, true, ts.ScriptKind.TSX);
36
+ function visit(node) {
37
+ if (ts.isCallExpression(node) && ts.isPropertyAccessExpression(node.expression) && node.expression.name.text === 'register') {
38
+ const options = node.arguments[0];
39
+ if (options && ts.isObjectLiteralExpression(options)) {
40
+ const fields = {};
41
+ for (const p of options.properties) {
42
+ if (ts.isPropertyAssignment(p) && ts.isStringLiteral(p.initializer)) fields[p.name.getText(file).replaceAll("'", '').replaceAll('"', '')] = p.initializer.text;
43
+ }
44
+ if (/^(conversation\.chat\.|tool\.call\.|conversation\.message\.)/u.test(fields.name ?? '')) {
45
+ registrations.push(`${fields.name} | ${fields.key ?? fields.id ?? '(chain/single)'} | ${path}`);
46
+ }
47
+ }
48
+ }
49
+ ts.forEachChild(node, visit);
50
+ }
51
+ visit(file);
52
+ }
53
+ registrations.sort();
54
+ const current = {
55
+ harnessVersion: JSON.parse(readFileSync(join(harness, 'packages/client/ui-chat/package.json'), 'utf8')).version,
56
+ hashes, registrations,
57
+ };
58
+ if (process.argv.includes('--record')) {
59
+ writeFileSync(baselineFile, JSON.stringify(current, null, 2) + '\n');
60
+ console.log(`Recorded candidate baseline: ${current.harnessVersion}; run build, fixtures and DSH acceptance before committing it.`);
61
+ } else {
62
+ const baseline = JSON.parse(readFileSync(baselineFile, 'utf8'));
63
+ const changed = files.filter(file => current.hashes[file] !== baseline.hashes[file]);
64
+ const added = registrations.filter(row => !baseline.registrations.includes(row));
65
+ const removed = baseline.registrations.filter(row => !registrations.includes(row));
66
+ if (current.harnessVersion !== baseline.harnessVersion || changed.length || added.length || removed.length) {
67
+ console.error(JSON.stringify({ compatible: 'review-required', target: current.harnessVersion, changedContractsOrForkSources: changed, addedRegistrations: added, removedRegistrations: removed }, null, 2));
68
+ console.error('Review the differences and run the official bridge/visual tests. --record alone is not compatibility proof.');
69
+ process.exitCode = 1;
70
+ } else console.log(`Harness compatibility baseline passed (${current.harnessVersion}; ${registrations.length} official registrations).`);
71
+ }
@@ -17,6 +17,7 @@ const shared = {
17
17
  '@deepseek-ai/dsh-client-ui-renderer': 'packages/client/ui-renderer',
18
18
  '@deepseek-ai/dsh-client-ui-session': 'packages/client/ui-session',
19
19
  '@deepseek-ai/dsh-client-ui-slots': 'packages/client/ui-slots',
20
+ '@deepseek-ai/dsh-client-ui-tool': 'packages/client/ui-tool',
20
21
  '@deepseek-ai/dsh-attachment': 'packages/attachment/attachment',
21
22
  '@deepseek-ai/dsh-session': 'packages/core/session',
22
23
  '@deepseek-ai/dsh-util-workspace-path': 'packages/util/workspace-path',
@@ -0,0 +1,114 @@
1
+ /** Real Reader interaction regression, isolated from the user's Host and data. */
2
+ import assert from 'node:assert/strict';
3
+ import { createRequire } from 'node:module';
4
+ import { readFile, mkdir, writeFile } from 'node:fs/promises';
5
+ import { createServer } from 'node:http';
6
+ import { homedir } from 'node:os';
7
+ import { dirname, join, resolve } from 'node:path';
8
+ import { pathToFileURL } from 'node:url';
9
+
10
+ const root = resolve(import.meta.dirname, '..');
11
+ const harness = process.env.DSHX_HARNESS;
12
+ if (!harness) throw new Error('Set DSHX_HARNESS to the target checkout.');
13
+ const require = createRequire(join(root, 'package.json'));
14
+ const webRequire = createRequire(join(harness, 'packages/client/web/package.json'));
15
+ const { build } = await import(pathToFileURL(createRequire(require.resolve('tsx')).resolve('esbuild')).href);
16
+ const { launchPinnedChromium } = await import(pathToFileURL(join(homedir(), '.codex/playwright-runtime/runtime.mjs')).href);
17
+ const out = join(root, '.evidence/auto-fold');
18
+ await mkdir(out, { recursive: true });
19
+ await build({
20
+ entryPoints: [join(root, 'tests/browser-auto-fold.tsx')], outfile: join(out, 'fixture.js'),
21
+ bundle: true, platform: 'browser', format: 'esm', jsx: 'automatic',
22
+ alias: {
23
+ '@deepseek-ai/dsh-client-ui-primitives': join(harness, 'packages/client/ui-primitives/src/index.ts'),
24
+ react: dirname(require.resolve('react/package.json')), 'react-dom': dirname(webRequire.resolve('react-dom/package.json')),
25
+ },
26
+ loader: { '.woff2': 'dataurl', '.woff': 'dataurl', '.ttf': 'dataurl', '.svg': 'dataurl' },
27
+ });
28
+ const server = createServer(async (req, res) => {
29
+ const file = req.url === '/fixture.js' ? 'fixture.js' : req.url === '/fixture.css' ? 'fixture.css' : null;
30
+ if (file) { res.setHeader('Content-Type', file.endsWith('.js') ? 'text/javascript' : 'text/css'); res.end(await readFile(join(out, file))); return; }
31
+ if (req.url !== '/') { res.writeHead(404); res.end(); return; }
32
+ res.setHeader('Content-Type', 'text/html');
33
+ res.end('<!doctype html><html lang="zh"><meta charset="utf-8"><link rel="stylesheet" href="/fixture.css"><style>body{margin:0;font:14px/1.6 system-ui;--dsw-alias-label-primary:#222;--dsw-alias-label-secondary:#666;--dsw-alias-label-tertiary:#888;--dsw-alias-bg-base:#fff;--dsw-alias-border-l2:#ddd}button{cursor:pointer}</style><div id="app"></div><script type="module" src="/fixture.js"></script></html>');
34
+ });
35
+ await new Promise(resolve => server.listen(0, '127.0.0.1', resolve));
36
+ let browser;
37
+ const results = [];
38
+ try {
39
+ browser = await launchPinnedChromium();
40
+ for (const reducedMotion of ['no-preference', 'reduce']) {
41
+ const page = await browser.newPage({ viewport: { width: 1200, height: 1000 }, reducedMotion });
42
+ page.setDefaultTimeout(4000);
43
+ const errors = [];
44
+ page.on('pageerror', error => errors.push(String(error)));
45
+ await page.goto(`http://127.0.0.1:${server.address().port}/`);
46
+ const closed = page.locator('[data-reader-turn="1"]');
47
+ const live = page.locator('[data-reader-turn="2"]');
48
+ const completedThought = closed.getByText('已完成思考 0', { exact: true });
49
+ const oldLiveThought = live.getByText('进行中思考 0', { exact: true });
50
+ const latestThought = live.getByText('进行中思考 1', { exact: true });
51
+ const toggle = () => page.getByRole('button', { name: /^自动折叠[开关]$/ }).click();
52
+ await page.getByRole('button', { name: '自动折叠开', exact: true }).waitFor();
53
+ await latestThought.waitFor();
54
+ assert.equal(await completedThought.count(), 0);
55
+
56
+ // Reading while auto-fold is off used to persist a manual expansion forever.
57
+ await toggle();
58
+ await completedThought.click();
59
+ assert.ok(Object.values(await page.evaluate(() => window.autoFoldFixture.state().expanded)).includes(true));
60
+ await toggle();
61
+ await completedThought.waitFor({ state: 'hidden' });
62
+ await latestThought.waitFor();
63
+ await closed.getByText('最终回答始终保留', { exact: true }).waitFor();
64
+
65
+ // A prior-steps disclosure has its own state, separate from the store.
66
+ await live.getByRole('button', { name: '展开此前步骤', exact: true }).click();
67
+ await oldLiveThought.waitFor();
68
+ await toggle();
69
+ await toggle();
70
+ await oldLiveThought.waitFor({ state: 'hidden' });
71
+ await latestThought.waitFor();
72
+
73
+ // Fresh manual choices still work after automatic folding is restored.
74
+ await closed.getByRole('button', { name: '展开思考与过程', exact: true }).click();
75
+ await completedThought.waitFor();
76
+ await page.evaluate(() => window.autoFoldFixture.preference(false));
77
+ await page.getByRole('button', { name: '自动折叠关', exact: true }).waitFor();
78
+ await page.evaluate(() => window.autoFoldFixture.preference(true));
79
+ await completedThought.waitFor({ state: 'hidden' });
80
+
81
+ // Active text selection still protects reading until the user clears it.
82
+ await toggle();
83
+ await completedThought.evaluate(async element => {
84
+ const range = document.createRange();
85
+ range.selectNodeContents(element);
86
+ document.getSelection().removeAllRanges();
87
+ document.getSelection().addRange(range);
88
+ document.dispatchEvent(new Event('selectionchange'));
89
+ await new Promise(requestAnimationFrame);
90
+ });
91
+ await page.evaluate(() => window.autoFoldFixture.preference(true));
92
+ await page.getByRole('button', { name: '自动折叠开', exact: true }).waitFor();
93
+ await closed.getByRole('button', { name: '收起思考与过程', exact: true }).waitFor();
94
+ assert.equal(await page.evaluate(() => document.getSelection().toString()), '已完成思考 0');
95
+ await page.evaluate(() => document.getSelection().removeAllRanges());
96
+ await completedThought.waitFor({ state: 'hidden' });
97
+
98
+ // Rapid reversal must settle with automatic folding enabled.
99
+ for (let i = 0; i < 6; i++) await toggle();
100
+ await completedThought.waitFor({ state: 'hidden' });
101
+ await oldLiveThought.waitFor({ state: 'hidden' });
102
+ await latestThought.waitFor();
103
+ assert.deepEqual(errors, []);
104
+ assert.equal(await page.getByText('此内容暂时无法展示', { exact: false }).count(), 0);
105
+ await page.screenshot({ path: join(out, `${reducedMotion}.png`) });
106
+ results.push({ reducedMotion, passed: true, paths: ['read-while-off', 'prior-steps-override', 'new-manual-choice', 'settings-toggle', 'active-selection', 'rapid-reversal', 'latest-and-final-content'] });
107
+ await page.close();
108
+ }
109
+ await writeFile(join(out, 'result.json'), JSON.stringify({ passed: true, results }, null, 2));
110
+ console.log(JSON.stringify({ passed: true, results }));
111
+ } finally {
112
+ await browser?.close();
113
+ await new Promise(resolve => server.close(resolve));
114
+ }