@yadsh/dsh-qa-surface 0.2.0 → 0.4.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 (325) hide show
  1. package/README.md +236 -20
  2. package/compatibility.json +11 -3
  3. package/lib/account-remotes.js +100 -0
  4. package/lib/account-remotes.js.map +1 -0
  5. package/lib/accounts/credentials.js +27 -0
  6. package/lib/accounts/credentials.js.map +1 -0
  7. package/lib/accounts/errors.js +9 -0
  8. package/lib/accounts/errors.js.map +1 -0
  9. package/lib/accounts/file.js +101 -0
  10. package/lib/accounts/file.js.map +1 -0
  11. package/lib/accounts/index.js +2 -0
  12. package/lib/accounts/index.js.map +1 -0
  13. package/lib/accounts/store.js +461 -0
  14. package/lib/accounts/store.js.map +1 -0
  15. package/lib/accounts/token.js +61 -0
  16. package/lib/accounts/token.js.map +1 -0
  17. package/lib/attachment-rules.js +111 -0
  18. package/lib/attachment-rules.js.map +1 -0
  19. package/lib/attestation.js.map +1 -1
  20. package/lib/cli.js +256 -0
  21. package/lib/cli.js.map +1 -0
  22. package/lib/client/QaAccountsController.js +359 -0
  23. package/lib/client/QaAccountsController.js.map +1 -0
  24. package/lib/client/QaSessionController.js +238 -180
  25. package/lib/client/QaSessionController.js.map +1 -1
  26. package/lib/client/QaSurface.js +281 -105
  27. package/lib/client/QaSurface.js.map +1 -1
  28. package/lib/client/QaTranscriptAdapter.js +95 -244
  29. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  30. package/lib/client/attachments.js +150 -0
  31. package/lib/client/attachments.js.map +1 -0
  32. package/lib/client/attestation.js +7 -1
  33. package/lib/client/attestation.js.map +1 -1
  34. package/lib/client/base64.js +16 -0
  35. package/lib/client/base64.js.map +1 -0
  36. package/lib/client/chat-files.js +48 -0
  37. package/lib/client/chat-files.js.map +1 -0
  38. package/lib/client/components/Markdown.js +54 -13
  39. package/lib/client/components/Markdown.js.map +1 -1
  40. package/lib/client/components/QaAuthGate.js +40 -0
  41. package/lib/client/components/QaAuthGate.js.map +1 -0
  42. package/lib/client/components/QaChangelog.js +131 -0
  43. package/lib/client/components/QaChangelog.js.map +1 -0
  44. package/lib/client/components/QaComposer.js +56 -74
  45. package/lib/client/components/QaComposer.js.map +1 -1
  46. package/lib/client/components/QaFileAttachment.js +19 -0
  47. package/lib/client/components/QaFileAttachment.js.map +1 -0
  48. package/lib/client/components/QaFilesPanel.js +45 -0
  49. package/lib/client/components/QaFilesPanel.js.map +1 -0
  50. package/lib/client/components/QaHeader.js +34 -0
  51. package/lib/client/components/QaHeader.js.map +1 -0
  52. package/lib/client/components/QaMessage.js +61 -18
  53. package/lib/client/components/QaMessage.js.map +1 -1
  54. package/lib/client/components/QaModal.js +31 -0
  55. package/lib/client/components/QaModal.js.map +1 -0
  56. package/lib/client/components/QaProfile.js +64 -0
  57. package/lib/client/components/QaProfile.js.map +1 -0
  58. package/lib/client/components/QaRightRail.js +15 -0
  59. package/lib/client/components/QaRightRail.js.map +1 -0
  60. package/lib/client/components/QaSidebar.js +68 -20
  61. package/lib/client/components/QaSidebar.js.map +1 -1
  62. package/lib/client/components/QaSourcesPanel.js +127 -0
  63. package/lib/client/components/QaSourcesPanel.js.map +1 -0
  64. package/lib/client/components/QaTurnRail.js +296 -0
  65. package/lib/client/components/QaTurnRail.js.map +1 -0
  66. package/lib/client/components/QaWelcomeNotice.js +125 -0
  67. package/lib/client/components/QaWelcomeNotice.js.map +1 -0
  68. package/lib/client/components/QaWidthHandle.js +147 -0
  69. package/lib/client/components/QaWidthHandle.js.map +1 -0
  70. package/lib/client/components/QaWorkGroup.js +19 -20
  71. package/lib/client/components/QaWorkGroup.js.map +1 -1
  72. package/lib/client/components/source-refs.js +78 -0
  73. package/lib/client/components/source-refs.js.map +1 -0
  74. package/lib/client/components/surface-utils.js +28 -0
  75. package/lib/client/components/surface-utils.js.map +1 -0
  76. package/lib/client/components/thinking-phrases.js +24 -0
  77. package/lib/client/components/thinking-phrases.js.map +1 -0
  78. package/lib/client/create-session.js +26 -0
  79. package/lib/client/create-session.js.map +1 -0
  80. package/lib/client/failure-copy.js +63 -0
  81. package/lib/client/failure-copy.js.map +1 -0
  82. package/lib/client/index.js +135 -16
  83. package/lib/client/index.js.map +1 -1
  84. package/lib/client/project-session-state.js +78 -0
  85. package/lib/client/project-session-state.js.map +1 -0
  86. package/lib/client/prompt-content.js +54 -0
  87. package/lib/client/prompt-content.js.map +1 -0
  88. package/lib/client/session-admission.js +38 -0
  89. package/lib/client/session-admission.js.map +1 -0
  90. package/lib/client/session-assets.js +52 -0
  91. package/lib/client/session-assets.js.map +1 -0
  92. package/lib/client/session-sources.js +61 -0
  93. package/lib/client/session-sources.js.map +1 -0
  94. package/lib/client/settings/card.js +143 -0
  95. package/lib/client/settings/card.js.map +1 -0
  96. package/lib/client/settings/fields.js +145 -0
  97. package/lib/client/settings/fields.js.map +1 -0
  98. package/lib/client/settings/format.js +255 -0
  99. package/lib/client/settings/format.js.map +1 -0
  100. package/lib/client/settings/sections/access.js +25 -0
  101. package/lib/client/settings/sections/access.js.map +1 -0
  102. package/lib/client/settings/sections/accounts.js +47 -0
  103. package/lib/client/settings/sections/accounts.js.map +1 -0
  104. package/lib/client/settings/sections/attachments.js +46 -0
  105. package/lib/client/settings/sections/attachments.js.map +1 -0
  106. package/lib/client/settings/sections/branding.js +28 -0
  107. package/lib/client/settings/sections/branding.js.map +1 -0
  108. package/lib/client/settings/sections/common.js +20 -0
  109. package/lib/client/settings/sections/common.js.map +1 -0
  110. package/lib/client/settings/sections/embedding.js +19 -0
  111. package/lib/client/settings/sections/embedding.js.map +1 -0
  112. package/lib/client/settings/sections/interface.js +60 -0
  113. package/lib/client/settings/sections/interface.js.map +1 -0
  114. package/lib/client/settings/sections/lockdown.js +82 -0
  115. package/lib/client/settings/sections/lockdown.js.map +1 -0
  116. package/lib/client/settings/sections/session.js +53 -0
  117. package/lib/client/settings/sections/session.js.map +1 -0
  118. package/lib/client/settings/sections/sources.js +72 -0
  119. package/lib/client/settings/sections/sources.js.map +1 -0
  120. package/lib/client/settings/sections/status.js +37 -0
  121. package/lib/client/settings/sections/status.js.map +1 -0
  122. package/lib/client/settings/sections.js +23 -0
  123. package/lib/client/settings/sections.js.map +1 -0
  124. package/lib/client/settings/styles.js +57 -0
  125. package/lib/client/settings/styles.js.map +1 -0
  126. package/lib/client/settlement.js +24 -0
  127. package/lib/client/settlement.js.map +1 -0
  128. package/lib/client/stream-publisher.js +47 -0
  129. package/lib/client/stream-publisher.js.map +1 -0
  130. package/lib/client/styles.js +225 -17
  131. package/lib/client/styles.js.map +1 -1
  132. package/lib/client/tool-presentation.js +102 -0
  133. package/lib/client/tool-presentation.js.map +1 -0
  134. package/lib/client/turn-sources.js +98 -0
  135. package/lib/client/turn-sources.js.map +1 -0
  136. package/lib/client/types.js +2 -0
  137. package/lib/client/types.js.map +1 -1
  138. package/lib/client/use-right-rail.js +96 -0
  139. package/lib/client/use-right-rail.js.map +1 -0
  140. package/lib/client/use-session-ui-state.js +75 -0
  141. package/lib/client/use-session-ui-state.js.map +1 -0
  142. package/lib/client/use-transcript-view.js +44 -0
  143. package/lib/client/use-transcript-view.js.map +1 -0
  144. package/lib/client.js +9052 -1345
  145. package/lib/client.js.map +1 -1
  146. package/lib/config-resolvers/accounts.js +60 -0
  147. package/lib/config-resolvers/accounts.js.map +1 -0
  148. package/lib/config-resolvers/attachments.js +28 -0
  149. package/lib/config-resolvers/attachments.js.map +1 -0
  150. package/lib/config-resolvers/basics.js +59 -0
  151. package/lib/config-resolvers/basics.js.map +1 -0
  152. package/lib/config-resolvers/defaults.js +132 -0
  153. package/lib/config-resolvers/defaults.js.map +1 -0
  154. package/lib/config-resolvers/lockdown.js +79 -0
  155. package/lib/config-resolvers/lockdown.js.map +1 -0
  156. package/lib/config-resolvers/session.js +42 -0
  157. package/lib/config-resolvers/session.js.map +1 -0
  158. package/lib/config-resolvers/shared.js +42 -0
  159. package/lib/config-resolvers/shared.js.map +1 -0
  160. package/lib/config-resolvers/sources.js +81 -0
  161. package/lib/config-resolvers/sources.js.map +1 -0
  162. package/lib/config-resolvers/ui.js +20 -0
  163. package/lib/config-resolvers/ui.js.map +1 -0
  164. package/lib/config.js +279 -102
  165. package/lib/config.js.map +1 -1
  166. package/lib/entry-redirect.js +45 -0
  167. package/lib/entry-redirect.js.map +1 -0
  168. package/lib/host-route.js +25 -1
  169. package/lib/host-route.js.map +1 -1
  170. package/lib/index.js +258 -23
  171. package/lib/index.js.map +1 -1
  172. package/lib/launch-token.js +42 -0
  173. package/lib/launch-token.js.map +1 -0
  174. package/lib/profile.js +214 -0
  175. package/lib/profile.js.map +1 -0
  176. package/lib/prompt-notes.js +231 -0
  177. package/lib/prompt-notes.js.map +1 -0
  178. package/lib/provenance/collector.js +40 -0
  179. package/lib/provenance/collector.js.map +1 -0
  180. package/lib/provenance/connectors.js +147 -0
  181. package/lib/provenance/connectors.js.map +1 -0
  182. package/lib/provenance/dedupe.js +89 -0
  183. package/lib/provenance/dedupe.js.map +1 -0
  184. package/lib/provenance/extractors.js +340 -0
  185. package/lib/provenance/extractors.js.map +1 -0
  186. package/lib/provenance/file-preview.js +39 -0
  187. package/lib/provenance/file-preview.js.map +1 -0
  188. package/lib/provenance/host-store.js +387 -0
  189. package/lib/provenance/host-store.js.map +1 -0
  190. package/lib/provenance/index.js +9 -0
  191. package/lib/provenance/index.js.map +1 -0
  192. package/lib/provenance/normalize.js +128 -0
  193. package/lib/provenance/normalize.js.map +1 -0
  194. package/lib/provenance/reported.js +53 -0
  195. package/lib/provenance/reported.js.map +1 -0
  196. package/lib/provenance/types.js +2 -0
  197. package/lib/provenance/types.js.map +1 -0
  198. package/lib/resolve-config.js +35 -249
  199. package/lib/resolve-config.js.map +1 -1
  200. package/lib/secure-session.js +122 -14
  201. package/lib/secure-session.js.map +1 -1
  202. package/lib/shared/session-key.js +18 -0
  203. package/lib/shared/session-key.js.map +1 -0
  204. package/lib/shared/settings.js +10 -0
  205. package/lib/shared/settings.js.map +1 -0
  206. package/lib/thinking-phrases.js +68 -0
  207. package/lib/thinking-phrases.js.map +1 -0
  208. package/lib/typert.host.js +749 -11
  209. package/lib/typert.remote-client.d.ts +23 -3
  210. package/lib/typert.remote-client.js +593 -6
  211. package/lib/types/account-remotes.d.ts +42 -0
  212. package/lib/types/accounts/credentials.d.ts +14 -0
  213. package/lib/types/accounts/errors.d.ts +11 -0
  214. package/lib/types/accounts/file.d.ts +82 -0
  215. package/lib/types/accounts/index.d.ts +2 -0
  216. package/lib/types/accounts/store.d.ts +144 -0
  217. package/lib/types/accounts/token.d.ts +31 -0
  218. package/lib/types/attachment-rules.d.ts +44 -0
  219. package/lib/types/attestation.d.ts +1 -1
  220. package/lib/types/cli.d.ts +9 -0
  221. package/lib/types/client/QaAccountsController.d.ts +102 -0
  222. package/lib/types/client/QaConfigController.d.ts +1 -1
  223. package/lib/types/client/QaSessionController.d.ts +61 -22
  224. package/lib/types/client/QaSurface.d.ts +14 -3
  225. package/lib/types/client/QaTranscriptAdapter.d.ts +5 -10
  226. package/lib/types/client/attachments.d.ts +54 -0
  227. package/lib/types/client/base64.d.ts +10 -0
  228. package/lib/types/client/chat-files.d.ts +30 -0
  229. package/lib/types/client/components/Markdown.d.ts +11 -1
  230. package/lib/types/client/components/QaAgentsDrawer.d.ts +1 -1
  231. package/lib/types/client/components/QaAuthGate.d.ts +15 -0
  232. package/lib/types/client/components/QaChangelog.d.ts +21 -0
  233. package/lib/types/client/components/QaComposer.d.ts +8 -4
  234. package/lib/types/client/components/QaFileAttachment.d.ts +14 -0
  235. package/lib/types/client/components/QaFilesPanel.d.ts +15 -0
  236. package/lib/types/client/components/QaHeader.d.ts +41 -0
  237. package/lib/types/client/components/QaMessage.d.ts +12 -3
  238. package/lib/types/client/components/QaModal.d.ts +26 -0
  239. package/lib/types/client/components/QaProfile.d.ts +25 -0
  240. package/lib/types/client/components/QaRightRail.d.ts +23 -0
  241. package/lib/types/client/components/QaSidebar.d.ts +44 -2
  242. package/lib/types/client/components/QaSourcesPanel.d.ts +23 -0
  243. package/lib/types/client/components/QaTurnRail.d.ts +65 -0
  244. package/lib/types/client/components/QaWelcomeNotice.d.ts +27 -0
  245. package/lib/types/client/components/QaWidthHandle.d.ts +43 -0
  246. package/lib/types/client/components/QaWorkGroup.d.ts +5 -3
  247. package/lib/types/client/components/source-refs.d.ts +16 -0
  248. package/lib/types/client/components/surface-utils.d.ts +11 -0
  249. package/lib/types/client/components/thinking-phrases.d.ts +9 -0
  250. package/lib/types/client/create-session.d.ts +13 -0
  251. package/lib/types/client/failure-copy.d.ts +19 -0
  252. package/lib/types/client/index.d.ts +1 -0
  253. package/lib/types/client/project-session-state.d.ts +30 -0
  254. package/lib/types/client/prompt-content.d.ts +30 -0
  255. package/lib/types/client/session-admission.d.ts +23 -0
  256. package/lib/types/client/session-assets.d.ts +20 -0
  257. package/lib/types/client/session-sources.d.ts +28 -0
  258. package/lib/types/client/settings/card.d.ts +23 -0
  259. package/lib/types/client/settings/fields.d.ts +139 -0
  260. package/lib/types/client/settings/format.d.ts +108 -0
  261. package/lib/types/client/settings/sections/access.d.ts +9 -0
  262. package/lib/types/client/settings/sections/accounts.d.ts +9 -0
  263. package/lib/types/client/settings/sections/attachments.d.ts +15 -0
  264. package/lib/types/client/settings/sections/branding.d.ts +8 -0
  265. package/lib/types/client/settings/sections/common.d.ts +28 -0
  266. package/lib/types/client/settings/sections/embedding.d.ts +8 -0
  267. package/lib/types/client/settings/sections/interface.d.ts +9 -0
  268. package/lib/types/client/settings/sections/lockdown.d.ts +9 -0
  269. package/lib/types/client/settings/sections/session.d.ts +9 -0
  270. package/lib/types/client/settings/sections/sources.d.ts +9 -0
  271. package/lib/types/client/settings/sections/status.d.ts +22 -0
  272. package/lib/types/client/settings/sections.d.ts +25 -0
  273. package/lib/types/client/settings/styles.d.ts +8 -0
  274. package/lib/types/client/settlement.d.ts +6 -0
  275. package/lib/types/client/stream-publisher.d.ts +28 -0
  276. package/lib/types/client/tool-presentation.d.ts +6 -0
  277. package/lib/types/client/turn-sources.d.ts +14 -0
  278. package/lib/types/client/types.d.ts +101 -9
  279. package/lib/types/client/use-right-rail.d.ts +56 -0
  280. package/lib/types/client/use-session-ui-state.d.ts +41 -0
  281. package/lib/types/client/use-transcript-view.d.ts +20 -0
  282. package/lib/types/config-resolvers/accounts.d.ts +15 -0
  283. package/lib/types/config-resolvers/attachments.d.ts +6 -0
  284. package/lib/types/config-resolvers/basics.d.ts +8 -0
  285. package/lib/types/config-resolvers/defaults.d.ts +4 -0
  286. package/lib/types/config-resolvers/lockdown.d.ts +10 -0
  287. package/lib/types/config-resolvers/session.d.ts +6 -0
  288. package/lib/types/config-resolvers/shared.d.ts +16 -0
  289. package/lib/types/config-resolvers/sources.d.ts +6 -0
  290. package/lib/types/config-resolvers/ui.d.ts +6 -0
  291. package/lib/types/entry-redirect.d.ts +20 -0
  292. package/lib/types/host-route.d.ts +14 -1
  293. package/lib/types/index.d.ts +54 -3
  294. package/lib/types/launch-token.d.ts +21 -0
  295. package/lib/types/profile.d.ts +76 -0
  296. package/lib/types/prompt-notes.d.ts +110 -0
  297. package/lib/types/provenance/collector.d.ts +26 -0
  298. package/lib/types/provenance/connectors.d.ts +11 -0
  299. package/lib/types/provenance/dedupe.d.ts +6 -0
  300. package/lib/types/provenance/extractors.d.ts +14 -0
  301. package/lib/types/provenance/file-preview.d.ts +10 -0
  302. package/lib/types/provenance/host-store.d.ts +54 -0
  303. package/lib/types/provenance/index.d.ts +10 -0
  304. package/lib/types/provenance/normalize.d.ts +13 -0
  305. package/lib/types/provenance/reported.d.ts +5 -0
  306. package/lib/types/provenance/types.d.ts +78 -0
  307. package/lib/types/resolve-config.d.ts +8 -3
  308. package/lib/types/secure-session.d.ts +36 -2
  309. package/lib/types/shared/session-key.d.ts +23 -0
  310. package/lib/types/shared/settings.d.ts +10 -0
  311. package/lib/types/thinking-phrases.d.ts +17 -0
  312. package/lib/types/types.d.ts +290 -16
  313. package/lib/types/user-workspace.d.ts +38 -0
  314. package/lib/user-workspace.js +231 -0
  315. package/lib/user-workspace.js.map +1 -0
  316. package/package.json +71 -47
  317. package/CHANGELOG.md +0 -93
  318. package/SPEC-dsh-qa-surface.md +0 -2425
  319. package/docs/ARCHITECTURE.md +0 -66
  320. package/docs/COMPATIBILITY.md +0 -14
  321. package/docs/CONFIGURATION.md +0 -112
  322. package/docs/EMBEDDING.md +0 -13
  323. package/lib/client/components/QaSourcesDrawer.js +0 -46
  324. package/lib/client/components/QaSourcesDrawer.js.map +0 -1
  325. package/lib/types/client/components/QaSourcesDrawer.d.ts +0 -8
