@vertesia/common 1.5.0-dev.20260725.083715Z → 1.5.0-dev.20260806.125520Z

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 (552) hide show
  1. package/lib/Progress.d.ts.map +1 -1
  2. package/lib/Progress.js.map +1 -1
  3. package/lib/access-control-values.d.ts +98 -0
  4. package/lib/access-control-values.d.ts.map +1 -0
  5. package/lib/access-control-values.js +101 -0
  6. package/lib/access-control-values.js.map +1 -0
  7. package/lib/access-control.d.ts +22 -119
  8. package/lib/access-control.d.ts.map +1 -1
  9. package/lib/access-control.js +6 -78
  10. package/lib/access-control.js.map +1 -1
  11. package/lib/account-values.d.ts +53 -0
  12. package/lib/account-values.d.ts.map +1 -0
  13. package/lib/account-values.js +91 -0
  14. package/lib/account-values.js.map +1 -0
  15. package/lib/analytics.d.ts +12 -38
  16. package/lib/analytics.d.ts.map +1 -1
  17. package/lib/api-schemas/access-control.d.ts +215 -0
  18. package/lib/api-schemas/access-control.d.ts.map +1 -0
  19. package/lib/api-schemas/access-control.js +165 -0
  20. package/lib/api-schemas/access-control.js.map +1 -0
  21. package/lib/api-schemas/account.d.ts +101 -0
  22. package/lib/api-schemas/account.d.ts.map +1 -0
  23. package/lib/api-schemas/account.js +136 -0
  24. package/lib/api-schemas/account.js.map +1 -0
  25. package/lib/api-schemas/adapter.d.ts +80 -0
  26. package/lib/api-schemas/adapter.d.ts.map +1 -0
  27. package/lib/api-schemas/adapter.js +726 -0
  28. package/lib/api-schemas/adapter.js.map +1 -0
  29. package/lib/api-schemas/agent-runs.d.ts +3786 -0
  30. package/lib/api-schemas/agent-runs.d.ts.map +1 -0
  31. package/lib/api-schemas/agent-runs.js +1000 -0
  32. package/lib/api-schemas/agent-runs.js.map +1 -0
  33. package/lib/api-schemas/analytics.d.ts +86 -0
  34. package/lib/api-schemas/analytics.d.ts.map +1 -0
  35. package/lib/api-schemas/analytics.js +58 -0
  36. package/lib/api-schemas/analytics.js.map +1 -0
  37. package/lib/api-schemas/apikey.d.ts +231 -0
  38. package/lib/api-schemas/apikey.d.ts.map +1 -0
  39. package/lib/api-schemas/apikey.js +172 -0
  40. package/lib/api-schemas/apikey.js.map +1 -0
  41. package/lib/api-schemas/app-lifecycle.d.ts +1148 -0
  42. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
  43. package/lib/api-schemas/app-lifecycle.js +801 -0
  44. package/lib/api-schemas/app-lifecycle.js.map +1 -0
  45. package/lib/api-schemas/app-runtime.d.ts +10951 -0
  46. package/lib/api-schemas/app-runtime.d.ts.map +1 -0
  47. package/lib/api-schemas/app-runtime.js +874 -0
  48. package/lib/api-schemas/app-runtime.js.map +1 -0
  49. package/lib/api-schemas/apps.d.ts +271 -0
  50. package/lib/api-schemas/apps.d.ts.map +1 -0
  51. package/lib/api-schemas/apps.js +426 -0
  52. package/lib/api-schemas/apps.js.map +1 -0
  53. package/lib/api-schemas/audit-trail.d.ts +465 -0
  54. package/lib/api-schemas/audit-trail.d.ts.map +1 -0
  55. package/lib/api-schemas/audit-trail.js +218 -0
  56. package/lib/api-schemas/audit-trail.js.map +1 -0
  57. package/lib/api-schemas/bulk-operation.d.ts +104 -0
  58. package/lib/api-schemas/bulk-operation.d.ts.map +1 -0
  59. package/lib/api-schemas/bulk-operation.js +66 -0
  60. package/lib/api-schemas/bulk-operation.js.map +1 -0
  61. package/lib/api-schemas/commands.d.ts +50 -0
  62. package/lib/api-schemas/commands.d.ts.map +1 -0
  63. package/lib/api-schemas/commands.js +58 -0
  64. package/lib/api-schemas/commands.js.map +1 -0
  65. package/lib/api-schemas/content.d.ts +3565 -0
  66. package/lib/api-schemas/content.d.ts.map +1 -0
  67. package/lib/api-schemas/content.js +854 -0
  68. package/lib/api-schemas/content.js.map +1 -0
  69. package/lib/api-schemas/cost-analytics.d.ts +300 -0
  70. package/lib/api-schemas/cost-analytics.d.ts.map +1 -0
  71. package/lib/api-schemas/cost-analytics.js +218 -0
  72. package/lib/api-schemas/cost-analytics.js.map +1 -0
  73. package/lib/api-schemas/dashboard.d.ts +408 -0
  74. package/lib/api-schemas/dashboard.d.ts.map +1 -0
  75. package/lib/api-schemas/dashboard.js +311 -0
  76. package/lib/api-schemas/dashboard.js.map +1 -0
  77. package/lib/api-schemas/data-store.d.ts +1650 -0
  78. package/lib/api-schemas/data-store.d.ts.map +1 -0
  79. package/lib/api-schemas/data-store.js +504 -0
  80. package/lib/api-schemas/data-store.js.map +1 -0
  81. package/lib/api-schemas/document-processing.d.ts +1501 -0
  82. package/lib/api-schemas/document-processing.d.ts.map +1 -0
  83. package/lib/api-schemas/document-processing.js +312 -0
  84. package/lib/api-schemas/document-processing.js.map +1 -0
  85. package/lib/api-schemas/embeddings.d.ts +184 -0
  86. package/lib/api-schemas/embeddings.d.ts.map +1 -0
  87. package/lib/api-schemas/embeddings.js +102 -0
  88. package/lib/api-schemas/embeddings.js.map +1 -0
  89. package/lib/api-schemas/environment.d.ts +412 -0
  90. package/lib/api-schemas/environment.d.ts.map +1 -0
  91. package/lib/api-schemas/environment.js +170 -0
  92. package/lib/api-schemas/environment.js.map +1 -0
  93. package/lib/api-schemas/events.d.ts +4918 -0
  94. package/lib/api-schemas/events.d.ts.map +1 -0
  95. package/lib/api-schemas/events.js +888 -0
  96. package/lib/api-schemas/events.js.map +1 -0
  97. package/lib/api-schemas/files.d.ts +107 -0
  98. package/lib/api-schemas/files.d.ts.map +1 -0
  99. package/lib/api-schemas/files.js +137 -0
  100. package/lib/api-schemas/files.js.map +1 -0
  101. package/lib/api-schemas/group.d.ts +122 -0
  102. package/lib/api-schemas/group.d.ts.map +1 -0
  103. package/lib/api-schemas/group.js +142 -0
  104. package/lib/api-schemas/group.js.map +1 -0
  105. package/lib/api-schemas/index.d.ts +36 -0
  106. package/lib/api-schemas/index.d.ts.map +1 -0
  107. package/lib/api-schemas/index.js +36 -0
  108. package/lib/api-schemas/index.js.map +1 -0
  109. package/lib/api-schemas/indexing.d.ts +144 -0
  110. package/lib/api-schemas/indexing.d.ts.map +1 -0
  111. package/lib/api-schemas/indexing.js +217 -0
  112. package/lib/api-schemas/indexing.js.map +1 -0
  113. package/lib/api-schemas/integrations.d.ts +269 -0
  114. package/lib/api-schemas/integrations.d.ts.map +1 -0
  115. package/lib/api-schemas/integrations.js +335 -0
  116. package/lib/api-schemas/integrations.js.map +1 -0
  117. package/lib/api-schemas/interaction.d.ts +22456 -0
  118. package/lib/api-schemas/interaction.d.ts.map +1 -0
  119. package/lib/api-schemas/interaction.js +2071 -0
  120. package/lib/api-schemas/interaction.js.map +1 -0
  121. package/lib/api-schemas/invites.d.ts +162 -0
  122. package/lib/api-schemas/invites.d.ts.map +1 -0
  123. package/lib/api-schemas/invites.js +106 -0
  124. package/lib/api-schemas/invites.js.map +1 -0
  125. package/lib/api-schemas/oauth-server.d.ts +415 -0
  126. package/lib/api-schemas/oauth-server.d.ts.map +1 -0
  127. package/lib/api-schemas/oauth-server.js +193 -0
  128. package/lib/api-schemas/oauth-server.js.map +1 -0
  129. package/lib/api-schemas/oauth.d.ts +150 -0
  130. package/lib/api-schemas/oauth.d.ts.map +1 -0
  131. package/lib/api-schemas/oauth.js +148 -0
  132. package/lib/api-schemas/oauth.js.map +1 -0
  133. package/lib/api-schemas/parameters.d.ts +64 -0
  134. package/lib/api-schemas/parameters.d.ts.map +1 -0
  135. package/lib/api-schemas/parameters.js +246 -0
  136. package/lib/api-schemas/parameters.js.map +1 -0
  137. package/lib/api-schemas/process.d.ts +499 -0
  138. package/lib/api-schemas/process.d.ts.map +1 -0
  139. package/lib/api-schemas/process.js +817 -0
  140. package/lib/api-schemas/process.js.map +1 -0
  141. package/lib/api-schemas/project-configuration.d.ts +4900 -0
  142. package/lib/api-schemas/project-configuration.d.ts.map +1 -0
  143. package/lib/api-schemas/project-configuration.js +425 -0
  144. package/lib/api-schemas/project-configuration.js.map +1 -0
  145. package/lib/api-schemas/project.d.ts +7247 -0
  146. package/lib/api-schemas/project.d.ts.map +1 -0
  147. package/lib/api-schemas/project.js +185 -0
  148. package/lib/api-schemas/project.js.map +1 -0
  149. package/lib/api-schemas/prompt.d.ts +70 -0
  150. package/lib/api-schemas/prompt.d.ts.map +1 -0
  151. package/lib/api-schemas/prompt.js +77 -0
  152. package/lib/api-schemas/prompt.js.map +1 -0
  153. package/lib/api-schemas/quota.d.ts +90 -0
  154. package/lib/api-schemas/quota.d.ts.map +1 -0
  155. package/lib/api-schemas/quota.js +95 -0
  156. package/lib/api-schemas/quota.js.map +1 -0
  157. package/lib/api-schemas/registry.d.ts +98506 -0
  158. package/lib/api-schemas/registry.d.ts.map +1 -0
  159. package/lib/api-schemas/registry.js +2606 -0
  160. package/lib/api-schemas/registry.js.map +1 -0
  161. package/lib/api-schemas/schema-primitives.d.ts +5 -0
  162. package/lib/api-schemas/schema-primitives.d.ts.map +1 -0
  163. package/lib/api-schemas/schema-primitives.js +11 -0
  164. package/lib/api-schemas/schema-primitives.js.map +1 -0
  165. package/lib/api-schemas/secrets.d.ts +497 -0
  166. package/lib/api-schemas/secrets.d.ts.map +1 -0
  167. package/lib/api-schemas/secrets.js +298 -0
  168. package/lib/api-schemas/secrets.js.map +1 -0
  169. package/lib/api-schemas/store.d.ts +22140 -0
  170. package/lib/api-schemas/store.d.ts.map +1 -0
  171. package/lib/api-schemas/store.js +557 -0
  172. package/lib/api-schemas/store.js.map +1 -0
  173. package/lib/api-schemas/sts.d.ts +166 -0
  174. package/lib/api-schemas/sts.d.ts.map +1 -0
  175. package/lib/api-schemas/sts.js +107 -0
  176. package/lib/api-schemas/sts.js.map +1 -0
  177. package/lib/api-schemas/task.d.ts +215 -0
  178. package/lib/api-schemas/task.d.ts.map +1 -0
  179. package/lib/api-schemas/task.js +95 -0
  180. package/lib/api-schemas/task.js.map +1 -0
  181. package/lib/api-schemas/tools.d.ts +111 -0
  182. package/lib/api-schemas/tools.d.ts.map +1 -0
  183. package/lib/api-schemas/tools.js +122 -0
  184. package/lib/api-schemas/tools.js.map +1 -0
  185. package/lib/api-schemas/user.d.ts +208 -0
  186. package/lib/api-schemas/user.d.ts.map +1 -0
  187. package/lib/api-schemas/user.js +180 -0
  188. package/lib/api-schemas/user.js.map +1 -0
  189. package/lib/api-schemas/view-execution.d.ts +3163 -0
  190. package/lib/api-schemas/view-execution.d.ts.map +1 -0
  191. package/lib/api-schemas/view-execution.js +172 -0
  192. package/lib/api-schemas/view-execution.js.map +1 -0
  193. package/lib/api-schemas/views.d.ts +5990 -0
  194. package/lib/api-schemas/views.d.ts.map +1 -0
  195. package/lib/api-schemas/views.js +396 -0
  196. package/lib/api-schemas/views.js.map +1 -0
  197. package/lib/api-schemas/workflow-runs.d.ts +2210 -0
  198. package/lib/api-schemas/workflow-runs.d.ts.map +1 -0
  199. package/lib/api-schemas/workflow-runs.js +589 -0
  200. package/lib/api-schemas/workflow-runs.js.map +1 -0
  201. package/lib/apikey-values.d.ts +10 -0
  202. package/lib/apikey-values.d.ts.map +1 -0
  203. package/lib/apikey-values.js +11 -0
  204. package/lib/apikey-values.js.map +1 -0
  205. package/lib/apikey.d.ts +37 -36
  206. package/lib/apikey.d.ts.map +1 -1
  207. package/lib/apikey.js +5 -4
  208. package/lib/apikey.js.map +1 -1
  209. package/lib/apps.d.ts +142 -1172
  210. package/lib/apps.d.ts.map +1 -1
  211. package/lib/apps.js +4 -0
  212. package/lib/apps.js.map +1 -1
  213. package/lib/ask-user.d.ts +8 -1
  214. package/lib/ask-user.d.ts.map +1 -1
  215. package/lib/audit-trail.d.ts +20 -131
  216. package/lib/audit-trail.d.ts.map +1 -1
  217. package/lib/audit-trail.js.map +1 -1
  218. package/lib/browser-credentials.d.ts +11 -106
  219. package/lib/browser-credentials.d.ts.map +1 -1
  220. package/lib/common.d.ts +59 -81
  221. package/lib/common.d.ts.map +1 -1
  222. package/lib/cost-analytics.d.ts +14 -167
  223. package/lib/cost-analytics.d.ts.map +1 -1
  224. package/lib/cost-analytics.js.map +1 -1
  225. package/lib/data-platform.d.ts +122 -786
  226. package/lib/data-platform.d.ts.map +1 -1
  227. package/lib/data-platform.js +41 -61
  228. package/lib/data-platform.js.map +1 -1
  229. package/lib/email.d.ts +5 -17
  230. package/lib/email.d.ts.map +1 -1
  231. package/lib/email.js +0 -3
  232. package/lib/email.js.map +1 -1
  233. package/lib/embeddings.d.ts +14 -56
  234. package/lib/embeddings.d.ts.map +1 -1
  235. package/lib/environment.d.ts +22 -118
  236. package/lib/environment.d.ts.map +1 -1
  237. package/lib/environment.js +3 -0
  238. package/lib/environment.js.map +1 -1
  239. package/lib/facets.d.ts +4 -7
  240. package/lib/facets.d.ts.map +1 -1
  241. package/lib/group.d.ts +33 -39
  242. package/lib/group.d.ts.map +1 -1
  243. package/lib/group.js +0 -1
  244. package/lib/group.js.map +1 -1
  245. package/lib/index.d.ts +8 -0
  246. package/lib/index.d.ts.map +1 -1
  247. package/lib/index.js +1 -0
  248. package/lib/index.js.map +1 -1
  249. package/lib/integrations.d.ts +20 -108
  250. package/lib/integrations.d.ts.map +1 -1
  251. package/lib/integrations.js.map +1 -1
  252. package/lib/interaction-values.d.ts +11 -0
  253. package/lib/interaction-values.d.ts.map +1 -0
  254. package/lib/interaction-values.js +24 -0
  255. package/lib/interaction-values.js.map +1 -0
  256. package/lib/interaction.d.ts +88 -778
  257. package/lib/interaction.d.ts.map +1 -1
  258. package/lib/interaction.js +8 -12
  259. package/lib/interaction.js.map +1 -1
  260. package/lib/meters.d.ts +11 -7
  261. package/lib/meters.d.ts.map +1 -1
  262. package/lib/meters.js.map +1 -1
  263. package/lib/oauth-server.d.ts +33 -119
  264. package/lib/oauth-server.d.ts.map +1 -1
  265. package/lib/oauth.d.ts +14 -96
  266. package/lib/oauth.d.ts.map +1 -1
  267. package/lib/oauth.js +0 -4
  268. package/lib/oauth.js.map +1 -1
  269. package/lib/payload.d.ts +15 -38
  270. package/lib/payload.d.ts.map +1 -1
  271. package/lib/platform-event-validation.d.ts.map +1 -1
  272. package/lib/platform-event-validation.js +15 -2
  273. package/lib/platform-event-validation.js.map +1 -1
  274. package/lib/platform-event.d.ts +79 -464
  275. package/lib/platform-event.d.ts.map +1 -1
  276. package/lib/platform-event.js.map +1 -1
  277. package/lib/principal-context.d.ts +10 -15
  278. package/lib/principal-context.d.ts.map +1 -1
  279. package/lib/project-values.d.ts +24 -0
  280. package/lib/project-values.d.ts.map +1 -0
  281. package/lib/project-values.js +42 -0
  282. package/lib/project-values.js.map +1 -0
  283. package/lib/project.d.ts +56 -504
  284. package/lib/project.d.ts.map +1 -1
  285. package/lib/project.js +6 -76
  286. package/lib/project.js.map +1 -1
  287. package/lib/prompt.d.ts +20 -51
  288. package/lib/prompt.d.ts.map +1 -1
  289. package/lib/prompt.js.map +1 -1
  290. package/lib/query.d.ts +27 -88
  291. package/lib/query.d.ts.map +1 -1
  292. package/lib/rate-limiter.d.ts +19 -70
  293. package/lib/rate-limiter.d.ts.map +1 -1
  294. package/lib/rate-limiter.js +0 -3
  295. package/lib/rate-limiter.js.map +1 -1
  296. package/lib/refs.d.ts +3 -11
  297. package/lib/refs.d.ts.map +1 -1
  298. package/lib/refs.js.map +1 -1
  299. package/lib/roles/types.d.ts +14 -20
  300. package/lib/roles/types.d.ts.map +1 -1
  301. package/lib/roles/types.js +5 -9
  302. package/lib/roles/types.js.map +1 -1
  303. package/lib/runs.d.ts +6 -25
  304. package/lib/runs.d.ts.map +1 -1
  305. package/lib/schema-for-extraction.js.map +1 -1
  306. package/lib/secrets.d.ts +20 -105
  307. package/lib/secrets.d.ts.map +1 -1
  308. package/lib/store/agent-approval.d.ts +6 -15
  309. package/lib/store/agent-approval.d.ts.map +1 -1
  310. package/lib/store/agent-approval.js.map +1 -1
  311. package/lib/store/agent-run.d.ts +57 -358
  312. package/lib/store/agent-run.d.ts.map +1 -1
  313. package/lib/store/collections.d.ts +11 -63
  314. package/lib/store/collections.d.ts.map +1 -1
  315. package/lib/store/collections.js.map +1 -1
  316. package/lib/store/conversation-state.d.ts +61 -61
  317. package/lib/store/conversation-state.d.ts.map +1 -1
  318. package/lib/store/conversation-state.js +2 -0
  319. package/lib/store/conversation-state.js.map +1 -1
  320. package/lib/store/doc-analyzer.d.ts +9 -32
  321. package/lib/store/doc-analyzer.d.ts.map +1 -1
  322. package/lib/store/dsl-workflow.d.ts +37 -151
  323. package/lib/store/dsl-workflow.d.ts.map +1 -1
  324. package/lib/store/dsl-workflow.js.map +1 -1
  325. package/lib/store/editing-policy-schema.generated.d.ts +3 -0
  326. package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
  327. package/lib/store/editing-policy-schema.generated.js +28 -0
  328. package/lib/store/editing-policy-schema.generated.js.map +1 -0
  329. package/lib/store/grounded-extraction.d.ts +7 -104
  330. package/lib/store/grounded-extraction.d.ts.map +1 -1
  331. package/lib/store/grounded-extraction.js.map +1 -1
  332. package/lib/store/index.d.ts +2 -0
  333. package/lib/store/index.d.ts.map +1 -1
  334. package/lib/store/index.js +3 -0
  335. package/lib/store/index.js.map +1 -1
  336. package/lib/store/intake-policy-schema.generated.d.ts +3 -0
  337. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
  338. package/lib/store/intake-policy-schema.generated.js +1425 -0
  339. package/lib/store/intake-policy-schema.generated.js.map +1 -0
  340. package/lib/store/process-schema.d.ts +81 -1
  341. package/lib/store/process-schema.d.ts.map +1 -1
  342. package/lib/store/process-schema.js +79 -0
  343. package/lib/store/process-schema.js.map +1 -1
  344. package/lib/store/process-validation.d.ts.map +1 -1
  345. package/lib/store/process-validation.js +70 -2
  346. package/lib/store/process-validation.js.map +1 -1
  347. package/lib/store/process.d.ts +36 -125
  348. package/lib/store/process.d.ts.map +1 -1
  349. package/lib/store/process.js.map +1 -1
  350. package/lib/store/rendering.d.ts +9 -64
  351. package/lib/store/rendering.d.ts.map +1 -1
  352. package/lib/store/rendering.js.map +1 -1
  353. package/lib/store/schedule.d.ts +6 -6
  354. package/lib/store/schedule.d.ts.map +1 -1
  355. package/lib/store/store.d.ts +99 -701
  356. package/lib/store/store.d.ts.map +1 -1
  357. package/lib/store/store.js +4 -456
  358. package/lib/store/store.js.map +1 -1
  359. package/lib/store/task.d.ts +15 -59
  360. package/lib/store/task.d.ts.map +1 -1
  361. package/lib/store/task.js +0 -3
  362. package/lib/store/task.js.map +1 -1
  363. package/lib/store/workflow.d.ts +58 -516
  364. package/lib/store/workflow.d.ts.map +1 -1
  365. package/lib/store/workflow.js +31 -11
  366. package/lib/store/workflow.js.map +1 -1
  367. package/lib/sts-errors.d.ts +7 -0
  368. package/lib/sts-errors.d.ts.map +1 -0
  369. package/lib/sts-errors.js +11 -0
  370. package/lib/sts-errors.js.map +1 -0
  371. package/lib/sts-token-types.d.ts +13 -66
  372. package/lib/sts-token-types.d.ts.map +1 -1
  373. package/lib/sts-token-types.js.map +1 -1
  374. package/lib/tools.d.ts +8 -100
  375. package/lib/tools.d.ts.map +1 -1
  376. package/lib/transient-tokens-values.d.ts +11 -0
  377. package/lib/transient-tokens-values.d.ts.map +1 -0
  378. package/lib/transient-tokens-values.js +12 -0
  379. package/lib/transient-tokens-values.js.map +1 -0
  380. package/lib/transient-tokens.d.ts +15 -13
  381. package/lib/transient-tokens.d.ts.map +1 -1
  382. package/lib/transient-tokens.js +5 -5
  383. package/lib/transient-tokens.js.map +1 -1
  384. package/lib/user.d.ts +55 -156
  385. package/lib/user.d.ts.map +1 -1
  386. package/lib/user.js +2 -79
  387. package/lib/user.js.map +1 -1
  388. package/lib/versions.d.ts +34 -1
  389. package/lib/versions.d.ts.map +1 -1
  390. package/lib/versions.js +33 -0
  391. package/lib/versions.js.map +1 -1
  392. package/lib/vertesia-common.js +6 -2
  393. package/lib/vertesia-common.js.map +1 -1
  394. package/lib/view-configuration-validation.js.map +1 -1
  395. package/lib/view-query-validation.js.map +1 -1
  396. package/lib/view-validation-helpers.d.ts +1 -1
  397. package/lib/view-validation-helpers.d.ts.map +1 -1
  398. package/lib/views-schema.d.ts +51 -51
  399. package/lib/views-schema.d.ts.map +1 -1
  400. package/lib/views-validation.js.map +1 -1
  401. package/lib/views.d.ts +58 -314
  402. package/lib/views.d.ts.map +1 -1
  403. package/lib/views.js.map +1 -1
  404. package/lib/workflow-analytics.d.ts +10 -3
  405. package/lib/workflow-analytics.d.ts.map +1 -1
  406. package/package.json +14 -5
  407. package/src/access-control-values.ts +113 -0
  408. package/src/access-control.ts +33 -138
  409. package/src/account-values.ts +95 -0
  410. package/src/analytics.ts +18 -42
  411. package/src/api-schemas/access-control.contract.test.ts +209 -0
  412. package/src/api-schemas/access-control.ts +208 -0
  413. package/src/api-schemas/account.contract.test.ts +318 -0
  414. package/src/api-schemas/account.ts +150 -0
  415. package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
  416. package/src/api-schemas/adapter.ts +778 -0
  417. package/src/api-schemas/agent-runs.ts +1091 -0
  418. package/src/api-schemas/analytics.ts +65 -0
  419. package/src/api-schemas/apikey.contract.test.ts +270 -0
  420. package/src/api-schemas/apikey.ts +199 -0
  421. package/src/api-schemas/app-delete-summary.contract.test.ts +67 -0
  422. package/src/api-schemas/app-lifecycle.ts +900 -0
  423. package/src/api-schemas/app-runtime.ts +1022 -0
  424. package/src/api-schemas/apps.ts +484 -0
  425. package/src/api-schemas/audit-trail.ts +243 -0
  426. package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
  427. package/src/api-schemas/bulk-operation.ts +75 -0
  428. package/src/api-schemas/bundle-isolation.test.ts +80 -0
  429. package/src/api-schemas/commands.contract.test.ts +51 -0
  430. package/src/api-schemas/commands.ts +62 -0
  431. package/src/api-schemas/content.ts +952 -0
  432. package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
  433. package/src/api-schemas/cost-analytics.ts +235 -0
  434. package/src/api-schemas/dashboard.contract.test.ts +127 -0
  435. package/src/api-schemas/dashboard.ts +351 -0
  436. package/src/api-schemas/data-store.contract.test.ts +91 -0
  437. package/src/api-schemas/data-store.ts +571 -0
  438. package/src/api-schemas/document-processing.contract.test.ts +76 -0
  439. package/src/api-schemas/document-processing.ts +344 -0
  440. package/src/api-schemas/embeddings.ts +113 -0
  441. package/src/api-schemas/environment.contract.test.ts +184 -0
  442. package/src/api-schemas/environment.ts +190 -0
  443. package/src/api-schemas/events.ts +981 -0
  444. package/src/api-schemas/files.ts +159 -0
  445. package/src/api-schemas/group.contract.test.ts +205 -0
  446. package/src/api-schemas/group.ts +155 -0
  447. package/src/api-schemas/index.ts +35 -0
  448. package/src/api-schemas/indexing.contract.test.ts +83 -0
  449. package/src/api-schemas/indexing.ts +234 -0
  450. package/src/api-schemas/integrations.ts +369 -0
  451. package/src/api-schemas/interaction.contract.test.ts +27 -0
  452. package/src/api-schemas/interaction.ts +2364 -0
  453. package/src/api-schemas/invites.contract.test.ts +268 -0
  454. package/src/api-schemas/invites.ts +127 -0
  455. package/src/api-schemas/llumiverse.contract.test.ts +108 -0
  456. package/src/api-schemas/mcp-api-key.contract.test.ts +86 -0
  457. package/src/api-schemas/oauth-server.ts +219 -0
  458. package/src/api-schemas/oauth.contract.test.ts +118 -0
  459. package/src/api-schemas/oauth.ts +166 -0
  460. package/src/api-schemas/parameters.test.ts +402 -0
  461. package/src/api-schemas/parameters.ts +310 -0
  462. package/src/api-schemas/process.ts +929 -0
  463. package/src/api-schemas/project-configuration.ts +478 -0
  464. package/src/api-schemas/project.contract.test.ts +365 -0
  465. package/src/api-schemas/project.ts +214 -0
  466. package/src/api-schemas/prompt.ts +88 -0
  467. package/src/api-schemas/pruning-limits.test.ts +189 -0
  468. package/src/api-schemas/quota.contract.test.ts +147 -0
  469. package/src/api-schemas/quota.ts +122 -0
  470. package/src/api-schemas/registry-groups.test.ts +91 -0
  471. package/src/api-schemas/registry.ts +3512 -0
  472. package/src/api-schemas/response-pruning.test.ts +260 -0
  473. package/src/api-schemas/schema-primitives.ts +12 -0
  474. package/src/api-schemas/secrets.ts +332 -0
  475. package/src/api-schemas/store.contract.test.ts +471 -0
  476. package/src/api-schemas/store.ts +604 -0
  477. package/src/api-schemas/sts.contract.test.ts +112 -0
  478. package/src/api-schemas/sts.ts +123 -0
  479. package/src/api-schemas/task.ts +104 -0
  480. package/src/api-schemas/tools.ts +140 -0
  481. package/src/api-schemas/user.contract.test.ts +191 -0
  482. package/src/api-schemas/user.ts +204 -0
  483. package/src/api-schemas/view-execution.ts +200 -0
  484. package/src/api-schemas/views.ts +437 -0
  485. package/src/api-schemas/workflow-runs.ts +653 -0
  486. package/src/apikey-values.ts +10 -0
  487. package/src/apikey.ts +49 -40
  488. package/src/apps.test.ts +82 -0
  489. package/src/apps.ts +283 -1228
  490. package/src/ask-user.ts +9 -1
  491. package/src/audit-trail.ts +45 -137
  492. package/src/browser-credentials.ts +21 -106
  493. package/src/common.ts +67 -78
  494. package/src/cost-analytics.ts +37 -176
  495. package/src/data-platform.ts +205 -776
  496. package/src/email.ts +5 -17
  497. package/src/embeddings.ts +22 -60
  498. package/src/environment.ts +52 -126
  499. package/src/facets.ts +4 -7
  500. package/src/group.ts +38 -42
  501. package/src/index.ts +12 -0
  502. package/src/integrations.ts +39 -129
  503. package/src/interaction-values.ts +23 -0
  504. package/src/interaction.ts +162 -902
  505. package/src/meters.ts +11 -7
  506. package/src/oauth-server.ts +58 -127
  507. package/src/oauth.ts +24 -108
  508. package/src/payload.ts +25 -40
  509. package/src/platform-event-validation.test.ts +26 -0
  510. package/src/platform-event-validation.ts +15 -2
  511. package/src/platform-event.ts +141 -484
  512. package/src/principal-context.ts +11 -15
  513. package/src/project-values.ts +41 -0
  514. package/src/project.ts +116 -588
  515. package/src/prompt.ts +34 -61
  516. package/src/query.ts +34 -93
  517. package/src/rate-limiter.ts +27 -75
  518. package/src/refs.ts +4 -11
  519. package/src/roles/types.ts +20 -20
  520. package/src/runs.ts +11 -24
  521. package/src/secrets.ts +38 -117
  522. package/src/store/agent-approval.ts +9 -14
  523. package/src/store/agent-run.ts +93 -450
  524. package/src/store/collections.ts +21 -63
  525. package/src/store/content-type-editing.test.ts +1 -1
  526. package/src/store/conversation-state.ts +75 -64
  527. package/src/store/doc-analyzer.ts +17 -33
  528. package/src/store/dsl-workflow.ts +62 -158
  529. package/src/store/editing-policy-schema.generated.ts +30 -0
  530. package/src/store/grounded-extraction.ts +13 -104
  531. package/src/store/index.ts +3 -0
  532. package/src/store/intake-policy-schema.generated.ts +1442 -0
  533. package/src/store/process-schema.test.ts +43 -0
  534. package/src/store/process-schema.ts +79 -0
  535. package/src/store/process-validation.test.ts +141 -0
  536. package/src/store/process-validation.ts +82 -2
  537. package/src/store/process.ts +70 -146
  538. package/src/store/rendering.ts +15 -64
  539. package/src/store/store.ts +197 -1204
  540. package/src/store/task.ts +25 -59
  541. package/src/store/workflow.ts +103 -554
  542. package/src/sts-errors.ts +13 -0
  543. package/src/sts-token-types.ts +26 -75
  544. package/src/tools.ts +18 -97
  545. package/src/transient-tokens-values.ts +11 -0
  546. package/src/transient-tokens.ts +16 -13
  547. package/src/user.ts +75 -215
  548. package/src/versions.test.ts +13 -0
  549. package/src/versions.ts +36 -0
  550. package/src/views-schema.test.ts +9 -1
  551. package/src/views.ts +106 -329
  552. package/src/workflow-analytics.ts +10 -3
