@vertesia/common 1.6.0-dev.20260923.085325Z → 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 (405) 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 +1389 -45
  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 +5 -4
  17. package/lib/api-schemas/account.d.ts.map +1 -1
  18. package/lib/api-schemas/account.js.map +1 -1
  19. package/lib/api-schemas/agent-budget.d.ts +15 -0
  20. package/lib/api-schemas/agent-budget.d.ts.map +1 -0
  21. package/lib/api-schemas/agent-budget.js +55 -0
  22. package/lib/api-schemas/agent-budget.js.map +1 -0
  23. package/lib/api-schemas/agent-runs.d.ts +1525 -100
  24. package/lib/api-schemas/agent-runs.d.ts.map +1 -1
  25. package/lib/api-schemas/agent-runs.js +60 -28
  26. package/lib/api-schemas/agent-runs.js.map +1 -1
  27. package/lib/api-schemas/apikey.d.ts +11 -10
  28. package/lib/api-schemas/apikey.d.ts.map +1 -1
  29. package/lib/api-schemas/apikey.js.map +1 -1
  30. package/lib/api-schemas/app-lifecycle.d.ts +13 -0
  31. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -1
  32. package/lib/api-schemas/app-lifecycle.js +4 -0
  33. package/lib/api-schemas/app-lifecycle.js.map +1 -1
  34. package/lib/api-schemas/app-runtime.d.ts +1821 -108
  35. package/lib/api-schemas/app-runtime.d.ts.map +1 -1
  36. package/lib/api-schemas/audit-trail.d.ts +20 -0
  37. package/lib/api-schemas/audit-trail.d.ts.map +1 -1
  38. package/lib/api-schemas/audit-trail.js +7 -1
  39. package/lib/api-schemas/audit-trail.js.map +1 -1
  40. package/lib/api-schemas/content.d.ts +665 -30
  41. package/lib/api-schemas/content.d.ts.map +1 -1
  42. package/lib/api-schemas/content.js +47 -0
  43. package/lib/api-schemas/content.js.map +1 -1
  44. package/lib/api-schemas/cost-analytics.d.ts +18 -0
  45. package/lib/api-schemas/cost-analytics.d.ts.map +1 -1
  46. package/lib/api-schemas/cost-analytics.js +31 -2
  47. package/lib/api-schemas/cost-analytics.js.map +1 -1
  48. package/lib/api-schemas/document-processing.d.ts +381 -18
  49. package/lib/api-schemas/document-processing.d.ts.map +1 -1
  50. package/lib/api-schemas/environment.d.ts +0 -5
  51. package/lib/api-schemas/environment.d.ts.map +1 -1
  52. package/lib/api-schemas/environment.js +0 -1
  53. package/lib/api-schemas/environment.js.map +1 -1
  54. package/lib/api-schemas/events.d.ts +1143 -54
  55. package/lib/api-schemas/events.d.ts.map +1 -1
  56. package/lib/api-schemas/group.d.ts +2 -1
  57. package/lib/api-schemas/group.d.ts.map +1 -1
  58. package/lib/api-schemas/group.js.map +1 -1
  59. package/lib/api-schemas/index.d.ts +1 -0
  60. package/lib/api-schemas/index.d.ts.map +1 -1
  61. package/lib/api-schemas/index.js +1 -0
  62. package/lib/api-schemas/index.js.map +1 -1
  63. package/lib/api-schemas/inference-profile.d.ts +5017 -0
  64. package/lib/api-schemas/inference-profile.d.ts.map +1 -0
  65. package/lib/api-schemas/inference-profile.js +135 -0
  66. package/lib/api-schemas/inference-profile.js.map +1 -0
  67. package/lib/api-schemas/integrations.d.ts +6 -6
  68. package/lib/api-schemas/interaction.d.ts +34391 -703
  69. package/lib/api-schemas/interaction.d.ts.map +1 -1
  70. package/lib/api-schemas/interaction.js +34 -1
  71. package/lib/api-schemas/interaction.js.map +1 -1
  72. package/lib/api-schemas/invites.d.ts +10 -9
  73. package/lib/api-schemas/invites.d.ts.map +1 -1
  74. package/lib/api-schemas/invites.js.map +1 -1
  75. package/lib/api-schemas/process.d.ts +653 -34
  76. package/lib/api-schemas/process.d.ts.map +1 -1
  77. package/lib/api-schemas/process.js +66 -0
  78. package/lib/api-schemas/process.js.map +1 -1
  79. package/lib/api-schemas/project-configuration.d.ts +1323 -62
  80. package/lib/api-schemas/project-configuration.d.ts.map +1 -1
  81. package/lib/api-schemas/project-configuration.js +15 -1
  82. package/lib/api-schemas/project-configuration.js.map +1 -1
  83. package/lib/api-schemas/project.d.ts +2031 -116
  84. package/lib/api-schemas/project.d.ts.map +1 -1
  85. package/lib/api-schemas/project.js +9 -1
  86. package/lib/api-schemas/project.js.map +1 -1
  87. package/lib/api-schemas/quota.d.ts +7 -6
  88. package/lib/api-schemas/quota.d.ts.map +1 -1
  89. package/lib/api-schemas/quota.js.map +1 -1
  90. package/lib/api-schemas/registry.d.ts +27820 -35892
  91. package/lib/api-schemas/registry.d.ts.map +1 -1
  92. package/lib/api-schemas/registry.js +55 -5
  93. package/lib/api-schemas/registry.js.map +1 -1
  94. package/lib/api-schemas/run-budget.d.ts +52 -0
  95. package/lib/api-schemas/run-budget.d.ts.map +1 -0
  96. package/lib/api-schemas/run-budget.js +55 -0
  97. package/lib/api-schemas/run-budget.js.map +1 -0
  98. package/lib/api-schemas/store.d.ts +6388 -338
  99. package/lib/api-schemas/store.d.ts.map +1 -1
  100. package/lib/api-schemas/store.js +11 -0
  101. package/lib/api-schemas/store.js.map +1 -1
  102. package/lib/api-schemas/user.d.ts +9 -8
  103. package/lib/api-schemas/user.d.ts.map +1 -1
  104. package/lib/api-schemas/user.js.map +1 -1
  105. package/lib/api-schemas/view-execution.d.ts +8 -0
  106. package/lib/api-schemas/view-execution.d.ts.map +1 -1
  107. package/lib/api-schemas/views.d.ts +14 -0
  108. package/lib/api-schemas/views.d.ts.map +1 -1
  109. package/lib/api-schemas/workflow-runs.d.ts +335 -12
  110. package/lib/api-schemas/workflow-runs.d.ts.map +1 -1
  111. package/lib/api-schemas/workflow-runs.js +2 -0
  112. package/lib/api-schemas/workflow-runs.js.map +1 -1
  113. package/lib/apikey.d.ts +30 -25
  114. package/lib/apikey.d.ts.map +1 -1
  115. package/lib/apikey.js.map +1 -1
  116. package/lib/apps.d.ts +116 -121
  117. package/lib/apps.d.ts.map +1 -1
  118. package/lib/apps.js.map +1 -1
  119. package/lib/audit-trail.d.ts +17 -18
  120. package/lib/audit-trail.d.ts.map +1 -1
  121. package/lib/audit-trail.js +2 -0
  122. package/lib/audit-trail.js.map +1 -1
  123. package/lib/browser-credentials.d.ts +11 -12
  124. package/lib/browser-credentials.d.ts.map +1 -1
  125. package/lib/common.d.ts +17 -24
  126. package/lib/common.d.ts.map +1 -1
  127. package/lib/content-query.d.ts +3 -4
  128. package/lib/content-query.d.ts.map +1 -1
  129. package/lib/cost-analytics.d.ts +13 -21
  130. package/lib/cost-analytics.d.ts.map +1 -1
  131. package/lib/cost-analytics.js +0 -7
  132. package/lib/cost-analytics.js.map +1 -1
  133. package/lib/data-platform.d.ts +79 -88
  134. package/lib/data-platform.d.ts.map +1 -1
  135. package/lib/data-platform.js.map +1 -1
  136. package/lib/delegation.d.ts +4 -5
  137. package/lib/delegation.d.ts.map +1 -1
  138. package/lib/email.d.ts +15 -17
  139. package/lib/email.d.ts.map +1 -1
  140. package/lib/email.js.map +1 -1
  141. package/lib/embeddings.d.ts +25 -26
  142. package/lib/embeddings.d.ts.map +1 -1
  143. package/lib/environment.d.ts +16 -17
  144. package/lib/environment.d.ts.map +1 -1
  145. package/lib/environment.js.map +1 -1
  146. package/lib/facets.d.ts +3 -4
  147. package/lib/facets.d.ts.map +1 -1
  148. package/lib/group.d.ts +6 -7
  149. package/lib/group.d.ts.map +1 -1
  150. package/lib/group.js.map +1 -1
  151. package/lib/index.d.ts +3 -1
  152. package/lib/index.d.ts.map +1 -1
  153. package/lib/index.js.map +1 -1
  154. package/lib/inference-profile.d.ts +17 -0
  155. package/lib/inference-profile.d.ts.map +1 -0
  156. package/lib/inference-profile.js +2 -0
  157. package/lib/inference-profile.js.map +1 -0
  158. package/lib/integrations.d.ts +19 -20
  159. package/lib/integrations.d.ts.map +1 -1
  160. package/lib/integrations.js.map +1 -1
  161. package/lib/interaction.d.ts +68 -73
  162. package/lib/interaction.d.ts.map +1 -1
  163. package/lib/interaction.js.map +1 -1
  164. package/lib/meters.d.ts +4 -5
  165. package/lib/meters.d.ts.map +1 -1
  166. package/lib/oauth-server.d.ts +40 -41
  167. package/lib/oauth-server.d.ts.map +1 -1
  168. package/lib/oauth.d.ts +9 -10
  169. package/lib/oauth.d.ts.map +1 -1
  170. package/lib/payload.d.ts +11 -14
  171. package/lib/payload.d.ts.map +1 -1
  172. package/lib/pending-asks.d.ts +8 -13
  173. package/lib/pending-asks.d.ts.map +1 -1
  174. package/lib/pending-asks.js +0 -4
  175. package/lib/pending-asks.js.map +1 -1
  176. package/lib/platform-event.d.ts +48 -51
  177. package/lib/platform-event.d.ts.map +1 -1
  178. package/lib/platform-event.js.map +1 -1
  179. package/lib/principal-context.d.ts +3 -3
  180. package/lib/principal-context.d.ts.map +1 -1
  181. package/lib/project.d.ts +42 -43
  182. package/lib/project.d.ts.map +1 -1
  183. package/lib/project.js.map +1 -1
  184. package/lib/prompt.d.ts +14 -16
  185. package/lib/prompt.d.ts.map +1 -1
  186. package/lib/prompt.js.map +1 -1
  187. package/lib/query.d.ts +10 -13
  188. package/lib/query.d.ts.map +1 -1
  189. package/lib/rate-limiter.d.ts +7 -11
  190. package/lib/rate-limiter.d.ts.map +1 -1
  191. package/lib/refs.d.ts +2 -3
  192. package/lib/refs.d.ts.map +1 -1
  193. package/lib/refs.js.map +1 -1
  194. package/lib/roles/types.d.ts +5 -6
  195. package/lib/roles/types.d.ts.map +1 -1
  196. package/lib/roles/types.js.map +1 -1
  197. package/lib/run-budget.d.ts +8 -0
  198. package/lib/run-budget.d.ts.map +1 -0
  199. package/lib/run-budget.js +2 -0
  200. package/lib/run-budget.js.map +1 -0
  201. package/lib/runs.d.ts +9 -10
  202. package/lib/runs.d.ts.map +1 -1
  203. package/lib/secrets.d.ts +20 -21
  204. package/lib/secrets.d.ts.map +1 -1
  205. package/lib/store/agent-approval.d.ts +4 -5
  206. package/lib/store/agent-approval.d.ts.map +1 -1
  207. package/lib/store/agent-approval.js.map +1 -1
  208. package/lib/store/agent-run.d.ts +50 -52
  209. package/lib/store/agent-run.d.ts.map +1 -1
  210. package/lib/store/agent-run.js.map +1 -1
  211. package/lib/store/collections.d.ts +11 -12
  212. package/lib/store/collections.d.ts.map +1 -1
  213. package/lib/store/collections.js.map +1 -1
  214. package/lib/store/conversation-state.d.ts +14 -8
  215. package/lib/store/conversation-state.d.ts.map +1 -1
  216. package/lib/store/doc-analyzer.d.ts +7 -8
  217. package/lib/store/doc-analyzer.d.ts.map +1 -1
  218. package/lib/store/dsl-workflow.d.ts +10 -12
  219. package/lib/store/dsl-workflow.d.ts.map +1 -1
  220. package/lib/store/dsl-workflow.js.map +1 -1
  221. package/lib/store/duration.d.ts +12 -0
  222. package/lib/store/duration.d.ts.map +1 -0
  223. package/lib/store/duration.js +2 -0
  224. package/lib/store/duration.js.map +1 -0
  225. package/lib/store/grounded-extraction.d.ts +6 -7
  226. package/lib/store/grounded-extraction.d.ts.map +1 -1
  227. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -1
  228. package/lib/store/intake-policy-schema.generated.js +143 -2
  229. package/lib/store/intake-policy-schema.generated.js.map +1 -1
  230. package/lib/store/process.d.ts +70 -69
  231. package/lib/store/process.d.ts.map +1 -1
  232. package/lib/store/process.js.map +1 -1
  233. package/lib/store/rendering.d.ts +6 -12
  234. package/lib/store/rendering.d.ts.map +1 -1
  235. package/lib/store/rendering.js +0 -5
  236. package/lib/store/rendering.js.map +1 -1
  237. package/lib/store/signals.d.ts +43 -0
  238. package/lib/store/signals.d.ts.map +1 -1
  239. package/lib/store/signals.js +6 -1
  240. package/lib/store/signals.js.map +1 -1
  241. package/lib/store/store.d.ts +92 -91
  242. package/lib/store/store.d.ts.map +1 -1
  243. package/lib/store/store.js.map +1 -1
  244. package/lib/store/task.d.ts +10 -14
  245. package/lib/store/task.d.ts.map +1 -1
  246. package/lib/store/workflow.d.ts +35 -41
  247. package/lib/store/workflow.d.ts.map +1 -1
  248. package/lib/store/workflow.js.map +1 -1
  249. package/lib/sts-token-types.d.ts +14 -19
  250. package/lib/sts-token-types.d.ts.map +1 -1
  251. package/lib/tools.d.ts +12 -13
  252. package/lib/tools.d.ts.map +1 -1
  253. package/lib/transient-tokens.d.ts +3 -3
  254. package/lib/transient-tokens.d.ts.map +1 -1
  255. package/lib/user.d.ts +17 -20
  256. package/lib/user.d.ts.map +1 -1
  257. package/lib/user.js.map +1 -1
  258. package/lib/vertesia-common.js +2 -2
  259. package/lib/vertesia-common.js.map +1 -1
  260. package/lib/views.d.ts +61 -64
  261. package/lib/views.d.ts.map +1 -1
  262. package/lib/views.js.map +1 -1
  263. package/lib/wire-types.generated.d.ts +11231 -0
  264. package/lib/wire-types.generated.d.ts.map +1 -0
  265. package/lib/wire-types.generated.js +4 -0
  266. package/lib/wire-types.generated.js.map +1 -0
  267. package/lib/workflow-analytics.d.ts +21 -19
  268. package/lib/workflow-analytics.d.ts.map +1 -1
  269. package/lib/workflow-analytics.js +2 -2
  270. package/lib/workflow-analytics.js.map +1 -1
  271. package/package.json +15 -10
  272. package/src/access-control-values.ts +2 -2
  273. package/src/access-control.ts +7 -15
  274. package/src/analytics.ts +6 -13
  275. package/src/api-contract/components.generated.json +1389 -45
  276. package/src/api-schemas/access-control.ts +18 -16
  277. package/src/api-schemas/account.ts +5 -4
  278. package/src/api-schemas/agent-budget.ts +60 -0
  279. package/src/api-schemas/agent-runs.ts +63 -27
  280. package/src/api-schemas/apikey.ts +11 -10
  281. package/src/api-schemas/app-lifecycle.ts +5 -0
  282. package/src/api-schemas/audit-trail.ts +7 -1
  283. package/src/api-schemas/content.ts +55 -0
  284. package/src/api-schemas/cost-analytics.ts +34 -2
  285. package/src/api-schemas/environment.ts +0 -1
  286. package/src/api-schemas/group.ts +2 -1
  287. package/src/api-schemas/index.ts +1 -0
  288. package/src/api-schemas/inference-profile.ts +151 -0
  289. package/src/api-schemas/interaction.ts +40 -1
  290. package/src/api-schemas/invites.ts +10 -9
  291. package/src/api-schemas/process.ts +78 -2
  292. package/src/api-schemas/project-configuration.ts +19 -1
  293. package/src/api-schemas/project.ts +19 -10
  294. package/src/api-schemas/quota.ts +7 -6
  295. package/src/api-schemas/registry.ts +131 -33
  296. package/src/api-schemas/run-budget.ts +60 -0
  297. package/src/api-schemas/store.ts +12 -0
  298. package/src/api-schemas/user.ts +9 -8
  299. package/src/api-schemas/workflow-runs.ts +2 -0
  300. package/src/apikey.ts +30 -39
  301. package/src/apps.ts +116 -239
  302. package/src/audit-trail.ts +18 -33
  303. package/src/browser-credentials.ts +11 -23
  304. package/src/common.ts +17 -37
  305. package/src/content-query.ts +3 -4
  306. package/src/cost-analytics.ts +13 -35
  307. package/src/data-platform.ts +79 -168
  308. package/src/delegation.ts +4 -9
  309. package/src/email.ts +15 -29
  310. package/src/embeddings.ts +25 -51
  311. package/src/environment.ts +16 -33
  312. package/src/facets.ts +3 -4
  313. package/src/group.ts +6 -13
  314. package/src/index.ts +27 -0
  315. package/src/inference-profile.ts +20 -0
  316. package/src/integrations.ts +21 -41
  317. package/src/interaction.ts +68 -137
  318. package/src/meters.ts +4 -9
  319. package/src/oauth-server.ts +40 -81
  320. package/src/oauth.ts +9 -19
  321. package/src/payload.ts +11 -25
  322. package/src/pending-asks.ts +8 -22
  323. package/src/platform-event.ts +48 -97
  324. package/src/principal-context.ts +3 -3
  325. package/src/project.ts +43 -86
  326. package/src/prompt.ts +14 -31
  327. package/src/query.ts +10 -20
  328. package/src/rate-limiter.ts +7 -19
  329. package/src/refs.ts +2 -3
  330. package/src/roles/types.ts +5 -11
  331. package/src/run-budget.ts +8 -0
  332. package/src/runs.ts +9 -19
  333. package/src/secrets.ts +20 -41
  334. package/src/store/agent-approval.ts +4 -9
  335. package/src/store/agent-run.ts +53 -99
  336. package/src/store/collections.ts +11 -23
  337. package/src/store/conversation-state.ts +15 -15
  338. package/src/store/doc-analyzer.ts +7 -15
  339. package/src/store/dsl-workflow.ts +10 -23
  340. package/src/store/duration.ts +45 -0
  341. package/src/store/grounded-extraction.ts +6 -13
  342. package/src/store/intake-policy-schema.generated.ts +148 -2
  343. package/src/store/process.ts +70 -140
  344. package/src/store/rendering.ts +6 -19
  345. package/src/store/signals.ts +48 -0
  346. package/src/store/store.ts +92 -181
  347. package/src/store/task.ts +10 -24
  348. package/src/store/workflow.ts +35 -71
  349. package/src/sts-token-types.ts +14 -33
  350. package/src/tools.ts +12 -25
  351. package/src/transient-tokens.ts +3 -3
  352. package/src/user.ts +17 -39
  353. package/src/views.ts +61 -125
  354. package/src/wire-types.generated.ts +11889 -0
  355. package/src/workflow-analytics.ts +21 -19
  356. package/src/agent-resources.test.ts +0 -89
  357. package/src/api-contract/components.contract.test.ts +0 -99
  358. package/src/api-schemas/access-control.contract.test.ts +0 -209
  359. package/src/api-schemas/account-apikey.test.ts +0 -60
  360. package/src/api-schemas/account.contract.test.ts +0 -319
  361. package/src/api-schemas/adapter-edge-cases.test.ts +0 -499
  362. package/src/api-schemas/agent-communication.contract.test.ts +0 -90
  363. package/src/api-schemas/agent-history.contract.test.ts +0 -42
  364. package/src/api-schemas/agent-runs.contract.test.ts +0 -240
  365. package/src/api-schemas/api-discriminators.test.ts +0 -185
  366. package/src/api-schemas/apikey.contract.test.ts +0 -270
  367. package/src/api-schemas/app-delete-summary.contract.test.ts +0 -67
  368. package/src/api-schemas/bulk-operation.contract.test.ts +0 -39
  369. package/src/api-schemas/bundle-isolation.test.ts +0 -44
  370. package/src/api-schemas/commands.contract.test.ts +0 -51
  371. package/src/api-schemas/cost-analytics.contract.test.ts +0 -64
  372. package/src/api-schemas/dashboard.contract.test.ts +0 -138
  373. package/src/api-schemas/data-store.contract.test.ts +0 -97
  374. package/src/api-schemas/document-processing.contract.test.ts +0 -76
  375. package/src/api-schemas/emit-json-schema.test.ts +0 -36
  376. package/src/api-schemas/environment.contract.test.ts +0 -202
  377. package/src/api-schemas/group.contract.test.ts +0 -205
  378. package/src/api-schemas/indexing.contract.test.ts +0 -122
  379. package/src/api-schemas/interaction.contract.test.ts +0 -307
  380. package/src/api-schemas/invites.contract.test.ts +0 -268
  381. package/src/api-schemas/llumiverse.contract.test.ts +0 -179
  382. package/src/api-schemas/mcp-api-key.contract.test.ts +0 -125
  383. package/src/api-schemas/oauth.contract.test.ts +0 -181
  384. package/src/api-schemas/parameters.test.ts +0 -402
  385. package/src/api-schemas/process.contract.test.ts +0 -115
  386. package/src/api-schemas/project.contract.test.ts +0 -472
  387. package/src/api-schemas/pruning-limits.test.ts +0 -189
  388. package/src/api-schemas/quota.contract.test.ts +0 -147
  389. package/src/api-schemas/registry-groups.test.ts +0 -99
  390. package/src/api-schemas/response-pruning.test.ts +0 -260
  391. package/src/api-schemas/store.contract.test.ts +0 -378
  392. package/src/api-schemas/sts.contract.test.ts +0 -112
  393. package/src/api-schemas/user.contract.test.ts +0 -197
  394. package/src/api-schemas/views.contract.test.ts +0 -112
  395. package/src/api-schemas/zeno-response-contracts.test.ts +0 -380
  396. package/src/apps.test.ts +0 -89
  397. package/src/oauth-scopes.test.ts +0 -15
  398. package/src/roles.test.ts +0 -33
  399. package/src/schema-for-extraction.test.ts +0 -191
  400. package/src/store/agent-approval.test.ts +0 -18
  401. package/src/store/content-type-editing.test.ts +0 -17
  402. package/src/store/ms.d.ts +0 -42
  403. package/src/store/schedule.test.ts +0 -59
  404. package/src/store/workflow.test.ts +0 -640
  405. package/src/versions.test.ts +0 -13
