@vertesia/common 1.5.0-dev.20260725.083715Z → 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 (521) 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 +107 -1151
  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 -115
  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 +88 -778
  253. package/lib/interaction.d.ts.map +1 -1
  254. package/lib/interaction.js +8 -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 +57 -358
  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 +61 -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 -700
  346. package/lib/store/store.d.ts.map +1 -1
  347. package/lib/store/store.js +4 -456
  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 +54 -518
  354. package/lib/store/workflow.d.ts.map +1 -1
  355. package/lib/store/workflow.js +23 -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 +13 -4
  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/analytics.ts +18 -42
  389. package/src/api-schemas/access-control.contract.test.ts +209 -0
  390. package/src/api-schemas/access-control.ts +208 -0
  391. package/src/api-schemas/account.contract.test.ts +318 -0
  392. package/src/api-schemas/account.ts +150 -0
  393. package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
  394. package/src/api-schemas/adapter.ts +778 -0
  395. package/src/api-schemas/agent-runs.ts +1081 -0
  396. package/src/api-schemas/analytics.ts +65 -0
  397. package/src/api-schemas/apikey.contract.test.ts +270 -0
  398. package/src/api-schemas/apikey.ts +199 -0
  399. package/src/api-schemas/app-lifecycle.ts +841 -0
  400. package/src/api-schemas/app-runtime.ts +919 -0
  401. package/src/api-schemas/apps.ts +415 -0
  402. package/src/api-schemas/audit-trail.ts +243 -0
  403. package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
  404. package/src/api-schemas/bulk-operation.ts +75 -0
  405. package/src/api-schemas/bundle-isolation.test.ts +80 -0
  406. package/src/api-schemas/commands.contract.test.ts +51 -0
  407. package/src/api-schemas/commands.ts +62 -0
  408. package/src/api-schemas/content.ts +939 -0
  409. package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
  410. package/src/api-schemas/cost-analytics.ts +235 -0
  411. package/src/api-schemas/dashboard.contract.test.ts +127 -0
  412. package/src/api-schemas/dashboard.ts +351 -0
  413. package/src/api-schemas/data-store.contract.test.ts +91 -0
  414. package/src/api-schemas/data-store.ts +571 -0
  415. package/src/api-schemas/document-processing.contract.test.ts +76 -0
  416. package/src/api-schemas/document-processing.ts +344 -0
  417. package/src/api-schemas/embeddings.ts +113 -0
  418. package/src/api-schemas/environment.contract.test.ts +184 -0
  419. package/src/api-schemas/environment.ts +190 -0
  420. package/src/api-schemas/events.ts +921 -0
  421. package/src/api-schemas/files.ts +159 -0
  422. package/src/api-schemas/group.contract.test.ts +205 -0
  423. package/src/api-schemas/group.ts +155 -0
  424. package/src/api-schemas/index.ts +35 -0
  425. package/src/api-schemas/indexing.contract.test.ts +83 -0
  426. package/src/api-schemas/indexing.ts +234 -0
  427. package/src/api-schemas/integrations.ts +369 -0
  428. package/src/api-schemas/interaction.ts +2357 -0
  429. package/src/api-schemas/invites.contract.test.ts +268 -0
  430. package/src/api-schemas/invites.ts +127 -0
  431. package/src/api-schemas/llumiverse.contract.test.ts +108 -0
  432. package/src/api-schemas/oauth-server.ts +219 -0
  433. package/src/api-schemas/oauth.contract.test.ts +118 -0
  434. package/src/api-schemas/oauth.ts +166 -0
  435. package/src/api-schemas/parameters.test.ts +402 -0
  436. package/src/api-schemas/parameters.ts +310 -0
  437. package/src/api-schemas/process.ts +929 -0
  438. package/src/api-schemas/project-configuration.ts +478 -0
  439. package/src/api-schemas/project.contract.test.ts +365 -0
  440. package/src/api-schemas/project.ts +214 -0
  441. package/src/api-schemas/prompt.ts +88 -0
  442. package/src/api-schemas/pruning-limits.test.ts +189 -0
  443. package/src/api-schemas/quota.contract.test.ts +147 -0
  444. package/src/api-schemas/quota.ts +122 -0
  445. package/src/api-schemas/registry-groups.test.ts +91 -0
  446. package/src/api-schemas/registry.ts +3487 -0
  447. package/src/api-schemas/response-pruning.test.ts +260 -0
  448. package/src/api-schemas/schema-primitives.ts +12 -0
  449. package/src/api-schemas/secrets.ts +332 -0
  450. package/src/api-schemas/store.contract.test.ts +450 -0
  451. package/src/api-schemas/store.ts +604 -0
  452. package/src/api-schemas/sts.contract.test.ts +80 -0
  453. package/src/api-schemas/sts.ts +110 -0
  454. package/src/api-schemas/task.ts +104 -0
  455. package/src/api-schemas/tools.ts +140 -0
  456. package/src/api-schemas/user.contract.test.ts +191 -0
  457. package/src/api-schemas/user.ts +204 -0
  458. package/src/api-schemas/view-execution.ts +200 -0
  459. package/src/api-schemas/views.ts +437 -0
  460. package/src/api-schemas/workflow-runs.ts +653 -0
  461. package/src/apikey-values.ts +10 -0
  462. package/src/apikey.ts +49 -40
  463. package/src/apps.ts +234 -1213
  464. package/src/ask-user.ts +9 -1
  465. package/src/audit-trail.ts +45 -137
  466. package/src/browser-credentials.ts +21 -106
  467. package/src/common.ts +67 -78
  468. package/src/cost-analytics.ts +37 -176
  469. package/src/data-platform.ts +205 -776
  470. package/src/email.ts +5 -17
  471. package/src/embeddings.ts +22 -60
  472. package/src/environment.ts +52 -126
  473. package/src/facets.ts +4 -7
  474. package/src/group.ts +38 -42
  475. package/src/index.ts +11 -0
  476. package/src/integrations.ts +39 -129
  477. package/src/interaction-values.ts +23 -0
  478. package/src/interaction.ts +162 -902
  479. package/src/meters.ts +11 -7
  480. package/src/oauth-server.ts +58 -127
  481. package/src/oauth.ts +24 -108
  482. package/src/payload.ts +25 -40
  483. package/src/platform-event.ts +98 -484
  484. package/src/principal-context.ts +11 -15
  485. package/src/project-values.ts +41 -0
  486. package/src/project.ts +116 -588
  487. package/src/prompt.ts +34 -61
  488. package/src/query.ts +34 -93
  489. package/src/rate-limiter.ts +27 -75
  490. package/src/refs.ts +4 -11
  491. package/src/roles/types.ts +20 -20
  492. package/src/runs.ts +11 -24
  493. package/src/secrets.ts +38 -117
  494. package/src/store/agent-approval.ts +9 -14
  495. package/src/store/agent-run.ts +93 -450
  496. package/src/store/collections.ts +21 -63
  497. package/src/store/content-type-editing.test.ts +1 -1
  498. package/src/store/conversation-state.ts +75 -64
  499. package/src/store/doc-analyzer.ts +17 -33
  500. package/src/store/dsl-workflow.ts +62 -158
  501. package/src/store/editing-policy-schema.generated.ts +30 -0
  502. package/src/store/grounded-extraction.ts +13 -104
  503. package/src/store/index.ts +3 -0
  504. package/src/store/intake-policy-schema.generated.ts +1442 -0
  505. package/src/store/process-schema.test.ts +43 -0
  506. package/src/store/process-schema.ts +79 -0
  507. package/src/store/process-validation.test.ts +141 -0
  508. package/src/store/process-validation.ts +82 -2
  509. package/src/store/process.ts +70 -146
  510. package/src/store/rendering.ts +15 -64
  511. package/src/store/store.ts +197 -1204
  512. package/src/store/task.ts +25 -59
  513. package/src/store/workflow.ts +97 -557
  514. package/src/sts-token-types.ts +24 -75
  515. package/src/tools.ts +18 -97
  516. package/src/transient-tokens-values.ts +11 -0
  517. package/src/transient-tokens.ts +16 -13
  518. package/src/user.ts +74 -214
  519. package/src/versions.ts +24 -0
  520. package/src/views-schema.test.ts +9 -1
  521. package/src/views.ts +106 -329
