@vertesia/common 1.5.0-dev.20260722.120446Z → 1.5.0-dev.20260804.124748Z

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 (522) hide show
  1. package/lib/access-control-values.d.ts +98 -0
  2. package/lib/access-control-values.d.ts.map +1 -0
  3. package/lib/access-control-values.js +101 -0
  4. package/lib/access-control-values.js.map +1 -0
  5. package/lib/access-control.d.ts +22 -119
  6. package/lib/access-control.d.ts.map +1 -1
  7. package/lib/access-control.js +6 -78
  8. package/lib/access-control.js.map +1 -1
  9. package/lib/account-values.d.ts +53 -0
  10. package/lib/account-values.d.ts.map +1 -0
  11. package/lib/account-values.js +91 -0
  12. package/lib/account-values.js.map +1 -0
  13. package/lib/analytics.d.ts +12 -38
  14. package/lib/analytics.d.ts.map +1 -1
  15. package/lib/api-schemas/access-control.d.ts +215 -0
  16. package/lib/api-schemas/access-control.d.ts.map +1 -0
  17. package/lib/api-schemas/access-control.js +165 -0
  18. package/lib/api-schemas/access-control.js.map +1 -0
  19. package/lib/api-schemas/account.d.ts +101 -0
  20. package/lib/api-schemas/account.d.ts.map +1 -0
  21. package/lib/api-schemas/account.js +136 -0
  22. package/lib/api-schemas/account.js.map +1 -0
  23. package/lib/api-schemas/adapter.d.ts +80 -0
  24. package/lib/api-schemas/adapter.d.ts.map +1 -0
  25. package/lib/api-schemas/adapter.js +726 -0
  26. package/lib/api-schemas/adapter.js.map +1 -0
  27. package/lib/api-schemas/agent-runs.d.ts +3781 -0
  28. package/lib/api-schemas/agent-runs.d.ts.map +1 -0
  29. package/lib/api-schemas/agent-runs.js +991 -0
  30. package/lib/api-schemas/agent-runs.js.map +1 -0
  31. package/lib/api-schemas/analytics.d.ts +86 -0
  32. package/lib/api-schemas/analytics.d.ts.map +1 -0
  33. package/lib/api-schemas/analytics.js +58 -0
  34. package/lib/api-schemas/analytics.js.map +1 -0
  35. package/lib/api-schemas/apikey.d.ts +231 -0
  36. package/lib/api-schemas/apikey.d.ts.map +1 -0
  37. package/lib/api-schemas/apikey.js +172 -0
  38. package/lib/api-schemas/apikey.js.map +1 -0
  39. package/lib/api-schemas/app-lifecycle.d.ts +1114 -0
  40. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
  41. package/lib/api-schemas/app-lifecycle.js +750 -0
  42. package/lib/api-schemas/app-lifecycle.js.map +1 -0
  43. package/lib/api-schemas/app-runtime.d.ts +9056 -0
  44. package/lib/api-schemas/app-runtime.d.ts.map +1 -0
  45. package/lib/api-schemas/app-runtime.js +782 -0
  46. package/lib/api-schemas/app-runtime.js.map +1 -0
  47. package/lib/api-schemas/apps.d.ts +247 -0
  48. package/lib/api-schemas/apps.d.ts.map +1 -0
  49. package/lib/api-schemas/apps.js +366 -0
  50. package/lib/api-schemas/apps.js.map +1 -0
  51. package/lib/api-schemas/audit-trail.d.ts +465 -0
  52. package/lib/api-schemas/audit-trail.d.ts.map +1 -0
  53. package/lib/api-schemas/audit-trail.js +218 -0
  54. package/lib/api-schemas/audit-trail.js.map +1 -0
  55. package/lib/api-schemas/bulk-operation.d.ts +104 -0
  56. package/lib/api-schemas/bulk-operation.d.ts.map +1 -0
  57. package/lib/api-schemas/bulk-operation.js +66 -0
  58. package/lib/api-schemas/bulk-operation.js.map +1 -0
  59. package/lib/api-schemas/commands.d.ts +50 -0
  60. package/lib/api-schemas/commands.d.ts.map +1 -0
  61. package/lib/api-schemas/commands.js +58 -0
  62. package/lib/api-schemas/commands.js.map +1 -0
  63. package/lib/api-schemas/content.d.ts +3561 -0
  64. package/lib/api-schemas/content.d.ts.map +1 -0
  65. package/lib/api-schemas/content.js +842 -0
  66. package/lib/api-schemas/content.js.map +1 -0
  67. package/lib/api-schemas/cost-analytics.d.ts +300 -0
  68. package/lib/api-schemas/cost-analytics.d.ts.map +1 -0
  69. package/lib/api-schemas/cost-analytics.js +218 -0
  70. package/lib/api-schemas/cost-analytics.js.map +1 -0
  71. package/lib/api-schemas/dashboard.d.ts +408 -0
  72. package/lib/api-schemas/dashboard.d.ts.map +1 -0
  73. package/lib/api-schemas/dashboard.js +311 -0
  74. package/lib/api-schemas/dashboard.js.map +1 -0
  75. package/lib/api-schemas/data-store.d.ts +1650 -0
  76. package/lib/api-schemas/data-store.d.ts.map +1 -0
  77. package/lib/api-schemas/data-store.js +504 -0
  78. package/lib/api-schemas/data-store.js.map +1 -0
  79. package/lib/api-schemas/document-processing.d.ts +1501 -0
  80. package/lib/api-schemas/document-processing.d.ts.map +1 -0
  81. package/lib/api-schemas/document-processing.js +312 -0
  82. package/lib/api-schemas/document-processing.js.map +1 -0
  83. package/lib/api-schemas/embeddings.d.ts +184 -0
  84. package/lib/api-schemas/embeddings.d.ts.map +1 -0
  85. package/lib/api-schemas/embeddings.js +102 -0
  86. package/lib/api-schemas/embeddings.js.map +1 -0
  87. package/lib/api-schemas/environment.d.ts +412 -0
  88. package/lib/api-schemas/environment.d.ts.map +1 -0
  89. package/lib/api-schemas/environment.js +170 -0
  90. package/lib/api-schemas/environment.js.map +1 -0
  91. package/lib/api-schemas/events.d.ts +4880 -0
  92. package/lib/api-schemas/events.d.ts.map +1 -0
  93. package/lib/api-schemas/events.js +832 -0
  94. package/lib/api-schemas/events.js.map +1 -0
  95. package/lib/api-schemas/files.d.ts +107 -0
  96. package/lib/api-schemas/files.d.ts.map +1 -0
  97. package/lib/api-schemas/files.js +137 -0
  98. package/lib/api-schemas/files.js.map +1 -0
  99. package/lib/api-schemas/group.d.ts +122 -0
  100. package/lib/api-schemas/group.d.ts.map +1 -0
  101. package/lib/api-schemas/group.js +142 -0
  102. package/lib/api-schemas/group.js.map +1 -0
  103. package/lib/api-schemas/index.d.ts +36 -0
  104. package/lib/api-schemas/index.d.ts.map +1 -0
  105. package/lib/api-schemas/index.js +36 -0
  106. package/lib/api-schemas/index.js.map +1 -0
  107. package/lib/api-schemas/indexing.d.ts +144 -0
  108. package/lib/api-schemas/indexing.d.ts.map +1 -0
  109. package/lib/api-schemas/indexing.js +217 -0
  110. package/lib/api-schemas/indexing.js.map +1 -0
  111. package/lib/api-schemas/integrations.d.ts +269 -0
  112. package/lib/api-schemas/integrations.d.ts.map +1 -0
  113. package/lib/api-schemas/integrations.js +335 -0
  114. package/lib/api-schemas/integrations.js.map +1 -0
  115. package/lib/api-schemas/interaction.d.ts +22454 -0
  116. package/lib/api-schemas/interaction.d.ts.map +1 -0
  117. package/lib/api-schemas/interaction.js +2065 -0
  118. package/lib/api-schemas/interaction.js.map +1 -0
  119. package/lib/api-schemas/invites.d.ts +162 -0
  120. package/lib/api-schemas/invites.d.ts.map +1 -0
  121. package/lib/api-schemas/invites.js +106 -0
  122. package/lib/api-schemas/invites.js.map +1 -0
  123. package/lib/api-schemas/oauth-server.d.ts +415 -0
  124. package/lib/api-schemas/oauth-server.d.ts.map +1 -0
  125. package/lib/api-schemas/oauth-server.js +193 -0
  126. package/lib/api-schemas/oauth-server.js.map +1 -0
  127. package/lib/api-schemas/oauth.d.ts +150 -0
  128. package/lib/api-schemas/oauth.d.ts.map +1 -0
  129. package/lib/api-schemas/oauth.js +148 -0
  130. package/lib/api-schemas/oauth.js.map +1 -0
  131. package/lib/api-schemas/parameters.d.ts +64 -0
  132. package/lib/api-schemas/parameters.d.ts.map +1 -0
  133. package/lib/api-schemas/parameters.js +246 -0
  134. package/lib/api-schemas/parameters.js.map +1 -0
  135. package/lib/api-schemas/process.d.ts +499 -0
  136. package/lib/api-schemas/process.d.ts.map +1 -0
  137. package/lib/api-schemas/process.js +817 -0
  138. package/lib/api-schemas/process.js.map +1 -0
  139. package/lib/api-schemas/project-configuration.d.ts +4900 -0
  140. package/lib/api-schemas/project-configuration.d.ts.map +1 -0
  141. package/lib/api-schemas/project-configuration.js +425 -0
  142. package/lib/api-schemas/project-configuration.js.map +1 -0
  143. package/lib/api-schemas/project.d.ts +7247 -0
  144. package/lib/api-schemas/project.d.ts.map +1 -0
  145. package/lib/api-schemas/project.js +185 -0
  146. package/lib/api-schemas/project.js.map +1 -0
  147. package/lib/api-schemas/prompt.d.ts +70 -0
  148. package/lib/api-schemas/prompt.d.ts.map +1 -0
  149. package/lib/api-schemas/prompt.js +77 -0
  150. package/lib/api-schemas/prompt.js.map +1 -0
  151. package/lib/api-schemas/quota.d.ts +90 -0
  152. package/lib/api-schemas/quota.d.ts.map +1 -0
  153. package/lib/api-schemas/quota.js +95 -0
  154. package/lib/api-schemas/quota.js.map +1 -0
  155. package/lib/api-schemas/registry.d.ts +97458 -0
  156. package/lib/api-schemas/registry.d.ts.map +1 -0
  157. package/lib/api-schemas/registry.js +2586 -0
  158. package/lib/api-schemas/registry.js.map +1 -0
  159. package/lib/api-schemas/schema-primitives.d.ts +5 -0
  160. package/lib/api-schemas/schema-primitives.d.ts.map +1 -0
  161. package/lib/api-schemas/schema-primitives.js +11 -0
  162. package/lib/api-schemas/schema-primitives.js.map +1 -0
  163. package/lib/api-schemas/secrets.d.ts +497 -0
  164. package/lib/api-schemas/secrets.d.ts.map +1 -0
  165. package/lib/api-schemas/secrets.js +298 -0
  166. package/lib/api-schemas/secrets.js.map +1 -0
  167. package/lib/api-schemas/store.d.ts +22140 -0
  168. package/lib/api-schemas/store.d.ts.map +1 -0
  169. package/lib/api-schemas/store.js +557 -0
  170. package/lib/api-schemas/store.js.map +1 -0
  171. package/lib/api-schemas/sts.d.ts +156 -0
  172. package/lib/api-schemas/sts.d.ts.map +1 -0
  173. package/lib/api-schemas/sts.js +96 -0
  174. package/lib/api-schemas/sts.js.map +1 -0
  175. package/lib/api-schemas/task.d.ts +215 -0
  176. package/lib/api-schemas/task.d.ts.map +1 -0
  177. package/lib/api-schemas/task.js +95 -0
  178. package/lib/api-schemas/task.js.map +1 -0
  179. package/lib/api-schemas/tools.d.ts +111 -0
  180. package/lib/api-schemas/tools.d.ts.map +1 -0
  181. package/lib/api-schemas/tools.js +122 -0
  182. package/lib/api-schemas/tools.js.map +1 -0
  183. package/lib/api-schemas/user.d.ts +208 -0
  184. package/lib/api-schemas/user.d.ts.map +1 -0
  185. package/lib/api-schemas/user.js +180 -0
  186. package/lib/api-schemas/user.js.map +1 -0
  187. package/lib/api-schemas/view-execution.d.ts +3163 -0
  188. package/lib/api-schemas/view-execution.d.ts.map +1 -0
  189. package/lib/api-schemas/view-execution.js +172 -0
  190. package/lib/api-schemas/view-execution.js.map +1 -0
  191. package/lib/api-schemas/views.d.ts +5990 -0
  192. package/lib/api-schemas/views.d.ts.map +1 -0
  193. package/lib/api-schemas/views.js +396 -0
  194. package/lib/api-schemas/views.js.map +1 -0
  195. package/lib/api-schemas/workflow-runs.d.ts +2209 -0
  196. package/lib/api-schemas/workflow-runs.d.ts.map +1 -0
  197. package/lib/api-schemas/workflow-runs.js +589 -0
  198. package/lib/api-schemas/workflow-runs.js.map +1 -0
  199. package/lib/apikey-values.d.ts +10 -0
  200. package/lib/apikey-values.d.ts.map +1 -0
  201. package/lib/apikey-values.js +11 -0
  202. package/lib/apikey-values.js.map +1 -0
  203. package/lib/apikey.d.ts +37 -36
  204. package/lib/apikey.d.ts.map +1 -1
  205. package/lib/apikey.js +5 -4
  206. package/lib/apikey.js.map +1 -1
  207. package/lib/apps.d.ts +116 -1121
  208. package/lib/apps.d.ts.map +1 -1
  209. package/lib/apps.js.map +1 -1
  210. package/lib/ask-user.d.ts +8 -1
  211. package/lib/ask-user.d.ts.map +1 -1
  212. package/lib/audit-trail.d.ts +17 -128
  213. package/lib/audit-trail.d.ts.map +1 -1
  214. package/lib/audit-trail.js.map +1 -1
  215. package/lib/browser-credentials.d.ts +11 -106
  216. package/lib/browser-credentials.d.ts.map +1 -1
  217. package/lib/common.d.ts +59 -81
  218. package/lib/common.d.ts.map +1 -1
  219. package/lib/cost-analytics.d.ts +14 -167
  220. package/lib/cost-analytics.d.ts.map +1 -1
  221. package/lib/cost-analytics.js.map +1 -1
  222. package/lib/data-platform.d.ts +122 -786
  223. package/lib/data-platform.d.ts.map +1 -1
  224. package/lib/data-platform.js +41 -61
  225. package/lib/data-platform.js.map +1 -1
  226. package/lib/email.d.ts +5 -17
  227. package/lib/email.d.ts.map +1 -1
  228. package/lib/email.js +0 -3
  229. package/lib/email.js.map +1 -1
  230. package/lib/embeddings.d.ts +14 -56
  231. package/lib/embeddings.d.ts.map +1 -1
  232. package/lib/environment.d.ts +19 -113
  233. package/lib/environment.d.ts.map +1 -1
  234. package/lib/environment.js +3 -0
  235. package/lib/environment.js.map +1 -1
  236. package/lib/facets.d.ts +4 -7
  237. package/lib/facets.d.ts.map +1 -1
  238. package/lib/group.d.ts +33 -39
  239. package/lib/group.d.ts.map +1 -1
  240. package/lib/group.js +0 -1
  241. package/lib/group.js.map +1 -1
  242. package/lib/index.d.ts +7 -0
  243. package/lib/index.d.ts.map +1 -1
  244. package/lib/index.js.map +1 -1
  245. package/lib/integrations.d.ts +20 -108
  246. package/lib/integrations.d.ts.map +1 -1
  247. package/lib/integrations.js.map +1 -1
  248. package/lib/interaction-values.d.ts +11 -0
  249. package/lib/interaction-values.d.ts.map +1 -0
  250. package/lib/interaction-values.js +24 -0
  251. package/lib/interaction-values.js.map +1 -0
  252. package/lib/interaction.d.ts +116 -734
  253. package/lib/interaction.d.ts.map +1 -1
  254. package/lib/interaction.js +56 -12
  255. package/lib/interaction.js.map +1 -1
  256. package/lib/meters.d.ts +11 -7
  257. package/lib/meters.d.ts.map +1 -1
  258. package/lib/meters.js.map +1 -1
  259. package/lib/oauth-server.d.ts +33 -119
  260. package/lib/oauth-server.d.ts.map +1 -1
  261. package/lib/oauth.d.ts +14 -96
  262. package/lib/oauth.d.ts.map +1 -1
  263. package/lib/oauth.js +0 -4
  264. package/lib/oauth.js.map +1 -1
  265. package/lib/payload.d.ts +15 -38
  266. package/lib/payload.d.ts.map +1 -1
  267. package/lib/platform-event.d.ts +49 -462
  268. package/lib/platform-event.d.ts.map +1 -1
  269. package/lib/platform-event.js.map +1 -1
  270. package/lib/principal-context.d.ts +10 -15
  271. package/lib/principal-context.d.ts.map +1 -1
  272. package/lib/project-values.d.ts +24 -0
  273. package/lib/project-values.d.ts.map +1 -0
  274. package/lib/project-values.js +42 -0
  275. package/lib/project-values.js.map +1 -0
  276. package/lib/project.d.ts +55 -503
  277. package/lib/project.d.ts.map +1 -1
  278. package/lib/project.js +6 -76
  279. package/lib/project.js.map +1 -1
  280. package/lib/prompt.d.ts +20 -51
  281. package/lib/prompt.d.ts.map +1 -1
  282. package/lib/prompt.js.map +1 -1
  283. package/lib/query.d.ts +27 -88
  284. package/lib/query.d.ts.map +1 -1
  285. package/lib/rate-limiter.d.ts +19 -70
  286. package/lib/rate-limiter.d.ts.map +1 -1
  287. package/lib/rate-limiter.js +0 -3
  288. package/lib/rate-limiter.js.map +1 -1
  289. package/lib/refs.d.ts +3 -11
  290. package/lib/refs.d.ts.map +1 -1
  291. package/lib/refs.js.map +1 -1
  292. package/lib/roles/types.d.ts +14 -20
  293. package/lib/roles/types.d.ts.map +1 -1
  294. package/lib/roles/types.js +5 -9
  295. package/lib/roles/types.js.map +1 -1
  296. package/lib/runs.d.ts +6 -25
  297. package/lib/runs.d.ts.map +1 -1
  298. package/lib/secrets.d.ts +20 -105
  299. package/lib/secrets.d.ts.map +1 -1
  300. package/lib/store/agent-approval.d.ts +5 -14
  301. package/lib/store/agent-approval.d.ts.map +1 -1
  302. package/lib/store/agent-approval.js.map +1 -1
  303. package/lib/store/agent-run.d.ts +63 -342
  304. package/lib/store/agent-run.d.ts.map +1 -1
  305. package/lib/store/collections.d.ts +11 -63
  306. package/lib/store/collections.d.ts.map +1 -1
  307. package/lib/store/collections.js.map +1 -1
  308. package/lib/store/conversation-state.d.ts +63 -61
  309. package/lib/store/conversation-state.d.ts.map +1 -1
  310. package/lib/store/conversation-state.js +2 -0
  311. package/lib/store/conversation-state.js.map +1 -1
  312. package/lib/store/doc-analyzer.d.ts +9 -32
  313. package/lib/store/doc-analyzer.d.ts.map +1 -1
  314. package/lib/store/dsl-workflow.d.ts +37 -151
  315. package/lib/store/dsl-workflow.d.ts.map +1 -1
  316. package/lib/store/dsl-workflow.js.map +1 -1
  317. package/lib/store/editing-policy-schema.generated.d.ts +3 -0
  318. package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
  319. package/lib/store/editing-policy-schema.generated.js +28 -0
  320. package/lib/store/editing-policy-schema.generated.js.map +1 -0
  321. package/lib/store/grounded-extraction.d.ts +7 -104
  322. package/lib/store/grounded-extraction.d.ts.map +1 -1
  323. package/lib/store/grounded-extraction.js.map +1 -1
  324. package/lib/store/index.d.ts +2 -0
  325. package/lib/store/index.d.ts.map +1 -1
  326. package/lib/store/index.js +3 -0
  327. package/lib/store/index.js.map +1 -1
  328. package/lib/store/intake-policy-schema.generated.d.ts +3 -0
  329. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
  330. package/lib/store/intake-policy-schema.generated.js +1425 -0
  331. package/lib/store/intake-policy-schema.generated.js.map +1 -0
  332. package/lib/store/process-schema.d.ts +80 -0
  333. package/lib/store/process-schema.d.ts.map +1 -1
  334. package/lib/store/process-schema.js +79 -0
  335. package/lib/store/process-schema.js.map +1 -1
  336. package/lib/store/process-validation.d.ts.map +1 -1
  337. package/lib/store/process-validation.js +70 -2
  338. package/lib/store/process-validation.js.map +1 -1
  339. package/lib/store/process.d.ts +36 -125
  340. package/lib/store/process.d.ts.map +1 -1
  341. package/lib/store/process.js.map +1 -1
  342. package/lib/store/rendering.d.ts +9 -64
  343. package/lib/store/rendering.d.ts.map +1 -1
  344. package/lib/store/rendering.js.map +1 -1
  345. package/lib/store/store.d.ts +98 -693
  346. package/lib/store/store.d.ts.map +1 -1
  347. package/lib/store/store.js +4 -443
  348. package/lib/store/store.js.map +1 -1
  349. package/lib/store/task.d.ts +15 -59
  350. package/lib/store/task.d.ts.map +1 -1
  351. package/lib/store/task.js +0 -3
  352. package/lib/store/task.js.map +1 -1
  353. package/lib/store/workflow.d.ts +56 -516
  354. package/lib/store/workflow.d.ts.map +1 -1
  355. package/lib/store/workflow.js +28 -11
  356. package/lib/store/workflow.js.map +1 -1
  357. package/lib/sts-token-types.d.ts +12 -66
  358. package/lib/sts-token-types.d.ts.map +1 -1
  359. package/lib/sts-token-types.js.map +1 -1
  360. package/lib/tools.d.ts +8 -100
  361. package/lib/tools.d.ts.map +1 -1
  362. package/lib/transient-tokens-values.d.ts +11 -0
  363. package/lib/transient-tokens-values.d.ts.map +1 -0
  364. package/lib/transient-tokens-values.js +12 -0
  365. package/lib/transient-tokens-values.js.map +1 -0
  366. package/lib/transient-tokens.d.ts +15 -13
  367. package/lib/transient-tokens.d.ts.map +1 -1
  368. package/lib/transient-tokens.js +5 -5
  369. package/lib/transient-tokens.js.map +1 -1
  370. package/lib/user.d.ts +54 -155
  371. package/lib/user.d.ts.map +1 -1
  372. package/lib/user.js +1 -78
  373. package/lib/user.js.map +1 -1
  374. package/lib/versions.d.ts +24 -1
  375. package/lib/versions.d.ts.map +1 -1
  376. package/lib/versions.js +23 -0
  377. package/lib/versions.js.map +1 -1
  378. package/lib/vertesia-common.js +6 -2
  379. package/lib/vertesia-common.js.map +1 -1
  380. package/lib/views-schema.d.ts +4 -4
  381. package/lib/views.d.ts +56 -312
  382. package/lib/views.d.ts.map +1 -1
  383. package/lib/views.js.map +1 -1
  384. package/package.json +14 -5
  385. package/src/access-control-values.ts +113 -0
  386. package/src/access-control.ts +33 -138
  387. package/src/account-values.ts +95 -0
  388. package/src/agent-resources.test.ts +100 -0
  389. package/src/analytics.ts +18 -42
  390. package/src/api-schemas/access-control.contract.test.ts +209 -0
  391. package/src/api-schemas/access-control.ts +208 -0
  392. package/src/api-schemas/account.contract.test.ts +318 -0
  393. package/src/api-schemas/account.ts +150 -0
  394. package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
  395. package/src/api-schemas/adapter.ts +778 -0
  396. package/src/api-schemas/agent-runs.ts +1081 -0
  397. package/src/api-schemas/analytics.ts +65 -0
  398. package/src/api-schemas/apikey.contract.test.ts +270 -0
  399. package/src/api-schemas/apikey.ts +199 -0
  400. package/src/api-schemas/app-lifecycle.ts +841 -0
  401. package/src/api-schemas/app-runtime.ts +919 -0
  402. package/src/api-schemas/apps.ts +415 -0
  403. package/src/api-schemas/audit-trail.ts +243 -0
  404. package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
  405. package/src/api-schemas/bulk-operation.ts +75 -0
  406. package/src/api-schemas/bundle-isolation.test.ts +80 -0
  407. package/src/api-schemas/commands.contract.test.ts +51 -0
  408. package/src/api-schemas/commands.ts +62 -0
  409. package/src/api-schemas/content.ts +939 -0
  410. package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
  411. package/src/api-schemas/cost-analytics.ts +235 -0
  412. package/src/api-schemas/dashboard.contract.test.ts +127 -0
  413. package/src/api-schemas/dashboard.ts +351 -0
  414. package/src/api-schemas/data-store.contract.test.ts +91 -0
  415. package/src/api-schemas/data-store.ts +571 -0
  416. package/src/api-schemas/document-processing.contract.test.ts +76 -0
  417. package/src/api-schemas/document-processing.ts +344 -0
  418. package/src/api-schemas/embeddings.ts +113 -0
  419. package/src/api-schemas/environment.contract.test.ts +184 -0
  420. package/src/api-schemas/environment.ts +190 -0
  421. package/src/api-schemas/events.ts +921 -0
  422. package/src/api-schemas/files.ts +159 -0
  423. package/src/api-schemas/group.contract.test.ts +205 -0
  424. package/src/api-schemas/group.ts +155 -0
  425. package/src/api-schemas/index.ts +35 -0
  426. package/src/api-schemas/indexing.contract.test.ts +83 -0
  427. package/src/api-schemas/indexing.ts +234 -0
  428. package/src/api-schemas/integrations.ts +369 -0
  429. package/src/api-schemas/interaction.ts +2357 -0
  430. package/src/api-schemas/invites.contract.test.ts +268 -0
  431. package/src/api-schemas/invites.ts +127 -0
  432. package/src/api-schemas/llumiverse.contract.test.ts +108 -0
  433. package/src/api-schemas/oauth-server.ts +219 -0
  434. package/src/api-schemas/oauth.contract.test.ts +118 -0
  435. package/src/api-schemas/oauth.ts +166 -0
  436. package/src/api-schemas/parameters.test.ts +402 -0
  437. package/src/api-schemas/parameters.ts +310 -0
  438. package/src/api-schemas/process.ts +929 -0
  439. package/src/api-schemas/project-configuration.ts +478 -0
  440. package/src/api-schemas/project.contract.test.ts +365 -0
  441. package/src/api-schemas/project.ts +214 -0
  442. package/src/api-schemas/prompt.ts +88 -0
  443. package/src/api-schemas/pruning-limits.test.ts +189 -0
  444. package/src/api-schemas/quota.contract.test.ts +147 -0
  445. package/src/api-schemas/quota.ts +122 -0
  446. package/src/api-schemas/registry-groups.test.ts +91 -0
  447. package/src/api-schemas/registry.ts +3487 -0
  448. package/src/api-schemas/response-pruning.test.ts +260 -0
  449. package/src/api-schemas/schema-primitives.ts +12 -0
  450. package/src/api-schemas/secrets.ts +332 -0
  451. package/src/api-schemas/store.contract.test.ts +450 -0
  452. package/src/api-schemas/store.ts +604 -0
  453. package/src/api-schemas/sts.contract.test.ts +80 -0
  454. package/src/api-schemas/sts.ts +110 -0
  455. package/src/api-schemas/task.ts +104 -0
  456. package/src/api-schemas/tools.ts +140 -0
  457. package/src/api-schemas/user.contract.test.ts +191 -0
  458. package/src/api-schemas/user.ts +204 -0
  459. package/src/api-schemas/view-execution.ts +200 -0
  460. package/src/api-schemas/views.ts +437 -0
  461. package/src/api-schemas/workflow-runs.ts +653 -0
  462. package/src/apikey-values.ts +10 -0
  463. package/src/apikey.ts +49 -40
  464. package/src/apps.ts +249 -1179
  465. package/src/ask-user.ts +9 -1
  466. package/src/audit-trail.ts +45 -137
  467. package/src/browser-credentials.ts +21 -106
  468. package/src/common.ts +67 -78
  469. package/src/cost-analytics.ts +37 -176
  470. package/src/data-platform.ts +205 -776
  471. package/src/email.ts +5 -17
  472. package/src/embeddings.ts +22 -60
  473. package/src/environment.ts +52 -124
  474. package/src/facets.ts +4 -7
  475. package/src/group.ts +38 -42
  476. package/src/index.ts +11 -0
  477. package/src/integrations.ts +39 -129
  478. package/src/interaction-values.ts +23 -0
  479. package/src/interaction.ts +231 -841
  480. package/src/meters.ts +11 -7
  481. package/src/oauth-server.ts +58 -127
  482. package/src/oauth.ts +24 -108
  483. package/src/payload.ts +25 -40
  484. package/src/platform-event.ts +98 -484
  485. package/src/principal-context.ts +11 -15
  486. package/src/project-values.ts +41 -0
  487. package/src/project.ts +116 -588
  488. package/src/prompt.ts +34 -61
  489. package/src/query.ts +34 -93
  490. package/src/rate-limiter.ts +27 -75
  491. package/src/refs.ts +4 -11
  492. package/src/roles/types.ts +20 -20
  493. package/src/runs.ts +11 -24
  494. package/src/secrets.ts +38 -117
  495. package/src/store/agent-approval.ts +9 -14
  496. package/src/store/agent-run.ts +106 -434
  497. package/src/store/collections.ts +21 -63
  498. package/src/store/content-type-editing.test.ts +17 -0
  499. package/src/store/conversation-state.ts +78 -64
  500. package/src/store/doc-analyzer.ts +17 -33
  501. package/src/store/dsl-workflow.ts +62 -158
  502. package/src/store/editing-policy-schema.generated.ts +30 -0
  503. package/src/store/grounded-extraction.ts +13 -104
  504. package/src/store/index.ts +3 -0
  505. package/src/store/intake-policy-schema.generated.ts +1442 -0
  506. package/src/store/process-schema.test.ts +43 -0
  507. package/src/store/process-schema.ts +79 -0
  508. package/src/store/process-validation.test.ts +141 -0
  509. package/src/store/process-validation.ts +82 -2
  510. package/src/store/process.ts +70 -146
  511. package/src/store/rendering.ts +15 -64
  512. package/src/store/store.ts +197 -1182
  513. package/src/store/task.ts +25 -59
  514. package/src/store/workflow.ts +103 -554
  515. package/src/sts-token-types.ts +24 -75
  516. package/src/tools.ts +18 -97
  517. package/src/transient-tokens-values.ts +11 -0
  518. package/src/transient-tokens.ts +16 -13
  519. package/src/user.ts +74 -214
  520. package/src/versions.ts +24 -0
  521. package/src/views-schema.test.ts +9 -1
  522. package/src/views.ts +106 -329
