dsh-better-display 0.1.1

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 (300) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/DESIGN.md +72 -0
  3. package/LICENSE +24 -0
  4. package/README.en.md +41 -0
  5. package/README.md +41 -0
  6. package/THIRD_PARTY_NOTICES.md +65 -0
  7. package/cordis.patch.yml +5 -0
  8. package/cordis.yml +4 -0
  9. package/dshx.yml +5 -0
  10. package/lib/client.js +49923 -0
  11. package/lib/client.js.map +1 -0
  12. package/lib/dsh-better-display.js +256 -0
  13. package/lib/types/client/Blocks.d.ts +45 -0
  14. package/lib/types/client/Blocks.d.ts.map +1 -0
  15. package/lib/types/client/Blocks.js +136 -0
  16. package/lib/types/client/Blocks.js.map +1 -0
  17. package/lib/types/client/ChoreographedFlow.d.ts +22 -0
  18. package/lib/types/client/ChoreographedFlow.d.ts.map +1 -0
  19. package/lib/types/client/ChoreographedFlow.js +170 -0
  20. package/lib/types/client/ChoreographedFlow.js.map +1 -0
  21. package/lib/types/client/ClosedProcessSummary.d.ts +9 -0
  22. package/lib/types/client/ClosedProcessSummary.d.ts.map +1 -0
  23. package/lib/types/client/ClosedProcessSummary.js +15 -0
  24. package/lib/types/client/ClosedProcessSummary.js.map +1 -0
  25. package/lib/types/client/LiveFold.d.ts +10 -0
  26. package/lib/types/client/LiveFold.d.ts.map +1 -0
  27. package/lib/types/client/LiveFold.js +39 -0
  28. package/lib/types/client/LiveFold.js.map +1 -0
  29. package/lib/types/client/McpAppFrame.d.ts +32 -0
  30. package/lib/types/client/McpAppFrame.d.ts.map +1 -0
  31. package/lib/types/client/McpAppFrame.js +193 -0
  32. package/lib/types/client/McpAppFrame.js.map +1 -0
  33. package/lib/types/client/Reader.d.ts +3 -0
  34. package/lib/types/client/Reader.d.ts.map +1 -0
  35. package/lib/types/client/Reader.js +537 -0
  36. package/lib/types/client/Reader.js.map +1 -0
  37. package/lib/types/client/ReasoningCard.d.ts +11 -0
  38. package/lib/types/client/ReasoningCard.d.ts.map +1 -0
  39. package/lib/types/client/ReasoningCard.js +301 -0
  40. package/lib/types/client/ReasoningCard.js.map +1 -0
  41. package/lib/types/client/StickyLane.d.ts +8 -0
  42. package/lib/types/client/StickyLane.d.ts.map +1 -0
  43. package/lib/types/client/StickyLane.js +28 -0
  44. package/lib/types/client/StickyLane.js.map +1 -0
  45. package/lib/types/client/TimelineRail.d.ts +10 -0
  46. package/lib/types/client/TimelineRail.d.ts.map +1 -0
  47. package/lib/types/client/TimelineRail.js +168 -0
  48. package/lib/types/client/TimelineRail.js.map +1 -0
  49. package/lib/types/client/ToolActivity.d.ts +17 -0
  50. package/lib/types/client/ToolActivity.d.ts.map +1 -0
  51. package/lib/types/client/ToolActivity.js +192 -0
  52. package/lib/types/client/ToolActivity.js.map +1 -0
  53. package/lib/types/client/TurnMetrics.d.ts +11 -0
  54. package/lib/types/client/TurnMetrics.d.ts.map +1 -0
  55. package/lib/types/client/TurnMetrics.js +44 -0
  56. package/lib/types/client/TurnMetrics.js.map +1 -0
  57. package/lib/types/client/WaitingStatus.d.ts +6 -0
  58. package/lib/types/client/WaitingStatus.d.ts.map +1 -0
  59. package/lib/types/client/WaitingStatus.js +19 -0
  60. package/lib/types/client/WaitingStatus.js.map +1 -0
  61. package/lib/types/client/conversation-scroll.d.ts +19 -0
  62. package/lib/types/client/conversation-scroll.d.ts.map +1 -0
  63. package/lib/types/client/conversation-scroll.js +25 -0
  64. package/lib/types/client/conversation-scroll.js.map +1 -0
  65. package/lib/types/client/deliverables.d.ts +24 -0
  66. package/lib/types/client/deliverables.d.ts.map +1 -0
  67. package/lib/types/client/deliverables.js +104 -0
  68. package/lib/types/client/deliverables.js.map +1 -0
  69. package/lib/types/client/entry-policy.d.ts +10 -0
  70. package/lib/types/client/entry-policy.d.ts.map +1 -0
  71. package/lib/types/client/entry-policy.js +24 -0
  72. package/lib/types/client/entry-policy.js.map +1 -0
  73. package/lib/types/client/entry.d.ts +4 -0
  74. package/lib/types/client/entry.d.ts.map +1 -0
  75. package/lib/types/client/entry.js +34 -0
  76. package/lib/types/client/entry.js.map +1 -0
  77. package/lib/types/client/fold-choreography.d.ts +28 -0
  78. package/lib/types/client/fold-choreography.d.ts.map +1 -0
  79. package/lib/types/client/fold-choreography.js +31 -0
  80. package/lib/types/client/fold-choreography.js.map +1 -0
  81. package/lib/types/client/index.d.ts +7 -0
  82. package/lib/types/client/index.d.ts.map +1 -0
  83. package/lib/types/client/index.js +153 -0
  84. package/lib/types/client/index.js.map +1 -0
  85. package/lib/types/client/live-turn.d.ts +58 -0
  86. package/lib/types/client/live-turn.d.ts.map +1 -0
  87. package/lib/types/client/live-turn.js +144 -0
  88. package/lib/types/client/live-turn.js.map +1 -0
  89. package/lib/types/client/markdown/MarkdownText.d.ts +39 -0
  90. package/lib/types/client/markdown/MarkdownText.d.ts.map +1 -0
  91. package/lib/types/client/markdown/MarkdownText.js +171 -0
  92. package/lib/types/client/markdown/MarkdownText.js.map +1 -0
  93. package/lib/types/client/markdown/cjkFriendlyStrong.d.ts +9 -0
  94. package/lib/types/client/markdown/cjkFriendlyStrong.d.ts.map +1 -0
  95. package/lib/types/client/markdown/cjkFriendlyStrong.js +73 -0
  96. package/lib/types/client/markdown/cjkFriendlyStrong.js.map +1 -0
  97. package/lib/types/client/markdown/incremental.d.ts +69 -0
  98. package/lib/types/client/markdown/incremental.d.ts.map +1 -0
  99. package/lib/types/client/markdown/incremental.js +108 -0
  100. package/lib/types/client/markdown/incremental.js.map +1 -0
  101. package/lib/types/client/markdown/katex.d.ts +27 -0
  102. package/lib/types/client/markdown/katex.d.ts.map +1 -0
  103. package/lib/types/client/markdown/katex.js +88 -0
  104. package/lib/types/client/markdown/katex.js.map +1 -0
  105. package/lib/types/client/markdown/mathCompatibility.d.ts +11 -0
  106. package/lib/types/client/markdown/mathCompatibility.d.ts.map +1 -0
  107. package/lib/types/client/markdown/mathCompatibility.js +293 -0
  108. package/lib/types/client/markdown/mathCompatibility.js.map +1 -0
  109. package/lib/types/client/markdown/parse.d.ts +25 -0
  110. package/lib/types/client/markdown/parse.d.ts.map +1 -0
  111. package/lib/types/client/markdown/parse.js +42 -0
  112. package/lib/types/client/markdown/parse.js.map +1 -0
  113. package/lib/types/client/markdown/render.d.ts +119 -0
  114. package/lib/types/client/markdown/render.d.ts.map +1 -0
  115. package/lib/types/client/markdown/render.js +435 -0
  116. package/lib/types/client/markdown/render.js.map +1 -0
  117. package/lib/types/client/mcp-app.d.ts +50 -0
  118. package/lib/types/client/mcp-app.d.ts.map +1 -0
  119. package/lib/types/client/mcp-app.js +328 -0
  120. package/lib/types/client/mcp-app.js.map +1 -0
  121. package/lib/types/client/message-chrome.d.ts +19 -0
  122. package/lib/types/client/message-chrome.d.ts.map +1 -0
  123. package/lib/types/client/message-chrome.js +42 -0
  124. package/lib/types/client/message-chrome.js.map +1 -0
  125. package/lib/types/client/motion.d.ts +38 -0
  126. package/lib/types/client/motion.d.ts.map +1 -0
  127. package/lib/types/client/motion.js +367 -0
  128. package/lib/types/client/motion.js.map +1 -0
  129. package/lib/types/client/native/ContextBody.d.ts +130 -0
  130. package/lib/types/client/native/ContextBody.d.ts.map +1 -0
  131. package/lib/types/client/native/ContextBody.js +398 -0
  132. package/lib/types/client/native/ContextBody.js.map +1 -0
  133. package/lib/types/client/native/ContextInjectionRow.d.ts +26 -0
  134. package/lib/types/client/native/ContextInjectionRow.d.ts.map +1 -0
  135. package/lib/types/client/native/ContextInjectionRow.js +27 -0
  136. package/lib/types/client/native/ContextInjectionRow.js.map +1 -0
  137. package/lib/types/client/native/ReferenceIcon.d.ts +16 -0
  138. package/lib/types/client/native/ReferenceIcon.d.ts.map +1 -0
  139. package/lib/types/client/native/ReferenceIcon.js +16 -0
  140. package/lib/types/client/native/ReferenceIcon.js.map +1 -0
  141. package/lib/types/client/native/tool-call-model.d.ts +58 -0
  142. package/lib/types/client/native/tool-call-model.d.ts.map +1 -0
  143. package/lib/types/client/native/tool-call-model.js +219 -0
  144. package/lib/types/client/native/tool-call-model.js.map +1 -0
  145. package/lib/types/client/open-file.d.ts +24 -0
  146. package/lib/types/client/primitive-labels.d.ts +10 -0
  147. package/lib/types/client/primitive-labels.d.ts.map +1 -0
  148. package/lib/types/client/primitive-labels.js +37 -0
  149. package/lib/types/client/primitive-labels.js.map +1 -0
  150. package/lib/types/client/projection.d.ts +41 -0
  151. package/lib/types/client/projection.d.ts.map +1 -0
  152. package/lib/types/client/projection.js +112 -0
  153. package/lib/types/client/projection.js.map +1 -0
  154. package/lib/types/client/reasoning-follow.d.ts +6 -0
  155. package/lib/types/client/reasoning-follow.d.ts.map +1 -0
  156. package/lib/types/client/reasoning-follow.js +12 -0
  157. package/lib/types/client/reasoning-follow.js.map +1 -0
  158. package/lib/types/client/settings-copy.d.ts +6 -0
  159. package/lib/types/client/settings-slots.d.ts +16 -0
  160. package/lib/types/client/store.d.ts +17 -0
  161. package/lib/types/client/store.d.ts.map +1 -0
  162. package/lib/types/client/store.js +13 -0
  163. package/lib/types/client/store.js.map +1 -0
  164. package/lib/types/client/stream-buffer.d.ts +29 -0
  165. package/lib/types/client/stream-buffer.d.ts.map +1 -0
  166. package/lib/types/client/stream-buffer.js +113 -0
  167. package/lib/types/client/stream-buffer.js.map +1 -0
  168. package/lib/types/client/streaming.d.ts +18 -0
  169. package/lib/types/client/streaming.d.ts.map +1 -0
  170. package/lib/types/client/streaming.js +77 -0
  171. package/lib/types/client/streaming.js.map +1 -0
  172. package/lib/types/client/timeline.d.ts +26 -0
  173. package/lib/types/client/timeline.d.ts.map +1 -0
  174. package/lib/types/client/timeline.js +48 -0
  175. package/lib/types/client/timeline.js.map +1 -0
  176. package/lib/types/client/tool-activity.d.ts +52 -0
  177. package/lib/types/client/tool-activity.d.ts.map +1 -0
  178. package/lib/types/client/tool-activity.js +178 -0
  179. package/lib/types/client/tool-activity.js.map +1 -0
  180. package/lib/types/client/types.d.ts +66 -0
  181. package/lib/types/client/types.d.ts.map +1 -0
  182. package/lib/types/client/types.js +2 -0
  183. package/lib/types/client/types.js.map +1 -0
  184. package/lib/types/client/waiting-clock.d.ts +17 -0
  185. package/lib/types/client/waiting-clock.d.ts.map +1 -0
  186. package/lib/types/client/waiting-clock.js +24 -0
  187. package/lib/types/client/waiting-clock.js.map +1 -0
  188. package/lib/types/client/word-motion.d.ts +16 -0
  189. package/lib/types/client/word-motion.d.ts.map +1 -0
  190. package/lib/types/client/word-motion.js +89 -0
  191. package/lib/types/client/word-motion.js.map +1 -0
  192. package/lib/types/client/word-timeline.d.ts +28 -0
  193. package/lib/types/client/word-timeline.d.ts.map +1 -0
  194. package/lib/types/client/word-timeline.js +100 -0
  195. package/lib/types/client/word-timeline.js.map +1 -0
  196. package/lib/types/dsh-better-display.d.ts +17 -0
  197. package/lib/types/dsh-better-display.d.ts.map +1 -0
  198. package/lib/types/dsh-better-display.js +53 -0
  199. package/lib/types/dsh-better-display.js.map +1 -0
  200. package/package.json +121 -0
  201. package/scripts/build-motion-fixture.mjs +26 -0
  202. package/scripts/link-harness-dependencies.mjs +51 -0
  203. package/skills/generative-mcpapps/SKILL.md +47 -0
  204. package/skills/generative-mcpapps/examples/interactive_quiz.html +153 -0
  205. package/skills/generative-mcpapps/references/html_boilerplate.md +122 -0
  206. package/skills/generative-mcpapps/references/sep1865_protocol.md +54 -0
  207. package/src/client/Blocks.tsx +205 -0
  208. package/src/client/ChoreographedFlow.tsx +182 -0
  209. package/src/client/ClosedProcessSummary.tsx +19 -0
  210. package/src/client/LiveFold.tsx +43 -0
  211. package/src/client/McpAppFrame.module.css +210 -0
  212. package/src/client/McpAppFrame.tsx +317 -0
  213. package/src/client/Reader.module.css +329 -0
  214. package/src/client/Reader.tsx +814 -0
  215. package/src/client/ReasoningCard.tsx +285 -0
  216. package/src/client/SettingsSection.module.css +147 -0
  217. package/src/client/SettingsSection.tsx +117 -0
  218. package/src/client/StickyLane.tsx +24 -0
  219. package/src/client/TimelineRail.module.css +170 -0
  220. package/src/client/TimelineRail.tsx +262 -0
  221. package/src/client/ToolActivity.tsx +214 -0
  222. package/src/client/TurnMetrics.module.css +139 -0
  223. package/src/client/TurnMetrics.tsx +160 -0
  224. package/src/client/WaitingStatus.tsx +22 -0
  225. package/src/client/conversation-scroll.ts +28 -0
  226. package/src/client/deliverables.ts +122 -0
  227. package/src/client/entry-policy.ts +20 -0
  228. package/src/client/entry.tsx +40 -0
  229. package/src/client/fold-choreography.ts +38 -0
  230. package/src/client/index.tsx +198 -0
  231. package/src/client/live-turn.ts +155 -0
  232. package/src/client/markdown/MarkdownText.module.css +304 -0
  233. package/src/client/markdown/MarkdownText.tsx +187 -0
  234. package/src/client/markdown/cjkFriendlyStrong.ts +84 -0
  235. package/src/client/markdown/incremental.ts +131 -0
  236. package/src/client/markdown/katex.tsx +91 -0
  237. package/src/client/markdown/mathCompatibility.ts +350 -0
  238. package/src/client/markdown/parse.ts +45 -0
  239. package/src/client/markdown/render.tsx +630 -0
  240. package/src/client/markdown/upstream.json +14 -0
  241. package/src/client/mcp-app.ts +323 -0
  242. package/src/client/message-chrome.ts +47 -0
  243. package/src/client/motion.tsx +338 -0
  244. package/src/client/native/ContextBody.module.css +161 -0
  245. package/src/client/native/ContextBody.tsx +591 -0
  246. package/src/client/native/ContextInjectionRow.module.css +62 -0
  247. package/src/client/native/ContextInjectionRow.tsx +72 -0
  248. package/src/client/native/ReferenceIcon.tsx +35 -0
  249. package/src/client/native/tool-call-model.ts +248 -0
  250. package/src/client/native/upstream.json +41 -0
  251. package/src/client/open-file.ts +94 -0
  252. package/src/client/pending-submission.ts +49 -0
  253. package/src/client/primitive-labels.ts +53 -0
  254. package/src/client/projection.ts +118 -0
  255. package/src/client/reasoning-follow.ts +12 -0
  256. package/src/client/settings-copy.ts +53 -0
  257. package/src/client/settings-slots.ts +20 -0
  258. package/src/client/settings.tsx +73 -0
  259. package/src/client/skill-status.ts +78 -0
  260. package/src/client/store.ts +30 -0
  261. package/src/client/stream-buffer.ts +100 -0
  262. package/src/client/streaming.tsx +62 -0
  263. package/src/client/style.d.ts +4 -0
  264. package/src/client/timeline.ts +77 -0
  265. package/src/client/tool-activity.ts +152 -0
  266. package/src/client/types.ts +66 -0
  267. package/src/client/waiting-clock.ts +25 -0
  268. package/src/client/word-motion.tsx +91 -0
  269. package/src/client/word-timeline.ts +96 -0
  270. package/src/dsh-better-display.ts +108 -0
  271. package/src/skill-roots.ts +138 -0
  272. package/src/skill-status.ts +81 -0
  273. package/tests/browser-closed-gap.tsx +20 -0
  274. package/tests/browser-motion.tsx +65 -0
  275. package/tests/browser-sticky-lanes.tsx +22 -0
  276. package/tests/browser-waiting-clock.tsx +14 -0
  277. package/tests/chat-flow-hook.test.ts +66 -0
  278. package/tests/cloud-gate.test.ts +34 -0
  279. package/tests/conversation-scroll.test.ts +47 -0
  280. package/tests/deliverables.test.ts +128 -0
  281. package/tests/entry.test.ts +42 -0
  282. package/tests/fixtures/maid-composer-hide.html +31 -0
  283. package/tests/fold-choreography.test.ts +38 -0
  284. package/tests/history-word-regression.test.ts +16 -0
  285. package/tests/live-turn.test.ts +218 -0
  286. package/tests/mcp-apps.test.ts +157 -0
  287. package/tests/message-chrome.test.ts +29 -0
  288. package/tests/open-file.test.ts +103 -0
  289. package/tests/pending-submission.test.ts +45 -0
  290. package/tests/projection.test.ts +184 -0
  291. package/tests/reasoning-follow.test.ts +34 -0
  292. package/tests/settings-copy.test.ts +63 -0
  293. package/tests/skill-status.test.ts +137 -0
  294. package/tests/stock-install.test.ts +50 -0
  295. package/tests/stream-buffer.test.ts +97 -0
  296. package/tests/timeline.test.ts +59 -0
  297. package/tests/waiting-clock.test.ts +24 -0
  298. package/tests/word-timeline.test.ts +136 -0
  299. package/tsconfig.json +11 -0
  300. package/tsdown.config.ts +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reader.js","sourceRoot":"","sources":["../../../src/client/Reader.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ReactNode } from 'react';