@@ -1,6 +1,110 @@
1
1
  /* Generated by @deepseek-ai/dsh-typert-generator from FaceModel — do not edit. */
2
2
  import { z } from 'zod'
3
3
 
4
+ const QaSourceMetadataValueRemoteCodec$schema = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => QaSourceMetadataValueRemoteCodec$schema)), z.record(z.string(), z.lazy(() => QaSourceMetadataValueRemoteCodec$schema)).readonly()])
5
+ const _yadsh_dsh_qa_surface_qaSurface_accountsClaimSessions_parameter_0$schema = z.string()
6
+ const _yadsh_dsh_qa_surface_qaSurface_accountsClaimSessions_parameter_1$schema = z.array(z.string())
7
+ const _yadsh_dsh_qa_surface_qaSurface_accountsClaimSessions_result$schema = z.object({
8
+ 'claimed': z.number().readonly(),
9
+ 'conflicts': z.array(z.string()).readonly(),
10
+ })
11
+ const _yadsh_dsh_qa_surface_qaSurface_accountsListOwnership_parameter_0$schema = z.string()
12
+ const _yadsh_dsh_qa_surface_qaSurface_accountsListOwnership_result$schema = z.object({
13
+ 'entries': z.array(z.object({
14
+ 'sessionId': z.string().readonly(),
15
+ 'userId': z.string().readonly(),
16
+ 'displayName': z.string().readonly(),
17
+ 'claimedAt': z.string().readonly(),
18
+ })).readonly(),
19
+ })
20
+ const _yadsh_dsh_qa_surface_qaSurface_accountsLogin_parameter_0$schema = z.string()
21
+ const _yadsh_dsh_qa_surface_qaSurface_accountsLogin_parameter_1$schema = z.string()
22
+ const _yadsh_dsh_qa_surface_qaSurface_accountsLogin_result$schema = z.object({
23
+ 'token': z.string().readonly(),
24
+ 'user': z.object({
25
+ 'id': z.string().readonly(),
26
+ 'email': z.string().readonly(),
27
+ 'displayName': z.string().readonly(),
28
+ 'role': z.union([z.literal("user"), z.literal("admin")]).readonly(),
29
+ 'createdAt': z.string().readonly(),
30
+ 'lastLoginAt': z.union([z.literal(null), z.string()]).readonly(),
31
+ 'disabled': z.boolean().readonly(),
32
+ 'profile': z.object({
33
+ 'fullName': z.string().readonly(),
34
+ 'identities': z.record(z.string(), z.string()).readonly().readonly(),
35
+ 'instructions': z.string().readonly(),
36
+ 'updatedAt': z.union([z.literal(null), z.string()]).readonly(),
37
+ }).readonly(),
38
+ }).readonly(),
39
+ })
40
+ const _yadsh_dsh_qa_surface_qaSurface_accountsOwnedSessions_parameter_0$schema = z.string()
41
+ const _yadsh_dsh_qa_surface_qaSurface_accountsOwnedSessions_result$schema = z.object({
42
+ 'ids': z.array(z.string()).readonly(),
43
+ })
44
+ const _yadsh_dsh_qa_surface_qaSurface_accountsRegister_parameter_0$schema = z.string()
45
+ const _yadsh_dsh_qa_surface_qaSurface_accountsRegister_parameter_1$schema = z.string()
46
+ const _yadsh_dsh_qa_surface_qaSurface_accountsRegister_result$schema = z.object({
47
+ 'token': z.string().readonly(),
48
+ 'user': z.object({
49
+ 'id': z.string().readonly(),
50
+ 'email': z.string().readonly(),
51
+ 'displayName': z.string().readonly(),
52
+ 'role': z.union([z.literal("user"), z.literal("admin")]).readonly(),
53
+ 'createdAt': z.string().readonly(),
54
+ 'lastLoginAt': z.union([z.literal(null), z.string()]).readonly(),
55
+ 'disabled': z.boolean().readonly(),
56
+ 'profile': z.object({
57
+ 'fullName': z.string().readonly(),
58
+ 'identities': z.record(z.string(), z.string()).readonly().readonly(),
59
+ 'instructions': z.string().readonly(),
60
+ 'updatedAt': z.union([z.literal(null), z.string()]).readonly(),
61
+ }).readonly(),
62
+ }).readonly(),
63
+ })
64
+ const _yadsh_dsh_qa_surface_qaSurface_accountsUpdateProfile_parameter_0$schema = z.string()
65
+ const _yadsh_dsh_qa_surface_qaSurface_accountsUpdateProfile_parameter_1$schema = z.object({
66
+ 'fullName': z.string().readonly(),
67
+ 'identities': z.record(z.string(), z.string()).readonly().readonly(),
68
+ 'instructions': z.string().readonly(),
69
+ })
70
+ const _yadsh_dsh_qa_surface_qaSurface_accountsUpdateProfile_result$schema = z.object({
71
+ 'id': z.string().readonly(),
72
+ 'email': z.string().readonly(),
73
+ 'displayName': z.string().readonly(),
74
+ 'role': z.union([z.literal("user"), z.literal("admin")]).readonly(),
75
+ 'createdAt': z.string().readonly(),
76
+ 'lastLoginAt': z.union([z.literal(null), z.string()]).readonly(),
77
+ 'disabled': z.boolean().readonly(),
78
+ 'profile': z.object({
79
+ 'fullName': z.string().readonly(),
80
+ 'identities': z.record(z.string(), z.string()).readonly().readonly(),
81
+ 'instructions': z.string().readonly(),
82
+ 'updatedAt': z.union([z.literal(null), z.string()]).readonly(),
83
+ }).readonly(),
84
+ })
85
+ const _yadsh_dsh_qa_surface_qaSurface_accountsWhoami_parameter_0$schema = z.string()
86
+ const _yadsh_dsh_qa_surface_qaSurface_accountsWhoami_result$schema = z.union([z.object({
87
+ 'authenticated': z.literal(false).readonly(),
88
+ }), z.object({
89
+ 'authenticated': z.literal(true).readonly(),
90
+ 'user': z.object({
91
+ 'id': z.string().readonly(),
92
+ 'email': z.string().readonly(),
93
+ 'displayName': z.string().readonly(),
94
+ 'role': z.union([z.literal("user"), z.literal("admin")]).readonly(),
95
+ 'createdAt': z.string().readonly(),
96
+ 'lastLoginAt': z.union([z.literal(null), z.string()]).readonly(),
97
+ 'disabled': z.boolean().readonly(),
98
+ 'profile': z.object({
99
+ 'fullName': z.string().readonly(),
100
+ 'identities': z.record(z.string(), z.string()).readonly().readonly(),
101
+ 'instructions': z.string().readonly(),
102
+ 'updatedAt': z.union([z.literal(null), z.string()]).readonly(),
103
+ }).readonly(),
104
+ }).readonly(),
105
+ })])
106
+ const _yadsh_dsh_qa_surface_qaSurface_createSession_parameter_0$schema = z.string()
107
+ const _yadsh_dsh_qa_surface_qaSurface_createSession_result$schema = z.string()
4
108
  const _yadsh_dsh_qa_surface_qaSurface_describe_result$schema = z.object({
5
109
  'enabled': z.boolean().readonly(),
6
110
  'route': z.object({
@@ -34,10 +138,11 @@ const _yadsh_dsh_qa_surface_qaSurface_describe_result$schema = z.object({
34
138
  'showToolActivity': z.boolean().readonly(),
35
139
  'showReasoning': z.boolean().readonly(),
36
140
  'renderMarkdown': z.boolean().readonly(),
37
- 'maxContentWidth': z.number().readonly(),
141
+ 'minContentWidth': z.number().readonly(),
38
142
  'showSessionList': z.boolean().readonly(),
39
143
  }).readonly(),
40
144
  'suggestedQuestions': z.array(z.string()).readonly(),
145
+ 'thinkingPhrases': z.array(z.string()).readonly(),
41
146
  'interaction': z.object({
42
147
  'approvals': z.literal("blocked").readonly(),
43
148
  'questions': z.literal("unsupported").readonly(),
@@ -47,7 +152,7 @@ const _yadsh_dsh_qa_surface_qaSurface_describe_result$schema = z.object({
47
152
  'enforceFixedAgentPreset': z.boolean().readonly(),
48
153
  'enforceFixedWorkspace': z.boolean().readonly(),
49
154
  'enforceFixedModel': z.boolean().readonly(),
50
- 'sandboxMode': z.literal("read-only").readonly(),
155
+ 'sandboxMode': z.union([z.literal("read-only"), z.literal("workspace-write")]).readonly(),
51
156
  'approvalPolicy': z.literal("never").readonly(),
52
157
  'permissionPreset': z.string().readonly(),
53
158
  'allowPermissionChanges': z.literal(false).readonly(),
@@ -64,21 +169,173 @@ const _yadsh_dsh_qa_surface_qaSurface_describe_result$schema = z.object({
64
169
  }).readonly(),
65
170
  'embedding': z.object({
66
171
  'frameAncestors': z.union([z.literal(null), z.string()]).readonly(),
172
+ }).readonly(),
173
+ 'accounts': z.object({
174
+ 'enabled': z.boolean().readonly(),
175
+ 'allowRegistration': z.boolean().readonly(),
176
+ 'sessionTtlDays': z.number().readonly(),
177
+ 'showOtherUsersChats': z.boolean().readonly(),
178
+ 'perUserWorkspace': z.boolean().readonly(),
179
+ 'profile': z.object({
180
+ 'enabled': z.boolean().readonly(),
181
+ 'inject': z.boolean().readonly(),
182
+ 'identities': z.array(z.object({
183
+ 'key': z.string().readonly(),
184
+ 'label': z.string().readonly(),
185
+ })).readonly(),
186
+ 'instructionsMaxLength': z.number().readonly(),
187
+ }).readonly(),
188
+ }).readonly(),
189
+ 'entry': z.object({
190
+ 'redirectNonLoopback': z.boolean().readonly(),
191
+ 'cookieBootstrap': z.boolean().readonly(),
192
+ }).readonly(),
193
+ 'sources': z.object({
194
+ 'enabled': z.boolean().readonly(),
195
+ 'collect': z.object({
196
+ 'parentAgent': z.boolean().readonly(),
197
+ 'subagents': z.boolean().readonly(),
198
+ 'persistTurnEvent': z.boolean().readonly(),
199
+ }).readonly(),
200
+ 'display': z.object({
201
+ 'sidebar': z.boolean().readonly(),
202
+ 'footer': z.boolean().readonly(),
203
+ 'groupByKind': z.boolean().readonly(),
204
+ 'showDiscovered': z.boolean().readonly(),
205
+ 'showOriginBadges': z.boolean().readonly(),
206
+ 'maxInitiallyVisiblePerGroup': z.number().readonly(),
207
+ }).readonly(),
208
+ 'webSearch': z.object({
209
+ 'promoteSearchResultsWithoutFetch': z.boolean().readonly(),
210
+ 'maxPromotedPerSearch': z.number().readonly(),
211
+ }).readonly(),
212
+ 'dedupe': z.object({
213
+ 'normalizeUrls': z.boolean().readonly(),
214
+ 'stripTrackingParams': z.boolean().readonly(),
215
+ 'mergeFileRanges': z.boolean().readonly(),
216
+ }).readonly(),
217
+ 'filePreview': z.object({
218
+ 'enabled': z.boolean().readonly(),
219
+ 'markdownRenderedByDefault': z.boolean().readonly(),
220
+ 'allowRawToggle': z.boolean().readonly(),
221
+ 'maxBytes': z.number().readonly(),
222
+ 'maxMarkdownRenderBytes': z.number().readonly(),
223
+ }).readonly(),
224
+ 'subagents': z.object({
225
+ 'inheritSources': z.boolean().readonly(),
226
+ 'enableReportToolFallback': z.boolean().readonly(),
227
+ 'markIncompleteOpaqueRuns': z.boolean().readonly(),
228
+ }).readonly(),
229
+ 'legacy': z.object({
230
+ 'parseAssistantSourcesBlock': z.boolean().readonly(),
231
+ }).readonly(),
232
+ }).readonly(),
233
+ 'attachments': z.object({
234
+ 'textFiles': z.boolean().readonly(),
235
+ 'pastedTextLines': z.number().readonly(),
236
+ 'maxFileBytes': z.number().readonly(),
237
+ 'maxPending': z.number().readonly(),
238
+ 'extensions': z.array(z.string()).readonly(),
67
239
  }).readonly(),
68
240
  })
241
+ const _yadsh_dsh_qa_surface_qaSurface_readSourceFile_parameter_0$schema = z.string()
242
+ const _yadsh_dsh_qa_surface_qaSurface_readSourceFile_parameter_1$schema = z.string()
243
+ const _yadsh_dsh_qa_surface_qaSurface_readSourceFile_parameter_2$schema = z.string()
244
+ const _yadsh_dsh_qa_surface_qaSurface_readSourceFile_result$schema = z.object({
245
+ 'path': z.string().readonly(),
246
+ 'content': z.string().readonly(),
247
+ 'size': z.number().readonly(),
248
+ 'truncated': z.boolean().readonly(),
249
+ 'markdown': z.boolean().readonly(),
250
+ 'renderableMarkdown': z.boolean().readonly(),
251
+ })
69
252
  const _yadsh_dsh_qa_surface_qaSurface_secureSession_parameter_0$schema = z.string()
253
+ const _yadsh_dsh_qa_surface_qaSurface_secureSession_parameter_1$schema = z.string()
70
254
  const _yadsh_dsh_qa_surface_qaSurface_secureSession_result$schema = z.object({
71
255
  'sessionId': z.string().readonly(),
72
256
  'enabled': z.boolean().readonly(),
73
257
  'agentPresetMatches': z.boolean().readonly(),
74
258
  'workspaceMatches': z.boolean().readonly(),
75
259
  'modelMatches': z.boolean().readonly(),
76
- 'sandboxIsReadOnly': z.boolean().readonly(),
260
+ 'sandboxModeMatches': z.boolean().readonly(),
77
261
  'approvalIsNever': z.boolean().readonly(),
78
262
  'permissionPreset': z.string().readonly(),
79
263
  'toolPolicyLoaded': z.boolean().readonly(),
80
264
  'toolAllowList': z.array(z.string()).readonly(),
81
265
  })
266
+ const _yadsh_dsh_qa_surface_qaSurface_sources_parameter_0$schema = z.string()
267
+ const _yadsh_dsh_qa_surface_qaSurface_sources_parameter_1$schema = z.string()
268
+ const _yadsh_dsh_qa_surface_qaSurface_sources_result$schema = z.array(z.object({
269
+ 'version': z.literal(1).readonly(),
270
+ 'sessionId': z.string().readonly(),
271
+ 'turn': z.number().readonly(),
272
+ 'sources': z.array(z.object({
273
+ 'id': z.string().readonly(),
274
+ 'kind': z.union([z.literal("file"), z.literal("code"), z.literal("web"), z.literal("jira"), z.literal("confluence"), z.literal("knowledge"), z.literal("other")]).readonly(),
275
+ 'title': z.string().readonly(),
276
+ 'uri': z.string().readonly().optional(),
277
+ 'path': z.string().readonly().optional(),
278
+ 'snippet': z.string().readonly().optional(),
279
+ 'locations': z.array(z.object({
280
+ 'path': z.string().readonly().optional(),
281
+ 'lineStart': z.number().readonly().optional(),
282
+ 'lineEnd': z.number().readonly().optional(),
283
+ 'anchor': z.string().readonly().optional(),
284
+ 'jiraKey': z.string().readonly().optional(),
285
+ 'confluencePageId': z.string().readonly().optional(),
286
+ })).readonly(),
287
+ 'evidence': z.union([z.literal("read"), z.literal("fetched"), z.literal("queried"), z.literal("reported"), z.literal("inherited"), z.literal("discovered")]).readonly(),
288
+ 'origins': z.array(z.object({
289
+ 'sessionId': z.string().readonly(),
290
+ 'turn': z.number().readonly(),
291
+ 'step': z.number().readonly().optional(),
292
+ 'toolCallId': z.string().readonly().optional(),
293
+ 'toolName': z.string().readonly().optional(),
294
+ 'agentId': z.string().readonly().optional(),
295
+ 'role': z.union([z.literal("parent"), z.literal("subagent")]).readonly(),
296
+ 'subagentRunId': z.string().readonly().optional(),
297
+ 'subagentSessionId': z.string().readonly().optional(),
298
+ })).readonly(),
299
+ 'score': z.number().readonly(),
300
+ 'metadata': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => QaSourceMetadataValueRemoteCodec$schema)), z.record(z.string(), z.lazy(() => QaSourceMetadataValueRemoteCodec$schema)).readonly()])).readonly().readonly().optional(),
301
+ })).readonly(),
302
+ 'discovered': z.array(z.object({
303
+ 'id': z.string().readonly(),
304
+ 'kind': z.union([z.literal("file"), z.literal("code"), z.literal("web"), z.literal("jira"), z.literal("confluence"), z.literal("knowledge"), z.literal("other")]).readonly(),
305
+ 'title': z.string().readonly(),
306
+ 'uri': z.string().readonly().optional(),
307
+ 'path': z.string().readonly().optional(),
308
+ 'snippet': z.string().readonly().optional(),
309
+ 'locations': z.array(z.object({
310
+ 'path': z.string().readonly().optional(),
311
+ 'lineStart': z.number().readonly().optional(),
312
+ 'lineEnd': z.number().readonly().optional(),
313
+ 'anchor': z.string().readonly().optional(),
314
+ 'jiraKey': z.string().readonly().optional(),
315
+ 'confluencePageId': z.string().readonly().optional(),
316
+ })).readonly(),
317
+ 'evidence': z.union([z.literal("read"), z.literal("fetched"), z.literal("queried"), z.literal("reported"), z.literal("inherited"), z.literal("discovered")]).readonly(),
318
+ 'origins': z.array(z.object({
319
+ 'sessionId': z.string().readonly(),
320
+ 'turn': z.number().readonly(),
321
+ 'step': z.number().readonly().optional(),
322
+ 'toolCallId': z.string().readonly().optional(),
323
+ 'toolName': z.string().readonly().optional(),
324
+ 'agentId': z.string().readonly().optional(),
325
+ 'role': z.union([z.literal("parent"), z.literal("subagent")]).readonly(),
326
+ 'subagentRunId': z.string().readonly().optional(),
327
+ 'subagentSessionId': z.string().readonly().optional(),
328
+ })).readonly(),
329
+ 'score': z.number().readonly(),
330
+ 'metadata': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => QaSourceMetadataValueRemoteCodec$schema)), z.record(z.string(), z.lazy(() => QaSourceMetadataValueRemoteCodec$schema)).readonly()])).readonly().readonly().optional(),
331
+ })).readonly().optional(),
332
+ 'complete': z.boolean().readonly(),
333
+ 'incompleteOrigins': z.array(z.object({
334
+ 'subagentRunId': z.string().readonly().optional(),
335
+ 'provider': z.string().readonly().optional(),
336
+ 'reason': z.string().readonly(),
337
+ })).readonly().optional(),
338
+ }))
82
339
 