package/src/email.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { z } from 'zod';
2
+ import type { EmailChannelSchema, InteractiveChannelSchema, UserChannelSchema } from './api-schemas/interaction.js';
1
3
  /**
2
4
  * Email-related types for agent communication and routing.
3
5
  */
@@ -8,27 +10,13 @@
8
10
  * Email channel configuration with threading support.
9
11
  * Used for email-based agent communication.
10
12
  */
11
- export interface EmailChannel {
12
- type: 'email';
13
- /** Email address to send agent messages to */
14
- to_email: string;
15
- /** Subject for the email thread (without "Re:" prefix) */
16
- thread_subject?: string;
17
- /** Message ID for In-Reply-To header (most recent message) */
18
- in_reply_to?: string;
19
- /** Chain of message IDs for References header */
20
- references?: string[];
21
- /** Short routing key for reply emails (8-char alphanumeric, stored in Redis) */
22
- route_key?: string;
23
- }
13
+ export type EmailChannel = z.infer<typeof EmailChannelSchema>;
24
14
 
25
15
  /**
26
16
  * Interactive (UI chat) channel configuration.
27
17
  * Used for real-time chat interface communication.
28
18
  */
29
- export interface InteractiveChannel {
30
- type: 'interactive';
31
- }
19
+ export type InteractiveChannel = z.infer<typeof InteractiveChannelSchema>;
32
20
 
