@drscrewdriver/dsh-better-display 0.3.3-fork.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 (390) hide show
  1. package/CHANGELOG.md +259 -0
  2. package/DESIGN.md +72 -0
  3. package/LICENSE +24 -0
  4. package/README.en.md +55 -0
  5. package/README.md +55 -0
  6. package/THIRD_PARTY_NOTICES.md +65 -0
  7. package/compat/harness-rc2.json +99 -0
  8. package/cordis.patch.yml +5 -0
  9. package/cordis.yml +4 -0
  10. package/docs/official-rendering-bridge.md +65 -0
  11. package/dshx.yml +5 -0
  12. package/lib/client.js +49292 -0
  13. package/lib/client.js.map +1 -0
  14. package/lib/dsh-better-display.js +101 -0
  15. package/lib/types/client/Blocks.d.ts +49 -0
  16. package/lib/types/client/Blocks.d.ts.map +1 -0
  17. package/lib/types/client/Blocks.js +143 -0
  18. package/lib/types/client/Blocks.js.map +1 -0
  19. package/lib/types/client/ChoreographedFlow.d.ts +22 -0
  20. package/lib/types/client/ChoreographedFlow.d.ts.map +1 -0
  21. package/lib/types/client/ChoreographedFlow.js +218 -0
  22. package/lib/types/client/ChoreographedFlow.js.map +1 -0
  23. package/lib/types/client/ClosedProcessSummary.d.ts +9 -0
  24. package/lib/types/client/ClosedProcessSummary.d.ts.map +1 -0
  25. package/lib/types/client/ClosedProcessSummary.js +16 -0
  26. package/lib/types/client/ClosedProcessSummary.js.map +1 -0
  27. package/lib/types/client/DiffPanel.d.ts +13 -0
  28. package/lib/types/client/DiffPanel.d.ts.map +1 -0
  29. package/lib/types/client/DiffPanel.js +115 -0
  30. package/lib/types/client/DiffPanel.js.map +1 -0
  31. package/lib/types/client/LiveFold.d.ts +10 -0
  32. package/lib/types/client/LiveFold.d.ts.map +1 -0
  33. package/lib/types/client/LiveFold.js +39 -0
  34. package/lib/types/client/LiveFold.js.map +1 -0
  35. package/lib/types/client/McpAppFrame.d.ts +32 -0
  36. package/lib/types/client/McpAppFrame.d.ts.map +1 -0
  37. package/lib/types/client/McpAppFrame.js +193 -0
  38. package/lib/types/client/McpAppFrame.js.map +1 -0
  39. package/lib/types/client/OfficialContent.d.ts +25 -0
  40. package/lib/types/client/OfficialContent.d.ts.map +1 -0
  41. package/lib/types/client/OfficialContent.js +53 -0
  42. package/lib/types/client/OfficialContent.js.map +1 -0
  43. package/lib/types/client/Reader.d.ts +3 -0
  44. package/lib/types/client/Reader.d.ts.map +1 -0
  45. package/lib/types/client/Reader.js +603 -0
  46. package/lib/types/client/Reader.js.map +1 -0
  47. package/lib/types/client/ReasoningCard.d.ts +11 -0
  48. package/lib/types/client/ReasoningCard.d.ts.map +1 -0
  49. package/lib/types/client/ReasoningCard.js +322 -0
  50. package/lib/types/client/ReasoningCard.js.map +1 -0
  51. package/lib/types/client/SettingsSection.d.ts +37 -0
  52. package/lib/types/client/SettingsSection.d.ts.map +1 -0
  53. package/lib/types/client/SettingsSection.js +63 -0
  54. package/lib/types/client/SettingsSection.js.map +1 -0
  55. package/lib/types/client/StickyLane.d.ts +8 -0
  56. package/lib/types/client/StickyLane.d.ts.map +1 -0
  57. package/lib/types/client/StickyLane.js +39 -0
  58. package/lib/types/client/StickyLane.js.map +1 -0
  59. package/lib/types/client/TimelineRail.d.ts +10 -0
  60. package/lib/types/client/TimelineRail.d.ts.map +1 -0
  61. package/lib/types/client/TimelineRail.js +168 -0
  62. package/lib/types/client/TimelineRail.js.map +1 -0
  63. package/lib/types/client/ToolActivity.d.ts +17 -0
  64. package/lib/types/client/ToolActivity.d.ts.map +1 -0
  65. package/lib/types/client/ToolActivity.js +244 -0
  66. package/lib/types/client/ToolActivity.js.map +1 -0
  67. package/lib/types/client/TurnMetrics.d.ts +11 -0
  68. package/lib/types/client/TurnMetrics.d.ts.map +1 -0
  69. package/lib/types/client/TurnMetrics.js +44 -0
  70. package/lib/types/client/TurnMetrics.js.map +1 -0
  71. package/lib/types/client/WaitClock.d.ts +16 -0
  72. package/lib/types/client/WaitClock.d.ts.map +1 -0
  73. package/lib/types/client/WaitClock.js +29 -0
  74. package/lib/types/client/WaitClock.js.map +1 -0
  75. package/lib/types/client/WaitingClock.d.ts +15 -0
  76. package/lib/types/client/WaitingClock.d.ts.map +1 -0
  77. package/lib/types/client/WaitingClock.js +30 -0
  78. package/lib/types/client/WaitingClock.js.map +1 -0
  79. package/lib/types/client/WaitingStatus.d.ts +6 -0
  80. package/lib/types/client/WaitingStatus.d.ts.map +1 -0
  81. package/lib/types/client/WaitingStatus.js +9 -0
  82. package/lib/types/client/WaitingStatus.js.map +1 -0
  83. package/lib/types/client/conversation-scroll.d.ts +19 -0
  84. package/lib/types/client/conversation-scroll.d.ts.map +1 -0
  85. package/lib/types/client/conversation-scroll.js +25 -0
  86. package/lib/types/client/conversation-scroll.js.map +1 -0
  87. package/lib/types/client/deliverables.d.ts +24 -0
  88. package/lib/types/client/deliverables.d.ts.map +1 -0
  89. package/lib/types/client/deliverables.js +104 -0
  90. package/lib/types/client/deliverables.js.map +1 -0
  91. package/lib/types/client/entry-policy.d.ts +10 -0
  92. package/lib/types/client/entry-policy.d.ts.map +1 -0
  93. package/lib/types/client/entry-policy.js +24 -0
  94. package/lib/types/client/entry-policy.js.map +1 -0
  95. package/lib/types/client/entry.d.ts +4 -0
  96. package/lib/types/client/entry.d.ts.map +1 -0
  97. package/lib/types/client/entry.js +34 -0
  98. package/lib/types/client/entry.js.map +1 -0
  99. package/lib/types/client/fold-choreography.d.ts +40 -0
  100. package/lib/types/client/fold-choreography.d.ts.map +1 -0
  101. package/lib/types/client/fold-choreography.js +48 -0
  102. package/lib/types/client/fold-choreography.js.map +1 -0
  103. package/lib/types/client/fold-intensity.d.ts +11 -0
  104. package/lib/types/client/fold-intensity.d.ts.map +1 -0
  105. package/lib/types/client/fold-intensity.js +32 -0
  106. package/lib/types/client/fold-intensity.js.map +1 -0
  107. package/lib/types/client/index.d.ts +7 -0
  108. package/lib/types/client/index.d.ts.map +1 -0
  109. package/lib/types/client/index.js +195 -0
  110. package/lib/types/client/index.js.map +1 -0
  111. package/lib/types/client/live-turn.d.ts +58 -0
  112. package/lib/types/client/live-turn.d.ts.map +1 -0
  113. package/lib/types/client/live-turn.js +190 -0
  114. package/lib/types/client/live-turn.js.map +1 -0
  115. package/lib/types/client/markdown/MarkdownText.d.ts +41 -0
  116. package/lib/types/client/markdown/MarkdownText.d.ts.map +1 -0
  117. package/lib/types/client/markdown/MarkdownText.js +178 -0
  118. package/lib/types/client/markdown/MarkdownText.js.map +1 -0
  119. package/lib/types/client/markdown/cjkFriendlyStrong.d.ts +9 -0
  120. package/lib/types/client/markdown/cjkFriendlyStrong.d.ts.map +1 -0
  121. package/lib/types/client/markdown/cjkFriendlyStrong.js +73 -0
  122. package/lib/types/client/markdown/cjkFriendlyStrong.js.map +1 -0
  123. package/lib/types/client/markdown/incremental.d.ts +69 -0
  124. package/lib/types/client/markdown/incremental.d.ts.map +1 -0
  125. package/lib/types/client/markdown/incremental.js +108 -0
  126. package/lib/types/client/markdown/incremental.js.map +1 -0
  127. package/lib/types/client/markdown/katex.d.ts +27 -0
  128. package/lib/types/client/markdown/katex.d.ts.map +1 -0
  129. package/lib/types/client/markdown/katex.js +88 -0
  130. package/lib/types/client/markdown/katex.js.map +1 -0
  131. package/lib/types/client/markdown/mathCompatibility.d.ts +11 -0
  132. package/lib/types/client/markdown/mathCompatibility.d.ts.map +1 -0
  133. package/lib/types/client/markdown/mathCompatibility.js +293 -0
  134. package/lib/types/client/markdown/mathCompatibility.js.map +1 -0
  135. package/lib/types/client/markdown/parse.d.ts +25 -0
  136. package/lib/types/client/markdown/parse.d.ts.map +1 -0
  137. package/lib/types/client/markdown/parse.js +42 -0
  138. package/lib/types/client/markdown/parse.js.map +1 -0
  139. package/lib/types/client/markdown/render.d.ts +121 -0
  140. package/lib/types/client/markdown/render.d.ts.map +1 -0
  141. package/lib/types/client/markdown/render.js +452 -0
  142. package/lib/types/client/markdown/render.js.map +1 -0
  143. package/lib/types/client/mcp-app.d.ts +50 -0
  144. package/lib/types/client/mcp-app.d.ts.map +1 -0
  145. package/lib/types/client/mcp-app.js +328 -0
  146. package/lib/types/client/mcp-app.js.map +1 -0
  147. package/lib/types/client/message-chrome.d.ts +19 -0
  148. package/lib/types/client/message-chrome.d.ts.map +1 -0
  149. package/lib/types/client/message-chrome.js +42 -0
  150. package/lib/types/client/message-chrome.js.map +1 -0
  151. package/lib/types/client/motion.d.ts +38 -0
  152. package/lib/types/client/motion.d.ts.map +1 -0
  153. package/lib/types/client/motion.js +453 -0
  154. package/lib/types/client/motion.js.map +1 -0
  155. package/lib/types/client/native/ContextBody.d.ts +130 -0
  156. package/lib/types/client/native/ContextBody.d.ts.map +1 -0
  157. package/lib/types/client/native/ContextBody.js +398 -0
  158. package/lib/types/client/native/ContextBody.js.map +1 -0
  159. package/lib/types/client/native/ContextInjectionRow.d.ts +35 -0
  160. package/lib/types/client/native/ContextInjectionRow.d.ts.map +1 -0
  161. package/lib/types/client/native/ContextInjectionRow.js +42 -0
  162. package/lib/types/client/native/ContextInjectionRow.js.map +1 -0
  163. package/lib/types/client/native/ReferenceIcon.d.ts +16 -0
  164. package/lib/types/client/native/ReferenceIcon.d.ts.map +1 -0
  165. package/lib/types/client/native/ReferenceIcon.js +16 -0
  166. package/lib/types/client/native/ReferenceIcon.js.map +1 -0
  167. package/lib/types/client/native/tool-call-model.d.ts +58 -0
  168. package/lib/types/client/native/tool-call-model.d.ts.map +1 -0
  169. package/lib/types/client/native/tool-call-model.js +219 -0
  170. package/lib/types/client/native/tool-call-model.js.map +1 -0
  171. package/lib/types/client/native/tool-update.d.ts +23 -0
  172. package/lib/types/client/native/tool-update.d.ts.map +1 -0
  173. package/lib/types/client/native/tool-update.js +22 -0
  174. package/lib/types/client/native/tool-update.js.map +1 -0
  175. package/lib/types/client/official-slots.d.ts +71 -0
  176. package/lib/types/client/official-slots.d.ts.map +1 -0
  177. package/lib/types/client/official-slots.js +183 -0
  178. package/lib/types/client/official-slots.js.map +1 -0
  179. package/lib/types/client/open-file.d.ts +29 -0
  180. package/lib/types/client/open-file.d.ts.map +1 -0
  181. package/lib/types/client/open-file.js +71 -0
  182. package/lib/types/client/open-file.js.map +1 -0
  183. package/lib/types/client/pending-submission.d.ts +28 -0
  184. package/lib/types/client/pending-submission.d.ts.map +1 -0
  185. package/lib/types/client/pending-submission.js +28 -0
  186. package/lib/types/client/pending-submission.js.map +1 -0
  187. package/lib/types/client/platform-media.d.ts +6 -0
  188. package/lib/types/client/platform-media.d.ts.map +1 -0
  189. package/lib/types/client/platform-media.js +18 -0
  190. package/lib/types/client/platform-media.js.map +1 -0
  191. package/lib/types/client/primitive-labels.d.ts +10 -0
  192. package/lib/types/client/primitive-labels.d.ts.map +1 -0
  193. package/lib/types/client/primitive-labels.js +38 -0
  194. package/lib/types/client/primitive-labels.js.map +1 -0
  195. package/lib/types/client/projection.d.ts +41 -0
  196. package/lib/types/client/projection.d.ts.map +1 -0
  197. package/lib/types/client/projection.js +112 -0
  198. package/lib/types/client/projection.js.map +1 -0
  199. package/lib/types/client/reasoning-follow.d.ts +10 -0
  200. package/lib/types/client/reasoning-follow.d.ts.map +1 -0
  201. package/lib/types/client/reasoning-follow.js +21 -0
  202. package/lib/types/client/reasoning-follow.js.map +1 -0
  203. package/lib/types/client/resource-address.d.ts +3 -0
  204. package/lib/types/client/resource-address.d.ts.map +1 -0
  205. package/lib/types/client/resource-address.js +33 -0
  206. package/lib/types/client/resource-address.js.map +1 -0
  207. package/lib/types/client/settings-copy.d.ts +7 -0
  208. package/lib/types/client/settings-copy.d.ts.map +1 -0
  209. package/lib/types/client/settings-copy.js +53 -0
  210. package/lib/types/client/settings-copy.js.map +1 -0
  211. package/lib/types/client/settings-slots.d.ts +23 -0
  212. package/lib/types/client/settings-slots.d.ts.map +1 -0
  213. package/lib/types/client/settings-slots.js +2 -0
  214. package/lib/types/client/settings-slots.js.map +1 -0
  215. package/lib/types/client/settings.d.ts +4 -0
  216. package/lib/types/client/settings.d.ts.map +1 -0
  217. package/lib/types/client/settings.js +60 -0
  218. package/lib/types/client/settings.js.map +1 -0
  219. package/lib/types/client/skill-status.d.ts +25 -0
  220. package/lib/types/client/skill-status.d.ts.map +1 -0
  221. package/lib/types/client/skill-status.js +44 -0
  222. package/lib/types/client/skill-status.js.map +1 -0
  223. package/lib/types/client/store.d.ts +35 -0
  224. package/lib/types/client/store.d.ts.map +1 -0
  225. package/lib/types/client/store.js +37 -0
  226. package/lib/types/client/store.js.map +1 -0
  227. package/lib/types/client/stream-buffer.d.ts +37 -0
  228. package/lib/types/client/stream-buffer.d.ts.map +1 -0
  229. package/lib/types/client/stream-buffer.js +150 -0
  230. package/lib/types/client/stream-buffer.js.map +1 -0
  231. package/lib/types/client/streaming.d.ts +18 -0
  232. package/lib/types/client/streaming.d.ts.map +1 -0
  233. package/lib/types/client/streaming.js +84 -0
  234. package/lib/types/client/streaming.js.map +1 -0
  235. package/lib/types/client/timeline.d.ts +26 -0
  236. package/lib/types/client/timeline.d.ts.map +1 -0
  237. package/lib/types/client/timeline.js +48 -0
  238. package/lib/types/client/timeline.js.map +1 -0
  239. package/lib/types/client/tool-activity.d.ts +98 -0
  240. package/lib/types/client/tool-activity.d.ts.map +1 -0
  241. package/lib/types/client/tool-activity.js +301 -0
  242. package/lib/types/client/tool-activity.js.map +1 -0
  243. package/lib/types/client/types.d.ts +91 -0
  244. package/lib/types/client/types.d.ts.map +1 -0
  245. package/lib/types/client/types.js +2 -0
  246. package/lib/types/client/types.js.map +1 -0
  247. package/lib/types/client/waiting-clock.d.ts +49 -0
  248. package/lib/types/client/waiting-clock.d.ts.map +1 -0
  249. package/lib/types/client/waiting-clock.js +80 -0
  250. package/lib/types/client/waiting-clock.js.map +1 -0
  251. package/lib/types/client/word-motion.d.ts +16 -0
  252. package/lib/types/client/word-motion.d.ts.map +1 -0
  253. package/lib/types/client/word-motion.js +90 -0
  254. package/lib/types/client/word-motion.js.map +1 -0
  255. package/lib/types/client/word-timeline.d.ts +32 -0
  256. package/lib/types/client/word-timeline.d.ts.map +1 -0
  257. package/lib/types/client/word-timeline.js +119 -0
  258. package/lib/types/client/word-timeline.js.map +1 -0
  259. package/lib/types/dsh-better-display.d.ts +17 -0
  260. package/lib/types/dsh-better-display.d.ts.map +1 -0
  261. package/lib/types/dsh-better-display.js +93 -0
  262. package/lib/types/dsh-better-display.js.map +1 -0
  263. package/lib/types/skill-roots.d.ts +22 -0
  264. package/lib/types/skill-roots.d.ts.map +1 -0
  265. package/lib/types/skill-roots.js +126 -0
  266. package/lib/types/skill-roots.js.map +1 -0
  267. package/lib/types/skill-status.d.ts +36 -0
  268. package/lib/types/skill-status.d.ts.map +1 -0
  269. package/lib/types/skill-status.js +51 -0
  270. package/lib/types/skill-status.js.map +1 -0
  271. package/package.json +133 -0
  272. package/scripts/build-motion-fixture.mjs +26 -0
  273. package/scripts/check-harness-compat.mjs +71 -0
  274. package/scripts/link-harness-dependencies.mjs +54 -0
  275. package/scripts/verify-auto-fold.mjs +114 -0
  276. package/scripts/verify-official-bridge.mjs +121 -0
  277. package/scripts/verify-tool-shimmer.mjs +62 -0
  278. package/skills/generative-mcpapps/SKILL.md +47 -0
  279. package/skills/generative-mcpapps/examples/interactive_quiz.html +153 -0
  280. package/skills/generative-mcpapps/references/html_boilerplate.md +122 -0
  281. package/skills/generative-mcpapps/references/sep1865_protocol.md +54 -0
  282. package/src/client/Blocks.tsx +213 -0
  283. package/src/client/ChoreographedFlow.tsx +232 -0
  284. package/src/client/ClosedProcessSummary.tsx +23 -0
  285. package/src/client/DiffPanel.tsx +124 -0
  286. package/src/client/LiveFold.tsx +43 -0
  287. package/src/client/McpAppFrame.module.css +210 -0
  288. package/src/client/McpAppFrame.tsx +317 -0
  289. package/src/client/OfficialContent.tsx +69 -0
  290. package/src/client/Reader.module.css +692 -0
  291. package/src/client/Reader.tsx +878 -0
  292. package/src/client/ReasoningCard.tsx +306 -0
  293. package/src/client/SettingsSection.module.css +184 -0
  294. package/src/client/SettingsSection.tsx +194 -0
  295. package/src/client/StickyLane.tsx +34 -0
  296. package/src/client/TimelineRail.module.css +170 -0
  297. package/src/client/TimelineRail.tsx +262 -0
  298. package/src/client/ToolActivity.tsx +274 -0
  299. package/src/client/TurnMetrics.module.css +139 -0
  300. package/src/client/TurnMetrics.tsx +160 -0
  301. package/src/client/WaitClock.tsx +33 -0
  302. package/src/client/WaitingStatus.tsx +13 -0
  303. package/src/client/conversation-scroll.ts +28 -0
  304. package/src/client/deliverables.ts +122 -0
  305. package/src/client/entry-policy.ts +20 -0
  306. package/src/client/entry.tsx +40 -0
  307. package/src/client/fold-choreography.ts +55 -0
  308. package/src/client/fold-intensity.ts +36 -0
  309. package/src/client/index.tsx +222 -0
  310. package/src/client/live-turn.ts +198 -0
  311. package/src/client/markdown/MarkdownText.module.css +304 -0
  312. package/src/client/markdown/MarkdownText.tsx +195 -0
  313. package/src/client/markdown/cjkFriendlyStrong.ts +84 -0
  314. package/src/client/markdown/incremental.ts +131 -0
  315. package/src/client/markdown/katex.tsx +91 -0
  316. package/src/client/markdown/mathCompatibility.ts +350 -0
  317. package/src/client/markdown/parse.ts +45 -0
  318. package/src/client/markdown/render.tsx +647 -0
  319. package/src/client/markdown/upstream.json +14 -0
  320. package/src/client/mcp-app.ts +323 -0
  321. package/src/client/message-chrome.ts +47 -0
  322. package/src/client/motion.tsx +410 -0
  323. package/src/client/native/ContextBody.module.css +161 -0
  324. package/src/client/native/ContextBody.tsx +591 -0
  325. package/src/client/native/ContextInjectionRow.module.css +66 -0
  326. package/src/client/native/ContextInjectionRow.tsx +106 -0
  327. package/src/client/native/ReferenceIcon.tsx +35 -0
  328. package/src/client/native/tool-call-model.ts +248 -0
  329. package/src/client/native/tool-update.ts +32 -0
  330. package/src/client/native/upstream.json +41 -0
  331. package/src/client/official-slots.tsx +211 -0
  332. package/src/client/open-file.ts +94 -0
  333. package/src/client/pending-submission.ts +49 -0
  334. package/src/client/platform-media.ts +17 -0
  335. package/src/client/primitive-labels.ts +54 -0
  336. package/src/client/projection.ts +118 -0
  337. package/src/client/reasoning-follow.ts +28 -0
  338. package/src/client/settings-copy.ts +80 -0
  339. package/src/client/settings-slots.ts +20 -0
  340. package/src/client/settings.tsx +73 -0
  341. package/src/client/skill-status.ts +78 -0
  342. package/src/client/store.ts +75 -0
  343. package/src/client/stream-buffer.ts +136 -0
  344. package/src/client/streaming.tsx +70 -0
  345. package/src/client/style.d.ts +4 -0
  346. package/src/client/timeline.ts +77 -0
  347. package/src/client/tool-activity.ts +298 -0
  348. package/src/client/types.ts +89 -0
  349. package/src/client/waiting-clock.ts +83 -0
  350. package/src/client/word-motion.tsx +92 -0
  351. package/src/client/word-timeline.ts +113 -0
  352. package/src/dsh-better-display.ts +108 -0
  353. package/src/skill-roots.ts +138 -0
  354. package/src/skill-status.ts +81 -0
  355. package/tests/browser-auto-fold.tsx +64 -0
  356. package/tests/browser-closed-gap.tsx +20 -0
  357. package/tests/browser-motion.tsx +65 -0
  358. package/tests/browser-official-bridge.tsx +152 -0
  359. package/tests/browser-sticky-lanes.tsx +22 -0
  360. package/tests/browser-waiting-clock.tsx +14 -0
  361. package/tests/chat-flow-hook.test.ts +66 -0
  362. package/tests/cloud-gate.test.ts +34 -0
  363. package/tests/context-tool-update.test.ts +33 -0
  364. package/tests/conversation-scroll.test.ts +47 -0
  365. package/tests/deliverables.test.ts +128 -0
  366. package/tests/entry.test.ts +42 -0
  367. package/tests/fixtures/maid-composer-hide.html +31 -0
  368. package/tests/fold-choreography.test.ts +54 -0
  369. package/tests/fold-intensity.test.ts +94 -0
  370. package/tests/footer-precedence.test.ts +129 -0
  371. package/tests/history-word-regression.test.ts +16 -0
  372. package/tests/live-turn.test.ts +218 -0
  373. package/tests/mcp-apps.test.ts +157 -0
  374. package/tests/message-chrome.test.ts +29 -0
  375. package/tests/official-slots.test.ts +112 -0
  376. package/tests/open-file.test.ts +114 -0
  377. package/tests/pending-submission.test.ts +45 -0
  378. package/tests/platform-media.test.ts +23 -0
  379. package/tests/projection.test.ts +184 -0
  380. package/tests/reasoning-follow.test.ts +34 -0
  381. package/tests/settings-copy.test.ts +63 -0
  382. package/tests/skill-status.test.ts +137 -0
  383. package/tests/stock-install.test.ts +58 -0
  384. package/tests/stream-buffer.test.ts +102 -0
  385. package/tests/timeline.test.ts +59 -0
  386. package/tests/tool-diff.test.ts +57 -0
  387. package/tests/waiting-clock.test.ts +83 -0
  388. package/tests/word-timeline.test.ts +146 -0
  389. package/tsconfig.json +11 -0
  390. package/tsdown.config.ts +51 -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,+BAsSA"}
