@yadsh/dsh-qa-surface 0.3.0 → 0.5.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 (276) hide show
  1. package/README.md +192 -15
  2. package/cordis.patch.yml +8 -0
  3. package/lib/account-remotes.js +100 -0
  4. package/lib/account-remotes.js.map +1 -0
  5. package/lib/accounts/credentials.js +35 -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/store.js +159 -161
  12. package/lib/accounts/store.js.map +1 -1
  13. package/lib/accounts/token.js +61 -0
  14. package/lib/accounts/token.js.map +1 -0
  15. package/lib/approvals.js +179 -0
  16. package/lib/approvals.js.map +1 -0
  17. package/lib/attachment-rules.js +111 -0
  18. package/lib/attachment-rules.js.map +1 -0
  19. package/lib/cli.js +132 -9
  20. package/lib/cli.js.map +1 -1
  21. package/lib/client/QaAccountsController.js +32 -2
  22. package/lib/client/QaAccountsController.js.map +1 -1
  23. package/lib/client/QaSessionController.js +140 -65
  24. package/lib/client/QaSessionController.js.map +1 -1
  25. package/lib/client/QaSurface.js +134 -107
  26. package/lib/client/QaSurface.js.map +1 -1
  27. package/lib/client/QaTranscriptAdapter.js +71 -6
  28. package/lib/client/QaTranscriptAdapter.js.map +1 -1
  29. package/lib/client/approvals.js +104 -0
  30. package/lib/client/approvals.js.map +1 -0
  31. package/lib/client/attachments.js +150 -0
  32. package/lib/client/attachments.js.map +1 -0
  33. package/lib/client/attestation.js +4 -1
  34. package/lib/client/attestation.js.map +1 -1
  35. package/lib/client/base64.js +16 -0
  36. package/lib/client/base64.js.map +1 -0
  37. package/lib/client/chat-files.js +48 -0
  38. package/lib/client/chat-files.js.map +1 -0
  39. package/lib/client/components/Markdown.js +1 -1
  40. package/lib/client/components/Markdown.js.map +1 -1
  41. package/lib/client/components/QaApproval.js +23 -0
  42. package/lib/client/components/QaApproval.js.map +1 -0
  43. package/lib/client/components/QaChangelog.js +62 -19
  44. package/lib/client/components/QaChangelog.js.map +1 -1
  45. package/lib/client/components/QaComposer.js +56 -74
  46. package/lib/client/components/QaComposer.js.map +1 -1
  47. package/lib/client/components/QaFileAttachment.js +19 -0
  48. package/lib/client/components/QaFileAttachment.js.map +1 -0
  49. package/lib/client/components/QaFilesPanel.js +45 -0
  50. package/lib/client/components/QaFilesPanel.js.map +1 -0
  51. package/lib/client/components/QaHeader.js +34 -0
  52. package/lib/client/components/QaHeader.js.map +1 -0
  53. package/lib/client/components/QaMessage.js +17 -4
  54. package/lib/client/components/QaMessage.js.map +1 -1
  55. package/lib/client/components/QaModal.js +31 -0
  56. package/lib/client/components/QaModal.js.map +1 -0
  57. package/lib/client/components/QaProfile.js +64 -0
  58. package/lib/client/components/QaProfile.js.map +1 -0
  59. package/lib/client/components/QaQuestions.js +96 -0
  60. package/lib/client/components/QaQuestions.js.map +1 -0
  61. package/lib/client/components/QaRightRail.js +15 -0
  62. package/lib/client/components/QaRightRail.js.map +1 -0
  63. package/lib/client/components/QaSidebar.js +6 -1
  64. package/lib/client/components/QaSidebar.js.map +1 -1
  65. package/lib/client/components/{QaSourcesDrawer.js → QaSourcesPanel.js} +3 -3
  66. package/lib/client/components/QaSourcesPanel.js.map +1 -0
  67. package/lib/client/components/QaTurnRail.js +15 -0
  68. package/lib/client/components/QaTurnRail.js.map +1 -1
  69. package/lib/client/components/QaWidthHandle.js +25 -20
  70. package/lib/client/components/QaWidthHandle.js.map +1 -1
  71. package/lib/client/components/QaWorkGroup.js +19 -20
  72. package/lib/client/components/QaWorkGroup.js.map +1 -1
  73. package/lib/client/components/surface-utils.js +28 -0
  74. package/lib/client/components/surface-utils.js.map +1 -0
  75. package/lib/client/components/thinking-phrases.js +24 -0
  76. package/lib/client/components/thinking-phrases.js.map +1 -0
  77. package/lib/client/create-session.js +7 -32
  78. package/lib/client/create-session.js.map +1 -1
  79. package/lib/client/failure-copy.js +63 -0
  80. package/lib/client/failure-copy.js.map +1 -0
  81. package/lib/client/index.js +49 -7
  82. package/lib/client/index.js.map +1 -1
  83. package/lib/client/project-session-state.js +5 -3
  84. package/lib/client/project-session-state.js.map +1 -1
  85. package/lib/client/prompt-content.js +54 -0
  86. package/lib/client/prompt-content.js.map +1 -0
  87. package/lib/client/questions.js +114 -0
  88. package/lib/client/questions.js.map +1 -0
  89. package/lib/client/settings/card.js +143 -0
  90. package/lib/client/settings/card.js.map +1 -0
  91. package/lib/client/settings/fields.js +145 -0
  92. package/lib/client/settings/fields.js.map +1 -0
  93. package/lib/client/settings/format.js +255 -0
  94. package/lib/client/settings/format.js.map +1 -0
  95. package/lib/client/settings/sections/access.js +25 -0
  96. package/lib/client/settings/sections/access.js.map +1 -0
  97. package/lib/client/settings/sections/accounts.js +47 -0
  98. package/lib/client/settings/sections/accounts.js.map +1 -0
  99. package/lib/client/settings/sections/attachments.js +46 -0
  100. package/lib/client/settings/sections/attachments.js.map +1 -0
  101. package/lib/client/settings/sections/branding.js +28 -0
  102. package/lib/client/settings/sections/branding.js.map +1 -0
  103. package/lib/client/settings/sections/common.js +20 -0
  104. package/lib/client/settings/sections/common.js.map +1 -0
  105. package/lib/client/settings/sections/embedding.js +19 -0
  106. package/lib/client/settings/sections/embedding.js.map +1 -0
  107. package/lib/client/settings/sections/interface.js +60 -0
  108. package/lib/client/settings/sections/interface.js.map +1 -0
  109. package/lib/client/settings/sections/lockdown.js +82 -0
  110. package/lib/client/settings/sections/lockdown.js.map +1 -0
  111. package/lib/client/settings/sections/session.js +53 -0
  112. package/lib/client/settings/sections/session.js.map +1 -0
  113. package/lib/client/settings/sections/sources.js +74 -0
  114. package/lib/client/settings/sections/sources.js.map +1 -0
  115. package/lib/client/settings/sections/status.js +37 -0
  116. package/lib/client/settings/sections/status.js.map +1 -0
  117. package/lib/client/settings/sections.js +23 -0
  118. package/lib/client/settings/sections.js.map +1 -0
  119. package/lib/client/settings/styles.js +57 -0
  120. package/lib/client/settings/styles.js.map +1 -0
  121. package/lib/client/stream-publisher.js +47 -0
  122. package/lib/client/stream-publisher.js.map +1 -0
  123. package/lib/client/styles.js +127 -19
  124. package/lib/client/styles.js.map +1 -1
  125. package/lib/client/types.js +2 -0
  126. package/lib/client/types.js.map +1 -1
  127. package/lib/client/use-right-rail.js +96 -0
  128. package/lib/client/use-right-rail.js.map +1 -0
  129. package/lib/client/use-session-ui-state.js +26 -19
  130. package/lib/client/use-session-ui-state.js.map +1 -1
  131. package/lib/client.js +5694 -813
  132. package/lib/client.js.map +1 -1
  133. package/lib/config-resolvers/accounts.js +60 -0
  134. package/lib/config-resolvers/accounts.js.map +1 -0
  135. package/lib/config-resolvers/attachments.js +28 -0
  136. package/lib/config-resolvers/attachments.js.map +1 -0
  137. package/lib/config-resolvers/basics.js +61 -0
  138. package/lib/config-resolvers/basics.js.map +1 -0
  139. package/lib/config-resolvers/defaults.js +136 -0
  140. package/lib/config-resolvers/defaults.js.map +1 -0
  141. package/lib/config-resolvers/lockdown.js +90 -0
  142. package/lib/config-resolvers/lockdown.js.map +1 -0
  143. package/lib/config-resolvers/session.js +42 -0
  144. package/lib/config-resolvers/session.js.map +1 -0
  145. package/lib/config-resolvers/shared.js +51 -0
  146. package/lib/config-resolvers/shared.js.map +1 -0
  147. package/lib/config-resolvers/sources.js +83 -0
  148. package/lib/config-resolvers/sources.js.map +1 -0
  149. package/lib/config-resolvers/ui.js +20 -0
  150. package/lib/config-resolvers/ui.js.map +1 -0
  151. package/lib/config.js +76 -6
  152. package/lib/config.js.map +1 -1
  153. package/lib/entry-redirect.js +2 -1
  154. package/lib/entry-redirect.js.map +1 -1
  155. package/lib/index.js +198 -79
  156. package/lib/index.js.map +1 -1
  157. package/lib/profile.js +214 -0
  158. package/lib/profile.js.map +1 -0
  159. package/lib/prompt-notes.js +231 -0
  160. package/lib/prompt-notes.js.map +1 -0
  161. package/lib/provenance/host-store.js +25 -9
  162. package/lib/provenance/host-store.js.map +1 -1
  163. package/lib/provenance/reported.js +37 -12
  164. package/lib/provenance/reported.js.map +1 -1
  165. package/lib/questions.js +185 -0
  166. package/lib/questions.js.map +1 -0
  167. package/lib/resolve-config.js +35 -410
  168. package/lib/resolve-config.js.map +1 -1
  169. package/lib/secure-session.js +139 -21
  170. package/lib/secure-session.js.map +1 -1
  171. package/lib/session-ownership.js +55 -0
  172. package/lib/session-ownership.js.map +1 -0
  173. package/lib/shared/session-key.js +18 -0
  174. package/lib/shared/session-key.js.map +1 -0
  175. package/lib/shared/settings.js +10 -0
  176. package/lib/shared/settings.js.map +1 -0
  177. package/lib/thinking-phrases.js +68 -0
  178. package/lib/thinking-phrases.js.map +1 -0
  179. package/lib/typert.host.js +506 -21
  180. package/lib/typert.remote-client.d.ts +15 -1
  181. package/lib/typert.remote-client.js +407 -15
  182. package/lib/types/account-remotes.d.ts +42 -0
  183. package/lib/types/accounts/credentials.d.ts +20 -0
  184. package/lib/types/accounts/errors.d.ts +11 -0
  185. package/lib/types/accounts/file.d.ts +82 -0
  186. package/lib/types/accounts/store.d.ts +74 -43
  187. package/lib/types/accounts/token.d.ts +31 -0
  188. package/lib/types/approvals.d.ts +65 -0
  189. package/lib/types/attachment-rules.d.ts +44 -0
  190. package/lib/types/cli.d.ts +2 -2
  191. package/lib/types/client/QaAccountsController.d.ts +8 -1
  192. package/lib/types/client/QaSessionController.d.ts +53 -16
  193. package/lib/types/client/QaSurface.d.ts +14 -1
  194. package/lib/types/client/approvals.d.ts +39 -0
  195. package/lib/types/client/attachments.d.ts +54 -0
  196. package/lib/types/client/base64.d.ts +10 -0
  197. package/lib/types/client/chat-files.d.ts +30 -0
  198. package/lib/types/client/components/QaApproval.d.ts +13 -0
  199. package/lib/types/client/components/QaChangelog.d.ts +1 -1
  200. package/lib/types/client/components/QaComposer.d.ts +8 -4
  201. package/lib/types/client/components/QaFileAttachment.d.ts +14 -0
  202. package/lib/types/client/components/QaFilesPanel.d.ts +15 -0
  203. package/lib/types/client/components/QaHeader.d.ts +41 -0
  204. package/lib/types/client/components/QaMessage.d.ts +3 -1
  205. package/lib/types/client/components/QaModal.d.ts +26 -0
  206. package/lib/types/client/components/QaProfile.d.ts +25 -0
  207. package/lib/types/client/components/QaQuestions.d.ts +13 -0
  208. package/lib/types/client/components/QaRightRail.d.ts +23 -0
  209. package/lib/types/client/components/QaSidebar.d.ts +14 -0
  210. package/lib/types/client/components/{QaSourcesDrawer.d.ts → QaSourcesPanel.d.ts} +7 -4
  211. package/lib/types/client/components/QaTurnRail.d.ts +6 -0
  212. package/lib/types/client/components/QaWidthHandle.d.ts +14 -7
  213. package/lib/types/client/components/QaWorkGroup.d.ts +5 -3
  214. package/lib/types/client/components/surface-utils.d.ts +11 -0
  215. package/lib/types/client/components/thinking-phrases.d.ts +9 -0
  216. package/lib/types/client/create-session.d.ts +6 -9
  217. package/lib/types/client/failure-copy.d.ts +19 -0
  218. package/lib/types/client/project-session-state.d.ts +8 -1
  219. package/lib/types/client/prompt-content.d.ts +30 -0
  220. package/lib/types/client/questions.d.ts +45 -0
  221. package/lib/types/client/settings/card.d.ts +23 -0
  222. package/lib/types/client/settings/fields.d.ts +139 -0
  223. package/lib/types/client/settings/format.d.ts +108 -0
  224. package/lib/types/client/settings/sections/access.d.ts +9 -0
  225. package/lib/types/client/settings/sections/accounts.d.ts +9 -0
  226. package/lib/types/client/settings/sections/attachments.d.ts +15 -0
  227. package/lib/types/client/settings/sections/branding.d.ts +8 -0
  228. package/lib/types/client/settings/sections/common.d.ts +28 -0
  229. package/lib/types/client/settings/sections/embedding.d.ts +8 -0
  230. package/lib/types/client/settings/sections/interface.d.ts +9 -0
  231. package/lib/types/client/settings/sections/lockdown.d.ts +9 -0
  232. package/lib/types/client/settings/sections/session.d.ts +9 -0
  233. package/lib/types/client/settings/sections/sources.d.ts +9 -0
  234. package/lib/types/client/settings/sections/status.d.ts +22 -0
  235. package/lib/types/client/settings/sections.d.ts +25 -0
  236. package/lib/types/client/settings/styles.d.ts +8 -0
  237. package/lib/types/client/stream-publisher.d.ts +28 -0
  238. package/lib/types/client/types.d.ts +76 -1
  239. package/lib/types/client/use-right-rail.d.ts +56 -0
  240. package/lib/types/client/use-session-ui-state.d.ts +13 -7
  241. package/lib/types/config-resolvers/accounts.d.ts +15 -0
  242. package/lib/types/config-resolvers/attachments.d.ts +6 -0
  243. package/lib/types/config-resolvers/basics.d.ts +8 -0
  244. package/lib/types/config-resolvers/defaults.d.ts +4 -0
  245. package/lib/types/config-resolvers/lockdown.d.ts +10 -0
  246. package/lib/types/config-resolvers/session.d.ts +6 -0
  247. package/lib/types/config-resolvers/shared.d.ts +23 -0
  248. package/lib/types/config-resolvers/sources.d.ts +6 -0
  249. package/lib/types/config-resolvers/ui.d.ts +6 -0
  250. package/lib/types/index.d.ts +48 -15
  251. package/lib/types/profile.d.ts +76 -0
  252. package/lib/types/prompt-notes.d.ts +110 -0
  253. package/lib/types/provenance/reported.d.ts +9 -1
  254. package/lib/types/questions.d.ts +83 -0
  255. package/lib/types/resolve-config.d.ts +8 -3
  256. package/lib/types/secure-session.d.ts +46 -2
  257. package/lib/types/session-ownership.d.ts +30 -0
  258. package/lib/types/shared/session-key.d.ts +23 -0
  259. package/lib/types/shared/settings.d.ts +10 -0
  260. package/lib/types/thinking-phrases.d.ts +17 -0
  261. package/lib/types/types.d.ts +203 -9
  262. package/lib/types/user-workspace.d.ts +42 -0
  263. package/lib/user-workspace.js +246 -0
  264. package/lib/user-workspace.js.map +1 -0
  265. package/package.json +15 -8
  266. package/CHANGELOG.md +0 -176
  267. package/SPEC-dsh-qa-surface.md +0 -2425
  268. package/docs/ARCHITECTURE.md +0 -66
  269. package/docs/COMPATIBILITY.md +0 -14
  270. package/docs/CONFIGURATION.md +0 -199
  271. package/docs/EMBEDDING.md +0 -13
  272. package/docs/SOURCES-MIGRATION.md +0 -28
  273. package/docs/SOURCES-PROVENANCE-AUDIT.md +0 -88
  274. package/docs/SPEC-dsh-qa-surface-accounts.md +0 -219
  275. package/docs/SPEC-dsh-qa-surface-sources-provenance.md +0 -1692
  276. package/lib/client/components/QaSourcesDrawer.js.map +0 -1