33
21
  /**
34
22
  * Union of all supported user communication channel types.
@@ -36,7 +24,7 @@ export interface InteractiveChannel {
36
24
  /**
37
25
  * @discriminator type
38
26
  */
39
- export type UserChannel = EmailChannel | InteractiveChannel;
27
+ export type UserChannel = z.infer<typeof UserChannelSchema>;
40
28
 
41
29
  /**
42
30
  * Type guard for email channels
package/src/embeddings.ts CHANGED
@@ -1,72 +1,34 @@
1
- import type { EmbeddingsResult, EmbeddingTaskType } from '@llumiverse/common';
1
+ import type { EmbeddingsResult } from '@llumiverse/common';
2
+ import type { z } from 'zod';
3
+ import type {
4
+ EmbeddingsApiAudioInputSchema,
5
+ EmbeddingsApiImageInputSchema,
6
+ EmbeddingsApiInputSchema,
7
+ EmbeddingsApiRequestSchema,
8
+ EmbeddingsApiSourceSchema,
9
+ EmbeddingsApiTextInputSchema,
10
+ EmbeddingsApiVideoInputSchema,
11
+ } from './api-schemas/embeddings.js';
2
12
 
3
13
  /**
4
- * Wire-format inputs accepted by the studio-server embeddings endpoint.
5
- * Mirror of @llumiverse/common's EmbeddingInput, but binary modalities
6
- * carry a JSON-friendly source (URL or base64) instead of a DataSource.
7
- *
8
- * The server wraps each source in a Base64DataSource or URLDataSource
9
- * before passing the request to the llumiverse driver.
14
+ * The embeddings request types, inferred from `./api-schemas/embeddings.js`. Their documentation
15
+ * moved with them: a doc comment above one of these would be published on top of the schema's own
16
+ * `description`, which is how the union's description came to be the truncated `"…Mirror of"` the
17
+ * document carried for as long as the types lived here.
10
18
  */