@@ -0,0 +1,322 @@
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_CHASE_HOLD, REASON_HOLD, REASON_LINES, 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
+ // How much unpainted text is waiting. A fast model pushes this far past the
144
+ // reference step, and chasing it is what keeps the scroll continuous.
145
+ const backlogLines = Math.max(0, (tail() - from) / lineHeight);
146
+ const target = reasoningTarget(from, text.offsetHeight, port.clientHeight, lineHeight, backlogLines);
147
+ if (target - from < 1)
148
+ return;
149
+ const began = performance.now();
150
+ // Still behind after this step: take the next one almost immediately instead
151
+ // of holding the reading beat, so motion tracks the text rather than stalling.
152
+ nextAt = began + (backlogLines > REASON_LINES ? REASON_CHASE_HOLD : REASON_HOLD);
153
+ targetOffset = target;
154
+ // The supplied recipe: commit the start pose, then transition the track.
155
+ // No per-frame scrollTop writes and no catch-up across unread lines.
156
+ scrollTrack.style.transition = 'none';
157
+ scrollTrack.style.transform = `translateY(-${from}px)`;
158
+ void scrollTrack.offsetHeight;
159
+ scrollTrack.style.transition = 'transform var(--reason-step) var(--reason-ease)';
160
+ scrollTrack.style.transform = `translateY(-${target}px)`;
161
+ port.dataset.reasoningMoving = 'true';
162
+ port.dataset.reasoningFrom = String(from);
163
+ port.dataset.reasoningTarget = String(target);
164
+ port.dataset.reasoningBegan = String(began);
165
+ const tick = (now) => {
166
+ frame = 0;
167
+ if (!canFollow()) {
168
+ cancel();
169
+ manual();
170
+ return;
171
+ }
172
+ // Observe the browser's actual CSS interpolation for masks and handoff.
173
+ measure();
174
+ if (now - began < REASON_STEP || Math.abs(lastPainted - target) > .05)
175
+ frame = requestAnimationFrame(tick);
176
+ else {
177
+ delete port.dataset.reasoningMoving;
178
+ schedule();
179
+ }
180
+ };
181
+ frame = requestAnimationFrame(tick);
182
+ };
183
+ const onScroll = () => {
184
+ measure();
185
+ // Focus/keyboard-induced native scroll wins even while the track moves.
186
+ if (automatic && port.scrollTop > 1)
187
+ pause();
188
+ };
189
+ const onWheel = (event) => {
190
+ if (!event.deltaY)
191
+ return;
192
+ // The compositor picks a wheel scroller before handlers run. A clipped
193
+ // transform viewport would otherwise lose this first gesture or scroll
194
+ // the conversation. Consume only this handoff; later wheels stay native.
195
+ const handoff = automatic && event.cancelable;
196
+ if (handoff)
197
+ event.preventDefault();
198
+ const unit = event.deltaMode === WheelEvent.DOM_DELTA_LINE ? parseFloat(getComputedStyle(text).lineHeight) || 24
199
+ : event.deltaMode === WheelEvent.DOM_DELTA_PAGE ? port.clientHeight : 1;
200
+ pause();
201
+ if (handoff) {
202
+ port.scrollTop = clamp(port.scrollTop + event.deltaY * unit);
203
+ measure();
204
+ }
205
+ };
206
+ const onSelection = () => { if (hasSelection())
207
+ pause(); };
208
+ const onVisibility = () => {
209
+ cancel();
210
+ manual();
211
+ nextAt = performance.now() + REASON_HOLD;
212
+ if (!document.hidden)
213
+ schedule();
214
+ };
215
+ const observer = new ResizeObserver(() => {
216
+ if (automatic && targetOffset > tail() + 1) {
217
+ cancel();
218
+ manual();
219
+ nextAt = performance.now() + REASON_HOLD;
220
+ }
221
+ measure();
222
+ schedule();
223
+ });
224
+ observer.observe(text);
225
+ observer.observe(port);
226
+ port.addEventListener('scroll', onScroll, { passive: true });
227
+ port.addEventListener('wheel', onWheel, { passive: false });
228
+ document.addEventListener('selectionchange', onSelection);
229
+ document.addEventListener('visibilitychange', onVisibility);
230
+ // Keep the previous layout height until the resize effect can sample it.
231
+ measure(false);
232
+ schedule();
233
+ return () => {
234
+ alive = false;
235
+ cancel();
236
+ manual();
237
+ observer.disconnect();
238
+ port.removeEventListener('scroll', onScroll);
239
+ port.removeEventListener('wheel', onWheel);
240
+ document.removeEventListener('selectionchange', onSelection);
241
+ document.removeEventListener('visibilitychange', onVisibility);
242
+ stopFollow.current = () => { };
243
+ };
244
+ }, [allowed, pause]);
245
+ useLayoutEffect(() => {
246
+ const port = viewport.current;
247
+ if (!port)
248
+ return;
249
+ const changed = expanded !== previousExpanded.current;
250
+ previousExpanded.current = expanded;
251
+ const from = resize.current ? port.clientHeight : lastHeight.current;
252
+ resize.current?.cancel();
253
+ resize.current = null;
254
+ port.style.maxHeight = '';
255
+ port.style.height = '';
256
+ const target = port.clientHeight;
257
+ // Explicit reading adjusts only the conversation, never the outer app.
258
+ // The card is also a reader anchor so resizing cannot pin a later answer
259
+ // in place at the expense of this card's visible heading.
260
+ if (changed && !selected) {
261
+ const card = port.parentElement;
262
+ const host = port.closest('[data-conversation-scroll]');
263
+ if (card && host) {
264
+ const composer = parseFloat(getComputedStyle(host).getPropertyValue('--dsh-composer-height')) || 152;
265
+ const region = host.getBoundingClientRect();
266
+ const box = card.getBoundingClientRect();
267
+ const top = region.top + 16;
268
+ const bottom = region.bottom - composer - 16;
269
+ const delta = box.top < top ? box.top - top : box.bottom > bottom ? Math.min(box.bottom - bottom, box.top - top) : 0;
270
+ if (Math.abs(delta) > 1)
271
+ host.scrollTo({ top: Math.max(0, host.scrollTop + delta), behavior: motion ? 'smooth' : 'instant' });
272
+ }
273
+ }
274
+ if (!changed || !motion || from < 1 || Math.abs(target - from) < 1) {
275
+ lastHeight.current = target;
276
+ return;
277
+ }
278
+ // max-height otherwise clamps the very first collapse frame to the new cap.
279
+ port.style.maxHeight = 'none';
280
+ const animation = port.animate([{ height: `${from}px` }, { height: `${target}px` }], { duration: 300, easing: EASING, fill: 'both' });
281
+ resize.current = animation;
282
+ const restore = () => {
283
+ // `max-height` was cleared so the first frame could exceed the old cap; it has
284
+ // to come back even if the animation never reports finishing, or the card keeps
285
+ // the inline styles the animation was driving.
286
+ port.style.maxHeight = '';
287
+ port.style.height = '';
288
+ lastHeight.current = port.clientHeight;
289
+ };
290
+ let settled = false;
291
+ const settle = () => {
292
+ if (settled)
293
+ return;
294
+ settled = true;
295
+ if (resize.current === animation)
296
+ resize.current = null;
297
+ animation.cancel();
298
+ restore();
299
+ };
300
+ animation.onfinish = settle;
301
+ // `fill: 'both'` holds whichever keyframe the animation stopped on, so a run that
302
+ // never finishes — cancelled by a re-run, unmounted, or skipped by the compositor —
303
+ // would leave the card at the previous height with its inline styles still
304
+ // overridden. Restore on a deadline too.
305
+ const deadline = window.setTimeout(settle, 300 + 240);
306
+ return () => { window.clearTimeout(deadline); };
307
+ }, [expanded, motion, selected]);
308
+ useEffect(() => () => resize.current?.cancel(), []);
309
+ const toggleReading = () => {
310
+ // Resize the same transcript without changing follow intent or position.
311
+ // Wheel, selection and viewport focus still explicitly pause following.
312
+ onRead();
313
+ setExpanded(value => !value);
314
+ };
315
+ 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)
316
+ pause();
317
+ else {
318
+ onRead();
319
+ setFollowing(true);
320
+ } }, 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" }) })] })] })] });
321
+ }
322
+ //# 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,37 @@
1
+ import { type FoldIntensity } from './fold-intensity.js';
2
+ import { type DeliverableOpenMode } from './open-file.js';
3
+ import { type SettingsCopy, type SettingsCopyKey } from './settings-copy.js';
4
+ import { type SkillStatusProbe } from './skill-status.js';
5
+ export interface ReaderPrefsSnapshot {
6
+ deliverableOpenMode?: DeliverableOpenMode;
7
+ frostedGlass?: boolean;
8
+ bubbles?: boolean;
9
+ foldIntensity?: FoldIntensity;
10
+ autoFold?: boolean;
11
+ processOnly?: boolean;
12
+ }
13
+ export interface OpenPrefs {
14
+ getSnapshot: () => ReaderPrefsSnapshot;
15
+ subscribe: (fn: () => void) => () => void;
16
+ actions: {
17
+ setDeliverableOpenMode: (value: DeliverableOpenMode) => void;
18
+ setFrostedGlass: (value: boolean) => void;
19
+ setBubbles?: (value: boolean) => void;
20
+ setFoldIntensity?: (value: FoldIntensity) => void;
21
+ setAutoFold?: (value: boolean) => void;
22
+ };
23
+ }
24
+ export interface BetterDisplaySettingsInjected {
25
+ prefs: OpenPrefs;
26
+ copy?: SettingsCopy;
27
+ languageTag?: string;
28
+ checkSkill: SkillStatusProbe;
29
+ }
30
+ type SettingsProps = BetterDisplaySettingsInjected & {
31
+ /** Official settings.section owner share; unused here. */
32
+ close?: () => void;
33
+ t?: (key: SettingsCopyKey) => string;
34
+ };
35
+ export declare function SettingsSection(props: SettingsProps): import("react").JSX.Element;
36
+ export {};
37
+ //# sourceMappingURL=SettingsSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSection.d.ts","sourceRoot":"","sources":["../../../src/client/SettingsSection.tsx"],"names":[],"mappings":"AACA,OAAO,EAA8C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAmB,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAkF,KAAK,gBAAgB,EAA4B,MAAM,mBAAmB,CAAC;AAGpK,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAC1C,OAAO,EAAE;QACP,sBAAsB,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;QAC7D,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAC1C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QACtC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;QAClD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,KAAK,aAAa,GAAG,6BAA6B,GAAG;IACnD,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,CAAC;CACtC,CAAC;AAoBF,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,+BAsInD"}
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useState, useSyncExternalStore } from 'react';
3
+ import { bubblesOf, frostedGlassOf } from './fold-intensity.js';
4
+ import { deliverableOpenModeOf } from './open-file.js';
5
+ import { settingsCopyFor } from './settings-copy.js';
6
+ import { CONVENTIONAL_SKILL_ROOTS, detectGenerativeMcpappsSkill, shortestInstallCommand } from './skill-status.js';
7
+ import css from './SettingsSection.module.css';
8
+ function text(props, copy, key) {
9
+ if (typeof props.t === 'function') {
10
+ try {
11
+ const value = props.t(key);
12
+ if (typeof value === 'string' && value.length > 0 && value !== key)
13
+ return value;
14
+ }
15
+ catch {
16
+ // Fall through to the bundled dictionaries.
17
+ }
18
+ }
19
+ return copy[key];
20
+ }
21
+ const FOLD_STOPS = [
22
+ { value: 0, key: 'foldNone' },
23
+ { value: 1, key: 'foldStandard' },
24
+ { value: 2, key: 'foldSummary' },
25
+ ];
26
+ export function SettingsSection(props) {
27
+ const copy = props.copy ?? settingsCopyFor(props.languageTag);
28
+ const snap = useSyncExternalStore(props.prefs.subscribe, () => props.prefs.getSnapshot() ?? {}, () => ({}));
29
+ const mode = deliverableOpenModeOf(snap.deliverableOpenMode);
30
+ const glass = frostedGlassOf(snap);
31
+ const bubbles = bubblesOf(snap);
32
+ const autoFold = snap.autoFold !== false && snap.foldIntensity !== 0;
33
+ const setMode = (value) => {
34
+ props.prefs.actions.setDeliverableOpenMode(value);
35
+ };
36
+ const on = mode === 'sidebar';
37
+ const [skill, setSkill] = useState();
38
+ const [checking, setChecking] = useState(false);
39
+ const recheck = useCallback(async () => {
40
+ setChecking(true);
41
+ try {
42
+ setSkill(await detectGenerativeMcpappsSkill(props.checkSkill));
43
+ }
44
+ catch {
45
+ setSkill({
46
+ name: 'generative-mcpapps',
47
+ installed: false,
48
+ via: null,
49
+ roots: [],
50
+ hostReached: false,
51
+ });
52
+ }
53
+ finally {
54
+ setChecking(false);
55
+ }
56
+ }, [props.checkSkill]);
57
+ useEffect(() => { void recheck(); }, [recheck]);
58
+ return (_jsxs("div", { className: css.section, "data-better-display-settings": true, children: [_jsxs("div", { className: css.row, children: [_jsxs("div", { className: css.rowText, children: [_jsx("div", { className: css.title, children: text(props, copy, 'openTitle') }), _jsx("div", { className: css.desc, children: text(props, copy, 'openDescription') })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": on, className: css.switch, "data-on": on || undefined, "data-better-display-open-mode": mode, onClick: () => { setMode(on ? 'external' : 'sidebar'); } })] }), _jsxs("div", { className: css.row, children: [_jsxs("div", { className: css.rowText, children: [_jsx("div", { className: css.title, children: text(props, copy, 'glassTitle') }), _jsx("div", { className: css.desc, children: text(props, copy, 'glassDescription') })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": glass, className: css.switch, "data-on": glass || undefined, "data-better-display-glass": glass ? 'on' : 'off', onClick: () => { props.prefs.actions.setFrostedGlass(!glass); } })] }), _jsxs("div", { className: css.row, children: [_jsxs("div", { className: css.rowText, children: [_jsx("div", { className: css.title, children: text(props, copy, 'bubbleTitle') }), _jsx("div", { className: css.desc, children: text(props, copy, 'bubbleDescription') })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": bubbles, className: css.switch, "data-on": bubbles || undefined, "data-better-display-bubbles": bubbles ? 'on' : 'off', onClick: () => { props.prefs.actions.setBubbles?.(!bubbles); } })] }), _jsxs("div", { className: css.row, children: [_jsxs("div", { className: css.rowText, children: [_jsx("div", { className: css.title, children: text(props, copy, 'foldTitle') }), _jsx("div", { className: css.desc, children: text(props, copy, 'foldDescription') })] }), _jsx("button", { type: "button", role: "switch", "aria-checked": autoFold, className: css.switch, "data-on": autoFold || undefined, "data-better-display-auto-fold": autoFold ? 'on' : 'off', onClick: () => {
59
+ props.prefs.actions.setAutoFold?.(!autoFold);
60
+ props.prefs.actions.setFoldIntensity?.(!autoFold ? 1 : 0);
61
+ } })] }), _jsxs("section", { className: css.block, "data-better-display-skill": skill?.installed ? 'installed' : 'missing', children: [_jsx("div", { className: css.title, children: text(props, copy, 'skillTitle') }), _jsx("div", { className: css.status, children: _jsx("span", { className: css.badge, "data-ok": skill?.installed || undefined, children: skill?.installed ? text(props, copy, 'skillInstalled') : text(props, copy, 'skillMissing') }) }), _jsx("p", { className: css.desc, children: text(props, copy, 'skillPurpose') }), _jsx("p", { className: css.desc, children: text(props, copy, 'skillPluginNote') }), skill && !skill.installed ? (_jsxs(_Fragment, { children: [_jsx("p", { className: css.desc, children: skill.hostReached ? text(props, copy, 'skillInstall') : text(props, copy, 'skillUnavailable') }), _jsx("pre", { className: css.pre, children: shortestInstallCommand() }), _jsx("ul", { className: css.roots, "data-better-display-skill-roots": true, children: CONVENTIONAL_SKILL_ROOTS.map(root => (_jsx("li", { children: root }, root))) })] })) : null, _jsx("div", { className: css.actions, children: _jsx("button", { type: "button", className: css.button, disabled: checking, onClick: () => { void recheck(); }, children: checking ? text(props, copy, 'skillChecking') : text(props, copy, 'skillRecheck') }) })] })] }));
62
+ }
63
+ //# sourceMappingURL=SettingsSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSection.js","sourceRoot":"","sources":["../../../src/client/SettingsSection.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,+BA6B/H"}