@@ -0,0 +1,13 @@
1
+ export const REQUESTED_SCOPE_UNAVAILABLE_ERROR_CODE = 'requested_scope_unavailable';
2
+ export const NO_ACCESSIBLE_ACCOUNT_ERROR_CODE = 'no_accessible_account';
3
+ export const RESTRICTED_ENVIRONMENT_ERROR_CODE = 'restricted_environment';
4
+ export const TOKEN_ISSUANCE_FORBIDDEN_ERROR_CODE = 'token_issuance_forbidden';
5
+
6
+ export const ISSUE_TOKEN_FORBIDDEN_ERROR_CODES = [
7
+ REQUESTED_SCOPE_UNAVAILABLE_ERROR_CODE,
8
+ NO_ACCESSIBLE_ACCOUNT_ERROR_CODE,
9
+ RESTRICTED_ENVIRONMENT_ERROR_CODE,
10
+ TOKEN_ISSUANCE_FORBIDDEN_ERROR_CODE,
11
+ ] as const;
12
+
13
+ export type IssueTokenForbiddenErrorCode = (typeof ISSUE_TOKEN_FORBIDDEN_ERROR_CODES)[number];
@@ -2,50 +2,35 @@
2
2
  * STS Token Request Types
3
3
  * These types define the structure for token requests to the Security Token Service