11
- export type EmbeddingsApiInput =
12
- | EmbeddingsApiTextInput
13
- | EmbeddingsApiImageInput
14
- | EmbeddingsApiVideoInput
15
- | EmbeddingsApiAudioInput;
19
+ export type EmbeddingsApiInput = z.infer<typeof EmbeddingsApiInputSchema>;
16
20
 
17
- export interface EmbeddingsApiSource {
18
- /** Display name for the source (defaults to "embedding-input"). */
19
- name?: string;
20
- /** MIME type of the binary content. Required for most providers. */
21
- mime_type?: string;
22
- /**
23
- * Provider-native URL the driver may pass through directly:
24
- * - gs:// or https://storage.googleapis.com/ for Vertex AI
25
- * - s3:// or https://*.amazonaws.com for Bedrock
26
- * - https:// for fetch fallback
27
- * Mutually exclusive with base64.
28
- */
29
- url?: string;
30
- /** Base64-encoded bytes. Mutually exclusive with url. */
31
- base64?: string;
32
- }
21
+ export type EmbeddingsApiSource = z.infer<typeof EmbeddingsApiSourceSchema>;
33
22
 
34
- export interface EmbeddingsApiTextInput {
35
- type: 'text';
36
- text: string;
37
- task_type?: EmbeddingTaskType;
38
- title?: string;
39
- }
23
+ export type EmbeddingsApiTextInput = z.infer<typeof EmbeddingsApiTextInputSchema>;
40
24
 
