@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
@@ -0,0 +1,151 @@
1
+ import { ModelOptionsSchema } from '@llumiverse/common/schemas';
2
+ import { z } from 'zod';
3
+ import { AgentBudgetConfigurationSchema } from './agent-budget.js';
4
+
5
+ export const InferenceProfileIdSchema = z
6
+ .string()
7
+ .regex(/^[a-fA-F0-9]{24}$/)
8
+ .meta({
9
+ id: 'InferenceProfileId',
10
+ description: 'MongoDB ObjectId of the inference profile.',
11
+ });
12
+
13
+ export const InferenceProfileNameSchema = z
14
+ .string()
15
+ .min(1)
16
+ .max(80)
17
+ .regex(/\S/)
18
+ .meta({ id: 'InferenceProfileName', description: 'Editable display name, independent of the stable profile ID.' });
19
+
20
+ export const InferenceProfileSchema = z
21
+ .strictObject({
22
+ name: InferenceProfileNameSchema.optional().meta({
23
+ description: 'Editable display name.',
24
+ }),
25
+ description: z.string().max(1000).optional(),
26
+ environment: z.string().regex(/^[a-fA-F0-9]{24}$/),
27
+ model: z.string().min(1).optional(),
28
+ model_options: ModelOptionsSchema.optional(),
29
+ })
30
+ .meta({
31
+ id: 'InferenceProfile',
32
+ description:
33
+ 'A reusable environment, model and inference parameter preset. Credentials remain in the environment.',
34
+ });
35
+
36
+ export const ProjectInferenceProfilesSchema = z
37
+ .strictObject({
38
+ default_profile: InferenceProfileIdSchema.optional(),
39
+ modality: z
40
+ .strictObject({
41
+ image: InferenceProfileIdSchema.optional(),
42
+ video: InferenceProfileIdSchema.optional(),
43
+ })
44
+ .optional(),
45
+ system: z
46
+ .strictObject({
47
+ content_type: InferenceProfileIdSchema.optional(),
48
+ intake: InferenceProfileIdSchema.optional(),
49
+ analysis: InferenceProfileIdSchema.optional(),
50
+ agent: InferenceProfileIdSchema.optional(),
51
+ non_applicable: InferenceProfileIdSchema.optional(),
52
+ })
53
+ .optional(),
54
+ })
55
+ .meta({
56
+ id: 'ProjectInferenceProfiles',
57
+ description:
58
+ 'Project defaults reference profile MongoDB IDs. Profile definitions are managed through the inference profiles API.',
59
+ });
60
+
61
+ export const InferenceProfileSnapshotSchema = z
62
+ .strictObject({
63
+ id: InferenceProfileIdSchema.optional(),
64
+ name: InferenceProfileNameSchema,
65
+ revision: z.string(),
66
+ source: z.enum(['request', 'binding', 'interaction', 'project']),
67
+ profile: InferenceProfileSchema,
68
+ })
69
+ .meta({
70
+ id: 'InferenceProfileSnapshot',
71
+ description:
72
+ 'The selected profile and content revision at execution creation. Effective overrides are recorded in the execution config.',
73
+ });
74
+
75
+ export const CreateInferenceProfilePayloadSchema = InferenceProfileSchema.extend({
76
+ name: InferenceProfileNameSchema,
77
+ }).meta({
78
+ id: 'CreateInferenceProfilePayload',
79
+ description: 'Create a profile in the current project. The server assigns its MongoDB ID.',
80
+ });
81
+
82
+ export const UpdateInferenceProfilePayloadSchema = CreateInferenceProfilePayloadSchema.extend({}).meta({
83
+ id: 'UpdateInferenceProfilePayload',
84
+ description: 'Replace editable profile fields, preserving its ID and references.',
85
+ });
86
+
87
+ export const InferenceProfileRecordSchema = CreateInferenceProfilePayloadSchema.extend({
88
+ id: z.string().regex(/^[a-fA-F0-9]{24}$/),
89
+ project: z.string(),
90
+ created_at: z.string().datetime(),
91
+ updated_at: z.string().datetime(),
92
+ }).meta({
93
+ id: 'InferenceProfileRecord',
94
+ description: 'A project-scoped inference profile stored as a MongoDB document.',
95
+ });
96
+
97
+ export const InferenceProfileRecordArraySchema = z
98
+ .array(InferenceProfileRecordSchema)
99
+ .meta({ id: 'InferenceProfileRecordArray' });
100
+
101
+ export const UpdateInteractionConfigurationPayloadSchema = z
102
+ .strictObject({
103
+ inference_profile: InferenceProfileIdSchema.nullable(),
104
+ budget: AgentBudgetConfigurationSchema.nullable().optional().meta({
105
+ description:
106
+ 'Project-scoped agent budget override. Null restores the code-defined or project default; omission preserves the saved budget.',
107
+ }),
108
+ })
109
+ .meta({ id: 'UpdateInteractionConfigurationPayload' });
110
+ export const InteractionConfigurationRecordSchema = UpdateInteractionConfigurationPayloadSchema.extend({
111
+ id: z.string().regex(/^[a-fA-F0-9]{24}$/),
112
+ project: z.string(),
113
+ interaction: z.string(),
114
+ created_at: z.string().datetime(),
115
+ updated_at: z.string().datetime(),
116
+ }).meta({ id: 'InteractionConfigurationRecord' });
117
+ export const InteractionConfigurationResultSchema = z
118
+ .strictObject({
119
+ configuration: InteractionConfigurationRecordSchema.nullable(),
120
+ })
121
+ .meta({ id: 'InteractionConfigurationResult' });
122
+
123
+ export const InferenceProfileUsageQuerySchema = z
124
+ .strictObject({
125
+ search: z.string().max(200).optional(),
126
+ kind: z.enum(['stored', 'system', 'app']).optional(),
127
+ offset: z.coerce.number().int().min(0).optional(),
128
+ limit: z.coerce.number().int().min(1).max(100).optional(),
129
+ })
130
+ .meta({ id: 'InferenceProfileUsageQuery' });
131
+
132
+ export const InferenceProfileUsageEntrySchema = z
133
+ .strictObject({
134
+ id: z.string(),
135
+ name: z.string(),
136
+ kind: z.enum(['stored', 'system', 'app']),
137
+ version: z.number().optional(),
138
+ status: z.string().optional(),
139
+ })
140
+ .meta({ id: 'InferenceProfileUsageEntry' });
141
+
142
+ export const InferenceProfileUsageSchema = z
143
+ .strictObject({
144
+ interactions: z.array(InferenceProfileUsageEntrySchema),
145
+ total: z.number().int().nonnegative(),
146
+ defaults: z.array(z.string()).meta({ description: 'Project default slots directly referencing this profile.' }),
147
+ })
148
+ .meta({
149
+ id: 'InferenceProfileUsage',
150
+ description: 'Persisted direct assignments; runtime overrides and inherited usage are not enumerated.',
151
+ });
@@ -24,9 +24,10 @@ import { AgentToolApprovalModes } from '../store/agent-approval.js';
24
24
  import { LlmCallType } from '../workflow-analytics.js';