4
4
  */
5
- import type { SystemRoles } from './project.js';
6
-
7
- export type TokenType = 'apikey' | 'user' | 'project' | 'environment' | 'agent' | 'service_account';
8
- export type SigningAlgorithm = 'ES256' | 'RS256';
9
-
10
- interface BaseTokenRequest {
11
- type: TokenType;
12
- audience?: string;
13
- /** Signing algorithm - defaults to ES256. Use RS256 for Azure AD compatibility. */
14
- algorithm?: SigningAlgorithm;
15
- }
5
+ import type { z } from 'zod';
6
+ import type {
7
+ AgentTokenRequestSchema,
8
+ ApiKeyTokenRequestSchema,
9
+ EnvironmentTokenRequestSchema,
10
+ IssueTokenForbiddenResponseSchema,
11
+ IssueTokenRequestSchema,
12
+ IssueTokenResponseSchema,
13
+ ProjectTokenRequestSchema,
14
+ ServiceAccountTokenRequestSchema,
15
+ SigningAlgorithmSchema,
16
+ TokenTypeSchema,
17
+ UserTokenRequestSchema,
18
+ } from './api-schemas/sts.js';
19
+
20
+ export type TokenType = z.infer<typeof TokenTypeSchema>;
21
+ export type SigningAlgorithm = z.infer<typeof SigningAlgorithmSchema>;
16
22
 