2
+ /** One real transcript: reference transform while following, native scroll while reading. */
3
+ export declare function ReasoningCard({ children, step, active, motion, selected, onRead }: {
4
+ children: ReactNode;
5
+ step: number;
6
+ active: boolean;
7
+ motion: boolean;
8
+ selected: boolean;
9
+ onRead: () => void;
10
+ }): import("react").JSX.Element;
11
+ //# sourceMappingURL=ReasoningCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReasoningCard.d.ts","sourceRoot":"","sources":["../../../src/client/ReasoningCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAClF,QAAQ,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC5G,+BAiRA"}
@@ -0,0 +1,301 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useContext, useEffect, useId, useLayoutEffect, useRef, useState } from 'react';
3
+ import { StreamMotionContext } from './streaming.js';
4
+ import { REASON_HOLD, REASON_STEP, reasoningTarget } from './reasoning-follow.js';
5
+ import css from './Reader.module.css';
6
+ const EASING = 'cubic-bezier(.22,1,.36,1)';
7
+ /** One real transcript: reference transform while following, native scroll while reading. */
8
+ export function ReasoningCard({ children, step, active, motion, selected, onRead }) {
9
+ const viewport = useRef(null);
10
+ const track = useRef(null);
11
+ const content = useRef(null);
12
+ const controls = useId();
13
+ const [expanded, setExpanded] = useState(false);
14
+ const [following, setFollowing] = useState(true);
15
+ const [overflow, setOverflow] = useState(false);
16
+ const [edges, setEdges] = useState('none');
17
+ const lastHeight = useRef(0);
18
+ const resize = useRef(null);
19
+ const previousExpanded = useRef(expanded);
20
+ const stopFollow = useRef(() => { });
21
+ const { paused = false } = useContext(StreamMotionContext);
22
+ const allowed = following && active && motion && !selected && !paused;
23
+ const pause = useCallback(() => {
24
+ stopFollow.current();
25
+ setFollowing(false);
26
+ onRead();
27
+ }, [onRead]);
28
+ useLayoutEffect(() => {
29
+ // The parent's selection observer can suspend this card before its own
30
+ // listener runs. Clearing a selection must not silently resume following.
31
+ if (!selected)
32
+ return;
33
+ stopFollow.current();
34
+ setFollowing(false);
35
+ }, [selected]);
36
+ useLayoutEffect(() => {
37
+ if (!expanded)
38
+ return;
39
+ const port = viewport.current;
40
+ const host = port?.closest('[data-conversation-scroll]');
41
+ if (!port || !host)
42
+ return;
43
+ const fit = () => {
44
+ // Public DSH layout variable, updated by the native composer's observer.
45
+ // Leave room for the permanent identity, footer and reading margin.
46
+ const composer = parseFloat(getComputedStyle(host).getPropertyValue('--dsh-composer-height')) || 152;
47
+ const heading = port.parentElement?.querySelector('[data-reader-reasoning-heading]')?.offsetHeight || 30;
48
+ const footer = port.parentElement?.querySelector('[data-ud-check=reasoning-controls]')?.offsetHeight || 38;
49
+ const available = Math.max(120, host.clientHeight - composer - heading - footer - 32);
50
+ port.style.setProperty('--reason-reading-height', `${available}px`);
51
+ };
52
+ fit();
53
+ const observer = new ResizeObserver(fit);
54
+ observer.observe(host);
55
+ return () => { observer.disconnect(); };
56
+ }, [expanded]);
57
+ useLayoutEffect(() => {
58
+ const port = viewport.current;
59
+ const text = content.current;
60
+ const scrollTrack = track.current;
61
+ if (!port || !text || !scrollTrack)
62
+ return;
63
+ let frame = 0;
64
+ let timer;
65
+ let nextAt = performance.now() + REASON_HOLD;
66
+ let alive = true;
67
+ let automatic = false;
68
+ let lastPainted = port.scrollTop;
69
+ let targetOffset = lastPainted;
70
+ const tail = () => Math.max(0, text.offsetHeight - port.clientHeight);
71
+ const clamp = (value) => Math.max(0, Math.min(tail(), value));
72
+ const paintedOffset = () => {
73
+ if (!automatic)
74
+ return port.scrollTop;
75
+ const transform = getComputedStyle(scrollTrack).transform;
76
+ // Reduced-motion CSS may win before React receives the media change.
77
+ // Retain the last painted position rather than snapping back to the top.
78
+ return clamp(transform === 'none' ? lastPainted : port.scrollTop - new DOMMatrixReadOnly(transform).m42);
79
+ };
80
+ const hasSelection = () => {
81
+ const selection = document.getSelection();
82
+ return !!selection && !selection.isCollapsed && !!selection.anchorNode && text.contains(selection.anchorNode);
83
+ };
84
+ const cancel = () => {
85
+ cancelAnimationFrame(frame);
86
+ frame = 0;
87
+ clearTimeout(timer);
88
+ timer = undefined;
89
+ delete port.dataset.reasoningMoving;
90
+ };
91
+ const manual = () => {
92
+ if (!automatic)
93
+ return;
94
+ const top = paintedOffset();
95
+ automatic = false;
96
+ scrollTrack.style.transition = 'none';
97
+ scrollTrack.style.transform = 'none';
98
+ // Set both in the same layout effect/event, before a frame can paint.
99
+ // The first wheel gesture must already have a native scrollable viewport.
100
+ port.style.overflow = 'auto';
101
+ port.scrollTop = top;
102
+ lastPainted = port.scrollTop;
103
+ port.dataset.reasoningMode = 'manual';
104
+ };
105
+ const follow = () => {
106
+ if (automatic)
107
+ return;
108
+ targetOffset = lastPainted = clamp(port.scrollTop);
109
+ scrollTrack.style.transition = 'none';
110
+ scrollTrack.style.transform = `translateY(-${lastPainted}px)`;
111
+ port.scrollTop = 0;
112
+ port.style.overflow = 'hidden';
113
+ automatic = true;
114
+ port.dataset.reasoningMode = 'transform';
115
+ };
116
+ const measure = (recordHeight = true) => {
117
+ const previewHeight = parseFloat(getComputedStyle(port).getPropertyValue('--reason-preview-height'));
118
+ setOverflow(text.offsetHeight > previewHeight + 1);
119
+ lastPainted = paintedOffset();
120
+ const top = lastPainted > 1;
121
+ const bottom = tail() - lastPainted > 1;
122
+ const next = top ? bottom ? 'both' : 'top' : bottom ? 'bottom' : 'none';
123
+ setEdges(value => value === next ? value : next);
124
+ if (recordHeight && !resize.current)
125
+ lastHeight.current = port.clientHeight;
126
+ };
127
+ stopFollow.current = () => { cancel(); manual(); measure(false); };
128
+ const canFollow = () => allowed && alive && !document.hidden && !hasSelection();
129
+ const schedule = () => {
130
+ if (!canFollow() || frame || timer !== undefined)
131
+ return;
132
+ follow();
133
+ if (tail() - paintedOffset() < 1)
134
+ return;
135
+ timer = setTimeout(start, Math.max(0, nextAt - performance.now()));
136
+ };
137
+ const start = () => {
138
+ timer = undefined;
139
+ if (!canFollow())
140
+ return;
141
+ const from = paintedOffset();
142
+ const lineHeight = parseFloat(getComputedStyle(text).lineHeight) || 24;
143
+ const target = reasoningTarget(from, text.offsetHeight, port.clientHeight, lineHeight);
144
+ if (target - from < 1)
145
+ return;
146
+ const began = performance.now();
147
+ nextAt = began + REASON_HOLD;
148
+ targetOffset = target;
149
+ // The supplied recipe: commit the start pose, then transition the track.
150
+ // No per-frame scrollTop writes and no catch-up across unread lines.
151
+ scrollTrack.style.transition = 'none';
152
+ scrollTrack.style.transform = `translateY(-${from}px)`;
153
+ void scrollTrack.offsetHeight;
154
+ scrollTrack.style.transition = 'transform var(--reason-step) var(--reason-ease)';
155
+ scrollTrack.style.transform = `translateY(-${target}px)`;
156
+ port.dataset.reasoningMoving = 'true';
157
+ port.dataset.reasoningFrom = String(from);
158
+ port.dataset.reasoningTarget = String(target);
159
+ port.dataset.reasoningBegan = String(began);
160
+ const tick = (now) => {
161
+ frame = 0;
162
+ if (!canFollow()) {
163
+ cancel();
164
+ manual();
165
+ return;
166
+ }
167
+ // Observe the browser's actual CSS interpolation for masks and handoff.
168
+ measure();
169
+ if (now - began < REASON_STEP || Math.abs(lastPainted - target) > .05)
170
+ frame = requestAnimationFrame(tick);
171
+ else {
172
+ delete port.dataset.reasoningMoving;
173
+ schedule();
174
+ }
175
+ };
176
+ frame = requestAnimationFrame(tick);
177
+ };
178
+ const onScroll = () => {
179
+ measure();
180
+ // Focus/keyboard-induced native scroll wins even while the track moves.
181
+ if (automatic && port.scrollTop > 1)
182
+ pause();
183
+ };
184
+ const onWheel = (event) => {
185
+ if (!event.deltaY)
186
+ return;
187
+ // The compositor picks a wheel scroller before handlers run. A clipped
188
+ // transform viewport would otherwise lose this first gesture or scroll
189
+ // the conversation. Consume only this handoff; later wheels stay native.
190
+ const handoff = automatic && event.cancelable;
191
+ if (handoff)
192
+ event.preventDefault();
193
+ const unit = event.deltaMode === WheelEvent.DOM_DELTA_LINE ? parseFloat(getComputedStyle(text).lineHeight) || 24
194
+ : event.deltaMode === WheelEvent.DOM_DELTA_PAGE ? port.clientHeight : 1;
195
+ pause();
196
+ if (handoff) {
197
+ port.scrollTop = clamp(port.scrollTop + event.deltaY * unit);
198
+ measure();
199
+ }
200
+ };
201
+ const onSelection = () => { if (hasSelection())
202
+ pause(); };
203
+ const onVisibility = () => {
204
+ cancel();
205
+ manual();
206
+ nextAt = performance.now() + REASON_HOLD;
207
+ if (!document.hidden)
208
+ schedule();
209
+ };
210
+ const observer = new ResizeObserver(() => {
211
+ if (automatic && targetOffset > tail() + 1) {
212
+ cancel();
213
+ manual();
214
+ nextAt = performance.now() + REASON_HOLD;
215
+ }
216
+ measure();
217
+ schedule();
218
+ });
219
+ observer.observe(text);
220
+ observer.observe(port);
221
+ port.addEventListener('scroll', onScroll, { passive: true });
222
+ port.addEventListener('wheel', onWheel, { passive: false });
223
+ document.addEventListener('selectionchange', onSelection);
224
+ document.addEventListener('visibilitychange', onVisibility);
225
+ // Keep the previous layout height until the resize effect can sample it.
226
+ measure(false);
227
+ schedule();
228
+ return () => {
229
+ alive = false;
230
+ cancel();
231
+ manual();
232
+ observer.disconnect();
233
+ port.removeEventListener('scroll', onScroll);
234
+ port.removeEventListener('wheel', onWheel);
235
+ document.removeEventListener('selectionchange', onSelection);
236
+ document.removeEventListener('visibilitychange', onVisibility);
237
+ stopFollow.current = () => { };
238
+ };
239
+ }, [allowed, pause]);
240
+ useLayoutEffect(() => {
241
+ const port = viewport.current;
242
+ if (!port)
243
+ return;
244
+ const changed = expanded !== previousExpanded.current;
245
+ previousExpanded.current = expanded;
246
+ const from = resize.current ? port.clientHeight : lastHeight.current;
247
+ resize.current?.cancel();
248
+ resize.current = null;
249
+ port.style.maxHeight = '';
250
+ port.style.height = '';
251
+ const target = port.clientHeight;
252
+ // Explicit reading adjusts only the conversation, never the outer app.
253
+ // The card is also a reader anchor so resizing cannot pin a later answer
254
+ // in place at the expense of this card's visible heading.
255
+ if (changed && !selected) {
256
+ const card = port.parentElement;
257
+ const host = port.closest('[data-conversation-scroll]');
258
+ if (card && host) {
259
+ const composer = parseFloat(getComputedStyle(host).getPropertyValue('--dsh-composer-height')) || 152;
260
+ const region = host.getBoundingClientRect();
261
+ const box = card.getBoundingClientRect();
262
+ const top = region.top + 16;
263
+ const bottom = region.bottom - composer - 16;
264
+ const delta = box.top < top ? box.top - top : box.bottom > bottom ? Math.min(box.bottom - bottom, box.top - top) : 0;
265
+ if (Math.abs(delta) > 1)
266
+ host.scrollTo({ top: Math.max(0, host.scrollTop + delta), behavior: motion ? 'smooth' : 'instant' });
267
+ }
268
+ }
269
+ if (!changed || !motion || from < 1 || Math.abs(target - from) < 1) {
270
+ lastHeight.current = target;
271
+ return;
272
+ }
273
+ // max-height otherwise clamps the very first collapse frame to the new cap.
274
+ port.style.maxHeight = 'none';
275
+ const animation = port.animate([{ height: `${from}px` }, { height: `${target}px` }], { duration: 300, easing: EASING, fill: 'both' });
276
+ resize.current = animation;
277
+ animation.onfinish = () => {
278
+ if (resize.current !== animation)
279
+ return;
280
+ resize.current = null;
281
+ animation.cancel();
282
+ port.style.maxHeight = '';
283
+ port.style.height = '';
284
+ lastHeight.current = port.clientHeight;
285
+ };
286
+ }, [expanded, motion, selected]);
287
+ useEffect(() => () => resize.current?.cancel(), []);
288
+ const toggleReading = () => {
289
+ // Resize the same transcript without changing follow intent or position.
290
+ // Wheel, selection and viewport focus still explicitly pause following.
291
+ onRead();
292
+ setExpanded(value => !value);
293
+ };
294
+ return _jsxs("div", { className: css.reasonCard, "data-reader-reasoning-card": true, "data-reader-anchor": true, "data-expanded": expanded, "data-following": allowed, "data-overflow": overflow, "data-ud-motion": "reader-reasoning-size", children: [_jsxs("div", { className: css.reasonHeading, "data-reader-reasoning-heading": true, "data-ud-check": "reasoning-identity", children: [_jsx("span", { className: css.reasonLabel, "data-reader-reasoning-label": true, children: "\u601D\u8003" }), _jsxs("span", { children: ["\u6B65\u9AA4 ", step] })] }), _jsx("div", { ref: viewport, id: controls, className: css.reasonViewport, "data-reader-reasoning-scroll": true, "data-edges": edges, "data-ud-motion": "reader-reasoning-scroll", role: "region", "aria-label": `步骤 ${step} 的思考${overflow ? ',可滚动阅读' : ''}`, tabIndex: overflow ? 0 : undefined, onPointerDown: pause, onFocus: pause, children: _jsx("div", { ref: track, className: css.reasonTrack, "data-reader-reasoning-track": true, children: _jsx("div", { ref: content, className: css.reasonText, "data-reader-reasoning-text": true, children: children }) }) }), (overflow || expanded) && _jsxs("div", { className: css.reasonFooter, "data-ud-check": "reasoning-controls", children: [active && motion ? _jsxs("button", { type: "button", className: css.reasonAction, disabled: selected, "aria-controls": controls, "aria-label": following ? '暂停自动跟随思考' : '继续跟随最新思考', title: selected ? '取消文字选择后可继续跟随' : undefined, onClick: () => { if (following)
295
+ pause();
296
+ else {
297
+ onRead();
298
+ setFollowing(true);
299
+ } }, children: [_jsx("svg", { width: "12", height: "12", viewBox: "0 0 16 16", "aria-hidden": "true", children: following ? _jsx("path", { d: "M5.5 4v8m5-8v8" }) : _jsx("path", { d: "M8 3v10m-4-4 4 4 4-4" }) }), following ? '暂停跟随' : '跟随最新'] }) : _jsx("span", { className: css.reasonCaption, children: expanded ? '手动阅读' : '可滚动阅读' }), _jsxs("button", { type: "button", className: css.reasonAction, "aria-expanded": expanded, "aria-controls": controls, "aria-label": expanded ? '收起完整思考' : '展开阅读完整思考', onClick: toggleReading, children: [expanded ? '收起' : '展开阅读', _jsx("svg", { width: "12", height: "12", viewBox: "0 0 16 16", "aria-hidden": "true", children: expanded ? _jsx("path", { d: "m4 10 4-4 4 4" }) : _jsx("path", { d: "m4 6 4 4 4-4" }) })] })] })] });
300
+ }
301
+ //# sourceMappingURL=ReasoningCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReasoningCard.js","sourceRoot":"","sources":["../../../src/client/ReasoningCard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ReactNode } from 'react';
2
+ /** Publish real lane geometry; wrapped labels must not collide with statistics. */
3
+ export declare function StickyLane({ kind, className, children }: {
4
+ kind: 'toolbar' | 'status';
5
+ className: string;
6
+ children: ReactNode;
7
+ }): import("react").JSX.Element;
8
+ //# sourceMappingURL=StickyLane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StickyLane.d.ts","sourceRoot":"","sources":["../../../src/client/StickyLane.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAmB/H"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useLayoutEffect, useRef } from 'react';
3
+ /** Publish real lane geometry; wrapped labels must not collide with statistics. */
4
+ export function StickyLane({ kind, className, children }) {
5
+ const ref = useRef(null);
6
+ useLayoutEffect(() => {
7
+ const el = ref.current;
8
+ const scope = el?.closest(kind === 'toolbar' ? '[data-dsh-better-display]' : '[data-reader-turn]');
9
+ if (!el || !scope)
10
+ return;
11
+ const property = kind === 'toolbar' ? '--reader-toolbar-height' : '--reader-status-height';
12
+ const update = () => {
13
+ scope.style.setProperty(property, `${el.getBoundingClientRect().height}px`);
14
+ if (kind === 'toolbar')
15
+ scope.style.setProperty('--reader-control-width', `${(el.querySelector('button')?.getBoundingClientRect().width ?? 80) + 20}px`);
16
+ };
17
+ update();
18
+ const observer = new ResizeObserver(update);
19
+ observer.observe(el);
20
+ const control = kind === 'toolbar' ? el.querySelector('button') : null;
21
+ if (control)
22
+ observer.observe(control);
23
+ return () => { observer.disconnect(); scope.style.removeProperty(property); if (kind === 'toolbar')
24
+ scope.style.removeProperty('--reader-control-width'); };
25
+ }, [kind]);
26
+ return _jsx("div", { ref: ref, className: className, "data-reader-lane": kind, "data-ud-check": kind === 'toolbar' ? 'reader-toolbar' : undefined, children: children });
27
+ }
28
+ //# sourceMappingURL=StickyLane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StickyLane.js","sourceRoot":"","sources":["../../../src/client/StickyLane.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGhD,mFAAmF;AACnF,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAA0E;IAC9H,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,MAAM,KAAK,GAAG,EAAE,EAAE,OAAO,CAAc,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAChH,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK;YAAE,OAAO;QAC1B,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC3F,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;YAC5E,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3J,CAAC,CAAC;QACF,MAAM,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,OAAO;YAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9J,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,OAAO,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,sBAAoB,IAAI,mBAAiB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,YAAG,QAAQ,GAAO,CAAC;AACzJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { TimelineItem } from './timeline.js';
2
+ interface TimelineRailProps {
3
+ items: readonly TimelineItem[];
4
+ activeTurn: number | null;
5
+ busyTurn?: number | null;
6
+ onNavigate: (item: TimelineItem) => void;
7
+ }
8
+ export declare const TimelineRail: import("react").MemoExoticComponent<({ items, activeTurn, busyTurn, onNavigate, }: TimelineRailProps) => import("react").JSX.Element | null>;
9
+ export {};
10
+ //# sourceMappingURL=TimelineRail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimelineRail.d.ts","sourceRoot":"","sources":["../../../src/client/TimelineRail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,UAAU,iBAAiB;IACzB,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAC1C;AAwDD,eAAO,MAAM,YAAY,qFAKtB,iBAAiB,wCA4LlB,CAAC"}