@vertesia/common 1.6.0-dev.20260923.085325Z → 1.6.0-dev.20261008.064737Z

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 (421) 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 +2553 -1046
  12. package/lib/api-contract/engine.d.ts +65 -0
  13. package/lib/api-contract/engine.d.ts.map +1 -0
  14. package/lib/api-contract/engine.js +569 -0
  15. package/lib/api-contract/engine.js.map +1 -0
  16. package/lib/api-contract/index.d.ts +21 -182
  17. package/lib/api-contract/index.d.ts.map +1 -1
  18. package/lib/api-contract/index.js +13 -551
  19. package/lib/api-contract/index.js.map +1 -1
  20. package/lib/api-schemas/access-control.d.ts +33 -10
  21. package/lib/api-schemas/access-control.d.ts.map +1 -1
  22. package/lib/api-schemas/access-control.js +7 -6
  23. package/lib/api-schemas/access-control.js.map +1 -1
  24. package/lib/api-schemas/account.d.ts +5 -9
  25. package/lib/api-schemas/account.d.ts.map +1 -1
  26. package/lib/api-schemas/account.js +0 -7
  27. package/lib/api-schemas/account.js.map +1 -1
  28. package/lib/api-schemas/agent-budget.d.ts +15 -0
  29. package/lib/api-schemas/agent-budget.d.ts.map +1 -0
  30. package/lib/api-schemas/agent-budget.js +55 -0
  31. package/lib/api-schemas/agent-budget.js.map +1 -0
  32. package/lib/api-schemas/agent-runs.d.ts +1525 -100
  33. package/lib/api-schemas/agent-runs.d.ts.map +1 -1
  34. package/lib/api-schemas/agent-runs.js +60 -28
  35. package/lib/api-schemas/agent-runs.js.map +1 -1
  36. package/lib/api-schemas/apikey.d.ts +11 -10
  37. package/lib/api-schemas/apikey.d.ts.map +1 -1
  38. package/lib/api-schemas/apikey.js.map +1 -1
  39. package/lib/api-schemas/app-lifecycle.d.ts +13 -0
  40. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -1
  41. package/lib/api-schemas/app-lifecycle.js +4 -0
  42. package/lib/api-schemas/app-lifecycle.js.map +1 -1
  43. package/lib/api-schemas/app-runtime.d.ts +1821 -108
  44. package/lib/api-schemas/app-runtime.d.ts.map +1 -1
  45. package/lib/api-schemas/audit-trail.d.ts +275 -0
  46. package/lib/api-schemas/audit-trail.d.ts.map +1 -1
  47. package/lib/api-schemas/audit-trail.js +156 -1
  48. package/lib/api-schemas/audit-trail.js.map +1 -1
  49. package/lib/api-schemas/content.d.ts +665 -30
  50. package/lib/api-schemas/content.d.ts.map +1 -1
  51. package/lib/api-schemas/content.js +47 -0
  52. package/lib/api-schemas/content.js.map +1 -1
  53. package/lib/api-schemas/cost-analytics.d.ts +19 -0
  54. package/lib/api-schemas/cost-analytics.d.ts.map +1 -1
  55. package/lib/api-schemas/cost-analytics.js +38 -2
  56. package/lib/api-schemas/cost-analytics.js.map +1 -1
  57. package/lib/api-schemas/document-processing.d.ts +381 -18
  58. package/lib/api-schemas/document-processing.d.ts.map +1 -1
  59. package/lib/api-schemas/environment.d.ts +0 -5
  60. package/lib/api-schemas/environment.d.ts.map +1 -1
  61. package/lib/api-schemas/environment.js +0 -1
  62. package/lib/api-schemas/environment.js.map +1 -1
  63. package/lib/api-schemas/events.d.ts +1143 -54
  64. package/lib/api-schemas/events.d.ts.map +1 -1
  65. package/lib/api-schemas/group.d.ts +2 -1
  66. package/lib/api-schemas/group.d.ts.map +1 -1
  67. package/lib/api-schemas/group.js.map +1 -1
  68. package/lib/api-schemas/index.d.ts +2 -0
  69. package/lib/api-schemas/index.d.ts.map +1 -1
  70. package/lib/api-schemas/index.js +2 -0
  71. package/lib/api-schemas/index.js.map +1 -1
  72. package/lib/api-schemas/inference-profile.d.ts +5017 -0
  73. package/lib/api-schemas/inference-profile.d.ts.map +1 -0
  74. package/lib/api-schemas/inference-profile.js +135 -0
  75. package/lib/api-schemas/inference-profile.js.map +1 -0
  76. package/lib/api-schemas/integrations.d.ts +6 -6
  77. package/lib/api-schemas/interaction.d.ts +34391 -703
  78. package/lib/api-schemas/interaction.d.ts.map +1 -1
  79. package/lib/api-schemas/interaction.js +34 -1
  80. package/lib/api-schemas/interaction.js.map +1 -1
  81. package/lib/api-schemas/invites.d.ts +10 -9
  82. package/lib/api-schemas/invites.d.ts.map +1 -1
  83. package/lib/api-schemas/invites.js.map +1 -1
  84. package/lib/api-schemas/process.d.ts +653 -34
  85. package/lib/api-schemas/process.d.ts.map +1 -1
  86. package/lib/api-schemas/process.js +66 -0
  87. package/lib/api-schemas/process.js.map +1 -1
  88. package/lib/api-schemas/project-configuration.d.ts +1323 -62
  89. package/lib/api-schemas/project-configuration.d.ts.map +1 -1
  90. package/lib/api-schemas/project-configuration.js +15 -1
  91. package/lib/api-schemas/project-configuration.js.map +1 -1
  92. package/lib/api-schemas/project.d.ts +2031 -116
  93. package/lib/api-schemas/project.d.ts.map +1 -1
  94. package/lib/api-schemas/project.js +9 -1
  95. package/lib/api-schemas/project.js.map +1 -1
  96. package/lib/api-schemas/quota.d.ts +7 -6
  97. package/lib/api-schemas/quota.d.ts.map +1 -1
  98. package/lib/api-schemas/quota.js.map +1 -1
  99. package/lib/api-schemas/registry.d.ts +28171 -36096
  100. package/lib/api-schemas/registry.d.ts.map +1 -1
  101. package/lib/api-schemas/registry.js +77 -30
  102. package/lib/api-schemas/registry.js.map +1 -1
  103. package/lib/api-schemas/run-budget.d.ts +16 -0
  104. package/lib/api-schemas/run-budget.d.ts.map +1 -0
  105. package/lib/api-schemas/run-budget.js +22 -0
  106. package/lib/api-schemas/run-budget.js.map +1 -0
  107. package/lib/api-schemas/secrets.d.ts +0 -71
  108. package/lib/api-schemas/secrets.d.ts.map +1 -1
  109. package/lib/api-schemas/secrets.js +0 -73
  110. package/lib/api-schemas/secrets.js.map +1 -1
  111. package/lib/api-schemas/store.d.ts +6388 -338
  112. package/lib/api-schemas/store.d.ts.map +1 -1
  113. package/lib/api-schemas/store.js +11 -0
  114. package/lib/api-schemas/store.js.map +1 -1
  115. package/lib/api-schemas/user.d.ts +9 -8
  116. package/lib/api-schemas/user.d.ts.map +1 -1
  117. package/lib/api-schemas/user.js.map +1 -1
  118. package/lib/api-schemas/view-execution.d.ts +8 -0
  119. package/lib/api-schemas/view-execution.d.ts.map +1 -1
  120. package/lib/api-schemas/views.d.ts +14 -0
  121. package/lib/api-schemas/views.d.ts.map +1 -1
  122. package/lib/api-schemas/workflow-runs.d.ts +335 -12
  123. package/lib/api-schemas/workflow-runs.d.ts.map +1 -1
  124. package/lib/api-schemas/workflow-runs.js +2 -0
  125. package/lib/api-schemas/workflow-runs.js.map +1 -1
  126. package/lib/apikey.d.ts +30 -25
  127. package/lib/apikey.d.ts.map +1 -1
  128. package/lib/apikey.js.map +1 -1
  129. package/lib/apps.d.ts +116 -121
  130. package/lib/apps.d.ts.map +1 -1
  131. package/lib/apps.js.map +1 -1
  132. package/lib/audit-trail.d.ts +30 -19
  133. package/lib/audit-trail.d.ts.map +1 -1
  134. package/lib/audit-trail.js +6 -0
  135. package/lib/audit-trail.js.map +1 -1
  136. package/lib/browser-credentials.d.ts +11 -12
  137. package/lib/browser-credentials.d.ts.map +1 -1
  138. package/lib/common.d.ts +17 -24
  139. package/lib/common.d.ts.map +1 -1
  140. package/lib/content-query.d.ts +3 -4
  141. package/lib/content-query.d.ts.map +1 -1
  142. package/lib/cost-analytics.d.ts +13 -21
  143. package/lib/cost-analytics.d.ts.map +1 -1
  144. package/lib/cost-analytics.js +0 -7
  145. package/lib/cost-analytics.js.map +1 -1
  146. package/lib/data-platform.d.ts +79 -88
  147. package/lib/data-platform.d.ts.map +1 -1
  148. package/lib/data-platform.js.map +1 -1
  149. package/lib/delegation.d.ts +4 -5
  150. package/lib/delegation.d.ts.map +1 -1
  151. package/lib/email.d.ts +15 -17
  152. package/lib/email.d.ts.map +1 -1
  153. package/lib/email.js.map +1 -1
  154. package/lib/embeddings.d.ts +25 -26
  155. package/lib/embeddings.d.ts.map +1 -1
  156. package/lib/environment.d.ts +16 -17
  157. package/lib/environment.d.ts.map +1 -1
  158. package/lib/environment.js.map +1 -1
  159. package/lib/facets.d.ts +3 -4
  160. package/lib/facets.d.ts.map +1 -1
  161. package/lib/group.d.ts +6 -7
  162. package/lib/group.d.ts.map +1 -1
  163. package/lib/group.js.map +1 -1
  164. package/lib/index.d.ts +3 -1
  165. package/lib/index.d.ts.map +1 -1
  166. package/lib/index.js.map +1 -1
  167. package/lib/inference-profile.d.ts +17 -0
  168. package/lib/inference-profile.d.ts.map +1 -0
  169. package/lib/inference-profile.js +2 -0
  170. package/lib/inference-profile.js.map +1 -0
  171. package/lib/integrations.d.ts +19 -20
  172. package/lib/integrations.d.ts.map +1 -1
  173. package/lib/integrations.js.map +1 -1
  174. package/lib/interaction.d.ts +68 -73
  175. package/lib/interaction.d.ts.map +1 -1
  176. package/lib/interaction.js.map +1 -1
  177. package/lib/meters.d.ts +4 -5
  178. package/lib/meters.d.ts.map +1 -1
  179. package/lib/oauth-server.d.ts +40 -41
  180. package/lib/oauth-server.d.ts.map +1 -1
  181. package/lib/oauth.d.ts +9 -10
  182. package/lib/oauth.d.ts.map +1 -1
  183. package/lib/payload.d.ts +11 -14
  184. package/lib/payload.d.ts.map +1 -1
  185. package/lib/pending-asks.d.ts +8 -13
  186. package/lib/pending-asks.d.ts.map +1 -1
  187. package/lib/pending-asks.js +0 -4
  188. package/lib/pending-asks.js.map +1 -1
  189. package/lib/platform-event.d.ts +48 -71
  190. package/lib/platform-event.d.ts.map +1 -1
  191. package/lib/platform-event.js.map +1 -1
  192. package/lib/principal-context.d.ts +3 -3
  193. package/lib/principal-context.d.ts.map +1 -1
  194. package/lib/project.d.ts +42 -43
  195. package/lib/project.d.ts.map +1 -1
  196. package/lib/project.js.map +1 -1
  197. package/lib/prompt.d.ts +14 -16
  198. package/lib/prompt.d.ts.map +1 -1
  199. package/lib/prompt.js.map +1 -1
  200. package/lib/query.d.ts +10 -13
  201. package/lib/query.d.ts.map +1 -1
  202. package/lib/rate-limiter.d.ts +7 -11
  203. package/lib/rate-limiter.d.ts.map +1 -1
  204. package/lib/refs.d.ts +2 -3
  205. package/lib/refs.d.ts.map +1 -1
  206. package/lib/refs.js.map +1 -1
  207. package/lib/roles/types.d.ts +5 -6
  208. package/lib/roles/types.d.ts.map +1 -1
  209. package/lib/roles/types.js.map +1 -1
  210. package/lib/run-budget.d.ts +4 -0
  211. package/lib/run-budget.d.ts.map +1 -0
  212. package/lib/run-budget.js +2 -0
  213. package/lib/run-budget.js.map +1 -0
  214. package/lib/runs.d.ts +9 -10
  215. package/lib/runs.d.ts.map +1 -1
  216. package/lib/secrets.d.ts +10 -21
  217. package/lib/secrets.d.ts.map +1 -1
  218. package/lib/store/agent-approval.d.ts +4 -5
  219. package/lib/store/agent-approval.d.ts.map +1 -1
  220. package/lib/store/agent-approval.js.map +1 -1
  221. package/lib/store/agent-run.d.ts +50 -52
  222. package/lib/store/agent-run.d.ts.map +1 -1
  223. package/lib/store/agent-run.js.map +1 -1
  224. package/lib/store/collections.d.ts +11 -12
  225. package/lib/store/collections.d.ts.map +1 -1
  226. package/lib/store/collections.js.map +1 -1
  227. package/lib/store/conversation-state.d.ts +14 -8
  228. package/lib/store/conversation-state.d.ts.map +1 -1
  229. package/lib/store/doc-analyzer.d.ts +7 -8
  230. package/lib/store/doc-analyzer.d.ts.map +1 -1
  231. package/lib/store/dsl-workflow.d.ts +10 -12
  232. package/lib/store/dsl-workflow.d.ts.map +1 -1
  233. package/lib/store/dsl-workflow.js.map +1 -1
  234. package/lib/store/duration.d.ts +12 -0
  235. package/lib/store/duration.d.ts.map +1 -0
  236. package/lib/store/duration.js +2 -0
  237. package/lib/store/duration.js.map +1 -0
  238. package/lib/store/grounded-extraction.d.ts +6 -7
  239. package/lib/store/grounded-extraction.d.ts.map +1 -1
  240. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -1
  241. package/lib/store/intake-policy-schema.generated.js +143 -2
  242. package/lib/store/intake-policy-schema.generated.js.map +1 -1
  243. package/lib/store/process.d.ts +70 -69
  244. package/lib/store/process.d.ts.map +1 -1
  245. package/lib/store/process.js.map +1 -1
  246. package/lib/store/rendering.d.ts +6 -12
  247. package/lib/store/rendering.d.ts.map +1 -1
  248. package/lib/store/rendering.js +0 -5
  249. package/lib/store/rendering.js.map +1 -1
  250. package/lib/store/signals.d.ts +43 -0
  251. package/lib/store/signals.d.ts.map +1 -1
  252. package/lib/store/signals.js +6 -1
  253. package/lib/store/signals.js.map +1 -1
  254. package/lib/store/store.d.ts +92 -91
  255. package/lib/store/store.d.ts.map +1 -1
  256. package/lib/store/store.js.map +1 -1
  257. package/lib/store/task.d.ts +10 -14
  258. package/lib/store/task.d.ts.map +1 -1
  259. package/lib/store/workflow.d.ts +35 -41
  260. package/lib/store/workflow.d.ts.map +1 -1
  261. package/lib/store/workflow.js.map +1 -1
  262. package/lib/sts-token-types.d.ts +14 -19
  263. package/lib/sts-token-types.d.ts.map +1 -1
  264. package/lib/tools.d.ts +12 -13
  265. package/lib/tools.d.ts.map +1 -1
  266. package/lib/transient-tokens.d.ts +3 -3
  267. package/lib/transient-tokens.d.ts.map +1 -1
  268. package/lib/user.d.ts +16 -20
  269. package/lib/user.d.ts.map +1 -1
  270. package/lib/user.js.map +1 -1
  271. package/lib/vertesia-common.js +2 -2
  272. package/lib/vertesia-common.js.map +1 -1
  273. package/lib/views.d.ts +61 -64
  274. package/lib/views.d.ts.map +1 -1
  275. package/lib/views.js.map +1 -1
  276. package/lib/wire-types.generated.d.ts +11227 -0
  277. package/lib/wire-types.generated.d.ts.map +1 -0
  278. package/lib/wire-types.generated.js +4 -0
  279. package/lib/wire-types.generated.js.map +1 -0
  280. package/lib/workflow-analytics.d.ts +21 -19
  281. package/lib/workflow-analytics.d.ts.map +1 -1
  282. package/lib/workflow-analytics.js +2 -2
  283. package/lib/workflow-analytics.js.map +1 -1
  284. package/package.json +16 -11
  285. package/src/access-control-values.ts +2 -2
  286. package/src/access-control.ts +7 -15
  287. package/src/analytics.ts +6 -13
  288. package/src/api-contract/components.generated.json +2553 -1046
  289. package/src/api-contract/engine.ts +641 -0
  290. package/src/api-contract/index.ts +30 -661
  291. package/src/api-schemas/access-control.ts +18 -16
  292. package/src/api-schemas/account.ts +5 -12
  293. package/src/api-schemas/agent-budget.ts +60 -0
  294. package/src/api-schemas/agent-runs.ts +63 -27
  295. package/src/api-schemas/apikey.ts +11 -10
  296. package/src/api-schemas/app-lifecycle.ts +5 -0
  297. package/src/api-schemas/audit-trail.ts +175 -1
  298. package/src/api-schemas/content.ts +55 -0
  299. package/src/api-schemas/cost-analytics.ts +42 -2
  300. package/src/api-schemas/environment.ts +0 -1
  301. package/src/api-schemas/group.ts +2 -1
  302. package/src/api-schemas/index.ts +2 -0
  303. package/src/api-schemas/inference-profile.ts +151 -0
  304. package/src/api-schemas/interaction.ts +40 -1
  305. package/src/api-schemas/invites.ts +10 -9
  306. package/src/api-schemas/process.ts +78 -2
  307. package/src/api-schemas/project-configuration.ts +19 -1
  308. package/src/api-schemas/project.ts +19 -10
  309. package/src/api-schemas/quota.ts +7 -6
  310. package/src/api-schemas/registry.ts +164 -62
  311. package/src/api-schemas/run-budget.ts +23 -0
  312. package/src/api-schemas/secrets.ts +0 -84
  313. package/src/api-schemas/store.ts +12 -0
  314. package/src/api-schemas/user.ts +9 -8
  315. package/src/api-schemas/workflow-runs.ts +2 -0
  316. package/src/apikey.ts +30 -39
  317. package/src/apps.ts +116 -239
  318. package/src/audit-trail.ts +37 -35
  319. package/src/browser-credentials.ts +11 -23
  320. package/src/common.ts +17 -37
  321. package/src/content-query.ts +3 -4
  322. package/src/cost-analytics.ts +13 -35
  323. package/src/data-platform.ts +79 -168
  324. package/src/delegation.ts +4 -9
  325. package/src/email.ts +15 -29
  326. package/src/embeddings.ts +25 -51
  327. package/src/environment.ts +16 -33
  328. package/src/facets.ts +3 -4
  329. package/src/group.ts +6 -13
  330. package/src/index.ts +23 -0
  331. package/src/inference-profile.ts +20 -0
  332. package/src/integrations.ts +21 -41
  333. package/src/interaction.ts +68 -137
  334. package/src/meters.ts +4 -9
  335. package/src/oauth-server.ts +40 -81
  336. package/src/oauth.ts +9 -19
  337. package/src/payload.ts +11 -25
  338. package/src/pending-asks.ts +8 -22
  339. package/src/platform-event.ts +48 -122
  340. package/src/principal-context.ts +3 -3
  341. package/src/project.ts +43 -86
  342. package/src/prompt.ts +14 -31
  343. package/src/query.ts +10 -20
  344. package/src/rate-limiter.ts +7 -19
  345. package/src/refs.ts +2 -3
  346. package/src/roles/types.ts +5 -11
  347. package/src/run-budget.ts +4 -0
  348. package/src/runs.ts +9 -19
  349. package/src/secrets.ts +10 -42
  350. package/src/store/agent-approval.ts +4 -9
  351. package/src/store/agent-run.ts +53 -99
  352. package/src/store/collections.ts +11 -23
  353. package/src/store/conversation-state.ts +15 -15
  354. package/src/store/doc-analyzer.ts +7 -15
  355. package/src/store/dsl-workflow.ts +10 -23
  356. package/src/store/duration.ts +45 -0
  357. package/src/store/grounded-extraction.ts +6 -13
  358. package/src/store/intake-policy-schema.generated.ts +148 -2
  359. package/src/store/process.ts +70 -140
  360. package/src/store/rendering.ts +6 -19
  361. package/src/store/signals.ts +48 -0
  362. package/src/store/store.ts +92 -181
  363. package/src/store/task.ts +10 -24
  364. package/src/store/workflow.ts +35 -71
  365. package/src/sts-token-types.ts +14 -33
  366. package/src/tools.ts +12 -25
  367. package/src/transient-tokens.ts +3 -3
  368. package/src/user.ts +16 -40
  369. package/src/views.ts +61 -125
  370. package/src/wire-types.generated.ts +11888 -0
  371. package/src/workflow-analytics.ts +21 -19
  372. package/src/agent-resources.test.ts +0 -89
  373. package/src/api-contract/components.contract.test.ts +0 -99
  374. package/src/api-schemas/access-control.contract.test.ts +0 -209
  375. package/src/api-schemas/account-apikey.test.ts +0 -60
  376. package/src/api-schemas/account.contract.test.ts +0 -319
  377. package/src/api-schemas/adapter-edge-cases.test.ts +0 -499
  378. package/src/api-schemas/agent-communication.contract.test.ts +0 -90
  379. package/src/api-schemas/agent-history.contract.test.ts +0 -42
  380. package/src/api-schemas/agent-runs.contract.test.ts +0 -240
  381. package/src/api-schemas/api-discriminators.test.ts +0 -185
  382. package/src/api-schemas/apikey.contract.test.ts +0 -270
  383. package/src/api-schemas/app-delete-summary.contract.test.ts +0 -67
  384. package/src/api-schemas/bulk-operation.contract.test.ts +0 -39
  385. package/src/api-schemas/bundle-isolation.test.ts +0 -44
  386. package/src/api-schemas/commands.contract.test.ts +0 -51
  387. package/src/api-schemas/cost-analytics.contract.test.ts +0 -64
  388. package/src/api-schemas/dashboard.contract.test.ts +0 -138
  389. package/src/api-schemas/data-store.contract.test.ts +0 -97
  390. package/src/api-schemas/document-processing.contract.test.ts +0 -76
  391. package/src/api-schemas/emit-json-schema.test.ts +0 -36
  392. package/src/api-schemas/environment.contract.test.ts +0 -202
  393. package/src/api-schemas/group.contract.test.ts +0 -205
  394. package/src/api-schemas/indexing.contract.test.ts +0 -122
  395. package/src/api-schemas/interaction.contract.test.ts +0 -307
  396. package/src/api-schemas/invites.contract.test.ts +0 -268
  397. package/src/api-schemas/llumiverse.contract.test.ts +0 -179
  398. package/src/api-schemas/mcp-api-key.contract.test.ts +0 -125
  399. package/src/api-schemas/oauth.contract.test.ts +0 -181
  400. package/src/api-schemas/parameters.test.ts +0 -402
  401. package/src/api-schemas/process.contract.test.ts +0 -115
  402. package/src/api-schemas/project.contract.test.ts +0 -472
  403. package/src/api-schemas/pruning-limits.test.ts +0 -189
  404. package/src/api-schemas/quota.contract.test.ts +0 -147
  405. package/src/api-schemas/registry-groups.test.ts +0 -99
  406. package/src/api-schemas/response-pruning.test.ts +0 -260
  407. package/src/api-schemas/store.contract.test.ts +0 -378
  408. package/src/api-schemas/sts.contract.test.ts +0 -112
  409. package/src/api-schemas/user.contract.test.ts +0 -197
  410. package/src/api-schemas/views.contract.test.ts +0 -112
  411. package/src/api-schemas/zeno-response-contracts.test.ts +0 -380
  412. package/src/apps.test.ts +0 -89
  413. package/src/oauth-scopes.test.ts +0 -15
  414. package/src/roles.test.ts +0 -33
  415. package/src/schema-for-extraction.test.ts +0 -191
  416. package/src/store/agent-approval.test.ts +0 -18
  417. package/src/store/content-type-editing.test.ts +0 -17
  418. package/src/store/ms.d.ts +0 -42
  419. package/src/store/schedule.test.ts +0 -59
  420. package/src/store/workflow.test.ts +0 -640
  421. package/src/versions.test.ts +0 -13
