@yadsh/dsh-qa-surface 0.4.0 → 0.6.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 (421) hide show
  1. package/README.md +235 -14
  2. package/compatibility.json +10 -1
  3. package/cordis.patch.yml +17 -0
  4. package/lib/account-remotes.js +10 -0
  5. package/lib/account-remotes.js.map +1 -1
  6. package/lib/accounts/credentials.js +12 -4
  7. package/lib/accounts/credentials.js.map +1 -1
  8. package/lib/accounts/errors.js.map +1 -1
  9. package/lib/accounts/file.js.map +1 -1
  10. package/lib/accounts/store.js +38 -1
  11. package/lib/accounts/store.js.map +1 -1
  12. package/lib/approvals.js +179 -0
  13. package/lib/approvals.js.map +1 -0
  14. package/lib/cli.js +10 -0
  15. package/lib/cli.js.map +1 -1
  16. package/lib/client/QaAccountsController.js +29 -0
  17. package/lib/client/QaAccountsController.js.map +1 -1
  18. package/lib/client/QaSessionController.js +261 -48
  19. package/lib/client/QaSessionController.js.map +1 -1
  20. package/lib/client/QaSurface.js +138 -56
  21. package/lib/client/QaSurface.js.map +1 -1
  22. package/lib/client/QaSurfaceGuard.js +96 -0
  23. package/lib/client/QaSurfaceGuard.js.map +1 -0
  24. package/lib/client/QaTranscriptAdapter.js +11 -5
  25. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  26. package/lib/client/approvals.js +104 -0
  27. package/lib/client/approvals.js.map +1 -0
  28. package/lib/client/attestation.js +3 -0
  29. package/lib/client/attestation.js.map +1 -1
  30. package/lib/client/components/QaApproval.js +23 -0
  31. package/lib/client/components/QaApproval.js.map +1 -0
  32. package/lib/client/components/QaChangelog.js +55 -0
  33. package/lib/client/components/QaChangelog.js.map +1 -1
  34. package/lib/client/components/QaComposer.js +1 -1
  35. package/lib/client/components/QaComposer.js.map +1 -1
  36. package/lib/client/components/QaHeader.js +2 -8
  37. package/lib/client/components/QaHeader.js.map +1 -1
  38. package/lib/client/components/QaMessage.js +20 -7
  39. package/lib/client/components/QaMessage.js.map +1 -1
  40. package/lib/client/components/QaModal.js +24 -6
  41. package/lib/client/components/QaModal.js.map +1 -1
  42. package/lib/client/components/QaQuestions.js +96 -0
  43. package/lib/client/components/QaQuestions.js.map +1 -0
  44. package/lib/client/components/QaSidebar.js +2 -6
  45. package/lib/client/components/QaSidebar.js.map +1 -1
  46. package/lib/client/components/QaSourcesPanel.js +6 -5
  47. package/lib/client/components/QaSourcesPanel.js.map +1 -1
  48. package/lib/client/components/QaWidthHandle.js +21 -1
  49. package/lib/client/components/QaWidthHandle.js.map +1 -1
  50. package/lib/client/components/surface-utils.js +2 -0
  51. package/lib/client/components/surface-utils.js.map +1 -1
  52. package/lib/client/index.js +81 -22
  53. package/lib/client/index.js.map +1 -1
  54. package/lib/client/panels/PanelHost.js +209 -0
  55. package/lib/client/panels/PanelHost.js.map +1 -0
  56. package/lib/client/panels/PanelLauncher.js +39 -0
  57. package/lib/client/panels/PanelLauncher.js.map +1 -0
  58. package/lib/client/panels/contract.js +2 -0
  59. package/lib/client/panels/contract.js.map +1 -0
  60. package/lib/client/panels/index.js +2 -0
  61. package/lib/client/panels/index.js.map +1 -0
  62. package/lib/client/panels/registry.js +171 -0
  63. package/lib/client/panels/registry.js.map +1 -0
  64. package/lib/client/project-session-state.js +8 -3
  65. package/lib/client/project-session-state.js.map +1 -1
  66. package/lib/client/questions.js +114 -0
  67. package/lib/client/questions.js.map +1 -0
  68. package/lib/client/settings/card.js +2 -2
  69. package/lib/client/settings/card.js.map +1 -1
  70. package/lib/client/settings/sections/accounts.js +3 -1
  71. package/lib/client/settings/sections/accounts.js.map +1 -1
  72. package/lib/client/settings/sections/documents.js +88 -0
  73. package/lib/client/settings/sections/documents.js.map +1 -0
  74. package/lib/client/settings/sections/interface.js +2 -0
  75. package/lib/client/settings/sections/interface.js.map +1 -1
  76. package/lib/client/settings/sections/sources.js +2 -0
  77. package/lib/client/settings/sections/sources.js.map +1 -1
  78. package/lib/client/settings/sections.js +1 -0
  79. package/lib/client/settings/sections.js.map +1 -1
  80. package/lib/client/settings-extensions/contract.js +2 -0
  81. package/lib/client/settings-extensions/contract.js.map +1 -0
  82. package/lib/client/settings-extensions/index.js +2 -0
  83. package/lib/client/settings-extensions/index.js.map +1 -0
  84. package/lib/client/settings-extensions/registry.js +63 -0
  85. package/lib/client/settings-extensions/registry.js.map +1 -0
  86. package/lib/client/settlement.js +51 -5
  87. package/lib/client/settlement.js.map +1 -1
  88. package/lib/client/source-preview.js +24 -0
  89. package/lib/client/source-preview.js.map +1 -0
  90. package/lib/client/styles.js +199 -32
  91. package/lib/client/styles.js.map +1 -1
  92. package/lib/client/subagent-codenames.js +109 -0
  93. package/lib/client/subagent-codenames.js.map +1 -0
  94. package/lib/client/types.js +3 -0
  95. package/lib/client/types.js.map +1 -1
  96. package/lib/client/user-settings/GeneralSettingsPage.js +13 -0
  97. package/lib/client/user-settings/GeneralSettingsPage.js.map +1 -0
  98. package/lib/client/user-settings/ProfileSettingsPage.js +59 -0
  99. package/lib/client/user-settings/ProfileSettingsPage.js.map +1 -0
  100. package/lib/client/user-settings/SkillCatalog.js +23 -0
  101. package/lib/client/user-settings/SkillCatalog.js.map +1 -0
  102. package/lib/client/user-settings/SkillEditor.js +89 -0
  103. package/lib/client/user-settings/SkillEditor.js.map +1 -0
  104. package/lib/client/user-settings/SkillToolPicker.js +58 -0
  105. package/lib/client/user-settings/SkillToolPicker.js.map +1 -0
  106. package/lib/client/user-settings/SkillsSettingsPage.js +171 -0
  107. package/lib/client/user-settings/SkillsSettingsPage.js.map +1 -0
  108. package/lib/client/user-settings/StartersSettingsPage.js +78 -0
  109. package/lib/client/user-settings/StartersSettingsPage.js.map +1 -0
  110. package/lib/client/user-settings/UserSettingsDialog.js +50 -0
  111. package/lib/client/user-settings/UserSettingsDialog.js.map +1 -0
  112. package/lib/client/user-settings/copy.js +84 -0
  113. package/lib/client/user-settings/copy.js.map +1 -0
  114. package/lib/client/user-settings/draft.js +127 -0
  115. package/lib/client/user-settings/draft.js.map +1 -0
  116. package/lib/client/user-settings/fields.js +24 -0
  117. package/lib/client/user-settings/fields.js.map +1 -0
  118. package/lib/client.js +6629 -1579
  119. package/lib/client.js.map +1 -1
  120. package/lib/config-resolvers/accounts.js +30 -0
  121. package/lib/config-resolvers/accounts.js.map +1 -1
  122. package/lib/config-resolvers/basics.js +4 -2
  123. package/lib/config-resolvers/basics.js.map +1 -1
  124. package/lib/config-resolvers/defaults.js +27 -0
  125. package/lib/config-resolvers/defaults.js.map +1 -1
  126. package/lib/config-resolvers/lockdown.js +11 -0
  127. package/lib/config-resolvers/lockdown.js.map +1 -1
  128. package/lib/config-resolvers/session.js +2 -2
  129. package/lib/config-resolvers/session.js.map +1 -1
  130. package/lib/config-resolvers/shared.js +9 -0
  131. package/lib/config-resolvers/shared.js.map +1 -1
  132. package/lib/config-resolvers/sources.js +2 -0
  133. package/lib/config-resolvers/sources.js.map +1 -1
  134. package/lib/config-resolvers/tools.js +37 -0
  135. package/lib/config-resolvers/tools.js.map +1 -0
  136. package/lib/config-resolvers/ui.js +2 -0
  137. package/lib/config-resolvers/ui.js.map +1 -1
  138. package/lib/config.js +299 -2
  139. package/lib/config.js.map +1 -1
  140. package/lib/documents/artifacts/ids.js +43 -0
  141. package/lib/documents/artifacts/ids.js.map +1 -0
  142. package/lib/documents/artifacts/manifest.js +66 -0
  143. package/lib/documents/artifacts/manifest.js.map +1 -0
  144. package/lib/documents/artifacts/store.js +169 -0
  145. package/lib/documents/artifacts/store.js.map +1 -0
  146. package/lib/documents/capabilities.js +93 -0
  147. package/lib/documents/capabilities.js.map +1 -0
  148. package/lib/documents/config.js +302 -0
  149. package/lib/documents/config.js.map +1 -0
  150. package/lib/documents/defaults.js +78 -0
  151. package/lib/documents/defaults.js.map +1 -0
  152. package/lib/documents/errors.js +101 -0
  153. package/lib/documents/errors.js.map +1 -0
  154. package/lib/documents/index.js +80 -0
  155. package/lib/documents/index.js.map +1 -0
  156. package/lib/documents/inspect/facts.js +161 -0
  157. package/lib/documents/inspect/facts.js.map +1 -0
  158. package/lib/documents/inspect/zip.js +108 -0
  159. package/lib/documents/inspect/zip.js.map +1 -0
  160. package/lib/documents/markdown/directives.js +135 -0
  161. package/lib/documents/markdown/directives.js.map +1 -0
  162. package/lib/documents/markdown/frontmatter.js +35 -0
  163. package/lib/documents/markdown/frontmatter.js.map +1 -0
  164. package/lib/documents/markdown/normalize.js +113 -0
  165. package/lib/documents/markdown/normalize.js.map +1 -0
  166. package/lib/documents/orchestrator/assets.js +243 -0
  167. package/lib/documents/orchestrator/assets.js.map +1 -0
  168. package/lib/documents/orchestrator/convert-document.js +186 -0
  169. package/lib/documents/orchestrator/convert-document.js.map +1 -0
  170. package/lib/documents/orchestrator/create-document.js +292 -0
  171. package/lib/documents/orchestrator/create-document.js.map +1 -0
  172. package/lib/documents/orchestrator/extract-document.js +162 -0
  173. package/lib/documents/orchestrator/extract-document.js.map +1 -0
  174. package/lib/documents/orchestrator/inspect-document.js +89 -0
  175. package/lib/documents/orchestrator/inspect-document.js.map +1 -0
  176. package/lib/documents/orchestrator/runtime-deps.js +59 -0
  177. package/lib/documents/orchestrator/runtime-deps.js.map +1 -0
  178. package/lib/documents/orchestrator/scope.js +132 -0
  179. package/lib/documents/orchestrator/scope.js.map +1 -0
  180. package/lib/documents/providers/docling.js +247 -0
  181. package/lib/documents/providers/docling.js.map +1 -0
  182. package/lib/documents/providers/libreoffice.js +130 -0
  183. package/lib/documents/providers/libreoffice.js.map +1 -0
  184. package/lib/documents/providers/markitdown.js +89 -0
  185. package/lib/documents/providers/markitdown.js.map +1 -0
  186. package/lib/documents/providers/pandoc.js +161 -0
  187. package/lib/documents/providers/pandoc.js.map +1 -0
  188. package/lib/documents/providers/process.js +164 -0
  189. package/lib/documents/providers/process.js.map +1 -0
  190. package/lib/documents/providers/registry.js +152 -0
  191. package/lib/documents/providers/registry.js.map +1 -0
  192. package/lib/documents/providers/shared.js +75 -0
  193. package/lib/documents/providers/shared.js.map +1 -0
  194. package/lib/documents/runtime.js +114 -0
  195. package/lib/documents/runtime.js.map +1 -0
  196. package/lib/documents/security/file-types.js +188 -0
  197. package/lib/documents/security/file-types.js.map +1 -0
  198. package/lib/documents/security/limits.js +78 -0
  199. package/lib/documents/security/limits.js.map +1 -0
  200. package/lib/documents/security/mime.js +43 -0
  201. package/lib/documents/security/mime.js.map +1 -0
  202. package/lib/documents/security/paths.js +133 -0
  203. package/lib/documents/security/paths.js.map +1 -0
  204. package/lib/documents/templates/registry.js +147 -0
  205. package/lib/documents/templates/registry.js.map +1 -0
  206. package/lib/documents/templates/resolver.js +59 -0
  207. package/lib/documents/templates/resolver.js.map +1 -0
  208. package/lib/documents/tools/convert.js +125 -0
  209. package/lib/documents/tools/convert.js.map +1 -0
  210. package/lib/documents/tools/create.js +187 -0
  211. package/lib/documents/tools/create.js.map +1 -0
  212. package/lib/documents/tools/index.js +41 -0
  213. package/lib/documents/tools/index.js.map +1 -0
  214. package/lib/documents/tools/inspect.js +135 -0
  215. package/lib/documents/tools/inspect.js.map +1 -0
  216. package/lib/documents/tools/shared.js +88 -0
  217. package/lib/documents/tools/shared.js.map +1 -0
  218. package/lib/documents/tools/to-markdown.js +125 -0
  219. package/lib/documents/tools/to-markdown.js.map +1 -0
  220. package/lib/documents/types.js +12 -0
  221. package/lib/documents/types.js.map +1 -0
  222. package/lib/index.js +299 -24
  223. package/lib/index.js.map +1 -1
  224. package/lib/integration-principals.js +22 -0
  225. package/lib/integration-principals.js.map +1 -0
  226. package/lib/lockdown-policy.js +15 -3
  227. package/lib/lockdown-policy.js.map +1 -1
  228. package/lib/personal-skills/errors.js +9 -0
  229. package/lib/personal-skills/errors.js.map +1 -0
  230. package/lib/personal-skills/host.js +80 -0
  231. package/lib/personal-skills/host.js.map +1 -0
  232. package/lib/personal-skills/index.js +10 -0
  233. package/lib/personal-skills/index.js.map +1 -0
  234. package/lib/personal-skills/paths.js +127 -0
  235. package/lib/personal-skills/paths.js.map +1 -0
  236. package/lib/personal-skills/provider.js +109 -0
  237. package/lib/personal-skills/provider.js.map +1 -0
  238. package/lib/personal-skills/remotes.js +40 -0
  239. package/lib/personal-skills/remotes.js.map +1 -0
  240. package/lib/personal-skills/service.js +686 -0
  241. package/lib/personal-skills/service.js.map +1 -0
  242. package/lib/personal-skills/skill-file.js +278 -0
  243. package/lib/personal-skills/skill-file.js.map +1 -0
  244. package/lib/personal-skills/skill-format.js +202 -0
  245. package/lib/personal-skills/skill-format.js.map +1 -0
  246. package/lib/personal-skills/watcher.js +96 -0
  247. package/lib/personal-skills/watcher.js.map +1 -0
  248. package/lib/profile.js +6 -4
  249. package/lib/profile.js.map +1 -1
  250. package/lib/prompt-notes.js +19 -0
  251. package/lib/prompt-notes.js.map +1 -1
  252. package/lib/provenance/file-preview.js +68 -21
  253. package/lib/provenance/file-preview.js.map +1 -1
  254. package/lib/provenance/host-store.js +69 -20
  255. package/lib/provenance/host-store.js.map +1 -1
  256. package/lib/provenance/index.js +1 -0
  257. package/lib/provenance/index.js.map +1 -1
  258. package/lib/provenance/normalize.js +3 -1
  259. package/lib/provenance/normalize.js.map +1 -1
  260. package/lib/provenance/reported.js +37 -12
  261. package/lib/provenance/reported.js.map +1 -1
  262. package/lib/provenance/snapshot-store.js +154 -0
  263. package/lib/provenance/snapshot-store.js.map +1 -0
  264. package/lib/qa-tools/activation-detector.js +53 -0
  265. package/lib/qa-tools/activation-detector.js.map +1 -0
  266. package/lib/qa-tools/activation-manager.js +111 -0
  267. package/lib/qa-tools/activation-manager.js.map +1 -0
  268. package/lib/qa-tools/catalog.js +108 -0
  269. package/lib/qa-tools/catalog.js.map +1 -0
  270. package/lib/qa-tools/durable-marker.js +115 -0
  271. package/lib/qa-tools/durable-marker.js.map +1 -0
  272. package/lib/qa-tools/index.js +83 -0
  273. package/lib/qa-tools/index.js.map +1 -0
  274. package/lib/qa-tools/lifecycle.js +64 -0
  275. package/lib/qa-tools/lifecycle.js.map +1 -0
  276. package/lib/qa-tools/types.js +2 -0
  277. package/lib/qa-tools/types.js.map +1 -0
  278. package/lib/questions.js +185 -0
  279. package/lib/questions.js.map +1 -0
  280. package/lib/resolve-config.js +5 -0
  281. package/lib/resolve-config.js.map +1 -1
  282. package/lib/secure-session.js +104 -20
  283. package/lib/secure-session.js.map +1 -1
  284. package/lib/session-ownership.js +55 -0
  285. package/lib/session-ownership.js.map +1 -0
  286. package/lib/starters.js +117 -0
  287. package/lib/starters.js.map +1 -0
  288. package/lib/typert.host.js +1162 -77
  289. package/lib/typert.remote-client.d.ts +27 -1
  290. package/lib/typert.remote-client.js +879 -14
  291. package/lib/types/account-remotes.d.ts +3 -1
  292. package/lib/types/accounts/credentials.d.ts +6 -0
  293. package/lib/types/accounts/errors.d.ts +1 -1
  294. package/lib/types/accounts/file.d.ts +10 -0
  295. package/lib/types/accounts/store.d.ts +15 -1
  296. package/lib/types/approvals.d.ts +65 -0
  297. package/lib/types/client/QaAccountsController.d.ts +7 -1
  298. package/lib/types/client/QaSessionController.d.ts +50 -1
  299. package/lib/types/client/QaSurface.d.ts +21 -4
  300. package/lib/types/client/QaSurfaceGuard.d.ts +27 -0
  301. package/lib/types/client/QaTranscriptAdapter.d.ts +7 -0
  302. package/lib/types/client/approvals.d.ts +39 -0
  303. package/lib/types/client/components/QaApproval.d.ts +13 -0
  304. package/lib/types/client/components/QaComposer.d.ts +3 -1
  305. package/lib/types/client/components/QaHeader.d.ts +3 -1
  306. package/lib/types/client/components/QaModal.d.ts +5 -4
  307. package/lib/types/client/components/QaQuestions.d.ts +13 -0
  308. package/lib/types/client/components/QaSidebar.d.ts +8 -11
  309. package/lib/types/client/components/QaWidthHandle.d.ts +13 -0
  310. package/lib/types/client/index.d.ts +1 -0
  311. package/lib/types/client/panels/PanelHost.d.ts +18 -0
  312. package/lib/types/client/panels/PanelLauncher.d.ts +5 -0
  313. package/lib/types/client/panels/contract.d.ts +83 -0
  314. package/lib/types/client/panels/index.d.ts +3 -0
  315. package/lib/types/client/panels/registry.d.ts +40 -0
  316. package/lib/types/client/project-session-state.d.ts +13 -1
  317. package/lib/types/client/questions.d.ts +45 -0
  318. package/lib/types/client/settings/sections/documents.d.ts +13 -0
  319. package/lib/types/client/settings/sections.d.ts +1 -0
  320. package/lib/types/client/settings-extensions/contract.d.ts +32 -0
  321. package/lib/types/client/settings-extensions/index.d.ts +3 -0
  322. package/lib/types/client/settings-extensions/registry.d.ts +15 -0
  323. package/lib/types/client/settlement.d.ts +41 -5
  324. package/lib/types/client/source-preview.d.ts +8 -0
  325. package/lib/types/client/styles.d.ts +2 -0
  326. package/lib/types/client/subagent-codenames.d.ts +18 -0
  327. package/lib/types/client/types.d.ts +82 -3
  328. package/lib/types/client/user-settings/GeneralSettingsPage.d.ts +14 -0
  329. package/lib/types/client/user-settings/ProfileSettingsPage.d.ts +18 -0
  330. package/lib/types/client/user-settings/SkillCatalog.d.ts +16 -0
  331. package/lib/types/client/user-settings/SkillEditor.d.ts +42 -0
  332. package/lib/types/client/user-settings/SkillToolPicker.d.ts +17 -0
  333. package/lib/types/client/user-settings/SkillsSettingsPage.d.ts +15 -0
  334. package/lib/types/client/user-settings/StartersSettingsPage.d.ts +14 -0
  335. package/lib/types/client/user-settings/UserSettingsDialog.d.ts +43 -0
  336. package/lib/types/client/user-settings/copy.d.ts +25 -0
  337. package/lib/types/client/user-settings/draft.d.ts +51 -0
  338. package/lib/types/client/user-settings/fields.d.ts +43 -0
  339. package/lib/types/config-resolvers/shared.d.ts +7 -0
  340. package/lib/types/config-resolvers/tools.d.ts +6 -0
  341. package/lib/types/documents/artifacts/ids.d.ts +14 -0
  342. package/lib/types/documents/artifacts/manifest.d.ts +32 -0
  343. package/lib/types/documents/artifacts/store.d.ts +67 -0
  344. package/lib/types/documents/capabilities.d.ts +32 -0
  345. package/lib/types/documents/config.d.ts +27 -0
  346. package/lib/types/documents/defaults.d.ts +161 -0
  347. package/lib/types/documents/errors.d.ts +42 -0
  348. package/lib/types/documents/index.d.ts +63 -0
  349. package/lib/types/documents/inspect/facts.d.ts +43 -0
  350. package/lib/types/documents/inspect/zip.d.ts +28 -0
  351. package/lib/types/documents/markdown/directives.d.ts +39 -0
  352. package/lib/types/documents/markdown/frontmatter.d.ts +15 -0
  353. package/lib/types/documents/markdown/normalize.d.ts +30 -0
  354. package/lib/types/documents/orchestrator/assets.d.ts +55 -0
  355. package/lib/types/documents/orchestrator/convert-document.d.ts +25 -0
  356. package/lib/types/documents/orchestrator/create-document.d.ts +18 -0
  357. package/lib/types/documents/orchestrator/extract-document.d.ts +24 -0
  358. package/lib/types/documents/orchestrator/inspect-document.d.ts +12 -0
  359. package/lib/types/documents/orchestrator/runtime-deps.d.ts +43 -0
  360. package/lib/types/documents/orchestrator/scope.d.ts +52 -0
  361. package/lib/types/documents/providers/docling.d.ts +54 -0
  362. package/lib/types/documents/providers/libreoffice.d.ts +40 -0
  363. package/lib/types/documents/providers/markitdown.d.ts +28 -0
  364. package/lib/types/documents/providers/pandoc.d.ts +42 -0
  365. package/lib/types/documents/providers/process.d.ts +54 -0
  366. package/lib/types/documents/providers/registry.d.ts +68 -0
  367. package/lib/types/documents/providers/shared.d.ts +27 -0
  368. package/lib/types/documents/runtime.d.ts +59 -0
  369. package/lib/types/documents/security/file-types.d.ts +39 -0
  370. package/lib/types/documents/security/limits.d.ts +24 -0
  371. package/lib/types/documents/security/mime.d.ts +13 -0
  372. package/lib/types/documents/security/paths.d.ts +38 -0
  373. package/lib/types/documents/templates/registry.d.ts +50 -0
  374. package/lib/types/documents/templates/resolver.d.ts +30 -0
  375. package/lib/types/documents/tools/convert.d.ts +9 -0
  376. package/lib/types/documents/tools/create.d.ts +14 -0
  377. package/lib/types/documents/tools/index.d.ts +33 -0
  378. package/lib/types/documents/tools/inspect.d.ts +9 -0
  379. package/lib/types/documents/tools/shared.d.ts +77 -0
  380. package/lib/types/documents/tools/to-markdown.d.ts +12 -0
  381. package/lib/types/documents/types.d.ts +294 -0
  382. package/lib/types/index.d.ts +103 -5
  383. package/lib/types/integration-principals.d.ts +9 -0
  384. package/lib/types/lockdown-policy.d.ts +12 -2
  385. package/lib/types/personal-skills/errors.d.ts +11 -0
  386. package/lib/types/personal-skills/host.d.ts +42 -0
  387. package/lib/types/personal-skills/index.d.ts +10 -0
  388. package/lib/types/personal-skills/paths.d.ts +39 -0
  389. package/lib/types/personal-skills/provider.d.ts +33 -0
  390. package/lib/types/personal-skills/remotes.d.ts +35 -0
  391. package/lib/types/personal-skills/service.d.ts +131 -0
  392. package/lib/types/personal-skills/skill-file.d.ts +64 -0
  393. package/lib/types/personal-skills/skill-format.d.ts +100 -0
  394. package/lib/types/personal-skills/watcher.d.ts +39 -0
  395. package/lib/types/profile.d.ts +13 -0
  396. package/lib/types/prompt-notes.d.ts +9 -0
  397. package/lib/types/provenance/file-preview.d.ts +47 -4
  398. package/lib/types/provenance/host-store.d.ts +7 -1
  399. package/lib/types/provenance/index.d.ts +1 -0
  400. package/lib/types/provenance/reported.d.ts +9 -1
  401. package/lib/types/provenance/snapshot-store.d.ts +23 -0
  402. package/lib/types/qa-tools/activation-detector.d.ts +29 -0
  403. package/lib/types/qa-tools/activation-manager.d.ts +47 -0
  404. package/lib/types/qa-tools/catalog.d.ts +40 -0
  405. package/lib/types/qa-tools/durable-marker.d.ts +16 -0
  406. package/lib/types/qa-tools/index.d.ts +40 -0
  407. package/lib/types/qa-tools/lifecycle.d.ts +44 -0
  408. package/lib/types/qa-tools/types.d.ts +45 -0
  409. package/lib/types/questions.d.ts +83 -0
  410. package/lib/types/secure-session.d.ts +45 -4
  411. package/lib/types/session-ownership.d.ts +30 -0
  412. package/lib/types/starters.d.ts +45 -0
  413. package/lib/types/types.d.ts +282 -7
  414. package/lib/types/user-workspace.d.ts +5 -1
  415. package/lib/user-workspace.js +21 -6
  416. package/lib/user-workspace.js.map +1 -1
  417. package/package.json +22 -9
  418. package/scripts/repair-session-events.mjs +260 -0
  419. package/lib/client/components/QaProfile.js +0 -64
  420. package/lib/client/components/QaProfile.js.map +0 -1
  421. package/lib/types/client/components/QaProfile.d.ts +0 -25
