@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,4 +1,5 @@
1
1
  import { QA_PROFILE_INSTRUCTIONS_MAX_MAX, QA_PROFILE_INSTRUCTIONS_MAX_MIN, validateIdentityFields, } from "../profile.js";
2
+ import { QA_SKILL_ENABLED_BY_DEFAULT, QA_SKILL_MAX_BYTES_MAX, QA_SKILL_MAX_BYTES_MIN, skillRelativeRootProblem, } from "../personal-skills/skill-format.js";
2
3
  import { DEFAULT_QA_SURFACE_CONFIG } from "./defaults.js";
3
4
  import { assertIntInRange } from "./shared.js";
4
5
  /**
@@ -39,6 +40,22 @@ export function resolveAccounts(input, dependencies) {
39
40
  if (lockdown.sandboxMode === "workspace-write" && !perUserWorkspace) {
40
41
  throw new TypeError("dsh-qa-surface: workspace-write is allowed only with accounts.perUserWorkspace");
41
42
  }
43
+ const relativeRoot = input.accounts?.skills?.relativeRoot ??
44
+ DEFAULT_QA_SURFACE_CONFIG.accounts.skills.relativeRoot;
45
+ const relativeRootProblem = skillRelativeRootProblem(relativeRoot);
46
+ if (relativeRootProblem !== null) {
47
+ throw new TypeError(`dsh-qa-surface: accounts.skills.relativeRoot ${relativeRootProblem}`);
48
+ }
49
+ const maxSkillBytes = input.accounts?.skills?.maxSkillBytes ??
50
+ DEFAULT_QA_SURFACE_CONFIG.accounts.skills.maxSkillBytes;
51
+ assertIntInRange("accounts.skills.maxSkillBytes", maxSkillBytes, QA_SKILL_MAX_BYTES_MIN, QA_SKILL_MAX_BYTES_MAX);
52
+ // A deployment without per-account directories has no personal root to
53
+ // resolve, so the feature reports itself off rather than offering a screen
54
+ // that could only ever refuse. The configured flags stay untouched: turning
55
+ // perUserWorkspace on again brings the deployment's own choice back.
56
+ const skillsEnabled = (input.accounts?.skills?.enabled ?? QA_SKILL_ENABLED_BY_DEFAULT) &&
57
+ accountsEnabled &&
58
+ perUserWorkspace;
42
59
  return Object.freeze({
43
60
  enabled: accountsEnabled,
44
61
  allowRegistration: input.accounts?.allowRegistration ??
@@ -55,6 +72,19 @@ export function resolveAccounts(input, dependencies) {
55
72
  identities: Object.freeze(identityFields.value.map((field) => Object.freeze({ ...field }))),
56
73
  instructionsMaxLength,
57
74
  }),
75
+ starters: Object.freeze({
76
+ enabled: input.accounts?.starters?.enabled ??
77
+ DEFAULT_QA_SURFACE_CONFIG.accounts.starters.enabled,
78
+ }),
79
+ skills: Object.freeze({
80
+ enabled: skillsEnabled,
81
+ relativeRoot: relativeRoot.trim(),
82
+ watch: input.accounts?.skills?.watch ??
83
+ DEFAULT_QA_SURFACE_CONFIG.accounts.skills.watch,
84
+ maxSkillBytes,
85
+ allowResourceEditing: input.accounts?.skills?.allowResourceEditing ??
86
+ DEFAULT_QA_SURFACE_CONFIG.accounts.skills.allowResourceEditing,
87
+ }),
58
88
  });
59
89
  }
60
90
  //# sourceMappingURL=accounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/config-resolvers/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/config-resolvers/accounts.ts"],"names":[],"mappings":"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"}
@@ -51,8 +51,10 @@ export function resolveBasics(input) {
51
51
  DEFAULT_QA_SURFACE_CONFIG.entry.cookieBootstrap,
52
52
  }),
53
53
  interaction: Object.freeze({
54
- approvals: "blocked",
55
- questions: "unsupported",
54
+ approvals: input.interaction?.approvals ??
55
+ DEFAULT_QA_SURFACE_CONFIG.interaction.approvals,
56
+ questions: input.interaction?.questions ??
57
+ DEFAULT_QA_SURFACE_CONFIG.interaction.questions,
56
58
  }),
57
59
  };
58
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"basics.js","sourceRoot":"","sources":["../../src/config-resolvers/basics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basics.js","sourceRoot":"","sources":["../../src/config-resolvers/basics.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { DEFAULT_QA_TEXT_EXTENSIONS } from "../attachment-rules.js";
2
+ import { DEFAULT_QA_DOCUMENTS_CONFIG } from "../documents/defaults.js";
2
3
  import { QA_PROFILE_DEFAULT_INSTRUCTIONS_MAX } from "../profile.js";
4
+ import { QA_SKILL_DEFAULT_RELATIVE_ROOT, QA_SKILL_FILE_MAX_BYTES, } from "../personal-skills/skill-format.js";
3
5
  import { DEFAULT_THINKING_PHRASES } from "../thinking-phrases.js";
4
6
  /** The canonical resolved config; every domain resolver defaults from it. */
