@vertesia/common 1.6.0-dev.20260918.115658Z → 1.6.0-dev.20261004.085740Z

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 (426) hide show
  1. package/lib/access-control-values.d.ts +2 -2
  2. package/lib/access-control-values.d.ts.map +1 -1
  3. package/lib/access-control-values.js +2 -2
  4. package/lib/access-control-values.js.map +1 -1
  5. package/lib/access-control.d.ts +7 -8
  6. package/lib/access-control.d.ts.map +1 -1
  7. package/lib/access-control.js +5 -0
  8. package/lib/access-control.js.map +1 -1
  9. package/lib/analytics.d.ts +6 -7
  10. package/lib/analytics.d.ts.map +1 -1
  11. package/lib/api-contract/components.generated.json +4500 -2720
  12. package/lib/api-schemas/access-control.d.ts +33 -10
  13. package/lib/api-schemas/access-control.d.ts.map +1 -1
  14. package/lib/api-schemas/access-control.js +7 -6
  15. package/lib/api-schemas/access-control.js.map +1 -1
  16. package/lib/api-schemas/account.d.ts +10 -4
  17. package/lib/api-schemas/account.d.ts.map +1 -1
  18. package/lib/api-schemas/account.js +7 -0
  19. package/lib/api-schemas/account.js.map +1 -1
  20. package/lib/api-schemas/agent-budget.d.ts +15 -0
  21. package/lib/api-schemas/agent-budget.d.ts.map +1 -0
  22. package/lib/api-schemas/agent-budget.js +55 -0
  23. package/lib/api-schemas/agent-budget.js.map +1 -0
  24. package/lib/api-schemas/agent-runs.d.ts +2459 -404
  25. package/lib/api-schemas/agent-runs.d.ts.map +1 -1
  26. package/lib/api-schemas/agent-runs.js +60 -28
  27. package/lib/api-schemas/agent-runs.js.map +1 -1
  28. package/lib/api-schemas/apikey.d.ts +11 -10
  29. package/lib/api-schemas/apikey.d.ts.map +1 -1
  30. package/lib/api-schemas/apikey.js.map +1 -1
  31. package/lib/api-schemas/app-lifecycle.d.ts +17 -0
  32. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -1
  33. package/lib/api-schemas/app-lifecycle.js +14 -0
  34. package/lib/api-schemas/app-lifecycle.js.map +1 -1
  35. package/lib/api-schemas/app-runtime.d.ts +3174 -539
  36. package/lib/api-schemas/app-runtime.d.ts.map +1 -1
  37. package/lib/api-schemas/app-runtime.js +14 -0
  38. package/lib/api-schemas/app-runtime.js.map +1 -1
  39. package/lib/api-schemas/audit-trail.d.ts +20 -0
  40. package/lib/api-schemas/audit-trail.d.ts.map +1 -1
  41. package/lib/api-schemas/audit-trail.js +7 -1
  42. package/lib/api-schemas/audit-trail.js.map +1 -1
  43. package/lib/api-schemas/content.d.ts +1130 -180
  44. package/lib/api-schemas/content.d.ts.map +1 -1
  45. package/lib/api-schemas/content.js +47 -0
  46. package/lib/api-schemas/content.js.map +1 -1
  47. package/lib/api-schemas/cost-analytics.d.ts +18 -0
  48. package/lib/api-schemas/cost-analytics.d.ts.map +1 -1
  49. package/lib/api-schemas/cost-analytics.js +31 -2
  50. package/lib/api-schemas/cost-analytics.js.map +1 -1
  51. package/lib/api-schemas/document-processing.d.ts +660 -108
  52. package/lib/api-schemas/document-processing.d.ts.map +1 -1
  53. package/lib/api-schemas/environment.d.ts +2 -7
  54. package/lib/api-schemas/environment.d.ts.map +1 -1
  55. package/lib/api-schemas/environment.js +0 -1
  56. package/lib/api-schemas/environment.js.map +1 -1
  57. package/lib/api-schemas/events.d.ts +1980 -324
  58. package/lib/api-schemas/events.d.ts.map +1 -1
  59. package/lib/api-schemas/group.d.ts +2 -1
  60. package/lib/api-schemas/group.d.ts.map +1 -1
  61. package/lib/api-schemas/group.js.map +1 -1
  62. package/lib/api-schemas/index.d.ts +1 -0
  63. package/lib/api-schemas/index.d.ts.map +1 -1
  64. package/lib/api-schemas/index.js +1 -0
  65. package/lib/api-schemas/index.js.map +1 -1
  66. package/lib/api-schemas/inference-profile.d.ts +5017 -0
  67. package/lib/api-schemas/inference-profile.d.ts.map +1 -0
  68. package/lib/api-schemas/inference-profile.js +135 -0
  69. package/lib/api-schemas/inference-profile.js.map +1 -0
  70. package/lib/api-schemas/integrations.d.ts +6 -6
  71. package/lib/api-schemas/interaction.d.ts +39078 -2420
  72. package/lib/api-schemas/interaction.d.ts.map +1 -1
  73. package/lib/api-schemas/interaction.js +35 -1
  74. package/lib/api-schemas/interaction.js.map +1 -1
  75. package/lib/api-schemas/invites.d.ts +10 -9
  76. package/lib/api-schemas/invites.d.ts.map +1 -1
  77. package/lib/api-schemas/invites.js.map +1 -1
  78. package/lib/api-schemas/oauth-server.d.ts +27 -0
  79. package/lib/api-schemas/oauth-server.d.ts.map +1 -1
  80. package/lib/api-schemas/oauth-server.js +32 -0
  81. package/lib/api-schemas/oauth-server.js.map +1 -1
  82. package/lib/api-schemas/process.d.ts +839 -94
  83. package/lib/api-schemas/process.d.ts.map +1 -1
  84. package/lib/api-schemas/process.js +66 -0
  85. package/lib/api-schemas/process.js.map +1 -1
  86. package/lib/api-schemas/project-configuration.d.ts +2262 -364
  87. package/lib/api-schemas/project-configuration.d.ts.map +1 -1
  88. package/lib/api-schemas/project-configuration.js +21 -1
  89. package/lib/api-schemas/project-configuration.js.map +1 -1
  90. package/lib/api-schemas/project.d.ts +3450 -569
  91. package/lib/api-schemas/project.d.ts.map +1 -1
  92. package/lib/api-schemas/project.js +9 -1
  93. package/lib/api-schemas/project.js.map +1 -1
  94. package/lib/api-schemas/prompt.d.ts +1 -0
  95. package/lib/api-schemas/prompt.d.ts.map +1 -1
  96. package/lib/api-schemas/prompt.js +1 -0
  97. package/lib/api-schemas/prompt.js.map +1 -1
  98. package/lib/api-schemas/quota.d.ts +7 -6
  99. package/lib/api-schemas/quota.d.ts.map +1 -1
  100. package/lib/api-schemas/quota.js.map +1 -1
  101. package/lib/api-schemas/registry.d.ts +32375 -58756
  102. package/lib/api-schemas/registry.d.ts.map +1 -1
  103. package/lib/api-schemas/registry.js +97 -38
  104. package/lib/api-schemas/registry.js.map +1 -1
  105. package/lib/api-schemas/run-budget.d.ts +52 -0
  106. package/lib/api-schemas/run-budget.d.ts.map +1 -0
  107. package/lib/api-schemas/run-budget.js +55 -0
  108. package/lib/api-schemas/run-budget.js.map +1 -0
  109. package/lib/api-schemas/store.d.ts +11000 -1800
  110. package/lib/api-schemas/store.d.ts.map +1 -1
  111. package/lib/api-schemas/store.js +11 -0
  112. package/lib/api-schemas/store.js.map +1 -1
  113. package/lib/api-schemas/sts.d.ts +10 -0
  114. package/lib/api-schemas/sts.d.ts.map +1 -1
  115. package/lib/api-schemas/sts.js +14 -0
  116. package/lib/api-schemas/sts.js.map +1 -1
  117. package/lib/api-schemas/user.d.ts +36 -19
  118. package/lib/api-schemas/user.d.ts.map +1 -1
  119. package/lib/api-schemas/user.js +23 -17
  120. package/lib/api-schemas/user.js.map +1 -1
  121. package/lib/api-schemas/view-execution.d.ts +8 -0
  122. package/lib/api-schemas/view-execution.d.ts.map +1 -1
  123. package/lib/api-schemas/views.d.ts +14 -0
  124. package/lib/api-schemas/views.d.ts.map +1 -1
  125. package/lib/api-schemas/workflow-runs.d.ts +521 -72
  126. package/lib/api-schemas/workflow-runs.d.ts.map +1 -1
  127. package/lib/api-schemas/workflow-runs.js +2 -0
  128. package/lib/api-schemas/workflow-runs.js.map +1 -1
  129. package/lib/apikey.d.ts +30 -25
  130. package/lib/apikey.d.ts.map +1 -1
  131. package/lib/apikey.js.map +1 -1
  132. package/lib/apps.d.ts +116 -120
  133. package/lib/apps.d.ts.map +1 -1
  134. package/lib/apps.js.map +1 -1
  135. package/lib/audit-trail.d.ts +17 -18
  136. package/lib/audit-trail.d.ts.map +1 -1
  137. package/lib/audit-trail.js +2 -0
  138. package/lib/audit-trail.js.map +1 -1
  139. package/lib/browser-credentials.d.ts +11 -12
  140. package/lib/browser-credentials.d.ts.map +1 -1
  141. package/lib/common.d.ts +17 -24
  142. package/lib/common.d.ts.map +1 -1
  143. package/lib/content-query.d.ts +3 -4
  144. package/lib/content-query.d.ts.map +1 -1
  145. package/lib/cost-analytics.d.ts +13 -21
  146. package/lib/cost-analytics.d.ts.map +1 -1
  147. package/lib/cost-analytics.js +0 -7
  148. package/lib/cost-analytics.js.map +1 -1
  149. package/lib/data-platform.d.ts +79 -88
  150. package/lib/data-platform.d.ts.map +1 -1
  151. package/lib/data-platform.js.map +1 -1
  152. package/lib/delegation.d.ts +4 -5
  153. package/lib/delegation.d.ts.map +1 -1
  154. package/lib/email.d.ts +15 -17
  155. package/lib/email.d.ts.map +1 -1
  156. package/lib/email.js.map +1 -1
  157. package/lib/embeddings.d.ts +25 -26
  158. package/lib/embeddings.d.ts.map +1 -1
  159. package/lib/environment.d.ts +16 -17
  160. package/lib/environment.d.ts.map +1 -1
  161. package/lib/environment.js.map +1 -1
  162. package/lib/facets.d.ts +3 -4
  163. package/lib/facets.d.ts.map +1 -1
  164. package/lib/group.d.ts +6 -7
  165. package/lib/group.d.ts.map +1 -1
  166. package/lib/group.js.map +1 -1
  167. package/lib/index.d.ts +4 -2
  168. package/lib/index.d.ts.map +1 -1
  169. package/lib/index.js.map +1 -1
  170. package/lib/inference-profile.d.ts +17 -0
  171. package/lib/inference-profile.d.ts.map +1 -0
  172. package/lib/inference-profile.js +2 -0
  173. package/lib/inference-profile.js.map +1 -0
  174. package/lib/integrations.d.ts +19 -20
  175. package/lib/integrations.d.ts.map +1 -1
  176. package/lib/integrations.js.map +1 -1
  177. package/lib/interaction.d.ts +68 -73
  178. package/lib/interaction.d.ts.map +1 -1
  179. package/lib/interaction.js.map +1 -1
  180. package/lib/meters.d.ts +4 -5
  181. package/lib/meters.d.ts.map +1 -1
  182. package/lib/oauth-server.d.ts +40 -37
  183. package/lib/oauth-server.d.ts.map +1 -1
  184. package/lib/oauth.d.ts +9 -10
  185. package/lib/oauth.d.ts.map +1 -1
  186. package/lib/payload.d.ts +11 -14
  187. package/lib/payload.d.ts.map +1 -1
  188. package/lib/pending-asks.d.ts +8 -13
  189. package/lib/pending-asks.d.ts.map +1 -1
  190. package/lib/pending-asks.js +0 -4
  191. package/lib/pending-asks.js.map +1 -1
  192. package/lib/platform-event.d.ts +48 -51
  193. package/lib/platform-event.d.ts.map +1 -1
  194. package/lib/platform-event.js.map +1 -1
  195. package/lib/principal-context.d.ts +23 -14
  196. package/lib/principal-context.d.ts.map +1 -1
  197. package/lib/project.d.ts +42 -43
  198. package/lib/project.d.ts.map +1 -1
  199. package/lib/project.js +10 -0
  200. package/lib/project.js.map +1 -1
  201. package/lib/prompt.d.ts +14 -16
  202. package/lib/prompt.d.ts.map +1 -1
  203. package/lib/prompt.js.map +1 -1
  204. package/lib/query.d.ts +10 -13
  205. package/lib/query.d.ts.map +1 -1
  206. package/lib/rate-limiter.d.ts +7 -11
  207. package/lib/rate-limiter.d.ts.map +1 -1
  208. package/lib/refs.d.ts +2 -3
  209. package/lib/refs.d.ts.map +1 -1
  210. package/lib/refs.js.map +1 -1
  211. package/lib/roles/types.d.ts +5 -6
  212. package/lib/roles/types.d.ts.map +1 -1
  213. package/lib/roles/types.js.map +1 -1
  214. package/lib/run-budget.d.ts +8 -0
  215. package/lib/run-budget.d.ts.map +1 -0
  216. package/lib/run-budget.js +2 -0
  217. package/lib/run-budget.js.map +1 -0
  218. package/lib/runs.d.ts +9 -10
  219. package/lib/runs.d.ts.map +1 -1
  220. package/lib/secrets.d.ts +20 -21
  221. package/lib/secrets.d.ts.map +1 -1
  222. package/lib/store/agent-approval.d.ts +4 -5
  223. package/lib/store/agent-approval.d.ts.map +1 -1
  224. package/lib/store/agent-approval.js.map +1 -1
  225. package/lib/store/agent-run.d.ts +50 -52
  226. package/lib/store/agent-run.d.ts.map +1 -1
  227. package/lib/store/agent-run.js.map +1 -1
  228. package/lib/store/collections.d.ts +11 -12
  229. package/lib/store/collections.d.ts.map +1 -1
  230. package/lib/store/collections.js.map +1 -1
  231. package/lib/store/conversation-state.d.ts +14 -8
  232. package/lib/store/conversation-state.d.ts.map +1 -1
  233. package/lib/store/doc-analyzer.d.ts +7 -8
  234. package/lib/store/doc-analyzer.d.ts.map +1 -1
  235. package/lib/store/dsl-workflow.d.ts +10 -12
  236. package/lib/store/dsl-workflow.d.ts.map +1 -1
  237. package/lib/store/dsl-workflow.js.map +1 -1
  238. package/lib/store/duration.d.ts +12 -0
  239. package/lib/store/duration.d.ts.map +1 -0
  240. package/lib/store/duration.js +2 -0
  241. package/lib/store/duration.js.map +1 -0
  242. package/lib/store/grounded-extraction.d.ts +6 -7
  243. package/lib/store/grounded-extraction.d.ts.map +1 -1
  244. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -1
  245. package/lib/store/intake-policy-schema.generated.js +309 -34
  246. package/lib/store/intake-policy-schema.generated.js.map +1 -1
  247. package/lib/store/process.d.ts +70 -69
  248. package/lib/store/process.d.ts.map +1 -1
  249. package/lib/store/process.js.map +1 -1
  250. package/lib/store/rendering.d.ts +6 -12
  251. package/lib/store/rendering.d.ts.map +1 -1
  252. package/lib/store/rendering.js +0 -5
  253. package/lib/store/rendering.js.map +1 -1
  254. package/lib/store/signals.d.ts +43 -0
  255. package/lib/store/signals.d.ts.map +1 -1
  256. package/lib/store/signals.js +6 -1
  257. package/lib/store/signals.js.map +1 -1
  258. package/lib/store/store.d.ts +92 -91
  259. package/lib/store/store.d.ts.map +1 -1
  260. package/lib/store/store.js.map +1 -1
  261. package/lib/store/task.d.ts +10 -14
  262. package/lib/store/task.d.ts.map +1 -1
  263. package/lib/store/workflow.d.ts +35 -41
  264. package/lib/store/workflow.d.ts.map +1 -1
  265. package/lib/store/workflow.js.map +1 -1
  266. package/lib/sts-token-types.d.ts +14 -17
  267. package/lib/sts-token-types.d.ts.map +1 -1
  268. package/lib/tools.d.ts +12 -13
  269. package/lib/tools.d.ts.map +1 -1
  270. package/lib/transient-tokens.d.ts +3 -3
  271. package/lib/transient-tokens.d.ts.map +1 -1
  272. package/lib/user.d.ts +17 -19
  273. package/lib/user.d.ts.map +1 -1
  274. package/lib/user.js.map +1 -1
  275. package/lib/vertesia-common.js +2 -2
  276. package/lib/vertesia-common.js.map +1 -1
  277. package/lib/views.d.ts +61 -64
  278. package/lib/views.d.ts.map +1 -1
  279. package/lib/views.js.map +1 -1
  280. package/lib/wire-types.generated.d.ts +11231 -0
  281. package/lib/wire-types.generated.d.ts.map +1 -0
  282. package/lib/wire-types.generated.js +4 -0
  283. package/lib/wire-types.generated.js.map +1 -0
  284. package/lib/workflow-analytics.d.ts +21 -19
  285. package/lib/workflow-analytics.d.ts.map +1 -1
  286. package/lib/workflow-analytics.js +2 -2
  287. package/lib/workflow-analytics.js.map +1 -1
  288. package/package.json +17 -12
  289. package/src/access-control-values.ts +2 -2
  290. package/src/access-control.ts +7 -15
  291. package/src/analytics.ts +6 -13
  292. package/src/api-contract/components.generated.json +4500 -2720
  293. package/src/api-schemas/access-control.ts +18 -16
  294. package/src/api-schemas/account.ts +13 -4
  295. package/src/api-schemas/agent-budget.ts +60 -0
  296. package/src/api-schemas/agent-runs.ts +63 -27
  297. package/src/api-schemas/apikey.ts +11 -10
  298. package/src/api-schemas/app-lifecycle.ts +16 -0
  299. package/src/api-schemas/app-runtime.ts +15 -0
  300. package/src/api-schemas/audit-trail.ts +7 -1
  301. package/src/api-schemas/content.ts +55 -0
  302. package/src/api-schemas/cost-analytics.ts +34 -2
  303. package/src/api-schemas/environment.ts +0 -1
  304. package/src/api-schemas/group.ts +2 -1
  305. package/src/api-schemas/index.ts +1 -0
  306. package/src/api-schemas/inference-profile.ts +151 -0
  307. package/src/api-schemas/interaction.ts +41 -1
  308. package/src/api-schemas/invites.ts +10 -9
  309. package/src/api-schemas/oauth-server.ts +36 -0
  310. package/src/api-schemas/process.ts +78 -2
  311. package/src/api-schemas/project-configuration.ts +25 -1
  312. package/src/api-schemas/project.ts +19 -10
  313. package/src/api-schemas/prompt.ts +1 -0
  314. package/src/api-schemas/quota.ts +7 -6
  315. package/src/api-schemas/registry.ts +210 -44
  316. package/src/api-schemas/run-budget.ts +60 -0
  317. package/src/api-schemas/store.ts +12 -0
  318. package/src/api-schemas/sts.ts +16 -0
  319. package/src/api-schemas/user.ts +32 -25
  320. package/src/api-schemas/workflow-runs.ts +2 -0
  321. package/src/apikey.ts +30 -39
  322. package/src/apps.ts +117 -237
  323. package/src/audit-trail.ts +18 -33
  324. package/src/browser-credentials.ts +11 -23
  325. package/src/common.ts +17 -37
  326. package/src/content-query.ts +3 -4
  327. package/src/cost-analytics.ts +13 -35
  328. package/src/data-platform.ts +79 -168
  329. package/src/delegation.ts +4 -9
  330. package/src/email.ts +15 -29
  331. package/src/embeddings.ts +25 -51
  332. package/src/environment.ts +16 -33
  333. package/src/facets.ts +3 -4
  334. package/src/group.ts +6 -13
  335. package/src/index.ts +36 -2
  336. package/src/inference-profile.ts +20 -0
  337. package/src/integrations.ts +21 -41
  338. package/src/interaction.ts +68 -137
  339. package/src/meters.ts +4 -9
  340. package/src/oauth-server.ts +43 -73
  341. package/src/oauth.ts +9 -19
  342. package/src/payload.ts +11 -25
  343. package/src/pending-asks.ts +8 -22
  344. package/src/platform-event.ts +48 -97
  345. package/src/principal-context.ts +24 -14
  346. package/src/project.ts +53 -86
  347. package/src/prompt.ts +14 -31
  348. package/src/query.ts +10 -20
  349. package/src/rate-limiter.ts +7 -19
  350. package/src/refs.ts +2 -3
  351. package/src/roles/types.ts +5 -11
  352. package/src/run-budget.ts +8 -0
  353. package/src/runs.ts +9 -19
  354. package/src/secrets.ts +20 -41
  355. package/src/store/agent-approval.ts +4 -9
  356. package/src/store/agent-run.ts +53 -99
  357. package/src/store/collections.ts +11 -23
  358. package/src/store/conversation-state.ts +15 -15
  359. package/src/store/doc-analyzer.ts +7 -15
  360. package/src/store/dsl-workflow.ts +10 -23
  361. package/src/store/duration.ts +45 -0
  362. package/src/store/grounded-extraction.ts +6 -13
  363. package/src/store/intake-policy-schema.generated.ts +314 -34
  364. package/src/store/process.ts +70 -140
  365. package/src/store/rendering.ts +6 -19
  366. package/src/store/signals.ts +48 -0
  367. package/src/store/store.ts +92 -181
  368. package/src/store/task.ts +10 -24
  369. package/src/store/workflow.ts +35 -71
  370. package/src/sts-token-types.ts +15 -29
  371. package/src/tools.ts +12 -25
  372. package/src/transient-tokens.ts +3 -3
  373. package/src/user.ts +18 -33
  374. package/src/views.ts +61 -125
  375. package/src/wire-types.generated.ts +11889 -0
  376. package/src/workflow-analytics.ts +21 -19
  377. package/src/agent-resources.test.ts +0 -89
  378. package/src/api-contract/components.contract.test.ts +0 -99
  379. package/src/api-schemas/access-control.contract.test.ts +0 -209
  380. package/src/api-schemas/account-apikey.test.ts +0 -60
  381. package/src/api-schemas/account.contract.test.ts +0 -319
  382. package/src/api-schemas/adapter-edge-cases.test.ts +0 -499
  383. package/src/api-schemas/agent-communication.contract.test.ts +0 -90
  384. package/src/api-schemas/agent-history.contract.test.ts +0 -42
  385. package/src/api-schemas/agent-runs.contract.test.ts +0 -240
  386. package/src/api-schemas/api-discriminators.test.ts +0 -185
  387. package/src/api-schemas/apikey.contract.test.ts +0 -270
  388. package/src/api-schemas/app-delete-summary.contract.test.ts +0 -67
  389. package/src/api-schemas/bulk-operation.contract.test.ts +0 -39
  390. package/src/api-schemas/bundle-isolation.test.ts +0 -44
  391. package/src/api-schemas/commands.contract.test.ts +0 -51
  392. package/src/api-schemas/cost-analytics.contract.test.ts +0 -64
  393. package/src/api-schemas/dashboard.contract.test.ts +0 -138
  394. package/src/api-schemas/data-store.contract.test.ts +0 -97
  395. package/src/api-schemas/document-processing.contract.test.ts +0 -76
  396. package/src/api-schemas/emit-json-schema.test.ts +0 -36
  397. package/src/api-schemas/environment.contract.test.ts +0 -202
  398. package/src/api-schemas/group.contract.test.ts +0 -205
  399. package/src/api-schemas/indexing.contract.test.ts +0 -122
  400. package/src/api-schemas/interaction.contract.test.ts +0 -307
  401. package/src/api-schemas/invites.contract.test.ts +0 -268
  402. package/src/api-schemas/llumiverse.contract.test.ts +0 -149
  403. package/src/api-schemas/mcp-api-key.contract.test.ts +0 -125
  404. package/src/api-schemas/oauth.contract.test.ts +0 -181
  405. package/src/api-schemas/parameters.test.ts +0 -402
  406. package/src/api-schemas/process.contract.test.ts +0 -115
  407. package/src/api-schemas/project.contract.test.ts +0 -457
  408. package/src/api-schemas/pruning-limits.test.ts +0 -189
  409. package/src/api-schemas/quota.contract.test.ts +0 -147
  410. package/src/api-schemas/registry-groups.test.ts +0 -91
  411. package/src/api-schemas/response-pruning.test.ts +0 -260
  412. package/src/api-schemas/store.contract.test.ts +0 -378
  413. package/src/api-schemas/sts.contract.test.ts +0 -112
  414. package/src/api-schemas/user.contract.test.ts +0 -191
  415. package/src/api-schemas/views.contract.test.ts +0 -119
  416. package/src/api-schemas/zeno-response-contracts.test.ts +0 -380
  417. package/src/apps.test.ts +0 -89
  418. package/src/oauth-scopes.test.ts +0 -15
  419. package/src/roles.test.ts +0 -33
  420. package/src/schema-for-extraction.test.ts +0 -191
  421. package/src/store/agent-approval.test.ts +0 -18
  422. package/src/store/content-type-editing.test.ts +0 -17
  423. package/src/store/ms.d.ts +0 -42
  424. package/src/store/schedule.test.ts +0 -59
  425. package/src/store/workflow.test.ts +0 -640
  426. package/src/versions.test.ts +0 -13