@@ -1,9 +1,12 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore, } from "react";
3
+ import { effectiveQuickQuestions } from "../starters.js";
3
4
  import { QaSessionController } from "./QaSessionController.js";
4
5
  import { attachmentLimits } from "./attachments.js";
5
6
  import { QA_SESSION_IDLE_STATE } from "./types.js";
6
7
  import { QaAuthGate } from "./components/QaAuthGate.js";
8
+ import { QaApproval } from "./components/QaApproval.js";
9
+ import { QaQuestions } from "./components/QaQuestions.js";
7
10
  import { QaComposer } from "./components/QaComposer.js";
8
11
  import { QaHeader, QaSubagentBanner } from "./components/QaHeader.js";
9
12
  import { QaMessage } from "./components/QaMessage.js";
@@ -19,10 +22,13 @@ import { VariantSwitcher } from "./components/VariantSwitcher.js";
19
22
  import { QaWelcomeNotice } from "./components/QaWelcomeNotice.js";
20
23
  import { statusText, titleFromMessages } from "./components/surface-utils.js";
21
24
  import { useThinkingPhrase } from "./components/thinking-phrases.js";
25
+ import { QaUserSettingsDialog, } from "./user-settings/UserSettingsDialog.js";
22
26
  import { useTranscriptView } from "./use-transcript-view.js";
