@yadsh/dsh-qa-surface 0.13.0 → 0.15.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 (339) hide show
  1. package/README.md +148 -22
  2. package/compatibility.json +7 -3
  3. package/lib/access/capability-catalog.js +22 -6
  4. package/lib/access/capability-catalog.js.map +1 -1
  5. package/lib/access/model.js +36 -2
  6. package/lib/access/model.js.map +1 -1
  7. package/lib/access/service.js +19 -4
  8. package/lib/access/service.js.map +1 -1
  9. package/lib/account-remotes.js +4 -0
  10. package/lib/account-remotes.js.map +1 -1
  11. package/lib/accounts/database.js +49 -9
  12. package/lib/accounts/database.js.map +1 -1
  13. package/lib/accounts/errors.js.map +1 -1
  14. package/lib/accounts/file.js.map +1 -1
  15. package/lib/accounts/store.js +53 -8
  16. package/lib/accounts/store.js.map +1 -1
  17. package/lib/admin/permissions.js +6 -0
  18. package/lib/admin/permissions.js.map +1 -1
  19. package/lib/admin/quality-store.js +95 -19
  20. package/lib/admin/quality-store.js.map +1 -1
  21. package/lib/admin/service.js +178 -0
  22. package/lib/admin/service.js.map +1 -1
  23. package/lib/cli.js +24 -4
  24. package/lib/cli.js.map +1 -1
  25. package/lib/client/QaAccountsController.js +52 -5
  26. package/lib/client/QaAccountsController.js.map +1 -1
  27. package/lib/client/QaConfigController.js.map +1 -1
  28. package/lib/client/QaSessionController.js +626 -63
  29. package/lib/client/QaSessionController.js.map +1 -1
  30. package/lib/client/QaSurface.js +293 -43
  31. package/lib/client/QaSurface.js.map +1 -1
  32. package/lib/client/QaSurfaceGuard.js +2 -2
  33. package/lib/client/QaSurfaceGuard.js.map +1 -1
  34. package/lib/client/QaTranscriptAdapter.js +4 -2
  35. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  36. package/lib/client/admin/QaAdmin.js +59 -34
  37. package/lib/client/admin/QaAdmin.js.map +1 -1
  38. package/lib/client/admin/pages/Conversations.js +12 -12
  39. package/lib/client/admin/pages/Conversations.js.map +1 -1
  40. package/lib/client/admin/pages/ExpertMemory.js +210 -0
  41. package/lib/client/admin/pages/ExpertMemory.js.map +1 -0
  42. package/lib/client/admin/pages/Overview.js +4 -4
  43. package/lib/client/admin/pages/Overview.js.map +1 -1
  44. package/lib/client/admin/pages/Quality.js +5 -5
  45. package/lib/client/admin/pages/Quality.js.map +1 -1
  46. package/lib/client/admin/pages/Review.js +5 -5
  47. package/lib/client/admin/pages/Review.js.map +1 -1
  48. package/lib/client/admin/pages/SkillFiles.js +3 -3
  49. package/lib/client/admin/pages/SkillFiles.js.map +1 -1
  50. package/lib/client/admin/pages/Users.js +12 -12
  51. package/lib/client/admin/pages/Users.js.map +1 -1
  52. package/lib/client/admin/routes.js +4 -0
  53. package/lib/client/admin/routes.js.map +1 -1
  54. package/lib/client/admin/shared.js +15 -6
  55. package/lib/client/admin/shared.js.map +1 -1
  56. package/lib/client/admin/styles.js +3 -0
  57. package/lib/client/admin/styles.js.map +1 -1
  58. package/lib/client/attestation.js +11 -2
  59. package/lib/client/attestation.js.map +1 -1
  60. package/lib/client/audit/QaAuditDialog.js +2 -2
  61. package/lib/client/audit/QaAuditDialog.js.map +1 -1
  62. package/lib/client/audit/QaAuditRowBadge.js +1 -1
  63. package/lib/client/audit/QaAuditRowBadge.js.map +1 -1
  64. package/lib/client/components/Markdown.js +7 -2
  65. package/lib/client/components/Markdown.js.map +1 -1
  66. package/lib/client/components/QaAgentsDrawer.js +7 -5
  67. package/lib/client/components/QaAgentsDrawer.js.map +1 -1
  68. package/lib/client/components/QaApproval.js +2 -2
  69. package/lib/client/components/QaApproval.js.map +1 -1
  70. package/lib/client/components/QaAuthGate.js +6 -6
  71. package/lib/client/components/QaAuthGate.js.map +1 -1
  72. package/lib/client/components/QaChangelog.js +77 -0
  73. package/lib/client/components/QaChangelog.js.map +1 -1
  74. package/lib/client/components/QaComposer.js +9 -6
  75. package/lib/client/components/QaComposer.js.map +1 -1
  76. package/lib/client/components/QaFileAttachment.js +1 -1
  77. package/lib/client/components/QaFileAttachment.js.map +1 -1
  78. package/lib/client/components/QaFilesPanel.js +7 -7
  79. package/lib/client/components/QaFilesPanel.js.map +1 -1
  80. package/lib/client/components/QaHeader.js +4 -4
  81. package/lib/client/components/QaHeader.js.map +1 -1
  82. package/lib/client/components/QaMessage.js +12 -12
  83. package/lib/client/components/QaMessage.js.map +1 -1
  84. package/lib/client/components/QaModal.js +11 -2
  85. package/lib/client/components/QaModal.js.map +1 -1
  86. package/lib/client/components/QaQuestions.js +4 -4
  87. package/lib/client/components/QaQuestions.js.map +1 -1
  88. package/lib/client/components/QaQueueDock.js +137 -0
  89. package/lib/client/components/QaQueueDock.js.map +1 -0
  90. package/lib/client/components/QaRequestQueue.js +22 -0
  91. package/lib/client/components/QaRequestQueue.js.map +1 -0
  92. package/lib/client/components/QaRightRail.js +2 -2
  93. package/lib/client/components/QaRightRail.js.map +1 -1
  94. package/lib/client/components/QaSidebar.js +98 -7
  95. package/lib/client/components/QaSidebar.js.map +1 -1
  96. package/lib/client/components/QaSourcesPanel.js +10 -8
  97. package/lib/client/components/QaSourcesPanel.js.map +1 -1
  98. package/lib/client/components/QaThemeSwitcher.js +19 -0
  99. package/lib/client/components/QaThemeSwitcher.js.map +1 -0
  100. package/lib/client/components/QaTurnNotice.js +40 -0
  101. package/lib/client/components/QaTurnNotice.js.map +1 -0
  102. package/lib/client/components/QaTurnRail.js +3 -3
  103. package/lib/client/components/QaTurnRail.js.map +1 -1
  104. package/lib/client/components/QaWelcomeNotice.js +2 -6
  105. package/lib/client/components/QaWelcomeNotice.js.map +1 -1
  106. package/lib/client/components/QaWidthHandle.js +2 -2
  107. package/lib/client/components/QaWidthHandle.js.map +1 -1
  108. package/lib/client/components/QaWorkGroup.js +5 -5
  109. package/lib/client/components/QaWorkGroup.js.map +1 -1
  110. package/lib/client/components/QaWorkspaceBrowser.js +10 -10
  111. package/lib/client/components/QaWorkspaceBrowser.js.map +1 -1
  112. package/lib/client/components/VariantSwitcher.js +1 -1
  113. package/lib/client/components/VariantSwitcher.js.map +1 -1
  114. package/lib/client/failure-copy.js +26 -8
  115. package/lib/client/failure-copy.js.map +1 -1
  116. package/lib/client/focus-ring.js +193 -0
  117. package/lib/client/focus-ring.js.map +1 -0
  118. package/lib/client/index.js +40 -20
  119. package/lib/client/index.js.map +1 -1
  120. package/lib/client/lineage.js +3 -16
  121. package/lib/client/lineage.js.map +1 -1
  122. package/lib/client/markdown/CodeBlock.js +2 -2
  123. package/lib/client/markdown/CodeBlock.js.map +1 -1
  124. package/lib/client/markdown/blocks.js +118 -31
  125. package/lib/client/markdown/blocks.js.map +1 -1
  126. package/lib/client/markdown/math.js +1 -1
  127. package/lib/client/markdown/math.js.map +1 -1
  128. package/lib/client/markdown/render.js +32 -16
  129. package/lib/client/markdown/render.js.map +1 -1
  130. package/lib/client/markdown/source-chip.js +3 -3
  131. package/lib/client/markdown/source-chip.js.map +1 -1
  132. package/lib/client/notifications/notification-dispatcher.js +90 -0
  133. package/lib/client/notifications/notification-dispatcher.js.map +1 -0
  134. package/lib/client/notifications/preferences.js +61 -0
  135. package/lib/client/notifications/preferences.js.map +1 -0
  136. package/lib/client/notifications/turn-completion-source.js +82 -0
  137. package/lib/client/notifications/turn-completion-source.js.map +1 -0
  138. package/lib/client/notifications/use-turn-notifications.js +108 -0
  139. package/lib/client/notifications/use-turn-notifications.js.map +1 -0
  140. package/lib/client/panels/PanelHost.js +5 -5
  141. package/lib/client/panels/PanelHost.js.map +1 -1
  142. package/lib/client/panels/PanelLauncher.js +2 -2
  143. package/lib/client/panels/PanelLauncher.js.map +1 -1
  144. package/lib/client/project-session-state.js +156 -4
  145. package/lib/client/project-session-state.js.map +1 -1
  146. package/lib/client/role/RoleSelector.js +9 -4
  147. package/lib/client/role/RoleSelector.js.map +1 -1
  148. package/lib/client/settings/card.js +58 -17
  149. package/lib/client/settings/card.js.map +1 -1
  150. package/lib/client/settings/fields.js +11 -10
  151. package/lib/client/settings/fields.js.map +1 -1
  152. package/lib/client/settings/format.js +0 -9
  153. package/lib/client/settings/format.js.map +1 -1
  154. package/lib/client/settings/sections/access.js +5 -5
  155. package/lib/client/settings/sections/access.js.map +1 -1
  156. package/lib/client/settings/sections/accounts.js +10 -10
  157. package/lib/client/settings/sections/accounts.js.map +1 -1
  158. package/lib/client/settings/sections/attachments.js +6 -6
  159. package/lib/client/settings/sections/attachments.js.map +1 -1
  160. package/lib/client/settings/sections/branding.js +7 -7
  161. package/lib/client/settings/sections/branding.js.map +1 -1
  162. package/lib/client/settings/sections/common.js +4 -2
  163. package/lib/client/settings/sections/common.js.map +1 -1
  164. package/lib/client/settings/sections/docs.js +4 -3
  165. package/lib/client/settings/sections/docs.js.map +1 -1
  166. package/lib/client/settings/sections/embedding.js +2 -2
  167. package/lib/client/settings/sections/embedding.js.map +1 -1
  168. package/lib/client/settings/sections/interface.js +12 -12
  169. package/lib/client/settings/sections/interface.js.map +1 -1
  170. package/lib/client/settings/sections/lockdown.js +9 -9
  171. package/lib/client/settings/sections/lockdown.js.map +1 -1
  172. package/lib/client/settings/sections/notes.js +12 -12
  173. package/lib/client/settings/sections/notes.js.map +1 -1
  174. package/lib/client/settings/sections/session.js +15 -12
  175. package/lib/client/settings/sections/session.js.map +1 -1
  176. package/lib/client/settings/sections/slash.js +9 -9
  177. package/lib/client/settings/sections/slash.js.map +1 -1
  178. package/lib/client/settings/sections/sources.js +26 -26
  179. package/lib/client/settings/sections/sources.js.map +1 -1
  180. package/lib/client/settings/sections/status.js +2 -2
  181. package/lib/client/settings/sections/status.js.map +1 -1
  182. package/lib/client/settings/styles.js +15 -9
  183. package/lib/client/settings/styles.js.map +1 -1
  184. package/lib/client/slash/SlashPalette.js +4 -4
  185. package/lib/client/slash/SlashPalette.js.map +1 -1
  186. package/lib/client/styles.js +145 -83
  187. package/lib/client/styles.js.map +1 -1
  188. package/lib/client/theme-preference.js +162 -0
  189. package/lib/client/theme-preference.js.map +1 -0
  190. package/lib/client/types.js +8 -0
  191. package/lib/client/types.js.map +1 -1
  192. package/lib/client/use-session-ui-state.js +7 -5
  193. package/lib/client/use-session-ui-state.js.map +1 -1
  194. package/lib/client/user-settings/GeneralSettingsPage.js +6 -6
  195. package/lib/client/user-settings/GeneralSettingsPage.js.map +1 -1
  196. package/lib/client/user-settings/IntegrationTokensPage.js +6 -6
  197. package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
  198. package/lib/client/user-settings/NotificationSettingsPage.js +107 -0
  199. package/lib/client/user-settings/NotificationSettingsPage.js.map +1 -0
  200. package/lib/client/user-settings/PasswordSettingsPage.js +1 -1
  201. package/lib/client/user-settings/PasswordSettingsPage.js.map +1 -1
  202. package/lib/client/user-settings/ProfileSettingsPage.js +2 -2
  203. package/lib/client/user-settings/ProfileSettingsPage.js.map +1 -1
  204. package/lib/client/user-settings/SkillCatalog.js +3 -3
  205. package/lib/client/user-settings/SkillCatalog.js.map +1 -1
  206. package/lib/client/user-settings/SkillEditor.js +26 -8
  207. package/lib/client/user-settings/SkillEditor.js.map +1 -1
  208. package/lib/client/user-settings/SkillToolPicker.js +3 -3
  209. package/lib/client/user-settings/SkillToolPicker.js.map +1 -1
  210. package/lib/client/user-settings/SkillsSettingsPage.js +1 -1
  211. package/lib/client/user-settings/SkillsSettingsPage.js.map +1 -1
  212. package/lib/client/user-settings/StartersSettingsPage.js +6 -6
  213. package/lib/client/user-settings/StartersSettingsPage.js.map +1 -1
  214. package/lib/client/user-settings/UserSettingsDialog.js +7 -2
  215. package/lib/client/user-settings/UserSettingsDialog.js.map +1 -1
  216. package/lib/client/user-settings/copy.js +2 -0
  217. package/lib/client/user-settings/copy.js.map +1 -1
  218. package/lib/client/user-settings/draft.js +4 -1
  219. package/lib/client/user-settings/draft.js.map +1 -1
  220. package/lib/client/user-settings/fields.js +5 -5
  221. package/lib/client/user-settings/fields.js.map +1 -1
  222. package/lib/client.js +7307 -4010
  223. package/lib/client.js.map +1 -1
  224. package/lib/config-resolvers/defaults.js +7 -0
  225. package/lib/config-resolvers/defaults.js.map +1 -1
  226. package/lib/config-resolvers/lockdown.js +7 -0
  227. package/lib/config-resolvers/lockdown.js.map +1 -1
  228. package/lib/config-resolvers/notifications.js +15 -0
  229. package/lib/config-resolvers/notifications.js.map +1 -0
  230. package/lib/config-resolvers/session.js +11 -1
  231. package/lib/config-resolvers/session.js.map +1 -1
  232. package/lib/config.js +67 -18
  233. package/lib/config.js.map +1 -1
  234. package/lib/enforcement/tool-grants.js +6 -6
  235. package/lib/enforcement/tool-grants.js.map +1 -1
  236. package/lib/index.js +145 -30
  237. package/lib/index.js.map +1 -1
  238. package/lib/integration/answer.js +74 -8
  239. package/lib/integration/answer.js.map +1 -1
  240. package/lib/integration/expert-memory.js +39 -0
  241. package/lib/integration/expert-memory.js.map +1 -0
  242. package/lib/integration/host-runner.js +26 -14
  243. package/lib/integration/host-runner.js.map +1 -1
  244. package/lib/notifications.js +66 -0
  245. package/lib/notifications.js.map +1 -0
  246. package/lib/personal-skills/errors.js.map +1 -1
  247. package/lib/personal-skills/service.js +81 -7
  248. package/lib/personal-skills/service.js.map +1 -1
  249. package/lib/prompt-notes.js +2 -10
  250. package/lib/prompt-notes.js.map +1 -1
  251. package/lib/provenance/host-store.js +8 -5
  252. package/lib/provenance/host-store.js.map +1 -1
  253. package/lib/qa-tools/docs-tools.js +1 -1
  254. package/lib/qa-tools/docs-tools.js.map +1 -1
  255. package/lib/qa-tools/lifecycle.js +6 -3
  256. package/lib/qa-tools/lifecycle.js.map +1 -1
  257. package/lib/request-queue.js +32 -0
  258. package/lib/request-queue.js.map +1 -0
  259. package/lib/resolve-config.js +2 -0
  260. package/lib/resolve-config.js.map +1 -1
  261. package/lib/secure-session.js +7 -2
  262. package/lib/secure-session.js.map +1 -1
  263. package/lib/shared/settings.js +19 -2
  264. package/lib/shared/settings.js.map +1 -1
  265. package/lib/turn-failure-log.js +67 -0
  266. package/lib/turn-failure-log.js.map +1 -0
  267. package/lib/typert.host.js +1398 -651
  268. package/lib/typert.remote-client.d.ts +15 -1
  269. package/lib/typert.remote-client.js +1315 -645
  270. package/lib/types/access/capability-catalog.d.ts +20 -4
  271. package/lib/types/access/model.d.ts +23 -0
  272. package/lib/types/access/service.d.ts +2 -3
  273. package/lib/types/account-remotes.d.ts +8 -1
  274. package/lib/types/accounts/database.d.ts +13 -3
  275. package/lib/types/accounts/errors.d.ts +9 -1
  276. package/lib/types/accounts/file.d.ts +12 -0
  277. package/lib/types/accounts/store.d.ts +30 -2
  278. package/lib/types/admin/quality-store.d.ts +33 -0
  279. package/lib/types/admin/service.d.ts +60 -1
  280. package/lib/types/client/QaAccountsController.d.ts +25 -2
  281. package/lib/types/client/QaConfigController.d.ts +2 -2
  282. package/lib/types/client/QaSessionController.d.ts +199 -6
  283. package/lib/types/client/QaSurface.d.ts +6 -1
  284. package/lib/types/client/admin/pages/ExpertMemory.d.ts +19 -0
  285. package/lib/types/client/admin/routes.d.ts +3 -1
  286. package/lib/types/client/admin/shared.d.ts +4 -0
  287. package/lib/types/client/components/Markdown.d.ts +8 -1
  288. package/lib/types/client/components/QaHeader.d.ts +18 -4
  289. package/lib/types/client/components/QaModal.d.ts +7 -0
  290. package/lib/types/client/components/QaQueueDock.d.ts +27 -0
  291. package/lib/types/client/components/QaRequestQueue.d.ts +20 -0
  292. package/lib/types/client/components/QaSidebar.d.ts +14 -0
  293. package/lib/types/client/components/QaThemeSwitcher.d.ts +14 -0
  294. package/lib/types/client/components/QaTurnNotice.d.ts +55 -0
  295. package/lib/types/client/focus-ring.d.ts +65 -0
  296. package/lib/types/client/lineage.d.ts +3 -13
  297. package/lib/types/client/markdown/blocks.d.ts +30 -2
  298. package/lib/types/client/markdown/render.d.ts +4 -1
  299. package/lib/types/client/notifications/notification-dispatcher.d.ts +68 -0
  300. package/lib/types/client/notifications/preferences.d.ts +44 -0
  301. package/lib/types/client/notifications/turn-completion-source.d.ts +114 -0
  302. package/lib/types/client/notifications/use-turn-notifications.d.ts +51 -0
  303. package/lib/types/client/project-session-state.d.ts +35 -1
  304. package/lib/types/client/role/RoleSelector.d.ts +7 -1
  305. package/lib/types/client/settings/card.d.ts +36 -5
  306. package/lib/types/client/settings/fields.d.ts +24 -0
  307. package/lib/types/client/settings/format.d.ts +0 -5
  308. package/lib/types/client/settings/sections/common.d.ts +3 -1
  309. package/lib/types/client/settings/sections/session.d.ts +2 -1
  310. package/lib/types/client/settings/styles.d.ts +9 -4
  311. package/lib/types/client/settings-extensions/user-session.d.ts +1 -1
  312. package/lib/types/client/theme-preference.d.ts +69 -0
  313. package/lib/types/client/types.d.ts +25 -1
  314. package/lib/types/client/use-session-ui-state.d.ts +6 -4
  315. package/lib/types/client/user-settings/GeneralSettingsPage.d.ts +5 -5
  316. package/lib/types/client/user-settings/NotificationSettingsPage.d.ts +40 -0
  317. package/lib/types/client/user-settings/UserSettingsDialog.d.ts +12 -2
  318. package/lib/types/client/user-settings/draft.d.ts +4 -1
  319. package/lib/types/client/user-settings/fields.d.ts +7 -0
  320. package/lib/types/config-resolvers/notifications.d.ts +10 -0
  321. package/lib/types/config-resolvers/session.d.ts +6 -0
  322. package/lib/types/config.d.ts +20 -1
  323. package/lib/types/index.d.ts +53 -5
  324. package/lib/types/integration/answer.d.ts +27 -0
  325. package/lib/types/integration/expert-memory.d.ts +49 -0
  326. package/lib/types/notifications.d.ts +32 -0
  327. package/lib/types/personal-skills/errors.d.ts +1 -1
  328. package/lib/types/personal-skills/service.d.ts +6 -0
  329. package/lib/types/prompt-notes.d.ts +17 -4
  330. package/lib/types/request-queue.d.ts +32 -0
  331. package/lib/types/shared/settings.d.ts +19 -2
  332. package/lib/types/turn-failure-log.d.ts +18 -0
  333. package/lib/types/types.d.ts +180 -4
  334. package/package.json +64 -63
  335. package/scripts/attach-workspace-sessions.mjs +24 -5
  336. package/scripts/repair-session-events.mjs +25 -5
  337. package/lib/client/markdown/MermaidBlock.js +0 -80
  338. package/lib/client/markdown/MermaidBlock.js.map +0 -1
  339. package/lib/types/client/markdown/MermaidBlock.d.ts +0 -6