17
23
  // API key doesn't need account/project as it's determined from the key
18
- export interface ApiKeyTokenRequest extends BaseTokenRequest {
19
- type: 'apikey';
20
- key: string;
21
- }
24
+ export type ApiKeyTokenRequest = z.infer<typeof ApiKeyTokenRequestSchema>;
22
25
 
23
26
  // User token needs optional account/project for scoping
24
- export interface UserTokenRequest extends BaseTokenRequest {
25
- type: 'user';
26
- user_id?: string; // Optional - can be determined from auth token
27
- account_id?: string; // Optional - for scoping to specific account
28
- project_id?: string; // Optional - for scoping to specific project
29
- expires_at?: number;
30
-
31
- on_behalf_of?: string; // Optional - user ID when acting on behalf of another user
32
- }
27
+ export type UserTokenRequest = z.infer<typeof UserTokenRequestSchema>;
33
28
 
34
29
  // Project token requires project_id and account_id
35
- export interface ProjectTokenRequest extends BaseTokenRequest {
36
- type: 'project';
37
- project_id: string;
38
- account_id: string;
39
- }
30
+ export type ProjectTokenRequest = z.infer<typeof ProjectTokenRequestSchema>;
40
31
 
41
32
  // Environment token requires IDs - names fetched from DB