23
27
  import { useSessionUiState } from "./use-session-ui-state.js";
24
28
  import { useRightRail } from "./use-right-rail.js";
25
29
  import { qaStorageNamespace } from "../shared/session-key.js";
30
+ import { QaPanelHost } from "./panels/PanelHost.js";
31
+ import { QaPanelLauncher } from "./panels/PanelLauncher.js";
26
32
  const noopSubscribe = () => () => undefined;
27
33
  /** Stable empty stand-in so memoized children see one identity, not a fresh []. */
28
34
  const NO_QUESTIONS = Object.freeze([]);
@@ -112,6 +118,12 @@ export function QaSurface(props) {
112
118
  secureSession: props.secureSession,
113
119
  createSession: props.createSession,
114
120
  sourceApi: props.sourceApi,
121
+ ...(props.approvalApi === undefined
122
+ ? {}
123
+ : { approvalApi: props.approvalApi }),
124
+ ...(props.questionApi === undefined
125
+ ? {}
126
+ : { questionApi: props.questionApi }),
115
127
  config,
116
128
  storage: window.localStorage,
117
129
  accounts: facade,
@@ -131,12 +143,41 @@ export function QaSurface(props) {
131
143
  props.connection,
132
144
  props.createSession,
133
145
  props.fileUpload,
146
+ props.approvalApi,
147
+ props.questionApi,
134
148
  props.secureSession,
135
149
  props.sourceApi,
136
150
  props.sessions,
137
151
  route.active,
138
152
  ]);