@@ -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":"AAAA,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAC9B,oCAAoC;IACpC,QAAQ,EAAE,aAAa,CAAC;IAExB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sDAAsD;IACtD,UAAU,CAAC,EAAE,cAAc,CAAC;IAE5B,+GAA+G;IAC/G,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;AAE5G,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnF,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACf,CAAC;CACL;AAED,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"}
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
+ document: "document";
15
+ collection: "collection";
16
+ task: "task";
17
+ }>;
18
+ export declare const RoleDomainSchema: z.ZodEnum<{
19
+ system: "system";
20
+ content: "content";
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
+ document: "document";
44
+ collection: "collection";
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
+ document: "document";
75
+ collection: "collection";
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
+ document: "document";
98
+ collection: "collection";
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
+ project: z.ZodOptional<z.ZodString>;
118
+ account: z.ZodOptional<z.ZodString>;
119
+ resource_type: z.ZodEnum<typeof AccessControlResourceType>;
120
+ principal_type: z.ZodEnum<typeof AccessControlPrincipalType>;
121
+ role: z.ZodString;
122
+ resource: z.ZodString;
123
+ principal: 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
+ document: "document";
129
+ collection: "collection";
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
+ project: z.ZodOptional<z.ZodOptional<z.ZodString>>;
138
+ account: z.ZodOptional<z.ZodOptional<z.ZodString>>;
139
+ resource_type: z.ZodOptional<z.ZodEnum<typeof AccessControlResourceType>>;
140
+ principal_type: z.ZodOptional<z.ZodEnum<typeof AccessControlPrincipalType>>;
141
+ role: z.ZodOptional<z.ZodString>;
142
+ resource: z.ZodOptional<z.ZodString>;
143
+ principal: 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
+ document: "document";
149
+ collection: "collection";
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
+ system: "system";
165
+ content: "content";
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
+ system: "system";
174
+ content: "content";
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
+ system: "system";
187
+ content: "content";
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
+ system: "system";
196
+ content: "content";
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":"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"}
@@ -0,0 +1,101 @@
1
+ import { z } from 'zod';
2
+ import { AccountType, BillingMethod, QuotaTier } from '../account-values.js';
3
+ /**
4
+ * Runtime API schemas for the Accounts endpoints.
5
+ *
6
+ * These describe the WIRE shape — what actually crosses the HTTP boundary — which is not
7
+ * always what the hand-written interfaces in `user.ts` claim. Divergences are asserted in
8
+ * `account.contract.test.ts` rather than papered over.
9
+ *
10
+ * This module is only reachable through the `@vertesia/common/api-schemas` subpath. It must
11
+ * never be runtime-exported from the package root: `lib/index.js` is bundled wholesale into
12
+ * `lib/vertesia-common.js` and served to browsers, so a root re-export would ship zod to every
13
+ * UI user. The root may re-export the derived TYPES with `export type`, which tsc erases.
14
+ */
15
+ /**
16
+ * Shared enums carry an `id` so the adapter hoists them into named components and properties
17
+ * reference them, rather than each property carrying its own inline copy. The distinction is
18
+ * invisible to JSON Schema validation and decisive for codegen: a named component becomes one
19
+ * reusable Java/Go enum type, while inline copies become an anonymous type per property. These
20
+ * names also already exist in the published spec, so keeping them avoids a breaking rename for
21
+ * everyone generating from it.
22
+ */
23
+ export declare const BillingMethodSchema: z.ZodEnum<typeof BillingMethod>;
24
+ export declare const AccountTypeSchema: z.ZodEnum<typeof AccountType>;
25
+ export declare const QuotaTierSchema: z.ZodEnum<typeof QuotaTier>;
26
+ export declare const AccountBillingSchema: z.ZodObject<{
27
+ method: z.ZodEnum<typeof BillingMethod>;
28
+ stripe_customer_id: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$strip>;
30
+ export declare const AccountSchema: z.ZodObject<{
31
+ id: z.ZodString;
32
+ name: z.ZodString;
33
+ namespace: z.ZodOptional<z.ZodString>;
34
+ app_access_message: z.ZodOptional<z.ZodString>;
35
+ email_domains: z.ZodArray<z.ZodString>;
36
+ onboarding: z.ZodObject<{
37
+ completed: z.ZodBoolean;
38
+ completed_at: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strict>;
40
+ datacenter: z.ZodString;
41
+ account_type: z.ZodEnum<typeof AccountType>;
42
+ billing: z.ZodObject<{
43
+ method: z.ZodEnum<typeof BillingMethod>;
44
+ stripe_customer_id: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>;
46
+ quota_tier: z.ZodOptional<z.ZodEnum<typeof QuotaTier>>;
47
+ feature_flags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
48
+ created_by: z.ZodString;
49
+ updated_by: z.ZodString;
50
+ created_at: z.ZodString;
51
+ updated_at: z.ZodString;
52
+ }, z.core.$strip>;
53
+ /**
54
+ * No `quota_tier`. The previously published payload declared it, but `PUT /account` never applied
55
+ * it — the field is written only through the admin quota API. Documenting a field the handler
56
+ * ignores is the drift this work exists to remove, and once request validation enforces the
57
+ * schema, a client sending it gets an honest 400 instead of silence. It also closes the door on a
58
+ * future "fix" that would let an account admin raise their own rate-limit tier through the public
59
+ * API.
60
+ */
61
+ export declare const UpdateAccountPayloadSchema: z.ZodObject<{
62
+ name: z.ZodOptional<z.ZodString>;
63
+ app_access_message: z.ZodOptional<z.ZodString>;
64
+ email_domains: z.ZodOptional<z.ZodArray<z.ZodString>>;
65
+ billing: z.ZodOptional<z.ZodObject<{
66
+ method: z.ZodEnum<typeof BillingMethod>;
67
+ stripe_customer_id: z.ZodOptional<z.ZodString>;
68
+ }, z.core.$strip>>;
69
+ }, z.core.$strip>;
70
+ /**
71
+ * Stripe billing status, modelled as a real discriminated union.
72
+ *
73
+ * The hand-written `StripeBillingStatusResponse` in `meters.ts` flattens this into one object
74
+ * with `portal_url?` and `reason?` both optional, so a generated Java/Go client gets two
75
+ * unrelated optionals and no way to know which is populated. The server only ever sets
76
+ * `portal_url` when enabled and `reason` when disabled.
77
+ */
78
+ export declare const StripeBillingEnabledSchema: z.ZodObject<{
79
+ status: z.ZodLiteral<"enabled">;
80
+ billing_method: z.ZodLiteral<BillingMethod.stripe>;
81
+ portal_url: z.ZodString;
82
+ }, z.core.$strip>;
83
+ export declare const StripeBillingDisabledSchema: z.ZodObject<{
84
+ status: z.ZodLiteral<"disabled">;
85
+ billing_method: z.ZodNullable<z.ZodEnum<typeof BillingMethod>>;
86
+ reason: z.ZodString;
87
+ }, z.core.$strip>;
88
+ export declare const StripeBillingStatusResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
89
+ status: z.ZodLiteral<"enabled">;
90
+ billing_method: z.ZodLiteral<BillingMethod.stripe>;
91
+ portal_url: z.ZodString;
92
+ }, z.core.$strip>, z.ZodObject<{
93
+ status: z.ZodLiteral<"disabled">;
94
+ billing_method: z.ZodNullable<z.ZodEnum<typeof BillingMethod>>;
95
+ reason: z.ZodString;
96
+ }, z.core.$strip>], "status">;
97
+ export type AccountBillingFromSchema = z.infer<typeof AccountBillingSchema>;
98
+ export type AccountFromSchema = z.infer<typeof AccountSchema>;
99
+ export type UpdateAccountPayloadFromSchema = z.infer<typeof UpdateAccountPayloadSchema>;
100
+ export type StripeBillingStatusResponseFromSchema = z.infer<typeof StripeBillingStatusResponseSchema>;
101
+ //# sourceMappingURL=account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/api-schemas/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAyC,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEpH;;;;;;;;;;;GAWG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,iCAAsD,CAAC;AACvF,eAAO,MAAM,iBAAiB,+BAAkD,CAAC;AACjF,eAAO,MAAM,eAAe,6BAQ1B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;iBAKE,CAAC;AAEpC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;iBAiDE,CAAC;AAE7B;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;iBAOE,CAAC;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;iBAWE,CAAC;AAE1C,eAAO,MAAM,2BAA2B;;;;iBAME,CAAC;AAE3C,eAAO,MAAM,iCAAiC;;;;;;;;6BAEE,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACxF,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC"}