@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
@@ -3,6 +3,7 @@ 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 { QaZoomImage } from "../components/QaZoomImage.js";
6
7
  import { renderTexToReact } from "./math.js";
7
8
  import { codeChip, linkChip, safeHref, } from "./source-chip.js";
8
9
  /**
@@ -17,8 +18,8 @@ import { codeChip, linkChip, safeHref, } from "./source-chip.js";
17
18
  * @returns The document's blocks, plus the footnote section when the document
18
19
  * references a defined footnote.
19
20
  */
20
- export function renderMarkdown(text, context, options = {}) {
21
- const { blocks, definitions, footnotes } = parseMarkdown(text, options);
21
+ export function renderMarkdown(text, context, options = {}, sourceLines) {
22
+ const { blocks, definitions, footnotes, ranges } = parseMarkdown(text, options);
22
23
  const pass = {
23
24
  ...context,
24
25
  definitions,
@@ -26,7 +27,22 @@ export function renderMarkdown(text, context, options = {}) {
26
27
  footnoteOrder: [],
27
28
  footnoteCounts: new Map(),
28
29
  };
29
- const elements = blocks.map((block, index) => renderBlock(block, `b${index}`, pass));
30
+ const elements = blocks.map((block, index) => {
31
+ const element = renderBlock(block, `b${index}`, pass);
32
+ const range = ranges[index];
33
+ if (sourceLines === undefined || range === undefined)
34
+ return element;
35
+ const start = range.start + sourceLines.offset;
36
+ const end = range.end + sourceLines.offset;
37
+ const highlighted = sourceLines.start !== undefined &&
38
+ end >= sourceLines.start &&
39
+ start <= (sourceLines.end ?? sourceLines.start);
40
+ return (_jsx("div", { "data-source-line-start": start, "data-source-line-end": end, className: highlighted
41
+ ? "dsh-qa-preview__block dsh-qa-preview__block--highlight"
42
+ : "dsh-qa-preview__block", "data-testid": highlighted
43
+ ? "qa-source-preview-block-highlight"
44
+ : "qa-source-preview-block", children: element }, `b${index}`));
45
+ });
30
46
  const footnotesSection = renderFootnoteSection(pass);
31
47
  return footnotesSection === null ? elements : [...elements, footnotesSection];
32
48
  }
@@ -133,22 +149,23 @@ function inlineNodes(nodes, key, context) {
133
149
  case "del":
134
150
  return (_jsx("del", { children: children(node.children, nodeKey, context) }, nodeKey));
135
151
  case "link": {
152
+ const chip = linkChip(node.href, plainText(node.children), context);
153
+ if (chip !== undefined)
154
+ return _jsx(Fragment, { children: chip }, nodeKey);
136
155
  const href = safeHref(node.href);
137
156
  if (href === undefined) {
138
157
  return (_jsx(Fragment, { children: children(node.children, nodeKey, context) }, nodeKey));
139
158
  }
140
- const chip = linkChip(href, plainText(node.children), context);
141
- if (chip !== undefined) {
142
- return _jsx(Fragment, { children: chip }, nodeKey);
143
- }
144
- return (_jsxs("a", { href: href, target: "_blank", rel: "noopener noreferrer", children: [_jsx(LinkGlyph, {}), children(node.children, nodeKey, context)] }, nodeKey));
159
+ return (_jsxs("a", { href: href, target: "_blank", rel: "noopener noreferrer", children: [_jsx(LinkGlyph, {}), children(node.children, nodeKey, { ...context, inLink: true })] }, nodeKey));
145
160
  }
146
161
  case "image": {
162
+ if (context.renderImage !== undefined)
163
+ return (_jsx(Fragment, { children: context.renderImage(node.src, node.alt) }, nodeKey));
147
164
  const src = remoteImage(node.src);
148
165
  if (src === undefined) {
149
166
  return (_jsx("span", { className: "dsh-qa-md-image-alt", "data-testid": "qa-md-image-alt", children: node.alt }, nodeKey));
150
167
  }
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));
168
+ return (_jsx(QaZoomImage, { className: "dsh-qa-md-image", testId: "qa-md-image", src: src, alt: node.alt, loading: "lazy", decoding: "async", referrerPolicy: "no-referrer", zoomable: context.inLink !== true }, nodeKey));
152
169
  }
153
170
  case "inlineMath":
154
171
  return (_jsx(Fragment, { children: renderTexToReact(node.value, false) }, nodeKey));
@@ -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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"}
@@ -31,14 +31,18 @@ export function codeChip(value, context) {
31
31
  }
32
32
  if (context.onSourceOpen === undefined)
33
33
  return undefined;
34
- return (_jsx(SourceChip, { source: source, label: sourceFileName(source), onOpen: context.onSourceOpen }));
34
+ return (_jsx(SourceChip, { source: source, label: sourceFileName(source) +
35
+ (/[#:](?:L)?\d+(?:-L?\d+)?$/u.exec(value)?.[0] ?? ""), onOpen: context.onSourceOpen }));
35
36
  }
36
37
  /** The chip a matched markdown link earns, or undefined when it matches none. */
37
38
  export function linkChip(href, label, context) {
39
+ const file = context.refs?.resolvePath(href);
40
+ if (file !== undefined && context.onSourceOpen !== undefined)
41
+ return (_jsx(SourceChip, { source: file, label: label || sourceFileName(file), onOpen: context.onSourceOpen }));
38
42
  const source = context.refs?.resolveUrl(href);
39
43
  if (source === undefined)
40
44
  return undefined;
41
- return (_jsx(SourceChip, { source: source, label: label || source.title, href: href }));
45
+ return (_jsx(SourceChip, { source: source, label: label || source.title, href: safeHref(source.uri ?? href) }));
42
46
  }
43
47
  /** http(s)/mailto destinations only; images are narrowed further to http(s). */
44
48
  export function safeHref(value) {
@@ -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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"}
@@ -64,23 +64,62 @@ export async function requestNotificationPermission() {
64
64
  return "denied";
65
65
  }
66
66
  }
67
- /** Live desktop notices; an unreferenced one is closed by the browser at once. */
68
- const retainedNotices = new Set();
69
- /**
70
- * Hand one finished turn to the desktop. Returns false when the platform
71
- * refuses: a notification that cannot be raised costs the reader nothing, and
72
- * the in-app line is already on its way.
73
- */
74
- export function raiseDesktopNotice(completion) {
67
+ /** One surface's desktop handles, retained until closed or retired. */
68
+ export class QaDesktopNotices {
69
+ handles = new Map();
70
+ retain(notice, sessionId, onOpen) {
71
+ let active = true;
72
+ const retire = () => {
73
+ active = false;
74
+ notice.onclick = null;
75
+ notice.removeEventListener?.("close", retire);
76
+ this.handles.delete(notice);
77
+ };
78
+ notice.onclick = () => {
79
+ if (!active)
80
+ return;
81
+ try {
82
+ window.focus();
83
+ onOpen?.(sessionId);
84
+ }
85
+ finally {
86
+ this.close(sessionId);
87
+ }
88
+ };
89
+ this.handles.set(notice, { sessionId, retire });
90
+ notice.addEventListener("close", retire);
91
+ }
92
+ /** Revoke callbacks even where the operating system refuses close(). */
93
+ close(sessionId) {
94
+ for (const [notice, handle] of this.handles) {
95
+ if (sessionId !== undefined && handle.sessionId !== sessionId)
96
+ continue;
97
+ handle.retire();
98
+ try {
99
+ notice.close();
100
+ }
101
+ catch {
102
+ /* Platform-owned history is best effort. */
103
+ }
104
+ }
105
+ }
106
+ keep(sessionIds) {
107
+ for (const handle of this.handles.values()) {
108
+ if (!sessionIds.has(handle.sessionId))
109
+ this.close(handle.sessionId);
110
+ }
111
+ }
112
+ }
113
+ const standaloneNotices = new QaDesktopNotices();
114
+ /** The session id stays in the callback, never in the desktop payload. */
115
+ export function raiseDesktopNotice(completion, onOpen, notices = standaloneNotices) {
75
116
  if (typeof Notification === "undefined")
76
117
  return false;
77
118
  try {
78
119
  const notice = new Notification(completion.title, {
79
120
  body: QA_TURN_NOTICE_BODY,
80
121
  });
81
- notice.onclick = () => window.focus();
82
- retainedNotices.add(notice);
83
- notice.addEventListener("close", () => retainedNotices.delete(notice));
122
+ notices.retain(notice, completion.sessionId, onOpen);
84
123
  return true;
85
124
  }
86
125
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"notification-dispatcher.js","sourceRoot":"","sources":["../../../src/client/notifications/notification-dispatcher.ts"],"names":[],"mappings":"AAkCA,sEAAsE;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,UAA4B,EAC5B,OAAwB;IAExB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,KAAK,eAAe,CAAC;IAC1D,IAAI,OAAO,CAAC,OAAO,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,OAAO,GACX,CAAC,OAAO,CAAC,OAAO;QAChB,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,OAAO;QAChB,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE;YACJ,GAAG,EAAE,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,EAAE,EAAE;YAC/C,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,KAAK,EAAE,UAAU,CAAC,KAAK;SACxB;QACD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,aAAa,GAAiD,QAAQ,EACtE,QAAQ,GAAkB,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;IAEnD,OAAO,aAAa,CAAC,eAAe,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;AACnE,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,0BAA0B;IACxC,IAAI,OAAO,YAAY,KAAK,WAAW;QAAE,OAAO,aAAa,CAAC;IAC9D,OAAO,YAAY,CAAC,UAAU,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B;IACjD,IAAI,OAAO,YAAY,KAAK,WAAW;QAAE,OAAO,aAAa,CAAC;IAC9D,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,UAAU,CAAC;IAC1E,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,CAAC,iBAAiB,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA4B;IAC7D,IAAI,OAAO,YAAY,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,EAAE;YAChD,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"notification-dispatcher.js","sourceRoot":"","sources":["../../../src/client/notifications/notification-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
- import { isPageFocused, planTurnNotice, raiseDesktopNotice, readNotificationPermission, requestNotificationPermission, } from "./notification-dispatcher.js";
1
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, } from "react";
2
+ import { QaDesktopNotices, isPageFocused, planTurnNotice, raiseDesktopNotice, readNotificationPermission, requestNotificationPermission, } from "./notification-dispatcher.js";
3
3
  import { readNotificationPrefs, resolveNoticeChannels, writeNotificationPrefs, } from "./preferences.js";
4
4
  import { scopeNoticesToOwnChats, settleTurnCompletions, } from "./turn-completion-source.js";
5
5
  /** Lines the stack holds; an older one is dropped rather than pushed away. */
6
6
  const MAX_NOTICES = 3;
7
+ const NO_NOTICES = Object.freeze([]);
7
8
  /**
8
9
  * Turn-completion notices for the chats this reader owns. Of the rows the
9
10
  * sidebar shows, only the ones this account owns outright are watched, and when
@@ -11,9 +12,21 @@ const MAX_NOTICES = 3;
11
12
  * is told in the channels they and the deployment allow.
12
13
  */
13
14
  export function useQaTurnNotifications(input) {
14
- const { chats, ownChatIds, notifications, storage, storageKey, account, paused, activeSessionId, onSwitch, } = input;
15
+ const { chats, principal, chatsReady = true, ownChatIds, notifications, storage, storageKey, account, paused, activeSessionId, onSwitch, } = input;
15
16
  const seen = useRef(new Map());
16
- const [items, setItems] = useState([]);
17
+ const [queue, setQueue] = useState(() => ({
18
+ principal,
19
+ epoch: {},
20
+ items: NO_NOTICES,
21
+ }));
22
+ // Adjust before commit: an effect alone would expose the previous reader's
23
+ // titles for the first committed frame of the replacement account.
24
+ if (queue.principal !== principal) {
25
+ setQueue({ principal, epoch: {}, items: NO_NOTICES });
26
+ }
27
+ const epoch = queue.epoch;
28
+ const [desktopNotices] = useState(() => new QaDesktopNotices());
29
+ const live = useRef();
17
30
  const [prefs, setPrefs] = useState(() => readNotificationPrefs(storage, storageKey));
18
31
  // Memoized because the watcher below re-runs on any change to it, and a fresh
19
32
  // object per render would have it re-reading the chat list on every keystroke.
@@ -25,6 +38,67 @@ export function useQaTurnNotifications(input) {
25
38
  setPrefs(next);
26
39
  writeNotificationPrefs(storage, storageKey, next);
27
40
  }, [storage, storageKey]);
41
+ const ownedIds = useMemo(() => new Set(ownedChats.map((chat) => chat.id)), [ownedChats]);
42
+ const authoritative = chatsReady && !paused;
43
+ const items = useMemo(() => queue.principal !== principal
44
+ ? NO_NOTICES
45
+ : authoritative &&
46
+ queue.items.some((item) => !ownedIds.has(item.sessionId))
47
+ ? queue.items.filter((item) => ownedIds.has(item.sessionId))
48
+ : queue.items, [queue, principal, authoritative, ownedIds]);
49
+ const desktopAllowed = notifications.enabled && notifications.allowOs && channels.desktop;
50
+ useLayoutEffect(() => {
51
+ seen.current.clear();
52
+ return () => {
53
+ live.current = undefined;
54
+ desktopNotices.close();
55
+ };
56
+ }, [epoch, desktopNotices]);
57
+ useLayoutEffect(() => {
58
+ live.current = {
59
+ epoch,
60
+ ids: ownedIds,
61
+ onSwitch,
62
+ enabled: notifications.enabled,
63
+ desktop: desktopAllowed,
64
+ };
65
+ if (!desktopAllowed)
66
+ desktopNotices.close();
67
+ if (authoritative)
68
+ desktopNotices.keep(ownedIds);
69
+ }, [
70
+ epoch,
71
+ ownedIds,
72
+ onSwitch,
73
+ notifications.enabled,
74
+ desktopAllowed,
75
+ desktopNotices,
76
+ authoritative,
77
+ ]);
78
+ const rewrite = useCallback((next) => {
79
+ if (live.current?.epoch !== epoch)
80
+ return;
81
+ setQueue((previous) => {
82
+ if (previous.epoch !== epoch)
83
+ return previous;
84
+ const items = next(previous.items);
85
+ return items === previous.items ? previous : { ...previous, items };
86
+ });
87
+ }, [epoch]);
88
+ const open = useCallback((sessionId) => {
89
+ const page = live.current;
90
+ if (page?.epoch !== epoch || !page.enabled || !page.ids.has(sessionId))
91
+ return;
92
+ rewrite((previous) => previous.filter((item) => item.sessionId !== sessionId));
93
+ desktopNotices.close(sessionId);
94
+ page.onSwitch(sessionId);
95
+ }, [epoch, rewrite, desktopNotices]);
96
+ useEffect(() => {
97
+ if (authoritative)
98
+ rewrite((previous) => previous.some((item) => !ownedIds.has(item.sessionId))
99
+ ? previous.filter((item) => ownedIds.has(item.sessionId))
100
+ : previous);
101
+ }, [authoritative, ownedIds, rewrite]);
28
102
  useEffect(() => {
29
103
  const completions = settleTurnCompletions(seen.current, ownedChats, {
30
104
  paused,
@@ -45,28 +119,37 @@ export function useQaTurnNotifications(input) {
45
119
  if (planned === null)
46
120
  continue;
47
121
  if (planned.desktop)
48
- raiseDesktopNotice(completion);
122
+ raiseDesktopNotice(completion, (sessionId) => {
123
+ if (live.current?.desktop)
124
+ open(sessionId);
125
+ }, desktopNotices);
49
126
  if (planned.inApp)
50
127
  added.push(planned.item);
51
128
  }
52
129
  if (added.length === 0)
53
130
  return;
54
- setItems((previous) => [...added.reverse(), ...previous].slice(0, MAX_NOTICES));
55
- }, [channels, activeSessionId, ownedChats, notifications, paused]);
131
+ const newestFirst = added.reverse();
132
+ rewrite((previous) => [...newestFirst, ...previous].slice(0, MAX_NOTICES));
133
+ }, [
134
+ channels,
135
+ activeSessionId,
136
+ ownedChats,
137
+ notifications,
138
+ paused,
139
+ epoch,
140
+ rewrite,
141
+ open,
142
+ desktopNotices,
143
+ ]);
56
144
  // Opening a chat by any other means is an answer to its notice.
57
145
  useEffect(() => {
58
146
  if (activeSessionId === null)
59
147
  return;
60
- setItems((previous) => previous.some((item) => item.sessionId === activeSessionId)
148
+ rewrite((previous) => previous.some((item) => item.sessionId === activeSessionId)
61
149
  ? previous.filter((item) => item.sessionId !== activeSessionId)
62
150
  : previous);
63
- }, [activeSessionId]);
64
- const open = useCallback((sessionId) => {
65
- setItems((previous) => previous.some((item) => item.sessionId === sessionId)
66
- ? previous.filter((item) => item.sessionId !== sessionId)
67
- : previous);
68
- onSwitch(sessionId);
69
- }, [onSwitch]);
151
+ desktopNotices.close(activeSessionId);
152
+ }, [activeSessionId, rewrite, desktopNotices]);
70
153
  // The offer is a single question per browser: asked when the desktop channel
71
154
  // is still allowed by the deployment, unanswered, and the browser has not
72
155
  // decided yet.
@@ -77,17 +160,23 @@ export function useQaTurnNotifications(input) {
77
160
  // Waving a notice off while the offer is on screen is the answer to the
78
161
  // offer too: it never returns to ask a second time.
79
162
  const dismiss = useCallback((key) => {
80
- setItems((previous) => previous.filter((item) => item.key !== key));
163
+ if (live.current?.epoch !== epoch)
164
+ return;
165
+ rewrite((previous) => previous.filter((item) => item.key !== key));
81
166
  if (offered)
82
167
  savePrefs({ ...prefs, osOffered: true });
83
- }, [offered, prefs, savePrefs]);
168
+ }, [epoch, offered, prefs, rewrite, savePrefs]);
84
169
  // Answering the offer writes the choice where it belongs: on the account once
85
170
  // there is one, so it survives into another browser, and in this browser's own
86
171
  // store otherwise. The browser keeps its own copy either way — what it decides
87
172
  // is that the question has been asked here, which is a fact about this
88
173
  // browser's permission prompt rather than about the person.
89
174
  const enableDesktop = useCallback(() => {
175
+ if (live.current?.epoch !== epoch)
176
+ return;
90
177
  void requestNotificationPermission().then((permission) => {
178
+ if (live.current?.epoch !== epoch || !live.current.enabled)
179
+ return;
91
180
  const granted = permission === "granted";
92
181
  savePrefs({ ...prefs, osEnabled: granted, osOffered: true });
93
182
  if (account === undefined)
@@ -97,7 +186,7 @@ export function useQaTurnNotifications(input) {
97
186
  desktop: granted,
98
187
  });
99
188
  });
100
- }, [account, prefs, savePrefs]);
189
+ }, [account, epoch, prefs, savePrefs]);
101
190
  return {
102
191
  items,
103
192
  onOpen: open,
@@ -1 +1 @@
1
- {"version":3,"file":"use-turn-notifications.js","sourceRoot":"","sources":["../../../src/client/notifications/use-turn-notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-turn-notifications.js","sourceRoot":"","sources":["../../../src/client/notifications/use-turn-notifications.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { projectTranscript } from "./QaTranscriptAdapter.js";
2
2
  import { chatLegacyOf } from "./turn-sources.js";
3
+ import { dedupeAndRankSources } from "../provenance/dedupe.js";
3
4
  /** Matches the Host queue strip, which folds a long row into one line. */
4
5
  const QUEUE_PREVIEW_CHARS = 200;
5
6
  function queuePreview(text) {
@@ -170,8 +171,24 @@ export function projectBoundSessionState(input) {
170
171
  subagentNames: input.subagentNames,
171
172
  subagentCodenames: config.ui.subagentCodenames,
172
173
  workspaceRoot: input.workspaceRoot,
173
- }).map((message) => {
174
- if (message.role === "user" && input.author !== undefined) {
174
+ }).map((projected) => {
175
+ // The inherited workflow ledger belongs to the source session. Files still
176
+ // open and download, but approval cannot be offered in the branch.
177
+ const message = projected.role === "assistant" &&
178
+ projected.seq !== undefined &&
179
+ input.inheritedThroughSeq !== undefined &&
180
+ projected.seq <= input.inheritedThroughSeq
181
+ ? {
182
+ ...projected,
183
+ artifacts: projected.artifacts?.map((artifact) => {
184
+ const { workflow: _workflow, ...file } = artifact;
185
+ return file;
186
+ }),
187
+ }
188
+ : projected;
189
+ if (message.role === "user" &&
190
+ message.author === undefined &&
191
+ input.author !== undefined) {
175
192
  return { ...message, author: input.author };
176
193
  }
177
194
  if (message.role !== "assistant" || message.turn === undefined)
@@ -196,7 +213,12 @@ export function projectBoundSessionState(input) {
196
213
  : { incompleteSourceOrigins: bundle.incompleteOrigins }),
197
214
  };
198
215
  });
199
- const latest = input.sourceBundles.at(-1);
216
+ const chatSources = dedupeAndRankSources(input.sourceBundles.flatMap((bundle) => [
217
+ ...bundle.sources,
218
+ ...(config.sources.display.showDiscovered
219
+ ? (bundle.discovered ?? [])
220
+ : []),
221
+ ]));
200
222
  const questions = input.compatibilityReadOnly === true ? [] : input.questions;
201
223
  // A parked question owns the composer until it is answered or the turn ends:
202
224
  // the operator is answering a tool call that is already waiting, and text
@@ -230,16 +252,9 @@ export function projectBoundSessionState(input) {
230
252
  queue: projectQueue(snapshot, input.queuedMessages, input.admittedSubmissions),
231
253
  canEditQueue: canOperate,
232
254
  chatsRevision: input.chatsRevision,
233
- sources: latest === undefined
234
- ? []
235
- : [
236
- ...latest.sources,
237
- ...(config.sources.display.showDiscovered
238
- ? (latest.discovered ?? [])
239
- : []),
240
- ],
241
- sourcesComplete: latest?.complete ?? true,
242
- incompleteSourceOrigins: latest?.incompleteOrigins,
255
+ sources: chatSources,
256
+ sourcesComplete: input.sourceBundles.every((bundle) => bundle.complete),
257
+ incompleteSourceOrigins: input.sourceBundles.flatMap((bundle) => bundle.incompleteOrigins ?? []),
243
258
  viewingSubagent: input.viewingSubagent,
244
259
  approvals: input.compatibilityReadOnly === true ? [] : input.approvals,
245
260
  questions,
@@ -1 +1 @@
1
- {"version":3,"file":"project-session-state.js","sourceRoot":"","sources":["../../src/client/project-session-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-session-state.js","sourceRoot":"","sources":["../../src/client/project-session-state.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,15 @@ export async function attestQaPolicy(args) {
20
20
  if (!proofMatchesConfig(result.value, args.lockdown, args.sessionId)) {
21
21
  return reject(args, "proof-mismatch");
22
22
  }
23
- return { ok: true };
23
+ return {
24
+ ok: true,
25
+ ...(result.value.chatAccess === undefined
26
+ ? {}
27
+ : { chatAccess: result.value.chatAccess }),
28
+ ...(result.value.inheritedThroughSeq === undefined
29
+ ? {}
30
+ : { inheritedThroughSeq: result.value.inheritedThroughSeq }),
31
+ };
24
32
  }
25
33
  catch (error) {
26
34
  if (args.report) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-admission.js","sourceRoot":"","sources":["../../src/client/session-admission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAa1B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAMpC;IACC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,mBAAmB,CAChC,MAAM,CAAC,KAAsC,CAC9C,CAAC;YACF,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CACX,4GAA4G,CAC7G,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACrE,OAAO,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CACb,IAAkC,EAClC,MAAqB;IAErB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,sDAAsD,MAAM,IAAI,SAAS,MAAM,eAAe,CAAC,MAAM,CAAC,EAAE,CACzG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"session-admission.js","sourceRoot":"","sources":["../../src/client/session-admission.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAiB1B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAMpC;IACC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,mBAAmB,CAChC,MAAM,CAAC,KAAsC,CAC9C,CAAC;YACF,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CACX,4GAA4G,CAC7G,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACrE,OAAO,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS;gBAChD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CACb,IAAkC,EAClC,MAAqB;IAErB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,sDAAsD,MAAM,IAAI,SAAS,MAAM,eAAe,CAAC,MAAM,CAAC,EAAE,CACzG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC"}