@@ -1,240 +0,0 @@
1
- import { describe, expect, expectTypeOf, it } from 'vitest';
2
- import type {
3
- AgentRunEvaluation,
4
- AgentRunEvaluationRollup,
5
- AgentRunFeedbackEntry,
6
- AgentRunFeedbackPayload,
7
- AgentRunFeedbackResponse,
8
- } from '../store/agent-run.js';
9
- import { AgentEventType, type TurnEvaluationEvent } from '../workflow-analytics.js';
10
- import type {
11
- AgentRunEvaluationRollupSchema,
12
- AgentRunEvaluationSchema,
13
- AgentRunFeedbackEntrySchema,
14
- AgentRunFeedbackPayloadSchema,
15
- AgentRunFeedbackResponseSchema,
16
- } from './agent-runs.js';
17
- import { validateApiRequest, validateApiResponse } from './registry.js';
18
-
19
- const turnEvaluation: TurnEvaluationEvent = {
20
- eventType: AgentEventType.TurnEvaluation,
21
- eventId: 'run-1:main:1:answer',
22
- timestamp: '2026-09-11T10:00:00.000Z',
23
- runId: 'wf-run-1',
24
- agentRunId: 'run-1',
25
- model: 'claude',
26
- environmentId: 'env-1',
27
- environmentType: 'vertexai',
28
- interactionId: 'sys:StudioAssistant',
29
- schemaVersion: 1,
30
- detectorVersion: 1,
31
- workstreamId: 'main',
32
- turnSeq: 1,
33
- terminalType: 'answer',
34
- startedAt: '2026-09-11T09:59:00.000Z',
35
- endedAt: '2026-09-11T10:00:00.000Z',
36
- durationMs: 60_000,
37
- activeMs: 50_000,
38
- askUserWaitMs: 0,
39
- approvalWaitMs: 10_000,
40
- toolCalls: 3,
41
- errorToolResults: 1,
42
- maxFailStreak: 1,
43
- identicalRetryCount: 0,
44
- unrecoveredTools: [],
45
- errorClasses: { schema: 1, platform: 0, config: 0, environment: 0, other: 0 },
46
- gatherCalls: 2,
47
- gatherRatio: 2 / 3,
48
- mutationAttempted: true,
49
- mutationSucceeded: true,
50
- rereadCount: 0,
51
- overheadCalls: 0,
52
- skillsLoaded: 0,
53
- interruptedToolCalls: 0,
54
- llmCalls: 4,
55
- promptTokens: 1000,
56
- completionTokens: 200,
57
- cachedTokens: 800,
58
- retryCompletionTokens: 50,
59
- approvalsRequested: 1,
60
- approvalsDenied: 0,
61
- stopRequests: 0,
62
- stallCorrectives: 0,
63
- stallTrips: 0,
64
- followupAfterAnswer: false,
65
- severity: 'none',
66
- flags: [],
67
- tools: [
68
- {
69
- seq: 1,
70
- toolUseId: 'tu-1',
71
- name: 'create_view',
72
- approvalClass: 'side_effecting',
73
- ok: false,
74
- errorClass: 'schema',
75
- sig: 'abcd1234',
76
- durationMs: 20,
77
- },
78
- ],
79
- toolsTruncated: 0,
80
- };
81
-
82
- describe('agent run evaluation API contracts', () => {
83
- it('derives the public types from the runtime schemas', () => {
84
- expectTypeOf<AgentRunFeedbackPayload>().toEqualTypeOf<
85
- import('zod').z.infer<typeof AgentRunFeedbackPayloadSchema>
86
- >();
87
- expectTypeOf<AgentRunFeedbackResponse>().toEqualTypeOf<
88
- import('zod').z.infer<typeof AgentRunFeedbackResponseSchema>
89
- >();
90
- expectTypeOf<AgentRunFeedbackEntry>().toEqualTypeOf<
91
- import('zod').z.infer<typeof AgentRunFeedbackEntrySchema>
92
- >();
93
- expectTypeOf<AgentRunEvaluationRollup>().toEqualTypeOf<
94
- import('zod').z.infer<typeof AgentRunEvaluationRollupSchema>
95
- >();
96
- expectTypeOf<AgentRunEvaluation>().toEqualTypeOf<import('zod').z.infer<typeof AgentRunEvaluationSchema>>();
97
- });
98
-
99
- it('accepts a turn_evaluation event through the ingest payload', () => {
100
- expect(validateApiRequest('IngestAgentEventsPayload', { events: [turnEvaluation] }).valid).toBe(true);
101
- });
102
-
103
- it('accepts a turn_evaluation event from a producer that predates the stall counters', () => {
104
- const { stallCorrectives: _c, stallTrips: _t, ...legacy } = turnEvaluation;
105
- expect(validateApiRequest('IngestAgentEventsPayload', { events: [legacy] }).valid).toBe(true);
106
- });
107
-
108
- it('rejects a turn_evaluation event with an undeclared field', () => {
109
- const events = [{ ...turnEvaluation, verdict: 'success' }];
110
- expect(validateApiRequest('IngestAgentEventsPayload', { events }).valid).toBe(false);
111
- });
112
-
113
- it('accepts a feedback event and a judgement event', () => {
114
- const base = {
115
- timestamp: turnEvaluation.timestamp,
116
- runId: 'wf-run-1',
117
- agentRunId: 'run-1',
118
- model: '',
119
- environmentId: '',
120
- environmentType: '',
121
- interactionId: 'sys:StudioAssistant',
122
- deployment: { env: 'staging', group: 'staging', version: 'abc' },
123
- };
124
- const events = [
125
- {
126
- ...base,
127
- eventType: 'feedback',
128
- feedbackId: 'f1',
129
- rating: 'down',
130
- hasComment: false,
131
- messageScoped: false,
132
- replaced: false,
133
- },
134
- {
135
- ...base,
136
- eventType: 'turn_judgement',
137
- evaluationRev: 2,
138
- workstreamId: 'main',
139
- turnSeq: 1,
140
- gate: 'signal',
141
- sampleRate: 0,
142
- selectedProbability: 1,
143
- outcome: 'judged',
144
- verdict: 'failure',
145
- score: 0.2,
146
- promptVersion: 'v1',
147
- },
148
- {
149
- ...base,
150
- eventType: 'stall_breaker',
151
- action: 'trip',
152
- toolNames: ['fetch_document'],
153
- repeatCount: 4,
154
- stallMeasure: 4,
155
- allErrored: false,
156
- iteration: 7,
157
- interactive: true,
158
- workstreamId: 'main',
159
- },
160
- ];
161
- expect(validateApiRequest('IngestAgentEventsPayload', { events }).valid).toBe(true);
162
- });
163
-
164
- it('requires feedback_id and rejects the retired episode_seq field', () => {
165
- expect(validateApiRequest('AgentRunFeedbackPayload', { rating: 'up' }).valid).toBe(false);
166
- expect(validateApiRequest('AgentRunFeedbackPayload', { feedback_id: 'f1', rating: 'up' }).valid).toBe(true);
167
- expect(
168
- validateApiRequest('AgentRunFeedbackPayload', { feedback_id: 'f1', rating: 'up', episode_seq: 1 }).valid,
169
- ).toBe(false);
170
- });
171
-
172
- it('keeps the workflow rollup free of server-owned fields', () => {
173
- const rollup: AgentRunEvaluationRollup = {
174
- seq: 3,
175
- detector_version: 1,
176
- turns: 2,
177
- severity: 'medium',
178
- flags: ['unrecovered_tool'],
179
- worst_turn_seq: 2,
180
- last_terminal_type: 'answer',
181
- totals: {
182
- tool_calls: 5,
183
- error_tool_results: 2,
184
- unrecovered_tools: ['create_view'],
185
- llm_calls: 6,
186
- prompt_tokens: 100,
187
- completion_tokens: 20,
188
- cached_tokens: 0,
189
- retry_completion_tokens: 5,
190
- active_ms: 1000,
191
- ask_user_wait_ms: 0,
192
- approval_wait_ms: 0,
193
- followups: 0,
194
- approvals_requested: 0,
195
- approvals_denied: 0,
196
- stop_requests: 0,
197
- stall_trips: 0,
198
- },
199
- updated_at: turnEvaluation.timestamp,
200
- };
201
- expect(validateApiRequest('UpdateAgentRunStatusPayload', { evaluation_rollup: rollup }).valid).toBe(true);
202
- // Rollups stored or sent before the stall counter existed keep validating.
203
- const { stall_trips: _s, ...legacyTotals } = rollup.totals;
204
- expect(
205
- validateApiRequest('UpdateAgentRunStatusPayload', {
206
- evaluation_rollup: { ...rollup, totals: legacyTotals },
207
- }).valid,
208
- ).toBe(true);
209
- expect(
210
- validateApiResponse('AgentRunEvaluation', {
211
- rev: 1,
212
- rollup: { ...rollup, totals: legacyTotals },
213
- severity: 'medium',
214
- flags: ['unrecovered_tool'],
215
- contradicted: false,
216
- updated_at: turnEvaluation.timestamp,
217
- }).valid,
218
- ).toBe(true);
219
- expect(
220
- validateApiRequest('UpdateAgentRunStatusPayload', {
221
- evaluation_rollup: { ...rollup, feedback_counts: { up: 1, down: 0 } },
222
- }).valid,
223
- ).toBe(false);
224
- });
225
-
226
- it('validates the published evaluation summary', () => {
227
- const evaluation: AgentRunEvaluation = {
228
- rev: 2,
229
- feedback_counts: { up: 0, down: 1, last_rating: 'down', last_reason_code: 'wrong_result' },
230
- severity: 'none',
231
- flags: [],
232
- contradicted: true,
233
- contradiction_reasons: ['feedback_down_on_clean_run'],
234
- deployment_env: 'staging',
235
- updated_at: turnEvaluation.timestamp,
236
- };
237
- expect(validateApiResponse('AgentRunEvaluation', evaluation).valid).toBe(true);
238
- expect(validateApiRequest('ListAgentRunsQuery', { evaluation_severity: ['unrated', 'high'] }).valid).toBe(true);
239
- });
240
- });
@@ -1,185 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { type ApiComponentName, ApiSchemaComponents, validateApiResponse } from './registry.js';
3
-
4
- /**
5
- * The build-time half of `discriminator: true`.
6
- *
7
- * AJV applies its discriminator rules when it COMPILES a schema, not when it validates one, and it
8
- * signals a union it cannot handle by throwing. Left unchecked that turns into a 500 on the first
9
- * request to whichever endpoint publishes the offending component — a failure mode that depends on
10
- * traffic and would reach a deployed environment before anyone saw it. Compiling every registered
11
- * component here moves that to the build, and names the component when it happens.
12
- *
13
- * The rules a union has to satisfy, all of which `synthesizeDiscriminator` in the adapter already
14
- * enforces before emitting a discriminator: `oneOf` members resolving to object schemas, a tag
15
- * property present and REQUIRED in every branch, and a `const` or single-valued `enum` for the tag
16
- * in each. A hand-written `.meta({ discriminator })` gets no such check when it is written, which
17
- * is the case this test exists for.
18
- *
19
- * Generating a validator for each of the ~1000 components is real work: well under a second on a
20
- * developer machine, ~8s on a loaded CI runner, past vitest's 5s default, hence the explicit budget
21
- * below. It is generous on purpose — an unsupported discriminator makes AJV THROW during
22
- * compilation, so a genuine regression is caught by the try/catch and never by the clock.
23
- */
24
- const COMPILE_ALL_TIMEOUT_MS = 60_000;
25
-
26
- describe('published discriminators', () => {
27
- it(
28
- 'compiles every registered component under AJV discriminator support',
29
- () => {
30
- const failures: string[] = [];
31
- for (const name of Object.keys(ApiSchemaComponents)) {
32
- try {
33
- // Compilation is the subject; the value only has to reach the validator. An
34
- // invalid result is expected and irrelevant.
35
- validateApiResponse(name as ApiComponentName, undefined);
36
- } catch (err: unknown) {
37
- failures.push(`${name}: ${err instanceof Error ? err.message : String(err)}`);
38
- }
39
- }
40
- expect(failures, `components AJV could not compile:\n${failures.join('\n')}`).toEqual([]);
41
- },
42
- COMPILE_ALL_TIMEOUT_MS,
43
- );
44
-
45
- it('keeps discriminator mapping in the published components for generated clients', () => {
46
- // AJV's copy drops `mapping`; the OpenAPI document must not. A Java or Go client reads the
47
- // mapping to pick a concrete subtype, so losing it here would be a silent codegen
48
- // regression that no schema assertion elsewhere would catch.
49
- const union = ApiSchemaComponents.ToolCollectionObject as {
50
- discriminator?: { propertyName?: string; mapping?: Record<string, string> };
51
- };
52
- expect(union.discriminator?.propertyName).toBe('type');
53
- expect(union.discriminator?.mapping).toMatchObject({
54
- mcp: '#/components/schemas/MCPToolCollectionObject',
55
- });
56
- });
57
-
58
- it('reports only the tagged branch when a legacy MCP collection is missing its id', () => {
59
- // The `hubspot-mcp-dev` shape: created before the write path required `id`, still served by
60
- // the five-level resolution chain in fetch-tools.ts. Without discriminator support AJV also
61
- // reported `oauth_app` as an undeclared property and `type` as not matching a constant —
62
- // both from the vertesia_sdk branch this value never claimed to be.
63
- const legacy = {
64
- type: 'mcp',
65
- name: 'HubSpot',
66
- namespace: 'hubspot',
67
- description: 'HubSpot MCP',
68
- auth: 'oauth',
69
- url: 'https://mcp.hubspot.com',
70
- oauth_app: 'hubspot',
71
- };
72
- const result = validateApiResponse('ToolCollectionObject', legacy);
73
- expect(result.valid).toBe(false);
74
- if (result.valid) return;
75
- expect(result.errors).toEqual(["/ must have required property 'id'"]);
76
- });
77
-
78
- /** A one-branch `condition` node, the smallest thing that reaches the untagged `branches` union. */
79
- function withBranch(branch: unknown): unknown {
80
- return {
81
- format_version: 1,
82
- process: 'demo',
83
- initial: 'a',
84
- context: { schema: { type: 'object' }, initial: {} },
85
- nodes: { a: { type: 'condition', branches: [branch] } },
86
- };
87
- }
88
-
89
- it('attributes every claim under an untagged union to the candidate that made it', () => {
90
- // The process-runs list, which `ProcessDefinitionBody` reaches through
91
- // `ListAgentRunsResponse.items[].process_definition_snapshot`. `branches` is a `oneOf` with
92
- // no tag, so AJV reports every candidate's failures flat and unattributed:
93
- //
94
- // /nodes/a/branches/0 must NOT have additional properties: label, to, when
95
- //
96
- // `to` and `when` are declared on `BranchDefinition` — the shape this value plainly means —
97
- // so read as a fact that line sends the reader after two valid fields.
98
- const result = validateApiResponse(
99
- 'ProcessDefinitionBody',
100
- withBranch({ label: 'Accepted', to: 'accepted', when: { '==': [{ var: 'ok' }, true] } }),
101
- );
102
- expect(result.valid).toBe(false);
103
- if (result.valid) return;
104
-
105
- // Against the candidate it means, `label` is the whole story.
106
- expect(result.errors).toContain(
107
- '/nodes/a/branches/0 as BranchDefinition: must NOT have additional properties: label',
108
- );
109
- // The other candidate is still reported — with no tag neither can be ruled out — but named,
110
- // so it reads as a claim about that shape rather than about the value.
111
- expect(result.errors).toContain(
112
- '/nodes/a/branches/0 as BranchNodeBranchDefinition: must NOT have additional properties: label, to, when',
113
- );
114
- // Every attributed claim names a candidate of THIS union, never some nearer schema.
115
- const named = result.issues.filter((i) => i.component !== undefined).map((i) => i.component);
116
- expect(new Set(named)).toEqual(new Set(['BranchDefinition', 'BranchNodeBranchDefinition']));
117
- });
118
-
119
- it('attributes candidates that fail at different paths', () => {
120
- // The case that defeats counting candidates per instance path: with a malformed `when`, the
121
- // intended candidate fails at `/when` while the other fails at the branch root, so no path
122
- // has two candidates and a per-path rule drops EVERY name — leaving
123
- //
124
- // /nodes/a/branches/0 must NOT have additional properties: to, when
125
- //
126
- // stated as a bare fact again. Attribution has to follow the union, not the path.
127
- const result = validateApiResponse('ProcessDefinitionBody', withBranch({ to: 'accepted', when: 'bad' }));
128
- expect(result.valid).toBe(false);
129
- if (result.valid) return;
130
-
131
- expect(result.errors).toContain('/nodes/a/branches/0/when as BranchDefinition: must be object');
132
- expect(result.errors).toContain(
133
- '/nodes/a/branches/0 as BranchNodeBranchDefinition: must NOT have additional properties: to, when',
134
- );
135
- // The point of the fix: nothing under a failed union is left unattributed except the union's
136
- // own line, so no candidate's complaint can be mistaken for a fact about the value.
137
- const unattributed = result.issues.filter((i) => i.component === undefined);
138
- expect(unattributed.map((i) => i.message)).toEqual(['must match exactly one schema in oneOf']);
139
- });
140
-
141
- it('leaves the component off outside a union', () => {
142
- // A component name marks a claim as conditional. Attaching one where the issue holds
143
- // outright would weaken a fact, besides spending characters against the response budget.
144
- const result = validateApiResponse('ProcessDefinitionBody', {
145
- format_version: 1,
146
- process: 'demo',
147
- initial: 'a',
148
- title: 'Undeclared at the body level',
149
- context: { schema: { type: 'object' }, initial: {} },
150
- nodes: {},
151
- });
152
- expect(result.valid).toBe(false);
153
- if (result.valid) return;
154
- expect(result.issues).toEqual([
155
- { path: '/', message: 'must NOT have additional properties', undeclared: ['title'], component: undefined },
156
- ]);
157
- expect(result.errors).toEqual(['/ must NOT have additional properties: title']);
158
- });
159
-
160
- it('still gathers every undeclared name one schema reports at a path', () => {
161
- // The case gathering exists for, unaffected by the split above: one strict object, many
162
- // foreign keys — an unmapped Mongoose subdocument — stays a single issue.
163
- const result = validateApiResponse('ProcessDefinitionBody', {
164
- format_version: 1,
165
- process: 'demo',
166
- initial: 'a',
167
- context: { schema: { type: 'object' }, initial: {} },
168
- nodes: {},
169
- $__parent: {},
170
- $isNew: false,
171
- _doc: {},
172
- });
173
- expect(result.valid).toBe(false);
174
- if (result.valid) return;
175
- expect(result.issues).toHaveLength(1);
176
- expect(result.issues[0].undeclared).toEqual(['$__parent', '$isNew', '_doc']);
177
- });
178
-
179
- it('rejects a value whose tag names no branch', () => {
180
- const result = validateApiResponse('ToolCollectionObject', { type: 'nonesuch', url: 'https://example.com' });
181
- expect(result.valid).toBe(false);
182
- if (result.valid) return;
183
- expect(result.errors.join('; ')).toContain('tag');
184
- });
185
- });