@@ -1,380 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { validateApiRequest, validateApiResponse } from './registry.js';
3
-
4
- const timestamp = '2026-08-05T12:00:00.000Z';
5
-
6
- const contentObject = {
7
- id: '64b000000000000000000001',
8
- name: 'Quarterly report',
9
- updated_by: 'user:legacy',
10
- created_by: 'user:legacy',
11
- created_at: timestamp,
12
- updated_at: timestamp,
13
- location: '/Quarterly report',
14
- status: 'ready',
15
- properties: {},
16
- revision: { root: '64b000000000000000000001', head: true },
17
- sensitivity: 2,
18
- compartments: ['finance'],
19
- };
20
-
21
- const autonomousRun = {
22
- id: '64b000000000000000000002',
23
- account: '64b000000000000000000003',
24
- project: '64b000000000000000000004',
25
- run_kind: 'agent',
26
- run_type: 'autonomous',
27
- status: 'running',
28
- started_by: 'user:legacy',
29
- started_at: timestamp,
30
- created_at: timestamp,
31
- updated_at: timestamp,
32
- interaction: 'sys:generic_question',
33
- interactionRef: {
34
- id: 'sys:generic_question',
35
- name: 'Generic question',
36
- endpoint: 'sys:generic_question',
37
- status: 'code',
38
- version: 0,
39
- tags: [],
40
- updated_at: timestamp,
41
- },
42
- environmentRef: {
43
- id: '64b000000000000000000005',
44
- name: 'Default',
45
- type: 'environment',
46
- },
47
- config: {
48
- environment: '64b000000000000000000005',
49
- model: 'legacy-provider/model',
50
- },
51
- interactive: true,
52
- };
53
-
54
- const processRun = {
55
- id: '64b000000000000000000009',
56
- account: '64b000000000000000000003',
57
- project: '64b000000000000000000004',
58
- run_kind: 'process',
59
- run_type: 'programmatic',
60
- status: 'running',
61
- started_by: 'user:legacy',
62
- started_at: timestamp,
63
- created_at: timestamp,
64
- updated_at: timestamp,
65
- process_definition_snapshot: {
66
- format_version: 1,
67
- process: 'Process',
68
- initial: 'start',
69
- context: { schema: {}, initial: {} },
70
- nodes: { start: { type: 'final' } },
71
- },
72
- process_state: {
73
- context: {},
74
- current_node: 'start',
75
- node_history: [],
76
- node_history_ref: { path: 'history', latest_sequence: 0, count: 0 },
77
- sequence: 0,
78
- },
79
- };
80
-
81
- describe('Zeno read-side response contracts', () => {
82
- it('accepts conversation metadata and enrichment controls when creating an agent run', () => {
83
- expect(
84
- validateApiRequest('CreateAgentRunPayload', {
85
- interaction: 'sys:generic_question',
86
- title: 'Manual title',
87
- topic: 'Manual topic',
88
- generate_topic: false,
89
- generate_lessons: false,
90
- }).valid,
91
- ).toBe(true);
92
- expect(
93
- validateApiRequest('RecordAgentRunPayload', {
94
- interaction: 'sys:generic_question',
95
- workflow_id: 'workflow-1',
96
- first_workflow_run_id: 'run-1',
97
- title: 'Manual title',
98
- topic: 'Manual topic',
99
- generate_topic: false,
100
- generate_lessons: false,
101
- }).valid,
102
- ).toBe(true);
103
- });
104
-
105
- it('keeps the corresponding write contracts strict', () => {
106
- expect(
107
- validateApiRequest('CreateAgentRunPayload', {
108
- interaction: 'sys:generic_question',
109
- config: {
110
- environment: '64b000000000000000000005',
111
- model: 'legacy-provider/model',
112
- model_options: { provider_extension: true },
113
- },
114
- }).valid,
115
- ).toBe(false);
116
- expect(
117
- validateApiRequest('CreateProcessDefinitionPayload', {
118
- name: 'Legacy process',
119
- definition: { process: 'Legacy', initial: 'start', context: {}, nodes: {} },
120
- }).valid,
121
- ).toBe(false);
122
- });
123
-
124
- it('accepts runtime model and effort status updates', () => {
125
- expect(
126
- validateApiRequest('UpdateAgentRunStatusPayload', {
127
- model: 'gpt-5.6-sol',
128
- effort: 'xhigh',
129
- }).valid,
130
- ).toBe(true);
131
- expect(validateApiRequest('UpdateAgentRunStatusPayload', { effort: null }).valid).toBe(true);
132
- expect(validateApiRequest('UpdateAgentRunStatusPayload', { effort: 'unbounded' }).valid).toBe(false);
133
- });
134
-
135
- it('accepts normalized autonomous runs and projected refs', () => {
136
- expect(validateApiResponse('AgentRun', autonomousRun).valid).toBe(true);
137
- expect(validateApiResponse('AgentRunResponse', autonomousRun).valid).toBe(true);
138
- expect(validateApiResponse('AgentRunResponse', processRun).valid).toBe(true);
139
- expect(
140
- validateApiResponse('ListAgentRunsResponse', {
141
- items: [autonomousRun],
142
- total_count: 1,
143
- next_cursor: null,
144
- }).valid,
145
- ).toBe(true);
146
- });
147
-
148
- it('uses the current compact message contract for update responses', () => {
149
- const response = { messages: [{ t: 2, d: { files: ['legacy-file-id'] } }] };
150
- expect(validateApiResponse('AgentRunUpdatesResponse', response).valid).toBe(true);
151
- expect(validateApiResponse('WorkflowRunUpdatesResponse', response).valid).toBe(true);
152
- });
153
-
154
- it('accepts normalized legacy collections and full or projected content objects', () => {
155
- expect(
156
- validateApiResponse('CollectionArray', [
157
- {
158
- id: '64b000000000000000000006',
159
- name: 'Legacy',
160
- created_by: '',
161
- updated_by: '',
162
- created_at: timestamp,
163
- updated_at: timestamp,
164
- dynamic: false,
165
- status: 'active',
166
- skip_head_sync: false,
167
- parents: ['64b000000000000000000007'],
168
- },
169
- ]).valid,
170
- ).toBe(true);
171
- expect(validateApiResponse('ContentObjectApiResponse', contentObject).valid).toBe(true);
172
- expect(validateApiResponse('ContentObjectApiResponseArray', [contentObject]).valid).toBe(true);
173
- const { sensitivity: _sensitivity, compartments: _compartments, ...contentObjectItem } = contentObject;
174
- expect(validateApiResponse('ContentObjectItemApiResponseArray', [contentObjectItem]).valid).toBe(true);
175
- expect(validateApiResponse('ProjectedContentObjectApiResponse', { id: contentObject.id, score: 1 }).valid).toBe(
176
- true,
177
- );
178
- expect(validateApiResponse('ProjectedContentObjectApiResponse', { id: contentObject.id, bogus: 1 }).valid).toBe(
179
- false,
180
- );
181
- expect(
182
- validateApiResponse('ObjectSearchResponse', {
183
- results: [{ id: contentObject.id, score: 1 }],
184
- facets: { total: 1 },
185
- }).valid,
186
- ).toBe(true);
187
- });
188
-
189
- it('accepts display metadata on child-workflow steps', () => {
190
- expect(
191
- validateApiResponse('DSLWorkflowDefinitionResponse', {
192
- id: 'workflow-1',
193
- name: 'Parent workflow',
194
- edit_revision: 1,
195
- created_by: 'user-1',
196
- updated_by: 'user-1',
197
- created_at: timestamp,
198
- updated_at: timestamp,
199
- vars: {},
200
- spec_format: 'steps',
201
- steps: [
202
- {
203
- type: 'workflow',
204
- name: 'childWorkflow',
205
- title: 'Review documents',
206
- description: 'Runs the review child workflow',
207
- },
208
- ],
209
- }).valid,
210
- ).toBe(true);
211
- });
212
-
213
- it('accepts explicit file, embedding, facet, and data-table wire objects', () => {
214
- expect(
215
- validateApiResponse('FileMetadataResponse', {
216
- name: 'report.pdf',
217
- size: 42,
218
- contentType: 'application/pdf',
219
- generation: '7',
220
- }).valid,
221
- ).toBe(true);
222
- expect(
223
- validateApiResponse('SetObjectEmbeddingsResponse', {
224
- type: { model: 'embed-v1', values: [0.1, 0.2], etag: 'abc' },
225
- }).valid,
226
- ).toBe(true);
227
- expect(
228
- validateApiResponse('ComputedFacetResponse', { total: 3, status: [{ _id: 'ready', count: 3 }] }).valid,
229
- ).toBe(true);
230
- // `total` is reserved for the match count: buckets belong under the facet's own name. The
231
- // server rejects a facet named `total` with a 400, so an array can never reach this field.
232
- expect(validateApiResponse('ComputedFacetResponse', { total: [{ _id: 'ready', count: 3 }] }).valid).toBe(false);
233
- expect(
234
- validateApiResponse('DataTable', {
235
- name: 'invoices',
236
- columns: [{ name: 'id', type: 'STRING' }],
237
- tags: [],
238
- created_at: timestamp,
239
- updated_at: timestamp,
240
- }).valid,
241
- ).toBe(true);
242
- });
243
-
244
- it('accepts workflow memo, children, and interaction snapshots', () => {
245
- const workflow = {
246
- started_at: timestamp,
247
- closed_at: null,
248
- initiated_by: 'user:legacy',
249
- memo: { InitiatedBy: { data: 'legacy' } },
250
- };
251
- expect(validateApiResponse('ListWorkflowRunsResponse', { runs: [workflow] }).valid).toBe(true);
252
- expect(
253
- validateApiResponse('WorkflowRunWithDetails', {
254
- ...workflow,
255
- children: [{ started_at: timestamp, closed_at: null }],
256
- }).valid,
257
- ).toBe(true);
258
- expect(
259
- validateApiResponse('ListWorkflowInteractionsResponse', {
260
- workflow_id: 'workflow-1',
261
- run_id: 'run-1',
262
- interaction: {
263
- type: 'conversation',
264
- interaction: 'legacy',
265
- interactive: true,
266
- tool_names: [],
267
- config: {
268
- environment: '64b000000000000000000005',
269
- model: 'model',
270
- },
271
- agent_run_id: 'run-1',
272
- },
273
- }).valid,
274
- ).toBe(true);
275
- });
276
-
277
- it('accepts record key and value types in the generated activity catalog', () => {
278
- expect(
279
- validateApiResponse('ActivityCatalog', {
280
- activities: [
281
- {
282
- name: 'countByStatus',
283
- title: 'Count By Status',
284
- paramsType: 'CountByStatusParams',
285
- params: [
286
- {
287
- name: 'counts',
288
- optional: false,
289
- type: {
290
- name: 'record',
291
- value: 'Record<string, number>',
292
- keyType: { name: 'string', value: 'string' },
293
- valueType: { name: 'number', value: 'number' },
294
- },
295
- },
296
- ],
297
- },
298
- ],
299
- }).valid,
300
- ).toBe(true);
301
- });
302
-
303
- it('accepts process context, history, and current process definitions', () => {
304
- expect(
305
- validateApiResponse('ProcessContextResponse', {
306
- run_id: 'run-1',
307
- current_node: 'review',
308
- context: { invoice_id: 'inv-1' },
309
- }).valid,
310
- ).toBe(true);
311
- expect(
312
- validateApiResponse('ProcessHistoryResponse', {
313
- run_id: 'run-1',
314
- current_node: 'review',
315
- node_history: [{ node: 'review', entered_at: timestamp, status: 'running' }],
316
- node_history_ref: { path: 'history', latest_sequence: 1, count: 1 },
317
- }).valid,
318
- ).toBe(true);
319
- expect(
320
- validateApiResponse('ProcessDefinitionArray', [
321
- {
322
- id: '64b000000000000000000008',
323
- account: '64b000000000000000000003',
324
- project: '64b000000000000000000004',
325
- edit_revision: 1,
326
- name: 'Legacy process',
327
- status: 'draft',
328
- version: 1,
329
- definition: {
330
- format_version: 1,
331
- process: 'Process',
332
- initial: 'start',
333
- context: { schema: {}, initial: {} },
334
- nodes: { start: { type: 'final' } },
335
- },
336
- created_at: timestamp,
337
- updated_at: timestamp,
338
- created_by: 'user:legacy',
339
- updated_by: 'user:legacy',
340
- },
341
- ]).valid,
342
- ).toBe(true);
343
- });
344
-
345
- it('publishes agent-node launch and execution policy', () => {
346
- expect(
347
- validateApiRequest('CreateProcessDefinitionPayload', {
348
- name: 'App development process',
349
- definition: {
350
- format_version: 1,
351
- process: 'app_development',
352
- initial: 'implement',
353
- context: { schema: {}, initial: {} },
354
- nodes: {
355
- implement: {
356
- type: 'agent',
357
- interaction: 'sys:AppDeveloper',
358
- inherit_context: false,
359
- initial_skills: ['app_quick_fix'],
360
- excluded_tools: ['learn_app_development'],
361
- agent_policy: {
362
- phases: [
363
- {
364
- id: 'saved',
365
- tools: ['app_workspace_save'],
366
- tool_input_contains: [{ field: 'mode', contains: 'commit' }],
367
- recovery_prompt: 'Save before finishing.',
368
- },
369
- ],
370
- phase_resets: [{ tools: ['app_workspace_edit'], to_phase: 'saved' }],
371
- defer_result_schema_until_complete: true,
372
- completion_prompt: 'Return the structured result now.',
373
- },
374
- },
375
- },
376
- },
377
- }).valid,
378
- ).toBe(true);
379
- });
380
- });
package/src/apps.test.ts DELETED
@@ -1,89 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import {
3
- AppEventHookPayloadSchema,
4
- AppEventSubscriptionDefinitionSchema,
5
- AppPackageHooksSchema,
6
- } from './api-schemas/app-runtime.js';
7
- import { APP_CAPABILITIES, APP_PACKAGE_SCOPES } from './apps.js';
8
-
9
- describe('app capability contracts', () => {
10
- it('keeps views in the manifest and package contracts', () => {
11
- expect(APP_CAPABILITIES).toContain('views');
12
- expect(APP_PACKAGE_SCOPES).toContain('views');
13
- });
14
-
15
- it('exposes app hooks as a package query scope', () => {
16
- expect(APP_PACKAGE_SCOPES).toContain('hooks');
17
- expect(APP_PACKAGE_SCOPES).toContain('subscriptions');
18
- });
19
-
20
- it('accepts app-owned subscriptions without a deployment-specific target', () => {
21
- expect(
22
- AppEventSubscriptionDefinitionSchema.parse({
23
- id: 'content-updated',
24
- name: 'Content updated',
25
- hook: 'content-updated',
26
- filter: { action: ['update'], resource_type: ['content_object'] },
27
- run_as_role: 'automation',
28
- }),
29
- ).toEqual({
30
- id: 'content-updated',
31
- name: 'Content updated',
32
- hook: 'content-updated',
33
- filter: { action: ['update'], resource_type: ['content_object'] },
34
- run_as_role: 'automation',
35
- });
36
- });
37
-
38
- it('validates the canonical app event-hook envelope', () => {
39
- const payload = {
40
- event: {
41
- event_id: 'event-1',
42
- root_event_id: 'event-1',
43
- hop_count: 0,
44
- event_category: 'content',
45
- action: 'update',
46
- resource_type: 'content_object',
47
- resource_id: 'object-1',
48
- account_id: 'account-1',
49
- project_id: 'project-1',
50
- tenant_id: 'account-1_project-1',
51
- timestamp: '2026-08-05T10:00:00.000Z',
52
- source: 'zeno-server',
53
- details: { changed: ['title'] },
54
- },
55
- delivery: {
56
- id: 'delivery-1',
57
- subscription_id: 'subscription-1',
58
- attempt: 1,
59
- },
60
- };
61
-
62
- expect(AppEventHookPayloadSchema.parse(payload)).toEqual(payload);
63
- expect(() => AppEventHookPayloadSchema.parse({ event: payload.event })).toThrow();
64
- });
65
-
66
- it('accepts lifecycle and event hook package metadata', () => {
67
- expect(
68
- AppPackageHooksSchema.parse({
69
- install: '/api/hooks/install',
70
- events: [
71
- {
72
- name: 'content-updated',
73
- path: '/api/hooks/content-updated',
74
- description: 'Processes updated content.',
75
- },
76
- ],
77
- }),
78
- ).toEqual({
79
- install: '/api/hooks/install',
80
- events: [
81
- {
82
- name: 'content-updated',
83
- path: '/api/hooks/content-updated',
84
- description: 'Processes updated content.',
85
- },
86
- ],
87
- });
88
- });
89
- });
@@ -1,15 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { Permission } from './access-control-values.js';
3
- import { getOAuthPermissionScopes } from './oauth-scopes.js';
4
-
5
- describe('getOAuthPermissionScopes', () => {
6
- it('allows API key metadata reads but not persistent credential administration', () => {
7
- const scopes = getOAuthPermissionScopes();
8
-
9
- expect(scopes).toContain(Permission.api_key_read);
10
- expect(scopes).not.toContain(Permission.api_key_create);
11
- expect(scopes).not.toContain(Permission.api_key_update);
12
- expect(scopes).not.toContain(Permission.api_key_delete);
13
- expect(scopes).not.toContain(Permission.api_key_secret_read);
14
- });
15
- });
package/src/roles.test.ts DELETED
@@ -1,33 +0,0 @@
1
- import { describe, expect, test } from 'vitest';
2
- import { SystemRoles } from './project.js';
3
- import { AbacScopes } from './roles/types.js';
4
-
5
- describe('shared role vocabulary', () => {
6
- test('exports all system roles', () => {
7
- expect(Object.values(SystemRoles).sort()).toEqual(
8
- [
9
- 'admin',
10
- 'app_admin',
11
- 'app_member',
12
- 'application',
13
- 'auditor',
14
- 'automation',
15
- 'billing',
16
- 'consumer',
17
- 'content_processor',
18
- 'content_superadmin',
19
- 'developer',
20
- 'executor',
21
- 'manager',
22
- 'member',
23
- 'owner',
24
- 'reader',
25
- 'support',
26
- ].sort(),
27
- );
28
- });
29
-
30
- test('exports ABAC scopes used by role wire types', () => {
31
- expect(AbacScopes).toEqual(['document', 'collection', 'task']);
32
- });
33
- });