@@ -3,7 +3,7 @@ import type {
3
3
  RemoteResult,
4
4
  TypertRemoteContribution,
5
5
  } from '@deepseek-ai/dsh-typert-protocol'
6
- import type { QaAccountSession, QaClaimResult, QaLockdownProof, QaOwnershipEntry, QaSourceFilePreview, QaTurnSources, QaWhoamiResult, ResolvedQaSurfaceConfig } from '@yadsh/dsh-qa-surface/types'
6
+ import type { QaAccountProfileInput, QaAccountSession, QaAccountUserPublic, QaApprovalDecision, QaClaimResult, QaLockdownProof, QaOwnershipEntry, QaPendingApproval, QaPendingQuestion, QaQuestionAnswerItem, QaSourceFilePreview, QaTurnSources, QaWhoamiResult, ResolvedQaSurfaceConfig } from '@yadsh/dsh-qa-surface/types'
7
7
 
8
8
  declare module '@deepseek-ai/dsh-typert-protocol' {
9
9
  interface TypertRemoteNamespace$716153757266616365 {
@@ -12,8 +12,15 @@ declare module '@deepseek-ai/dsh-typert-protocol' {
12
12
  accountsLogin: (email: string, password: string) => Promise<RemoteResult<QaAccountSession>>
13
13
  accountsOwnedSessions: (token: string) => Promise<RemoteResult<{ readonly ids: readonly string[]; }>>
14
14
  accountsRegister: (email: string, password: string) => Promise<RemoteResult<QaAccountSession>>
15
+ accountsUpdateProfile: (token: string, input: QaAccountProfileInput) => Promise<RemoteResult<QaAccountUserPublic>>
15
16
  accountsWhoami: (token: string) => Promise<RemoteResult<QaWhoamiResult>>
17
+ answerApproval: (token: string, sessionId: string, requestId: string, decision: QaApprovalDecision) => Promise<RemoteResult<boolean>>
18
+ answerQuestion: (token: string, sessionId: string, requestId: string, answers: readonly QaQuestionAnswerItem[]) => Promise<RemoteResult<boolean>>
19
+ cancelQuestion: (token: string, sessionId: string, requestId: string) => Promise<RemoteResult<boolean>>
20
+ createSession: (token: string) => Promise<RemoteResult<string>>
16
21
  describe: () => Promise<RemoteResult<ResolvedQaSurfaceConfig>>
22
+ pendingApprovals: (token: string, sessionId: string) => Promise<RemoteResult<readonly QaPendingApproval[]>>
23
+ pendingQuestions: (token: string, sessionId: string) => Promise<RemoteResult<readonly QaPendingQuestion[]>>
17
24
  readSourceFile: (token: string, sessionId: string, sourcePath: string) => Promise<RemoteResult<QaSourceFilePreview>>
18
25
  secureSession: (token: string, sessionId: string) => Promise<RemoteResult<QaLockdownProof>>
19
26
  sources: (token: string, sessionId: string) => Promise<RemoteResult<readonly QaTurnSources[]>>
@@ -24,8 +31,15 @@ declare module '@deepseek-ai/dsh-typert-protocol' {
24
31
  'qaSurface/accountsLogin': (email: string, password: string) => Promise<RemoteResult<QaAccountSession>>
25
32
  'qaSurface/accountsOwnedSessions': (token: string) => Promise<RemoteResult<{ readonly ids: readonly string[]; }>>
26
33
  'qaSurface/accountsRegister': (email: string, password: string) => Promise<RemoteResult<QaAccountSession>>
34
+ 'qaSurface/accountsUpdateProfile': (token: string, input: QaAccountProfileInput) => Promise<RemoteResult<QaAccountUserPublic>>
27
35
  'qaSurface/accountsWhoami': (token: string) => Promise<RemoteResult<QaWhoamiResult>>
36
+ 'qaSurface/answerApproval': (token: string, sessionId: string, requestId: string, decision: QaApprovalDecision) => Promise<RemoteResult<boolean>>
37
+ 'qaSurface/answerQuestion': (token: string, sessionId: string, requestId: string, answers: readonly QaQuestionAnswerItem[]) => Promise<RemoteResult<boolean>>
38
+ 'qaSurface/cancelQuestion': (token: string, sessionId: string, requestId: string) => Promise<RemoteResult<boolean>>
39
+ 'qaSurface/createSession': (token: string) => Promise<RemoteResult<string>>
28
40
  'qaSurface/describe': () => Promise<RemoteResult<ResolvedQaSurfaceConfig>>
41
+ 'qaSurface/pendingApprovals': (token: string, sessionId: string) => Promise<RemoteResult<readonly QaPendingApproval[]>>
42
+ 'qaSurface/pendingQuestions': (token: string, sessionId: string) => Promise<RemoteResult<readonly QaPendingQuestion[]>>
29
43
  'qaSurface/readSourceFile': (token: string, sessionId: string, sourcePath: string) => Promise<RemoteResult<QaSourceFilePreview>>
30
44
  'qaSurface/secureSession': (token: string, sessionId: string) => Promise<RemoteResult<QaLockdownProof>>
31
45
  'qaSurface/sources': (token: string, sessionId: string) => Promise<RemoteResult<readonly QaTurnSources[]>>
@@ -29,6 +29,12 @@ const _yadsh_dsh_qa_surface_qaSurface_accountsLogin_result$schema = z.object({
29
29
  'createdAt': z.string().readonly(),
30
30
  'lastLoginAt': z.union([z.literal(null), z.string()]).readonly(),
31
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(),
32
38
  }).readonly(),
33
39
  })
34
40
  const _yadsh_dsh_qa_surface_qaSurface_accountsOwnedSessions_parameter_0$schema = z.string()
@@ -47,6 +53,33 @@ const _yadsh_dsh_qa_surface_qaSurface_accountsRegister_result$schema = z.object(
47
53
  'createdAt': z.string().readonly(),
48
54
  'lastLoginAt': z.union([z.literal(null), z.string()]).readonly(),
49
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(),
50
83
  }).readonly(),
51
84
  })
