@yadsh/dsh-qa-surface 0.15.7 → 0.17.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 (348) hide show
  1. package/README.md +27 -2
  2. package/lib/access/capability-catalog.js +11 -4
  3. package/lib/access/capability-catalog.js.map +1 -1
  4. package/lib/access/service.js +46 -5
  5. package/lib/access/service.js.map +1 -1
  6. package/lib/account-remotes.js +9 -0
  7. package/lib/account-remotes.js.map +1 -1
  8. package/lib/accounts/database.js +34 -3
  9. package/lib/accounts/database.js.map +1 -1
  10. package/lib/accounts/store.js +22 -2
  11. package/lib/accounts/store.js.map +1 -1
  12. package/lib/admin/service.js +4 -2
  13. package/lib/admin/service.js.map +1 -1
  14. package/lib/admin/session-log.js +3 -0
  15. package/lib/admin/session-log.js.map +1 -1
  16. package/lib/agent-scope.js +9 -0
  17. package/lib/agent-scope.js.map +1 -0
  18. package/lib/chat-sharing/native-fence.js +120 -0
  19. package/lib/chat-sharing/native-fence.js.map +1 -0
  20. package/lib/chat-sharing/resources.js +57 -0
  21. package/lib/chat-sharing/resources.js.map +1 -0
  22. package/lib/chat-sharing/store.js +199 -0
  23. package/lib/chat-sharing/store.js.map +1 -0
  24. package/lib/chat-sharing/transport.js +329 -0
  25. package/lib/chat-sharing/transport.js.map +1 -0
  26. package/lib/chat-sharing/turn-guard.js +154 -0
  27. package/lib/chat-sharing/turn-guard.js.map +1 -0
  28. package/lib/chat-sharing/types.js +2 -0
  29. package/lib/chat-sharing/types.js.map +1 -0
  30. package/lib/chat-sharing/uploads.js +55 -0
  31. package/lib/chat-sharing/uploads.js.map +1 -0
  32. package/lib/client/QaAccountsController.js +47 -2
  33. package/lib/client/QaAccountsController.js.map +1 -1
  34. package/lib/client/QaConfigController.js +7 -12
  35. package/lib/client/QaConfigController.js.map +1 -1
  36. package/lib/client/QaSessionController.js +195 -19
  37. package/lib/client/QaSessionController.js.map +1 -1
  38. package/lib/client/QaSurface.js +156 -14
  39. package/lib/client/QaSurface.js.map +1 -1
  40. package/lib/client/QaSurfaceGuard.js +6 -1
  41. package/lib/client/QaSurfaceGuard.js.map +1 -1
  42. package/lib/client/QaTranscriptAdapter.js +28 -5
  43. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  44. package/lib/client/account-conversation.js +33 -0
  45. package/lib/client/account-conversation.js.map +1 -0
  46. package/lib/client/account-sessions.js +106 -0
  47. package/lib/client/account-sessions.js.map +1 -0
  48. package/lib/client/account-upload.js +30 -0
  49. package/lib/client/account-upload.js.map +1 -0
  50. package/lib/client/answer-review.js +89 -0
  51. package/lib/client/answer-review.js.map +1 -0
  52. package/lib/client/chat-artifacts.js +18 -3
  53. package/lib/client/chat-artifacts.js.map +1 -1
  54. package/lib/client/chat-sharing-api.js +2 -0
  55. package/lib/client/chat-sharing-api.js.map +1 -0
  56. package/lib/client/components/QaAnswerReviewStatus.js +45 -0
  57. package/lib/client/components/QaAnswerReviewStatus.js.map +1 -0
  58. package/lib/client/components/QaChangelog.js +92 -3
  59. package/lib/client/components/QaChangelog.js.map +1 -1
  60. package/lib/client/components/QaChatActions.js +52 -0
  61. package/lib/client/components/QaChatActions.js.map +1 -0
  62. package/lib/client/components/QaChatSharing.js +95 -0
  63. package/lib/client/components/QaChatSharing.js.map +1 -0
  64. package/lib/client/components/QaComposer.js +8 -4
  65. package/lib/client/components/QaComposer.js.map +1 -1
  66. package/lib/client/components/QaFileAttachment.js +12 -3
  67. package/lib/client/components/QaFileAttachment.js.map +1 -1
  68. package/lib/client/components/QaFilesPanel.js +11 -4
  69. package/lib/client/components/QaFilesPanel.js.map +1 -1
  70. package/lib/client/components/QaHeader.js +3 -3
  71. package/lib/client/components/QaHeader.js.map +1 -1
  72. package/lib/client/components/QaMarkdownPreview.js +86 -0
  73. package/lib/client/components/QaMarkdownPreview.js.map +1 -0
  74. package/lib/client/components/QaMessage.js +41 -10
  75. package/lib/client/components/QaMessage.js.map +1 -1
  76. package/lib/client/components/QaModal.js +17 -0
  77. package/lib/client/components/QaModal.js.map +1 -1
  78. package/lib/client/components/QaRightRail.js +6 -4
  79. package/lib/client/components/QaRightRail.js.map +1 -1
  80. package/lib/client/components/QaRightRailResize.js +129 -0
  81. package/lib/client/components/QaRightRailResize.js.map +1 -0
  82. package/lib/client/components/QaSidebar.js +11 -2
  83. package/lib/client/components/QaSidebar.js.map +1 -1
  84. package/lib/client/components/QaSourceFilters.js +22 -0
  85. package/lib/client/components/QaSourceFilters.js.map +1 -0
  86. package/lib/client/components/QaSourcesPanel.js +66 -14
  87. package/lib/client/components/QaSourcesPanel.js.map +1 -1
  88. package/lib/client/components/QaSpreadsheetPreview.js +56 -0
  89. package/lib/client/components/QaSpreadsheetPreview.js.map +1 -0
  90. package/lib/client/components/QaWelcomeNotice.js +2 -2
  91. package/lib/client/components/QaWelcomeNotice.js.map +1 -1
  92. package/lib/client/components/QaWorkspaceBrowser.js +46 -12
  93. package/lib/client/components/QaWorkspaceBrowser.js.map +1 -1
  94. package/lib/client/components/QaZoomImage.js +56 -0
  95. package/lib/client/components/QaZoomImage.js.map +1 -0
  96. package/lib/client/components/source-refs.js +57 -24
  97. package/lib/client/components/source-refs.js.map +1 -1
  98. package/lib/client/index.js +76 -8
  99. package/lib/client/index.js.map +1 -1
  100. package/lib/client/lineage.js +4 -3
  101. package/lib/client/lineage.js.map +1 -1
  102. package/lib/client/markdown/SourceImage.js +52 -0
  103. package/lib/client/markdown/SourceImage.js.map +1 -0
  104. package/lib/client/markdown/blocks.js +150 -115
  105. package/lib/client/markdown/blocks.js.map +1 -1
  106. package/lib/client/markdown/katex-css.js +1 -1
  107. package/lib/client/markdown/render.js +26 -9
  108. package/lib/client/markdown/render.js.map +1 -1
  109. package/lib/client/markdown/source-chip.js +6 -2
  110. package/lib/client/markdown/source-chip.js.map +1 -1
  111. package/lib/client/notifications/notification-dispatcher.js +50 -11
  112. package/lib/client/notifications/notification-dispatcher.js.map +1 -1
  113. package/lib/client/notifications/use-turn-notifications.js +107 -18
  114. package/lib/client/notifications/use-turn-notifications.js.map +1 -1
  115. package/lib/client/project-session-state.js +28 -13
  116. package/lib/client/project-session-state.js.map +1 -1
  117. package/lib/client/session-admission.js +9 -1
  118. package/lib/client/session-admission.js.map +1 -1
  119. package/lib/client/session-sources.js +44 -3
  120. package/lib/client/session-sources.js.map +1 -1
  121. package/lib/client/settings/sections/sources.js +1 -1
  122. package/lib/client/settings/sections/sources.js.map +1 -1
  123. package/lib/client/settings/styles.js +18 -28
  124. package/lib/client/settings/styles.js.map +1 -1
  125. package/lib/client/slash/useSlashNavigation.js +8 -5
  126. package/lib/client/slash/useSlashNavigation.js.map +1 -1
  127. package/lib/client/source-filters-styles.js +11 -0
  128. package/lib/client/source-filters-styles.js.map +1 -0
  129. package/lib/client/source-preview.js +1 -1
  130. package/lib/client/source-preview.js.map +1 -1
  131. package/lib/client/styles.js +62 -4
  132. package/lib/client/styles.js.map +1 -1
  133. package/lib/client/turn-sources.js +2 -1
  134. package/lib/client/turn-sources.js.map +1 -1
  135. package/lib/client/types.js.map +1 -1
  136. package/lib/client/use-right-rail.js +1 -1
  137. package/lib/client/use-right-rail.js.map +1 -1
  138. package/lib/client/user-settings/IntegrationTokensPage.js +30 -6
  139. package/lib/client/user-settings/IntegrationTokensPage.js.map +1 -1
  140. package/lib/client/workspace-download.js +42 -2
  141. package/lib/client/workspace-download.js.map +1 -1
  142. package/lib/client.js +6481 -2234
  143. package/lib/client.js.map +1 -1
  144. package/lib/config-resolvers/defaults.js +4 -3
  145. package/lib/config-resolvers/defaults.js.map +1 -1
  146. package/lib/config-resolvers/sources.js +2 -0
  147. package/lib/config-resolvers/sources.js.map +1 -1
  148. package/lib/config.js +3 -0
  149. package/lib/config.js.map +1 -1
  150. package/lib/enforcement/skill-policy.js +29 -4
  151. package/lib/enforcement/skill-policy.js.map +1 -1
  152. package/lib/enforcement/skill-resource-paths.js +32 -0
  153. package/lib/enforcement/skill-resource-paths.js.map +1 -0
  154. package/lib/enforcement/structured-result.js +38 -0
  155. package/lib/enforcement/structured-result.js.map +1 -0
  156. package/lib/enforcement/tool-grants.js +3 -1
  157. package/lib/enforcement/tool-grants.js.map +1 -1
  158. package/lib/index.js +447 -17
  159. package/lib/index.js.map +1 -1
  160. package/lib/integration/host-runner.js +1 -0
  161. package/lib/integration/host-runner.js.map +1 -1
  162. package/lib/integration/question-policy.js +126 -0
  163. package/lib/integration/question-policy.js.map +1 -0
  164. package/lib/integration/service.js +2 -0
  165. package/lib/integration/service.js.map +1 -1
  166. package/lib/llm-identity.js +27 -0
  167. package/lib/llm-identity.js.map +1 -0
  168. package/lib/markdown-frontmatter.js +47 -0
  169. package/lib/markdown-frontmatter.js.map +1 -0
  170. package/lib/markdown-images.js +33 -0
  171. package/lib/markdown-images.js.map +1 -0
  172. package/lib/prompt-notes.js +19 -2
  173. package/lib/prompt-notes.js.map +1 -1
  174. package/lib/provenance/collector.js +15 -1
  175. package/lib/provenance/collector.js.map +1 -1
  176. package/lib/provenance/connectors.js +57 -27
  177. package/lib/provenance/connectors.js.map +1 -1
  178. package/lib/provenance/dedupe.js +25 -1
  179. package/lib/provenance/dedupe.js.map +1 -1
  180. package/lib/provenance/document-preview.js +31 -3
  181. package/lib/provenance/document-preview.js.map +1 -1
  182. package/lib/provenance/extractors.js +88 -4
  183. package/lib/provenance/extractors.js.map +1 -1
  184. package/lib/provenance/file-download.js +56 -0
  185. package/lib/provenance/file-download.js.map +1 -0
  186. package/lib/provenance/file-preview.js +20 -2
  187. package/lib/provenance/file-preview.js.map +1 -1
  188. package/lib/provenance/host-store.js +59 -10
  189. package/lib/provenance/host-store.js.map +1 -1
  190. package/lib/provenance/integration-extractor.js +62 -0
  191. package/lib/provenance/integration-extractor.js.map +1 -0
  192. package/lib/provenance/snapshot-store.js +2 -0
  193. package/lib/provenance/snapshot-store.js.map +1 -1
  194. package/lib/provenance/source-content.js +103 -0
  195. package/lib/provenance/source-content.js.map +1 -0
  196. package/lib/provenance/source-image.js +57 -0
  197. package/lib/provenance/source-image.js.map +1 -0
  198. package/lib/provenance/spreadsheet-preview.js +52 -0
  199. package/lib/provenance/spreadsheet-preview.js.map +1 -0
  200. package/lib/qa-tools/docs-tools.js +14 -0
  201. package/lib/qa-tools/docs-tools.js.map +1 -1
  202. package/lib/questions.js +6 -1
  203. package/lib/questions.js.map +1 -1
  204. package/lib/secure-session.js +9 -3
  205. package/lib/secure-session.js.map +1 -1
  206. package/lib/session-fork-host.js +157 -0
  207. package/lib/session-fork-host.js.map +1 -0
  208. package/lib/session-fork.js +34 -0
  209. package/lib/session-fork.js.map +1 -0
  210. package/lib/session-ownership.js +5 -1
  211. package/lib/session-ownership.js.map +1 -1
  212. package/lib/shared/documents.js +12 -0
  213. package/lib/shared/documents.js.map +1 -1
  214. package/lib/shared/session-lineage.js +6 -0
  215. package/lib/shared/session-lineage.js.map +1 -0
  216. package/lib/slash/draft-target.js +21 -0
  217. package/lib/slash/draft-target.js.map +1 -0
  218. package/lib/slash/remotes.js +39 -4
  219. package/lib/slash/remotes.js.map +1 -1
  220. package/lib/typert.host.js +1869 -163
  221. package/lib/typert.remote-client.d.ts +56 -5
  222. package/lib/typert.remote-client.js +1678 -154
  223. package/lib/types/access/capability-catalog.d.ts +1 -1
  224. package/lib/types/access/service.d.ts +7 -0
  225. package/lib/types/access.js +2 -0
  226. package/lib/types/access.js.map +1 -0
  227. package/lib/types/account-remotes.d.ts +3 -0
  228. package/lib/types/accounts/database.d.ts +5 -0
  229. package/lib/types/accounts/store.d.ts +7 -2
  230. package/lib/types/accounts.js +2 -0
  231. package/lib/types/accounts.js.map +1 -0
  232. package/lib/types/admin/session-log.d.ts +2 -0
  233. package/lib/types/admin.js +2 -0
  234. package/lib/types/admin.js.map +1 -0
  235. package/lib/types/agent-scope.d.ts +4 -0
  236. package/lib/types/answer-review.js +2 -0
  237. package/lib/types/answer-review.js.map +1 -0
  238. package/lib/types/capability.js +2 -0
  239. package/lib/types/capability.js.map +1 -0
  240. package/lib/types/chat-sharing/native-fence.d.ts +11 -0
  241. package/lib/types/chat-sharing/resources.d.ts +5 -0
  242. package/lib/types/chat-sharing/store.d.ts +29 -0
  243. package/lib/types/chat-sharing/transport.d.ts +32 -0
  244. package/lib/types/chat-sharing/turn-guard.d.ts +21 -0
  245. package/lib/types/chat-sharing/types.d.ts +25 -0
  246. package/lib/types/chat-sharing/uploads.d.ts +5 -0
  247. package/lib/types/client/QaAccountsController.d.ts +4 -0
  248. package/lib/types/client/QaConfigController.d.ts +3 -2
  249. package/lib/types/client/QaSessionController.d.ts +17 -3
  250. package/lib/types/client/QaSurface.d.ts +6 -1
  251. package/lib/types/client/account-conversation.d.ts +6 -0
  252. package/lib/types/client/account-sessions.d.ts +7 -0
  253. package/lib/types/client/account-upload.d.ts +15 -0
  254. package/lib/types/client/answer-review.d.ts +16 -0
  255. package/lib/types/client/chat-sharing-api.d.ts +35 -0
  256. package/lib/types/client/components/QaAnswerReviewStatus.d.ts +8 -0
  257. package/lib/types/client/components/QaChatActions.d.ts +7 -0
  258. package/lib/types/client/components/QaChatSharing.d.ts +12 -0
  259. package/lib/types/client/components/QaComposer.d.ts +2 -0
  260. package/lib/types/client/components/QaFileAttachment.d.ts +3 -2
  261. package/lib/types/client/components/QaFilesPanel.d.ts +4 -1
  262. package/lib/types/client/components/QaMarkdownPreview.d.ts +13 -0
  263. package/lib/types/client/components/QaMessage.d.ts +5 -2
  264. package/lib/types/client/components/QaModal.d.ts +9 -0
  265. package/lib/types/client/components/QaRightRail.d.ts +3 -2
  266. package/lib/types/client/components/QaRightRailResize.d.ts +9 -0
  267. package/lib/types/client/components/QaSidebar.d.ts +2 -0
  268. package/lib/types/client/components/QaSourceFilters.d.ts +12 -0
  269. package/lib/types/client/components/QaSpreadsheetPreview.d.ts +8 -0
  270. package/lib/types/client/components/QaWelcomeNotice.d.ts +1 -1
  271. package/lib/types/client/components/QaWorkspaceBrowser.d.ts +8 -1
  272. package/lib/types/client/components/QaZoomImage.d.ts +38 -0
  273. package/lib/types/client/components/source-refs.d.ts +1 -0
  274. package/lib/types/client/lineage.d.ts +2 -2
  275. package/lib/types/client/markdown/SourceImage.d.ts +7 -0
  276. package/lib/types/client/markdown/blocks.d.ts +8 -1
  277. package/lib/types/client/markdown/render.d.ts +5 -1
  278. package/lib/types/client/markdown/source-chip.d.ts +1 -0
  279. package/lib/types/client/notifications/notification-dispatcher.d.ts +10 -6
  280. package/lib/types/client/notifications/use-turn-notifications.d.ts +4 -0
  281. package/lib/types/client/project-session-state.d.ts +1 -0
  282. package/lib/types/client/session-admission.d.ts +2 -0
  283. package/lib/types/client/session-sources.d.ts +1 -0
  284. package/lib/types/client/settings/styles.d.ts +2 -5
  285. package/lib/types/client/source-filters-styles.d.ts +2 -0
  286. package/lib/types/client/turn-sources.d.ts +1 -1
  287. package/lib/types/client/types.d.ts +18 -5
  288. package/lib/types/client/workspace-download.d.ts +9 -1
  289. package/lib/types/config.js +2 -0
  290. package/lib/types/config.js.map +1 -0
  291. package/lib/types/documents.js +2 -0
  292. package/lib/types/documents.js.map +1 -0
  293. package/lib/types/enforcement/skill-resource-paths.d.ts +5 -0
  294. package/lib/types/enforcement/structured-result.d.ts +11 -0
  295. package/lib/types/expert-memory.js +2 -0
  296. package/lib/types/expert-memory.js.map +1 -0
  297. package/lib/types/index.d.ts +42 -3
  298. package/lib/types/integration/contract.d.ts +1 -0
  299. package/lib/types/integration/question-policy.d.ts +20 -0
  300. package/lib/types/integration/service.d.ts +1 -0
  301. package/lib/types/llm-identity.d.ts +20 -0
  302. package/lib/types/markdown-frontmatter.d.ts +10 -0
  303. package/lib/types/markdown-images.d.ts +3 -0
  304. package/lib/types/policy.js +2 -0
  305. package/lib/types/policy.js.map +1 -0
  306. package/lib/types/prompt-notes.d.ts +3 -1
  307. package/lib/types/provenance/connectors.d.ts +4 -1
  308. package/lib/types/provenance/document-preview.d.ts +5 -2
  309. package/lib/types/provenance/extractors.d.ts +2 -0
  310. package/lib/types/provenance/file-download.d.ts +10 -0
  311. package/lib/types/provenance/file-preview.d.ts +2 -1
  312. package/lib/types/provenance/host-store.d.ts +2 -0
  313. package/lib/types/provenance/integration-extractor.d.ts +5 -0
  314. package/lib/types/provenance/source-content.d.ts +19 -0
  315. package/lib/types/provenance/source-image.d.ts +4 -0
  316. package/lib/types/provenance/spreadsheet-preview.d.ts +5 -0
  317. package/lib/types/provenance/types.d.ts +5 -0
  318. package/lib/types/qa-tools/docs-tools.d.ts +2 -0
  319. package/lib/types/quality.js +7 -0
  320. package/lib/types/quality.js.map +1 -0
  321. package/lib/types/questions.d.ts +2 -1
  322. package/lib/types/session-fork-host.d.ts +27 -0
  323. package/lib/types/session-fork.d.ts +7 -0
  324. package/lib/types/session.js +2 -0
  325. package/lib/types/session.js.map +1 -0
  326. package/lib/types/shared/documents.d.ts +2 -0
  327. package/lib/types/shared/session-lineage.d.ts +7 -0
  328. package/lib/types/skills.js +2 -0
  329. package/lib/types/skills.js.map +1 -0
  330. package/lib/types/slash/draft-target.d.ts +7 -0
  331. package/lib/types/slash/remotes.d.ts +7 -0
  332. package/lib/types/slash.js +2 -0
  333. package/lib/types/slash.js.map +1 -0
  334. package/lib/types/types/access.d.ts +43 -0
  335. package/lib/types/types/accounts.d.ts +177 -0
  336. package/lib/types/types/admin.d.ts +286 -0
  337. package/lib/types/types/answer-review.d.ts +11 -0
  338. package/lib/types/types/capability.d.ts +230 -0
  339. package/lib/types/types/config.d.ts +597 -0
  340. package/lib/types/types/documents.d.ts +34 -0
  341. package/lib/types/types/expert-memory.d.ts +35 -0
  342. package/lib/types/types/policy.d.ts +54 -0
  343. package/lib/types/types/quality.d.ts +100 -0
  344. package/lib/types/types/session.d.ts +397 -0
  345. package/lib/types/types/skills.d.ts +143 -0
  346. package/lib/types/types/slash.d.ts +159 -0
  347. package/lib/types/types.d.ts +14 -2180
  348. package/package.json +8 -7
