@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,91 @@
1
+ /**
2
+ * Account values that exist at runtime — enums, constants, and the pure helpers over them.
3
+ *
4
+ * Split out of `user.ts` so the dependency direction can run one way. The API schemas need these
5
+ * values (`z.enum(BillingMethod)`, `.max(ACCOUNT_APP_ACCESS_MESSAGE_MAX_LENGTH)`), and `user.ts`
6
+ * needs the types the schemas infer. Both living in `user.ts` would make it import from a module
7
+ * that imports it back; here, `user.ts` and `api-schemas/account.ts` both depend on this module and
8
+ * nothing depends on them.
9
+ *
10
+ * Everything here is re-exported from `user.ts`, so existing import paths keep working — this is a
11
+ * move, not a rename.
12
+ */
13
+ export var Datacenters;
14
+ (function (Datacenters) {
15
+ Datacenters["aws"] = "aws";
16
+ Datacenters["gcp"] = "gcp";
17
+ Datacenters["azure"] = "azure";
18
+ })(Datacenters || (Datacenters = {}));
19
+ export var BillingMethod;
20
+ (function (BillingMethod) {
21
+ BillingMethod["stripe"] = "stripe";
22
+ BillingMethod["invoice"] = "invoice";
23
+ })(BillingMethod || (BillingMethod = {}));
24
+ export var AccountType;
25
+ (function (AccountType) {
26
+ AccountType["vertesia"] = "vertesia";
27
+ AccountType["partner"] = "partner";
28
+ AccountType["free"] = "free";
29
+ AccountType["customer"] = "customer";
30
+ AccountType["prospect"] = "prospect";
31
+ AccountType["unknown"] = "unknown";
32
+ })(AccountType || (AccountType = {}));
33
+ /**
34
+ * Quota/rate-limit tier assigned to an account. Code-defined tiers live in `@dglabs/quota`
35
+ * (`QUOTA_TIERS`); these names must match its keys.
36
+ * - `standard` — protective baseline limits (the default for most accounts).
37
+ * - `enterprise` — high limits for contracted customers / internal / partners.
38
+ *
39
+ * An account with no explicit `quota_tier` derives its tier from its `account_type`.
40
+ */
41
+ export var QuotaTier;
42
+ (function (QuotaTier) {
43
+ QuotaTier["standard"] = "standard";
44
+ QuotaTier["enterprise"] = "enterprise";
45
+ })(QuotaTier || (QuotaTier = {}));
46
+ /**
47
+ * Default tier for an account that has no explicit `quota_tier`, derived from its `account_type`:
48
+ * contracted customers and internal Vertesia accounts get `enterprise`; everyone else (partner,
49
+ * free, prospect, unknown) gets the protective `standard` baseline.
50
+ */
51
+ export function quotaTierForAccountType(accountType) {
52
+ switch (accountType) {
53
+ case AccountType.customer:
54
+ case AccountType.vertesia:
55
+ return QuotaTier.enterprise;
56
+ default:
57
+ return QuotaTier.standard;
58
+ }
59
+ }
60
+ export const ACCOUNT_NAMESPACE_MAX_LENGTH = 63;
61
+ export const ACCOUNT_APP_ACCESS_MESSAGE_MAX_LENGTH = 1000;
62
+ export const RESERVED_ACCOUNT_NAMESPACES = [
63
+ 'admin',
64
+ 'api',
65
+ 'apps',
66
+ 'auth',
67
+ 'cdn',
68
+ 'docs',
69
+ 'internal-auth',
70
+ 'mcp',
71
+ 'status',
72
+ 'sts',
73
+ 'www',
74
+ ];
75
+ const ACCOUNT_NAMESPACE_PATTERN = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/;
76
+ export function normalizeAccountNamespace(namespace) {
77
+ return namespace.trim().toLowerCase();
78
+ }
79
+ export function getAccountNamespaceValidationError(namespace) {
80
+ if (!namespace) {
81
+ return 'Account namespace is required';
82
+ }
83
+ if (namespace.length > ACCOUNT_NAMESPACE_MAX_LENGTH || !ACCOUNT_NAMESPACE_PATTERN.test(namespace)) {
84
+ return 'Account namespace must be a lowercase DNS label containing only letters, numbers, and hyphens';
85
+ }
86
+ if (RESERVED_ACCOUNT_NAMESPACES.includes(namespace)) {
87
+ return `Account namespace '${namespace}' is reserved`;
88
+ }
89
+ return undefined;
90
+ }
91
+ //# sourceMappingURL=account-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-values.js","sourceRoot":"","sources":["../src/account-values.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,0BAAW,CAAA;IACX,0BAAW,CAAA;IACX,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;AACvB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACnB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;IACrB,kCAAmB,CAAA;AACvB,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAED;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;AAC7B,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAA2C;IAC/E,QAAQ,WAAW,EAAE,CAAC;QAClB,KAAK,WAAW,CAAC,QAAQ,CAAC;QAC1B,KAAK,WAAW,CAAC,QAAQ;YACrB,OAAO,SAAS,CAAC,UAAU,CAAC;QAChC;YACI,OAAO,SAAS,CAAC,QAAQ,CAAC;IAClC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAC/C,MAAM,CAAC,MAAM,qCAAqC,GAAG,IAAI,CAAC;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,eAAe;IACf,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;CACC,CAAC;AAEX,MAAM,yBAAyB,GAAG,wCAAwC,CAAC;AAE3E,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACvD,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,SAAiB;IAChE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,+BAA+B,CAAC;IAC3C,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,4BAA4B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChG,OAAO,+FAA+F,CAAC;IAC3G,CAAC;IACD,IAAK,2BAAiD,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,OAAO,sBAAsB,SAAS,eAAe,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
@@ -1,41 +1,15 @@
1
- export interface AnalyticsAxis {
2
- environment?: string;
3
- project?: string;
4
- interactions?: string[];
5
- models?: string[];
6
- status?: string[];
7
- tags?: string[];
8
- selectedOnly?: boolean;
9
- }
10
- export interface RunAnalyticsQuery {
11
- /** filters to apply to the query */
12
- filterBy: AnalyticsAxis;
13
- /** The field to group by */
14
- groupBy?: RunAnalyticsGroupBy;
15
- /** The start date of the query in EPOCH format */
16
- from?: number;
17
- /** The end date of the query in EPOCH format */
18
- to?: number;
19
- /** The time resolution unit of the analytics query */
20
- resolution?: TimeResolution;
21
- /** The step size for the resolution (e.g., 4 with resolution='hour' means 4-hour intervals). Defaults to 1. */
22
- resolutionStep?: number;
23
- /** The field to sort by */
24
- virtual?: boolean;
25
- }
26
- export type RunAnalyticsGroupBy = 'interaction' | 'modelId' | 'project' | 'status' | 'tags' | 'environment';
27
- export type TimeResolution = 'minute' | 'hour' | 'day' | 'week' | 'month' | 'year';
28
- export interface RunAnalyticsResult {
29
- date: string;
30
- timestamp: string;
31
- group: string;
32
- count: number;
33
- execution_time: {
34
- avg: number;
35
- min: number;
36
- max: number;
37
- };
38
- }
1
+ import type { z } from 'zod';
2
+ import type { AnalyticsAxisSchema, RunAnalyticsGroupBySchema, RunAnalyticsQuerySchema, RunAnalyticsResultSchema, TimeResolutionSchema } from './api-schemas/analytics.js';
3
+ /**
4
+ * The five run-analytics contract types, inferred from `./api-schemas/analytics.js`. Their
5
+ * documentation moved with them — a doc comment here would be published on TOP of the schema's
6
+ * `description` and the two would drift.
7
+ */
8
+ export type AnalyticsAxis = z.infer<typeof AnalyticsAxisSchema>;
9
+ export type RunAnalyticsQuery = z.infer<typeof RunAnalyticsQuerySchema>;
10
+ export type RunAnalyticsGroupBy = z.infer<typeof RunAnalyticsGroupBySchema>;
11
+ export type TimeResolution = z.infer<typeof TimeResolutionSchema>;
12
+ export type RunAnalyticsResult = z.infer<typeof RunAnalyticsResultSchema>;
39
13
  /** Entity with status breakdown */