25
25
  import { ProjectRefSchema } from './apikey.js';
26
26
  import { ExecutionEnvironmentRefSchema } from './environment.js';
27
+ import { InferenceProfileIdSchema, InferenceProfileSnapshotSchema } from './inference-profile.js';
27
28
  import { AccountRefSchema } from './invites.js';
28
29
  import { ProcessAgentExecutionPolicySchema } from './process-agent-policy.js';
29
- import { AgentCheckpointConfigurationSchema } from './project-configuration.js';
30
+ import { AgentBudgetConfigurationSchema, AgentCheckpointConfigurationSchema } from './project-configuration.js';
30
31
  import { EditRevisionSchema, ExpectedEditRevisionSchema } from './schema-primitives.js';
31
32
  import { InteractionExecutionConfigurationSchema, RunDataStorageLevelSchema } from './store.js';
32
33
 
@@ -744,6 +745,8 @@ export const ResolvedRuntimeConfigSchema = z
744
745
  environment: ResolvedEnvironmentInfoSchema,
745
746
  model: z.string().optional(),
746
747
  model_source: ModelSourceSchema,
748
+ inference_profile: InferenceProfileSnapshotSchema.optional(),
749
+ model_options: ModelOptionsSchema.optional(),
747
750
  })
748
751
  .meta({ id: 'ResolvedRuntimeConfig', description: 'Resolved runtime configuration for an interaction' });
749
752
 
@@ -803,6 +806,10 @@ export const AgentRunnerOptionsSchema = z
803
806
  description:
804
807
  "Per-agent context checkpoint configuration. Field-wise it overrides the project's `configuration.agent.checkpoint`; a per-run `checkpoint_tokens` override still wins over both.",
805
808
  }).optional(),
809
+ budget: AgentBudgetConfigurationSchema.meta({
810
+ description:
811
+ "Per-agent token budget. Field-wise it overrides the project's `configuration.agent.budget`; the per-run `budget` wins over both.",
812
+ }).optional(),
806
813
  })