5
7
  export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
@@ -34,6 +36,7 @@ export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
34
36
  renderMarkdown: true,
35
37
  minContentWidth: 650,
36
38
  showSessionList: false,
39
+ subagentCodenames: true,
37
40
  }),
38
41
  suggestedQuestions: Object.freeze([
39
42
  "Что ты умеешь?",
@@ -42,6 +45,8 @@ export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
42
45
  ]),
43
46
  thinkingPhrases: DEFAULT_THINKING_PHRASES,
44
47
  interaction: Object.freeze({
48
+ // Fail closed: a deployment that wants the operator to answer a composed
49
+ // tool gate's `ask` opts in with `interactive`.
45
50
  approvals: "blocked",
46
51
  questions: "unsupported",
47
52
  }),
@@ -64,6 +69,7 @@ export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
64
69
  mode: "allow-list",
65
70
  allow: Object.freeze([]),
66
71
  }),
72
+ sharedReadOnlyRoots: Object.freeze([]),
67
73
  }),
68
74
  embedding: Object.freeze({ frameAncestors: null }),
69
75
  accounts: Object.freeze({
@@ -78,11 +84,30 @@ export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
78
84
  identities: Object.freeze([]),
79
85
  instructionsMaxLength: QA_PROFILE_DEFAULT_INSTRUCTIONS_MAX,
80
86
  }),
87
+ starters: Object.freeze({
88
+ enabled: true,
89
+ }),
90
+ skills: Object.freeze({
91
+ // Off, not because of an operator choice but because the canonical
92
+ // default deployment has no accounts and no per-account directory:
93
+ // `resolveAccounts` turns the intent back on wherever one exists.
94
+ enabled: false,
95
+ relativeRoot: QA_SKILL_DEFAULT_RELATIVE_ROOT,
96
+ watch: true,
97
+ maxSkillBytes: QA_SKILL_FILE_MAX_BYTES,
98
+ allowResourceEditing: false,
99
+ }),
81
100
  }),
82
101
  entry: Object.freeze({
83
102
  redirectNonLoopback: true,
84
103
  cookieBootstrap: true,
85
104
  }),
105
+ tools: Object.freeze({
106
+ dynamicActivation: true,
107
+ activationSkill: "qa-surface",
108
+ activationMode: "all",
109
+ activationPresets: Object.freeze([]),
110
+ }),
86
111
  sources: Object.freeze({
87
112
  enabled: true,
88
113
  collect: Object.freeze({
@@ -118,6 +143,7 @@ export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
118
143
  inheritSources: true,
119
144
  enableReportToolFallback: true,
120
145
  markIncompleteOpaqueRuns: true,
146
+ validateReportedSources: true,
121
147
  }),
122
148
  legacy: Object.freeze({ parseAssistantSourcesBlock: false }),
123
149
  }),
@@ -128,5 +154,6 @@ export const DEFAULT_QA_SURFACE_CONFIG = Object.freeze({
128
154
  maxPending: 8,
129
155
  extensions: DEFAULT_QA_TEXT_EXTENSIONS,
130
156
  }),
157
+ documents: DEFAULT_QA_DOCUMENTS_CONFIG,
131
158
  });
132
159
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config-resolvers/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config-resolvers/defaults.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { DEFAULT_QA_SURFACE_CONFIG } from "./defaults.js";
2
+ import { isAbsoluteDirectoryPath } from "./shared.js";
2
3
  /** Tool allow-list names are capped so they stay legible in host echoes. */