139
153
  // The drawer receives a token-bound view; its props keep the simple shape.
154
+ // The settings dialog speaks to the skills namespace with the account token
155
+ // already bound, so its pages never see an identity.
156
+ const boundSkillApi = useMemo(() => {
157
+ if (props.skillApi === undefined)
158
+ return undefined;
159
+ const skillApi = props.skillApi;
160
+ const token = () => accounts?.token() ?? "";
161
+ return {
162
+ list: async () => {
163
+ const result = await skillApi.skillsList(token());
164
+ return result.ok
165
+ ? { ok: true, value: result.value.skills }
166
+ : { ok: false, error: result.error };
167
+ },
168
+ get: (name) => skillApi.skillsGet(token(), name),
169
+ create: (input) => skillApi.skillsCreate(token(), input),
170
+ update: (name, input) => skillApi.skillsUpdate(token(), name, input),
171
+ remove: (name, revision) => skillApi.skillsRemove(token(), name, revision),
172
+ tools: async () => {
173
+ const result = await skillApi.skillsTools(token());
174
+ return result.ok
175
+ ? { ok: true, value: result.value.tools }
176
+ : { ok: false, error: result.error };
177
+ },
178
+ validate: (name, input) => skillApi.skillsValidate(token(), name, input),
179
+ };
180
+ }, [props.skillApi, accounts]);
140
181
  const boundSourceApi = useMemo(() => ({
141
182
  sources: (sessionId) => props.sourceApi.sources(accounts?.token() ?? "", sessionId),
142
183
  readSourceFile: (sessionId, sourcePath) => props.sourceApi.readSourceFile(accounts?.token() ?? "", sessionId, sourcePath),
@@ -144,6 +185,10 @@ export function QaSurface(props) {
144
185
  const handleLogout = useCallback(() => {
145
186
  accounts?.signOut();
146
187
  }, [accounts]);
188
+ // The settings dialog is owned here, not by the sidebar: its pages read the
189
+ // deployment config, the account and the skill namespace, while the sidebar
190
+ // only offers the button that opens it.
191
+ const [settingsOpen, setSettingsOpen] = useState(false);
147
192
  const state = useSyncExternalStore(controller?.subscribe ?? noopSubscribe, controller?.getSnapshot ?? (() => QA_SESSION_IDLE_STATE), controller?.getSnapshot ?? (() => QA_SESSION_IDLE_STATE));
148
193
  const listState = useSyncExternalStore(props.sessions.list.subscribe, props.sessions.list.getSnapshot, props.sessions.list.getSnapshot);
149
194
  // Draft text, attachments, variant offsets and drawers are chat-local; the
@@ -155,20 +200,13 @@ export function QaSurface(props) {
155
200
  useEffect(() => {
156
201
  if (!route.active)
157
202
  return;
158
- const previousBodyOverflow = document.body.style.overflow;
159
- const previousHtmlOverflow = document.documentElement.style.overflow;
160
- document.body.dataset.dshQaSurface = "active";
161
- document.body.style.overflow = "hidden";
162
- document.documentElement.style.overflow = "hidden";
203
+ // Body ownership (the shell-mask attribute, scroll locking) lives in the
204
+ // guard above this surface: it must survive a crash that unmounts this
205
+ // subtree.
163
206
  const frame = requestAnimationFrame(() => {
164
207
  document.querySelector("#dsh-qa-prompt")?.focus();
165
208
  });
166
- return () => {
167
- cancelAnimationFrame(frame);
168
- delete document.body.dataset.dshQaSurface;
169
- document.body.style.overflow = previousBodyOverflow;
170
- document.documentElement.style.overflow = previousHtmlOverflow;
171
- };
209
+ return () => cancelAnimationFrame(frame);
172
210
  }, [route.active]);
173
211
  // Stable identities for the memoized render path: message rows, the sidebar
174
212
  // and the composer compare callbacks by reference, so per-frame closures
@@ -193,6 +231,9 @@ export function QaSurface(props) {
193
231
  }, [controller]);
194
232
  const handleSend = useCallback((text, attachments) => controller?.send(text, attachments) ?? Promise.resolve(false), [controller]);
195
233
  const handleStop = useCallback(() => controller?.stop() ?? Promise.resolve(), [controller]);
234
+ const handleAnswerApproval = useCallback((requestId, decision) => controller?.answerApproval(requestId, decision) ?? Promise.resolve(), [controller]);
235
+ const handleAnswerQuestion = useCallback((requestId, answers) => controller?.answerQuestion(requestId, answers) ?? Promise.resolve(), [controller]);
236
+ const handleCancelQuestion = useCallback((requestId) => controller?.cancelQuestion(requestId) ?? Promise.resolve(), [controller]);
196
237
  const handleCloseSubagent = useCallback(() => {
197
238
  void controller?.closeSubagent();
198
239
  }, [controller]);
@@ -254,7 +295,7 @@ export function QaSurface(props) {
254
295
  element.scrollTop = element.scrollHeight;
255
296
  }
256
297
  scheduleActiveTurnSync();
257
- }, [state.messages, scheduleActiveTurnSync]);
298
+ }, [state.messages, state.pendingMessage, scheduleActiveTurnSync]);
258
299
  // The composer hint repeats the work list's phrase, so both advance in step