40
14
  export interface EntityStatusCounts {
41
15
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACR,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACvB,MAAM,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,mCAAmC;AACnC,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACjC,wEAAwE;IACxE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,kDAAkD;IAClD,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,kDAAkD;IAClD,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACzC,iDAAiD;IACjD,UAAU,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC3B,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,uBAAuB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,uHAAuH;AACvH,MAAM,WAAW,iBAAiB;IAC9B,aAAa,EAAE,uBAAuB,EAAE,CAAC;IACzC,UAAU,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CACL"}
@@ -0,0 +1,215 @@
1
+ import { z } from 'zod';
2
+ import { AccessControlPrincipalType, AccessControlResourceType, Permission } from '../access-control-values.js';
3
+ /**
4
+ * Runtime API schemas for IAM roles and access-control entries.
5
+ */
6
+ /**
7
+ * The permission vocabulary, hoisted so `SystemRoleDefinition` publishes one reusable enum rather
8
+ * than an inline copy per property.
9
+ */
10
+ export declare const PermissionSchema: z.ZodEnum<typeof Permission>;
11
+ export declare const AccessControlResourceTypeSchema: z.ZodEnum<typeof AccessControlResourceType>;
12
+ export declare const AccessControlPrincipalTypeSchema: z.ZodEnum<typeof AccessControlPrincipalType>;
13
+ export declare const AbacScopeSchema: z.ZodEnum<{
14
+ collection: "collection";
15
+ document: "document";
16
+ task: "task";
17
+ }>;
18
+ export declare const RoleDomainSchema: z.ZodEnum<{
19
+ content: "content";
20
+ system: "system";
21
+ tasks: "tasks";
22
+ }>;
23
+ /**
24
+ * Deliberately unconstrained, and hoisted so the constraint's ABSENCE is stated in one place. A
25
+ * condition value is compared by the token and content-security evaluators, which accept literals,
26
+ * operator objects (`{ $gte: 5 }`) and `$principal.` cross-references — a union no schema could
27
+ * usefully close without freezing that vocabulary into the public contract.
28
+ */
29
+ export declare const PropertyConditionValueSchema: z.ZodUnknown;
30
+ export declare const PropertyConditionsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
31
+ /**
32
+ * Closed, and that matters here: the SERVER stores two more fields inside `conditions` —
33
+ * `principal_name` and `resource_name` — which this component has never declared. They are display
34
+ * names held there until `principal`/`resource` migrate from ObjectId to string, and the handlers
35
+ * copy them back into `principal`/`resource` on the way out. Every response that also serialized the
36
+ * raw sub-document was therefore violating its own schema; the mappers now build `conditions`
37
+ * explicitly, so the value still reaches the client — in the field the contract declares.
38
+ */
39
+ export declare const AceConditionsSchema: z.ZodObject<{
40
+ principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
41
+ resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
42
+ scope: z.ZodOptional<z.ZodEnum<{
43
+ collection: "collection";
44
+ document: "document";
45
+ task: "task";
46
+ }>>;
47
+ }, z.core.$strip>;
48
+ /**
49
+ * The access control entry as it crosses the wire.
50
+ *
51
+ * `resource` and `principal` are strings here and ObjectIds in Mongo — except for the dynamic
52
+ * (`principal_set` / `content_set`) entries, where the stored ObjectId is meaningless and the handler
53
+ * substitutes the display name out of `conditions`. That substitution is the reason these endpoints
54
+ * need a mapper rather than a serialized document: no cast can express "this field is a different
55
+ * value depending on another field".
56
+ *
57
+ * The timestamps are plain strings rather than `format: date-time`, which is what the document
58
+ * already publishes. Unlike `User` and `UserGroup` this is NOT safe to tighten in passing: `expires_at`
59
+ * shares the declaration and is written from an unvalidated payload, so an existing caller could have
60
+ * stored a value AJV would now reject.
61
+ */
62
+ export declare const AccessControlEntrySchema: z.ZodObject<{
63
+ role: z.ZodString;
64
+ resource_type: z.ZodEnum<typeof AccessControlResourceType>;
65
+ resource: z.ZodString;
66
+ principal_type: z.ZodEnum<typeof AccessControlPrincipalType>;
67
+ principal: z.ZodString;
68
+ account: z.ZodOptional<z.ZodString>;
69
+ project: z.ZodOptional<z.ZodString>;
70
+ conditions: z.ZodOptional<z.ZodObject<{
71
+ principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
72
+ resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
73
+ scope: z.ZodOptional<z.ZodEnum<{
74
+ collection: "collection";
75
+ document: "document";
76
+ task: "task";
77
+ }>>;
78
+ }, z.core.$strip>>;
79
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
80
+ expires_at: z.ZodOptional<z.ZodString>;
81
+ created_at: z.ZodOptional<z.ZodString>;
82
+ updated_at: z.ZodOptional<z.ZodString>;
83
+ id: z.ZodString;
84
+ }, z.core.$strip>;
85
+ export declare const AccessControlEntryArraySchema: z.ZodArray<z.ZodObject<{
86
+ role: z.ZodString;
87
+ resource_type: z.ZodEnum<typeof AccessControlResourceType>;
88
+ resource: z.ZodString;
89
+ principal_type: z.ZodEnum<typeof AccessControlPrincipalType>;
90
+ principal: z.ZodString;
91
+ account: z.ZodOptional<z.ZodString>;
92
+ project: z.ZodOptional<z.ZodString>;
93
+ conditions: z.ZodOptional<z.ZodObject<{
94
+ principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
95
+ resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
96
+ scope: z.ZodOptional<z.ZodEnum<{
97
+ collection: "collection";
98
+ document: "document";
99
+ task: "task";
100
+ }>>;
101
+ }, z.core.$strip>>;
102
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
103
+ expires_at: z.ZodOptional<z.ZodString>;
104
+ created_at: z.ZodOptional<z.ZodString>;
105
+ updated_at: z.ZodOptional<z.ZodString>;
106
+ id: z.ZodString;
107
+ }, z.core.$strip>>;
108
+ /**
109
+ * Create and update payloads, picked from the entry rather than restated.
110
+ *
111
+ * `ACECreatePayload extends Omit<AccessControlEntry, 'created_at' | 'updated_at' | 'id'>` is what the
112
+ * hand-written types said, so `.omit()` is the literal translation — and the right operator here for
113
+ * the reason the guidance gives: the derived shape is almost everything. `ACEUpdatePayload` was
114
+ * `Partial<ACECreatePayload>`, which `.partial()` reproduces exactly.
115
+ */
116
+ export declare const ACECreatePayloadSchema: z.ZodObject<{
117
+ role: z.ZodString;
118
+ resource_type: z.ZodEnum<typeof AccessControlResourceType>;
119
+ resource: z.ZodString;
120
+ principal_type: z.ZodEnum<typeof AccessControlPrincipalType>;
121
+ principal: z.ZodString;
122
+ account: z.ZodOptional<z.ZodString>;
123
+ project: z.ZodOptional<z.ZodString>;
124
+ conditions: z.ZodOptional<z.ZodObject<{
125
+ principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
+ resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
127
+ scope: z.ZodOptional<z.ZodEnum<{
128
+ collection: "collection";
129
+ document: "document";
130
+ task: "task";
131
+ }>>;
132
+ }, z.core.$strip>>;
133
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
134
+ expires_at: z.ZodOptional<z.ZodString>;
135
+ }, z.core.$strip>;
136
+ export declare const ACEUpdatePayloadSchema: z.ZodObject<{
137
+ role: z.ZodOptional<z.ZodString>;
138
+ resource_type: z.ZodOptional<z.ZodEnum<typeof AccessControlResourceType>>;
139
+ resource: z.ZodOptional<z.ZodString>;
140
+ principal_type: z.ZodOptional<z.ZodEnum<typeof AccessControlPrincipalType>>;
141
+ principal: z.ZodOptional<z.ZodString>;
142
+ account: z.ZodOptional<z.ZodOptional<z.ZodString>>;
143
+ project: z.ZodOptional<z.ZodOptional<z.ZodString>>;
144
+ conditions: z.ZodOptional<z.ZodOptional<z.ZodObject<{
145
+ principal_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
146
+ resource_props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
147
+ scope: z.ZodOptional<z.ZodEnum<{
148
+ collection: "collection";
149
+ document: "document";
150
+ task: "task";
151
+ }>>;
152
+ }, z.core.$strip>>>;
153
+ tags: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
154
+ expires_at: z.ZodOptional<z.ZodOptional<z.ZodString>>;
155
+ }, z.core.$strip>;
156
+ /**
157
+ * The role catalog. Both shapes are static — computed from the in-process role registry, never read
158
+ * from Mongo — so these two slots carry no persistence boundary at all.
159
+ */
160
+ export declare const RoleDefinitionSchema: z.ZodObject<{
161
+ name: z.ZodString;
162
+ permissions: z.ZodArray<z.ZodString>;
163
+ domain: z.ZodEnum<{
164
+ content: "content";
165
+ system: "system";
166
+ tasks: "tasks";
167
+ }>;
168
+ }, z.core.$strip>;
169
+ export declare const RoleDefinitionArraySchema: z.ZodArray<z.ZodObject<{
170
+ name: z.ZodString;
171
+ permissions: z.ZodArray<z.ZodString>;
172
+ domain: z.ZodEnum<{
173
+ content: "content";
174
+ system: "system";
175
+ tasks: "tasks";
176
+ }>;
177
+ }, z.core.$strip>>;
178
+ /**
179
+ * `.extend()` and not a second object: `SystemRoleDefinition extends RoleDefinition` narrowing
180
+ * `permissions`, expressed as the override it is. Overriding a property keeps its position, so the
181
+ * published property order is unchanged.
182
+ */
183
+ export declare const SystemRoleDefinitionSchema: z.ZodObject<{
184
+ name: z.ZodString;
185
+ domain: z.ZodEnum<{
186
+ content: "content";
187
+ system: "system";
188
+ tasks: "tasks";
189
+ }>;
190
+ permissions: z.ZodArray<z.ZodEnum<typeof Permission>>;
191
+ }, z.core.$strip>;
192
+ export declare const SystemRoleDefinitionArraySchema: z.ZodArray<z.ZodObject<{
193
+ name: z.ZodString;
194
+ domain: z.ZodEnum<{
195
+ content: "content";
196
+ system: "system";
197
+ tasks: "tasks";
198
+ }>;
199
+ permissions: z.ZodArray<z.ZodEnum<typeof Permission>>;
200
+ }, z.core.$strip>>;
201
+ /**
202
+ * The public access-control types, inferred rather than written. `../access-control.ts` and
203
+ * `../roles/types.ts` re-export these under their public names.
204
+ */
205
+ export type PropertyConditionsFromSchema = z.infer<typeof PropertyConditionsSchema>;
206
+ export type AceConditionsFromSchema = z.infer<typeof AceConditionsSchema>;
207
+ export type AccessControlEntryFromSchema = z.infer<typeof AccessControlEntrySchema>;
208
+ export type AccessControlEntryArrayFromSchema = z.infer<typeof AccessControlEntryArraySchema>;
209
+ export type ACECreatePayloadFromSchema = z.infer<typeof ACECreatePayloadSchema>;
210
+ export type ACEUpdatePayloadFromSchema = z.infer<typeof ACEUpdatePayloadSchema>;
211
+ export type RoleDefinitionFromSchema = z.infer<typeof RoleDefinitionSchema>;
212
+ export type RoleDefinitionArrayFromSchema = z.infer<typeof RoleDefinitionArraySchema>;
213
+ export type SystemRoleDefinitionFromSchema = z.infer<typeof SystemRoleDefinitionSchema>;
214
+ export type SystemRoleDefinitionArrayFromSchema = z.infer<typeof SystemRoleDefinitionArraySchema>;
215
+ //# sourceMappingURL=access-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../src/api-schemas/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAEH,0BAA0B,EAC1B,yBAAyB,EACzB,UAAU,EAEb,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,8BAAgD,CAAC;AAE9E,eAAO,MAAM,+BAA+B,6CAE1C,CAAC;AAEH,eAAO,MAAM,gCAAgC,8CAE3C,CAAC;AAEH,eAAO,MAAM,eAAe;;;;EAA+C,CAAC;AAE5E,eAAO,MAAM,gBAAgB;;;;EAO3B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,cAGvC,CAAC;AAEH,eAAO,MAAM,wBAAwB,wCAEE,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;iBAsB1B,CAAC;AAEP;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;iBA8BE,CAAC;AAExC,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;kBAA4E,CAAC;AAEvH;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAIA,CAAC;AAEpC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAAoE,CAAC;AAExG;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;iBAiB3B,CAAC;AAEP,eAAO,MAAM,yBAAyB;;;;;;;;kBAAoE,CAAC;AAE3G;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;iBAOrC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;kBAEE,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACpF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AACpF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAC9F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC5E,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACtF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACxF,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1,165 @@
1
+ import { z } from 'zod';
2
+ // From the values module, never from `../access-control.js` or `../roles/types.js`: both derive
3
+ // their public types from the schemas below, so importing them here would invert the dependency.
4
+ import { AbacScopes, AccessControlPrincipalType, AccessControlResourceType, Permission, RoleDomains, } from '../access-control-values.js';
5
+ /**
6
+ * Runtime API schemas for IAM roles and access-control entries.
7
+ */
8
+ /**
9
+ * The permission vocabulary, hoisted so `SystemRoleDefinition` publishes one reusable enum rather
10
+ * than an inline copy per property.
11
+ */
12
+ export const PermissionSchema = z.enum(Permission).meta({ id: 'Permission' });
13
+ export const AccessControlResourceTypeSchema = z.enum(AccessControlResourceType).meta({
14
+ id: 'AccessControlResourceType',
15
+ });
16
+ export const AccessControlPrincipalTypeSchema = z.enum(AccessControlPrincipalType).meta({
17
+ id: 'AccessControlPrincipalType',
18
+ });
19
+ export const AbacScopeSchema = z.enum(AbacScopes).meta({ id: 'AbacScope' });
20
+ export const RoleDomainSchema = z.enum(RoleDomains).meta({
21
+ id: 'RoleDomain',
22
+ description: 'Logical grouping of roles by the service area that owns them. One domain may declare roles ' +
23
+ 'applicable to multiple scopes (e.g. the `content` domain owns roles applicable to both `document` ' +
24
+ 'and `collection` scopes). The `system` domain owns the built-in foundational roles (currently ' +
25
+ 'exposed as `SystemRoles`) — registered first so domain partitions cannot shadow them.',
26
+ });
27
+ /**
28
+ * Deliberately unconstrained, and hoisted so the constraint's ABSENCE is stated in one place. A
29
+ * condition value is compared by the token and content-security evaluators, which accept literals,
30
+ * operator objects (`{ $gte: 5 }`) and `$principal.` cross-references — a union no schema could
31
+ * usefully close without freezing that vocabulary into the public contract.
32
+ */
33
+ export const PropertyConditionValueSchema = z.unknown().meta({
34
+ id: 'PropertyConditionValue',
35
+ description: 'A single condition value. Resolved and evaluated dynamically by token/content security code.',
36
+ });
37
+ export const PropertyConditionsSchema = z
38
+ .record(z.string(), PropertyConditionValueSchema)
39
+ .meta({ id: 'PropertyConditions' });
40
+ /**
41
+ * Closed, and that matters here: the SERVER stores two more fields inside `conditions` —
42
+ * `principal_name` and `resource_name` — which this component has never declared. They are display
43
+ * names held there until `principal`/`resource` migrate from ObjectId to string, and the handlers
44
+ * copy them back into `principal`/`resource` on the way out. Every response that also serialized the
45
+ * raw sub-document was therefore violating its own schema; the mappers now build `conditions`
46
+ * explicitly, so the value still reaches the client — in the field the contract declares.
47
+ */
48
+ export const AceConditionsSchema = z
49
+ .object({
50
+ principal_props: PropertyConditionsSchema.meta({
51
+ description: 'Property conditions matched against user/group properties at token time (PrincipalSet).',
52
+ }).optional(),
53
+ resource_props: PropertyConditionsSchema.meta({
54
+ description: 'Property conditions matched against object properties at query time (ResourceSet).',
55
+ }).optional(),
56
+ scope: AbacScopeSchema.meta({
57
+ description: "Kind of object the `resource_props` matches. Used to disambiguate which partition's roles " +
58
+ 'apply (e.g. content roles vs task roles) and to form the JWT `content_security` key prefix ' +
59
+ "(`{scope}:{verb}`). Absent → `'document'` (default; emits bare `read`/`write`/`delete` keys " +
60
+ 'for backward compatibility).',
61
+ }).optional(),
62
+ })
63
+ .meta({
64
+ id: 'AceConditions',
65
+ description: 'Conditions attached to an ACE for dynamic matching.\n' +
66
+ '- `principal_props`: matched against user/group properties at token time (PrincipalSet).\n' +
67
+ '- `resource_props`: matched against object properties at query time (ResourceSet).',
68
+ });
69
+ /**
70
+ * The access control entry as it crosses the wire.
71
+ *
72
+ * `resource` and `principal` are strings here and ObjectIds in Mongo — except for the dynamic
73
+ * (`principal_set` / `content_set`) entries, where the stored ObjectId is meaningless and the handler
74
+ * substitutes the display name out of `conditions`. That substitution is the reason these endpoints
75
+ * need a mapper rather than a serialized document: no cast can express "this field is a different
76
+ * value depending on another field".
77
+ *
78
+ * The timestamps are plain strings rather than `format: date-time`, which is what the document
79
+ * already publishes. Unlike `User` and `UserGroup` this is NOT safe to tighten in passing: `expires_at`
80
+ * shares the declaration and is written from an unvalidated payload, so an existing caller could have
81
+ * stored a value AJV would now reject.
82
+ */
83
+ export const AccessControlEntrySchema = z
84
+ .object({
85
+ role: z.string().meta({
86
+ description: 'Role name. Typed as `string` because role names now span multiple partitions: `SystemRoles` ' +
87
+ "enum values for system-domain roles, and bare strings for ABAC-domain roles (e.g. `'content:reader'`, " +
88
+ "`'content:writer'`, `'content:manager'`). Mongoose schema validates the value against the " +
89
+ 'registered role catalog via `getAllRoleNames()`.',
90
+ }),
91
+ resource_type: AccessControlResourceTypeSchema,
92
+ resource: z.string(),
93
+ principal_type: AccessControlPrincipalTypeSchema,
94
+ principal: z.string(),
95
+ account: z
96
+ .string()
97
+ .meta({ description: 'Account scope — required for principal_set/content_set ACEs.' })
98
+ .optional(),
99
+ project: z
100
+ .string()
101
+ .meta({ description: 'Project scope — narrows a principal_set/content_set ACE to a single project.' })
102
+ .optional(),
103
+ conditions: AceConditionsSchema.meta({
104
+ description: 'Dynamic matching conditions for principal_set/content_set ACEs.',
105
+ }).optional(),
106
+ tags: z.array(z.string()).optional(),
107
+ expires_at: z.string().optional(),
108
+ created_at: z.string().optional(),
109
+ updated_at: z.string().optional(),
110
+ id: z.string(),
111
+ })
112
+ .meta({ id: 'AccessControlEntry' });
113
+ export const AccessControlEntryArraySchema = z.array(AccessControlEntrySchema).meta({ id: 'AccessControlEntryArray' });
114
+ /**
115
+ * Create and update payloads, picked from the entry rather than restated.
116
+ *
117
+ * `ACECreatePayload extends Omit<AccessControlEntry, 'created_at' | 'updated_at' | 'id'>` is what the
118
+ * hand-written types said, so `.omit()` is the literal translation — and the right operator here for
119
+ * the reason the guidance gives: the derived shape is almost everything. `ACEUpdatePayload` was
120
+ * `Partial<ACECreatePayload>`, which `.partial()` reproduces exactly.
121
+ */
122
+ export const ACECreatePayloadSchema = AccessControlEntrySchema.omit({
123
+ created_at: true,
124
+ updated_at: true,
125
+ id: true,
126
+ }).meta({ id: 'ACECreatePayload' });
127
+ export const ACEUpdatePayloadSchema = ACECreatePayloadSchema.partial().meta({ id: 'ACEUpdatePayload' });
128
+ /**
129
+ * The role catalog. Both shapes are static — computed from the in-process role registry, never read
130
+ * from Mongo — so these two slots carry no persistence boundary at all.
131
+ */
132
+ export const RoleDefinitionSchema = z
133
+ .object({
134
+ name: z.string(),
135
+ permissions: z.array(z.string()),
136
+ domain: RoleDomainSchema,
137
+ })
138
+ .meta({
139
+ id: 'RoleDefinition',
140
+ description: 'Wire shape of a role returned by the IAM `/roles` endpoint.\n\n' +
141
+ 'Permissions are typed `string[]` because role names span multiple partitions (system, content, ' +
142
+ 'future tasks/etc.) and each partition has its own vocabulary. For the tightly-typed system-only ' +
143
+ 'view (with `permissions: Permission[]`) use `SystemRoleDefinition` and the `/roles/system` endpoint.\n\n' +
144
+ "NOTE: this interface is intentionally non-generic. The OpenAPI generator doesn't handle TypeScript " +
145
+ 'generics cleanly in array response types and produces a degenerate `RoleDefinitionArray` schema. ' +
146
+ 'Keeping the wire shapes concrete avoids that. `SystemRoleDefinition` extends and narrows ' +
147
+ '`permissions` to `Permission[]`.',
148
+ });
149
+ export const RoleDefinitionArraySchema = z.array(RoleDefinitionSchema).meta({ id: 'RoleDefinitionArray' });
150
+ /**
151
+ * `.extend()` and not a second object: `SystemRoleDefinition extends RoleDefinition` narrowing
152
+ * `permissions`, expressed as the override it is. Overriding a property keeps its position, so the
153
+ * published property order is unchanged.
154
+ */
155
+ export const SystemRoleDefinitionSchema = RoleDefinitionSchema.extend({
156
+ permissions: z.array(PermissionSchema),
157
+ }).meta({
158
+ id: 'SystemRoleDefinition',
159
+ description: 'Tightly-typed view of a system-domain role: permissions are central `Permission` enum values. ' +
160
+ "Returned by `client.iam.roles.listSystem()` and by the server's `/roles/system` endpoint.",
161
+ });
162
+ export const SystemRoleDefinitionArraySchema = z
163
+ .array(SystemRoleDefinitionSchema)
164
+ .meta({ id: 'SystemRoleDefinitionArray' });
165
+ //# sourceMappingURL=access-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../src/api-schemas/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,gGAAgG;AAChG,iGAAiG;AACjG,OAAO,EACH,UAAU,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,UAAU,EACV,WAAW,GACd,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC;IAClF,EAAE,EAAE,2BAA2B;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC;IACpF,EAAE,EAAE,4BAA4B;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;IACrD,EAAE,EAAE,YAAY;IAChB,WAAW,EACP,6FAA6F;QAC7F,oGAAoG;QACpG,gGAAgG;QAChG,uFAAuF;CAC9F,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;IACzD,EAAE,EAAE,wBAAwB;IAC5B,WAAW,EAAE,8FAA8F;CAC9G,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACpC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC;KAChD,IAAI,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACJ,eAAe,EAAE,wBAAwB,CAAC,IAAI,CAAC;QAC3C,WAAW,EAAE,yFAAyF;KACzG,CAAC,CAAC,QAAQ,EAAE;IACb,cAAc,EAAE,wBAAwB,CAAC,IAAI,CAAC;QAC1C,WAAW,EAAE,oFAAoF;KACpG,CAAC,CAAC,QAAQ,EAAE;IACb,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;QACxB,WAAW,EACP,4FAA4F;YAC5F,6FAA6F;YAC7F,8FAA8F;YAC9F,8BAA8B;KACrC,CAAC,CAAC,QAAQ,EAAE;CAChB,CAAC;KACD,IAAI,CAAC;IACF,EAAE,EAAE,eAAe;IACnB,WAAW,EACP,uDAAuD;QACvD,4FAA4F;QAC5F,oFAAoF;CAC3F,CAAC,CAAC;AAEP;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACpC,MAAM,CAAC;IACJ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QAClB,WAAW,EACP,8FAA8F;YAC9F,wGAAwG;YACxG,4FAA4F;YAC5F,kDAAkD;KACzD,CAAC;IACF,aAAa,EAAE,+BAA+B;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,cAAc,EAAE,gCAAgC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,IAAI,CAAC,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC;SACrF,QAAQ,EAAE;IACf,OAAO,EAAE,CAAC;SACL,MAAM,EAAE;SACR,IAAI,CAAC,EAAE,WAAW,EAAE,8EAA8E,EAAE,CAAC;SACrG,QAAQ,EAAE;IACf,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACjC,WAAW,EAAE,iEAAiE;KACjF,CAAC,CAAC,QAAQ,EAAE;IACb,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC;KACD,IAAI,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAEvH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,IAAI,CAAC;IAChE,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,EAAE,EAAE,IAAI;CACX,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAExG;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAChC,MAAM,CAAC;IACJ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,EAAE,gBAAgB;CAC3B,CAAC;KACD,IAAI,CAAC;IACF,EAAE,EAAE,gBAAgB;IACpB,WAAW,EACP,iEAAiE;QACjE,iGAAiG;QACjG,kGAAkG;QAClG,0GAA0G;QAC1G,qGAAqG;QACrG,mGAAmG;QACnG,2FAA2F;QAC3F,kCAAkC;CACzC,CAAC,CAAC;AAEP,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAE3G;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACzC,CAAC,CAAC,IAAI,CAAC;IACJ,EAAE,EAAE,sBAAsB;IAC1B,WAAW,EACP,gGAAgG;QAChG,2FAA2F;CAClG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC;KAC3C,KAAK,CAAC,0BAA0B,CAAC;KACjC,IAAI,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,CAAC,CAAC"}