42
- export interface EnvironmentTokenRequest extends BaseTokenRequest {
43
- type: 'environment';
44
- environment_id: string;
45
- environment_name: string; // Still required as environments may not be in DB
46
- project_id: string; // Will fetch name and verify account
47
- account_id: string; // Will fetch name and verify project belongs to it
48
- }
33
+ export type EnvironmentTokenRequest = z.infer<typeof EnvironmentTokenRequestSchema>;
49
34
 
50
35
  /**
51
36
  * Agent token for a service account to act as agent on behalf of a user.
@@ -56,46 +41,15 @@ export interface EnvironmentTokenRequest extends BaseTokenRequest {
56
41
  * - `workload_id_token`: a workload acts on behalf of a user. It implies that a full verification
57
42
  * will be performed based on the workload identity.
58
43
  */
59
- export interface AgentTokenRequest extends BaseTokenRequest {
60
- type: 'agent';
61
- account_id: string;
62
- project_id: string; // Will verify it belongs to account
63
- name?: string;
64
-
65
- /**
66
- * User information.
67
- *
68
- * The value of this field can be either:
69
- * - a signed Vertesia token used to verify the user context
70
- * - a user ID prefixed with `user:` to indicate the user on behalf of whom the agent is
71
- * acting.
72
- *
73
- * @example {JsonWebToken}
74
- * @example user:68100a7c9f3c2b7d11a1b2c3
75
- */
76
- on_behalf_of: string;
77
- }
44
+ export type AgentTokenRequest = z.infer<typeof AgentTokenRequestSchema>;
78
45
 