259
300
  // off the same turn start.
260
301
  const runningStartedAt = useMemo(() => {
@@ -270,7 +311,7 @@ export function QaSurface(props) {
270
311
  }, [state.messages, state.phase]);
271
312
  const runningPhrase = useThinkingPhrase(state.phase === "running", runningStartedAt, config.thinkingPhrases);
272
313
  const status = statusText(state, runningPhrase);
273
- const empty = state.messages.length === 0;
314
+ const empty = state.messages.length === 0 && state.pendingMessage === null;
274
315
  const conversationTitle = titleFromMessages(state);
275
316
  const showSidebar = config.ui.showSessionList && controller !== undefined;
276
317
  const allowNewChat = config.session.policy !== "fixed" &&
@@ -282,6 +323,12 @@ export function QaSurface(props) {
282
323
  // and the panel read the same memoized roster.
283
324
  const fileGroups = useMemo(() => collectChatFiles(state.messages), [state.messages]);
284
325
  const attachmentCount = useMemo(() => countChatAttachments(fileGroups), [fileGroups]);
326
+ // Buttons above an empty composer: the account's own starters, then the
327
+ // deployment's suggestions unless the account hid them. Anonymous visitors
328
+ // (and deployments with the feature off) see the deployment list alone.
329
+ const quickQuestions = useMemo(() => effectiveQuickQuestions(config.accounts.starters.enabled && accountsSnapshot.stage === "authed"
330
+ ? accountsSnapshot.user.starters
331
+ : undefined, config.suggestedQuestions), [config, accountsSnapshot]);
285
332
  // Admins group the sidebar by chat owner; everyone else sees the flat list.
286
333
  const ownerNames = useMemo(() => config.accounts.enabled &&
287
334
  config.accounts.showOtherUsersChats &&
@@ -290,21 +337,42 @@ export function QaSurface(props) {
290
337
  accountsSnapshot.user.role === "admin"
291
338
  ? accounts.ownerNames()
292
339
  : undefined, [config, accounts, accountsSnapshot]);
293
- // The sidebar compares this by reference, so every piece of it is stable
294
- // until the profile, the config, or the signed-in user actually changes.
295
- const profileDialog = useMemo(() => {
296
- if (!config.accounts.profile.enabled || accounts === undefined) {
297
- return undefined;
340
+ // The sidebar compares this by reference, so the entry point is stable
341
+ // until the label or the callback identity actually changes.
342
+ const settingsEntry = useMemo(() => accountsSnapshot.stage === "authed"
343
+ ? {
344
+ label: accountsSnapshot.user.profile.fullName === ""
345
+ ? accountsSnapshot.user.email
346
+ : accountsSnapshot.user.profile.fullName,
347
+ onOpen: () => setSettingsOpen(true),
298
348
  }
299
- if (accountsSnapshot.stage !== "authed")
349
+ : undefined, [accountsSnapshot]);
350
+ // Everything the dialog needs, assembled once per change. Each face is
351
+ // absent where the deployment withheld the feature, and the dialog simply
352
+ // renders the sections it was given.
353
+ const settingsDialog = useMemo(() => {
354
+ if (accounts === undefined || accountsSnapshot.stage !== "authed") {
300
355
  return undefined;
301
- return {
302
- profile: accountsSnapshot.user.profile,
303
- fields: config.accounts.profile.identities,
304
- instructionsMaxLength: config.accounts.profile.instructionsMaxLength,
305
- onSave: (input) => accounts.updateProfile(input),
306
- };
307
- }, [config, accounts, accountsSnapshot]);
356
+ }
357
+ const profile = config.accounts.profile.enabled
358
+ ? {
359
+ profile: accountsSnapshot.user.profile,
360
+ fields: config.accounts.profile.identities,
361
+ instructionsMaxLength: config.accounts.profile.instructionsMaxLength,
362
+ onSave: (input) => accounts.updateProfile(input),
363
+ }
364
+ : undefined;
365
+ const starters = config.accounts.starters.enabled
366
+ ? {
367
+ starters: accountsSnapshot.user.starters,
368
+ onSave: (input) => accounts.updateStarters(input),
369
+ }
370
+ : undefined;
371
+ const skills = config.accounts.skills.enabled && boundSkillApi !== undefined
372
+ ? boundSkillApi
373
+ : undefined;
374
+ return { profile, starters, skills };
375
+ }, [accounts, accountsSnapshot, config, boundSkillApi]);
308
376
  const busyTurn = state.phase === "running" ? (railItems.at(-1)?.turn ?? null) : null;
309
377
  const chatRows = useMemo(() => showSidebar
310
378
  ? buildChatRows(controller?.chatIds() ?? [], listState.byId, activeSessionId, (id) => ownerNames?.get(id))
@@ -361,42 +429,56 @@ export function QaSurface(props) {
361
429
  return (_jsxs(_Fragment, { children: [welcomeNotice, _jsx(QaAuthGate, { accounts: accounts, snapshot: accountsSnapshot, title: config.branding.title, logoUrl: config.branding.logoUrl, allowRegistration: config.accounts.allowRegistration })] }));
362
430
  }
363
431
  }
364
- return (_jsxs(_Fragment, { children: [welcomeNotice, _jsxs("main", { className: "dsh-qa-surface", "data-phase": state.phase, "aria-label": config.branding.title, tabIndex: -1, onKeyDown: trapKeys, children: [showSidebar ? (_jsx(QaSidebar, { rows: chatRows, groupByOwner: ownerNames !== undefined, title: config.branding.title, logoUrl: config.branding.logoUrl, stateKey: stateKey, showNewChat: allowNewChat, busy: state.phase === "creating", onSwitch: handleSwitch, onNewChat: handleNewChat, onDelete: handleDelete, account: config.accounts.enabled &&
432
+ return (_jsxs(_Fragment, { children: [welcomeNotice, settingsDialog === undefined ? null : (_jsx(QaUserSettingsDialog, { open: settingsOpen, initialSection: (config.accounts.profile.enabled
433
+ ? "profile"
434
+ : "general"), email: accountsSnapshot.stage === "authed"
435
+ ? accountsSnapshot.user.email
436
+ : "", role: accountsSnapshot.stage === "authed"
437
+ ? accountsSnapshot.user.role
438
+ : "", chatCount: controller?.chatIds().length ?? 0, onClose: () => setSettingsOpen(false), extensions: props.settingsSections, token: accounts?.token() ?? "", ...(settingsDialog.profile === undefined
439
+ ? {}
440
+ : { profile: settingsDialog.profile }), ...(settingsDialog.starters === undefined
441
+ ? {}
442
+ : { starters: settingsDialog.starters }), ...(settingsDialog.skills === undefined
443
+ ? {}
444
+ : { skills: settingsDialog.skills }) })), _jsxs("main", { className: "dsh-qa-surface", "data-phase": state.phase, "aria-label": config.branding.title, tabIndex: -1, onKeyDown: trapKeys, children: [showSidebar ? (_jsx(QaSidebar, { rows: chatRows, groupByOwner: ownerNames !== undefined, title: config.branding.title, logoUrl: config.branding.logoUrl, stateKey: stateKey, showNewChat: allowNewChat, busy: state.phase === "creating", onSwitch: handleSwitch, onNewChat: handleNewChat, onDelete: handleDelete, account: config.accounts.enabled &&
365
445
  accounts !== undefined &&
366
446
  accountsStage === "authed"
367
447
  ? {
368
448
  email: accountsSnapshot.user.email,
369
449
  role: accountsSnapshot.user.role,
370
450
  onLogout: handleLogout,
371
- ...(profileDialog === undefined ? {} : { profileDialog }),
451
+ ...(settingsEntry === undefined
452
+ ? {}
453
+ : { settings: settingsEntry }),
372
454
  }
373
- : undefined })) : null, _jsxs("div", { className: "dsh-qa-body", children: [state.viewingSubagent !== null && !config.ui.showHeader ? (_jsx(QaSubagentBanner, { onClose: handleCloseSubagent })) : null, config.ui.showHeader ? (_jsx(QaHeader, { logoUrl: config.branding.logoUrl, title: conversationTitle, viewingSubagent: state.viewingSubagent !== null, onCloseSubagent: handleCloseSubagent, agentPreset: config.session.agentPreset, agentCount: agentRows.length, agentsOpen: agentsOpen, onToggleAgents: rail.toggleAgents, sourcesVisible: config.sources.enabled && config.sources.display.sidebar, sourcesCount: state.sources.length, sourcesComplete: state.sourcesComplete, sourcesOpen: rail.railOpen && rail.railTab === "sources", onOpenSources: () => rail.openTab("sources"), fileCount: attachmentCount, filesOpen: rail.railOpen && rail.railTab === "files", onOpenFiles: () => rail.openTab("files"), showReset: showResetButton, resetDisabled: controller === undefined || state.phase === "creating", onReset: handleNewChat })) : null, _jsxs("div", { ref: chat, className: "dsh-qa-chat", style: {
374
- "--dsh-qa-content-width": `${config.ui.minContentWidth}px`,
375
- }, children: [_jsxs("div", { ref: transcript, className: "dsh-qa-transcript", onScroll: (event) => {
376
- const element = event.currentTarget;
377
- nearBottom.current = isNearBottom(element);
378
- scheduleActiveTurnSync();
379
- }, children: [empty ? null : (_jsx(QaTurnRail, { items: railItems, activeTurn: activeTurn, busyTurn: busyTurn, scrollerRef: transcript, onNavigate: handleTurnNavigate })), _jsxs("div", { className: "dsh-qa-transcript__inner", children: [empty ? (_jsxs("section", { className: "dsh-qa-welcome", "aria-labelledby": "dsh-qa-welcome-title", children: [_jsx("h2", { id: "dsh-qa-welcome-title", children: config.branding.welcomeMessage }), config.branding.subtitle === "" ? null : (_jsx("p", { children: config.branding.subtitle }))] })) : (visibleMessages.map((message, index) => {
380
- const group = message.role === "user"
381
- ? view.groupByPromptId.get(message.id)
382
- : undefined;
383
- const isLast = index === visibleMessages.length - 1;
384
- return (_jsxs("div", { className: "dsh-qa-message-slot", "data-dsh-qa-turn-anchor": message.role === "user" ? message.id : undefined, children: [_jsx(QaMessage, { message: message, renderMarkdown: config.ui.renderMarkdown, showTimestamp: config.ui.showTimestamps, stateKey: messageStateKey, thinkingPhrases: config.thinkingPhrases, resolveImage: resolveImage, onRegenerate: isLast &&
385
- message.role === "assistant" &&
386
- message.status === "committed" &&
387
- controller !== undefined
388
- ? handleRegenerate
389
- : undefined, onOpenSources: config.sources.enabled &&
390
- config.sources.display.footer
391
- ? rail.openSources
392
- : undefined, onSourceDetail: config.sources.enabled
393
- ? rail.openSourceDetail
394
- : undefined }), group !== undefined && group.turns.length > 1 ? (_jsx(VariantSwitcher, { count: group.turns.length, offset: variantOffsets[group.groupId] ?? 0, onStep: (step) => setVariantOffsets((offsets) => ({
395
- ...offsets,
396
- [group.groupId]: step,
397
- })) })) : null] }, message.id));
398
- })), state.error === null ? null : (_jsxs("div", { className: "dsh-qa-error", role: "alert", children: [_jsx("span", { children: state.error }), state.phase === "error" ? (_jsx("button", { type: "button", onClick: () => void controller?.ensureSession(), children: "\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C" })) : null] }))] })] }), _jsx("footer", { className: "dsh-qa-footer", children: _jsxs("div", { className: "dsh-qa-footer__inner", children: [_jsx(QaComposer, { placeholder: config.branding.placeholder, quickQuestions: empty ? config.suggestedQuestions : NO_QUESTIONS, canSend: state.canSend, canStop: state.canStop, running: state.phase === "running", showStop: config.ui.showStop, status: status, attachments: pendingAttachments, limits: limits, onAttachmentsChange: setPendingAttachments, onSend: handleSend, onStop: handleStop }, state.sessionId ?? "draft"), config.branding.disclaimer === "" ? null : (_jsxs("p", { className: "dsh-qa-footer__disclaimer", children: [_jsxs("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "5.75" }), _jsx("path", { d: "M8 7.25v3.5m0-5.25v.5" })] }), config.branding.disclaimer] }))] }) }), !empty
399
- ? ["left", "right"].map((side) => (_jsx(QaWidthHandle, { side: side, ...widthHandlers }, side)))
400
- : null] })] }), agentsOpen && agentRows.length > 0 ? (_jsx(QaAgentsDrawer, { agents: agentRows, activeId: state.viewingSubagent?.id ?? null, onView: (id, title) => void controller?.viewSubagent(id, title), onClose: () => setAgentsOpen(false) })) : null, rail.railOpen ? (_jsx(QaRightRail, { tabs: railTabs, activeTab: rail.railTab, onTabSelect: rail.selectTab, onClose: rail.close })) : null] })] }));
455
+ : undefined })) : null, _jsxs("div", { className: "dsh-qa-body", children: [state.viewingSubagent !== null && !config.ui.showHeader ? (_jsx(QaSubagentBanner, { onClose: handleCloseSubagent })) : null, config.ui.showHeader ? (_jsx(QaHeader, { logoUrl: config.branding.logoUrl, title: conversationTitle, viewingSubagent: state.viewingSubagent !== null, onCloseSubagent: handleCloseSubagent, agentPreset: config.session.agentPreset, agentCount: agentRows.length, agentsOpen: agentsOpen, onToggleAgents: rail.toggleAgents, sourcesVisible: config.sources.enabled && config.sources.display.sidebar, sourcesCount: state.sources.length, sourcesComplete: state.sourcesComplete, sourcesOpen: rail.railOpen && rail.railTab === "sources", onOpenSources: () => rail.openTab("sources"), fileCount: attachmentCount, filesOpen: rail.railOpen && rail.railTab === "files", onOpenFiles: () => rail.openTab("files"), panelLauncher: _jsx(QaPanelLauncher, { panels: props.panels }), showReset: showResetButton, resetDisabled: controller === undefined || state.phase === "creating", onReset: handleNewChat })) : null, _jsxs("div", { className: "dsh-qa-workspace", children: [_jsxs("div", { ref: chat, className: "dsh-qa-chat", style: {
456
+ "--dsh-qa-content-width": `${config.ui.minContentWidth}px`,
457
+ }, children: [_jsxs("div", { ref: transcript, className: "dsh-qa-transcript", onScroll: (event) => {
458
+ const element = event.currentTarget;
459
+ nearBottom.current = isNearBottom(element);
460
+ scheduleActiveTurnSync();
461
+ }, children: [empty ? null : (_jsx(QaTurnRail, { items: railItems, activeTurn: activeTurn, busyTurn: busyTurn, scrollerRef: transcript, onNavigate: handleTurnNavigate })), _jsxs("div", { className: "dsh-qa-transcript__inner", children: [empty ? (_jsxs("section", { className: "dsh-qa-welcome", "aria-labelledby": "dsh-qa-welcome-title", children: [_jsx("h2", { id: "dsh-qa-welcome-title", children: config.branding.welcomeMessage }), config.branding.subtitle === "" ? null : (_jsx("p", { children: config.branding.subtitle }))] })) : (visibleMessages.map((message, index) => {
462
+ const group = message.role === "user"
463
+ ? view.groupByPromptId.get(message.id)
464
+ : undefined;
465
+ const isLast = index === visibleMessages.length - 1;
466
+ return (_jsxs("div", { className: "dsh-qa-message-slot", "data-dsh-qa-turn-anchor": message.role === "user" ? message.id : undefined, children: [_jsx(QaMessage, { message: message, renderMarkdown: config.ui.renderMarkdown, showTimestamp: config.ui.showTimestamps, stateKey: messageStateKey, thinkingPhrases: config.thinkingPhrases, resolveImage: resolveImage, onRegenerate: isLast &&
467
+ message.role === "assistant" &&
468
+ message.status === "committed" &&
469
+ controller !== undefined
470
+ ? handleRegenerate
471
+ : undefined, onOpenSources: config.sources.enabled &&
472
+ config.sources.display.footer
473
+ ? rail.openSources
474
+ : undefined, onSourceDetail: config.sources.enabled
475
+ ? rail.openSourceDetail
476
+ : undefined }), group !== undefined && group.turns.length > 1 ? (_jsx(VariantSwitcher, { count: group.turns.length, offset: variantOffsets[group.groupId] ?? 0, onStep: (step) => setVariantOffsets((offsets) => ({
477
+ ...offsets,
478
+ [group.groupId]: step,
479
+ })) })) : null] }, message.id));
480
+ })), state.pendingMessage === null ? null : (_jsx("div", { className: "dsh-qa-message-slot", children: _jsx(QaMessage, { message: state.pendingMessage, renderMarkdown: false, showTimestamp: false, thinkingPhrases: config.thinkingPhrases }) })), state.error === null ? null : (_jsxs("div", { className: "dsh-qa-error", role: "alert", children: [_jsx("span", { children: state.error }), state.phase === "error" ? (_jsx("button", { type: "button", onClick: () => void controller?.ensureSession(), children: "\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C" })) : null] }))] })] }), _jsx("footer", { className: "dsh-qa-footer", children: _jsxs("div", { className: "dsh-qa-footer__inner", children: [_jsx(QaApproval, { approvals: state.approvals, onAnswer: handleAnswerApproval }), _jsx(QaQuestions, { questions: state.questions, onAnswer: handleAnswerQuestion, onCancel: handleCancelQuestion }), _jsx(QaComposer, { placeholder: config.branding.placeholder, quickQuestions: empty ? quickQuestions : NO_QUESTIONS, canSend: state.canSend, canStop: state.canStop, running: state.phase === "running", showStop: config.ui.showStop, status: status, attachments: pendingAttachments, limits: limits, onAttachmentsChange: setPendingAttachments, onSend: handleSend, onStop: handleStop }, state.sessionId ?? "draft"), config.branding.disclaimer === "" ? null : (_jsxs("p", { className: "dsh-qa-footer__disclaimer", children: [_jsxs("svg", { viewBox: "0 0 16 16", "aria-hidden": "true", children: [_jsx("circle", { cx: "8", cy: "8", r: "5.75" }), _jsx("path", { d: "M8 7.25v3.5m0-5.25v.5" })] }), config.branding.disclaimer] }))] }) }), !empty
481
+ ? ["left", "right"].map((side) => (_jsx(QaWidthHandle, { side: side, ...widthHandlers }, side)))
482
+ : null] }), _jsx(QaPanelHost, { panels: props.panels, sessionId: state.sessionId, qaToken: accounts?.token() ?? "", renderSlot: props.renderSlot })] })] }), agentsOpen && agentRows.length > 0 ? (_jsx(QaAgentsDrawer, { agents: agentRows, activeId: state.viewingSubagent?.id ?? null, onView: (id, title) => void controller?.viewSubagent(id, title), onClose: () => setAgentsOpen(false) })) : null, rail.railOpen ? (_jsx(QaRightRail, { tabs: railTabs, activeTab: rail.railTab, onTabSelect: rail.selectTab, onClose: rail.close })) : null] })] }));
401
483
  }
402
484
  //# sourceMappingURL=QaSurface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QaSurface.js","sourceRoot":"","sources":["../../src/client/QaSurface.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QaSurface.js","sourceRoot":"","sources":["../../src/client/QaSurface.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Component, useEffect, useSyncExternalStore, } from "react";
3
+ import { QaSurface } from "./QaSurface.js";
4
+ /** Fallback route read when the face failed to assemble: keep the page masked. */
5
+ const MASKED_ROUTE = { pathname: "", active: true };
6
+ const noopSubscribe = () => () => undefined;
7
+ /**
8
+ * The registered `shell.overlay` entry: the surface behind an error boundary
9
+ * the host never sees past. The host's per-slot isolation retires a crashed
10
+ * entry, which for this slot means the QA overlay disappears and the operator
11
+ * shell beneath it becomes reachable — a render crash must never be allowed
12
+ * to make that trade. The boundary keeps the overlay mounted and swaps the
13
+ * surface for a fullscreen failure card; the reload button is the recovery,
14
+ * because after a render crash the component state below (controllers,
15
+ * stores) is untrustworthy.
16
+ *
17
+ * The body mask (`data-dsh-qa-surface`) is owned here, above the boundary:
18
+ * React unmounts a crashed subtree, and the stylesheet that hides the host
19
+ * frame's own columns hangs off that attribute, so a crash unmounting the
20
+ * surface must not lift the mask with it. Deleting the overlay element in
21
+ * the browser then reveals a blank page, not the shell.
22
+ *
23
+ * The wrapper is a function component only because the slot contract types
24
+ * entries as call signatures; its render is trivial and cannot itself throw
25
+ * into the host boundary. It also covers a face that failed to assemble: the
26
+ * slot inject hands over an empty face in that case, a missing route reads
27
+ * as permanently active, and the surface's first hook read throws into the
28
+ * boundary below.
29
+ */
30
+ export function QaSurfaceGuard(props) {
31
+ const route = props.route;
32
+ const routeSnapshot = useSyncExternalStore(route?.subscribe ?? noopSubscribe, route?.getSnapshot ?? (() => MASKED_ROUTE), route?.getSnapshot ?? (() => MASKED_ROUTE));
33
+ const active = routeSnapshot.active;
34
+ useEffect(() => {
35
+ if (!active)
36
+ return;
37
+ // While the surface owns the page, the tab carries the deployment's
38
+ // brand — the same logo the sidebar and the auth gate render. The host's
39
+ // own icon links come back when the route is left (or the plugin
40
+ // unloads): they are removed and restored, not fought over.
41
+ const config = props.config;
42
+ const logoUrl = config?.getSnapshot().config.branding.logoUrl ?? null;
43
+ const hostIcons = Array.from(document.head.querySelectorAll('link[rel~="icon"]'));
44
+ if (logoUrl !== null) {
45
+ for (const icon of hostIcons)
46
+ icon.remove();
47
+ const link = document.createElement("link");
48
+ link.rel = "icon";
49
+ link.href = logoUrl;
50
+ link.dataset.dshQaSurface = "favicon";
51
+ document.head.append(link);
52
+ }
53
+ const previousBodyOverflow = document.body.style.overflow;
54
+ const previousHtmlOverflow = document.documentElement.style.overflow;
55
+ document.body.dataset.dshQaSurface = "active";
56
+ // Lift the proxy-injected boot mask in the same synchronous block: the
57
+ // body attribute above re-masks the host columns and this flag shows the
58
+ // body again, so no paint falls between "hidden boot page" and takeover.
59
+ // The flag is never cleared — off-route, the boot CSS no longer matches.
60
+ document.documentElement.dataset.dshQaBoot = "done";
61
+ document.body.style.overflow = "hidden";
62
+ document.documentElement.style.overflow = "hidden";
63
+ return () => {
64
+ document.querySelector('link[data-dsh-qa-surface="favicon"]')?.remove();
65
+ for (const icon of hostIcons.reverse())
66
+ document.head.prepend(icon);
67
+ delete document.body.dataset.dshQaSurface;
68
+ document.body.style.overflow = previousBodyOverflow;
69
+ document.documentElement.style.overflow = previousHtmlOverflow;
70
+ };
71
+ }, [active, props.config]);
72
+ // Off-route the host shell is the page again (the mask attribute lifts);
73
+ // unmounting the subtree also gives a crashed surface a fresh boundary on
74
+ // re-entry instead of a permanently stuck failure card.
75
+ if (!active)
76
+ return null;
77
+ return _jsx(QaSurfaceBoundary, { ...props });
78
+ }
79
+ class QaSurfaceBoundary extends Component {
80
+ state = { error: undefined };
81
+ static getDerivedStateFromError(error) {
82
+ return { error };
83
+ }
84
+ componentDidCatch(error) {
85
+ console.error("dsh-qa-surface: surface render failed", error);
86
+ }
87
+ render() {
88
+ if (this.state.error === undefined) {
89
+ return _jsx(QaSurface, { ...this.props });
90
+ }
91
+ return (_jsx("main", { className: "dsh-qa-surface dsh-qa-crash", role: "alert", children: _jsxs("section", { className: "dsh-qa-crash__card", children: [_jsx("h1", { children: "\u0418\u043D\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043D\u0435 \u0441\u043C\u043E\u0433 \u043E\u0442\u043A\u0440\u044B\u0442\u044C\u0441\u044F" }), _jsx("p", { children: "\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u0432\u043D\u0443\u0442\u0440\u0435\u043D\u043D\u044F\u044F \u043E\u0448\u0438\u0431\u043A\u0430. \u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443 \u2014 \u0435\u0441\u043B\u0438 \u043E\u0448\u0438\u0431\u043A\u0430 \u043F\u043E\u0432\u0442\u043E\u0440\u044F\u0435\u0442\u0441\u044F, \u0441\u043E\u043E\u0431\u0449\u0438\u0442\u0435 \u0430\u0434\u043C\u0438\u043D\u0438\u0441\u0442\u0440\u0430\u0442\u043E\u0440\u0443 \u0441\u0442\u0435\u043D\u0434\u0430." }), _jsx("button", { type: "button", className: "dsh-qa-crash__reload", onClick: () => {
92
+ window.location.reload();
93
+ }, children: "\u041F\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C" })] }) }));
94
+ }
95
+ }
96
+ //# sourceMappingURL=QaSurfaceGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QaSurfaceGuard.js","sourceRoot":"","sources":["../../src/client/QaSurfaceGuard.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { chatLegacyOf } from "./turn-sources.js";
2
- import { parseSettlement } from "./settlement.js";
2
+ import { parseSettlement, settlementView } from "./settlement.js";
3
3
  import { retryWorkCopy, turnErrorCopy } from "./failure-copy.js";
4
4
  import { flattenToolOutput, toolStatus, workTool, } from "./tool-presentation.js";
5
5
  /**
@@ -334,18 +334,24 @@ export function projectTranscript(snapshot, options = {}) {
334
334
  const text = visibleContentText(node.content);
335
335
  if (text.trim() === "")
336
336
  continue;
337
- const notice = parseSettlement(text);
337
+ const settled = parseSettlement(text);
338
+ const view = settled === undefined
339
+ ? undefined
340
+ : settlementView(settled, {
341
+ nameOf: (id) => options.subagentNames?.[id],
342
+ codenames: options.subagentCodenames === true,
343
+ });
338
344
  output.push({
339
345
  order: node.seq,
340
346
  message: {
341
347
  id: `context:${node.seq}`,
342
348
  role: "system",
343
- text: notice === undefined
349
+ text: view === undefined
344
350
  ? text.replace(/\s+/gu, " ").trim().slice(0, 280)
345
- : notice.title,
351
+ : view.title,
346
352
  status: "info",
347
353
  timestamp: node.time,
348
- ...(notice === undefined ? {} : { notice }),
354
+ ...(view === undefined ? {} : { notice: view }),
349
355
  },
350
356
  });
351
357
  }