41
- export interface EmbeddingsApiImageInput {
42
- type: 'image';
43
- source: EmbeddingsApiSource;
44
- }
25
+ export type EmbeddingsApiImageInput = z.infer<typeof EmbeddingsApiImageInputSchema>;
45
26
 
46
- export interface EmbeddingsApiVideoInput {
47
- type: 'video';
48
- source: EmbeddingsApiSource;
49
- start_sec?: number;
50
- length_sec?: number;
51
- interval_sec?: number;
52
- use_fixed_length_sec?: boolean;
53
- min_clip_sec?: number;
54
- embedding_option?: ('visual-text' | 'visual-image' | 'audio')[];
55
- }
27
+ export type EmbeddingsApiVideoInput = z.infer<typeof EmbeddingsApiVideoInputSchema>;
56
28
 
57
- export interface EmbeddingsApiAudioInput {
58
- type: 'audio';
59
- source: EmbeddingsApiSource;
60
- start_sec?: number;
61
- length_sec?: number;
62
- }
29
+ export type EmbeddingsApiAudioInput = z.infer<typeof EmbeddingsApiAudioInputSchema>;
63
30
 
64
- export interface EmbeddingsApiRequest {
65
- inputs: EmbeddingsApiInput[];
66
- model?: string;
67
- task_type?: EmbeddingTaskType;
68
- dimensions?: number;
69
- }
31
+ export type EmbeddingsApiRequest = z.infer<typeof EmbeddingsApiRequestSchema>;
70
32
 