79
46
  // Service account token
80
- export interface ServiceAccountTokenRequest extends BaseTokenRequest {
81
- type: 'service_account';
82
- account_id: string;
83
- project_id: string; // Will verify it belongs to account
84
- roles?: SystemRoles[]; // Optional - roles for the service account token
85
- name?: string;
86
- email?: string;
87
- }
47
+ export type ServiceAccountTokenRequest = z.infer<typeof ServiceAccountTokenRequestSchema>;
88
48
 
89
49
  /**
90
50
  * @discriminator type
91
51
  */
92
- export type IssueTokenRequest =
93
- | ApiKeyTokenRequest
94
- | UserTokenRequest
95
- | ProjectTokenRequest
96
- | EnvironmentTokenRequest
97
- | AgentTokenRequest
98
- | ServiceAccountTokenRequest;
52
+ export type IssueTokenRequest = z.infer<typeof IssueTokenRequestSchema>;
99
53
 
100
54
  export interface RefreshTokenRequest {
101
55
  token: string;
@@ -137,11 +91,8 @@ export interface TokenResponse {
137
91
  expires_in?: number;
138
92
  }
139
93
 
140
- export interface IssueTokenResponse {
141
- token: string;
142
- token_type: 'Bearer';
143
- expires_in?: number;
144
- }
94
+ export type IssueTokenResponse = z.infer<typeof IssueTokenResponseSchema>;
95
+ export type IssueTokenForbiddenResponse = z.infer<typeof IssueTokenForbiddenResponseSchema>;
145
96
 
146
97
  export interface ValidateTokenResponse {
147
98
  valid: boolean;
package/src/tools.ts CHANGED
@@ -1,103 +1,24 @@
1
- import type { MCPToolAnnotations } from './apps.js';
1
+ import type { z } from 'zod';
2
+ import type {
3
+ AggregatedToolSchema,
4
+ ListProjectToolsQuerySchema,
5
+ ToolSourceSchema,
6
+ ToolValidationResultSchema,
7
+ ValidateToolNamesPayloadSchema,
8
+ ValidateToolNamesResponseSchema,
9
+ } from './api-schemas/tools.js';
2
10
 
3
- /**
4
- * Origin of a tool in the unified project-scoped tool registry.
5
- *
6
- * - `builtin`: anything statically registered on the worker — workflow builtins, studio agent tools, and sys skills
7
- * - `app`: tools contributed by an installed app for the project
8
- * - `interaction`: a project interaction exposed via `tag=tool` / `is_tool=true` / `is_skill=true`
9
- *
10
- * Skill semantics (the tool unlocks others when invoked) are NOT part of the source. They are
11
- * identified universally by the `learn_` prefix in the tool name. This matches how the runtime
12
- * registry stores them and avoids splitting one logical origin into two sources.
13
- */
14
- export type ToolSource = 'builtin' | 'app' | 'interaction';
11
+ // The unified project-scoped tool registry, inferred from `./api-schemas/tools.js`. The
12
+ // documentation for each member lives on the schema, which is what the OpenAPI document publishes.
15
13
 
16
- /**
17
- * A single tool entry in the unified registry, regardless of where it came from.
18
- * Returned by `GET /tools` and the resolution map of `POST /tools/validate`.
19
- */
20
- export interface AggregatedTool {
21
- /** Name as referenced from `agent_runner_options.tool_names`. For interaction skills this is `learn_<endpoint>`. */
22
- name: string;
23
- source: ToolSource;
24
- description?: string;
25
- title?: string;
26
- /** Whether the tool is part of the default toolkit when no explicit `tool_names` is provided. */
27
- is_default?: boolean;
28
- annotations?: MCPToolAnnotations;
29
- /** For skills (`learn_*`): tool names this skill unlocks when invoked. */
30
- unlocked_tools?: string[];
31
- /** Present when `source === 'app'`: the app installation that provides this tool. */
32
- app_install_id?: string;
33
- /** Present when `source === 'app'`: the app's manifest name (used for `principal.apps` filtering). */
34
- app_name?: string;
35
- /** Present when `source === 'interaction'`: the interaction document id. */
36
- interaction_id?: string;
37
- /**
38
- * Present when `source === 'interaction'`: true if the interaction has
39
- * `agent_runner_options.is_agent === true`. Lets UI consumers distinguish
40
- * sub-agents (autonomous, run-to-completion) from regular interaction tools.
41
- */
42
- is_agent?: boolean;
43
- }
14
+ export type ToolSource = z.infer<typeof ToolSourceSchema>;
44
15
 
45
- /**
46
- * Optional filters for `GET /tools`.
47
- *
48
- * The resolution is `(sources ?? ALL) − exclude`:
49
- * - `sources` alone: include only the listed sources
50
- * - `exclude` alone: include all sources except the listed ones
51
- * - Both: start from `sources`, then remove `exclude`
52
- * - Neither: include all sources
53
- *
54
- * Sources that are filtered out are not fetched, so passing `exclude=['app']` skips
55
- * the app round-trips entirely.
56
- */
57
- export interface ListProjectToolsQuery {
58
- /** Include only these sources. */
59
- sources?: ToolSource[];
60
- /** Drop these sources from the result (and skip their fetch). Applied after `sources`. */
61
- exclude?: ToolSource[];
62
- }
16
+ export type AggregatedTool = z.infer<typeof AggregatedToolSchema>;
63
17
 
64
- /**
65
- * Per-name resolution result for `POST /tools/validate`.
66
- */
67
- export interface ToolValidationResult {
68
- /** The name the caller asked about. */
69
- name: string;
70
- /** True if the name resolves to exactly one tool in the project's unified registry. */
71
- valid: boolean;
72
- /** When `valid`: which source the tool came from. */
73
- source?: ToolSource;
74
- /** When `valid` and `source === 'app'`: the app installation that provides the tool. */
75
- app_install_id?: string;
76
- /** When `valid` and `source === 'app'`: the app's manifest name. */
77
- app_name?: string;
78
- /** When `!valid` and a close match exists: the suggested replacement name (Levenshtein-based). */
79
- suggestion?: string;
80
- /**
81
- * Populated when a name appears in more than one source. Validation does not fail on this,
82
- * but exposes the ambiguity so callers can surface a warning (last-write-wins resolution applies).
83
- */
84
- collisions?: Array<{ source: ToolSource; app_install_id?: string }>;
85
- }
18
+ export type ListProjectToolsQuery = z.infer<typeof ListProjectToolsQuerySchema>;
86
19
 
87
- /**
88
- * Request payload for `POST /tools/validate`.
89
- */
90
- export interface ValidateToolNamesPayload {
91
- /** Bare tool names as they appear in `agent_runner_options.tool_names`. `+`/`-` prefixes are stripped before lookup. */
92
- names: string[];
93
- }
20
+ export type ToolValidationResult = z.infer<typeof ToolValidationResultSchema>;
94
21
 
95
- /**
96
- * Response from `POST /tools/validate`.
97
- */
98
- export interface ValidateToolNamesResponse {
99
- /** One entry per requested name, in the same order. */
100
- results: ToolValidationResult[];
101
- /** Convenience count of `results.filter(r => !r.valid).length`. */
102
- invalid_count: number;
103
- }
22
+ export type ValidateToolNamesPayload = z.infer<typeof ValidateToolNamesPayloadSchema>;
23
+
24
+ export type ValidateToolNamesResponse = z.infer<typeof ValidateToolNamesResponseSchema>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Transient-token values that exist at runtime.
3
+ *
4
+ * Split out of `transient-tokens.ts` so `api-schemas/invites.ts` can read the enum without importing
5
+ * a module that derives its types from those very schemas. Re-exported from `transient-tokens.ts`.
6
+ */
7
+
8
+ export enum TransientTokenType {
9
+ userInvite = 'user-invite',
10
+ migration = 'migration',
11
+ }
@@ -1,10 +1,12 @@
1
- import type { ProjectRef, SystemRoles } from './project.js';
2
- import type { AccountRef, UserRef } from './user.js';
1
+ import type { z } from 'zod';
2
+ import type { UserInviteTokenDataSchema, UserInviteTokenFromSchema } from './api-schemas/invites.js';
3
+ import type { TransientTokenType } from './transient-tokens-values.js';
3
4
 
4
- export enum TransientTokenType {
5
- userInvite = 'user-invite',
6
- migration = 'migration',
7
- }
5
+ /**
6
+ * `TransientTokenType` lives in `./transient-tokens-values.js` so the API schemas can read it
7
+ * without importing this module back. Re-exported here so import paths keep working.
8
+ */
9
+ export * from './transient-tokens-values.js';
8
10
 
9
11
  export interface TransientToken<T> {
10
12
  id: string;
@@ -18,10 +20,11 @@ export interface TransientToken<T> {
18
20
 
19
21
  export interface CreateOrUpdateTransientTokenPayload<T> extends Partial<TransientToken<T>> {}
20
22
 
21
- export interface UserInviteTokenData {
22
- email: string;
23
- role: SystemRoles;
24
- account: AccountRef;
25
- project?: ProjectRef;
26
- invited_by: UserRef;
27
- }
23
+ /**
24
+ * The invite payload as it crosses the wire, inferred from `./api-schemas/invites.js`. Every
25
+ * reference is populated by the handlers before the response is built.
26
+ */
27
+ export type UserInviteTokenData = z.infer<typeof UserInviteTokenDataSchema>;
28
+
29
+ /** One pending invite, as the three invite listings publish it. */
30
+ export type UserInviteToken = UserInviteTokenFromSchema;
package/src/user.ts CHANGED
@@ -1,51 +1,49 @@
1
+ import type { z } from 'zod';
2
+ import type { AccountBillingSchema, AccountSchema, UpdateAccountPayloadSchema } from './api-schemas/account.js';
3
+ import type {
4
+ AccountProjectsResponseSchema,
5
+ AccountRefSchema,
6
+ InviteAcceptanceResponseSchema,
7
+ InviteDeclineResponseSchema,
8
+ InviteUserRequestPayloadSchema,
9
+ InviteUserResponsePayloadSchema,
10
+ OnboardingProgressSchema,
11
+ } from './api-schemas/invites.js';
12
+ import type {
13
+ SignupDataSchema,
14
+ SignupPayloadSchema,
15
+ UpdateUserPayloadSchema,
16
+ UserRefSchema,
17
+ UserSchema,
18
+ } from './api-schemas/user.js';
1
19
  import type { ApiKey } from './apikey.js';
2
- import type { ProjectRef, SystemRoles } from './project.js';
20
+
21
+ export * from './account-values.js';
3
22
 
4
23
  export interface UserWithAccounts extends User {
5
24
  accounts: AccountRef[];
6
25
  }
7
26
 
8
- export interface User {
9
- id: string;
10
- externalId?: string;
11
- email: string;
12
- name: string;
13
- username?: string;
14
- picture?: string;
15
- language?: string;
16
- phone?: string;
17
- sign_in_provider?: string;
18
- last_selected_account?: string;
19
- source?: 'firebase' | 'scim';
20
- updated_by?: string;
21
- /** Custom properties for dynamic permission matching */
22
- properties?: Record<string, unknown>;
23
- /** BLP clearance level — determines max document sensitivity the user can access */
24
- clearance?: number;
25
- /** Compartments the user belongs to — restricts access to documents in matching compartments */
26
- compartments?: string[];
27
- /** Free-form user metadata - restricted to internal use */
28
- annotations?: string[];
29
- }
30
-
31
- export interface UpdateUserPayload {
32
- name?: string;
33
- username?: string;
34
- picture?: string;
35
- language?: string;
36
- phone?: string;
37
- last_selected_account?: string;
38
- properties?: Record<string, unknown>;
39
- clearance?: number;
40
- compartments?: string[];
41
- }
27
+ /**
28
+ * The user and its update payload as they cross the wire.
29
+ *
30
+ * Derived from the schemas in `./api-schemas/user.js`, which are what OpenAPI publishes and AJV
31
+ * compiles. The descriptions live there too — Zod reads `.meta()`, not TSDoc.
32
+ *
33
+ * NOTE for server code: this is the RESPONSE shape, not the stored document. `IUser` in
34
+ * `@dglabs/server-common` describes what Mongo actually holds (optional email, ObjectId
35
+ * references, Date timestamps) and is deliberately independent of this type.
36
+ */
37
+ export type User = z.infer<typeof UserSchema>;
38
+ export type UpdateUserPayload = z.infer<typeof UpdateUserPayloadSchema>;
42
39
 
43
- export interface UserRef {
44
- id: string;
45
- name: string;
46
- email: string;
47
- picture?: string;
48
- }
40
+ /**
41
+ * The compact user shape embedded in other resources' responses, derived from `UserRefSchema`.
42
+ *
43
+ * `UserRefPopulate` is the Mongoose projection that produces it, and the two are meant to stay in
44
+ * step: a field added here without adding it there yields a response missing the field.
45
+ */
46
+ export type UserRef = z.infer<typeof UserRefSchema>;
49
47
 
50
48
  export const UserRefPopulate = 'id name email picture';
51
49
 
@@ -61,167 +59,44 @@ export const EARLY_ACCESS_ANNOTATION = 'early-access';
61
59
  * restricted (`preview`/`preprod`) environment because they lack the {@link EARLY_ACCESS_ANNOTATION}
62
60
  * annotation. The UI keys its dedicated rejection screen off this code.
63
61
  */
64
- export const RESTRICTED_ENVIRONMENT_ERROR_CODE = 'restricted_environment';
65
-
66
- export enum Datacenters {
67
- aws = 'aws',
68
- gcp = 'gcp',
69
- azure = 'azure',
70
- }
71
-
72
- export enum BillingMethod {
73
- stripe = 'stripe',
74
- invoice = 'invoice',
75
- }
76
-
77
- export enum AccountType {
78
- vertesia = 'vertesia',
79
- partner = 'partner',
80
- free = 'free',
81
- customer = 'customer',
82
- prospect = 'prospect',
83
- unknown = 'unknown',
84
- }
85
-
86
- export interface AccountBilling {
87
- method: BillingMethod;
88
- stripe_customer_id?: string;
89
- }
62
+ export { RESTRICTED_ENVIRONMENT_ERROR_CODE } from './sts-errors.js';
90
63
 
91
64
  /**
92
- * Quota/rate-limit tier assigned to an account. Code-defined tiers live in `@dglabs/quota`
93
- * (`QUOTA_TIERS`); these names must match its keys.
94
- * - `standard` — protective baseline limits (the default for most accounts).
95
- * - `enterprise` — high limits for contracted customers / internal / partners.
65
+ * The account as it crosses the wire.
96
66
  *
97
- * An account with no explicit `quota_tier` derives its tier from its `account_type`.
98
- */
99
- export enum QuotaTier {
100
- standard = 'standard',
101
- enterprise = 'enterprise',
102
- }
103
-
104
- /**
105
- * Default tier for an account that has no explicit `quota_tier`, derived from its `account_type`:
106
- * contracted customers and internal Vertesia accounts get `enterprise`; everyone else (partner,
107
- * free, prospect, unknown) gets the protective `standard` baseline.
67
+ * Derived from `AccountSchema`, not written alongside it: the schema is what OpenAPI publishes and
68
+ * what AJV compiles, so a hand-written twin could only ever drift from the contract actually being
69
+ * enforced. `import type` erases at compile time, so nothing here pulls zod into a browser or SDK
70
+ * bundle — runtime consumers reach the schemas through the `@vertesia/common/api-schemas` entry
71
+ * point instead.
108
72
  */
109
- export function quotaTierForAccountType(accountType: AccountType | undefined | null): QuotaTier {
110
- switch (accountType) {
111
- case AccountType.customer:
112
- case AccountType.vertesia:
113
- return QuotaTier.enterprise;
114
- default:
115
- return QuotaTier.standard;
116
- }
117
- }
118
-
119
- export const ACCOUNT_NAMESPACE_MAX_LENGTH = 63;
120
- export const ACCOUNT_APP_ACCESS_MESSAGE_MAX_LENGTH = 1000;
121
- export const RESERVED_ACCOUNT_NAMESPACES = [
122
- 'admin',
123
- 'api',
124
- 'apps',
125
- 'auth',
126
- 'cdn',
127
- 'docs',
128
- 'internal-auth',
129
- 'mcp',
130
- 'status',
131
- 'sts',
132
- 'www',
133
- ] as const;
134
-
135
- const ACCOUNT_NAMESPACE_PATTERN = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;
136
-
137
- export function normalizeAccountNamespace(namespace: string): string {
138
- return namespace.trim().toLowerCase();
139
- }
140
-
141
- export function getAccountNamespaceValidationError(namespace: string): string | undefined {
142
- if (!namespace) {
143
- return 'Account namespace is required';
144
- }
145
- if (namespace.length > ACCOUNT_NAMESPACE_MAX_LENGTH || !ACCOUNT_NAMESPACE_PATTERN.test(namespace)) {
146
- return 'Account namespace must be a lowercase DNS label containing only letters, numbers, and hyphens';
147
- }
148
- if ((RESERVED_ACCOUNT_NAMESPACES as readonly string[]).includes(namespace)) {
149
- return `Account namespace '${namespace}' is reserved`;
150
- }
151
- return undefined;
152
- }
73
+ export type Account = z.infer<typeof AccountSchema>;
74
+ export type AccountBilling = z.infer<typeof AccountBillingSchema>;
75
+ export type UpdateAccountPayload = z.infer<typeof UpdateAccountPayloadSchema>;
153
76
 
154
- export interface Account {
155
- id: string;
156
- name: string;
157
-
158
- /** Public DNS-label-compatible identifier used by organization app domains. */
159
- namespace?: string;
160
-
161
- /**
162
- * Plain-text instructions shown when a signed-in user has no application access.
163
- * @maxLength 1000
164
- */
165
- app_access_message?: string;
166
-
167
- email_domains: string[];
168
-
169
- onboarding: {
170
- completed: boolean;
171
- completed_at: Date;
172
- };
173
-
174
- datacenter: string;
175
-
176
- account_type: AccountType;
177
-
178
- billing: AccountBilling;
179
-
180
- /** Quota/rate-limit tier. Unset → the deployment default tier (env `QUOTA_BASE_TIER`). */
181
- quota_tier?: QuotaTier;
182
-
183
- created_by: string;
184
- updated_by: string;
185
- created_at: string;
186
- updated_at: string;
187
- }
188
-
189
- export interface UpdateAccountPayload {
190
- name?: string;
191
- /** @maxLength 1000 */
192
- app_access_message?: string;
193
- email_domains?: string[];
194
- billing?: AccountBilling;
195
- quota_tier?: QuotaTier;
196
- }
197
-
198
- export interface AccountRef {
199
- id: string;
200
- name: string;
201
- }
77
+ // The compact account reference, derived from the schema in `./api-schemas/invites.js`. It was
78
+ // hand-written for the same reason `ProjectRef` was — `ExecutionRun` and `UserInviteTokenData` still
79
+ // reach it through types the scanner derives — and is an alias now for the same reason: the scanner
80
+ // short-circuits such an alias to the published component rather than failing to expand it.
81
+ export type AccountRef = z.infer<typeof AccountRefSchema>;
202
82
 
203
83
  export const AccountRefPopulate = 'id name';
204
84
 
205
- export interface InviteUserRequestPayload {
206
- email: string;
207
- role: SystemRoles;
208
- }
209
-
210
- export interface InviteUserResponsePayload {
211
- action: 'invited' | 'added';
212
- }
213
-
214
- export interface InviteAcceptanceResponse {
215
- status: 'added';
216
- }
217
-
218
- export interface InviteDeclineResponse {
219
- status: 'deleted';
220
- }
221
-
222
- export interface AccountProjectsResponse {
223
- data: ProjectRef[];
224
- }
85
+ /**
86
+ * The account invite, onboarding and project-listing wire types, derived from
87
+ * `./api-schemas/invites.js`.
88
+ *
89
+ * `AccountRef` above is the one member of this closure that stays hand-written, and only because
90
+ * `Interaction` and `PromptTemplate` still reference it through the TypeScript scanner, which cannot
91
+ * expand a `z.infer<>`. Everything here is reachable only from converted slots, so nothing derived
92
+ * reads it and the alias is safe. `AccountRefSchema` is still the runtime source of truth, and the
93
+ * `Equals` assertion in `invites.contract.test.ts` is what holds the interface to it.
94
+ */
95
+ export type InviteUserRequestPayload = z.infer<typeof InviteUserRequestPayloadSchema>;
96
+ export type InviteUserResponsePayload = z.infer<typeof InviteUserResponsePayloadSchema>;
97
+ export type InviteAcceptanceResponse = z.infer<typeof InviteAcceptanceResponseSchema>;
98
+ export type InviteDeclineResponse = z.infer<typeof InviteDeclineResponseSchema>;
99
+ export type AccountProjectsResponse = z.infer<typeof AccountProjectsResponseSchema>;
225
100
 
226
101
  type UserOrApiKey<T extends User | ApiKey> = T extends User ? User : ApiKey;
227
102
  type SessionType<T extends User | ApiKey> = T extends User ? 'user' : 'apikey';
@@ -238,29 +113,14 @@ export interface SessionInfo<T extends User | ApiKey> {
238
113
  export interface UserSessionInfo extends SessionInfo<User> {}
239
114
  export interface ApiKeySessionInfo extends SessionInfo<ApiKey> {}
240
115
 
241
- export interface OnboardingProgress {
242
- interactions: boolean;
243
- prompts: boolean;
244
- environments: boolean;
245
- default_environment_defined: boolean;
246
- }
116
+ export type OnboardingProgress = z.infer<typeof OnboardingProgressSchema>;
247
117
 
248
118
  /**
249
- * Data collected at signup
250
- * used for onboarding and segments
251
- **/
252
- export interface SignupData {
253
- accountType: string;
254
- companyName?: string;
255
- companySize?: number;
256
- companyWebsite?: string;
257
- maturity?: string;
258
- }
119
+ * Data collected at signup, used for onboarding and segments.
120
+ */
121
+ export type SignupData = z.infer<typeof SignupDataSchema>;
259
122
 
260
123
  /**
261
- * Signup Payload: used to create a new user
124
+ * The `POST /auth/signup` request body.
262
125
  */
263
- export interface SignupPayload {
264
- firebaseToken: string;
265
- signupData: SignupData;
266
- }
126
+ export type SignupPayload = z.infer<typeof SignupPayloadSchema>;
@@ -0,0 +1,13 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { ApiVersions, CURRENT_API_VERSION, CURRENT_API_VERSION_HEADER_VALUE } from './versions.js';
3
+
4
+ describe('API versions', () => {
5
+ it('keeps the current API version aligned with the latest milestone', () => {
6
+ const milestones = Object.values(ApiVersions).filter(
7
+ (version): version is number => typeof version === 'number',
8
+ );
9
+
10
+ expect(CURRENT_API_VERSION).toBe(Math.max(...milestones));
11
+ expect(CURRENT_API_VERSION_HEADER_VALUE).toBe(String(CURRENT_API_VERSION));
12
+ });
13
+ });