@@ -1,8 +1,12 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useMemo, useRef, useState } from "react";
2
+ import { QaSpreadsheetPreview } from "./QaSpreadsheetPreview.js";
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
3
4
  import { sourcePreviewFailureCopy } from "../source-preview.js";
4
- import { Markdown } from "./Markdown.js";
5
+ import { QaMarkdownPreview } from "./QaMarkdownPreview.js";
6
+ import { SourceImage } from "../markdown/SourceImage.js";
5
7
  import { KIND_LABELS, SourceIcon } from "./source-icon.js";
8
+ import { usePdfUrl } from "./QaWorkspaceBrowser.js";
9
+ import { matchesSourceText, QaSourceFilters } from "./QaSourceFilters.js";
6
10
  // Re-exported so the panel stays the icon's historical import site.
7
11
  export { SourceIcon } from "./source-icon.js";
8
12
  function sourceTarget(source) {
@@ -11,20 +15,24 @@ function sourceTarget(source) {
11
15
  function OriginBadges({ source, showOrigin, }) {
12
16
  const delegated = showOrigin && source.origins.some((origin) => origin.role === "subagent");
13
17
  const truncated = source.metadata?.truncated === true;
14
- if (!delegated && !truncated && source.evidence !== "discovered")
18
+ const metadataOnly = source.metadata?.metadataOnly === true;
19
+ if (!delegated &&
20
+ !truncated &&
21
+ !metadataOnly &&
22
+ source.evidence !== "discovered")
15
23
  return null;
16
- return (_jsxs("span", { className: "dsh-qa-sources__badges", "data-testid": "qa-source-badges", children: [delegated ? (_jsx("span", { "data-testid": "qa-source-badge-subagent", children: "Subagent" })) : null, truncated ? (_jsx("span", { "data-testid": "qa-source-badge-partial", children: "Partial" })) : null, source.evidence === "discovered" ? (_jsx("span", { "data-testid": "qa-source-badge-discovered", children: "Discovered" })) : null] }));
24
+ return (_jsxs("span", { className: "dsh-qa-sources__badges", "data-testid": "qa-source-badges", children: [delegated ? (_jsx("span", { "data-testid": "qa-source-badge-subagent", children: "Subagent" })) : null, truncated ? (_jsx("span", { "data-testid": "qa-source-badge-partial", children: "Partial" })) : null, metadataOnly ? (_jsx("span", { "data-testid": "qa-source-badge-metadata", children: "Metadata only" })) : null, source.evidence === "discovered" ? (_jsx("span", { "data-testid": "qa-source-badge-discovered", children: "Discovered" })) : null] }));
17
25
  }
18
26
  function QaSourceCard({ source, showOriginBadges, onOpen, }) {
19
- return (_jsxs("button", { type: "button", className: "dsh-qa-sources__item", "data-testid": "qa-sources-item", onClick: onOpen, children: [_jsx("span", { className: "dsh-qa-sources__kind", "data-kind": source.kind, "data-testid": "qa-sources-item-icon", children: _jsx(SourceIcon, { kind: source.kind }) }), _jsxs("span", { className: "dsh-qa-sources__text", "data-testid": "qa-sources-item-text", children: [_jsx("span", { className: "dsh-qa-sources__title", "data-testid": "qa-sources-item-title", children: source.title }), _jsx("span", { className: "dsh-qa-sources__target", "data-testid": "qa-sources-item-target", children: sourceTarget(source) }), _jsx(OriginBadges, { source: source, showOrigin: showOriginBadges }), source.snippet === undefined ? null : (_jsx("p", { "data-testid": "qa-sources-item-snippet", children: source.snippet }))] })] }));
27
+ return (_jsxs("button", { type: "button", className: "dsh-qa-sources__item", "data-testid": "qa-sources-item", onClick: onOpen, children: [_jsx("span", { className: "dsh-qa-sources__kind", "data-kind": source.kind, "data-testid": "qa-sources-item-icon", children: _jsx(SourceIcon, { kind: source.kind }) }), _jsxs("span", { className: "dsh-qa-sources__text", "data-testid": "qa-sources-item-text", children: [_jsx("span", { className: "dsh-qa-sources__title", "data-testid": "qa-sources-item-title", children: source.title }), _jsx("span", { className: "dsh-qa-sources__target", "data-testid": "qa-sources-item-target", children: sourceTarget(source) }), _jsx(OriginBadges, { source: source, showOrigin: showOriginBadges }), source.snippet === undefined && source.content === undefined ? null : (_jsx("p", { "data-testid": "qa-sources-item-snippet", children: source.snippet ?? source.content?.slice(0, 240) }))] })] }));
20
28
  }
21
- function RawFilePreview({ preview, lineStart, lineEnd, }) {
29
+ function RawFilePreview({ preview, lineStart, lineEnd, requestKey, }) {
22
30
  const target = useRef(null);
23
31
  useEffect(() => {
24
32
  if (typeof target.current?.scrollIntoView === "function") {
25
33
  target.current.scrollIntoView({ block: "center" });
26
34
  }
27
- }, [preview.path, lineStart]);
35
+ }, [preview.path, lineStart, lineEnd, requestKey]);
28
36
  const lines = preview.content.replace(/\r\n?/gu, "\n").split("\n");
29
37
  return (_jsx("pre", { className: "dsh-qa-preview__raw", "data-testid": "qa-source-preview-raw", children: _jsx("code", { children: lines.map((line, index) => {
30
38
  const number = index + 1;
@@ -42,6 +50,23 @@ function QaSourceDetail({ source, sessionId, sourceApi, filePreviewConfig, showO
42
50
  const [preview, setPreview] = useState(null);
43
51
  const [previewError, setPreviewError] = useState(null);
44
52
  const [mode, setMode] = useState("raw");
53
+ const imageCache = useMemo(() => new Map(), [sessionId, source.path, sourceApi]);
54
+ const loadImage = useCallback((imagePath) => {
55
+ const cached = imageCache.get(imagePath);
56
+ if (cached !== undefined)
57
+ return cached;
58
+ if (sessionId === null ||
59
+ source.path === undefined ||
60
+ sourceApi.readSourceImage === undefined)
61
+ return Promise.resolve(undefined);
62
+ const result = sourceApi
63
+ .readSourceImage(sessionId, source.path, imagePath)
64
+ .then((value) => (value.ok ? value.value : undefined));
65
+ imageCache.set(imagePath, result);
66
+ return result;
67
+ }, [imageCache, sessionId, source.path, sourceApi]);
68
+ const renderImage = useCallback((src, alt) => (_jsx(SourceImage, { src: src, alt: alt, load: loadImage })), [loadImage]);
69
+ const pdfUrl = usePdfUrl(preview?.document?.kind === "pdf" ? preview.document.base64 : undefined);
45
70
  const external = source.uri?.match(/^https?:\/\//iu)?.[0] === undefined
46
71
  ? undefined
47
72
  : source.uri;
@@ -76,6 +101,7 @@ function QaSourceDetail({ source, sessionId, sourceApi, filePreviewConfig, showO
76
101
  }, [
77
102
  filePreviewConfig.enabled,
78
103
  filePreviewConfig.markdownRenderedByDefault,
104
+ filePreviewConfig.renderFrontmatter,
79
105
  sessionId,
80
106
  source.id,
81
107
  source.path,
@@ -83,29 +109,55 @@ function QaSourceDetail({ source, sessionId, sourceApi, filePreviewConfig, showO
83
109
  ]);
84
110
  return (_jsxs("div", { className: "dsh-qa-sourcedetail", "data-testid": "qa-source-detail", children: [_jsxs("div", { className: "dsh-qa-sourcedetail__head", "data-testid": "qa-source-detail-head", children: [_jsx("button", { type: "button", className: "dsh-qa-sourcedetail__back", "data-testid": "qa-source-detail-back", "aria-label": "\u041A\u043E \u0432\u0441\u0435\u043C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0430\u043C", title: "\u041A\u043E \u0432\u0441\u0435\u043C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0430\u043C", onClick: onBack, children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "m8.75 3.5-3.5 3.5 3.5 3.5" }) }) }), _jsx("span", { className: "dsh-qa-sourcedetail__kind", "data-testid": "qa-source-detail-icon", children: _jsx(SourceIcon, { kind: source.kind }) }), _jsx("span", { className: "dsh-qa-sourcedetail__title", "data-testid": "qa-source-detail-title", children: source.title }), preview?.markdown && filePreviewConfig.allowRawToggle ? (_jsxs("span", { className: "dsh-qa-preview__toggle", "data-testid": "qa-source-preview-toggle", children: [_jsx("button", { type: "button", "data-testid": "qa-source-preview-toggle-rendered", "aria-pressed": mode === "rendered", disabled: !preview.renderableMarkdown, onClick: () => setMode("rendered"), children: "Rendered" }), _jsx("button", { type: "button", "data-testid": "qa-source-preview-toggle-raw", "aria-pressed": mode === "raw", onClick: () => setMode("raw"), children: "Raw" })] })) : external === undefined ? null : (_jsx("a", { className: "dsh-qa-sourcedetail__open", "data-testid": "qa-source-detail-open", href: external, target: "_blank", rel: "noopener noreferrer", children: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C" }))] }), _jsx("div", { className: "dsh-qa-sourcedetail__target", "data-testid": "qa-source-detail-target", children: sourceTarget(source) }), _jsxs("div", { className: "dsh-qa-sourcedetail__body", "data-testid": "qa-source-detail-body", children: [_jsx(OriginBadges, { source: source, showOrigin: showOriginBadges }), source.path !== undefined && preview === null && !previewError ? (_jsx("p", { className: "dsh-qa-sourcedetail__empty", "data-testid": "qa-source-detail-loading", children: "\u041E\u0442\u043A\u0440\u044B\u0432\u0430\u044E \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u2026" })) : null, previewError !== null ? (_jsx("p", { className: "dsh-qa-sourcedetail__empty", "data-testid": "qa-source-detail-error", children: previewError })) : null, preview !== null ? (_jsxs(_Fragment, { children: [preview.truncated ? (_jsx("p", { className: "dsh-qa-preview__notice", "data-testid": "qa-source-preview-truncated", children: "\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u043D\u0430\u0447\u0430\u043B\u043E \u0444\u0430\u0439\u043B\u0430: \u0440\u0430\u0437\u043C\u0435\u0440 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0435\u0442 \u043B\u0438\u043C\u0438\u0442 preview." })) : null, lineStart === undefined ? null : (_jsxs("p", { className: "dsh-qa-preview__range", "data-testid": "qa-source-preview-range", children: ["Referenced lines: ", lineStart, lineEnd !== undefined && lineEnd !== lineStart
85
111
  ? `–${lineEnd}`
86
- : "", mode === "rendered" ? (_jsx("button", { type: "button", "data-testid": "qa-source-preview-show-raw", onClick: () => setMode("raw"), children: "View raw" })) : null] })), mode === "rendered" && preview.renderableMarkdown ? (_jsx("div", { className: "dsh-qa-preview__markdown", "data-testid": "qa-source-preview-markdown", children: _jsx(Markdown, { text: preview.content }) })) : (_jsx(RawFilePreview, { preview: preview, lineStart: lineStart, lineEnd: lineEnd }))] })) : source.path === undefined ? (source.snippet === undefined ? (_jsx("p", { className: "dsh-qa-sourcedetail__empty", "data-testid": "qa-source-detail-missing", children: "\u0423 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0430 \u043D\u0435\u0442 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u043E\u0433\u043E \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u0430." })) : (_jsx("p", { "data-testid": "qa-source-detail-snippet", children: source.snippet }))) : null, _jsxs("p", { className: "dsh-qa-sourcedetail__provenance", "data-testid": "qa-source-detail-provenance", children: [_jsxs("span", { children: ["\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D ", source.origins.length, " \u0440\u0430\u0437(\u0430)"] }), _jsx("span", { children: source.evidence })] })] })] }));
112
+ : "", mode === "rendered" ? (_jsx("button", { type: "button", "data-testid": "qa-source-preview-show-raw", onClick: () => setMode("raw"), children: "View raw" })) : null] })), preview.document?.kind === "spreadsheet" ? (_jsx(QaSpreadsheetPreview, { initial: preview.document, load: async (selection) => {
113
+ if (source.path === undefined || sessionId === null)
114
+ throw new Error("unavailable");
115
+ const result = await sourceApi.readSourceFile(sessionId, source.path, selection);
116
+ if (!result.ok)
117
+ throw result.error;
118
+ if (result.value.document?.kind !== "spreadsheet")
119
+ throw new Error("unsupported");
120
+ return result.value.document;
121
+ } })) : preview.document !== undefined ? (pdfUrl === null ? (_jsx("p", { children: "\u0413\u043E\u0442\u043E\u0432\u043B\u044E \u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u2026" })) : (_jsx("iframe", { className: "dsh-qa-ws__pdf", "data-testid": "qa-source-preview-pdf", title: preview.document.name, src: pdfUrl }))) : mode === "rendered" && preview.renderableMarkdown ? (_jsx("div", { className: "dsh-qa-preview__markdown", "data-testid": "qa-source-preview-markdown", children: _jsx(QaMarkdownPreview, { text: preview.content, renderFrontmatter: filePreviewConfig.renderFrontmatter, frontmatter: preview.frontmatter, lineStart: lineStart, lineEnd: lineEnd, renderImage: renderImage, requestKey: source }) })) : (_jsx(RawFilePreview, { preview: preview, lineStart: lineStart, lineEnd: lineEnd, requestKey: source }))] })) : source.path === undefined ? (source.content !== undefined ? (_jsxs(_Fragment, { children: [_jsx("h3", { className: "dsh-qa-sourcedetail__content-label", children: "\u041F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442" }), source.contentTruncated === true ? (_jsx("p", { className: "dsh-qa-preview__notice", "data-testid": "qa-source-content-truncated", children: "\u0422\u0435\u043A\u0441\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D \u0447\u0430\u0441\u0442\u0438\u0447\u043D\u043E: \u043F\u043E\u043A\u0430\u0437\u0430\u043D \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0439 \u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0430." })) : null, _jsx("p", { "data-testid": "qa-source-detail-content", children: source.content })] })) : source.snippet === undefined ? (_jsx("p", { className: "dsh-qa-sourcedetail__empty", "data-testid": "qa-source-detail-missing", children: source.metadata?.addressUnavailable === true
122
+ ? "Интеграция вернула запись без ссылки. Предпросмотр недоступен."
123
+ : "У источника нет текстового фрагмента." })) : (_jsx("p", { "data-testid": "qa-source-detail-snippet", children: source.snippet }))) : null, _jsxs("p", { className: "dsh-qa-sourcedetail__provenance", "data-testid": "qa-source-detail-provenance", children: [_jsxs("span", { children: ["\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D ", source.origins.length, " \u0440\u0430\u0437(\u0430)"] }), _jsx("span", { children: source.evidence })] })] })] }));
87
124
  }