3
4
  function uniqueToolNames(values) {
4
5
  const names = [
@@ -9,6 +10,15 @@ function uniqueToolNames(values) {
9
10
  }
10
11
  return Object.freeze(names);
11
12
  }
13
+ function uniqueAbsoluteRoots(values) {
14
+ const roots = [
15
+ ...new Set(values.map((value) => value.trim()).filter(Boolean)),
16
+ ];
17
+ if (roots.some((value) => !isAbsoluteDirectoryPath(value))) {
18
+ throw new TypeError("dsh-qa-surface: lockdown.sharedReadOnlyRoots must contain only absolute paths");
19
+ }
20
+ return Object.freeze(roots);
21
+ }
12
22
  /**
13
23
  * Resolve the lockdown domain. The capability flags are clamped shut, and
14
24
  * showing the reset control needs an explicit authorization here, so the
@@ -74,6 +84,7 @@ export function resolveLockdown(input, ui) {
74
84
  mode: "allow-list",
75
85
  allow: uniqueToolNames(input.lockdown?.toolPolicy?.allow ?? []),
76
86
  }),
87
+ sharedReadOnlyRoots: uniqueAbsoluteRoots(input.lockdown?.sharedReadOnlyRoots ?? []),
77
88
  });
78
89
  }
79
90
  //# sourceMappingURL=lockdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lockdown.js","sourceRoot":"","sources":["../../src/config-resolvers/lockdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lockdown.js","sourceRoot":"","sources":["../../src/config-resolvers/lockdown.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { DEFAULT_QA_SURFACE_CONFIG } from "./defaults.js";
2
- import { optionalText } from "./shared.js";
2
+ import { isAbsoluteDirectoryPath, optionalText } from "./shared.js";
3
3
  /** Resolve the session domain: policy, pinning, and model selection. */
4
4
  export function resolveSession(input) {
5
5
  const policy = input.session?.policy ?? DEFAULT_QA_SURFACE_CONFIG.session.policy;
@@ -10,7 +10,7 @@ export function resolveSession(input) {
10
10
  // The cwd pin is the no-registry alternative to workspaceId; both pin the
11
11
  // session to one directory, so together they are a configuration error.
12
12
  const cwd = optionalText(input.session?.cwd);
13
- if (cwd !== null && !/^([a-zA-Z]:[/\\]|\/)/u.test(cwd)) {
13
+ if (cwd !== null && !isAbsoluteDirectoryPath(cwd)) {
14
14
  throw new TypeError("dsh-qa-surface: session.cwd must be an absolute directory path");
15
15
  }
16
16
  const workspaceId = optionalText(input.session?.workspaceId);
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/config-resolvers/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,MAAM,MAAM,GACV,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;IACpE,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACnE,IAAI,MAAM,KAAK,OAAO,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CACjB,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,SAAS,CACjB,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,WAAW,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,SAAS,CACjB,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CACjB,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GACd,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;QACjC,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/C,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM;QACN,UAAU;QACV,GAAG;QACH,WAAW;QACX,cAAc;QACd,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;QACrD,QAAQ;QACR,KAAK;QACL,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/config-resolvers/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIpE,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,MAAM,MAAM,GACV,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;IACpE,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACnE,IAAI,MAAM,KAAK,OAAO,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CACjB,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CACjB,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7D,IAAI,WAAW,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,SAAS,CACjB,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CACjB,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GACd,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;QACjC,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC;IAC/C,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM;QACN,UAAU;QACV,GAAG;QACH,WAAW;QACX,cAAc;QACd,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;QACrD,QAAQ;QACR,KAAK;QACL,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC"}
@@ -4,6 +4,15 @@ export function optionalText(value) {
4
4
  const trimmed = value?.trim() ?? "";
5
5
  return trimmed === "" ? null : trimmed;
6
6
  }
7
+ /**
8
+ * Whether a configured directory is absolute. The rule reads a drive-letter
9
+ * path as absolute on every platform, like `session.cwd` does: a deployment
10
+ * profile is authored on one machine and may be read on another, so a
11
+ * Windows-style root is not a mistake to reject on a POSIX host.
12
+ */
13
+ export function isAbsoluteDirectoryPath(value) {
14
+ return /^([a-zA-Z]:[/\\]|\/)/u.test(value);
15
+ }
7
16
  /**
8
17
  * Shared numeric guard for operator-tuned limits: the value has to be a safe
9
18
  * integer inside [min, max], and every rejection carries the same message.
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/config-resolvers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,gEAAgE;AAChE,MAAM,UAAU,YAAY,CAAC,KAAgC;IAC3D,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpC,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,KAAa,EACb,GAAW,EACX,GAAW;IAEX,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC/D,MAAM,IAAI,SAAS,CACjB,mBAAmB,IAAI,4BAA4B,GAAG,OAAO,GAAG,EAAE,CACnE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,MAAyB;IACvD,MAAM,SAAS,GAAG;QAChB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAChE,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CACjB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAyB;IACrD,MAAM,OAAO,GAAG;QACd,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAChE,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,SAAS,CACjB,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/config-resolvers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,gEAAgE;AAChE,MAAM,UAAU,YAAY,CAAC,KAAgC;IAC3D,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpC,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,KAAa,EACb,GAAW,EACX,GAAW;IAEX,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC/D,MAAM,IAAI,SAAS,CACjB,mBAAmB,IAAI,4BAA4B,GAAG,OAAO,GAAG,EAAE,CACnE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,MAAyB;IACvD,MAAM,SAAS,GAAG;QAChB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAChE,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CACjB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAAyB;IACrD,MAAM,OAAO,GAAG;QACd,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAChE,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IAC1D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,SAAS,CACjB,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
@@ -71,6 +71,8 @@ export function resolveSources(input) {
71
71
  DEFAULT_QA_SURFACE_CONFIG.sources.subagents.enableReportToolFallback,
72
72
  markIncompleteOpaqueRuns: input.sources?.subagents?.markIncompleteOpaqueRuns ??
73
73
  DEFAULT_QA_SURFACE_CONFIG.sources.subagents.markIncompleteOpaqueRuns,
74
+ validateReportedSources: input.sources?.subagents?.validateReportedSources ??
75
+ DEFAULT_QA_SURFACE_CONFIG.sources.subagents.validateReportedSources,
74
76
  }),
75
77
  legacy: Object.freeze({
76
78
  parseAssistantSourcesBlock: input.sources?.legacy?.parseAssistantSourcesBlock ??
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/config-resolvers/sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/config-resolvers/sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { DEFAULT_QA_SURFACE_CONFIG } from "./defaults.js";
2
+ /**
3
+ * The public skill-name grammar (`@deepseek-ai/dsh-skill`): lowercase
4
+ * kebab-case. Validating here keeps a typo in `activationSkill` from silently
5
+ * disabling activation for the whole deployment.
6
+ */
7
+ const SKILL_NAME = /^[a-z0-9]+(?:-[a-z0-9]+)*$/u;
8
+ /** Resolve the QA tool delivery domain: activation trigger, policy, and scope. */
9
+ export function resolveTools(input) {
10
+ const activationSkill = input.tools?.activationSkill ??
11
+ DEFAULT_QA_SURFACE_CONFIG.tools.activationSkill;
12
+ if (!SKILL_NAME.test(activationSkill)) {
13
+ throw new Error(`tools.activationSkill must be a kebab-case skill name, got "${activationSkill}"`);
14
+ }
15
+ const activationMode = input.tools?.activationMode ??
16
+ DEFAULT_QA_SURFACE_CONFIG.tools.activationMode;
17
+ if (activationMode !== "all") {
18
+ throw new Error(`tools.activationMode must be "all"; got "${String(activationMode)}"`);
19
+ }
20
+ const activationPresets = [
21
+ ...(input.tools?.activationPresets ??
22
+ DEFAULT_QA_SURFACE_CONFIG.tools.activationPresets),
23
+ ];
24
+ for (const preset of activationPresets) {
25
+ if (preset.length === 0) {
26
+ throw new Error("tools.activationPresets must not contain empty names");
27
+ }
28
+ }
29
+ return Object.freeze({
30
+ activationSkill,
31
+ activationMode,
32
+ activationPresets: Object.freeze(activationPresets),
33
+ dynamicActivation: input.tools?.dynamicActivation ??
34
+ DEFAULT_QA_SURFACE_CONFIG.tools.dynamicActivation,
35
+ });
36
+ }
37
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/config-resolvers/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAI1D;;;;GAIG;AACH,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD,kFAAkF;AAClF,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,MAAM,eAAe,GACnB,KAAK,CAAC,KAAK,EAAE,eAAe;QAC5B,yBAAyB,CAAC,KAAK,CAAC,eAAe,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,+DAA+D,eAAe,GAAG,CAClF,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAClB,KAAK,CAAC,KAAK,EAAE,cAAc;QAC3B,yBAAyB,CAAC,KAAK,CAAC,cAAc,CAAC;IACjD,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,cAAc,CAAC,GAAG,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,iBAAiB,GAAG;QACxB,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAiB;YAChC,yBAAyB,CAAC,KAAK,CAAC,iBAAiB,CAAC;KACrD,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,eAAe;QACf,cAAc;QACd,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACnD,iBAAiB,EACf,KAAK,CAAC,KAAK,EAAE,iBAAiB;YAC9B,yBAAyB,CAAC,KAAK,CAAC,iBAAiB;KACpD,CAAC,CAAC;AACL,CAAC"}
@@ -15,6 +15,8 @@ export function resolveUi(input) {
15
15
  renderMarkdown: input.ui?.renderMarkdown ?? DEFAULT_QA_SURFACE_CONFIG.ui.renderMarkdown,
16
16
  minContentWidth,
17
17
  showSessionList: input.ui?.showSessionList ?? DEFAULT_QA_SURFACE_CONFIG.ui.showSessionList,
18
+ subagentCodenames: input.ui?.subagentCodenames ??
19
+ DEFAULT_QA_SURFACE_CONFIG.ui.subagentCodenames,
18
20
  });
19
21
  }
20
22
  //# sourceMappingURL=ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/config-resolvers/ui.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,MAAM,eAAe,GACnB,KAAK,CAAC,EAAE,EAAE,eAAe,IAAI,yBAAyB,CAAC,EAAE,CAAC,eAAe,CAAC;IAC5E,gBAAgB,CAAC,oBAAoB,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,IAAI,yBAAyB,CAAC,EAAE,CAAC,UAAU;QAC3E,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,IAAI,yBAAyB,CAAC,EAAE,CAAC,SAAS;QACxE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,IAAI,yBAAyB,CAAC,EAAE,CAAC,QAAQ;QACrE,cAAc,EACZ,KAAK,CAAC,EAAE,EAAE,cAAc,IAAI,yBAAyB,CAAC,EAAE,CAAC,cAAc;QACzE,gBAAgB,EACd,KAAK,CAAC,EAAE,EAAE,gBAAgB;YAC1B,yBAAyB,CAAC,EAAE,CAAC,gBAAgB;QAC/C,aAAa,EACX,KAAK,CAAC,EAAE,EAAE,aAAa,IAAI,yBAAyB,CAAC,EAAE,CAAC,aAAa;QACvE,cAAc,EACZ,KAAK,CAAC,EAAE,EAAE,cAAc,IAAI,yBAAyB,CAAC,EAAE,CAAC,cAAc;QACzE,eAAe;QACf,eAAe,EACb,KAAK,CAAC,EAAE,EAAE,eAAe,IAAI,yBAAyB,CAAC,EAAE,CAAC,eAAe;KAC5E,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/config-resolvers/ui.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,MAAM,eAAe,GACnB,KAAK,CAAC,EAAE,EAAE,eAAe,IAAI,yBAAyB,CAAC,EAAE,CAAC,eAAe,CAAC;IAC5E,gBAAgB,CAAC,oBAAoB,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,IAAI,yBAAyB,CAAC,EAAE,CAAC,UAAU;QAC3E,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,IAAI,yBAAyB,CAAC,EAAE,CAAC,SAAS;QACxE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,IAAI,yBAAyB,CAAC,EAAE,CAAC,QAAQ;QACrE,cAAc,EACZ,KAAK,CAAC,EAAE,EAAE,cAAc,IAAI,yBAAyB,CAAC,EAAE,CAAC,cAAc;QACzE,gBAAgB,EACd,KAAK,CAAC,EAAE,EAAE,gBAAgB;YAC1B,yBAAyB,CAAC,EAAE,CAAC,gBAAgB;QAC/C,aAAa,EACX,KAAK,CAAC,EAAE,EAAE,aAAa,IAAI,yBAAyB,CAAC,EAAE,CAAC,aAAa;QACvE,cAAc,EACZ,KAAK,CAAC,EAAE,EAAE,cAAc,IAAI,yBAAyB,CAAC,EAAE,CAAC,cAAc;QACzE,eAAe;QACf,eAAe,EACb,KAAK,CAAC,EAAE,EAAE,eAAe,IAAI,yBAAyB,CAAC,EAAE,CAAC,eAAe;QAC3E,iBAAiB,EACf,KAAK,CAAC,EAAE,EAAE,iBAAiB;YAC3B,yBAAyB,CAAC,EAAE,CAAC,iBAAiB;KACjD,CAAC,CAAC;AACL,CAAC"}