@@ -1,112 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import type { z } from 'zod';
3
- import type {
4
- AgentTokenRequest,
5
- ApiKeyTokenRequest,
6
- EnvironmentTokenRequest,
7
- IssueTokenForbiddenResponse,
8
- IssueTokenRequest,
9
- IssueTokenResponse,
10
- ProjectTokenRequest,
11
- ServiceAccountTokenRequest,
12
- SigningAlgorithm,
13
- UserTokenRequest,
14
- } from '../sts-token-types.js';
15
- import { validateApiRequest, validateApiResponse } from './registry.js';
16
- import type {
17
- AgentTokenRequestSchema,
18
- ApiKeyTokenRequestSchema,
19
- EnvironmentTokenRequestSchema,
20
- IssueTokenForbiddenResponseSchema,
21
- IssueTokenRequestSchema,
22
- IssueTokenResponseSchema,
23
- ProjectTokenRequestSchema,
24
- ServiceAccountTokenRequestSchema,
25
- SigningAlgorithmSchema,
26
- UserTokenRequestSchema,
27
- } from './sts.js';
28
-
29
- type Equals<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
30
- function assertType<T extends true>(_value: T): void {}
31
-
32
- describe('STS canonical contracts', () => {
33
- it('derives every public component type from its schema', () => {
34
- assertType<Equals<SigningAlgorithm, z.infer<typeof SigningAlgorithmSchema>>>(true);
35
- assertType<Equals<ApiKeyTokenRequest, z.infer<typeof ApiKeyTokenRequestSchema>>>(true);
36
- assertType<Equals<UserTokenRequest, z.infer<typeof UserTokenRequestSchema>>>(true);
37
- assertType<Equals<ProjectTokenRequest, z.infer<typeof ProjectTokenRequestSchema>>>(true);
38
- assertType<Equals<EnvironmentTokenRequest, z.infer<typeof EnvironmentTokenRequestSchema>>>(true);
39
- assertType<Equals<AgentTokenRequest, z.infer<typeof AgentTokenRequestSchema>>>(true);
40
- assertType<Equals<ServiceAccountTokenRequest, z.infer<typeof ServiceAccountTokenRequestSchema>>>(true);
41
- assertType<Equals<IssueTokenRequest, z.infer<typeof IssueTokenRequestSchema>>>(true);
42
- assertType<Equals<IssueTokenResponse, z.infer<typeof IssueTokenResponseSchema>>>(true);
43
- assertType<Equals<IssueTokenForbiddenResponse, z.infer<typeof IssueTokenForbiddenResponseSchema>>>(true);
44
- expect(true).toBe(true);
45
- });
46
-
47
- it('enforces the discriminated request branch and closed object policy', () => {
48
- expect(
49
- validateApiRequest('IssueTokenRequest', {
50
- type: 'project',
51
- account_id: 'acc_1',
52
- project_id: 'proj_1',
53
- }).valid,
54
- ).toBe(true);
55
- expect(
56
- validateApiRequest('IssueTokenRequest', {
57
- type: 'project',
58
- account_id: 'acc_1',
59
- project_id: 'proj_1',
60
- key: 'not-valid-on-this-branch',
61
- }).valid,
62
- ).toBe(false);
63
- expect(validateApiRequest('IssueTokenRequest', { type: 'project', account_id: 'acc_1' }).valid).toBe(false);
64
- });
65
-
66
- it('checks every documented response shape and forbidden error-code literal', () => {
67
- expect(validateApiResponse('IssueTokenResponse', { token: 'signed', token_type: 'Bearer' }).valid).toBe(true);
68
- expect(validateApiResponse('IssueTokenResponse', { token: 'signed', token_type: 'bearer' }).valid).toBe(false);
69
- for (const errorCode of [
70
- 'requested_scope_unavailable',
71
- 'no_accessible_account',
72
- 'restricted_environment',
73
- 'token_issuance_forbidden',
74
- ]) {
75
- expect(
76
- validateApiResponse('IssueTokenForbiddenResponse', {
77
- error: 'Forbidden',
78
- message: 'The requested scope is unavailable',
79
- errorCode,
80
- }).valid,
81
- ).toBe(true);
82
- }
83
- expect(
84
- validateApiResponse('IssueTokenForbiddenResponse', {
85
- error: 'Forbidden',
86
- message: 'No',
87
- errorCode: 'resource_not_found',
88
- }).valid,
89
- ).toBe(false);
90
- expect(
91
- validateApiResponse('IssueTokenForbiddenResponse', {
92
- error: 'Forbidden',
93
- message: 'No',
94
- errorCode: 'requested_scope_unavailable',
95
- project_id: 'secret',
96
- }).valid,
97
- ).toBe(false);
98
- expect(
99
- validateApiResponse('IssueTokenUnavailableResponse', {
100
- error: 'Service Unavailable',
101
- message: 'Token signing temporarily unavailable',
102
- }).valid,
103
- ).toBe(true);
104
- expect(
105
- validateApiResponse('IssueTokenUnavailableResponse', {
106
- error: 'Service Unavailable',
107
- message: 'Token signing temporarily unavailable',
108
- retry_after: 5,
109
- }).valid,
110
- ).toBe(false);
111
- });
112
- });
@@ -1,191 +0,0 @@
1
- import { Ajv2020 } from 'ajv/dist/2020.js';
2
- import { describe, expect, it } from 'vitest';
3
- import type { PrincipalContext, PrincipalIdentity } from '../principal-context.js';
4
- import type { UpdateUserPayload, User } from '../user.js';
5
- import type { JsonObject } from './adapter.js';
6
- import { ApiSchemaComponents, apiComponentRef, validateApiRequest, validateApiResponse } from './registry.js';
7
- import type { PrincipalContextFromSchema, UserArrayFromSchema } from './user.js';
8
-
9
- /** Exact type identity — `extends` in both directions is too weak (any/unknown slip through). */
10
- type Equals<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
11
- function assertType<T extends true>(_ok: T): void {}
12
-
13
- function compile(name: string, components: Readonly<Record<string, JsonObject>> = ApiSchemaComponents) {
14
- const ajv = new Ajv2020({ strictSchema: false, allErrors: true });
15
- ajv.addSchema({ $id: 'vertesia://openapi', components: { schemas: components } });
16
- return ajv.compile({ $ref: `vertesia://openapi${apiComponentRef(name as never)}` });
17
- }
18
-
19
- const VALID_USER = {
20
- id: 'u1',
21
- email: 'someone@acme.com',
22
- name: 'Someone',
23
- created_at: '2026-07-30T10:00:00.000Z',
24
- updated_at: '2026-07-30T10:00:00.000Z',
25
- };
26
-
27
- describe('gate 1 — the schema is the single source of truth for the public IAM types', () => {
28
- it('publishes the exact schema-derived type, not a hand-written twin', () => {
29
- assertType<Equals<UserArrayFromSchema, User[]>>(true);
30
- assertType<Equals<PrincipalContext, PrincipalContextFromSchema>>(true);
31
- expect(true).toBe(true);
32
- });
33
-
34
- it('derives the inherited principal fields rather than restating them', () => {
35
- // PrincipalIdentity used to `extends PrincipalContext`, so composing the schemas is what
36
- // keeps the five inherited fields from becoming a twin one level down — the failure mode
37
- // this batch was scoped to avoid.
38
- assertType<Equals<PrincipalIdentity['clearance'], PrincipalContext['clearance']>>(true);
39
- assertType<Equals<PrincipalIdentity['compartments'], PrincipalContext['compartments']>>(true);
40
- assertType<Equals<PrincipalIdentity['email'], PrincipalContext['email']>>(true);
41
- assertType<Equals<PrincipalIdentity['tags'], PrincipalContext['tags']>>(true);
42
- assertType<Equals<PrincipalIdentity['properties'], PrincipalContext['properties']>>(true);
43
- assertType<Equals<PrincipalIdentity['id'], string>>(true);
44
- expect(true).toBe(true);
45
- });
46
-
47
- it('derives the update payload from the user rather than restating nine fields', () => {
48
- // A `.pick()` of UserSchema plus `.partial()`: the field types and constraints come from the
49
- // response declaration, and the ONLY thing the payload changes about them is requiredness.
50
- assertType<Equals<UpdateUserPayload['name'], string | undefined>>(true);
51
- assertType<Equals<UpdateUserPayload['clearance'], User['clearance']>>(true);
52
- assertType<Equals<UpdateUserPayload['compartments'], User['compartments']>>(true);
53
- assertType<Equals<UpdateUserPayload['properties'], User['properties']>>(true);
54
- // What is NOT picked is the whitelist. `email`, `source`, `annotations` and the timestamps
55
- // are server- or IdP-owned, and adding one now means naming it in the pick.
56
- assertType<
57
- Equals<
58
- keyof UpdateUserPayload,
59
- | 'name'
60
- | 'username'
61
- | 'picture'
62
- | 'language'
63
- | 'phone'
64
- | 'last_selected_account'
65
- | 'properties'
66
- | 'clearance'
67
- | 'compartments'
68
- >
69
- >(true);
70
- expect(true).toBe(true);
71
- });
72
-
73
- it('keeps the wire type optionality the document declares', () => {
74
- assertType<Equals<User['email'], string>>(true);
75
- assertType<Equals<User['created_at'], string>>(true);
76
- assertType<Equals<User['source'], 'firebase' | 'scim' | undefined>>(true);
77
- assertType<Equals<User['clearance'], number | undefined>>(true);
78
- expect(true).toBe(true);
79
- });
80
- });
81
-
82
- describe('gate 2 — the published components match the closure the types come from', () => {
83
- it('does not hoist PrincipalContext into a component of its own', () => {
84
- // It is a public TYPE but has never been a published component. Hoisting it would add a
85
- // $ref to PrincipalIdentity that every generated client would have to follow.
86
- expect(Object.keys(ApiSchemaComponents)).not.toContain('PrincipalContext');
87
- const props = ApiSchemaComponents.PrincipalIdentity.properties as Record<string, JsonObject>;
88
- expect(props.clearance).toEqual({ type: 'number' });
89
- expect(props.id).toEqual({ type: 'string' });
90
- });
91
-
92
- it('publishes the composed property order, id last', () => {
93
- // `.extend()` appends, which is what `interface … extends …` produced and what the document
94
- // already carries.
95
- const props = ApiSchemaComponents.PrincipalIdentity.properties as JsonObject;
96
- expect(Object.keys(props)).toEqual(['clearance', 'compartments', 'email', 'tags', 'properties', 'id']);
97
- });
98
-
99
- it('declares the timestamps the endpoint has always shipped', () => {
100
- // The published component was closed and did not declare these, while the handler
101
- // serialized the whole Mongo document — so every response violated its own schema.
102
- const props = ApiSchemaComponents.User.properties as Record<string, JsonObject>;
103
- expect(props.created_at.type).toBe('string');
104
- expect(props.updated_at.type).toBe('string');
105
- expect(ApiSchemaComponents.User.required).toContain('created_at');
106
- expect(ApiSchemaComponents.User.additionalProperties).toBe(false);
107
- });
108
- });
109
-
110
- describe('gate 3 — AJV validates the same canonical objects that are published', () => {
111
- it('accepts a minimal user and rejects a missing required field', () => {
112
- const validate = compile('User');
113
- expect(validate(VALID_USER)).toBe(true);
114
- const { created_at: _dropped, ...incomplete } = VALID_USER;
115
- expect(validate(incomplete)).toBe(false);
116
- });
117
-
118
- it('rejects a source outside the published enum', () => {
119
- expect(compile('User')({ ...VALID_USER, source: 'ldap' })).toBe(false);
120
- expect(compile('User')({ ...VALID_USER, source: 'scim' })).toBe(true);
121
- });
122
-
123
- it('rejects an undeclared property on the closed user component', () => {
124
- // Specifically the internal fields a spread of the Mongo document would have leaked.
125
- expect(compile('User')({ ...VALID_USER, _id: 'deadbeef' })).toBe(false);
126
- });
127
-
128
- it('accepts an empty update payload but rejects an undeclared field', () => {
129
- const validate = compile('UpdateUserPayload');
130
- expect(validate({})).toBe(true);
131
- expect(validate({ name: 'New name' })).toBe(true);
132
- // `email` is deliberately not updatable through this endpoint and never has been.
133
- expect(validate({ email: 'new@acme.com' })).toBe(false);
134
- });
135
- });
136
-
137
- describe('gate 4 — runtime enforcement uses the published components', () => {
138
- it('rejects an undeclared update field without removing it', () => {
139
- // The handler used to whitelist fields and silently ignore the rest; the published schema
140
- // has always said additionalProperties: false. Enforcement makes the two agree.
141
- const payload: Record<string, unknown> = { name: 'Acme', rogue_field: 42 };
142
- const result = validateApiRequest('UpdateUserPayload', payload);
143
- expect(result.valid).toBe(false);
144
- expect(payload.rogue_field).toBe(42);
145
- });
146
-
147
- it('accepts a conforming update payload and hands back the component type', () => {
148
- const result = validateApiRequest('UpdateUserPayload', { name: 'Acme', clearance: 3 });
149
- expect(result.valid).toBe(true);
150
- if (result.valid) {
151
- assertType<Equals<typeof result.data, UpdateUserPayload>>(true);
152
- expect(result.data.clearance).toBe(3);
153
- }
154
- });
155
-
156
- it('checks the user response against the same component the SDK type comes from', () => {
157
- const result = validateApiResponse('User', VALID_USER);
158
- expect(result.valid).toBe(true);
159
- if (result.valid) {
160
- assertType<Equals<typeof result.data, User>>(true);
161
- }
162
- // A document spread straight onto the wire is what this catches.
163
- expect(validateApiResponse('User', { ...VALID_USER, _id: 'x' }).valid).toBe(false);
164
- });
165
-
166
- it('enforces the date-time format the timestamps claim', () => {
167
- // Through the registry rather than the local `compile` helper: the production validator
168
- // registers ajv-formats, and a bare Ajv2020 ignores `format` entirely — which is precisely
169
- // why the description alone was not enough. A plain string schema accepts 'yesterday'.
170
- expect(validateApiResponse('User', { ...VALID_USER, created_at: 'yesterday' }).valid).toBe(false);
171
- expect(validateApiResponse('User', { ...VALID_USER, created_at: '2026-07-30' }).valid).toBe(false);
172
- expect(validateApiResponse('User', VALID_USER).valid).toBe(true);
173
- });
174
-
175
- it('checks every member of the account listing against the same User component', () => {
176
- // The gap this closes: `UserArray` items $ref `User`, so publishing the array without
177
- // enforcing it would document the contract for each member while checking none of them.
178
- expect(validateApiResponse('UserArray', [VALID_USER, VALID_USER]).valid).toBe(true);
179
- expect(validateApiResponse('UserArray', []).valid).toBe(true);
180
- // A legacy member with no timestamps, which is exactly what the old jsonDocs() could emit.
181
- const { created_at: _dropped, ...legacyMember } = VALID_USER;
182
- expect(validateApiResponse('UserArray', [VALID_USER, legacyMember]).valid).toBe(false);
183
- // And one carrying a null the component cannot publish.
184
- expect(validateApiResponse('UserArray', [{ ...VALID_USER, phone: null }]).valid).toBe(false);
185
- });
186
-
187
- it('validates the shared DeleteByIdResult that seven other endpoints also publish', () => {
188
- expect(validateApiResponse('DeleteByIdResult', { id: 'abc' }).valid).toBe(true);
189
- expect(validateApiResponse('DeleteByIdResult', {}).valid).toBe(false);
190
- });
191
- });
@@ -1,119 +0,0 @@
1
- import { assertType, describe, expect, it } from 'vitest';
2
- import type { z } from 'zod';
3
- import { type ViewExperienceConfiguration, viewExperienceRoute } from '../views.js';
4
- import { ApiSchemaComponents, validateApiRequest, validateApiResponse } from './registry.js';
5
- import type { ViewExperienceConfigurationSchema } from './view-execution.js';
6
-
7
- type Equals<A, B> = (<T>() => T extends A ? 1 : 2) extends <T>() => T extends B ? 1 : 2 ? true : false;
8
-
9
- /**
10
- * Lives here rather than next to the JSON Schema artifact that consumes it. Both subjects are
11
- * declarations of THIS package — the public TypeScript type and the Zod schema it must mirror — and
12
- * asserting it from the consuming package would have made that package depend on Zod, which it must
13
- * not: it is loaded in the browser.
14
- */
15
- describe('ViewExperienceConfiguration', () => {
16
- it('keeps the temporary named TypeScript bridge identical to the runtime schema', () => {
17
- assertType<Equals<ViewExperienceConfiguration, z.infer<typeof ViewExperienceConfigurationSchema>>>(true);
18
- });
19
-
20
- it('publishes selection, app actions, upload drops, generated presentation mode, and reranking', () => {
21
- expect(Object.keys(ApiSchemaComponents)).toEqual(
22
- expect.arrayContaining([
23
- 'AgenticViewRerankConfiguration',
24
- 'ViewActionConfiguration',
25
- 'ViewActionsConfiguration',
26
- 'ViewDropConfiguration',
27
- 'ViewExecutionRerankResult',
28
- 'ViewSelectionConfiguration',
29
- ]),
30
- );
31
-
32
- expect(
33
- validateApiRequest('PreviewViewExperienceRequest', {
34
- configuration: {
35
- name: 'Orders',
36
- search: {
37
- mode: 'agentic',
38
- agentic: {
39
- mode: 'query_and_view',
40
- rerank: { max_candidates: 24, include_why_match: true, timeout_ms: 30_000 },
41
- },
42
- },
43
- results: {
44
- default_display: 'table',
45
- displays: [{ id: 'table', label: 'Orders', type: 'table', columns: [] }],
46
- selection: { mode: 'multiple', select_all: 'page' },
47
- actions: {
48
- include_defaults: true,
49
- items: [{ id: 'approve', label: 'Approve', handler: 'approve-orders' }],
50
- },
51
- drop: { handler: 'upload', accept: ['files'], params: { type_id: 'sales-order' } },
52
- },
53
- },
54
- }).valid,
55
- ).toBe(true);
56
- });
57
-
58
- it('keeps executable custom drop handlers out of the persisted wire contract', () => {
59
- expect(
60
- validateApiRequest('PreviewViewExperienceRequest', {
61
- configuration: {
62
- name: 'Orders',
63
- results: {
64
- default_display: 'table',
65
- displays: [{ id: 'table', label: 'Orders', type: 'table', columns: [] }],
66
- drop: { handler: 'custom-drop' },
67
- },
68
- },
69
- }).valid,
70
- ).toBe(false);
71
- });
72
-
73
- it('accepts View model options that name no driver, while the shared config still requires one', () => {
74
- // The regression: a View's `model_options` are authored in the editor and saved before any
75
- // driver is resolved, so they carry no `_option_id`. Validating them against the
76
- // `ModelOptions` driver union — every branch of which requires that discriminator — meant a
77
- // stored View could not satisfy its own response schema, and `GET /views` logged a contract
78
- // violation on every call.
79
- const authored = { model_options: { temperature: 0.2, max_tokens: 1024 } };
80
- expect(validateApiResponse('ViewAgenticExecutionConfiguration', authored).valid).toBe(true);
81
-
82
- // The split is the point: agent runs, events and workflow runs record options a driver
83
- // already resolved, so the shared component keeps the union. Asserted on the published
84
- // schema because `InteractionExecutionConfiguration` is not itself a response slot — if it
85
- // ever stops pointing at `ModelOptions`, the relaxation leaked out of Views.
86
- const modelOptions = (name: string) =>
87
- (ApiSchemaComponents[name] as { properties: Record<string, unknown> }).properties.model_options;
88
- expect(modelOptions('InteractionExecutionConfiguration')).toEqual({
89
- $ref: '#/components/schemas/ModelOptions',
90
- });
91
- expect(modelOptions('ViewAgenticExecutionConfiguration')).toMatchObject({
92
- type: 'object',
93
- additionalProperties: true,
94
- });
95
- });
96
-
97
- it('keeps the View config otherwise identical to the shared execution configuration', () => {
98
- // Only `model_options` may differ. Anything else diverging means the two drifted apart
99
- // rather than the union being deliberately relaxed for authored options.
100
- const properties = (name: string) =>
101
- (ApiSchemaComponents[name] as { properties: Record<string, unknown> }).properties;
102
- const view = properties('ViewAgenticExecutionConfiguration');
103
- const shared = properties('InteractionExecutionConfiguration');
104
-
105
- expect(Object.keys(view)).toEqual(Object.keys(shared));
106
- for (const key of Object.keys(shared)) {
107
- if (key === 'model_options') continue;
108
- expect(JSON.stringify(view[key]), `${key} drifted from the shared configuration`).toBe(
109
- JSON.stringify(shared[key]),
110
- );
111
- }
112
- });
113
-
114
- it('builds generic routes for system and app-contributed Views without exposing path material', () => {
115
- expect(viewExperienceRoute('app:content:document-library')).toBe('/view/app%3Acontent%3Adocument-library');
116
- expect(viewExperienceRoute('sys:AgenticDocumentExplorer')).toBe('/view/sys%3AAgenticDocumentExplorer');
117
- expect(viewExperienceRoute('unsafe/id')).toBe('/view/unsafe%2Fid');
118
- });
119
- });