52
85
  const _yadsh_dsh_qa_surface_qaSurface_accountsWhoami_parameter_0$schema = z.string()
@@ -62,8 +95,34 @@ const _yadsh_dsh_qa_surface_qaSurface_accountsWhoami_result$schema = z.union([z.
62
95
  'createdAt': z.string().readonly(),
63
96
  'lastLoginAt': z.union([z.literal(null), z.string()]).readonly(),
64
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(),
65
104
  }).readonly(),
66
105
  })])
106
+ const _yadsh_dsh_qa_surface_qaSurface_answerApproval_parameter_0$schema = z.string()
107
+ const _yadsh_dsh_qa_surface_qaSurface_answerApproval_parameter_1$schema = z.string()
108
+ const _yadsh_dsh_qa_surface_qaSurface_answerApproval_parameter_2$schema = z.string()
109
+ const _yadsh_dsh_qa_surface_qaSurface_answerApproval_parameter_3$schema = z.union([z.literal("allowed-once"), z.literal("rejected")])
110
+ const _yadsh_dsh_qa_surface_qaSurface_answerApproval_result$schema = z.boolean()
111
+ const _yadsh_dsh_qa_surface_qaSurface_answerQuestion_parameter_0$schema = z.string()
112
+ const _yadsh_dsh_qa_surface_qaSurface_answerQuestion_parameter_1$schema = z.string()
113
+ const _yadsh_dsh_qa_surface_qaSurface_answerQuestion_parameter_2$schema = z.string()
114
+ const _yadsh_dsh_qa_surface_qaSurface_answerQuestion_parameter_3$schema = z.array(z.object({
115
+ 'id': z.string().readonly(),
116
+ 'selected': z.array(z.string()).readonly(),
117
+ 'custom': z.string().readonly().optional(),
118
+ }))
119
+ const _yadsh_dsh_qa_surface_qaSurface_answerQuestion_result$schema = z.boolean()
120
+ const _yadsh_dsh_qa_surface_qaSurface_cancelQuestion_parameter_0$schema = z.string()
121
+ const _yadsh_dsh_qa_surface_qaSurface_cancelQuestion_parameter_1$schema = z.string()
122
+ const _yadsh_dsh_qa_surface_qaSurface_cancelQuestion_parameter_2$schema = z.string()
123
+ const _yadsh_dsh_qa_surface_qaSurface_cancelQuestion_result$schema = z.boolean()
124
+ const _yadsh_dsh_qa_surface_qaSurface_createSession_parameter_0$schema = z.string()
125
+ const _yadsh_dsh_qa_surface_qaSurface_createSession_result$schema = z.string()
67
126
  const _yadsh_dsh_qa_surface_qaSurface_describe_result$schema = z.object({
68
127
  'enabled': z.boolean().readonly(),
69
128
  'route': z.object({
@@ -97,20 +156,21 @@ const _yadsh_dsh_qa_surface_qaSurface_describe_result$schema = z.object({
97
156
  'showToolActivity': z.boolean().readonly(),
98
157
  'showReasoning': z.boolean().readonly(),
99
158
  'renderMarkdown': z.boolean().readonly(),
100
- 'maxContentWidth': z.number().readonly(),
159
+ 'minContentWidth': z.number().readonly(),
101
160
  'showSessionList': z.boolean().readonly(),
102
161
  }).readonly(),
103
162
  'suggestedQuestions': z.array(z.string()).readonly(),
163
+ 'thinkingPhrases': z.array(z.string()).readonly(),
104
164
  'interaction': z.object({
105
- 'approvals': z.literal("blocked").readonly(),
106
- 'questions': z.literal("unsupported").readonly(),
165
+ 'approvals': z.union([z.literal("blocked"), z.literal("interactive")]).readonly(),
166
+ 'questions': z.union([z.literal("interactive"), z.literal("unsupported")]).readonly(),
107
167
  }).readonly(),
108
168
  'lockdown': z.object({
109
169
  'enabled': z.boolean().readonly(),
110
170
  'enforceFixedAgentPreset': z.boolean().readonly(),
111
171
  'enforceFixedWorkspace': z.boolean().readonly(),
112
172
  'enforceFixedModel': z.boolean().readonly(),
113
- 'sandboxMode': z.literal("read-only").readonly(),
173
+ 'sandboxMode': z.union([z.literal("read-only"), z.literal("workspace-write")]).readonly(),
114
174
  'approvalPolicy': z.literal("never").readonly(),
115
175
  'permissionPreset': z.string().readonly(),
116
176
  'allowPermissionChanges': z.literal(false).readonly(),
@@ -124,6 +184,7 @@ const _yadsh_dsh_qa_surface_qaSurface_describe_result$schema = z.object({
124
184
  'mode': z.literal("allow-list").readonly(),
125
185
  'allow': z.array(z.string()).readonly(),
126
186
  }).readonly(),
187
+ 'sharedReadOnlyRoots': z.array(z.string()).readonly(),
127
188
  }).readonly(),
128
189
  'embedding': z.object({
129
190
  'frameAncestors': z.union([z.literal(null), z.string()]).readonly(),
@@ -133,6 +194,16 @@ const _yadsh_dsh_qa_surface_qaSurface_describe_result$schema = z.object({
133
194
  'allowRegistration': z.boolean().readonly(),
134
195
  'sessionTtlDays': z.number().readonly(),
135
196
  'showOtherUsersChats': z.boolean().readonly(),
197
+ 'perUserWorkspace': z.boolean().readonly(),
198
+ 'profile': z.object({
199
+ 'enabled': z.boolean().readonly(),
200
+ 'inject': z.boolean().readonly(),
201
+ 'identities': z.array(z.object({
202
+ 'key': z.string().readonly(),
203
+ 'label': z.string().readonly(),
204
+ })).readonly(),
205
+ 'instructionsMaxLength': z.number().readonly(),
206
+ }).readonly(),
136
207
  }).readonly(),
137
208
  'entry': z.object({
138
209
  'redirectNonLoopback': z.boolean().readonly(),
@@ -173,12 +244,48 @@ const _yadsh_dsh_qa_surface_qaSurface_describe_result$schema = z.object({
173
244
  'inheritSources': z.boolean().readonly(),
174
245
  'enableReportToolFallback': z.boolean().readonly(),
175
246
  'markIncompleteOpaqueRuns': z.boolean().readonly(),
247
+ 'validateReportedSources': z.boolean().readonly(),
176
248
  }).readonly(),
177
249
  'legacy': z.object({
178
250
  'parseAssistantSourcesBlock': z.boolean().readonly(),
179
251
  }).readonly(),
252
+ }).readonly(),
253
+ 'attachments': z.object({
254
+ 'textFiles': z.boolean().readonly(),
255
+ 'pastedTextLines': z.number().readonly(),
256
+ 'maxFileBytes': z.number().readonly(),
257
+ 'maxPending': z.number().readonly(),
258
+ 'extensions': z.array(z.string()).readonly(),
180
259
  }).readonly(),
181
260
  })
261
+ const _yadsh_dsh_qa_surface_qaSurface_pendingApprovals_parameter_0$schema = z.string()
262
+ const _yadsh_dsh_qa_surface_qaSurface_pendingApprovals_parameter_1$schema = z.string()
263
+ const _yadsh_dsh_qa_surface_qaSurface_pendingApprovals_result$schema = z.array(z.object({
264
+ 'id': z.string().readonly(),
265
+ 'sessionId': z.string().readonly(),
266
+ 'toolName': z.string().readonly(),
267
+ 'reason': z.union([z.literal(null), z.string()]).readonly(),
268
+ 'createdAt': z.number().readonly(),
269
+ 'delegated': z.boolean().readonly(),
270
+ }))
271
+ const _yadsh_dsh_qa_surface_qaSurface_pendingQuestions_parameter_0$schema = z.string()
272
+ const _yadsh_dsh_qa_surface_qaSurface_pendingQuestions_parameter_1$schema = z.string()
273
+ const _yadsh_dsh_qa_surface_qaSurface_pendingQuestions_result$schema = z.array(z.object({
274
+ 'id': z.string().readonly(),
275
+ 'sessionId': z.string().readonly(),
276
+ 'questions': z.array(z.object({
277
+ 'id': z.string().readonly(),
278
+ 'question': z.string().readonly(),
279
+ 'header': z.union([z.literal(null), z.string()]).readonly(),
280
+ 'detail': z.union([z.literal(null), z.string()]).readonly(),
281
+ 'options': z.array(z.object({
282
+ 'label': z.string().readonly(),
283
+ 'description': z.union([z.literal(null), z.string()]).readonly(),
284
+ })).readonly(),
285
+ 'multiSelect': z.boolean().readonly(),
286
+ })).readonly(),
287
+ 'createdAt': z.number().readonly(),
288
+ }))
182
289
  const _yadsh_dsh_qa_surface_qaSurface_readSourceFile_parameter_0$schema = z.string()
183
290
  const _yadsh_dsh_qa_surface_qaSurface_readSourceFile_parameter_1$schema = z.string()
184
291
  const _yadsh_dsh_qa_surface_qaSurface_readSourceFile_parameter_2$schema = z.string()
@@ -198,7 +305,7 @@ const _yadsh_dsh_qa_surface_qaSurface_secureSession_result$schema = z.object({
198
305
  'agentPresetMatches': z.boolean().readonly(),
199
306
  'workspaceMatches': z.boolean().readonly(),
200
307
  'modelMatches': z.boolean().readonly(),
201
- 'sandboxIsReadOnly': z.boolean().readonly(),
308
+ 'sandboxModeMatches': z.boolean().readonly(),
202
309
  'approvalIsNever': z.boolean().readonly(),
203
310
  'permissionPreset': z.string().readonly(),
204
311
  'toolPolicyLoaded': z.boolean().readonly(),
@@ -314,7 +421,7 @@ export const TYPERT_REMOTE = {
314
421
  typeSymbol: '@yadsh/dsh-qa-surface/types#QaClaimResult',
315
422
  schema: _yadsh_dsh_qa_surface_qaSurface_accountsClaimSessions_result$schema,
316
423
  },
317
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":256,"column":3},
424
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":268,"column":3},
318
425
  },
319
426
  {
320
427
  id: '@yadsh/dsh-qa-surface#qaSurface/accountsListOwnership',
@@ -339,7 +446,7 @@ export const TYPERT_REMOTE = {
339
446
  typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsListOwnership:result',
340
447
  schema: _yadsh_dsh_qa_surface_qaSurface_accountsListOwnership_result$schema,
341
448
  },
342
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":280,"column":3},
449
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":287,"column":3},
343
450
  },
344
451
  {
345
452
  id: '@yadsh/dsh-qa-surface#qaSurface/accountsLogin',
@@ -374,7 +481,7 @@ export const TYPERT_REMOTE = {
374
481
  typeSymbol: '@yadsh/dsh-qa-surface/types#QaAccountSession',
375
482
  schema: _yadsh_dsh_qa_surface_qaSurface_accountsLogin_result$schema,
376
483
  },
377
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":241,"column":3},
484
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":256,"column":3},
378
485
  },
379
486
  {
380
487
  id: '@yadsh/dsh-qa-surface#qaSurface/accountsOwnedSessions',
@@ -399,7 +506,7 @@ export const TYPERT_REMOTE = {
399
506
  typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsOwnedSessions:result',
400
507
  schema: _yadsh_dsh_qa_surface_qaSurface_accountsOwnedSessions_result$schema,
401
508
  },
402
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":266,"column":3},
509
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":277,"column":3},
403
510
  },
404
511
  {
405
512
  id: '@yadsh/dsh-qa-surface#qaSurface/accountsRegister',
@@ -434,7 +541,42 @@ export const TYPERT_REMOTE = {
434
541
  typeSymbol: '@yadsh/dsh-qa-surface/types#QaAccountSession',
435
542
  schema: _yadsh_dsh_qa_surface_qaSurface_accountsRegister_result$schema,
436
543
  },
437
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":235,"column":3},
544
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":251,"column":3},
545
+ },
546
+ {
547
+ id: '@yadsh/dsh-qa-surface#qaSurface/accountsUpdateProfile',
548
+ service: 'qaSurface',
549
+ namespace: 'qaSurface',
550
+ method: 'accountsUpdateProfile',
551
+ invocation: { kind: 'direct' },
552
+ parameters: [
553
+ {
554
+ name: 'token',
555
+ wire: 'token',
556
+ source: 'json',
557
+ codec: {
558
+ mode: 'strict',
559
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/accountsUpdateProfile:token',
560
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsUpdateProfile_parameter_0$schema,
561
+ },
562
+ },
563
+ {
564
+ name: 'input',
565
+ wire: 'input',
566
+ source: 'json',
567
+ codec: {
568
+ mode: 'strict',
569
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaAccountProfileInput',
570
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsUpdateProfile_parameter_1$schema,
571
+ },
572
+ },
573
+ ],
574
+ result: {
575
+ mode: 'strict',
576
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaAccountUserPublic',
577
+ schema: _yadsh_dsh_qa_surface_qaSurface_accountsUpdateProfile_result$schema,
578
+ },
579
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":300,"column":3},
438
580
  },
439
581
  {
440
582
  id: '@yadsh/dsh-qa-surface#qaSurface/accountsWhoami',
@@ -459,7 +601,187 @@ export const TYPERT_REMOTE = {
459
601
  typeSymbol: '@yadsh/dsh-qa-surface/types#QaWhoamiResult',
460
602
  schema: _yadsh_dsh_qa_surface_qaSurface_accountsWhoami_result$schema,
461
603
  },
462
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":248,"column":3},
604
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":262,"column":3},
605
+ },
606
+ {
607
+ id: '@yadsh/dsh-qa-surface#qaSurface/answerApproval',
608
+ service: 'qaSurface',
609
+ namespace: 'qaSurface',
610
+ method: 'answerApproval',
611
+ invocation: { kind: 'direct' },
612
+ parameters: [
613
+ {
614
+ name: 'token',
615
+ wire: 'token',
616
+ source: 'json',
617
+ codec: {
618
+ mode: 'strict',
619
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/answerApproval:token',
620
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerApproval_parameter_0$schema,
621
+ },
622
+ },
623
+ {
624
+ name: 'sessionId',
625
+ wire: 'sessionId',
626
+ source: 'json',
627
+ codec: {
628
+ mode: 'strict',
629
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/answerApproval:sessionId',
630
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerApproval_parameter_1$schema,
631
+ },
632
+ },
633
+ {
634
+ name: 'requestId',
635
+ wire: 'requestId',
636
+ source: 'json',
637
+ codec: {
638
+ mode: 'strict',
639
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/answerApproval:requestId',
640
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerApproval_parameter_2$schema,
641
+ },
642
+ },
643
+ {
644
+ name: 'decision',
645
+ wire: 'decision',
646
+ source: 'json',
647
+ codec: {
648
+ mode: 'strict',
649
+ typeSymbol: '@yadsh/dsh-qa-surface/types#QaApprovalDecision',
650
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerApproval_parameter_3$schema,
651
+ },
652
+ },
653
+ ],
654
+ result: {
655
+ mode: 'strict',
656
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/answerApproval:result',
657
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerApproval_result$schema,
658
+ },
659
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":455,"column":9},
660
+ },
661
+ {
662
+ id: '@yadsh/dsh-qa-surface#qaSurface/answerQuestion',
663
+ service: 'qaSurface',
664
+ namespace: 'qaSurface',
665
+ method: 'answerQuestion',
666
+ invocation: { kind: 'direct' },
667
+ parameters: [
668
+ {
669
+ name: 'token',
670
+ wire: 'token',
671
+ source: 'json',
672
+ codec: {
673
+ mode: 'strict',
674
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/answerQuestion:token',
675
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerQuestion_parameter_0$schema,
676
+ },
677
+ },
678
+ {
679
+ name: 'sessionId',
680
+ wire: 'sessionId',
681
+ source: 'json',
682
+ codec: {
683
+ mode: 'strict',
684
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/answerQuestion:sessionId',
685
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerQuestion_parameter_1$schema,
686
+ },
687
+ },
688
+ {
689
+ name: 'requestId',
690
+ wire: 'requestId',
691
+ source: 'json',
692
+ codec: {
693
+ mode: 'strict',
694
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/answerQuestion:requestId',
695
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerQuestion_parameter_2$schema,
696
+ },
697
+ },
698
+ {
699
+ name: 'answers',
700
+ wire: 'answers',
701
+ source: 'json',
702
+ codec: {
703
+ mode: 'strict',
704
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/answerQuestion:answers',
705
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerQuestion_parameter_3$schema,
706
+ },
707
+ },
708
+ ],
709
+ result: {
710
+ mode: 'strict',
711
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/answerQuestion:result',
712
+ schema: _yadsh_dsh_qa_surface_qaSurface_answerQuestion_result$schema,
713
+ },
714
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":484,"column":9},
715
+ },
716
+ {
717
+ id: '@yadsh/dsh-qa-surface#qaSurface/cancelQuestion',
718
+ service: 'qaSurface',
719
+ namespace: 'qaSurface',
720
+ method: 'cancelQuestion',
721
+ invocation: { kind: 'direct' },
722
+ parameters: [
723
+ {
724
+ name: 'token',
725
+ wire: 'token',
726
+ source: 'json',
727
+ codec: {
728
+ mode: 'strict',
729
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/cancelQuestion:token',
730
+ schema: _yadsh_dsh_qa_surface_qaSurface_cancelQuestion_parameter_0$schema,
731
+ },
732
+ },
733
+ {
734
+ name: 'sessionId',
735
+ wire: 'sessionId',
736
+ source: 'json',
737
+ codec: {
738
+ mode: 'strict',
739
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/cancelQuestion:sessionId',
740
+ schema: _yadsh_dsh_qa_surface_qaSurface_cancelQuestion_parameter_1$schema,
741
+ },
742
+ },
743
+ {
744
+ name: 'requestId',
745
+ wire: 'requestId',
746
+ source: 'json',
747
+ codec: {
748
+ mode: 'strict',
749
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/cancelQuestion:requestId',
750
+ schema: _yadsh_dsh_qa_surface_qaSurface_cancelQuestion_parameter_2$schema,
751
+ },
752
+ },
753
+ ],
754
+ result: {
755
+ mode: 'strict',
756
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/cancelQuestion:result',
757
+ schema: _yadsh_dsh_qa_surface_qaSurface_cancelQuestion_result$schema,
758
+ },
759
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":496,"column":9},
760
+ },
761
+ {
762
+ id: '@yadsh/dsh-qa-surface#qaSurface/createSession',
763
+ service: 'qaSurface',
764
+ namespace: 'qaSurface',
765
+ method: 'createSession',
766
+ invocation: { kind: 'direct' },
767
+ parameters: [
768
+ {
769
+ name: 'token',
770
+ wire: 'token',
771
+ source: 'json',
772
+ codec: {
773
+ mode: 'strict',
774
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/createSession:token',
775
+ schema: _yadsh_dsh_qa_surface_qaSurface_createSession_parameter_0$schema,
776
+ },
777
+ },
778
+ ],
779
+ result: {
780
+ mode: 'strict',
781
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/createSession:result',
782
+ schema: _yadsh_dsh_qa_surface_qaSurface_createSession_result$schema,
783
+ },
784
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":325,"column":9},
463
785
  },
464
786
  {
465
787
  id: '@yadsh/dsh-qa-surface#qaSurface/describe',
@@ -474,7 +796,77 @@ export const TYPERT_REMOTE = {
474
796
  typeSymbol: '@yadsh/dsh-qa-surface/types#ResolvedQaSurfaceConfig',
475
797
  schema: _yadsh_dsh_qa_surface_qaSurface_describe_result$schema,
476
798
  },
477
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":298,"column":3},
799
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":315,"column":3},
800
+ },
801
+ {
802
+ id: '@yadsh/dsh-qa-surface#qaSurface/pendingApprovals',
803
+ service: 'qaSurface',
804
+ namespace: 'qaSurface',
805
+ method: 'pendingApprovals',
806
+ invocation: { kind: 'direct' },
807
+ parameters: [
808
+ {
809
+ name: 'token',
810
+ wire: 'token',
811
+ source: 'json',
812
+ codec: {
813
+ mode: 'strict',
814
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/pendingApprovals:token',
815
+ schema: _yadsh_dsh_qa_surface_qaSurface_pendingApprovals_parameter_0$schema,
816
+ },
817
+ },
818
+ {
819
+ name: 'sessionId',
820
+ wire: 'sessionId',
821
+ source: 'json',
822
+ codec: {
823
+ mode: 'strict',
824
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/pendingApprovals:sessionId',
825
+ schema: _yadsh_dsh_qa_surface_qaSurface_pendingApprovals_parameter_1$schema,
826
+ },
827
+ },
828
+ ],
829
+ result: {
830
+ mode: 'strict',
831
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/pendingApprovals:result',
832
+ schema: _yadsh_dsh_qa_surface_qaSurface_pendingApprovals_result$schema,
833
+ },
834
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":441,"column":9},
835
+ },
836
+ {
837
+ id: '@yadsh/dsh-qa-surface#qaSurface/pendingQuestions',
838
+ service: 'qaSurface',
839
+ namespace: 'qaSurface',
840
+ method: 'pendingQuestions',
841
+ invocation: { kind: 'direct' },
842
+ parameters: [
843
+ {
844
+ name: 'token',
845
+ wire: 'token',
846
+ source: 'json',
847
+ codec: {
848
+ mode: 'strict',
849
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/pendingQuestions:token',
850
+ schema: _yadsh_dsh_qa_surface_qaSurface_pendingQuestions_parameter_0$schema,
851
+ },
852
+ },
853
+ {
854
+ name: 'sessionId',
855
+ wire: 'sessionId',
856
+ source: 'json',
857
+ codec: {
858
+ mode: 'strict',
859
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/pendingQuestions:sessionId',
860
+ schema: _yadsh_dsh_qa_surface_qaSurface_pendingQuestions_parameter_1$schema,
861
+ },
862
+ },
863
+ ],
864
+ result: {
865
+ mode: 'strict',
866
+ typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/pendingQuestions:result',
867
+ schema: _yadsh_dsh_qa_surface_qaSurface_pendingQuestions_result$schema,
868
+ },
869
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":470,"column":9},
478
870
  },
479
871
  {
480
872
  id: '@yadsh/dsh-qa-surface#qaSurface/readSourceFile',
@@ -519,7 +911,7 @@ export const TYPERT_REMOTE = {
519
911
  typeSymbol: '@yadsh/dsh-qa-surface/types#QaSourceFilePreview',
520
912
  schema: _yadsh_dsh_qa_surface_qaSurface_readSourceFile_result$schema,
521
913
  },
522
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":337,"column":9},
914
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":507,"column":9},
523
915
  },
524
916
  {
525
917
  id: '@yadsh/dsh-qa-surface#qaSurface/secureSession',
@@ -554,7 +946,7 @@ export const TYPERT_REMOTE = {
554
946
  typeSymbol: '@yadsh/dsh-qa-surface/types#QaLockdownProof',
555
947
  schema: _yadsh_dsh_qa_surface_qaSurface_secureSession_result$schema,
556
948
  },
557
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":304,"column":3},
949
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":399,"column":9},
558
950
  },
559
951
  {
560
952
  id: '@yadsh/dsh-qa-surface#qaSurface/sources',
@@ -589,7 +981,7 @@ export const TYPERT_REMOTE = {
589
981
  typeSymbol: '@yadsh/dsh-qa-surface#qaSurface/sources:result',
590
982
  schema: _yadsh_dsh_qa_surface_qaSurface_sources_result$schema,
591
983
  },
592
- sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":330,"column":3},
984
+ sourceLocation: {"file":"packages/dsh-qa-surface/src/index.ts","line":428,"column":9},
593
985
  },
594
986
  ],
595
987
  }
@@ -0,0 +1,42 @@
1
+ import type { PluginLogger } from "@yadsh/dsh-plugin-log";
2
+ import { QaAccounts } from "./accounts/store.js";
3
+ import type { QaAccountProfileInput, QaAccountSession, QaAccountUserPublic, QaClaimResult, QaOwnershipEntry, QaWhoamiResult, ResolvedQaSurfaceConfig } from "./types.js";
4
+ /**
5
+ * Host-side bodies of the account remotes the `QaSurface` service exposes.
6
+ * The `@Remote`-decorated signatures stay on the service class (typert code
7
+ * generation reads the class shape); this context carries everything behind
8
+ * them: store construction and memoization, the disabled refusal, and the
9
+ * error mapping onto the shared `(reason: <code>)` wire marker.
10
+ */
11
+ export interface QaAccountRemotes {
12
+ /** The accounts store behind the runtime toggle, or undefined while off. */
13
+ resolve(config: ResolvedQaSurfaceConfig): QaAccounts | undefined;
14
+ /** Map a store failure onto the shared `(reason: <code>)` wire marker. */
15
+ run<T>(operation: () => T, sessionIdForLog?: string): T;
16
+ register(email: string, password: string): QaAccountSession;
17
+ login(email: string, password: string): QaAccountSession;
18
+ /** Identity probe; safe to call with an empty or expired token. */
19
+ whoami(token: string): QaWhoamiResult;
20
+ /** Migrate a browser's local chat index into server-side ownership. */
21
+ claimSessions(token: string, sessionIds: readonly string[]): QaClaimResult;
22
+ /** The token user's owned session ids; the sidebar list authority. */
23
+ ownedSessions(token: string): {
24
+ readonly ids: readonly string[];
25
+ };
26
+ /**
27
+ * Every chat-ownership entry with owner display names; the cross-user view
28
+ * admin browsers group the sidebar by. Ordinary accounts are refused with
29
+ * the dedicated reason, anonymous ones with auth-required.
30
+ */
31
+ listOwnership(token: string): {
32
+ readonly entries: readonly QaOwnershipEntry[];
33
+ };
34
+ /** Replace the caller's own self-declared profile; the token is the identity. */
35
+ updateProfile(token: string, input: QaAccountProfileInput): QaAccountUserPublic;
36
+ }
37
+ /** Build the account-remotes context for one `QaSurface` service instance. */
38
+ export declare function createQaAccountRemotes(options: {
39
+ getConfig: () => ResolvedQaSurfaceConfig;
40
+ logger: PluginLogger;
41
+ }): QaAccountRemotes;
42
+ //# sourceMappingURL=account-remotes.d.ts.map
@@ -0,0 +1,20 @@
1
+ /** An account request after normalization, ready to become a stored user. */
2
+ export interface ValidatedCredentials {
3
+ readonly email: string;
4
+ /** Trimmed display name; empty means "derive one from the address". */
5
+ readonly displayName: string;
6
+ }
7
+ /**
8
+ * The length gate every path that sets a password goes through — registration,
9
+ * the operator's addUser, and a reset — so a password good enough to register is
10
+ * exactly the one an operator can put back.
11
+ */
12
+ export declare function validatePassword(password: string): void;
13
+ /**
14
+ * The email/password/display-name gate shared by self-registration and the
15
+ * operator's addUser, so both paths reject unusable input with the same
16
+ * errors and messages, in the same order. Returns the normalized address and
17
+ * trimmed display name; the caller still decides uniqueness and role.
18
+ */
19
+ export declare function validateCredentials(email: string, password: string, displayName: string | undefined): ValidatedCredentials;
20
+ //# sourceMappingURL=credentials.d.ts.map