@@ -16,6 +16,15 @@
16
16
  * delimiters stay literal text, exactly as the Host renders them. Footnote
17
17
  * definitions (`[^id]: …`) are collected the way GitHub's dialect does, with
18
18
  * lazy and indented continuation lines.
19
+ *
20
+ * A frame of a live stream is parsed with `streaming: true`, which says one
21
+ * thing only: the text may still grow. Block boundaries stay the business of
22
+ * this module — a caller that knows the answer is being written passes the
23
+ * flag, and nothing here is re-detected elsewhere. Two readings change with
24
+ * it: a block whose region runs to the end of the text has not met its
25
+ * terminator, so a fence or a `$$` block reports `pending`, and a table treats
26
+ * its live last line as still written (a delimiter row being typed opens the
27
+ * header, a row being typed stays out of the cells).
19
28
  */
20
29
  /** Container depth ceiling: enough for real answers, too low to recurse away.
21
30
  * Past it a marker stays literal text — the content is never dropped. */
@@ -28,6 +37,8 @@ const QUOTE = /^ {0,3}>[ \t]?(.*)$/u;
28
37
  const LIST_MARKER = /^( {0,3})([-+*]|\d{1,9}[.)])([ \t]+|$)/u;
29
38
  const DEFINITION = /^ {0,3}\[([^\]^][^\]]*)\]:[ \t]*<?([^\s>]+)>?[ \t]*$/u;