71
33
  /**
72
34
  * Wire-format result. Identical to @llumiverse/common's EmbeddingsResult
@@ -1,5 +1,23 @@
1
- import type { AIModel, ProviderParams } from '@llumiverse/common';
1
+ import type { ProviderParams } from '@llumiverse/common';
2
2
  import { ProviderList, Providers } from '@llumiverse/common';
3
+ import type { z } from 'zod';
4
+ import type {
5
+ EnableEnvironmentModelPayloadSchema,
6
+ ExecutionEnvironmentConfigUpdatePayloadSchema,
7
+ ExecutionEnvironmentCreatePayloadSchema,
8
+ ExecutionEnvironmentRefSchema,
9
+ ExecutionEnvironmentSchema,
10
+ ExecutionEnvironmentSettingsSchema,
11
+ ExecutionEnvironmentUpdatePayloadSchema,
12
+ ListEnvironmentsQuerySchema,
13
+ LoadBalancingEnvConfigSchema,
14
+ LoadBalancingEnvEntryConfigSchema,
15
+ MediatorEnvConfigSchema,
16
+ MigrateInteractionsPayloadSchema,
17
+ MigrateInteractionsResultSchema,
18
+ SupportedProvidersSchema,
19
+ VirtualEnvEntrySchema,
20
+ } from './api-schemas/environment.js';
3
21
 
4
22
  // Virtual providers from studio
5
23
  export enum CustomProviders {
@@ -8,13 +26,16 @@ export enum CustomProviders {
8
26
  test = 'test',
9
27
  }
10
28
 
11
- export type SupportedProviders = Providers | CustomProviders;
12
-
29
+ // The const and the type are one declaration in two halves: the object is what `z.enum()` reads the
30
+ // members off, and the type is inferred back from that schema rather than restated as
31
+ // `Providers | CustomProviders` — which is the same union, but a second statement of it.
13
32
  export const SupportedProviders = {
14
33
  ...Providers,
15
34
  ...CustomProviders,
16
35
  } as const;
17
36
 
37
+ export type SupportedProviders = z.infer<typeof SupportedProvidersSchema>;
38
+
18
39
  export interface SupportedProviderParams extends Omit<ProviderParams, 'id'> {
19
40
  id: SupportedProviders;
20
41
  }
@@ -48,50 +69,29 @@ export const SupportedProvidersList: Record<SupportedProviders, SupportedProvide
48
69
  ...CustomProvidersList,
49
70
  } as const;
50
71
 
51
- export interface VirtualEnvEntry {
52
- model: string;
53
- }
72
+ // The environment contract types, inferred from `./api-schemas/environment.js`. Their documentation
73
+ // moved with them: a doc comment above one of these is published on top of the schema's own
74
+ // `description`, so there would be two statements of it.
75
+ //
76
+ // `LoadBalancingEnvEntryConfig` no longer `extends VirtualEnvEntry` — a mapped or extended type over
77
+ // a canonical alias is opaque to the scanner and would publish as an empty object. It restates
78
+ // `model`, which is what the component has always listed anyway.
79
+ export type VirtualEnvEntry = z.infer<typeof VirtualEnvEntrySchema>;
54
80
 
55
- export interface ListEnvironmentsQuery {
56
- all?: boolean;
57
- }
81
+ export type ListEnvironmentsQuery = z.infer<typeof ListEnvironmentsQuerySchema>;
58
82
 
59
- /**
60
- * Custom configuration for virtual environments
61
- **/
62
- export interface LoadBalancingEnvConfig {
63
- entries?: LoadBalancingEnvEntryConfig[];
64
- failover?: boolean;
65
- }
83
+ export type LoadBalancingEnvConfig = z.infer<typeof LoadBalancingEnvConfigSchema>;
66
84
 