807
814
  .meta({
808
815
  id: 'AgentRunnerOptions',
@@ -883,6 +890,8 @@ export const RateLimitRequestPayloadSchema = z
883
890
  .strictObject({
884
891
  interaction: z.string(),
885
892
  environment_id: z.string().optional(),
893
+ inference_profile: InferenceProfileIdSchema.nullable().optional(),
894
+ inherit_model_config: z.boolean().optional(),
886
895
  model_id: z.string().optional(),
887
896
  workflow_run_id: z
888
897
  .string()
@@ -985,6 +994,7 @@ export const InteractionCreatePayloadSchema = z
985
994
  environment: z.union([z.string(), ExecutionEnvironmentRefSchema]).optional(),
986
995
  model: z.string().optional(),
987
996
  model_options: ModelOptionsSchema.optional(),
997
+ inference_profile: InferenceProfileIdSchema.nullable().optional(),
988
998
  store_media_results: z.boolean().optional(),
989
999
  restriction: RunDataStorageLevelSchema.optional(),
990
1000
  output_modality: ModalitiesSchema.meta({
@@ -1011,6 +1021,7 @@ export const InteractionSchema = z
1011
1021
  environment: z.union([z.string(), ExecutionEnvironmentRefSchema]).optional(),
1012
1022
  model: z.string().optional(),
1013
1023
  model_options: ModelOptionsSchema.optional(),
1024
+ inference_profile: InferenceProfileIdSchema.nullable().optional(),
1014
1025
  store_media_results: z.boolean().optional(),
1015
1026
  restriction: RunDataStorageLevelSchema.optional(),
1016
1027
  output_modality: ModalitiesSchema.meta({
@@ -1099,6 +1110,7 @@ export const InCodeInteractionSchema = z
1099
1110
  tags: z.array(z.string()).optional(),
1100
1111
  agent_runner_options: AgentRunnerOptionsSchema.optional(),
1101
1112
  model_options: ModelOptionsSchema.optional(),
1113
+ inference_profile: InferenceProfileIdSchema.nullable().optional(),
1102
1114
  prompts: z.array(InCodePromptSchema),
1103
1115
  externalId: z.string().optional(),
1104
1116
  runtime: z
@@ -1232,6 +1244,7 @@ export const InteractionUpdatePayloadSchema = z
1232
1244
  environment: z.union([z.string(), ExecutionEnvironmentRefSchema]).optional(),
1233
1245
  model: z.string().optional(),
1234
1246
  model_options: ModelOptionsSchema.optional(),
1247
+ inference_profile: InferenceProfileIdSchema.nullable().optional(),
1235
1248
  store_media_results: z.boolean().optional(),
1236
1249
  restriction: RunDataStorageLevelSchema.optional(),
1237
1250
  output_modality: ModalitiesSchema.meta({
@@ -1455,6 +1468,7 @@ export const ExecutionRunSchema: z.ZodType = z
1455
1468
  account: AccountRefSchema,
1456
1469
  project: ProjectRefSchema,
1457
1470
  config: InteractionExecutionConfigurationSchema,
1471
+ inference_profile: InferenceProfileSnapshotSchema.optional(),
1458
1472
  error: InteractionExecutionErrorSchema.optional(),
1459
1473
  source: RunSourceSchema,
1460
1474
  output_modality: ModalitiesSchema.meta({
@@ -1512,6 +1526,7 @@ export const InteractionExecutionResultSchema = z
1512
1526
  created_at: z.string().meta({ format: 'date-time' }),
1513
1527
  updated_at: z.string().meta({ format: 'date-time' }),
1514
1528
  config: InteractionExecutionConfigurationSchema,
1529
+ inference_profile: InferenceProfileSnapshotSchema.optional(),
1515
1530
  error: InteractionExecutionErrorSchema.optional(),
1516
1531
  source: RunSourceSchema,
1517
1532
  output_modality: ModalitiesSchema.meta({
@@ -1647,6 +1662,7 @@ export const ExecutionRunRefSchema = z
1647
1662
  account: AccountRefSchema,
1648
1663
  project: ProjectRefSchema,
1649
1664
  config: InteractionExecutionConfigurationSchema,
1665
+ inference_profile: InferenceProfileSnapshotSchema.optional(),
1650
1666
  error: InteractionExecutionErrorSchema.optional(),
1651
1667
  source: RunSourceSchema,
1652
1668
  output_modality: ModalitiesSchema.meta({
@@ -1755,6 +1771,10 @@ export const ConversationStateSchema = z
1755
1771
  'Project-configured checkpoint hard cap in tokens (cached from project.configuration.agent_checkpoint_tokens at conversation start). The workflow resolves the effective threshold from these, the per-run checkpoint_tokens override, and the model-based default.',
1756
1772
  })
1757
1773
  .optional(),
1774
+ budget: AgentBudgetConfigurationSchema.meta({
1775
+ description:
1776
+ "Project-configured agent token budget (cached from project.configuration.agent.budget at conversation start). The workflow resolves the effective budget field-wise from this, the interaction's agent_runner_options.budget, and the per-run budget override.",
1777
+ }).optional(),
1758
1778
  user_channels: z
1759
1779
  .array(UserChannelSchema)
1760
1780
  .meta({
@@ -2106,6 +2126,11 @@ export const AsyncInteractionExecutionPayloadSchema = z
2106
2126
  })
2107
2127
  .meta({ id: 'AsyncInteractionExecutionPayload' });
2108
2128
 
2129
+ export const AgentEvaluateRequestSchema = z.boolean().optional().meta({
2130
+ description:
2131
+ 'Request LLM evaluation when the project evaluation policy is opt_in. Defaults to false. Cannot override disabled or opt out of always_on.',
2132
+ });
2133
+
2109
2134
  export const ConversationEnrichmentFields = {
2110
2135
  title: z.string().min(1).meta({ description: 'Caller-provided conversation title.' }).optional(),
2111
2136
  topic: z
@@ -2136,6 +2161,7 @@ export const AsyncConversationExecutionPayloadSchema = z
2136
2161
  'The interaction name and suffixed by an optional tag or version separated from the name using a @ character If no version/tag part is specified then the latest version is used. Example: ReviewContract, ReviewContract@draft, ReviewContract@1, ReviewContract@some-tag',
2137
2162
  }),
2138
2163
  ...ConversationEnrichmentFields,
2164
+ evaluate: AgentEvaluateRequestSchema,
2139
2165
  app_version: z
2140
2166
  .string()
2141
2167
  .meta({
@@ -2268,6 +2294,10 @@ export const AsyncConversationExecutionPayloadSchema = z
2268
2294
  description:
2269
2295
  "Structured per-run checkpoint override. Field-wise it takes precedence over the interaction's `agent_runner_options.checkpoint` and the project's `configuration.agent.checkpoint`. The legacy absolute `checkpoint_tokens` above still wins over everything when set.",
2270
2296
  }).optional(),
2297
+ budget: AgentBudgetConfigurationSchema.meta({
2298
+ description:
2299
+ "Per-run token budget override. Field-wise it takes precedence over the interaction's `agent_runner_options.budget` and the project's `configuration.agent.budget`. Subagent workstreams receive the remaining budget of their parent here.",
2300
+ }).optional(),
2271
2301
  strip_options: ConversationStripOptionsSchema.meta({
2272
2302
  description:
2273
2303
  'Configuration for stripping large data (images, text) from conversation history to prevent JSON serialization issues and reduce storage bloat.',
@@ -2292,6 +2322,13 @@ export const AsyncConversationExecutionPayloadSchema = z
2292
2322
  "Metadata inherited from parent workflow. Used to propagate context (e.g., apiKey, session info) to child workflows/workstreams. When a workstream is spawned, the parent's `data` is preserved here so that child tools can access it via metadata.parent_metadata.",
2293
2323
  })
2294
2324
  .optional(),
2325
+ final_verification: z
2326
+ .boolean()
2327
+ .meta({
2328
+ description:
2329
+ 'When true, a non-interactive free-form run takes one extra turn after its answer to check that the task is complete. Off by default, and never applied to workstreams: their parent reviews the result and can message the workstream to continue.',
2330
+ })
2331
+ .optional(),
2295
2332
  non_blocking_subagents: z
2296
2333
  .boolean()
2297
2334
  .meta({
@@ -2423,6 +2460,8 @@ export const ResolveInteractionQuerySchema = z
2423
2460
  .strictObject({
2424
2461
  environment: z.string().optional(),
2425
2462
  model: z.string().optional(),
2463
+ inference_profile: InferenceProfileIdSchema.optional(),
2464
+ inherit_model_config: InteractionExecutionConfigurationSchema.shape.inherit_model_config,
2426
2465
  hasImage: z.boolean().optional(),
2427
2466
  hasVideo: z.boolean().optional(),
2428
2467
  })
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  // From the values module, for the reason `./apikey.js` gives.
3
3
  import { TransientTokenType } from '../transient-tokens-values.js';
4
+ import type * as Wire from '../wire-types.generated.js';
4
5
  import { AccountSchema } from './account.js';
5
6
  import { ProjectRefSchema, SystemRolesSchema } from './apikey.js';
6
7
  import { UserRefSchema } from './user.js';
@@ -116,12 +117,12 @@ export const AccountProjectsResponseSchema = z
116
117
  })
117
118
  .meta({ id: 'AccountProjectsResponse' });
118
119
 
119
- export type UserInviteTokenDataFromSchema = z.infer<typeof UserInviteTokenDataSchema>;
120
- export type UserInviteTokenFromSchema = z.infer<typeof UserInviteTokenSchema>;
121
- export type UserInviteTokenArrayFromSchema = z.infer<typeof UserInviteTokenArraySchema>;
122
- export type InviteUserRequestPayloadFromSchema = z.infer<typeof InviteUserRequestPayloadSchema>;
123
- export type InviteUserResponsePayloadFromSchema = z.infer<typeof InviteUserResponsePayloadSchema>;
124
- export type InviteAcceptanceResponseFromSchema = z.infer<typeof InviteAcceptanceResponseSchema>;
125
- export type InviteDeclineResponseFromSchema = z.infer<typeof InviteDeclineResponseSchema>;
126
- export type OnboardingProgressFromSchema = z.infer<typeof OnboardingProgressSchema>;
127
- export type AccountProjectsResponseFromSchema = z.infer<typeof AccountProjectsResponseSchema>;
120
+ export type UserInviteTokenDataFromSchema = Wire.UserInviteTokenDataFromSchema;
121
+ export type UserInviteTokenFromSchema = Wire.UserInviteTokenFromSchema;
122
+ export type UserInviteTokenArrayFromSchema = Wire.UserInviteTokenArrayFromSchema;
123
+ export type InviteUserRequestPayloadFromSchema = Wire.InviteUserRequestPayloadFromSchema;
124
+ export type InviteUserResponsePayloadFromSchema = Wire.InviteUserResponsePayloadFromSchema;
125
+ export type InviteAcceptanceResponseFromSchema = Wire.InviteAcceptanceResponseFromSchema;
126
+ export type InviteDeclineResponseFromSchema = Wire.InviteDeclineResponseFromSchema;
127
+ export type OnboardingProgressFromSchema = Wire.OnboardingProgressFromSchema;
128
+ export type AccountProjectsResponseFromSchema = Wire.AccountProjectsResponseFromSchema;
@@ -1,19 +1,21 @@
1
+ import { InferenceProfileIdSchema } from './inference-profile.js';
1
2
  // Runtime schemas for the process API domain.
2
3
 
3
4
  import { JSONObjectSchema, JSONSchemaSchema, ModelOptionsSchema } from '@llumiverse/common/schemas';
4
- import type { StringValue } from 'ms';
5
5
  import { z } from 'zod';
6
+ import type { DurationString } from '../store/duration.js';
6
7
  import { PermissionSchema } from './access-control.js';
7
8
  import { AgentRunTypeSchema } from './app-lifecycle.js';
8
9
  import { StringValueMapSchema } from './files.js';
9
10
  import { ConversationVisibilitySchema, RunSourceSchema } from './interaction.js';
10
11
  import { ProcessAgentExecutionPolicySchema } from './process-agent-policy.js';
12
+ import { AgentBudgetConfigurationSchema } from './project-configuration.js';
11
13
  import { EditRevisionSchema, ExpectedEditRevisionSchema } from './schema-primitives.js';
12
14
  import { TaskFieldSchema } from './task.js';
13
15
 
14
16
  export const DurationValueSchema = z
15
17
  .union([z.string(), z.number()])
16
- .meta({ id: 'DurationValue', anyOf: undefined, type: ['string', 'number'] }) as z.ZodType<StringValue | number>;
18
+ .meta({ id: 'DurationValue', anyOf: undefined, type: ['string', 'number'] }) as z.ZodType<DurationString | number>;
17
19
 
18
20
  export const JsonLogicRuleSchema = z.looseObject({}).meta({ id: 'JsonLogicRule' });
19
21
 
@@ -178,6 +180,10 @@ export const ProcessDefinitionRevisionInfoSchema = z
178
180
 
179
181
  export const ProcessRunConfigSchema = z
180
182
  .strictObject({
183
+ inference_profile: InferenceProfileIdSchema.nullable().optional().meta({
184
+ description:
185
+ 'Run-level inference profile ID for process LLM nodes and the supervisor. Explicit model settings retain precedence.',
186
+ }),
181
187
  environment: z
182
188
  .string()
183
189
  .meta({ description: 'Execution environment id used by Process LLM nodes and the supervisor.' })
@@ -193,6 +199,10 @@ export const ProcessRunConfigSchema = z
193
199
  'Free-form message from the user when starting a run. Passed to the orchestrator LLM in supervised mode; stored on the run regardless so programmatic runs retain the intent that triggered them.',
194
200
  })
195
201
  .optional(),
202
+ budget: AgentBudgetConfigurationSchema.meta({
203
+ description:
204
+ 'Token budget shared by the whole run: agent nodes, interaction nodes, nested processes and, when the run is managed by an agent run, that agent run. Agent nodes and nested processes start with what is left of it. When it runs out the process stops scheduling nodes and lets running agent nodes write a final summary. A run managed by an interactive agent run then pauses (`budget.awaiting_allocation`) until more budget is added through that agent run, and retries the interrupted node; any other run ends failed with `terminal_reason` `token_budget_exhausted`. This is a soft limit, not a spending cap.',
205
+ }).optional(),
196
206
  process_workstream_monitor: z
197
207
  .strictObject({
198
208
  monitor_workflow_id: z.string(),
@@ -358,6 +368,68 @@ export const TransitionDefinitionSchema = z
358
368
 
359
369
  export const ProcessScriptSourceSchema = ProcessScriptInlineSourceSchema.meta({ id: 'ProcessScriptSource' });
360
370
 
371
+ export const ProcessTerminalReasonSchema = z.enum(['token_budget_exhausted']).meta({
372
+ id: 'ProcessTerminalReason',
373
+ description:
374
+ 'Why a process run ended other than by reaching a final node. `token_budget_exhausted`: the run spent its token budget; it ends with status `failed`.',
375
+ });
376
+
377
+ export const ProcessBudgetSummarySchema = z
378
+ .strictObject({
379
+ node_id: z.string(),
380
+ attempt: z.number(),
381
+ status: z.enum(['token_budget_exhausted', 'cancelled_at_deadline']).meta({
382
+ description:
383
+ '`token_budget_exhausted`: the node ended with a final summary turn. `cancelled_at_deadline`: the node was still running at the wrap-up deadline and was cancelled without a summary.',
384
+ }),
385
+ summary: z
386
+ .string()
387
+ .meta({ description: "The node's final summary, truncated to 2,000 characters." })
388
+ .optional(),
389
+ summary_truncated: z.boolean().optional(),
390
+ artifact: z
391
+ .string()
392
+ .meta({
393
+ description:
394
+ "Path of the node's conversation among the process run's artifacts, which holds the full summary.",
395
+ })
396
+ .optional(),
397
+ child_run_id: z.string().optional(),
398
+ usage_incomplete: z
399
+ .boolean()
400
+ .meta({
401
+ description:
402
+ "True when the node's final token usage never arrived; the run total counts its last reported usage.",
403
+ })
404
+ .optional(),
405
+ })
406
+ .meta({ id: 'ProcessBudgetSummary' });
407
+
408
+ export const ProcessBudgetStateSchema = z
409
+ .strictObject({
410
+ mode: z.enum(['token', 'dollar']).optional().meta({ description: 'Absent on historical token-only status.' }),
411
+ limit_usd: z.number().nonnegative().optional(),
412
+ reported_usd: z.number().nonnegative().optional(),
413
+ estimated_usd: z.number().nonnegative().optional(),
414
+ accounting_status: z.enum(['current', 'incomplete']).optional(),
415
+ unmeasured_calls: z.number().int().nonnegative().optional(),
416
+ limit_tokens: z.number(),
417
+ used_units: z.number().meta({ description: 'Weighted tokens used by the run and everything it launched.' }),
418
+ exhausted: z.boolean(),
419
+ awaiting_allocation: z
420
+ .boolean()
421
+ .meta({
422
+ description:
423
+ 'True while the run is paused because its budget ran out, waiting for more budget. Only a run managed by an interactive agent run pauses; the run then shows status `running`.',
424
+ })
425
+ .optional(),
426
+ summaries: z
427
+ .array(ProcessBudgetSummarySchema)
428
+ .meta({ description: 'One entry per node the budget stopped: at most the latest attempt, 50 entries.' })
429
+ .optional(),
430
+ })
431
+ .meta({ id: 'ProcessBudgetState' });
432
+
361
433
  export const ProcessStateSchema = z
362
434
  .strictObject({
363
435
  context: z.looseObject({}),
@@ -365,6 +437,10 @@ export const ProcessStateSchema = z
365
437
  node_history: z.array(NodeHistoryEntrySchema),
366
438
  node_history_ref: ProcessHistoryRefSchema.optional(),
367
439
  sequence: z.number(),
440
+ terminal_reason: ProcessTerminalReasonSchema.optional(),
441
+ budget: ProcessBudgetStateSchema.meta({
442
+ description: 'Run budget status, including dollar consumption when configured.',
443
+ }).optional(),
368
444
  })
369
445
  .meta({ id: 'ProcessState' });
370
446
 
@@ -1,6 +1,11 @@
1
1
  import { z } from 'zod';
2
+ import { AgentBudgetConfigurationSchema } from './agent-budget.js';
3
+
4
+ export { AgentBudgetConfigurationSchema } from './agent-budget.js';
5
+
2
6
  // From the values module, for the reason `./apikey.js` gives.
3
7
  import { ResourceVisibility } from '../project-values.js';
8
+ import { ProjectInferenceProfilesSchema } from './inference-profile.js';
4
9
  import { ContentTypeIntakePolicySchema } from './store.js';
5
10
 
6
11
  /**
@@ -145,9 +150,18 @@ export const AgentCheckpointConfigurationSchema = z
145
150
 
146
151
  export const AgentProjectConfigurationSchema = z
147
152
  .strictObject({
153
+ evaluation_policy: z.enum(['disabled', 'opt_in', 'always_on']).optional().meta({
154
+ description:
155
+ 'LLM evaluation policy. Defaults to always_on when omitted. disabled prevents evaluation even when requested; opt_in requires evaluate=true on the run; always_on evaluates every eligible run without sampling. Deterministic diagnostics are unaffected.',
156
+ }),
148
157
  checkpoint: AgentCheckpointConfigurationSchema.optional().meta({
149
158
  description: 'Conversation checkpoint (context compaction) tuning.',
150
159
  }),
160
+ budget: AgentBudgetConfigurationSchema.optional().meta({
161
+ description:
162
+ 'Default token budget for agent runs in this project. Field-wise overridden by the ' +
163
+ "interaction's `agent_runner_options.budget` and the per-run `budget`.",
164
+ }),
151
165
  })
152
166
  .meta({
153
167
  id: 'AgentProjectConfiguration',
@@ -422,7 +436,11 @@ export const ProjectConfigurationSchema = z
422
436
  default_environment: z.string().optional(),
423
437
  default_model: z.string().optional(),
424
438
  human_context: z.string().optional(),
425
- defaults: ProjectModelDefaultsSchema.optional(),
439
+ defaults: ProjectModelDefaultsSchema.optional().meta({
440
+ deprecated: true,
441
+ description: 'Legacy model defaults, replaced by inference profile assignments after migration.',
442
+ }),
443
+ inference: ProjectInferenceProfilesSchema.optional(),
426
444
  default_visibility: ResourceVisibilitySchema.optional(),
427
445
  sync_content_properties: z.boolean().optional(),
428
446
  embeddings: z.strictObject({
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  // From the values module, for the reason `./apikey.js` gives.
3
3
  import { SupportedIntegrations } from '../integrations.js';
4
+ import type * as Wire from '../wire-types.generated.js';
4
5
  import { ProjectConfigurationSchema } from './project-configuration.js';
5
6
 
6
7
  /**
@@ -103,15 +104,15 @@ export const ProjectToolInfoSchema = z
103
104
 
104
105
  export const ProjectToolInfoArraySchema = z.array(ProjectToolInfoSchema).meta({ id: 'ProjectToolInfoArray' });
105
106
 
106
- export type ListProjectsQueryFromSchema = z.infer<typeof ListProjectsQuerySchema>;
107
- export type ProjectTagQueryFromSchema = z.infer<typeof ProjectTagQuerySchema>;
108
- export type CreateProjectPayloadFromSchema = z.infer<typeof CreateProjectPayloadSchema>;
109
- export type ProjectPluginsUpdatePayloadFromSchema = z.infer<typeof ProjectPluginsUpdatePayloadSchema>;
110
- export type CountResultFromSchema = z.infer<typeof CountResultSchema>;
111
- export type ProjectIntegrationListEntryFromSchema = z.infer<typeof ProjectIntegrationListEntrySchema>;
112
- export type ProjectIntegrationListResponseFromSchema = z.infer<typeof ProjectIntegrationListResponseSchema>;
113
- export type ProjectToolInfoFromSchema = z.infer<typeof ProjectToolInfoSchema>;
114
- export type ProjectToolInfoArrayFromSchema = z.infer<typeof ProjectToolInfoArraySchema>;
107
+ export type ListProjectsQueryFromSchema = Wire.ListProjectsQueryFromSchema;
108
+ export type ProjectTagQueryFromSchema = Wire.ProjectTagQueryFromSchema;
109
+ export type CreateProjectPayloadFromSchema = Wire.CreateProjectPayloadFromSchema;
110
+ export type ProjectPluginsUpdatePayloadFromSchema = Wire.ProjectPluginsUpdatePayloadFromSchema;
111
+ export type CountResultFromSchema = Wire.CountResultFromSchema;
112
+ export type ProjectIntegrationListEntryFromSchema = Wire.ProjectIntegrationListEntryFromSchema;
113
+ export type ProjectIntegrationListResponseFromSchema = Wire.ProjectIntegrationListResponseFromSchema;
114
+ export type ProjectToolInfoFromSchema = Wire.ProjectToolInfoFromSchema;
115
+ export type ProjectToolInfoArrayFromSchema = Wire.ProjectToolInfoArrayFromSchema;
115
116
 
116
117
  /**
117
118
  * The rendering templates an app ships, and the reference form the manifest embeds.
@@ -194,6 +195,11 @@ export const ProjectSchema = z
194
195
  configuration: ProjectConfigurationSchema,
195
196
  integrations: z.record(z.string(), z.unknown()).optional(),
196
197
  plugins: z.array(z.string()),
198
+ annotations: z.array(z.string()).meta({ description: 'Classification annotations' }).optional(),
199
+ last_activity_at: z
200
+ .string()
201
+ .meta({ format: 'date-time', description: 'When the project last saw activity. Not yet populated.' })
202
+ .optional(),
197
203
  created_by: z.string(),
198
204
  updated_by: z.string(),
199
205
  created_at: z.string().meta({ format: 'date-time' }),
@@ -206,8 +212,11 @@ export const ProjectSchema = z
206
212
  *
207
213
  * `.partial()` keeps both update contracts tied to the corresponding response contract, so a field
208
214
  * added to either source schema is available to its update payload without a hand-written twin.
215
+ * `annotations` and `last_activity_at` are vertesia-managed, so they are read-only.
209
216
  */
210
- export const UpdateProjectPayloadSchema = ProjectSchema.partial().meta({ id: 'UpdateProjectPayload' });
217
+ export const UpdateProjectPayloadSchema = ProjectSchema.omit({ annotations: true, last_activity_at: true })
218
+ .partial()
219
+ .meta({ id: 'UpdateProjectPayload' });
211
220
 
212
221
  export const UpdateProjectConfigurationPayloadSchema = ProjectConfigurationSchema.partial().meta({
213
222
  id: 'UpdateProjectConfigurationPayload',
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import type * as Wire from '../wire-types.generated.js';
2
3
 
3
4
  /**
4
5
  * Runtime API schemas for quota standing and tier endpoints.
@@ -114,9 +115,9 @@ export const QuotaTierResponseSchema = z
114
115
  * definitions of one contract, only one of which OpenAPI publishes and AJV compiles.
115
116
  * `../rate-limiter.ts` re-exports these under their public names.
116
117
  */
117
- export type QuotaEffectiveTierFromSchema = z.infer<typeof QuotaEffectiveTierSchema>;
118
- export type QuotaStandingWindowFromSchema = z.infer<typeof QuotaStandingWindowSchema>;
119
- export type QuotaStandingResourceFromSchema = z.infer<typeof QuotaStandingResourceSchema>;
120
- export type QuotaStandingAdmissionClassFromSchema = z.infer<typeof QuotaStandingAdmissionClassSchema>;
121
- export type QuotaStandingResponseFromSchema = z.infer<typeof QuotaStandingResponseSchema>;
122
- export type QuotaTierResponseFromSchema = z.infer<typeof QuotaTierResponseSchema>;
118
+ export type QuotaEffectiveTierFromSchema = Wire.QuotaEffectiveTierFromSchema;
119
+ export type QuotaStandingWindowFromSchema = Wire.QuotaStandingWindowFromSchema;
120
+ export type QuotaStandingResourceFromSchema = Wire.QuotaStandingResourceFromSchema;
121
+ export type QuotaStandingAdmissionClassFromSchema = Wire.QuotaStandingAdmissionClassFromSchema;
122
+ export type QuotaStandingResponseFromSchema = Wire.QuotaStandingResponseFromSchema;
123
+ export type QuotaTierResponseFromSchema = Wire.QuotaTierResponseFromSchema;