30
39
  const ALIGNMENT_CELL = /^:?-+:?$/u;
40
+ /** A delimiter cell mid-typing: the colons and dashes a settled one carries. */
41
+ const ALIGNMENT_PREFIX = /^:?-{0,}:?$/u;
31
42
  const CHECKBOX = /^\[([ xX])\][ \t]+/u;
32
43
  /** Display math opener: `$$` with the rest of the line as same-line content. */
33
44
  const MATH_FLOW = /^ {0,3}\$\$(.*)$/u;
@@ -68,8 +79,14 @@ export function splitTableRow(line) {
68
79
  * Does a GFM table start at `index`? The header must carry a pipe and the
69
80
  * delimiter row must match it cell for cell — which is also what keeps a
70
81
  * setext underline (`---` after a paragraph) out of the table arm.
82
+ *
83
+ * While the stream is typing the delimiter row, that row is a shorter run of
84
+ * alignment prefixes, and the arm takes it: the header reaches the table
85
+ * instead of showing its pipes as prose. The same text parsed as settled reads
86
+ * as the paragraph GFM makes of an unfinished delimiter row, so a held frame
87
+ * never becomes the final one.
71
88
  */
72
- function tableAlignments(lines, index) {
89
+ function tableAlignments(lines, index, streaming) {
73
90
  const headerLine = lines[index];
74
91
  const delimiter = lines[index + 1];
75
92
  if (headerLine === undefined || delimiter === undefined)
@@ -77,19 +94,53 @@ function tableAlignments(lines, index) {
77
94
  if (!headerLine.includes("|"))
78
95
  return undefined;
79
96
  const cells = splitTableRow(delimiter);
80
- if (cells.length === 0 || cells.length !== splitTableRow(headerLine).length) {
97
+ if (cells.length === 0)
98
+ return undefined;
99
+ const head = splitTableRow(headerLine);
100
+ const settled = cells.length === head.length;
101
+ if (!settled &&
102
+ (!streaming ||
103
+ cells.length > head.length ||
104
+ index + 1 !== lines.length - 1 ||
105
+ delimiter.trim() === "")) {
81
106
  return undefined;
82
107
  }
83
108
  const alignments = [];
84
109
  for (const cell of cells) {
85
- if (!ALIGNMENT_CELL.test(cell))
110
+ if (!(settled ? ALIGNMENT_CELL : ALIGNMENT_PREFIX).test(cell)) {
86
111
  return undefined;
112
+ }
87
113
  const left = cell.startsWith(":");
88
114
  const right = cell.endsWith(":");
89
115
  alignments.push(left && right ? "center" : right ? "right" : "left");
90
116
  }
91
117
  return alignments;
92
118
  }
119
+ /**
120
+ * The index of the line this container's text may still be growing at, or -1
121
+ * when every line is settled: a last line carrying content has no newline under
122
+ * it yet, so the model is typing it. That is what keeps a half-written table row
123
+ * out of the cells and a `$$` opener with text after it still open. Settled text
124
+ * always reports -1, which is what keeps a held frame from changing how a
125
+ * finished answer reads.
126
+ */
127
+ function liveEdge(lines, streaming) {
128
+ if (!streaming)
129
+ return -1;
130
+ const last = lines.length - 1;
131
+ return last >= 0 && (lines[last] ?? "").trim() !== "" ? last : -1;
132
+ }
133
+ /**
134
+ * The payload of a block the stream stopped inside. A frame that ends right
135
+ * after a line break carries that break as an empty last line, and those lines
136
+ * are the block's unwritten rest rather than its content.
137
+ */
138
+ function livePayload(lines) {
139
+ let end = lines.length;
140
+ while (end > 0 && (lines[end - 1] ?? "").trim() === "")
141
+ end -= 1;
142
+ return lines.slice(0, end).join("\n");
143
+ }
93
144
  /** A fence closes on a run of its own marker at least as long as the opener's. */
94
145
  function closesFence(line, marker) {
95
146
  const trimmed = line.trim();
@@ -104,14 +155,16 @@ function closesFence(line, marker) {
104
155
  /**
105
156
  * Parse a whole document.
106
157
  * @param text - Markdown source with any line endings.
158
+ * @param options - How to read the end of the text; a live stream frame marks
159
+ * the block it stopped inside as pending.
107
160
  * @returns Blocks plus the definitions the inline pass resolves against.
108
161
  */
109
- export function parseMarkdown(text) {
162
+ export function parseMarkdown(text, options = {}) {
110
163
  const definitions = new Map();
111
164
  const footnotes = new Map();
112
165
  const lines = text.replace(/\r\n?/gu, "\n").split("\n");
113
166
  return {
114
- blocks: parseBlocks(lines, definitions, footnotes, 0),
167
+ blocks: parseBlocks(lines, definitions, footnotes, 0, options.streaming === true),
115
168
  definitions,
116
169
  footnotes,
117
170
  };
@@ -122,10 +175,13 @@ export function parseMarkdown(text) {
122
175
  * @param definitions - Document-wide definition accumulator.
123
176
  * @param footnotes - Document-wide footnote accumulator.
124
177
  * @param depth - Container nesting depth.
178
+ * @param streaming - Whether the text is a live frame, so the container's last
179
+ * line may still be typed.
125
180
  * @returns The container's blocks.
126
181
  */
127
- export function parseBlocks(lines, definitions, footnotes, depth) {
182
+ export function parseBlocks(lines, definitions, footnotes, depth, streaming = false) {
128
183
  const blocks = [];
184
+ const edge = liveEdge(lines, streaming);
129
185
  let index = 0;
130
186
  while (index < lines.length) {
131
187
  const line = lines[index] ?? "";
@@ -143,26 +199,32 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
143
199
  code.push((lines[index] ?? "").slice(Math.min(indent, indentOf(lines[index] ?? ""))));
144
200
  index += 1;
145
201
  }
146
- if (index < lines.length)
202
+ const closed = index < lines.length;
203
+ if (closed)
147
204
  index += 1;
148
205
  const lang = /^\S+/u.exec(fence[2]?.trim() ?? "")?.[0];
149
206
  blocks.push({
150
207
  kind: "code",
151
- text: code.join("\n"),
208
+ text: closed || !streaming ? code.join("\n") : livePayload(code),
152
209
  ...(lang === undefined ? {} : { lang }),
210
+ ...(closed || !streaming ? {} : { pending: true }),
153
211
  });
154
212
  continue;
155
213
  }
156
214
  const math = MATH_FLOW.exec(line);
157
215
  if (math !== null) {
158
- const parsed = parseMathFlow(lines, index, math[1] ?? "");
216
+ const parsed = parseMathFlow(lines, index, math[1] ?? "", edge, streaming);
159
217
  if (parsed !== undefined) {
160
- blocks.push({ kind: "math", text: parsed.text });
218
+ blocks.push({
219
+ kind: "math",
220
+ text: parsed.text,
221
+ ...(parsed.pending ? { pending: true } : {}),
222
+ });
161
223
  index = parsed.next;
162
224
  continue;
163
225
  }
164
- // Unclosed or content-bearing without a same-line close: the line stays
165
- // a paragraph, whose inline pass leaves the dollars literal.
226
+ // Settled text only: an unclosed or content-bearing opener line stays a
227
+ // paragraph, whose inline pass leaves the dollars literal.
166
228
  }
167
229
  const heading = ATX_HEADING.exec(line);
168
230
  if (heading !== null) {
@@ -198,11 +260,11 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
198
260
  }
199
261
  blocks.push({
200
262
  kind: "quote",
201
- blocks: parseBlocks(body, definitions, footnotes, depth + 1),
263
+ blocks: parseBlocks(body, definitions, footnotes, depth + 1, streaming),
202
264
  });
203
265
  continue;
204
266
  }
205
- const alignments = tableAlignments(lines, index);
267
+ const alignments = tableAlignments(lines, index, streaming);
206
268
  if (alignments !== undefined && LIST_MARKER.exec(line) === null) {
207
269
  const head = splitTableRow(line);
208
270
  const rows = [];
@@ -211,7 +273,11 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
211
273
  const row = lines[cursor] ?? "";
212
274
  if (isBlank(row) || !row.includes("|") || startsBlock(row))
213
275
  break;
214
- rows.push(splitTableRow(row));
276
+ // The row the stream is still typing stays inside the block but out of
277
+ // its cells: half a row would flash as a truncated one, and it is
278
+ // rendered by the next frame, which has the whole row.
279
+ if (cursor !== edge)
280
+ rows.push(splitTableRow(row));
215
281
  cursor += 1;
216
282
  }
217
283
  blocks.push({ kind: "table", align: alignments, head, rows });
@@ -219,7 +285,7 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
219
285
  continue;
220
286
  }
221
287
  if (depth < MAX_DEPTH && LIST_MARKER.test(line)) {
222
- const list = parseList(lines, index, definitions, footnotes, depth);
288
+ const list = parseList(lines, index, definitions, footnotes, depth, streaming);
223
289
  blocks.push(list.list);
224
290
  index = list.next;
225
291
  continue;
@@ -237,12 +303,12 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
237
303
  const id = (footnote[1] ?? "").toUpperCase();
238
304
  const body = footnoteBody(lines, index, footnote[2] ?? "");
239
305
  if (!footnotes.has(id)) {
240
- footnotes.set(id, parseBlocks(body.lines, definitions, footnotes, depth + 1));
306
+ footnotes.set(id, parseBlocks(body.lines, definitions, footnotes, depth + 1, streaming));
241
307
  }
242
308
  index = body.next;
243
309
  continue;
244
310
  }
245
- const paragraph = collectParagraph(lines, index);
311
+ const paragraph = collectParagraph(lines, index, streaming);
246
312
  blocks.push(paragraph.block);
247
313
  index = paragraph.next;
248
314
  }
@@ -253,9 +319,10 @@ export function parseBlocks(lines, definitions, footnotes, depth) {
253
319
  * after it is an underline.
254
320
  * @param lines - Container lines.
255
321
  * @param start - Index of the paragraph's first line.
322
+ * @param streaming - Whether the text may still grow.
256
323
  * @returns The block and the index after it.
257
324
  */
258
- function collectParagraph(lines, start) {
325
+ function collectParagraph(lines, start, streaming) {
259
326
  const text = [];
260
327
  let index = start;
261
328
  while (index < lines.length) {
@@ -276,7 +343,7 @@ function collectParagraph(lines, start) {
276
343
  }
277
344
  if (startsBlock(line))
278
345
  break;
279
- if (tableAlignments(lines, index) !== undefined)
346
+ if (tableAlignments(lines, index, streaming) !== undefined)
280
347
  break;
281
348
  }
282
349
  text.push(line.trimStart());
@@ -295,27 +362,46 @@ function collectParagraph(lines, start) {
295
362
  * line must be empty and the content runs to a `$$` fence line, as GitHub's
296
363
  * dialect reads it. The Host drops content written after a fence opener's
297
364
  * `$$`; here such a line stays a paragraph instead, so no text is lost.
365
+ *
366
+ * A block whose region runs to the end of the text has not met its closer, so
367
+ * while the stream is writing it the block is reported as pending: the reader
368
+ * sees the formula being written instead of its dollars, and the settled frame
369
+ * of the same text decides what the block really is. Settled text keeps the
370
+ * reading above, because an answer that never closes a `$$` is prose.
298
371
  * @param lines - Container lines.
299
372
  * @param start - Index of the opener line.
300
373
  * @param rest - The opener line after its `$$`.
301
- * @returns The math text and the index after the closing fence.
374
+ * @param edge - The line the stream may still be typing, or -1.
375
+ * @param streaming - Whether the text is a live frame.
376
+ * @returns The TeX payload, the index after the block, and whether it is open.
302
377
  */
303
- function parseMathFlow(lines, start, rest) {
378
+ function parseMathFlow(lines, start, rest, edge, streaming) {
304
379
  const sameLine = rest.indexOf("$$");
305
380
  if (sameLine >= 0 && rest.slice(sameLine + 2).trim() === "") {
306
- return { text: rest.slice(0, sameLine), next: start + 1 };
381
+ return { text: rest.slice(0, sameLine), next: start + 1, pending: false };
382
+ }
383
+ if (start === edge) {
384
+ return { text: rest, next: lines.length, pending: true };
307
385
  }
308
- if (rest.trim() !== "")
309
- return undefined;
310
386
  const body = [];
387
+ if (rest.trim() !== "") {
388
+ if (!streaming)
389
+ return undefined;
390
+ // The line break under the opener says the block went on below it rather
391
+ // than closing on its own line, so the opener's TeX starts the body.
392
+ body.push(rest);
393
+ }
311
394
  let index = start + 1;
312
395
  while (index < lines.length && !MATH_FLOW_CLOSE.test(lines[index] ?? "")) {
313
396
  body.push(lines[index] ?? "");
314
397
  index += 1;
315
398
  }
316
- if (index >= lines.length)
317
- return undefined;
318
- return { text: body.join("\n"), next: index + 1 };
399
+ if (index >= lines.length) {
400
+ return streaming
401
+ ? { text: livePayload(body), next: lines.length, pending: true }
402
+ : undefined;
403
+ }
404
+ return { text: body.join("\n"), next: index + 1, pending: false };
319
405
  }
320
406
  /**
321
407
  * Collect a footnote definition's body: the opener line's inline tail plus
@@ -363,9 +449,10 @@ function footnoteBody(lines, start, rest) {
363
449
  * @param start - Index of the first item's marker.
364
450
  * @param definitions - Document-wide definition accumulator.
365
451
  * @param depth - Container nesting depth.
452
+ * @param streaming - Whether the text may still grow.
366
453
  * @returns The list block and the index after its last item.
367
454
  */
368
- function parseList(lines, start, definitions, footnotes, depth) {
455
+ function parseList(lines, start, definitions, footnotes, depth, streaming) {
369
456
  const first = LIST_MARKER.exec(lines[start] ?? "");
370
457
  const ordered = /^\d/u.test(first?.[2] ?? "-");
371
458
  const bullet = first?.[2] ?? "-";
@@ -420,7 +507,7 @@ function parseList(lines, start, definitions, footnotes, depth) {
420
507
  // that opens a block of its own ends the item instead.
421
508
  if (startsBlock(current))
422
509
  break;
423
- if (tableAlignments(lines, index) !== undefined)
510
+ if (tableAlignments(lines, index, streaming) !== undefined)
424
511
  break;
425
512
  itemLines.push(current.trimStart());
426
513
  index += 1;
@@ -432,7 +519,7 @@ function parseList(lines, start, definitions, footnotes, depth) {
432
519
  }
433
520
  const itemBlocks = depth >= MAX_DEPTH
434
521
  ? []
435
- : parseBlocks(itemLines, definitions, footnotes, depth + 1);
522
+ : parseBlocks(itemLines, definitions, footnotes, depth + 1, streaming);
436
523
  // Only a blank line inside the item spreads it: an item that merely carries
437
524
  // a nested list or a fence still renders as a tight item, as GFM says.
438
525
  if (itemSpread)
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../../src/client/markdown/blocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../../src/client/markdown/blocks.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,7 @@ export function renderTexToReact(value, displayMode) {
75
75
  catch {
76
76
  // KaTeX renders ParseErrors itself under throwOnError: false; only its
77
77
  // internal errors reach here, so mirror the manual error span.
78
- return (_jsx("span", { className: "katex-error", style: { color: ERROR_COLOR }, children: value }));
78
+ return (_jsx("span", { className: "katex-error", "data-testid": "qa-md-math-error", style: { color: ERROR_COLOR }, children: value }));
79
79
  }
80
80
  }
81
81
  const parsed = new DOMParser().parseFromString(html, "text/html");
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/client/markdown/math.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/client/markdown/math.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import { Fragment, createElement } from "react";
3
3
  import { parseMarkdown } from "./blocks.js";
4
4
  import { parseInline } from "./inline.js";
5
5
  import { CodeBlock, LinkGlyph } from "./CodeBlock.js";
6
- import { MermaidBlock } from "./MermaidBlock.js";
7
6
  import { renderTexToReact } from "./math.js";
8
7
  import { codeChip, linkChip, safeHref, } from "./source-chip.js";
9
8
  /**
@@ -13,11 +12,13 @@ import { codeChip, linkChip, safeHref, } from "./source-chip.js";
13
12
  * instead of a plain link or code token.
14
13
  * @param text - Assistant-authored markdown.
15
14
  * @param context - Source resolution handed down by the owning message.
15
+ * @param options - How to read the end of the text; a live stream frame holds
16
+ * the block it stopped inside instead of rendering it as settled.
16
17
  * @returns The document's blocks, plus the footnote section when the document
17
18
  * references a defined footnote.
18
19
  */
19
- export function renderMarkdown(text, context) {
20
- const { blocks, definitions, footnotes } = parseMarkdown(text);
20
+ export function renderMarkdown(text, context, options = {}) {
21
+ const { blocks, definitions, footnotes } = parseMarkdown(text, options);
21
22
  const pass = {
22
23
  ...context,
23
24
  definitions,
@@ -29,6 +30,24 @@ export function renderMarkdown(text, context) {
29
30
  const footnotesSection = renderFootnoteSection(pass);
30
31
  return footnotesSection === null ? elements : [...elements, footnotesSection];
31
32
  }
33
+ /**
34
+ * One display formula. KaTeX once its source has settled; while the stream is
35
+ * still inside the block the TeX is held as a literal frame, because half a
36
+ * formula has no correct rendering — KaTeX answers it with an error span, and
37
+ * the dollars that open it mean nothing in prose.
38
+ * @param text - The TeX payload, delimiters already off.
39
+ * @param key - The block's React key.
40
+ * @param pending - Whether the block's closer is still to come.
41
+ * @returns The formula's element, or nothing while an empty block opens.
42
+ */
43
+ function renderDisplayMath(text, key, pending) {
44
+ if (!pending) {
45
+ return (_jsx("div", { className: "dsh-qa-md-math", "data-testid": "qa-md-math", children: renderTexToReact(text, true) }, key));
46
+ }
47
+ if (text.trim() === "")
48
+ return null;
49
+ return (_jsx("div", { className: "dsh-qa-md-math dsh-qa-md-math--pending", "data-testid": "qa-md-math-pending", children: _jsx("code", { children: text }) }, key));
50
+ }
32
51
  function renderBlock(block, key, context) {
33
52
  switch (block.kind) {
34
53
  case "paragraph":
@@ -38,14 +57,11 @@ function renderBlock(block, key, context) {
38
57
  case "code":
39
58
  if (block.lang === "math" && block.text.trim() !== "") {
40
59
  // A ```math fence renders as display TeX, the way the Host does.
41
- return (_jsx("div", { className: "dsh-qa-md-math", children: renderTexToReact(block.text, true) }, key));
42
- }
43
- if (block.lang?.toLowerCase() === "mermaid") {
44
- return _jsx(MermaidBlock, { code: block.text }, key);
60
+ return renderDisplayMath(block.text, key, block.pending === true);
45
61
  }
46
62
  return (_jsx(CodeBlock, { code: block.text, ...(block.lang === undefined ? {} : { lang: block.lang }) }, key));
47
63
  case "math":
48
- return (_jsx("div", { className: "dsh-qa-md-math", children: renderTexToReact(block.text, true) }, key));
64
+ return renderDisplayMath(block.text, key, block.pending === true);
49
65
  case "quote":
50
66
  return (_jsx("blockquote", { children: block.blocks.map((child, index) => renderBlock(child, `${key}:${index}`, context)) }, key));
51
67
  case "list":
@@ -62,7 +78,7 @@ function renderBlock(block, key, context) {
62
78
  function renderListItem(item, key, context, loose) {
63
79
  const [head, ...rest] = item.blocks;
64
80
  const parts = [];
65
- const checkbox = item.task ? (_jsx("input", { type: "checkbox", checked: item.checked, disabled: true, "aria-label": "\u0417\u0430\u0434\u0430\u0447\u0430" }, "task")) : null;
81
+ const checkbox = item.task ? (_jsx("input", { type: "checkbox", "data-testid": "qa-md-task-checkbox", checked: item.checked, disabled: true, "aria-label": "\u0417\u0430\u0434\u0430\u0447\u0430" }, "task")) : null;
66
82
  if (head !== undefined) {
67
83
  if (head.kind === "paragraph") {
68
84
  const body = (_jsxs(_Fragment, { children: [checkbox, checkbox === null ? null : " ", inline(head.text, key, context)] }));
@@ -81,10 +97,10 @@ function renderListItem(item, key, context, loose) {
81
97
  rest.forEach((block, index) => {
82
98
  parts.push(renderBlock(block, `${key}:${index + 1}`, context));
83
99
  });
84
- return (_jsx("li", { className: item.task ? "dsh-qa-md-task" : undefined, children: parts }, key));
100
+ return (_jsx("li", { className: item.task ? "dsh-qa-md-task" : undefined, "data-testid": item.task ? "qa-md-task-item" : undefined, children: parts }, key));
85
101
  }
86
102
  function renderTable(block, key, context) {
87
- return (_jsx("div", { className: "dsh-qa-md-table", children: _jsxs("table", { children: [_jsx("thead", { children: _jsx("tr", { children: block.head.map((cell, index) => (_jsx("th", { style: { textAlign: block.align[index] ?? "left" }, children: inline(cell, `${key}:h:${index}`, context) }, `h:${index}`))) }) }), _jsx("tbody", { children: block.rows.map((row, rowIndex) => (_jsx("tr", { children: block.head.map((_, cellIndex) => (_jsx("td", { style: { textAlign: block.align[cellIndex] ?? "left" }, children: inline(row[cellIndex] ?? "", `${key}:r:${rowIndex}:${cellIndex}`, context) }, `d:${cellIndex}`))) }, `r:${rowIndex}`))) })] }) }, key));
103
+ return (_jsx("div", { className: "dsh-qa-md-table", "data-testid": "qa-md-table", children: _jsxs("table", { children: [_jsx("thead", { children: _jsx("tr", { children: block.head.map((cell, index) => (_jsx("th", { style: { textAlign: block.align[index] ?? "left" }, children: inline(cell, `${key}:h:${index}`, context) }, `h:${index}`))) }) }), _jsx("tbody", { children: block.rows.map((row, rowIndex) => (_jsx("tr", { children: block.head.map((_, cellIndex) => (_jsx("td", { style: { textAlign: block.align[cellIndex] ?? "left" }, children: inline(row[cellIndex] ?? "", `${key}:r:${rowIndex}:${cellIndex}`, context) }, `d:${cellIndex}`))) }, `r:${rowIndex}`))) })] }) }, key));
88
104
  }
89
105
  function inline(text, key, context) {
90
106
  return inlineNodes(parseInline(text, {
@@ -130,14 +146,14 @@ function inlineNodes(nodes, key, context) {
130
146
  case "image": {
131
147
  const src = remoteImage(node.src);
132
148
  if (src === undefined) {
133
- return (_jsx("span", { className: "dsh-qa-md-image-alt", children: node.alt }, nodeKey));
149
+ return (_jsx("span", { className: "dsh-qa-md-image-alt", "data-testid": "qa-md-image-alt", children: node.alt }, nodeKey));
134
150
  }
135
- return (_jsx("img", { className: "dsh-qa-md-image", src: src, alt: node.alt, loading: "lazy", decoding: "async", referrerPolicy: "no-referrer" }, nodeKey));
151
+ return (_jsx("img", { className: "dsh-qa-md-image", "data-testid": "qa-md-image", src: src, alt: node.alt, loading: "lazy", decoding: "async", referrerPolicy: "no-referrer" }, nodeKey));
136
152
  }
137
153
  case "inlineMath":
138
154
  return (_jsx(Fragment, { children: renderTexToReact(node.value, false) }, nodeKey));
139
155
  case "footnoteRef":
140
- return (_jsx("sup", { className: "dsh-qa-md-fn-ref", children: footnoteNumber(node.id, context) }, nodeKey));
156
+ return (_jsx("sup", { className: "dsh-qa-md-fn-ref", "data-testid": "qa-md-fn-ref", children: footnoteNumber(node.id, context) }, nodeKey));
141
157
  }
142
158
  });
143
159
  }
@@ -181,11 +197,11 @@ function renderFootnoteSection(context) {
181
197
  if (tail === undefined || tail.kind !== "paragraph") {
182
198
  children.push(...backrefs);
183
199
  }
184
- items.push(_jsx("li", { children: children }, key));
200
+ items.push(_jsx("li", { "data-testid": "qa-md-footnote-item", children: children }, key));
185
201
  }
186
202
  if (items.length === 0)
187
203
  return null;
188
- return (_jsx("section", { className: "dsh-qa-md-footnotes", "aria-label": "\u0421\u043D\u043E\u0441\u043A\u0438", children: _jsx("ol", { children: items }) }));
204
+ return (_jsx("section", { className: "dsh-qa-md-footnotes", "data-testid": "qa-md-footnotes", "aria-label": "\u0421\u043D\u043E\u0441\u043A\u0438", children: _jsx("ol", { children: items }) }, "footnotes"));
189
205
  }
190
206
  function children(nodes, key, context) {
191
207
  return inlineNodes(nodes, key, context);
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/client/markdown/render.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/client/markdown/render.tsx"],"names":[],"mappings":"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"}
@@ -12,11 +12,11 @@ import { sourceFileName, } from "../components/source-refs.js";
12
12
  export function SourceChip({ source, label, href, onOpen, }) {
13
13
  const cardId = useId();
14
14
  const target = source.path ?? source.uri ?? source.title;
15
- const face = (_jsxs(_Fragment, { children: [_jsx("span", { className: "dsh-qa-srcref__icon", "data-kind": source.kind, children: _jsx(SourceIcon, { kind: source.kind }) }), _jsx("span", { className: "dsh-qa-srcref__label", children: label }), _jsxs("span", { className: "dsh-qa-srcref__card", id: cardId, role: "tooltip", "aria-hidden": "true", children: [_jsxs("span", { className: "dsh-qa-srcref__card-title", children: [_jsx("span", { className: "dsh-qa-srcref__icon", "data-kind": source.kind, children: _jsx(SourceIcon, { kind: source.kind }) }), source.title || label] }), _jsx("span", { className: "dsh-qa-srcref__card-target", children: target }), source.snippet === undefined ? null : (_jsx("span", { className: "dsh-qa-srcref__card-snippet", children: source.snippet }))] })] }));
15
+ const face = (_jsxs(_Fragment, { children: [_jsx("span", { className: "dsh-qa-srcref__icon", "data-kind": source.kind, "data-testid": "qa-source-chip-icon", children: _jsx(SourceIcon, { kind: source.kind }) }), _jsx("span", { className: "dsh-qa-srcref__label", "data-testid": "qa-source-chip-label", children: label }), _jsxs("span", { className: "dsh-qa-srcref__card", "data-testid": "qa-source-chip-card", id: cardId, role: "tooltip", "aria-hidden": "true", children: [_jsxs("span", { className: "dsh-qa-srcref__card-title", "data-testid": "qa-source-chip-card-title", children: [_jsx("span", { className: "dsh-qa-srcref__icon", "data-kind": source.kind, "data-testid": "qa-source-chip-card-icon", children: _jsx(SourceIcon, { kind: source.kind }) }), source.title || label] }), _jsx("span", { className: "dsh-qa-srcref__card-target", "data-testid": "qa-source-chip-card-target", children: target }), source.snippet === undefined ? null : (_jsx("span", { className: "dsh-qa-srcref__card-snippet", "data-testid": "qa-source-chip-card-snippet", children: source.snippet }))] })] }));
16
16
  if (href !== undefined) {
17
- return (_jsx("a", { className: "dsh-qa-srcref", "data-kind": source.kind, href: href, target: "_blank", rel: "noopener noreferrer", "aria-describedby": cardId, children: face }));
17
+ return (_jsx("a", { className: "dsh-qa-srcref", "data-kind": source.kind, "data-testid": "qa-source-chip", href: href, target: "_blank", rel: "noopener noreferrer", "aria-describedby": cardId, children: face }));
18
18
  }
19
- return (_jsx("button", { type: "button", className: "dsh-qa-srcref", "data-kind": source.kind, "aria-describedby": cardId, onClick: onOpen === undefined ? undefined : () => onOpen(source), children: face }));
19
+ return (_jsx("button", { type: "button", className: "dsh-qa-srcref", "data-kind": source.kind, "data-testid": "qa-source-chip", "aria-describedby": cardId, onClick: onOpen === undefined ? undefined : () => onOpen(source), children: face }));
20
20
  }
21
21
  /**
22
22
  * The chip a path-backed inline-code token earns, or undefined when the token
@@ -1 +1 @@
1
- {"version":3,"file":"source-chip.js","sourceRoot":"","sources":["../../../src/client/markdown/source-chip.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-chip.js","sourceRoot":"","sources":["../../../src/client/markdown/source-chip.tsx"],"names":[],"mappings":"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"}