67
- export interface LoadBalancingEnvEntryConfig extends VirtualEnvEntry {
68
- weight: number;
69
- }
85
+ export type LoadBalancingEnvEntryConfig = z.infer<typeof LoadBalancingEnvEntryConfigSchema>;
70
86
 
71
- export interface MediatorEnvConfig {
72
- entries?: VirtualEnvEntry[];
73
- max_concurrent_requests?: number;
74
- // the model used to evaluate the responses. If not specified all entries will mediates the response
75
- // and the best response will be picked
76
- mediators?: VirtualEnvEntry[];
77
- model_options?: TextFallbackOptions;
78
- }
87
+ export type MediatorEnvConfig = z.infer<typeof MediatorEnvConfigSchema>;
79
88
 
80
- export interface TextFallbackOptions {
81
- _option_id: 'text-fallback';
82
- max_tokens?: number;
83
- temperature?: number;
84
- top_p?: number;
85
- top_k?: number;
86
- presence_penalty?: number;
87
- frequency_penalty?: number;
88
- stop_sequence?: string[];
89
- }
89
+ // Re-exported, not restated. This file carried a byte-for-byte copy of llumiverse's interface, which
90
+ // published under the same component name — so which of the two the OpenAPI document described
91
+ // depended on which one the scanner reached first. They agreed, so nothing ever failed.
92
+ export type { TextFallbackOptions } from '@llumiverse/common';
90
93
 
91
- export interface ExecutionEnvironmentSettings {
92
- [key: string]: unknown;
93
- bucket_access_principal?: string;
94
- }
94
+ export type ExecutionEnvironmentSettings = z.infer<typeof ExecutionEnvironmentSettingsSchema>;
95
95
 
96
96
  /**
97
97
  * Returns the configured Vertex AI bucket access principal for an environment, or undefined.
@@ -106,91 +106,19 @@ export function getVertexBucketAccessPrincipal(
106
106
  return typeof principal === 'string' && principal.trim().length > 0 ? principal.trim() : undefined;
107
107
  }
108
108
 
109
- export interface ExecutionEnvironment {
110
- id: string;
111
- name: string;
112
- provider: SupportedProviders;
113
- description?: string;
114
- endpoint_url?: string;
115
- default_model?: string;
116
- enabled_models?: AIModel[];
117
- apiKey?: string;
118
- /**
119
- * Hint showing first and last characters of the API key (e.g. "AKIA...3xQf").
120
- * Stored alongside the encrypted key so the UI can display which key is configured.
121
- */
122
- apikey_hint?: string;
123
- config?: unknown;
124
- /**
125
- * Additional provider-specific settings passed through to the driver.
126
- * For example, custom headers for Apigee-proxied endpoints.
127
- */
128
- settings?: ExecutionEnvironmentSettings;
129
- account: string;
130
- allowed_projects?: string[];
131
- created_by: string;
132
- updated_by: string;
133
- created_at: string;
134
- updated_at: string;
135
- }
109
+ export type ExecutionEnvironment = z.infer<typeof ExecutionEnvironmentSchema>;
136
110
 
137
- export interface ExecutionEnvironmentRef {
138
- id: string;
139
- name: string;
140
- provider: SupportedProviders;
141
- enabled_models?: AIModel[];
142
- default_model?: string;
143
- endpoint_url?: string;
144
- allowed_projects?: string[];
145
- account: string;
146
- created_by: string;
147
- updated_by: string;
148
- created_at: string;
149
- updated_at: string;
150
- }
111
+ export type ExecutionEnvironmentRef = z.infer<typeof ExecutionEnvironmentRefSchema>;
151
112
 
152
- export interface ExecutionEnvironmentCreatePayload
153
- extends Omit<
154
- ExecutionEnvironment,
155
- 'id' | 'account' | 'created_at' | 'updated_at' | 'created_by' | 'updated_by' | 'project' | 'apikey_hint'
156
- > {}
157
- export interface ExecutionEnvironmentUpdatePayload
158
- extends Partial<
159
- Omit<
160
- ExecutionEnvironment,
161
- 'id' | 'account' | 'created_at' | 'updated_at' | 'created_by' | 'updated_by' | 'apikey_hint'
162
- >
163
- > {}
164
- export interface ExecutionEnvironmentConfigUpdatePayload {
165
- enabled_models?: AIModel[];
166
- config?: MediatorEnvConfig | LoadBalancingEnvConfig;
167
- }
113
+ // Write payloads have their own named schemas because their fields differ from the read response.
114
+ export type ExecutionEnvironmentCreatePayload = z.infer<typeof ExecutionEnvironmentCreatePayloadSchema>;
168
115
 
169
- export interface EnableEnvironmentModelPayload {
170
- /**
171
- * Provider model ID to resolve from the environment's available model listing.
172
- */
173
- model_id: string;
174
- }
116
+ export type ExecutionEnvironmentUpdatePayload = z.infer<typeof ExecutionEnvironmentUpdatePayloadSchema>;
175
117
 