83
340
  export const TYPERT = {
84
341
  package: '@yadsh/dsh-qa-surface',
@@ -86,6 +343,246 @@ export const TYPERT = {
86
343
  schemas: [
87
344
  ],
88
345
  invocations: [
346
+ {
347
+ id: '@yadsh/dsh-qa-surface#qaSurface/accountsClaimSessions',
348
+ service: 'qaSurface',
349
+ namespace: 'qaSurface',
350
+ method: 'accountsClaimSessions',
351
+ invocation: { kind: 'direct' },
352
+ parameters: [
353
+ {
354
+ name: 'token',
355
+ wire: 'token',
356
+ source: 'json',
357
+ codec: {
358
+ mode: 'strict',
359
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsClaimSessions:token',
360
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsClaimSessions_parameter_0$schema,
361
+ },
362
+ },
363
+ {
364
+ name: 'sessionIds',
365
+ wire: 'sessionIds',
366
+ source: 'json',
367
+ codec: {
368
+ mode: 'strict',
369
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsClaimSessions:sessionIds',
370
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsClaimSessions_parameter_1$schema,
371
+ },
372
+ },
373
+ ],
374
+ result: {
375
+ mode: 'strict',
376
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaClaimResult',
377
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsClaimSessions_result$schema,
378
+ },
379
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":230,"column":3},
380
+ },
381
+ {
382
+ id: '@yadsh/dsh-qa-surface#qaSurface/accountsListOwnership',
383
+ service: 'qaSurface',
384
+ namespace: 'qaSurface',
385
+ method: 'accountsListOwnership',
386
+ invocation: { kind: 'direct' },
387
+ parameters: [
388
+ {
389
+ name: 'token',
390
+ wire: 'token',
391
+ source: 'json',
392
+ codec: {
393
+ mode: 'strict',
394
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsListOwnership:token',
395
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsListOwnership_parameter_0$schema,
396
+ },
397
+ },
398
+ ],
399
+ result: {
400
+ mode: 'strict',
401
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsListOwnership:result',
402
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsListOwnership_result$schema,
403
+ },
404
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":249,"column":3},
405
+ },
406
+ {
407
+ id: '@yadsh/dsh-qa-surface#qaSurface/accountsLogin',
408
+ service: 'qaSurface',
409
+ namespace: 'qaSurface',
410
+ method: 'accountsLogin',
411
+ invocation: { kind: 'direct' },
412
+ parameters: [
413
+ {
414
+ name: 'email',
415
+ wire: 'email',
416
+ source: 'json',
417
+ codec: {
418
+ mode: 'strict',
419
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsLogin:email',
420
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsLogin_parameter_0$schema,
421
+ },
422
+ },
423
+ {
424
+ name: 'password',
425
+ wire: 'password',
426
+ source: 'json',
427
+ codec: {
428
+ mode: 'strict',
429
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsLogin:password',
430
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsLogin_parameter_1$schema,
431
+ },
432
+ },
433
+ ],
434
+ result: {
435
+ mode: 'strict',
436
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaAccountSession',
437
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsLogin_result$schema,
438
+ },
439
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":218,"column":3},
440
+ },
441
+ {
442
+ id: '@yadsh/dsh-qa-surface#qaSurface/accountsOwnedSessions',
443
+ service: 'qaSurface',
444
+ namespace: 'qaSurface',
445
+ method: 'accountsOwnedSessions',
446
+ invocation: { kind: 'direct' },
447
+ parameters: [
448
+ {
449
+ name: 'token',
450
+ wire: 'token',
451
+ source: 'json',
452
+ codec: {
453
+ mode: 'strict',
454
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsOwnedSessions:token',
455
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsOwnedSessions_parameter_0$schema,
456
+ },
457
+ },
458
+ ],
459
+ result: {
460
+ mode: 'strict',
461
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsOwnedSessions:result',
462
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsOwnedSessions_result$schema,
463
+ },
464
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":239,"column":3},
465
+ },
466
+ {
467
+ id: '@yadsh/dsh-qa-surface#qaSurface/accountsRegister',
468
+ service: 'qaSurface',
469
+ namespace: 'qaSurface',
470
+ method: 'accountsRegister',
471
+ invocation: { kind: 'direct' },
472
+ parameters: [
473
+ {
474
+ name: 'email',
475
+ wire: 'email',
476
+ source: 'json',
477
+ codec: {
478
+ mode: 'strict',
479
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsRegister:email',
480
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsRegister_parameter_0$schema,
481
+ },
482
+ },
483
+ {
484
+ name: 'password',
485
+ wire: 'password',
486
+ source: 'json',
487
+ codec: {
488
+ mode: 'strict',
489
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsRegister:password',
490
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsRegister_parameter_1$schema,
491
+ },
492
+ },
493
+ ],
494
+ result: {
495
+ mode: 'strict',
496
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaAccountSession',
497
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsRegister_result$schema,
498
+ },
499
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":213,"column":3},
500
+ },
501
+ {
502
+ id: '@yadsh/dsh-qa-surface#qaSurface/accountsUpdateProfile',
503
+ service: 'qaSurface',
504
+ namespace: 'qaSurface',
505
+ method: 'accountsUpdateProfile',
506
+ invocation: { kind: 'direct' },
507
+ parameters: [
508
+ {
509
+ name: 'token',
510
+ wire: 'token',
511
+ source: 'json',
512
+ codec: {
513
+ mode: 'strict',
514
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsUpdateProfile:token',
515
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsUpdateProfile_parameter_0$schema,
516
+ },
517
+ },
518
+ {
519
+ name: 'input',
520
+ wire: 'input',
521
+ source: 'json',
522
+ codec: {
523
+ mode: 'strict',
524
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaAccountProfileInput',
525
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsUpdateProfile_parameter_1$schema,
526
+ },
527
+ },
528
+ ],
529
+ result: {
530
+ mode: 'strict',
531
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaAccountUserPublic',
532
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsUpdateProfile_result$schema,
533
+ },
534
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":262,"column":3},
535
+ },
536
+ {
537
+ id: '@yadsh/dsh-qa-surface#qaSurface/accountsWhoami',
538
+ service: 'qaSurface',
539
+ namespace: 'qaSurface',
540
+ method: 'accountsWhoami',
541
+ invocation: { kind: 'direct' },
542
+ parameters: [
543
+ {
544
+ name: 'token',
545
+ wire: 'token',
546
+ source: 'json',
547
+ codec: {
548
+ mode: 'strict',
549
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsWhoami:token',
550
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsWhoami_parameter_0$schema,
551
+ },
552
+ },
553
+ ],
554
+ result: {
555
+ mode: 'strict',
556
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaWhoamiResult',
557
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsWhoami_result$schema,
558
+ },
559
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":224,"column":3},
560
+ },
561
+ {
562
+ id: '@yadsh/dsh-qa-surface#qaSurface/createSession',
563
+ service: 'qaSurface',
564
+ namespace: 'qaSurface',
565
+ method: 'createSession',
566
+ invocation: { kind: 'direct' },
567
+ parameters: [
568
+ {
569
+ name: 'token',
570
+ wire: 'token',
571
+ source: 'json',
572
+ codec: {
573
+ mode: 'strict',
574
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/createSession:token',
575
+ schema: _yadsh_dsh_qa_surface_qaSurface_createSession_parameter_0$schema,
576
+ },
577
+ },
578
+ ],
579
+ result: {
580
+ mode: 'strict',
581
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/createSession:result',
582
+ schema: _yadsh_dsh_qa_surface_qaSurface_createSession_result$schema,
583
+ },
584
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":287,"column":9},
585
+ },
89
586
  {
90
587
  id: '@yadsh/dsh-qa-surface#qaSurface/describe',
91
588
  service: 'qaSurface',
@@ -99,7 +596,52 @@ export const TYPERT = {
99
596
  typeSymbol: '@yadsh/dsh-qa-surface/types#ResolvedQaSurfaceConfig',
100
597
  schema: _yadsh_dsh_qa_surface_qaSurface_describe_result$schema,
101
598
  },
102
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":130,"column":3},
599
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":277,"column":3},
600
+ },
601
+ {
602
+ id: '@yadsh/dsh-qa-surface#qaSurface/readSourceFile',
603
+ service: 'qaSurface',
604
+ namespace: 'qaSurface',
605
+ method: 'readSourceFile',
606
+ invocation: { kind: 'direct' },
607
+ parameters: [
608
+ {
609
+ name: 'token',
610
+ wire: 'token',
611
+ source: 'json',
612
+ codec: {
613
+ mode: 'strict',
614
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/readSourceFile:token',
615
+ schema: _yadsh_dsh_qa_surface_qaSurface_readSourceFile_parameter_0$schema,
616
+ },
617
+ },
618
+ {
619
+ name: 'sessionId',
620
+ wire: 'sessionId',
621
+ source: 'json',
622
+ codec: {
623
+ mode: 'strict',
624
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/readSourceFile:sessionId',
625
+ schema: _yadsh_dsh_qa_surface_qaSurface_readSourceFile_parameter_1$schema,
626
+ },
627
+ },
628
+ {
629
+ name: 'sourcePath',
630
+ wire: 'sourcePath',
631
+ source: 'json',
632
+ codec: {
633
+ mode: 'strict',
634
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/readSourceFile:sourcePath',
635
+ schema: _yadsh_dsh_qa_surface_qaSurface_readSourceFile_parameter_2$schema,
636
+ },
637
+ },
638
+ ],
639
+ result: {
640
+ mode: 'strict',
641
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaSourceFilePreview',
642
+ schema: _yadsh_dsh_qa_surface_qaSurface_readSourceFile_result$schema,
643
+ },
644
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":394,"column":9},
103
645
  },
104
646
  {
105
647
  id: '@yadsh/dsh-qa-surface#qaSurface/secureSession',
@@ -108,6 +650,16 @@ export const TYPERT = {
108
650
  method: 'secureSession',
109
651
  invocation: { kind: 'direct' },
110
652
  parameters: [
653
+ {
654
+ name: 'token',
655
+ wire: 'token',
656
+ source: 'json',
657
+ codec: {
658
+ mode: 'strict',
659
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/secureSession:token',
660
+ schema: _yadsh_dsh_qa_surface_qaSurface_secureSession_parameter_0$schema,
661
+ },
662
+ },
111
663
  {
112
664
  name: 'sessionId',
113
665
  wire: 'sessionId',
@@ -115,7 +667,7 @@ export const TYPERT = {
115
667
  codec: {
116
668
  mode: 'strict',
117
669
  typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/secureSession:sessionId',
118
- schema: _yadsh_dsh_qa_surface_qaSurface_secureSession_parameter_0$schema,
670
+ schema: _yadsh_dsh_qa_surface_qaSurface_secureSession_parameter_1$schema,
119
671
  },
120
672
  },
121
673
  ],
@@ -124,7 +676,42 @@ export const TYPERT = {
124
676
  typeSymbol: '@yadsh/dsh-qa-surface/types#QaLockdownProof',
125
677
  schema: _yadsh_dsh_qa_surface_qaSurface_secureSession_result$schema,
126
678
  },
127
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":136,"column":3},
679
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":361,"column":3},
680
+ },
681
+ {
682
+ id: '@yadsh/dsh-qa-surface#qaSurface/sources',
683
+ service: 'qaSurface',
684
+ namespace: 'qaSurface',
685
+ method: 'sources',
686
+ invocation: { kind: 'direct' },
687
+ parameters: [
688
+ {
689
+ name: 'token',
690
+ wire: 'token',
691
+ source: 'json',
692
+ codec: {
693
+ mode: 'strict',
694
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/sources:token',
695
+ schema: _yadsh_dsh_qa_surface_qaSurface_sources_parameter_0$schema,
696
+ },
697
+ },
698
+ {
699
+ name: 'sessionId',
700
+ wire: 'sessionId',
701
+ source: 'json',
702
+ codec: {
703
+ mode: 'strict',
704
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/sources:sessionId',
705
+ schema: _yadsh_dsh_qa_surface_qaSurface_sources_parameter_1$schema,
706
+ },
707
+ },
708
+ ],
709
+ result: {
710
+ mode: 'strict',
711
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/sources:result',
712
+ schema: _yadsh_dsh_qa_surface_qaSurface_sources_result$schema,
713
+ },
714
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":387,"column":3},
128
715
  },
129
716
  ],
130
717
  model: {
@@ -142,6 +729,53 @@ export const TYPERT = {
142
729
  "name": "getConfig",
143
730
  "signature": "getConfig(): ResolvedQaSurfaceConfig"
144
731
  },
732
+ {
733
+ "kind": "method",
734
+ "name": "accountsRegister",
735
+ "signature": "@Remote(\"accountsRegister\") accountsRegister(email: string, password: string): QaAccountSession",
736
+ "summary": "Self-service signup; the first account ever created becomes admin.",
737
+ "jsDoc": "/**\n * Self-service signup; the first account ever created becomes admin. The\n * display name derives from the email: the generated client enforces exact\n * wire arity, so an optional name parameter would still be required.\n */"
738
+ },
739
+ {
740
+ "kind": "method",
741
+ "name": "accountsLogin",
742
+ "signature": "@Remote(\"accountsLogin\") accountsLogin(email: string, password: string): QaAccountSession"
743
+ },
744
+ {
745
+ "kind": "method",
746
+ "name": "accountsWhoami",
747
+ "signature": "@Remote(\"accountsWhoami\") accountsWhoami(token: string): QaWhoamiResult",
748
+ "summary": "Identity probe; safe to call with an empty or expired token.",
749
+ "jsDoc": "/** Identity probe; safe to call with an empty or expired token. */"
750
+ },
751
+ {
752
+ "kind": "method",
753
+ "name": "accountsClaimSessions",
754
+ "signature": "@Remote(\"accountsClaimSessions\") accountsClaimSessions( token: string, sessionIds: readonly string[], ): QaClaimResult",
755
+ "summary": "Migrate a browser's local chat index into server-side ownership.",
756
+ "jsDoc": "/** Migrate a browser's local chat index into server-side ownership. */"
757
+ },
758
+ {
759
+ "kind": "method",
760
+ "name": "accountsOwnedSessions",
761
+ "signature": "@Remote(\"accountsOwnedSessions\") accountsOwnedSessions(token: string): { readonly ids: readonly string[] }",
762
+ "summary": "The token user's owned session ids; the sidebar list authority.",
763
+ "jsDoc": "/** The token user's owned session ids; the sidebar list authority. */"
764
+ },
765
+ {
766
+ "kind": "method",
767
+ "name": "accountsListOwnership",
768
+ "signature": "@Remote(\"accountsListOwnership\") accountsListOwnership(token: string): { readonly entries: readonly QaOwnershipEntry[]; }",
769
+ "summary": "Every chat-ownership entry with owner display names; the cross-user view admin browsers group the sidebar by.",
770
+ "jsDoc": "/**\n * Every chat-ownership entry with owner display names; the cross-user view\n * admin browsers group the sidebar by. Ordinary accounts are refused with\n * the dedicated reason, anonymous ones with auth-required.\n */"
771
+ },
772
+ {
773
+ "kind": "method",
774
+ "name": "accountsUpdateProfile",
775
+ "signature": "@Remote(\"accountsUpdateProfile\") accountsUpdateProfile( token: string, input: QaAccountProfileInput, ): QaAccountUserPublic",
776
+ "summary": "Replace the caller's own self-declared profile.",
777
+ "jsDoc": "/**\n * Replace the caller's own self-declared profile. The token is the only\n * identity the wire carries: a browser can never name a profile but its own,\n * and the deployment's declared fields and length limits are enforced in the\n * store before anything is written.\n */"
778
+ },
145
779
  {
146
780
  "kind": "method",
147
781
  "name": "describe",
@@ -149,43 +783,147 @@ export const TYPERT = {
149
783
  "summary": "Serve the effective QA configuration to the browser.",
150
784
  "jsDoc": "/**\n * Serve the effective QA configuration to the browser. The DSH gateway pins\n * settings RPCs to loopback, so a browser served over the LAN always sees\n * the settings namespace as unavailable; this method is the config channel\n * such a browser falls back to. It is read-only projection — the admission\n * boundary stays in {@link secureSession}.\n */"
151
785
  },
786
+ {
787
+ "kind": "method",
788
+ "name": "createSession",
789
+ "signature": "@Remote(\"createSession\") async createSession(token: string): Promise<string>",
790
+ "summary": "Create a QA session from Host-owned inputs.",
791
+ "jsDoc": "/**\n * Create a QA session from Host-owned inputs. With account workspaces on,\n * cwd is `<configured workspace>/.qa-users/<account UUID>` and the child is\n * intentionally not registered or attached as another DSH workspace.\n */"
792
+ },
152
793
  {
153
794
  "kind": "method",
154
795
  "name": "secureSession",
155
- "signature": "@Remote(\"secureSession\") secureSession(sessionId: string): QaLockdownProof",
796
+ "signature": "@Remote(\"secureSession\") secureSession(token: string, sessionId: string): QaLockdownProof",
156
797
  "summary": "Pin and attest the effective policy.",
157
798
  "jsDoc": "/** Pin and attest the effective policy. The browser supplies identity only. */"
799
+ },
800
+ {
801
+ "kind": "method",
802
+ "name": "sources",
803
+ "signature": "@Remote(\"sources\") sources(token: string, sessionId: string): readonly QaTurnSources[]",
804
+ "summary": "Return canonical Host snapshots; replay is rebuilt from qa/sources events.",
805
+ "jsDoc": "/** Return canonical Host snapshots; replay is rebuilt from qa/sources events. */"
806
+ },
807
+ {
808
+ "kind": "method",
809
+ "name": "readSourceFile",
810
+ "signature": "@Remote(\"readSourceFile\") async readSourceFile( token: string, sessionId: string, sourcePath: string, ): Promise<QaSourceFilePreview>",
811
+ "summary": "Narrow read-only preview capability for files already present as sources.",
812
+ "jsDoc": "/** Narrow read-only preview capability for files already present as sources. */"
158
813
  }
159
814
  ],
160
815
  "types": [
816
+ {
817
+ "name": "QaAccountIdentityField",
818
+ "declaration": "export interface QaAccountIdentityField {\n readonly key: string;\n readonly label: string;\n}"
819
+ },
820
+ {
821
+ "name": "QaAccountProfile",
822
+ "declaration": "export interface QaAccountProfile {\n readonly fullName: string;\n readonly identities: Readonly<Record<string, string>>;\n readonly instructions: string;\n readonly updatedAt: string | null;\n}"
823
+ },
824
+ {
825
+ "name": "QaAccountProfileInput",
826
+ "declaration": "export interface QaAccountProfileInput {\n readonly fullName: string;\n readonly identities: Readonly<Record<string, string>>;\n readonly instructions: string;\n}"
827
+ },
828
+ {
829
+ "name": "QaAccountRole",
830
+ "declaration": "export type QaAccountRole = \"user\" | \"admin\";"
831
+ },
832
+ {
833
+ "name": "QaAccountSession",
834
+ "declaration": "export interface QaAccountSession {\n readonly token: string;\n readonly user: QaAccountUserPublic;\n}"
835
+ },
836
+ {
837
+ "name": "QaAccountUserPublic",
838
+ "declaration": "export interface QaAccountUserPublic {\n readonly id: string;\n readonly email: string;\n readonly displayName: string;\n readonly role: QaAccountRole;\n readonly createdAt: string;\n readonly lastLoginAt: string | null;\n readonly disabled: boolean;\n readonly profile: QaAccountProfile;\n}"
839
+ },
161
840
  {
162
841
  "name": "QaApprovalPolicy",
163
842
  "declaration": "export type QaApprovalPolicy = \"never\";"
164
843
  },
844
+ {
845
+ "name": "QaClaimResult",
846
+ "declaration": "export interface QaClaimResult {\n readonly claimed: number;\n readonly conflicts: readonly string[];\n}"
847
+ },
165
848
  {
166
849
  "name": "QaLockdownProof",
167
- "declaration": "export interface QaLockdownProof {\n readonly sessionId: string;\n readonly enabled: boolean;\n readonly agentPresetMatches: boolean;\n readonly workspaceMatches: boolean;\n readonly modelMatches: boolean;\n readonly sandboxIsReadOnly: boolean;\n readonly approvalIsNever: boolean;\n readonly permissionPreset: string;\n readonly toolPolicyLoaded: boolean;\n readonly toolAllowList: readonly string[];\n}"
850
+ "declaration": "export interface QaLockdownProof {\n readonly sessionId: string;\n readonly enabled: boolean;\n readonly agentPresetMatches: boolean;\n readonly workspaceMatches: boolean;\n readonly modelMatches: boolean;\n readonly sandboxModeMatches: boolean;\n readonly approvalIsNever: boolean;\n readonly permissionPreset: string;\n readonly toolPolicyLoaded: boolean;\n readonly toolAllowList: readonly string[];\n}"
851
+ },
852
+ {
853
+ "name": "QaOwnershipEntry",
854
+ "declaration": "export interface QaOwnershipEntry {\n readonly sessionId: string;\n readonly userId: string;\n readonly displayName: string;\n readonly claimedAt: string;\n}"
168
855
  },
169
856
  {
170
857
  "name": "QaSandboxMode",
171
- "declaration": "export type QaSandboxMode = \"read-only\";"
858
+ "declaration": "export type QaSandboxMode = \"read-only\" | \"workspace-write\";"
172
859
  },
173
860
  {
174
861
  "name": "QaSessionPolicy",
175
862
  "declaration": "export type QaSessionPolicy = \"browser-persistent\" | \"new-on-load\" | \"fixed\";"
176
863
  },
864
+ {
865
+ "name": "QaSourceEvidence",
866
+ "declaration": "export type QaSourceEvidence = \"read\" | \"fetched\" | \"queried\" | \"reported\" | \"inherited\" | \"discovered\";"
867
+ },
868
+ {
869
+ "name": "QaSourceFilePreview",
870
+ "declaration": "export interface QaSourceFilePreview {\n readonly path: string;\n readonly content: string;\n readonly size: number;\n readonly truncated: boolean;\n readonly markdown: boolean;\n readonly renderableMarkdown: boolean;\n}"
871
+ },
872
+ {
873
+ "name": "QaSourceKind",
874
+ "declaration": "export type QaSourceKind = \"file\" | \"code\" | \"web\" | \"jira\" | \"confluence\" | \"knowledge\" | \"other\";"
875
+ },
876
+ {
877
+ "name": "QaSourceLocation",
878
+ "declaration": "export interface QaSourceLocation {\n readonly path?: string;\n readonly lineStart?: number;\n readonly lineEnd?: number;\n readonly anchor?: string;\n readonly jiraKey?: string;\n readonly confluencePageId?: string;\n}"
879
+ },
880
+ {
881
+ "name": "QaSourceMetadata",
882
+ "declaration": "export interface QaSourceMetadata {\n readonly [key: string]: QaSourceMetadataValue;\n}"
883
+ },
884
+ {
885
+ "name": "QaSourceMetadataValue",
886
+ "declaration": "export type QaSourceMetadataValue = string | number | boolean | null | readonly QaSourceMetadataValue[] | { readonly [key: string]: QaSourceMetadataValue; };"
887
+ },
888
+ {
889
+ "name": "QaSourceOrigin",
890
+ "declaration": "export interface QaSourceOrigin {\n readonly sessionId: string;\n readonly turn: number;\n readonly step?: number;\n readonly toolCallId?: string;\n readonly toolName?: string;\n readonly agentId?: string;\n readonly role: \"parent\" | \"subagent\";\n readonly subagentRunId?: string;\n readonly subagentSessionId?: string;\n}"
891
+ },
892
+ {
893
+ "name": "QaSourceReference",
894
+ "declaration": "export interface QaSourceReference {\n readonly id: string;\n readonly kind: QaSourceKind;\n readonly title: string;\n readonly uri?: string;\n readonly path?: string;\n readonly snippet?: string;\n readonly locations: readonly QaSourceLocation[];\n readonly evidence: QaSourceEvidence;\n readonly origins: readonly QaSourceOrigin[];\n readonly score: number;\n readonly metadata?: QaSourceMetadata;\n}"
895
+ },
177
896
  {
178
897
  "name": "QaToolPolicyMode",
179
898
  "declaration": "export type QaToolPolicyMode = \"allow-list\";"
180
899
  },
900
+ {
901
+ "name": "QaTurnSources",
902
+ "declaration": "export interface QaTurnSources {\n readonly version: 1;\n readonly sessionId: string;\n readonly turn: number;\n readonly sources: readonly QaSourceReference[];\n readonly discovered?: readonly QaSourceReference[];\n readonly complete: boolean;\n readonly incompleteOrigins?: readonly { readonly subagentRunId?: string; readonly provider?: string; readonly reason: string; }[];\n}"
903
+ },
904
+ {
905
+ "name": "QaWhoamiResult",
906
+ "declaration": "export type QaWhoamiResult = { readonly authenticated: false; } | { readonly authenticated: true; readonly user: QaAccountUserPublic; };"
907
+ },
181
908
  {
182
909
  "name": "ResolvedQaSurfaceConfig",
183
- "declaration": "export interface ResolvedQaSurfaceConfig {\n readonly enabled: boolean;\n readonly route: { readonly path: string; readonly matchChildren: boolean; };\n readonly branding: { readonly title: string; readonly subtitle: string; readonly welcomeMessage: string; readonly placeholder: string; readonly logoUrl: string | null; readonly disclaimer: string; };\n readonly session: { readonly policy: QaSessionPolicy; readonly storageKey: string; readonly cwd: string | null; readonly workspaceId: string | null; readonly fixedSessionId: string | null; readonly agentPreset: string | null; readonly provider: string | null; readonly model: string | null; readonly reasoningEffort: string | null; };\n readonly ui: { readonly showHeader: boolean; readonly showReset: boolean; readonly showStop: boolean; readonly showTimestamps: boolean; readonly showToolActivity: boolean; readonly showReasoning: boolean; readonly renderMarkdown: boolean; readonly maxContentWidth: number; readonly showSessionList: boolean; };\n readonly suggestedQuestions: readonly string[];\n readonly interaction: { readonly approvals: \"blocked\"; readonly questions: \"unsupported\"; };\n readonly lockdown: { readonly enabled: boolean; readonly enforceFixedAgentPreset: boolean; readonly enforceFixedWorkspace: boolean; readonly enforceFixedModel: boolean; readonly sandboxMode: QaSandboxMode; readonly approvalPolicy: QaApprovalPolicy; readonly permissionPreset: string; readonly allowPermissionChanges: false; readonly allowSlashCommands: false; readonly allowSettingsMutation: false; readonly allowSessionReset: boolean; readonly allowSessionRename: false; readonly allowSessionDelete: false; readonly allowArbitrarySessionOpen: false; readonly toolPolicy: { readonly mode: QaToolPolicyMode; readonly allow: readonly string[]; }; };\n readonly embedding: { readonly frameAncestors: string | null; };\n}"
910
+ "declaration": "export interface ResolvedQaSurfaceConfig {\n readonly enabled: boolean;\n readonly route: { readonly path: string; readonly matchChildren: boolean; };\n readonly branding: { readonly title: string; readonly subtitle: string; readonly welcomeMessage: string; readonly placeholder: string; readonly logoUrl: string | null; readonly disclaimer: string; };\n readonly session: { readonly policy: QaSessionPolicy; readonly storageKey: string; readonly cwd: string | null; readonly workspaceId: string | null; readonly fixedSessionId: string | null; readonly agentPreset: string | null; readonly provider: string | null; readonly model: string | null; readonly reasoningEffort: string | null; };\n readonly ui: { readonly showHeader: boolean; readonly showReset: boolean; readonly showStop: boolean; readonly showTimestamps: boolean; readonly showToolActivity: boolean; readonly showReasoning: boolean; readonly renderMarkdown: boolean; readonly minContentWidth: number; readonly showSessionList: boolean; };\n readonly suggestedQuestions: readonly string[];\n readonly thinkingPhrases: readonly string[];\n readonly interaction: { readonly approvals: \"blocked\"; readonly questions: \"unsupported\"; };\n readonly lockdown: { readonly enabled: boolean; readonly enforceFixedAgentPreset: boolean; readonly enforceFixedWorkspace: boolean; readonly enforceFixedModel: boolean; readonly sandboxMode: QaSandboxMode; readonly approvalPolicy: QaApprovalPolicy; readonly permissionPreset: string; readonly allowPermissionChanges: false; readonly allowSlashCommands: false; readonly allowSettingsMutation: false; readonly allowSessionReset: boolean; readonly allowSessionRename: false; readonly allowSessionDelete: false; readonly allowArbitrarySessionOpen: false; readonly toolPolicy: { readonly mode: QaToolPolicyMode; readonly allow: readonly string[]; }; };\n readonly embedding: { readonly frameAncestors: string | null; };\n readonly accounts: { readonly enabled: boolean; readonly allowRegistration: boolean; readonly sessionTtlDays: number; readonly showOtherUsersChats: boolean; readonly perUserWorkspace: boolean; readonly profile: { readonly enabled: boolean; readonly inject: boolean; readonly identities: readonly QaAccountIdentityField[]; readonly instructionsMaxLength: number; }; };\n readonly entry: { readonly redirectNonLoopback: boolean; readonly cookieBootstrap: boolean; };\n readonly sources: { readonly enabled: boolean; readonly collect: { readonly parentAgent: boolean; readonly subagents: boolean; readonly persistTurnEvent: boolean; }; readonly display: { readonly sidebar: boolean; readonly footer: boolean; readonly groupByKind: boolean; readonly showDiscovered: boolean; readonly showOriginBadges: boolean; readonly maxInitiallyVisiblePerGroup: number; }; readonly webSearch: { readonly promoteSearchResultsWithoutFetch: boolean; readonly maxPromotedPerSearch: number; }; readonly dedupe: { readonly normalizeUrls: boolean; readonly stripTrackingParams: boolean; readonly mergeFileRanges: boolean; }; readonly filePreview: { readonly enabled: boolean; readonly markdownRenderedByDefault: boolean; readonly allowRawToggle: boolean; readonly maxBytes: number; readonly maxMarkdownRenderBytes: number; }; readonly subagents: { readonly inheritSources: boolean; readonly enableReportToolFallback: boolean; readonly markIncompleteOpaqueRuns: boolean; }; readonly legacy: { readonly parseAssistantSourcesBlock: boolean; }; };\n readonly attachments: { readonly textFiles: boolean; readonly pastedTextLines: number; readonly maxFileBytes: number; readonly maxPending: number; readonly extensions: readonly string[]; };\n}"
184
911
  }
185
912
  ]
186
913
  }
187
914
  ],
188
- "events": [],
915
+ "events": [
916
+ {
917
+ "tags": [],
918
+ "name": "subagent/end",
919
+ "signature": "'subagent/end'(info: SubagentInfo): void"
920
+ },
921
+ {
922
+ "tags": [],
923
+ "name": "subagent/start",
924
+ "signature": "'subagent/start'(info: SubagentInfo): void"
925
+ }
926
+ ],
189
927
  "objects": []
190
928
  },
191
929
  }