88
125
  /** Canonical grouped source panel and safe local-file preview. */
89
126
  export function QaSourcesPanel({ sources, complete, incompleteOrigins, sessionId, sourceApi, display, filePreview, initialDetail = null, pinned = false, onShowAll, }) {
90
127
  const [detailId, setDetailId] = useState(initialDetail?.id ?? null);
91
128
  const [expanded, setExpanded] = useState(() => new Set());
129
+ const [query, setQuery] = useState("");
130
+ const [kind, setKind] = useState("all");
131
+ const filtered = useMemo(() => sources.filter((source) => (kind === "all" || source.kind === kind) &&
132
+ matchesSourceText(source, query)), [sources, kind, query]);
133
+ const resetFilters = () => {
134
+ setQuery("");
135
+ setKind("all");
136
+ setExpanded(new Set());
137
+ };
92
138
  const detail = detailId === null
93
139
  ? undefined
94
- : (sources.find((source) => source.id === detailId) ??
95
- (initialDetail?.id === detailId ? initialDetail : undefined));
140
+ : ((initialDetail?.id === detailId ? initialDetail : undefined) ??
141
+ sources.find((source) => source.id === detailId));
96
142
  const groups = useMemo(() => {
97
143
  if (!display.groupByKind)
98
- return [{ key: "all", label: "Источники", sources }];
144
+ return [{ key: "all", label: "Источники", sources: filtered }];
99
145
  const grouped = new Map();
100
- for (const source of sources)
146
+ for (const source of filtered)
101
147
  grouped.set(source.kind, [...(grouped.get(source.kind) ?? []), source]);
102
148
  return [...grouped].map(([key, items]) => ({
103
149
  key,
104
150
  label: KIND_LABELS[key],
105
151
  sources: items,
106
152
  }));
107
- }, [display.groupByKind, sources]);
108
- return (_jsxs("div", { className: "dsh-qa-sourcespanel", "data-testid": "qa-sources-panel", children: [detail === undefined && pinned && onShowAll !== undefined ? (_jsx("button", { type: "button", className: "dsh-qa-sourcespanel__all", "data-testid": "qa-sources-show-all", onClick: onShowAll, children: "\u0412\u0441\u0435 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438" })) : null, detail === undefined ? (_jsxs("div", { className: "dsh-qa-sources__list", "data-testid": "qa-sources-list", children: [!complete ? (_jsxs("p", { className: "dsh-qa-sources__incomplete", "data-testid": "qa-sources-incomplete", children: ["\u041D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438 \u0434\u0435\u043B\u0435\u0433\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0437\u0430\u043F\u0443\u0441\u043A\u043E\u0432 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B (", incompleteOrigins?.length ?? 1, ")."] })) : null, complete && sources.length === 0 ? (_jsx("p", { className: "dsh-qa-sources__empty", "data-testid": "qa-sources-empty", children: "\u0417\u0434\u0435\u0441\u044C \u043F\u043E\u044F\u0432\u043B\u044F\u044E\u0442\u0441\u044F \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B, \u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0445\u043E\u0434 \u0447\u0438\u0442\u0430\u043B \u0438\u043B\u0438 \u043E\u0442\u043A\u0440\u044B\u0432\u0430\u043B \u0441\u0430\u043C: \u0444\u0430\u0439\u043B \u0440\u0430\u0431\u043E\u0447\u0435\u0433\u043E \u043A\u0430\u0442\u0430\u043B\u043E\u0433\u0430, \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430, \u0432\u044B\u0434\u0430\u0447\u0430 \u0432\u0435\u0431-\u043F\u043E\u0438\u0441\u043A\u0430, \u043E\u0442\u0432\u0435\u0442 Jira, Confluence \u0438\u043B\u0438 \u0431\u0430\u0437\u044B \u0437\u043D\u0430\u043D\u0438\u0439. \u041E\u0442\u0432\u0435\u0442, \u0441\u043E\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u043F\u043E \u043F\u0430\u043C\u044F\u0442\u0438 \u0438\u043B\u0438 \u043F\u043E \u0442\u043E\u043C\u0443, \u0447\u0442\u043E \u0443\u0436\u0435 \u0431\u044B\u043B\u043E \u0432 \u044D\u0442\u043E\u043C \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0435, \u0441\u044E\u0434\u0430 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442 \u2014 \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043F\u0443\u0441\u0442\u043E\u0439 \u0441\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D\u043D\u043E\u0433\u043E \u0445\u043E\u0434\u0430 \u043E\u0437\u043D\u0430\u0447\u0430\u0435\u0442 \u0438\u043C\u0435\u043D\u043D\u043E \u044D\u0442\u043E, \u0430 \u043D\u0435 \u0441\u0431\u043E\u0439 \u0441\u0431\u043E\u0440\u0430." })) : null, groups.map((group) => {
153
+ }, [display.groupByKind, filtered]);
154
+ return (_jsxs("div", { className: "dsh-qa-sourcespanel", "data-testid": "qa-sources-panel", children: [detail === undefined && sources.length > 0 ? (_jsx(QaSourceFilters, { sources: sources, query: query, kind: kind, count: filtered.length, onQuery: (value) => {
155
+ setQuery(value);
156
+ setExpanded(new Set());
157
+ }, onKind: (value) => {
158
+ setKind(value);
159
+ setExpanded(new Set());
160
+ }, onReset: resetFilters })) : null, detail === undefined && pinned && onShowAll !== undefined ? (_jsx("button", { type: "button", className: "dsh-qa-sourcespanel__all", "data-testid": "qa-sources-show-all", onClick: onShowAll, children: "\u0412\u0441\u0435 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0438" })) : null, detail === undefined ? (_jsxs("div", { className: "dsh-qa-sources__list", "data-testid": "qa-sources-list", children: [sources.length > 0 && filtered.length === 0 ? (_jsx("p", { className: "dsh-qa-sources__empty", "data-testid": "qa-sources-no-matches", children: "\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E. \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u0435 \u0437\u0430\u043F\u0440\u043E\u0441 \u0438\u043B\u0438 \u0441\u0431\u0440\u043E\u0441\u044C\u0442\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u044B." })) : null, !complete ? (_jsxs("p", { className: "dsh-qa-sources__incomplete", "data-testid": "qa-sources-incomplete", children: ["\u0421\u0431\u043E\u0440 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u043E\u0432 \u043D\u0435\u043F\u043E\u043B\u043E\u043D: \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B (", incompleteOrigins?.length ?? 1, ")."] })) : null, complete && sources.length === 0 ? (_jsxs("p", { className: "dsh-qa-sources__empty", "data-testid": "qa-sources-empty", children: [pinned ? "Для этого ответа" : "В этом чате", " \u043F\u043E\u043A\u0430 \u043D\u0435\u0442 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u043E\u0432. \u0417\u0434\u0435\u0441\u044C \u043F\u043E\u044F\u0432\u043B\u044F\u044E\u0442\u0441\u044F \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u043D\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B, \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0438 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u0438\u043D\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0439. \u041F\u0443\u0441\u0442\u043E\u0439 \u0441\u043F\u0438\u0441\u043E\u043A \u0441\u0430\u043C \u043F\u043E \u0441\u0435\u0431\u0435 \u043D\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043E \u043E\u0442\u0432\u0435\u0442 \u0441\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D \u043F\u043E \u043F\u0430\u043C\u044F\u0442\u0438."] })) : null, groups.map((group) => {
109
161
  const visible = expanded.has(group.key)
110
162
  ? group.sources
111
163
  : group.sources.slice(0, display.maxInitiallyVisiblePerGroup);
@@ -1 +1 @@
1
- {"version":3,"file":"QaSourcesPanel.js","sourceRoot":"","sources":["../../../src/client/components/QaSourcesPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQ7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3D,oEAAoE;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,SAAS,YAAY,CAAC,MAAgB;IACpC,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC;AACnD,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,MAAM,EACN,UAAU,GAIX;IACC,MAAM,SAAS,GACb,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI,CAAC;IACtD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAC9E,OAAO,CACL,gBAAM,SAAS,EAAC,wBAAwB,iBAAa,kBAAkB,aACpE,SAAS,CAAC,CAAC,CAAC,CACX,8BAAkB,0BAA0B,yBAAgB,CAC7D,CAAC,CAAC,CAAC,IAAI,EACP,SAAS,CAAC,CAAC,CAAC,CACX,8BAAkB,yBAAyB,wBAAe,CAC3D,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAClC,8BAAkB,4BAA4B,2BAAkB,CACjE,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,MAAM,EACN,gBAAgB,EAChB,MAAM,GAKP;IACC,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,sBAAsB,iBACpB,iBAAiB,EAC7B,OAAO,EAAE,MAAM,aAEf,eACE,SAAS,EAAC,sBAAsB,eACrB,MAAM,CAAC,IAAI,iBACV,sBAAsB,YAElC,KAAC,UAAU,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAI,GAC5B,EACP,gBAAM,SAAS,EAAC,sBAAsB,iBAAa,sBAAsB,aACvE,eACE,SAAS,EAAC,uBAAuB,iBACrB,uBAAuB,YAElC,MAAM,CAAC,KAAK,GACR,EACP,eACE,SAAS,EAAC,wBAAwB,iBACtB,wBAAwB,YAEnC,YAAY,CAAC,MAAM,CAAC,GAChB,EACP,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAI,EAC7D,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrC,2BAAe,yBAAyB,YAAE,MAAM,CAAC,OAAO,GAAK,CAC9D,IACI,IACA,CACV,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,OAAO,GAKR;IACC,MAAM,MAAM,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,CAAC,OAAO,EAAE,cAAc,KAAK,UAAU,EAAE,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,CACL,cAAK,SAAS,EAAC,qBAAqB,iBAAa,uBAAuB,YACtE,yBACG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;gBACzB,MAAM,WAAW,GACf,SAAS,KAAK,SAAS;oBACvB,MAAM,IAAI,SAAS;oBACnB,MAAM,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;gBACnC,OAAO,CACL,gBAEE,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC9C,SAAS,EACP,WAAW;wBACT,CAAC,CAAC,sDAAsD;wBACxD,CAAC,CAAC,sBAAsB,iBAG1B,WAAW;wBACT,CAAC,CAAC,kCAAkC;wBACpC,CAAC,CAAC,wBAAwB,aAG9B,eACE,SAAS,EAAC,wBAAwB,iBACtB,+BAA+B,YAE1C,MAAM,GACF,EACP,yBAAO,IAAI,IAAI,GAAG,GAAQ,KAnBrB,MAAM,CAoBN,CACR,CAAC;YACJ,CAAC,CAAC,GACG,GACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,MAAM,EACN,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,GAQP;IACC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAA6B,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAqB,KAAK,CAAC,CAAC;IAC5D,MAAM,QAAQ,GACZ,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;QACpD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACjB,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CACtC,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,CACrE,CAAC;IACF,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,UAAU,EAAE,OAAO,CAAC;IAC/D,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,UAAU,EAAE,SAAS,CAAC;IAE7D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IACE,MAAM,CAAC,IAAI,KAAK,SAAS;YACzB,SAAS,KAAK,IAAI;YAClB,CAAC,iBAAiB,CAAC,OAAO;YAE1B,OAAO;QACT,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CACnD,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,CACL,MAAM,CAAC,KAAK,CAAC,QAAQ;gBACnB,MAAM,CAAC,KAAK,CAAC,kBAAkB;gBAC/B,iBAAiB,CAAC,yBAAyB;gBAC3C,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,KAAK,CACV,CAAC;QACJ,CAAC,EACD,CAAC,OAAgB,EAAE,EAAE,CACnB,KAAK,IAAI,eAAe,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAC9D,CAAC;QACF,OAAO,GAAG,EAAE;YACV,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,iBAAiB,CAAC,OAAO;QACzB,iBAAiB,CAAC,yBAAyB;QAC3C,SAAS;QACT,MAAM,CAAC,EAAE;QACT,MAAM,CAAC,IAAI;QACX,SAAS;KACV,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,iBAAa,kBAAkB,aACjE,eACE,SAAS,EAAC,2BAA2B,iBACzB,uBAAuB,aAEnC,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,2BAA2B,iBACzB,uBAAuB,gBACxB,oGAAoB,EAC/B,KAAK,EAAC,oGAAoB,EAC1B,OAAO,EAAE,MAAM,YAEf,cAAK,OAAO,EAAC,WAAW,iBAAa,MAAM,YACzC,eAAM,CAAC,EAAC,2BAA2B,GAAG,GAClC,GACC,EACT,eACE,SAAS,EAAC,2BAA2B,iBACzB,uBAAuB,YAEnC,KAAC,UAAU,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAI,GAC5B,EACP,eACE,SAAS,EAAC,4BAA4B,iBAC1B,wBAAwB,YAEnC,MAAM,CAAC,KAAK,GACR,EACN,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CACvD,gBACE,SAAS,EAAC,wBAAwB,iBACtB,0BAA0B,aAEtC,iBACE,IAAI,EAAC,QAAQ,iBACD,mCAAmC,kBACjC,IAAI,KAAK,UAAU,EACjC,QAAQ,EAAE,CAAC,OAAO,CAAC,kBAAkB,EACrC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,yBAG3B,EACT,iBACE,IAAI,EAAC,QAAQ,iBACD,8BAA8B,kBAC5B,IAAI,KAAK,KAAK,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,oBAGtB,IACJ,CACR,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAClC,YACE,SAAS,EAAC,2BAA2B,iBACzB,uBAAuB,EACnC,IAAI,EAAE,QAAQ,EACd,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,2DAGvB,CACL,IACG,EACN,cACE,SAAS,EAAC,6BAA6B,iBAC3B,yBAAyB,YAEpC,YAAY,CAAC,MAAM,CAAC,GACjB,EACN,eACE,SAAS,EAAC,2BAA2B,iBACzB,uBAAuB,aAEnC,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAI,EAC7D,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAChE,YACE,SAAS,EAAC,4BAA4B,iBAC1B,0BAA0B,wHAGpC,CACL,CAAC,CAAC,CAAC,IAAI,EACP,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,CACvB,YACE,SAAS,EAAC,4BAA4B,iBAC1B,wBAAwB,YAEnC,YAAY,GACX,CACL,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAClB,8BACG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CACnB,YACE,SAAS,EAAC,wBAAwB,iBACtB,6BAA6B,0QAGvC,CACL,CAAC,CAAC,CAAC,IAAI,EACP,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChC,aACE,SAAS,EAAC,uBAAuB,iBACrB,yBAAyB,mCAElB,SAAS,EAC3B,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;wCAC7C,CAAC,CAAC,IAAI,OAAO,EAAE;wCACf,CAAC,CAAC,EAAE,EACL,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CACrB,iBACE,IAAI,EAAC,QAAQ,iBACD,4BAA4B,EACxC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,yBAGtB,CACV,CAAC,CAAC,CAAC,IAAI,IACN,CACL,EACA,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACnD,cACE,SAAS,EAAC,0BAA0B,iBACxB,4BAA4B,YAExC,KAAC,QAAQ,IAAC,IAAI,EAAE,OAAO,CAAC,OAAO,GAAI,GAC/B,CACP,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,IACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GAChB,CACH,IACA,CACJ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAC9B,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAC7B,YACE,SAAS,EAAC,4BAA4B,iBAC1B,0BAA0B,sNAGpC,CACL,CAAC,CAAC,CAAC,CACF,2BAAe,0BAA0B,YAAE,MAAM,CAAC,OAAO,GAAK,CAC/D,CACF,CAAC,CAAC,CAAC,IAAI,EACR,aACE,SAAS,EAAC,iCAAiC,iBAC/B,6BAA6B,aAEzC,kGAAmB,MAAM,CAAC,OAAO,CAAC,MAAM,mCAAe,EACvD,yBAAO,MAAM,CAAC,QAAQ,GAAQ,IAC5B,IACA,IACF,CACP,CAAC;AACJ,CAAC;AAkBD,kEAAkE;AAClE,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,OAAO,EACP,WAAW,EACX,aAAa,GAAG,IAAI,EACpB,MAAM,GAAG,KAAK,EACd,SAAS,GACW;IACpB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,aAAa,EAAE,EAAE,IAAI,IAAI,CAC1B,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAChB,CAAC;IACF,MAAM,MAAM,GACV,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC;YACjD,CAAC,aAAa,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,OAAO,CAAC,WAAW;YACtB,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;QACxD,KAAK,MAAM,MAAM,IAAI,OAAO;YAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,GAAG;YACH,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;YACvB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACnC,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,iBAAa,kBAAkB,aAChE,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAC3D,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,iBACxB,qBAAqB,EACjC,OAAO,EAAE,SAAS,0FAGX,CACV,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,eAAK,SAAS,EAAC,sBAAsB,iBAAa,iBAAiB,aAChE,CAAC,QAAQ,CAAC,CAAC,CAAC,CACX,aACE,SAAS,EAAC,4BAA4B,iBAC1B,uBAAuB,mUAGlC,iBAAiB,EAAE,MAAM,IAAI,CAAC,UAC7B,CACL,CAAC,CAAC,CAAC,IAAI,EAWP,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAClC,YAAG,SAAS,EAAC,uBAAuB,iBAAa,kBAAkB,0oDAO/D,CACL,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;wBACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;4BACrC,CAAC,CAAC,KAAK,CAAC,OAAO;4BACf,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;wBAChE,OAAO,CACL,mBAEE,SAAS,EAAC,uBAAuB,iBACpB,oBAAoB,KAAK,CAAC,GAAG,EAAE,aAE5C,yBACG,KAAK,CAAC,KAAK,EACZ,8BAAkB,wBAAwB,YACvC,KAAK,CAAC,OAAO,CAAC,MAAM,GAChB,IACJ,EACJ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,YAAY,IAEX,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAC1C,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAH/B,MAAM,CAAC,EAAE,CAId,CACH,CAAC,EACD,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CACvC,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,sBAAsB,iBACpB,iBAAiB,EAC7B,OAAO,EAAE,GAAG,EAAE,CACZ,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qFAGlC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAC5C,CACV,CAAC,CAAC,CAAC,IAAI,KA7BH,KAAK,CAAC,GAAG,CA8BN,CACX,CAAC;oBACJ,CAAC,CAAC,IACE,CACP,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,IACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,WAAW,EAC9B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAC1C,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAC/B,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"QaSourcesPanel.js","sourceRoot":"","sources":["../../../src/client/components/QaSourcesPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { sourcePreviewFailureCopy } from "../source-preview.js";
4
+ /** Read-only cells, with explicit paging on both axes and no formula execution. */
5
+ export function QaSpreadsheetPreview({ initial, load, }) {
6
+ const [preview, setPreview] = useState(initial);
7
+ const [busy, setBusy] = useState(false);
8
+ const [failure, setFailure] = useState("");
9
+ const generation = useRef(0);
10
+ useEffect(() => {
11
+ generation.current += 1;
12
+ setPreview(initial);
13
+ setBusy(false);
14
+ setFailure("");
15
+ return () => {
16
+ generation.current += 1;
17
+ };
18
+ }, [initial]);
19
+ const { page, inventory } = preview;
20
+ const open = async (selection) => {
21
+ const current = ++generation.current;
22
+ setBusy(true);
23
+ setFailure("");
24
+ try {
25
+ const next = await load(selection);
26
+ if (generation.current === current)
27
+ setPreview(next);
28
+ }
29
+ catch (error) {
30
+ if (generation.current === current)
31
+ setFailure(sourcePreviewFailureCopy(error));
32
+ }
33
+ finally {
34
+ if (generation.current === current)
35
+ setBusy(false);
36
+ }
37
+ };
38
+ const move = (startRow, startColumn) => {
39
+ void open({ sheet: page.sheet.name, startRow, startColumn });
40
+ };
41
+ const columns = page.rows[0]?.cells ?? [];
42
+ return (_jsxs("section", { className: "dsh-qa-sheet", "data-testid": "qa-spreadsheet-preview", "aria-label": `Таблица ${preview.name}`, "aria-busy": busy, children: [_jsxs("div", { className: "dsh-qa-sheet__controls", children: [_jsxs("label", { children: ["\u041B\u0438\u0441\u0442", " ", _jsx("select", { "aria-label": "\u041B\u0438\u0441\u0442 \u043A\u043D\u0438\u0433\u0438", value: page.sheet.name, disabled: busy, onChange: (event) => {
43
+ void open({
44
+ sheet: event.target.value,
45
+ startRow: 1,
46
+ startColumn: 1,
47
+ });
48
+ }, children: inventory.sheets.map((sheet) => (_jsxs("option", { value: sheet.name, children: [sheet.name, sheet.state === "visible" ? "" : " (скрытый)"] }, sheet.name))) })] }), _jsxs("span", { children: [page.sheet.rows, " \u0441\u0442\u0440\u043E\u043A \u00B7 ", page.sheet.columns, " \u043A\u043E\u043B\u043E\u043D\u043E\u043A"] })] }), _jsxs("div", { className: "dsh-qa-sheet__controls", "aria-label": "\u041D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \u043F\u043E \u0442\u0430\u0431\u043B\u0438\u0446\u0435", children: [_jsx("button", { type: "button", disabled: busy || page.startRow <= 1, onClick: () => move(Math.max(1, page.startRow - 40), page.startColumn), children: "\u2191 \u0421\u0442\u0440\u043E\u043A\u0438" }), _jsx("button", { type: "button", disabled: busy || page.nextRow === null, onClick: () => move(page.nextRow ?? 1, page.startColumn), children: "\u2193 \u0421\u0442\u0440\u043E\u043A\u0438" }), _jsx("button", { type: "button", disabled: busy || page.startColumn <= 1, onClick: () => move(page.startRow, Math.max(1, page.startColumn - 12)), children: "\u2190 \u041A\u043E\u043B\u043E\u043D\u043A\u0438" }), _jsx("button", { type: "button", disabled: busy || page.nextColumn === null, onClick: () => move(page.startRow, page.nextColumn ?? 1), children: "\u041A\u043E\u043B\u043E\u043D\u043A\u0438 \u2192" }), _jsx("span", { children: page.rows.length === 0
49
+ ? "Пустой лист"
50
+ : `${columns[0]?.address ?? ""}–${page.rows.at(-1)?.cells.at(-1)?.address ?? ""}` })] }), _jsx("p", { className: "dsh-qa-sheet__note", children: "\u0424\u043E\u0440\u043C\u0443\u043B\u044B: \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u0431\u0435\u0437 \u043F\u0435\u0440\u0435\u0441\u0447\u0451\u0442\u0430. \u0424\u043E\u0440\u043C\u0443\u043B\u0430 \u0432\u0438\u0434\u043D\u0430 \u043F\u0440\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u0438\u0438 \u043D\u0430 \u044F\u0447\u0435\u0439\u043A\u0443. \u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435, \u0433\u0440\u0430\u0444\u0438\u043A\u0438 \u0438 \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435 \u044F\u0447\u0435\u0435\u043A \u043D\u0435 \u0432\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u043E\u0434\u044F\u0442\u0441\u044F." }), failure === "" ? null : _jsx("p", { role: "alert", children: failure }), busy ? _jsx("p", { role: "status", children: "\u0427\u0438\u0442\u0430\u044E \u044F\u0447\u0435\u0439\u043A\u0438\u2026" }) : null, _jsx("div", { className: "dsh-qa-sheet__scroll", children: _jsxs("table", { children: [_jsx("caption", { className: "dsh-qa-sheet__caption", children: page.sheet.name }), _jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { scope: "col", children: "\u2116" }), columns.map((cell) => (_jsx("th", { scope: "col", children: cell.address.replace(/\d+$/u, "") }, cell.address)))] }) }), _jsx("tbody", { children: page.rows.map((row) => (_jsxs("tr", { children: [_jsx("th", { scope: "row", children: row.row }), row.cells.map((cell) => (_jsx("td", { "data-type": cell.type, title: `${cell.address}${cell.formula === undefined ? "" : `: =${cell.formula}`}${cell.numberFormat === undefined ? "" : ` (${cell.numberFormat})`}`, children: cell.value === null
51
+ ? ""
52
+ : cell.type === "date" && typeof cell.value === "string"
53
+ ? cell.value.replace(/T00:00:00\.000Z$/u, "")
54
+ : String(cell.value) }, cell.address)))] }, row.row))) })] }) })] }));
55
+ }
56
+ //# sourceMappingURL=QaSpreadsheetPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QaSpreadsheetPreview.js","sourceRoot":"","sources":["../../../src/client/components/QaSpreadsheetPreview.tsx"],"names":[],"mappings":"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"}
@@ -3,13 +3,13 @@ import { useCallback, useEffect, useRef, useState, } from "react";
3
3
  import { createPortal } from "react-dom";
4
4
  import { focusable } from "../focus-ring.js";
5
5
  /** Bump when the notice changes materially and must be acknowledged again. */
6
- export const QA_WELCOME_NOTICE_VERSION = "2026-09-12.1";
6
+ export const QA_WELCOME_NOTICE_VERSION = "2026-10-11.1";
7
7
  export const QA_WELCOME_NOTICE_COPY = Object.freeze({
8
8
  title: "Перед началом тестирования",
9
9
  paragraphs: Object.freeze([
10
10
  "Этот помощник разработан не с нуля: он основан на DeepSeek Harness. Платформа находится в preview, поэтому возможны ошибки, нестабильная работа и изменения поведения.",
11
11
  "На этапе тестирования заданные вопросы и полученные ответы будут анализироваться для повышения качества помощника. Пожалуйста, задавайте преимущественно вопросы, связанные с работой.",
12
- "Помощник использует локальные модели. Данные обрабатываются внутри контура и никуда за его пределы не передаются.",
12
+ "Помощник использует провайдер модели, выбранный для этого развёртывания. При выборе внешнего провайдера ему отправляются запрос и контекст разговора, включая содержимое прочитанных источников. Уточните у оператора, какие данные разрешено передавать выбранному провайдеру.",
13
13
  ]),
14
14
  continueLabel: "Понятно, продолжить",
15
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"QaWelcomeNotice.js","sourceRoot":"","sources":["../../../src/client/components/QaWelcomeNotice.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaWelcomeNotice.js","sourceRoot":"","sources":["../../../src/client/components/QaWelcomeNotice.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,4BAA4B;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QACxB,wKAAwK;QACxK,wLAAwL;QACxL,iRAAiR;KAClR,CAAC;IACF,aAAa,EAAE,qBAAqB;CACrC,CAAC,CAAC;AAcH,MAAM,6BAA6B,GAAG,6BAA6B,CAAC;AAEpE,SAAS,YAAY,CAAC,OAAoB,EAAE,GAAW;IACrD,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,yBAAyB,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CACtD,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAC9C,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,SAAS,CAAC,OAAO;YAAE,OAAO;QAC9B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc;YAAE,QAAQ,EAAE,CAAC;IACjC,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc;YAAE,OAAO;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,EAAE,KAAK,CAAC;QAChC,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3C,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAChC,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,CAAC,KAAK,GAAG,QAAQ,IAAI,KAAK,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,CAAC;YACH,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,6BAA6B,EAAE;YAC7C,MAAM,EAAE,KAAK,CAAC,UAAU;SACzB,CAAC,CACH,CAAC;QACF,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,KAAoC,EAAE,EAAE;QACpE,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACvD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,EAAE,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC9D,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,EAAE,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,cAAc;QAAE,OAAO,IAAI,CAAC;IAEhC,OAAO,YAAY,CACjB,cACE,SAAS,EAAC,mBAAmB,iBACjB,oBAAoB,EAChC,SAAS,EAAE,QAAQ,YAEnB,eACE,GAAG,EAAE,MAAM,EACX,SAAS,EAAC,0BAA0B,iBACxB,0BAA0B,EACtC,IAAI,EAAC,QAAQ,gBACF,MAAM,qBACD,yBAAyB,sBACxB,+BAA+B,EAChD,QAAQ,EAAE,CAAC,CAAC,aAEZ,cAAK,SAAS,EAAC,yBAAyB,iBAAa,MAAM,YACzD,eAAK,OAAO,EAAC,WAAW,aACtB,eAAM,CAAC,EAAC,qCAAqC,GAAG,EAChD,eAAM,CAAC,EAAC,sBAAsB,GAAG,IAC7B,GACF,EACN,eACE,SAAS,EAAC,4BAA4B,iBAC1B,4BAA4B,aAExC,aACE,EAAE,EAAC,yBAAyB,EAC5B,SAAS,EAAC,0BAA0B,iBACxB,0BAA0B,YAErC,sBAAsB,CAAC,KAAK,GAC1B,EACL,cACE,EAAE,EAAC,+BAA+B,EAClC,SAAS,EAAC,gCAAgC,iBAC9B,gCAAgC,YAE3C,sBAAsB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CACpD,sBAAoB,SAAS,IAArB,SAAS,CAAiB,CACnC,CAAC,GACE,EACN,cACE,SAAS,EAAC,4BAA4B,iBAC1B,4BAA4B,YAExC,iBACE,GAAG,EAAE,cAAc,EACnB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,6BAA6B,iBAC3B,6BAA6B,EACzC,OAAO,EAAE,OAAO,YAEf,sBAAsB,CAAC,aAAa,GAC9B,GACL,IACF,IACF,GACF,EACN,QAAQ,CAAC,IAAI,CACd,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CACtD,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAC9C,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE;YAC1C,IAAI,KAAK,YAAY,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;gBACtE,eAAe,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,kBAAkB,CAAC,CAAC;QAC3E,OAAO,GAAG,EAAE,CACV,MAAM,CAAC,mBAAmB,CACxB,6BAA6B,EAC7B,kBAAkB,CACnB,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,OAAO;YAAE,OAAO;QACjD,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnB,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { QaSpreadsheetPreview } from "./QaSpreadsheetPreview.js";
2
3
  import { useCallback, useEffect, useRef, useState } from "react";
3
4
  import { formatFileSize } from "../attachments.js";
4
5
  import { base64ToBytes } from "../base64.js";
5
- import { downloadWorkspaceFile, fileNameOf } from "../workspace-download.js";
6
- import { isConvertibleDocument } from "../../shared/documents.js";
6
+ import { downloadWorkspaceFile, downloadWorkspacePath, fileNameOf, } from "../workspace-download.js";
7
+ import { isPreviewableDocument } from "../../shared/documents.js";
7
8
  import { sourcePreviewFailureCopy } from "../source-preview.js";
8
9
  import { Markdown } from "./Markdown.js";
9
10
  import { QaModal } from "./QaModal.js";
@@ -35,7 +36,7 @@ function EntryRow({ entry, directory, onOpenFile, onOpenDirectory, }) {
35
36
  * closes. A blob URL is what lets the browser's own viewer draw the document
36
37
  * without the bytes ever leaving the page.
37
38
  */
38
- function usePdfUrl(payload) {
39
+ export function usePdfUrl(payload) {
39
40
  const [url, setUrl] = useState(null);
40
41
  useEffect(() => {
41
42
  if (payload === undefined) {
@@ -55,11 +56,13 @@ function usePdfUrl(payload) {
55
56
  * image inline, a PDF through the browser's viewer, Markdown or plain text, and
56
57
  * anything else as an honest handle rather than a guess in the wrong alphabet.
57
58
  */
58
- function FileBody({ file, raw, converted, converting, conversionFailure, }) {
59
+ function FileBody({ file, raw, converted, converting, conversionFailure, loadSpreadsheet, }) {
59
60
  const nativePdf = file.mime === "application/pdf" && !file.truncated
60
61
  ? file.base64
61
62
  : undefined;
62
- const pdf = usePdfUrl(converted?.base64 ?? nativePdf);
63
+ const pdf = usePdfUrl((converted?.kind === "pdf" ? converted.base64 : undefined) ?? nativePdf);
64
+ if (converted?.kind === "spreadsheet")
65
+ return _jsx(QaSpreadsheetPreview, { initial: converted, load: loadSpreadsheet });
63
66
  if (file.mime.startsWith("image/") && file.base64 !== undefined) {
64
67
  return (_jsx("img", { className: "dsh-qa-ws__image", "data-testid": "qa-surface-workspace-image", alt: fileNameOf(file.path), src: `data:${file.mime};base64,${file.base64}` }));
65
68
  }
@@ -70,7 +73,7 @@ function FileBody({ file, raw, converted, converting, conversionFailure, }) {
70
73
  return (_jsx("p", { className: "dsh-qa-ws__status", "data-testid": "qa-surface-workspace-status", children: "\u0413\u043E\u0442\u043E\u0432\u043B\u044E \u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u2026" }));
71
74
  }
72
75
  if (file.text === undefined) {
73
- return (_jsx("p", { className: "dsh-qa-ws__status", "data-testid": "qa-surface-workspace-status", children: isConvertibleDocument(file.mime)
76
+ return (_jsx("p", { className: "dsh-qa-ws__status", "data-testid": "qa-surface-workspace-status", children: isPreviewableDocument(file.mime)
74
77
  ? conversionFailure
75
78
  : file.truncated
76
79
  ? "Файл больше предела предпросмотра — показана только его часть."
@@ -82,11 +85,11 @@ function FileBody({ file, raw, converted, converting, conversionFailure, }) {
82
85
  return (_jsx("pre", { className: "dsh-qa-ws__text", "data-testid": "qa-surface-workspace-text", children: file.text }));
83
86
  }
84
87
  /** The opened file in the rail: chrome, the read/write toggles, and the body. */
85
- function FilePreview({ file, status, raw, converted, converting, conversionFailure, onToggleRaw, onBack, onExpand, }) {
88
+ function FilePreview({ file, status, raw, converted, converting, conversionFailure, loadSpreadsheet, onToggleRaw, onBack, onExpand, onDownload, }) {
86
89
  if (status !== "ready" || file === undefined) {
87
90
  return (_jsxs("div", { className: "dsh-qa-ws__preview", "data-testid": "qa-surface-workspace-preview", children: [_jsx("button", { type: "button", className: "dsh-qa-ws__back", "data-testid": "qa-surface-workspace-back", onClick: onBack, children: "\u2190 \u041A \u0444\u0430\u0439\u043B\u0430\u043C" }), _jsx("p", { className: "dsh-qa-ws__status", "data-testid": "qa-surface-workspace-status", children: status === "loading" ? "Открываю файл…" : "Файл недоступен." })] }));
88
91
  }
89
- return (_jsxs("div", { className: "dsh-qa-ws__preview", "data-testid": "qa-surface-workspace-preview", children: [_jsxs("div", { className: "dsh-qa-ws__preview-head", "data-testid": "qa-surface-workspace-preview-head", children: [_jsx("button", { type: "button", className: "dsh-qa-ws__back", "data-testid": "qa-surface-workspace-back", onClick: onBack, children: "\u2190 \u041A \u0444\u0430\u0439\u043B\u0430\u043C" }), _jsx("span", { className: "dsh-qa-ws__preview-name", "data-testid": "qa-surface-workspace-preview-name", title: file.path, children: fileNameOf(file.path) }), _jsx("button", { type: "button", className: "dsh-qa-ws__expand", "data-testid": "qa-surface-workspace-expand", "aria-label": "\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0444\u0430\u0439\u043B", title: "\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C", onClick: onExpand, children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "M5.5 2.25H2.25v3.25m6.25-3.25h3.25v3.25m0 3.25v3.25H8.5m-6.25-3.25v3.25h3.25" }) }) }), _jsx("button", { type: "button", className: "dsh-qa-ws__download", "data-testid": "qa-surface-workspace-download", onClick: () => downloadWorkspaceFile(file), children: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C" })] }), _jsxs("p", { className: "dsh-qa-ws__meta", "data-testid": "qa-surface-workspace-meta", children: [formatFileSize(file.size), file.truncated ? " · показана только часть файла" : ""] }), file.markdown && file.renderableMarkdown ? (_jsx("button", { type: "button", className: "dsh-qa-ws__toggle", "data-testid": "qa-surface-workspace-raw-toggle", "aria-pressed": raw, onClick: onToggleRaw, children: raw ? "Показать разметкой" : "Показать исходником" })) : null, _jsx(FileBody, { file: file, raw: raw, converted: converted, converting: converting, conversionFailure: conversionFailure })] }));
92
+ return (_jsxs("div", { className: "dsh-qa-ws__preview", "data-testid": "qa-surface-workspace-preview", children: [_jsxs("div", { className: "dsh-qa-ws__preview-head", "data-testid": "qa-surface-workspace-preview-head", children: [_jsx("button", { type: "button", className: "dsh-qa-ws__back", "data-testid": "qa-surface-workspace-back", onClick: onBack, children: "\u2190 \u041A \u0444\u0430\u0439\u043B\u0430\u043C" }), _jsx("span", { className: "dsh-qa-ws__preview-name", "data-testid": "qa-surface-workspace-preview-name", title: file.path, children: fileNameOf(file.path) }), _jsx("button", { type: "button", className: "dsh-qa-ws__expand", "data-testid": "qa-surface-workspace-expand", "aria-label": "\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0444\u0430\u0439\u043B", title: "\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C", onClick: onExpand, children: _jsx("svg", { viewBox: "0 0 14 14", "aria-hidden": "true", children: _jsx("path", { d: "M5.5 2.25H2.25v3.25m6.25-3.25h3.25v3.25m0 3.25v3.25H8.5m-6.25-3.25v3.25h3.25" }) }) }), _jsx("button", { type: "button", className: "dsh-qa-ws__download", "data-testid": "qa-surface-workspace-download", onClick: onDownload, children: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C" })] }), _jsxs("p", { className: "dsh-qa-ws__meta", "data-testid": "qa-surface-workspace-meta", children: [formatFileSize(file.size), file.truncated ? " · показана только часть файла" : ""] }), file.markdown && file.renderableMarkdown ? (_jsx("button", { type: "button", className: "dsh-qa-ws__toggle", "data-testid": "qa-surface-workspace-raw-toggle", "aria-pressed": raw, onClick: onToggleRaw, children: raw ? "Показать разметкой" : "Показать исходником" })) : null, _jsx(FileBody, { file: file, raw: raw, converted: converted, converting: converting, conversionFailure: conversionFailure, loadSpreadsheet: loadSpreadsheet })] }));
90
93
  }
91
94
  /**
92
95
  * The chat's own workspace, browsable from the files rail.
@@ -96,7 +99,7 @@ function FilePreview({ file, status, raw, converted, converting, conversionFailu
96
99
  * the visitor out of the chat's tree. Opening a file reads exactly that file —
97
100
  * text inline, anything else as a downloadable handle.
98
101
  */
99
- export function QaWorkspaceBrowser({ sessionId, api, initialFile, }) {
102
+ export function QaWorkspaceBrowser({ sessionId, api, initialFile, materialsOnly, }) {
100
103
  const [directory, setDirectory] = useState("");
101
104
  const [entries, setEntries] = useState([]);
102
105
  const [truncated, setTruncated] = useState(false);
@@ -108,10 +111,16 @@ export function QaWorkspaceBrowser({ sessionId, api, initialFile, }) {
108
111
  const [converted, setConverted] = useState(undefined);
109
112
  const [converting, setConverting] = useState(false);
110
113
  const [conversionFailure, setConversionFailure] = useState("");
114
+ const [downloadFailure, setDownloadFailure] = useState("");
111
115
  const [raw, setRaw] = useState(false);
112
116
  const [expanded, setExpanded] = useState(false);
113
117
  const generation = useRef(0);
114
118
  useEffect(() => {
119
+ if (materialsOnly) {
120
+ setListStatus("ready");
121
+ setEntries([]);
122
+ return;
123
+ }
115
124
  const current = generation.current + 1;
116
125
  generation.current = current;
117
126
  setListStatus("loading");
@@ -132,7 +141,7 @@ export function QaWorkspaceBrowser({ sessionId, api, initialFile, }) {
132
141
  setListFailure(sourcePreviewFailureCopy(failure));
133
142
  setListStatus("refused");
134
143
  });
135
- }, [api, directory, sessionId]);
144
+ }, [api, directory, sessionId, materialsOnly]);
136
145
  /**
137
146
  * Ask the Host for a renderable copy when the bytes themselves are not
138
147
  * drawable — a Word document arrives as the PDF the document pipeline made of
@@ -182,7 +191,7 @@ export function QaWorkspaceBrowser({ sessionId, api, initialFile, }) {
182
191
  if (result.ok) {
183
192
  setFile(result.value);
184
193
  setFileStatus("ready");
185
- if (isConvertibleDocument(result.value.mime))
194
+ if (isPreviewableDocument(result.value.mime))
186
195
  convert(path);
187
196
  }
188
197
  else {
@@ -210,13 +219,38 @@ export function QaWorkspaceBrowser({ sessionId, api, initialFile, }) {
210
219
  arrivalOpened.current = true;
211
220
  openFile(initialFile);
212
221
  }, [initialFile, openFile]);
222
+ const loadSpreadsheet = async (selection) => {
223
+ if (opened === null)
224
+ throw new Error("unavailable");
225
+ const result = await api.previewWorkspaceDocument(sessionId, opened, selection);
226
+ if (!result.ok)
227
+ throw result.error;
228
+ if (result.value.kind !== "spreadsheet")
229
+ throw new Error("unsupported");
230
+ return result.value;
231
+ };
213
232
  if (opened !== null) {
214
233
  const closeFile = () => {
215
234
  setOpened(null);
216
235
  setFile(undefined);
217
236
  setExpanded(false);
218
237
  };
219
- return (_jsxs("div", { className: "dsh-qa-ws", "data-testid": "qa-surface-workspace", children: [_jsx(FilePreview, { file: file, status: fileStatus, raw: raw, converted: converted, converting: converting, conversionFailure: conversionFailure, onToggleRaw: () => setRaw((value) => !value), onBack: closeFile, onExpand: () => setExpanded(true) }), _jsx(QaModal, { open: expanded && file !== undefined, size: "document", title: file === undefined ? "" : fileNameOf(file.path), closeLabel: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B", onClose: () => setExpanded(false), children: _jsxs("div", { className: "dsh-qa-ws__expanded", "data-testid": "qa-surface-workspace-expanded", children: [_jsxs("p", { className: "dsh-qa-ws__meta", "data-testid": "qa-surface-workspace-expanded-meta", children: [formatFileSize(file?.size ?? 0), file?.truncated === true ? " · показана только часть файла" : ""] }), file === undefined ? null : (_jsx(FileBody, { file: file, raw: raw, converted: converted, converting: converting, conversionFailure: conversionFailure }))] }) })] }));
238
+ return (_jsxs("div", { className: "dsh-qa-ws", "data-testid": "qa-surface-workspace", children: [_jsx(FilePreview, { file: file, status: fileStatus, raw: raw, converted: converted, converting: converting, conversionFailure: conversionFailure, loadSpreadsheet: loadSpreadsheet, onToggleRaw: () => setRaw((value) => !value), onBack: closeFile, onExpand: () => setExpanded(true), onDownload: () => {
239
+ if (file === undefined)
240
+ return;
241
+ setDownloadFailure("");
242
+ const download = api.readWorkspaceFileChunk;
243
+ if (download === undefined) {
244
+ try {
245
+ downloadWorkspaceFile(file);
246
+ }
247
+ catch {
248
+ setDownloadFailure("Полное скачивание файла недоступно.");
249
+ }
250
+ return;
251
+ }
252
+ void downloadWorkspacePath(file.path, (offset, version) => download(sessionId, file.path, offset, version)).catch(() => setDownloadFailure("Не удалось скачать файл целиком. Повторите скачивание."));
253
+ } }), downloadFailure === "" ? null : (_jsx("p", { role: "status", "data-testid": "qa-workspace-download-error", children: downloadFailure })), _jsx(QaModal, { open: expanded && file !== undefined, size: "document", title: file === undefined ? "" : fileNameOf(file.path), closeLabel: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0444\u0430\u0439\u043B", onClose: () => setExpanded(false), children: _jsxs("div", { className: "dsh-qa-ws__expanded", "data-testid": "qa-surface-workspace-expanded", children: [_jsxs("p", { className: "dsh-qa-ws__meta", "data-testid": "qa-surface-workspace-expanded-meta", children: [formatFileSize(file?.size ?? 0), file?.truncated === true ? " · показана только часть файла" : ""] }), file === undefined ? null : (_jsx(FileBody, { file: file, raw: raw, converted: converted, converting: converting, conversionFailure: conversionFailure, loadSpreadsheet: loadSpreadsheet }))] }) })] }));
220
254
  }
221
255
  const crumbs = crumbsOf(directory);
222
256
  // The trail starts where the section heading stops: at the root the only
@@ -1 +1 @@
1
- {"version":3,"file":"QaWorkspaceBrowser.js","sourceRoot":"","sources":["../../../src/client/components/QaWorkspaceBrowser.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaWorkspaceBrowser.js","sourceRoot":"","sources":["../../../src/client/components/QaWorkspaceBrowser.tsx"],"names":[],"mappings":"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"}