176
- export interface MigrateInteractionsPayload {
177
- /**
178
- * The new environment ID to set in the Interactions
179
- */
180
- new_env_id: string;
181
- /**
182
- * The new model ID to set in the Interactions
183
- */
184
- new_model_id: string;
185
- /**
186
- * The list of Interaction IDs to update.
187
- *
188
- * The Interactions must be in draft status.
189
- */
190
- interaction_ids: string[];
191
- }
118
+ export type ExecutionEnvironmentConfigUpdatePayload = z.infer<typeof ExecutionEnvironmentConfigUpdatePayloadSchema>;
192
119
 
193
- export interface MigrateInteractionsResult {
194
- matched_count: number;
195
- modified_count: number;
196
- }
120
+ export type EnableEnvironmentModelPayload = z.infer<typeof EnableEnvironmentModelPayloadSchema>;
121
+
122
+ export type MigrateInteractionsPayload = z.infer<typeof MigrateInteractionsPayloadSchema>;
123
+
124
+ export type MigrateInteractionsResult = z.infer<typeof MigrateInteractionsResultSchema>;
package/src/facets.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { z } from 'zod';
2
+ import type { ComputedFacetResponseSchema, FacetSpecSchema } from './api-schemas/interaction.js';
1
3
  // this is the mongo definition of a facet. see https://www.mongodb.com/docs/atlas/atlas-search/facet/
2
4
  export interface StringFacet {
3
5
  type: 'string';
@@ -21,10 +23,7 @@ export interface DateFacet<T extends Date | string = string> {
21
23
 
22
24
  export type Facet<DateT extends Date | string = string> = StringFacet | NumericFacet | DateFacet<DateT>;
23
25
 
24
- export interface FacetSpec {
25
- name: string;
26
- field: string;
27
- }
26
+ export type FacetSpec = z.infer<typeof FacetSpecSchema>;
28
27
 
29
28
  export interface FacetBucket {
30
29
  _id: string;
@@ -46,6 +45,4 @@ export interface ComputedFacetBucket {
46
45
  count: number;
47
46
  }
48
47
 
49
- export type ComputedFacetResponse = Record<string, ComputedFacetBucket[] | number> & {
50
- total?: number;
51
- };
48
+ export type ComputedFacetResponse = z.infer<typeof ComputedFacetResponseSchema>;
package/src/group.ts CHANGED
@@ -1,51 +1,47 @@
1
+ import type { z } from 'zod';
2
+ import type {
3
+ CreateUserGroupPayloadSchema,
4
+ UpdateUserGroupPayloadSchema,
5
+ UserGroupRefSchema,
6
+ UserGroupSchema,
7
+ } from './api-schemas/group.js';
1
8
  import type { UserRef } from './user.js';
2
9
 
3
- export interface UserGroup {
4
- id: string;
5
- account: string;
6
- name: string;
7
- description?: string;
8
- tags: string[];
9
- created_at: Date;
10
- updated_at: Date;
11
- created_by?: string;
12
- updated_by?: string;
13
- /** Custom properties for dynamic permission matching */
14
- properties?: Record<string, unknown>;
15
- /** BLP clearance level — merged with user clearance using max() */
16
- clearance?: number;
17
- /** Compartments — merged with user compartments using array union */
18
- compartments?: string[];
19
- }
10
+ /**
11
+ * The user group and its payloads as they cross the wire.
12
+ *
13
+ * Derived from the schemas in `./api-schemas/group.js`, which are what OpenAPI publishes and AJV
14
+ * compiles. The field descriptions live there too — Zod reads `.meta()`, not TSDoc.
15
+ *
16
+ * NOTE the timestamps are `string`, not `Date`. The document has always published them as
17
+ * `format: date-time` strings and JSON has no date type, so the previous `Date` declaration
18
+ * described the Mongoose document rather than the response a client parses. `IUserGroup` in
19
+ * `@dglabs/server-common` describes what Mongo actually holds and is deliberately independent.
20
+ */
21
+ export type UserGroup = z.infer<typeof UserGroupSchema>;
22
+ export type CreateUserGroupPayload = z.infer<typeof CreateUserGroupPayloadSchema>;
23
+ export type UpdateUserGroupPayload = z.infer<typeof UpdateUserGroupPayloadSchema>;
20
24
 
25
+ /**
26
+ * A group with its members resolved.
27
+ *
28
+ * Not a published component, and deliberately not one: `members` is `select: false` on the model, no
29
+ * endpoint documents it on `UserGroup`, and the members listing publishes `UserRef[]` on its own
30
+ * route instead.
31
+ */
21
32
  export interface PopulatesUserGroup extends UserGroup {
22
33
  members: UserRef[];
23
34
  }
24
35
 
25
- export interface CreateUserGroupPayload {
26
- name: string;
27
- description?: string;
28
- tags?: string[];
29
- }
30
-
31
- export interface UpdateUserGroupPayload {
32
- name: string;
33
- description?: string;
34
- tags?: string[];
35
- properties?: Record<string, unknown>;
36
- clearance?: number;
37
- compartments?: string[];
38
- }
39
-
40
- export interface UserGroupRef {
41
- id: string;
42
- name: string;
43
- tags?: string[];
44
- properties?: Record<string, unknown>;
45
- clearance?: number;
46
- compartments?: string[];
47
- }
48
-
49
- export const UserGroupRefPopulate = 'id name tags description properties clearance compartments';
36
+ /**
37
+ * The group as it appears in a token payload, read by the servers' authorization layer, the clients
38
+ * and the integration tests.
39
+ *
40
+ * The Mongoose projections that feed it live beside their queries in the servers, not here: a
41
+ * `select()` string is MongoDB field-selection behaviour, and a shared one has to be the union of
42
+ * every caller's needs. The previous one selected `description`, which token generation has never
43
+ * emitted, and the security fields, which the resource-reference endpoint has no use for.
44
+ */
45
+ export type UserGroupRef = z.infer<typeof UserGroupRefSchema>;
50
46
 
51
47
  export const MEMBERS_GROUP_NAME = 'members';
package/src/index.ts CHANGED
@@ -1,6 +1,17 @@
1
1
  export * from './access-control.js';
2
2
  export * from './agent-request-template.js';
3
3
  export * from './analytics.js';
4
+ /**
5
+ * Schema-derived API types. MUST stay `export type` — tsc erases it, so `lib/index.js` never
6
+ * references `./api-schemas/*` and zod stays out of the browser bundle. A runtime `export *` here
7
+ * would ship zod to every UI user; see `./api-schemas/index.ts` for why.
8
+ */
9
+ export type { UserGroupArrayFromSchema } from './api-schemas/group.js';
10
+ export type {
11
+ PrincipalContextFromSchema,
12
+ UserArrayFromSchema,
13
+ UserRefArrayFromSchema,
14
+ } from './api-schemas/user.js';
4
15
  export * from './apikey.js';
5
16
  export * from './apps.js';
6
17
  export * from './ask-user.js';