@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,4 +1,160 @@
1
1
  {
2
+ "RunBudgetOwner": {
3
+ "type": "object",
4
+ "properties": {
5
+ "workflow_id": {
6
+ "type": "string",
7
+ "minLength": 1
8
+ },
9
+ "first_run_id": {
10
+ "type": "string",
11
+ "minLength": 1
12
+ }
13
+ },
14
+ "required": [
15
+ "workflow_id",
16
+ "first_run_id"
17
+ ],
18
+ "additionalProperties": false
19
+ },
20
+ "RunBudgetUsage": {
21
+ "type": "object",
22
+ "properties": {
23
+ "input": {
24
+ "type": "number",
25
+ "minimum": 0
26
+ },
27
+ "cached_input": {
28
+ "type": "number",
29
+ "minimum": 0
30
+ },
31
+ "output": {
32
+ "type": "number",
33
+ "minimum": 0
34
+ }
35
+ },
36
+ "required": [
37
+ "input",
38
+ "cached_input",
39
+ "output"
40
+ ],
41
+ "additionalProperties": false
42
+ },
43
+ "ReadRunBudgetUsagePayload": {
44
+ "type": "object",
45
+ "properties": {
46
+ "account_id": {
47
+ "type": "string",
48
+ "minLength": 1
49
+ },
50
+ "project_id": {
51
+ "type": "string",
52
+ "minLength": 1
53
+ },
54
+ "agent_run_id": {
55
+ "type": "string",
56
+ "minLength": 1
57
+ },
58
+ "owner": {
59
+ "$ref": "#/components/schemas/RunBudgetOwner"
60
+ },
61
+ "require_estimates": {
62
+ "type": "boolean"
63
+ }
64
+ },
65
+ "required": [
66
+ "account_id",
67
+ "project_id",
68
+ "agent_run_id",
69
+ "owner"
70
+ ],
71
+ "additionalProperties": false
72
+ },
73
+ "RunBudgetTotals": {
74
+ "type": "object",
75
+ "properties": {
76
+ "measured": {
77
+ "$ref": "#/components/schemas/RunBudgetUsage"
78
+ },
79
+ "unpriced": {
80
+ "$ref": "#/components/schemas/RunBudgetUsage"
81
+ },
82
+ "reported_nano_usd": {
83
+ "type": "integer",
84
+ "minimum": 0,
85
+ "maximum": 9007199254740991
86
+ },
87
+ "estimated_nano_usd": {
88
+ "type": "integer",
89
+ "minimum": 0,
90
+ "maximum": 9007199254740991
91
+ },
92
+ "unmeasured_calls": {
93
+ "type": "integer",
94
+ "minimum": 0,
95
+ "maximum": 9007199254740991
96
+ },
97
+ "missing_usage_calls": {
98
+ "type": "integer",
99
+ "minimum": 0,
100
+ "maximum": 9007199254740991
101
+ }
102
+ },
103
+ "required": [
104
+ "measured",
105
+ "unpriced",
106
+ "reported_nano_usd",
107
+ "estimated_nano_usd",
108
+ "unmeasured_calls",
109
+ "missing_usage_calls"
110
+ ],
111
+ "additionalProperties": false
112
+ },
113
+ "RunBudgetCapability": {
114
+ "type": "object",
115
+ "properties": {
116
+ "supported": {
117
+ "type": "boolean"
118
+ },
119
+ "source": {
120
+ "type": "string",
121
+ "enum": [
122
+ "provider",
123
+ "estimate",
124
+ "unavailable"
125
+ ]
126
+ },
127
+ "reason": {
128
+ "type": "string"
129
+ }
130
+ },
131
+ "required": [
132
+ "supported",
133
+ "source"
134
+ ],
135
+ "additionalProperties": false
136
+ },
137
+ "RunBudgetCapabilityQuery": {
138
+ "type": "object",
139
+ "properties": {
140
+ "check_model": {
141
+ "type": "boolean",
142
+ "description": "False checks only whether estimates are enabled, without consulting model prices."
143
+ },
144
+ "model": {
145
+ "type": "string",
146
+ "minLength": 1
147
+ },
148
+ "service_tier": {
149
+ "type": "string"
150
+ }
151
+ },
152
+ "required": [
153
+ "model"
154
+ ],
155
+ "additionalProperties": false,
156
+ "description": "Selected model and requested serving tier for run budget admission."
157
+ },
2
158
  "CreateDelegationGrantPayload": {
3
159
  "type": "object",
4
160
  "properties": {
@@ -1050,6 +1206,8 @@
1050
1206
  "enum": [
1051
1207
  "document",
1052
1208
  "collection",
1209
+ "agent_run",
1210
+ "shared_content",
1053
1211
  "task"
1054
1212
  ]
1055
1213
  },
@@ -1066,7 +1224,7 @@
1066
1224
  },
1067
1225
  "scope": {
1068
1226
  "$ref": "#/components/schemas/AbacScope",
1069
- "description": "Kind of object the `resource_props` matches. Used to disambiguate which partition's roles apply (e.g. content roles vs task roles) and to form the JWT `content_security` key prefix (`{scope}:{verb}`). Absent → `'document'` (default; emits bare `read`/`write`/`delete` keys for backward compatibility)."
1227
+ "description": "Kind of object the `resource_props` matches. Used to disambiguate which partition's roles apply (e.g. content roles vs agent-run roles) and to form the JWT `content_security` key prefix (`{scope}:{verb}`). Absent → `'document'` (default; emits bare `read`/`write`/`delete` keys for backward compatibility)."
1070
1228
  }
1071
1229
  },
1072
1230
  "additionalProperties": false,
@@ -1077,7 +1235,7 @@
1077
1235
  "properties": {
1078
1236
  "role": {
1079
1237
  "type": "string",
1080
- "description": "Role name. Typed as `string` because role names now span multiple partitions: `SystemRoles` enum values for system-domain roles, and bare strings for ABAC-domain roles (e.g. `'content:reader'`, `'content:writer'`, `'content:manager'`). Mongoose schema validates the value against the registered role catalog via `getAllRoleNames()`."
1238
+ "description": "Role name. Typed as `string` because role names now span multiple partitions: `SystemRoles` enum values for system-domain roles, and bare strings for ABAC-domain roles (e.g. `'content:reader'`, `'content:writer'`, `'content:manager'`, `'agent_runs:reader'`). Mongoose schema validates the value against the registered role catalog via `getAllRoleNames()`."
1081
1239
  },
1082
1240
  "resource_type": {
1083
1241
  "$ref": "#/components/schemas/AccessControlResourceType"
@@ -1143,7 +1301,7 @@
1143
1301
  "properties": {
1144
1302
  "role": {
1145
1303
  "type": "string",
1146
- "description": "Role name. Typed as `string` because role names now span multiple partitions: `SystemRoles` enum values for system-domain roles, and bare strings for ABAC-domain roles (e.g. `'content:reader'`, `'content:writer'`, `'content:manager'`). Mongoose schema validates the value against the registered role catalog via `getAllRoleNames()`."
1304
+ "description": "Role name. Typed as `string` because role names now span multiple partitions: `SystemRoles` enum values for system-domain roles, and bare strings for ABAC-domain roles (e.g. `'content:reader'`, `'content:writer'`, `'content:manager'`, `'agent_runs:reader'`). Mongoose schema validates the value against the registered role catalog via `getAllRoleNames()`."
1147
1305
  },
1148
1306
  "resource_type": {
1149
1307
  "$ref": "#/components/schemas/AccessControlResourceType"
@@ -1193,7 +1351,7 @@
1193
1351
  "properties": {
1194
1352
  "role": {
1195
1353
  "type": "string",
1196
- "description": "Role name. Typed as `string` because role names now span multiple partitions: `SystemRoles` enum values for system-domain roles, and bare strings for ABAC-domain roles (e.g. `'content:reader'`, `'content:writer'`, `'content:manager'`). Mongoose schema validates the value against the registered role catalog via `getAllRoleNames()`."
1354
+ "description": "Role name. Typed as `string` because role names now span multiple partitions: `SystemRoles` enum values for system-domain roles, and bare strings for ABAC-domain roles (e.g. `'content:reader'`, `'content:writer'`, `'content:manager'`, `'agent_runs:reader'`). Mongoose schema validates the value against the registered role catalog via `getAllRoleNames()`."
1197
1355
  },
1198
1356
  "resource_type": {
1199
1357
  "$ref": "#/components/schemas/AccessControlResourceType"
@@ -1290,9 +1448,11 @@
1290
1448
  "enum": [
1291
1449
  "system",
1292
1450
  "content",
1451
+ "agent_runs",
1452
+ "shared_content",
1293
1453
  "tasks"
1294
1454
  ],
1295
- "description": "Logical grouping of roles by the service area that owns them. One domain may declare roles applicable to multiple scopes (e.g. the `content` domain owns roles applicable to both `document` and `collection` scopes). The `system` domain owns the built-in foundational roles (currently exposed as `SystemRoles`) — registered first so domain partitions cannot shadow them."
1455
+ "description": "Logical grouping of roles by the service area that owns them. One domain may declare roles applicable to multiple scopes (e.g. the `content` domain owns roles applicable to both `document` and `collection` scopes, while `agent_runs` owns the `agent_run` scope). The `system` domain owns the built-in foundational roles (currently exposed as `SystemRoles`) — registered first so domain partitions cannot shadow them."
1296
1456
  },
1297
1457
  "RoleDefinitionArray": {
1298
1458
  "type": "array",
@@ -2970,6 +3130,14 @@
2970
3130
  "max"
2971
3131
  ]
2972
3132
  },
3133
+ "thinking_mode": {
3134
+ "type": "string",
3135
+ "enum": [
3136
+ "adaptive",
3137
+ "between_tools"
3138
+ ],
3139
+ "description": "Thinking mode override. Sonnet 5.5 supports between_tools at low, medium, or high effort. It omits display and budget fields; keep effort fixed during the conversation. When unset, existing model-specific thinking behavior is preserved."
3140
+ },
2973
3141
  "thinking_budget_tokens": {
2974
3142
  "type": "number"
2975
3143
  },
@@ -3486,6 +3654,14 @@
3486
3654
  "top_k": {
3487
3655
  "type": "number"
3488
3656
  },
3657
+ "thinking_mode": {
3658
+ "type": "string",
3659
+ "enum": [
3660
+ "adaptive",
3661
+ "between_tools"
3662
+ ],
3663
+ "description": "Thinking mode override. Sonnet 5.5 supports between_tools at low, medium, or high effort. It omits display and budget fields; keep effort fixed during the conversation. When unset, existing model-specific thinking behavior is preserved."
3664
+ },
3489
3665
  "thinking_budget_tokens": {
3490
3666
  "type": "number"
3491
3667
  },
@@ -3766,6 +3942,14 @@
3766
3942
  "max"
3767
3943
  ]
3768
3944
  },
3945
+ "thinking_mode": {
3946
+ "type": "string",
3947
+ "enum": [
3948
+ "adaptive",
3949
+ "between_tools"
3950
+ ],
3951
+ "description": "Thinking mode override. Sonnet 5.5 supports between_tools at low, medium, or high effort. It omits display and budget fields; keep effort fixed during the conversation. When unset, existing model-specific thinking behavior is preserved."
3952
+ },
3769
3953
  "thinking_budget_tokens": {
3770
3954
  "type": "number"
3771
3955
  },
@@ -3792,6 +3976,9 @@
3792
3976
  "type": "string",
3793
3977
  "const": "openai-thinking"
3794
3978
  },
3979
+ "image_generation": {
3980
+ "$ref": "#/components/schemas/OpenAiImageGenerationOptions"
3981
+ },
3795
3982
  "max_tokens": {
3796
3983
  "type": "number"
3797
3984
  },
@@ -3816,6 +4003,14 @@
3816
4003
  "reasoning_effort": {
3817
4004
  "$ref": "#/components/schemas/ReasoningEffort"
3818
4005
  },
4006
+ "reasoning_context": {
4007
+ "type": "string",
4008
+ "enum": [
4009
+ "auto",
4010
+ "current_turn",
4011
+ "all_turns"
4012
+ ]
4013
+ },
3819
4014
  "image_detail": {
3820
4015
  "type": "string",
3821
4016
  "enum": [
@@ -3840,6 +4035,96 @@
3840
4035
  },
3841
4036
  "additionalProperties": false
3842
4037
  },
4038
+ "OpenAiImageGenerationOptions": {
4039
+ "type": "object",
4040
+ "properties": {
4041
+ "model": {
4042
+ "type": "string"
4043
+ },
4044
+ "force": {
4045
+ "type": "boolean"
4046
+ },
4047
+ "action": {
4048
+ "type": "string",
4049
+ "enum": [
4050
+ "auto",
4051
+ "generate",
4052
+ "edit"
4053
+ ]
4054
+ },
4055
+ "size": {
4056
+ "type": "string"
4057
+ },
4058
+ "quality": {
4059
+ "type": "string",
4060
+ "enum": [
4061
+ "auto",
4062
+ "low",
4063
+ "medium",
4064
+ "high",
4065
+ "xhigh",
4066
+ "max"
4067
+ ]
4068
+ },
4069
+ "background": {
4070
+ "type": "string",
4071
+ "enum": [
4072
+ "auto",
4073
+ "opaque",
4074
+ "transparent"
4075
+ ]
4076
+ },
4077
+ "output_format": {
4078
+ "type": "string",
4079
+ "enum": [
4080
+ "png",
4081
+ "jpeg",
4082
+ "webp"
4083
+ ]
4084
+ },
4085
+ "output_compression": {
4086
+ "type": "integer",
4087
+ "minimum": 0,
4088
+ "maximum": 100
4089
+ },
4090
+ "moderation": {
4091
+ "type": "string",
4092
+ "enum": [
4093
+ "auto",
4094
+ "low"
4095
+ ]
4096
+ },
4097
+ "input_fidelity": {
4098
+ "type": "string",
4099
+ "enum": [
4100
+ "low",
4101
+ "high"
4102
+ ]
4103
+ },
4104
+ "partial_images": {
4105
+ "type": "number"
4106
+ },
4107
+ "input_image_mask": {
4108
+ "$ref": "#/components/schemas/OpenAiImageGenerationMask"
4109
+ }
4110
+ },
4111
+ "required": [
4112
+ "model"
4113
+ ],
4114
+ "additionalProperties": false
4115
+ },
4116
+ "OpenAiImageGenerationMask": {
4117
+ "type": "object",
4118
+ "properties": {
4119
+ "file_id": {
4120
+ "type": "string"
4121
+ },
4122
+ "image_url": {
4123
+ "type": "string"
4124
+ }
4125
+ },
4126
+ "additionalProperties": false
4127
+ },
3843
4128
  "ReasoningEffort": {
3844
4129
  "type": "string",
3845
4130
  "enum": [
@@ -3859,6 +4144,9 @@
3859
4144
  "type": "string",
3860
4145
  "const": "openai-text"
3861
4146
  },
4147
+ "image_generation": {
4148
+ "$ref": "#/components/schemas/OpenAiImageGenerationOptions"
4149
+ },
3862
4150
  "max_tokens": {
3863
4151
  "type": "number"
3864
4152
  },
@@ -4096,13 +4384,13 @@
4096
4384
  "const": "openai-gpt-image"
4097
4385
  },
4098
4386
  "size": {
4099
- "type": "string",
4100
- "enum": [
4101
- "1024x1024",
4102
- "1024x1536",
4103
- "1536x1024",
4104
- "auto"
4105
- ]
4387
+ "type": "string"
4388
+ },
4389
+ "width": {
4390
+ "type": "number"
4391
+ },
4392
+ "height": {
4393
+ "type": "number"
4106
4394
  },
4107
4395
  "image_quality": {
4108
4396
  "type": "string",
@@ -4110,6 +4398,8 @@
4110
4398
  "low",
4111
4399
  "medium",
4112
4400
  "high",
4401
+ "xhigh",
4402
+ "max",
4113
4403
  "auto"
4114
4404
  ]
4115
4405
  },
@@ -4128,6 +4418,31 @@
4128
4418
  "webp",
4129
4419
  "jpeg"
4130
4420
  ]
4421
+ },
4422
+ "n": {
4423
+ "type": "number"
4424
+ },
4425
+ "output_compression": {
4426
+ "type": "integer",
4427
+ "minimum": 0,
4428
+ "maximum": 100
4429
+ },
4430
+ "moderation": {
4431
+ "type": "string",
4432
+ "enum": [
4433
+ "auto",
4434
+ "low"
4435
+ ]
4436
+ },
4437
+ "input_fidelity": {
4438
+ "type": "string",
4439
+ "enum": [
4440
+ "low",
4441
+ "high"
4442
+ ]
4443
+ },
4444
+ "partial_images": {
4445
+ "type": "number"
4131
4446
  }
4132
4447
  },
4133
4448
  "additionalProperties": false
@@ -4399,6 +4714,14 @@
4399
4714
  "max"
4400
4715
  ]
4401
4716
  },
4717
+ "thinking_mode": {
4718
+ "type": "string",
4719
+ "enum": [
4720
+ "adaptive",
4721
+ "between_tools"
4722
+ ],
4723
+ "description": "Thinking mode override. Sonnet 5.5 supports between_tools at low, medium, or high effort. It omits display and budget fields; keep effort fixed during the conversation. When unset, existing model-specific thinking behavior is preserved."
4724
+ },
4402
4725
  "thinking_budget_tokens": {
4403
4726
  "type": "number"
4404
4727
  },
@@ -4414,6 +4737,13 @@
4414
4737
  "5m",
4415
4738
  "1h"
4416
4739
  ]
4740
+ },
4741
+ "speed": {
4742
+ "type": "string",
4743
+ "enum": [
4744
+ "standard",
4745
+ "fast"
4746
+ ]
4417
4747
  }
4418
4748
  },
4419
4749
  "additionalProperties": false
@@ -4570,6 +4900,21 @@
4570
4900
  "id": {
4571
4901
  "type": "string"
4572
4902
  },
4903
+ "inference_profile": {
4904
+ "anyOf": [
4905
+ {
4906
+ "$ref": "#/components/schemas/InferenceProfileId"
4907
+ },
4908
+ {
4909
+ "type": "null"
4910
+ }
4911
+ ],
4912
+ "description": "Select a project inference profile. Null bypasses profile defaults."
4913
+ },
4914
+ "inherit_model_config": {
4915
+ "type": "boolean",
4916
+ "description": "Treat the supplied environment, model and inference_profile as the caller's settings, inherited as a fallback: the interaction's bound or attached profile, or its own model, replaces them."
4917
+ },
4573
4918
  "environment": {
4574
4919
  "type": "string"
4575
4920
  },
@@ -4613,6 +4958,11 @@
4613
4958
  },
4614
4959
  "additionalProperties": false
4615
4960
  },
4961
+ "InferenceProfileId": {
4962
+ "type": "string",
4963
+ "pattern": "^[a-fA-F0-9]{24}$",
4964
+ "description": "MongoDB ObjectId of the inference profile."
4965
+ },
4616
4966
  "RunDataStorageLevel": {
4617
4967
  "type": "string",
4618
4968
  "enum": [
@@ -5116,12 +5466,68 @@
5116
5466
  },
5117
5467
  "additionalProperties": false
5118
5468
  },
5469
+ "ProjectInferenceProfiles": {
5470
+ "type": "object",
5471
+ "properties": {
5472
+ "default_profile": {
5473
+ "$ref": "#/components/schemas/InferenceProfileId"
5474
+ },
5475
+ "modality": {
5476
+ "type": "object",
5477
+ "properties": {
5478
+ "image": {
5479
+ "$ref": "#/components/schemas/InferenceProfileId"
5480
+ },
5481
+ "video": {
5482
+ "$ref": "#/components/schemas/InferenceProfileId"
5483
+ }
5484
+ },
5485
+ "additionalProperties": false
5486
+ },
5487
+ "system": {
5488
+ "type": "object",
5489
+ "properties": {
5490
+ "content_type": {
5491
+ "$ref": "#/components/schemas/InferenceProfileId"
5492
+ },
5493
+ "intake": {
5494
+ "$ref": "#/components/schemas/InferenceProfileId"
5495
+ },
5496
+ "analysis": {
5497
+ "$ref": "#/components/schemas/InferenceProfileId"
5498
+ },
5499
+ "agent": {
5500
+ "$ref": "#/components/schemas/InferenceProfileId"
5501
+ },
5502
+ "non_applicable": {
5503
+ "$ref": "#/components/schemas/InferenceProfileId"
5504
+ }
5505
+ },
5506
+ "additionalProperties": false
5507
+ }
5508
+ },
5509
+ "additionalProperties": false,
5510
+ "description": "Project defaults reference profile MongoDB IDs. Profile definitions are managed through the inference profiles API."
5511
+ },
5119
5512
  "AgentProjectConfiguration": {
5120
5513
  "type": "object",
5121
5514
  "properties": {
5515
+ "evaluation_policy": {
5516
+ "type": "string",
5517
+ "enum": [
5518
+ "disabled",
5519
+ "opt_in",
5520
+ "always_on"
5521
+ ],
5522
+ "description": "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."
5523
+ },
5122
5524
  "checkpoint": {
5123
5525
  "$ref": "#/components/schemas/AgentCheckpointConfiguration",
5124
5526
  "description": "Conversation checkpoint (context compaction) tuning."
5527
+ },
5528
+ "budget": {
5529
+ "$ref": "#/components/schemas/AgentBudgetConfiguration",
5530
+ "description": "Default token budget for agent runs in this project. Field-wise overridden by the interaction's `agent_runner_options.budget` and the per-run `budget`."
5125
5531
  }
5126
5532
  },
5127
5533
  "additionalProperties": false,
@@ -5141,6 +5547,61 @@
5141
5547
  },
5142
5548
  "additionalProperties": false
5143
5549
  },
5550
+ "AgentBudgetConfiguration": {
5551
+ "type": "object",
5552
+ "properties": {
5553
+ "mode": {
5554
+ "type": "string",
5555
+ "enum": [
5556
+ "token",
5557
+ "dollar"
5558
+ ],
5559
+ "description": "Run budget mode. An omitted mode preserves weighted-token budgeting."
5560
+ },
5561
+ "limit_usd": {
5562
+ "type": "number",
5563
+ "exclusiveMinimum": 0,
5564
+ "maximum": 9007199.25474099,
5565
+ "description": "Soft USD allowance for priced model calls; dollar mode also requires limit_tokens for unpriced calls."
5566
+ },
5567
+ "reminder_at_remaining_fractions": {
5568
+ "type": "array",
5569
+ "items": {
5570
+ "type": "number",
5571
+ "exclusiveMinimum": 0,
5572
+ "exclusiveMaximum": 1
5573
+ }
5574
+ },
5575
+ "limit_tokens": {
5576
+ "type": "number",
5577
+ "description": "Weighted token budget shared by the run and every subagent workstream it launches. When the run and its workstreams together use this many weighted tokens, the agent gets one final turn without tools to summarize its work, and the run ends. This is a soft limit, not a spending cap: workstreams running concurrently and the final summary turns can go over it. Unset or <=0 means no budget."
5578
+ },
5579
+ "reminder_at_remaining_tokens": {
5580
+ "type": "array",
5581
+ "items": {
5582
+ "type": "number"
5583
+ },
5584
+ "description": "Remaining-budget thresholds, in weighted tokens, at which the agent is told how much budget is left. Each threshold is delivered once per context window (again after a checkpoint). Values outside (0, limit_tokens) are ignored. Unset means reminders at 25% and 10% remaining."
5585
+ },
5586
+ "output_token_weight": {
5587
+ "type": "number",
5588
+ "minimum": 0,
5589
+ "description": "Weight applied to output tokens, reasoning included, when charging the budget. Default 5."
5590
+ },
5591
+ "input_token_weight": {
5592
+ "type": "number",
5593
+ "minimum": 0,
5594
+ "description": "Weight applied to input tokens not read from the prompt cache. Default 1."
5595
+ },
5596
+ "cached_input_token_weight": {
5597
+ "type": "number",
5598
+ "minimum": 0,
5599
+ "description": "Weight applied to input tokens read from the prompt cache. Default 0.1, so a long conversation that mostly re-reads cached context is charged a tenth of the uncached rate for it."
5600
+ }
5601
+ },
5602
+ "additionalProperties": false,
5603
+ "description": "Weighted token budget for an agent run and its subagent workstreams. A call is charged output × output_token_weight + uncached input × input_token_weight + cached input × cached_input_token_weight."
5604
+ },
5144
5605
  "ProjectConfiguration": {
5145
5606
  "type": "object",
5146
5607
  "properties": {
@@ -5154,7 +5615,12 @@
5154
5615
  "type": "string"
5155
5616
  },
5156
5617
  "defaults": {
5157
- "$ref": "#/components/schemas/ProjectModelDefaults"
5618
+ "deprecated": true,
5619
+ "$ref": "#/components/schemas/ProjectModelDefaults",
5620
+ "description": "Legacy model defaults, replaced by inference profile assignments after migration."
5621
+ },
5622
+ "inference": {
5623
+ "$ref": "#/components/schemas/ProjectInferenceProfiles"
5158
5624
  },
5159
5625
  "default_visibility": {
5160
5626
  "$ref": "#/components/schemas/ResourceVisibility"
@@ -5274,6 +5740,18 @@
5274
5740
  "type": "string"
5275
5741
  }
5276
5742
  },
5743
+ "annotations": {
5744
+ "type": "array",
5745
+ "items": {
5746
+ "type": "string"
5747
+ },
5748
+ "description": "Classification annotations"
5749
+ },
5750
+ "last_activity_at": {
5751
+ "type": "string",
5752
+ "format": "date-time",
5753
+ "description": "When the project last saw activity. Not yet populated."
5754
+ },
5277
5755
  "created_by": {
5278
5756
  "type": "string"
5279
5757
  },
@@ -5364,7 +5842,12 @@
5364
5842
  "type": "string"
5365
5843
  },
5366
5844
  "defaults": {
5367
- "$ref": "#/components/schemas/ProjectModelDefaults"
5845
+ "deprecated": true,
5846
+ "$ref": "#/components/schemas/ProjectModelDefaults",
5847
+ "description": "Legacy model defaults, replaced by inference profile assignments after migration."
5848
+ },
5849
+ "inference": {
5850
+ "$ref": "#/components/schemas/ProjectInferenceProfiles"
5368
5851
  },
5369
5852
  "default_visibility": {
5370
5853
  "$ref": "#/components/schemas/ResourceVisibility"
@@ -7425,9 +7908,6 @@
7425
7908
  "ExecutionEnvironmentSettings": {
7426
7909
  "type": "object",
7427
7910
  "properties": {
7428
- "bucket_access_principal": {
7429
- "type": "string"
7430
- },
7431
7911
  "default_headers": {
7432
7912
  "$ref": "#/components/schemas/StringValueMap",
7433
7913
  "description": "Custom HTTP headers sent by OpenAI-compatible environments."
@@ -8544,8 +9024,20 @@
8544
9024
  "type": "number",
8545
9025
  "description": "Number of input tokens written to prompt cache."
8546
9026
  },
9027
+ "prompt_cache_write_1h": {
9028
+ "type": "number",
9029
+ "description": "Of `prompt_cache_write`, the tokens written with a one-hour cache lifetime, when the provider reports it. The remainder used the default (five-minute) lifetime."
9030
+ },
8547
9031
  "prompt_new": {
8548
9032
  "type": "number"
9033
+ },
9034
+ "result_image": {
9035
+ "type": "number",
9036
+ "description": "Of `result`, the tokens of generated images, when the provider reports them. Image output is priced separately from text output."
9037
+ },
9038
+ "provider_cost_usd": {
9039
+ "type": "number",
9040
+ "description": "Amount the provider reported charging for this request, in USD, when the provider returns it (e.g. OpenRouter). Absent for bring-your-own-key requests."
8549
9041
  }
8550
9042
  },
8551
9043
  "additionalProperties": false
@@ -8600,6 +9092,380 @@
8600
9092
  ],
8601
9093
  "additionalProperties": false
8602
9094
  },
9095
+ "UpdateInteractionConfigurationPayload": {
9096
+ "type": "object",
9097
+ "properties": {
9098
+ "inference_profile": {
9099
+ "anyOf": [
9100
+ {
9101
+ "$ref": "#/components/schemas/InferenceProfileId"
9102
+ },
9103
+ {
9104
+ "type": "null"
9105
+ }
9106
+ ]
9107
+ },
9108
+ "budget": {
9109
+ "anyOf": [
9110
+ {
9111
+ "$ref": "#/components/schemas/AgentBudgetConfiguration"
9112
+ },
9113
+ {
9114
+ "type": "null"
9115
+ }
9116
+ ],
9117
+ "description": "Project-scoped agent budget override. Null restores the code-defined or project default; omission preserves the saved budget."
9118
+ }
9119
+ },
9120
+ "required": [
9121
+ "inference_profile"
9122
+ ],
9123
+ "additionalProperties": false
9124
+ },
9125
+ "InteractionConfigurationRecord": {
9126
+ "type": "object",
9127
+ "properties": {
9128
+ "inference_profile": {
9129
+ "anyOf": [
9130
+ {
9131
+ "$ref": "#/components/schemas/InferenceProfileId"
9132
+ },
9133
+ {
9134
+ "type": "null"
9135
+ }
9136
+ ]
9137
+ },
9138
+ "budget": {
9139
+ "anyOf": [
9140
+ {
9141
+ "$ref": "#/components/schemas/AgentBudgetConfiguration"
9142
+ },
9143
+ {
9144
+ "type": "null"
9145
+ }
9146
+ ],
9147
+ "description": "Project-scoped agent budget override. Null restores the code-defined or project default; omission preserves the saved budget."
9148
+ },
9149
+ "id": {
9150
+ "type": "string",
9151
+ "pattern": "^[a-fA-F0-9]{24}$"
9152
+ },
9153
+ "project": {
9154
+ "type": "string"
9155
+ },
9156
+ "interaction": {
9157
+ "type": "string"
9158
+ },
9159
+ "created_at": {
9160
+ "type": "string",
9161
+ "format": "date-time",
9162
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
9163
+ },
9164
+ "updated_at": {
9165
+ "type": "string",
9166
+ "format": "date-time",
9167
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
9168
+ }
9169
+ },
9170
+ "required": [
9171
+ "inference_profile",
9172
+ "id",
9173
+ "project",
9174
+ "interaction",
9175
+ "created_at",
9176
+ "updated_at"
9177
+ ],
9178
+ "additionalProperties": false
9179
+ },
9180
+ "InteractionConfigurationResult": {
9181
+ "type": "object",
9182
+ "properties": {
9183
+ "configuration": {
9184
+ "anyOf": [
9185
+ {
9186
+ "$ref": "#/components/schemas/InteractionConfigurationRecord"
9187
+ },
9188
+ {
9189
+ "type": "null"
9190
+ }
9191
+ ]
9192
+ }
9193
+ },
9194
+ "required": [
9195
+ "configuration"
9196
+ ],
9197
+ "additionalProperties": false
9198
+ },
9199
+ "InferenceProfileName": {
9200
+ "type": "string",
9201
+ "minLength": 1,
9202
+ "maxLength": 80,
9203
+ "pattern": "\\S",
9204
+ "description": "Editable display name, independent of the stable profile ID."
9205
+ },
9206
+ "CreateInferenceProfilePayload": {
9207
+ "type": "object",
9208
+ "properties": {
9209
+ "name": {
9210
+ "$ref": "#/components/schemas/InferenceProfileName"
9211
+ },
9212
+ "description": {
9213
+ "type": "string",
9214
+ "maxLength": 1000
9215
+ },
9216
+ "environment": {
9217
+ "type": "string",
9218
+ "pattern": "^[a-fA-F0-9]{24}$"
9219
+ },
9220
+ "model": {
9221
+ "type": "string",
9222
+ "minLength": 1
9223
+ },
9224
+ "model_options": {
9225
+ "$ref": "#/components/schemas/ModelOptions"
9226
+ }
9227
+ },
9228
+ "required": [
9229
+ "name",
9230
+ "environment"
9231
+ ],
9232
+ "additionalProperties": false,
9233
+ "description": "Create a profile in the current project. The server assigns its MongoDB ID."
9234
+ },
9235
+ "UpdateInferenceProfilePayload": {
9236
+ "type": "object",
9237
+ "properties": {
9238
+ "name": {
9239
+ "$ref": "#/components/schemas/InferenceProfileName"
9240
+ },
9241
+ "description": {
9242
+ "type": "string",
9243
+ "maxLength": 1000
9244
+ },
9245
+ "environment": {
9246
+ "type": "string",
9247
+ "pattern": "^[a-fA-F0-9]{24}$"
9248
+ },
9249
+ "model": {
9250
+ "type": "string",
9251
+ "minLength": 1
9252
+ },
9253
+ "model_options": {
9254
+ "$ref": "#/components/schemas/ModelOptions"
9255
+ }
9256
+ },
9257
+ "required": [
9258
+ "name",
9259
+ "environment"
9260
+ ],
9261
+ "additionalProperties": false,
9262
+ "description": "Replace editable profile fields, preserving its ID and references."
9263
+ },
9264
+ "InferenceProfileRecord": {
9265
+ "type": "object",
9266
+ "properties": {
9267
+ "name": {
9268
+ "$ref": "#/components/schemas/InferenceProfileName"
9269
+ },
9270
+ "description": {
9271
+ "type": "string",
9272
+ "maxLength": 1000
9273
+ },
9274
+ "environment": {
9275
+ "type": "string",
9276
+ "pattern": "^[a-fA-F0-9]{24}$"
9277
+ },
9278
+ "model": {
9279
+ "type": "string",
9280
+ "minLength": 1
9281
+ },
9282
+ "model_options": {
9283
+ "$ref": "#/components/schemas/ModelOptions"
9284
+ },
9285
+ "id": {
9286
+ "type": "string",
9287
+ "pattern": "^[a-fA-F0-9]{24}$"
9288
+ },
9289
+ "project": {
9290
+ "type": "string"
9291
+ },
9292
+ "created_at": {
9293
+ "type": "string",
9294
+ "format": "date-time",
9295
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
9296
+ },
9297
+ "updated_at": {
9298
+ "type": "string",
9299
+ "format": "date-time",
9300
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
9301
+ }
9302
+ },
9303
+ "required": [
9304
+ "name",
9305
+ "environment",
9306
+ "id",
9307
+ "project",
9308
+ "created_at",
9309
+ "updated_at"
9310
+ ],
9311
+ "additionalProperties": false,
9312
+ "description": "A project-scoped inference profile stored as a MongoDB document."
9313
+ },
9314
+ "InferenceProfileUsageEntry": {
9315
+ "type": "object",
9316
+ "properties": {
9317
+ "id": {
9318
+ "type": "string"
9319
+ },
9320
+ "name": {
9321
+ "type": "string"
9322
+ },
9323
+ "kind": {
9324
+ "type": "string",
9325
+ "enum": [
9326
+ "stored",
9327
+ "system",
9328
+ "app"
9329
+ ]
9330
+ },
9331
+ "version": {
9332
+ "type": "number"
9333
+ },
9334
+ "status": {
9335
+ "type": "string"
9336
+ }
9337
+ },
9338
+ "required": [
9339
+ "id",
9340
+ "name",
9341
+ "kind"
9342
+ ]
9343
+ },
9344
+ "InferenceProfileUsage": {
9345
+ "type": "object",
9346
+ "properties": {
9347
+ "interactions": {
9348
+ "type": "array",
9349
+ "items": {
9350
+ "$ref": "#/components/schemas/InferenceProfileUsageEntry"
9351
+ }
9352
+ },
9353
+ "total": {
9354
+ "type": "integer",
9355
+ "minimum": 0,
9356
+ "maximum": 9007199254740991
9357
+ },
9358
+ "defaults": {
9359
+ "type": "array",
9360
+ "items": {
9361
+ "type": "string"
9362
+ },
9363
+ "description": "Project default slots directly referencing this profile."
9364
+ }
9365
+ },
9366
+ "required": [
9367
+ "interactions",
9368
+ "total",
9369
+ "defaults"
9370
+ ],
9371
+ "description": "Persisted direct assignments; runtime overrides and inherited usage are not enumerated."
9372
+ },
9373
+ "InferenceProfileUsageQuery": {
9374
+ "type": "object",
9375
+ "properties": {
9376
+ "search": {
9377
+ "type": "string",
9378
+ "maxLength": 200
9379
+ },
9380
+ "kind": {
9381
+ "type": "string",
9382
+ "enum": [
9383
+ "stored",
9384
+ "system",
9385
+ "app"
9386
+ ]
9387
+ },
9388
+ "offset": {
9389
+ "type": "integer",
9390
+ "minimum": 0,
9391
+ "maximum": 9007199254740991
9392
+ },
9393
+ "limit": {
9394
+ "type": "integer",
9395
+ "minimum": 1,
9396
+ "maximum": 100
9397
+ }
9398
+ }
9399
+ },
9400
+ "InferenceProfileRecordArray": {
9401
+ "type": "array",
9402
+ "items": {
9403
+ "$ref": "#/components/schemas/InferenceProfileRecord"
9404
+ }
9405
+ },
9406
+ "InferenceProfile": {
9407
+ "type": "object",
9408
+ "properties": {
9409
+ "name": {
9410
+ "$ref": "#/components/schemas/InferenceProfileName",
9411
+ "description": "Editable display name."
9412
+ },
9413
+ "description": {
9414
+ "type": "string",
9415
+ "maxLength": 1000
9416
+ },
9417
+ "environment": {
9418
+ "type": "string",
9419
+ "pattern": "^[a-fA-F0-9]{24}$"
9420
+ },
9421
+ "model": {
9422
+ "type": "string",
9423
+ "minLength": 1
9424
+ },
9425
+ "model_options": {
9426
+ "$ref": "#/components/schemas/ModelOptions"
9427
+ }
9428
+ },
9429
+ "required": [
9430
+ "environment"
9431
+ ],
9432
+ "additionalProperties": false,
9433
+ "description": "A reusable environment, model and inference parameter preset. Credentials remain in the environment."
9434
+ },
9435
+ "InferenceProfileSnapshot": {
9436
+ "type": "object",
9437
+ "properties": {
9438
+ "id": {
9439
+ "$ref": "#/components/schemas/InferenceProfileId"
9440
+ },
9441
+ "name": {
9442
+ "$ref": "#/components/schemas/InferenceProfileName"
9443
+ },
9444
+ "revision": {
9445
+ "type": "string"
9446
+ },
9447
+ "source": {
9448
+ "type": "string",
9449
+ "enum": [
9450
+ "request",
9451
+ "binding",
9452
+ "interaction",
9453
+ "project"
9454
+ ]
9455
+ },
9456
+ "profile": {
9457
+ "$ref": "#/components/schemas/InferenceProfile"
9458
+ }
9459
+ },
9460
+ "required": [
9461
+ "name",
9462
+ "revision",
9463
+ "source",
9464
+ "profile"
9465
+ ],
9466
+ "additionalProperties": false,
9467
+ "description": "The selected profile and content revision at execution creation. Effective overrides are recorded in the execution config."
9468
+ },
8603
9469
  "InteractionStatus": {
8604
9470
  "type": "string",
8605
9471
  "enum": [
@@ -9205,6 +10071,10 @@
9205
10071
  "checkpoint": {
9206
10072
  "$ref": "#/components/schemas/AgentCheckpointConfiguration",
9207
10073
  "description": "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."
10074
+ },
10075
+ "budget": {
10076
+ "$ref": "#/components/schemas/AgentBudgetConfiguration",
10077
+ "description": "Per-agent token budget. Field-wise it overrides the project's `configuration.agent.budget`; the per-run `budget` wins over both."
9208
10078
  }
9209
10079
  },
9210
10080
  "additionalProperties": false,
@@ -9309,6 +10179,16 @@
9309
10179
  "model_options": {
9310
10180
  "$ref": "#/components/schemas/ModelOptions"
9311
10181
  },
10182
+ "inference_profile": {
10183
+ "anyOf": [
10184
+ {
10185
+ "$ref": "#/components/schemas/InferenceProfileId"
10186
+ },
10187
+ {
10188
+ "type": "null"
10189
+ }
10190
+ ]
10191
+ },
9312
10192
  "store_media_results": {
9313
10193
  "type": "boolean"
9314
10194
  },
@@ -9808,6 +10688,16 @@
9808
10688
  "model_options": {
9809
10689
  "$ref": "#/components/schemas/ModelOptions"
9810
10690
  },
10691
+ "inference_profile": {
10692
+ "anyOf": [
10693
+ {
10694
+ "$ref": "#/components/schemas/InferenceProfileId"
10695
+ },
10696
+ {
10697
+ "type": "null"
10698
+ }
10699
+ ]
10700
+ },
9811
10701
  "store_media_results": {
9812
10702
  "type": "boolean"
9813
10703
  },
@@ -9918,6 +10808,16 @@
9918
10808
  "model_options": {
9919
10809
  "$ref": "#/components/schemas/ModelOptions"
9920
10810
  },
10811
+ "inference_profile": {
10812
+ "anyOf": [
10813
+ {
10814
+ "$ref": "#/components/schemas/InferenceProfileId"
10815
+ },
10816
+ {
10817
+ "type": "null"
10818
+ }
10819
+ ]
10820
+ },
9921
10821
  "store_media_results": {
9922
10822
  "type": "boolean"
9923
10823
  },
@@ -10076,6 +10976,13 @@
10076
10976
  "model": {
10077
10977
  "type": "string"
10078
10978
  },
10979
+ "inference_profile": {
10980
+ "$ref": "#/components/schemas/InferenceProfileId"
10981
+ },
10982
+ "inherit_model_config": {
10983
+ "type": "boolean",
10984
+ "description": "Treat the supplied environment, model and inference_profile as the caller's settings, inherited as a fallback: the interaction's bound or attached profile, or its own model, replaces them."
10985
+ },
10079
10986
  "hasImage": {
10080
10987
  "type": "boolean"
10081
10988
  },
@@ -10211,6 +11118,16 @@
10211
11118
  "model_options": {
10212
11119
  "$ref": "#/components/schemas/ModelOptions"
10213
11120
  },
11121
+ "inference_profile": {
11122
+ "anyOf": [
11123
+ {
11124
+ "$ref": "#/components/schemas/InferenceProfileId"
11125
+ },
11126
+ {
11127
+ "type": "null"
11128
+ }
11129
+ ]
11130
+ },
10214
11131
  "prompts": {
10215
11132
  "type": "array",
10216
11133
  "items": {
@@ -10304,6 +11221,16 @@
10304
11221
  "model_options": {
10305
11222
  "$ref": "#/components/schemas/ModelOptions"
10306
11223
  },
11224
+ "inference_profile": {
11225
+ "anyOf": [
11226
+ {
11227
+ "$ref": "#/components/schemas/InferenceProfileId"
11228
+ },
11229
+ {
11230
+ "type": "null"
11231
+ }
11232
+ ]
11233
+ },
10307
11234
  "prompts": {
10308
11235
  "type": "array",
10309
11236
  "items": {
@@ -10405,6 +11332,12 @@
10405
11332
  },
10406
11333
  "model_source": {
10407
11334
  "$ref": "#/components/schemas/ModelSource"
11335
+ },
11336
+ "inference_profile": {
11337
+ "$ref": "#/components/schemas/InferenceProfileSnapshot"
11338
+ },
11339
+ "model_options": {
11340
+ "$ref": "#/components/schemas/ModelOptions"
10408
11341
  }
10409
11342
  },
10410
11343
  "required": [
@@ -11479,6 +12412,10 @@
11479
12412
  "type": "number",
11480
12413
  "description": "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."
11481
12414
  },
12415
+ "budget": {
12416
+ "$ref": "#/components/schemas/AgentBudgetConfiguration",
12417
+ "description": "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."
12418
+ },
11482
12419
  "user_channels": {
11483
12420
  "type": "array",
11484
12421
  "items": {
@@ -11870,6 +12807,9 @@
11870
12807
  "config": {
11871
12808
  "$ref": "#/components/schemas/InteractionExecutionConfiguration"
11872
12809
  },
12810
+ "inference_profile": {
12811
+ "$ref": "#/components/schemas/InferenceProfileSnapshot"
12812
+ },
11873
12813
  "error": {
11874
12814
  "$ref": "#/components/schemas/InteractionExecutionError"
11875
12815
  },
@@ -12011,6 +12951,9 @@
12011
12951
  "config": {
12012
12952
  "$ref": "#/components/schemas/InteractionExecutionConfiguration"
12013
12953
  },
12954
+ "inference_profile": {
12955
+ "$ref": "#/components/schemas/InferenceProfileSnapshot"
12956
+ },
12014
12957
  "error": {
12015
12958
  "$ref": "#/components/schemas/InteractionExecutionError"
12016
12959
  },
@@ -12790,6 +13733,9 @@
12790
13733
  "config": {
12791
13734
  "$ref": "#/components/schemas/InteractionExecutionConfiguration"
12792
13735
  },
13736
+ "inference_profile": {
13737
+ "$ref": "#/components/schemas/InferenceProfileSnapshot"
13738
+ },
12793
13739
  "error": {
12794
13740
  "$ref": "#/components/schemas/InteractionExecutionError"
12795
13741
  },
@@ -12944,6 +13890,9 @@
12944
13890
  "config": {
12945
13891
  "$ref": "#/components/schemas/InteractionExecutionConfiguration"
12946
13892
  },
13893
+ "inference_profile": {
13894
+ "$ref": "#/components/schemas/InferenceProfileSnapshot"
13895
+ },
12947
13896
  "error": {
12948
13897
  "$ref": "#/components/schemas/InteractionExecutionError"
12949
13898
  },
@@ -13080,6 +14029,9 @@
13080
14029
  "config": {
13081
14030
  "$ref": "#/components/schemas/InteractionExecutionConfiguration"
13082
14031
  },
14032
+ "inference_profile": {
14033
+ "$ref": "#/components/schemas/InferenceProfileSnapshot"
14034
+ },
13083
14035
  "error": {
13084
14036
  "$ref": "#/components/schemas/InteractionExecutionError"
13085
14037
  },
@@ -13233,6 +14185,9 @@
13233
14185
  "config": {
13234
14186
  "$ref": "#/components/schemas/InteractionExecutionConfiguration"
13235
14187
  },
14188
+ "inference_profile": {
14189
+ "$ref": "#/components/schemas/InferenceProfileSnapshot"
14190
+ },
13236
14191
  "error": {
13237
14192
  "$ref": "#/components/schemas/InteractionExecutionError"
13238
14193
  },
@@ -13386,6 +14341,9 @@
13386
14341
  "config": {
13387
14342
  "$ref": "#/components/schemas/InteractionExecutionConfiguration"
13388
14343
  },
14344
+ "inference_profile": {
14345
+ "$ref": "#/components/schemas/InferenceProfileSnapshot"
14346
+ },
13389
14347
  "error": {
13390
14348
  "$ref": "#/components/schemas/InteractionExecutionError"
13391
14349
  },
@@ -13490,6 +14448,10 @@
13490
14448
  "type": "boolean",
13491
14449
  "description": "Whether to generate lessons automatically at completion. Defaults to true; conversation content remains searchable when disabled."
13492
14450
  },
14451
+ "evaluate": {
14452
+ "type": "boolean",
14453
+ "description": "Request LLM evaluation when the project evaluation policy is opt_in. Defaults to false. Cannot override disabled or opt out of always_on."
14454
+ },
13493
14455
  "app_version": {
13494
14456
  "type": "string",
13495
14457
  "description": "Immutable app-version target inherited by this conversation execution. The workflow applies it to app-owned resource resolution; callers normally set the x-vertesia-app-version header instead of populating this field directly."
@@ -13636,6 +14598,10 @@
13636
14598
  "$ref": "#/components/schemas/AgentCheckpointConfiguration",
13637
14599
  "description": "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."
13638
14600
  },
14601
+ "budget": {
14602
+ "$ref": "#/components/schemas/AgentBudgetConfiguration",
14603
+ "description": "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."
14604
+ },
13639
14605
  "strip_options": {
13640
14606
  "$ref": "#/components/schemas/ConversationStripOptions",
13641
14607
  "description": "Configuration for stripping large data (images, text) from conversation history to prevent JSON serialization issues and reduce storage bloat."
@@ -13661,6 +14627,10 @@
13661
14627
  "additionalProperties": true,
13662
14628
  "description": "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."
13663
14629
  },
14630
+ "final_verification": {
14631
+ "type": "boolean",
14632
+ "description": "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."
14633
+ },
13664
14634
  "non_blocking_subagents": {
13665
14635
  "type": "boolean",
13666
14636
  "description": "When true, subagent/workstream tool calls use fire-and-forget `startChild()` instead of blocking `executeChild()`. The parent continues reasoning while children run, receiving progress/completion via Temporal signals."
@@ -14021,6 +14991,19 @@
14021
14991
  "environment_id": {
14022
14992
  "type": "string"
14023
14993
  },
14994
+ "inference_profile": {
14995
+ "anyOf": [
14996
+ {
14997
+ "$ref": "#/components/schemas/InferenceProfileId"
14998
+ },
14999
+ {
15000
+ "type": "null"
15001
+ }
15002
+ ]
15003
+ },
15004
+ "inherit_model_config": {
15005
+ "type": "boolean"
15006
+ },
14024
15007
  "model_id": {
14025
15008
  "type": "string"
14026
15009
  },
@@ -15380,6 +16363,26 @@
15380
16363
  }
15381
16364
  ]
15382
16365
  },
16366
+ "principal_id": {
16367
+ "anyOf": [
16368
+ {
16369
+ "type": "string"
16370
+ },
16371
+ {
16372
+ "type": "null"
16373
+ }
16374
+ ]
16375
+ },
16376
+ "actor_id": {
16377
+ "anyOf": [
16378
+ {
16379
+ "type": "string"
16380
+ },
16381
+ {
16382
+ "type": "null"
16383
+ }
16384
+ ]
16385
+ },
15383
16386
  "details.pipeline": {
15384
16387
  "anyOf": [
15385
16388
  {
@@ -15437,7 +16440,9 @@
15437
16440
  "type": "string",
15438
16441
  "enum": [
15439
16442
  "resource_id",
15440
- "request_id"
16443
+ "request_id",
16444
+ "principal_id",
16445
+ "actor_id"
15441
16446
  ]
15442
16447
  },
15443
16448
  "AuditAggregationOperation": {
@@ -15467,6 +16472,8 @@
15467
16472
  "event_category",
15468
16473
  "provider",
15469
16474
  "project_id",
16475
+ "principal_id",
16476
+ "actor_id",
15470
16477
  "details.pipeline",
15471
16478
  "details.verdict",
15472
16479
  "details.workflow_type",
@@ -15819,6 +16826,13 @@
15819
16826
  "type": "string"
15820
16827
  }
15821
16828
  },
16829
+ "principalTypes": {
16830
+ "type": "array",
16831
+ "items": {
16832
+ "type": "string"
16833
+ },
16834
+ "description": "Restrict events to top-level actor categories such as user or apikey."
16835
+ },
15822
16836
  "success": {
15823
16837
  "type": "boolean"
15824
16838
  },
@@ -16115,6 +17129,21 @@
16115
17129
  "id": {
16116
17130
  "type": "string"
16117
17131
  },
17132
+ "inference_profile": {
17133
+ "anyOf": [
17134
+ {
17135
+ "$ref": "#/components/schemas/InferenceProfileId"
17136
+ },
17137
+ {
17138
+ "type": "null"
17139
+ }
17140
+ ],
17141
+ "description": "Select a project inference profile. Null bypasses profile defaults."
17142
+ },
17143
+ "inherit_model_config": {
17144
+ "type": "boolean",
17145
+ "description": "Treat the supplied environment, model and inference_profile as the caller's settings, inherited as a fallback: the interaction's bound or attached profile, or its own model, replaces them."
17146
+ },
16118
17147
  "environment": {
16119
17148
  "type": "string"
16120
17149
  },
@@ -18268,6 +19297,10 @@
18268
19297
  "build_version": {
18269
19298
  "type": "boolean",
18270
19299
  "description": "Create one immutable app version after validation. Defaults to false."
19300
+ },
19301
+ "budget": {
19302
+ "$ref": "#/components/schemas/AgentBudgetConfiguration",
19303
+ "description": "Token budget for the whole task, shared by the App Builder run and every step of its development process. Field-wise it overrides the project's `configuration.agent.budget`; `limit_tokens` <= 0 runs the task without a budget."
18271
19304
  }
18272
19305
  },
18273
19306
  "required": [
@@ -27650,6 +28683,10 @@
27650
28683
  },
27651
28684
  "description": "Compartments — set directly or inherited from collections (union across collections)."
27652
28685
  },
28686
+ "shared_root": {
28687
+ "type": "boolean",
28688
+ "description": "Explicitly share this document as a root of the project shared space (readable by non-members via matching shared-content ABAC rules). This is the explicit API share flag — the sync never sets it."
28689
+ },
27653
28690
  "inherited_properties": {
27654
28691
  "type": "array",
27655
28692
  "items": {
@@ -27796,6 +28833,10 @@
27796
28833
  },
27797
28834
  "description": "Compartments — set directly or inherited from collections (union across collections)."
27798
28835
  },
28836
+ "shared_root": {
28837
+ "type": "boolean",
28838
+ "description": "Explicitly share this document as a root of the project shared space (readable by non-members via matching shared-content ABAC rules). This is the explicit API share flag — the sync never sets it."
28839
+ },
27799
28840
  "inherited_properties": {
27800
28841
  "type": "array",
27801
28842
  "items": {
@@ -28094,6 +29135,14 @@
28094
29135
  },
28095
29136
  "description": "Compartments — set directly or inherited from collections (union across collections)."
28096
29137
  },
29138
+ "shared": {
29139
+ "type": "boolean",
29140
+ "description": "Effective shared state: true iff the document is a member of an effectively-shared collection (inherited; sync-managed). Combine with shared_root for full readability."
29141
+ },
29142
+ "shared_root": {
29143
+ "type": "boolean",
29144
+ "description": "True iff the document was explicitly shared via the API (a root of the project shared space). Never set by the sync."
29145
+ },
28097
29146
  "inherited_properties": {
28098
29147
  "type": "array",
28099
29148
  "items": {
@@ -28274,6 +29323,14 @@
28274
29323
  },
28275
29324
  "description": "Compartments — set directly or inherited from collections (union across collections)."
28276
29325
  },
29326
+ "shared": {
29327
+ "type": "boolean",
29328
+ "description": "Effective shared state: true iff the document is a member of an effectively-shared collection (inherited; sync-managed). Combine with shared_root for full readability."
29329
+ },
29330
+ "shared_root": {
29331
+ "type": "boolean",
29332
+ "description": "True iff the document was explicitly shared via the API (a root of the project shared space). Never set by the sync."
29333
+ },
28277
29334
  "inherited_properties": {
28278
29335
  "type": "array",
28279
29336
  "items": {
@@ -28446,6 +29503,12 @@
28446
29503
  "type": "string"
28447
29504
  }
28448
29505
  },
29506
+ "shared": {
29507
+ "type": "boolean"
29508
+ },
29509
+ "shared_root": {
29510
+ "type": "boolean"
29511
+ },
28449
29512
  "inherited_properties": {
28450
29513
  "type": "array",
28451
29514
  "items": {
@@ -30685,6 +31748,17 @@
30685
31748
  "ProcessRunConfig": {
30686
31749
  "type": "object",
30687
31750
  "properties": {
31751
+ "inference_profile": {
31752
+ "anyOf": [
31753
+ {
31754
+ "$ref": "#/components/schemas/InferenceProfileId"
31755
+ },
31756
+ {
31757
+ "type": "null"
31758
+ }
31759
+ ],
31760
+ "description": "Run-level inference profile ID for process LLM nodes and the supervisor. Explicit model settings retain precedence."
31761
+ },
30688
31762
  "environment": {
30689
31763
  "type": "string",
30690
31764
  "description": "Execution environment id used by Process LLM nodes and the supervisor."
@@ -30700,6 +31774,10 @@
30700
31774
  "type": "string",
30701
31775
  "description": "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."
30702
31776
  },
31777
+ "budget": {
31778
+ "$ref": "#/components/schemas/AgentBudgetConfiguration",
31779
+ "description": "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."
31780
+ },
30703
31781
  "process_workstream_monitor": {
30704
31782
  "type": "object",
30705
31783
  "properties": {
@@ -30851,6 +31929,120 @@
30851
31929
  },
30852
31930
  "additionalProperties": false
30853
31931
  },
31932
+ "ProcessTerminalReason": {
31933
+ "type": "string",
31934
+ "enum": [
31935
+ "token_budget_exhausted"
31936
+ ],
31937
+ "description": "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`."
31938
+ },
31939
+ "ProcessBudgetSummary": {
31940
+ "type": "object",
31941
+ "properties": {
31942
+ "node_id": {
31943
+ "type": "string"
31944
+ },
31945
+ "attempt": {
31946
+ "type": "number"
31947
+ },
31948
+ "status": {
31949
+ "type": "string",
31950
+ "enum": [
31951
+ "token_budget_exhausted",
31952
+ "cancelled_at_deadline"
31953
+ ],
31954
+ "description": "`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."
31955
+ },
31956
+ "summary": {
31957
+ "type": "string",
31958
+ "description": "The node's final summary, truncated to 2,000 characters."
31959
+ },
31960
+ "summary_truncated": {
31961
+ "type": "boolean"
31962
+ },
31963
+ "artifact": {
31964
+ "type": "string",
31965
+ "description": "Path of the node's conversation among the process run's artifacts, which holds the full summary."
31966
+ },
31967
+ "child_run_id": {
31968
+ "type": "string"
31969
+ },
31970
+ "usage_incomplete": {
31971
+ "type": "boolean",
31972
+ "description": "True when the node's final token usage never arrived; the run total counts its last reported usage."
31973
+ }
31974
+ },
31975
+ "required": [
31976
+ "node_id",
31977
+ "attempt",
31978
+ "status"
31979
+ ],
31980
+ "additionalProperties": false
31981
+ },
31982
+ "ProcessBudgetState": {
31983
+ "type": "object",
31984
+ "properties": {
31985
+ "mode": {
31986
+ "type": "string",
31987
+ "enum": [
31988
+ "token",
31989
+ "dollar"
31990
+ ],
31991
+ "description": "Absent on historical token-only status."
31992
+ },
31993
+ "limit_usd": {
31994
+ "type": "number",
31995
+ "minimum": 0
31996
+ },
31997
+ "reported_usd": {
31998
+ "type": "number",
31999
+ "minimum": 0
32000
+ },
32001
+ "estimated_usd": {
32002
+ "type": "number",
32003
+ "minimum": 0
32004
+ },
32005
+ "accounting_status": {
32006
+ "type": "string",
32007
+ "enum": [
32008
+ "current",
32009
+ "incomplete"
32010
+ ]
32011
+ },
32012
+ "unmeasured_calls": {
32013
+ "type": "integer",
32014
+ "minimum": 0,
32015
+ "maximum": 9007199254740991
32016
+ },
32017
+ "limit_tokens": {
32018
+ "type": "number"
32019
+ },
32020
+ "used_units": {
32021
+ "type": "number",
32022
+ "description": "Weighted tokens used by the run and everything it launched."
32023
+ },
32024
+ "exhausted": {
32025
+ "type": "boolean"
32026
+ },
32027
+ "awaiting_allocation": {
32028
+ "type": "boolean",
32029
+ "description": "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`."
32030
+ },
32031
+ "summaries": {
32032
+ "type": "array",
32033
+ "items": {
32034
+ "$ref": "#/components/schemas/ProcessBudgetSummary"
32035
+ },
32036
+ "description": "One entry per node the budget stopped: at most the latest attempt, 50 entries."
32037
+ }
32038
+ },
32039
+ "required": [
32040
+ "limit_tokens",
32041
+ "used_units",
32042
+ "exhausted"
32043
+ ],
32044
+ "additionalProperties": false
32045
+ },
30854
32046
  "ProcessState": {
30855
32047
  "type": "object",
30856
32048
  "properties": {
@@ -30872,6 +32064,13 @@
30872
32064
  },
30873
32065
  "sequence": {
30874
32066
  "type": "number"
32067
+ },
32068
+ "terminal_reason": {
32069
+ "$ref": "#/components/schemas/ProcessTerminalReason"
32070
+ },
32071
+ "budget": {
32072
+ "$ref": "#/components/schemas/ProcessBudgetState",
32073
+ "description": "Run budget status, including dollar consumption when configured."
30875
32074
  }
30876
32075
  },
30877
32076
  "required": [
@@ -32626,6 +33825,10 @@
32626
33825
  },
32627
33826
  "description": "Compartments for member documents"
32628
33827
  },
33828
+ "shared_root": {
33829
+ "type": "boolean",
33830
+ "description": "Explicitly share this collection as a root of the project shared space (listable/readable by non-members via matching shared-content ABAC rules). This is the explicit API share flag — the sync never sets it."
33831
+ },
32629
33832
  "name": {
32630
33833
  "type": "string",
32631
33834
  "description": "Name of the collection"
@@ -32722,6 +33925,10 @@
32722
33925
  },
32723
33926
  "description": "Compartments for member documents"
32724
33927
  },
33928
+ "shared_root": {
33929
+ "type": "boolean",
33930
+ "description": "Explicitly share this collection as a root of the project shared space (listable/readable by non-members via matching shared-content ABAC rules). This is the explicit API share flag — the sync never sets it."
33931
+ },
32725
33932
  "name": {
32726
33933
  "type": "string",
32727
33934
  "description": "Name of the collection"
@@ -32871,12 +34078,24 @@
32871
34078
  },
32872
34079
  "description": "Compartments — propagated to member documents (union across collections)"
32873
34080
  },
34081
+ "shared": {
34082
+ "type": "boolean",
34083
+ "description": "Effective shared state: true iff the collection is a member of an effectively-shared parent collection (inherited; sync-managed). Combine with shared_root for full readability."
34084
+ },
34085
+ "shared_root": {
34086
+ "type": "boolean",
34087
+ "description": "True iff the collection was explicitly shared via the API (a root of the project shared space). Never set by the sync."
34088
+ },
32874
34089
  "shared_properties": {
32875
34090
  "type": "array",
32876
34091
  "items": {
32877
34092
  "type": "string"
32878
34093
  },
32879
34094
  "description": "List of property names from the collection's properties that should be shared with (injected into) member objects. These properties will be propagated to all members of this collection and merged as arrays."
34095
+ },
34096
+ "user_permissions": {
34097
+ "$ref": "#/components/schemas/ContentObjectUserPermissions",
34098
+ "description": "Computed per-request permissions for the current user on this collection. Not stored — computed on the fly from the collection's security field (same semantics as a content object's user_permissions)."
32880
34099
  }
32881
34100
  },
32882
34101
  "required": [
@@ -33153,6 +34372,41 @@
33153
34372
  "additionalProperties": false,
33154
34373
  "description": "Response from signaling an agent workflow."
33155
34374
  },
34375
+ "AllocateAgentRunBudgetPayload": {
34376
+ "anyOf": [
34377
+ {
34378
+ "type": "object",
34379
+ "properties": {
34380
+ "additional_tokens": {
34381
+ "type": "integer",
34382
+ "exclusiveMinimum": 0,
34383
+ "maximum": 9007199254740991,
34384
+ "description": "Weighted tokens to add to the run allowance."
34385
+ }
34386
+ },
34387
+ "required": [
34388
+ "additional_tokens"
34389
+ ],
34390
+ "additionalProperties": false
34391
+ },
34392
+ {
34393
+ "type": "object",
34394
+ "properties": {
34395
+ "additional_usd": {
34396
+ "type": "number",
34397
+ "exclusiveMinimum": 0,
34398
+ "maximum": 9007199.25474099,
34399
+ "description": "USD to add to the dollar allowance."
34400
+ }
34401
+ },
34402
+ "required": [
34403
+ "additional_usd"
34404
+ ],
34405
+ "additionalProperties": false
34406
+ }
34407
+ ],
34408
+ "description": "Add exactly one allowance: weighted tokens or USD."
34409
+ },
33156
34410
  "AgentRunEvaluationRollup": {
33157
34411
  "type": "object",
33158
34412
  "properties": {
@@ -33394,7 +34648,7 @@
33394
34648
  ],
33395
34649
  "description": "Why the run was rated the way it was."
33396
34650
  },
33397
- "AgentRunJudgeResult": {
34651
+ "AgentRunLlmEvaluationResult": {
33398
34652
  "type": "object",
33399
34653
  "properties": {
33400
34654
  "rev": {
@@ -33403,7 +34657,7 @@
33403
34657
  "maximum": 9007199254740991
33404
34658
  },
33405
34659
  "gate": {
33406
- "$ref": "#/components/schemas/JudgeGateReason"
34660
+ "$ref": "#/components/schemas/EvaluationGateReason"
33407
34661
  },
33408
34662
  "sample_rate": {
33409
34663
  "type": "number"
@@ -33412,10 +34666,10 @@
33412
34666
  "type": "number"
33413
34667
  },
33414
34668
  "outcome": {
33415
- "$ref": "#/components/schemas/JudgeOutcome"
34669
+ "$ref": "#/components/schemas/EvaluationOutcome"
33416
34670
  },
33417
34671
  "verdict": {
33418
- "$ref": "#/components/schemas/JudgeVerdict"
34672
+ "$ref": "#/components/schemas/EvaluationVerdict"
33419
34673
  },
33420
34674
  "score": {
33421
34675
  "type": "number"
@@ -33426,7 +34680,7 @@
33426
34680
  "prompt_version": {
33427
34681
  "type": "string"
33428
34682
  },
33429
- "turns_judged": {
34683
+ "turns_evaluated": {
33430
34684
  "type": "array",
33431
34685
  "items": {
33432
34686
  "type": "integer",
@@ -33434,7 +34688,7 @@
33434
34688
  "maximum": 9007199254740991
33435
34689
  }
33436
34690
  },
33437
- "judged_at": {
34691
+ "evaluated_at": {
33438
34692
  "type": "string",
33439
34693
  "format": "date-time"
33440
34694
  }
@@ -33446,42 +34700,44 @@
33446
34700
  "selected_probability",
33447
34701
  "outcome",
33448
34702
  "prompt_version",
33449
- "judged_at"
34703
+ "evaluated_at"
33450
34704
  ],
33451
34705
  "additionalProperties": false,
33452
- "description": "Latest judge result for a run."
34706
+ "description": "Latest LLM evaluation result for a run."
33453
34707
  },
33454
- "JudgeGateReason": {
34708
+ "EvaluationGateReason": {
33455
34709
  "type": "string",
33456
34710
  "enum": [
33457
34711
  "signal",
33458
- "sample"
34712
+ "sample",
34713
+ "opt_in",
34714
+ "always_on"
33459
34715
  ],
33460
- "description": "Why the judge looked at a run."
34716
+ "description": "Why a run was selected for LLM evaluation."
33461
34717
  },
33462
- "JudgeOutcome": {
34718
+ "EvaluationOutcome": {
33463
34719
  "type": "string",
33464
34720
  "enum": [
33465
- "judged",
34721
+ "evaluated",
33466
34722
  "skipped_unarchived",
33467
34723
  "failed"
33468
34724
  ],
33469
- "description": "What a judge run produced."
34725
+ "description": "Outcome of an LLM evaluation run."
33470
34726
  },
33471
- "JudgeVerdict": {
34727
+ "EvaluationVerdict": {
33472
34728
  "type": "string",
33473
34729
  "enum": [
33474
34730
  "success",
33475
34731
  "partial",
33476
34732
  "failure"
33477
34733
  ],
33478
- "description": "The judge's reading of a turn."
34734
+ "description": "LLM evaluation verdict for a turn."
33479
34735
  },
33480
34736
  "AgentRunContradictionReason": {
33481
34737
  "type": "string",
33482
34738
  "enum": [
33483
34739
  "feedback_down_on_clean_run",
33484
- "judge_failure_on_clean_run"
34740
+ "evaluation_failure_on_clean_run"
33485
34741
  ]
33486
34742
  },
33487
34743
  "AgentRunEvaluation": {
@@ -33499,8 +34755,8 @@
33499
34755
  "feedback_counts": {
33500
34756
  "$ref": "#/components/schemas/AgentRunFeedbackCounts"
33501
34757
  },
33502
- "judge": {
33503
- "$ref": "#/components/schemas/AgentRunJudgeResult"
34758
+ "llm_evaluation": {
34759
+ "$ref": "#/components/schemas/AgentRunLlmEvaluationResult"
33504
34760
  },
33505
34761
  "severity": {
33506
34762
  "$ref": "#/components/schemas/EvaluationSeverity"
@@ -33813,6 +35069,10 @@
33813
35069
  },
33814
35070
  "description": "Lessons learned from the conversation (extracted at completion)"
33815
35071
  },
35072
+ "evaluate": {
35073
+ "type": "boolean",
35074
+ "description": "Request LLM evaluation when the project evaluation policy is opt_in. Defaults to false. Cannot override disabled or opt out of always_on."
35075
+ },
33816
35076
  "evaluation": {
33817
35077
  "$ref": "#/components/schemas/AgentRunEvaluation",
33818
35078
  "description": "Evaluation summary of the run."
@@ -34087,6 +35347,10 @@
34087
35347
  },
34088
35348
  "description": "Lessons learned from the conversation (extracted at completion)"
34089
35349
  },
35350
+ "evaluate": {
35351
+ "type": "boolean",
35352
+ "description": "Request LLM evaluation when the project evaluation policy is opt_in. Defaults to false. Cannot override disabled or opt out of always_on."
35353
+ },
34090
35354
  "evaluation": {
34091
35355
  "$ref": "#/components/schemas/AgentRunEvaluation",
34092
35356
  "description": "Evaluation summary of the run."
@@ -34158,6 +35422,10 @@
34158
35422
  "type": "boolean",
34159
35423
  "description": "Whether to generate lessons automatically at completion. Defaults to true; conversation content remains searchable when disabled."
34160
35424
  },
35425
+ "evaluate": {
35426
+ "type": "boolean",
35427
+ "description": "Request LLM evaluation when the project evaluation policy is opt_in. Defaults to false. Cannot override disabled or opt out of always_on."
35428
+ },
34161
35429
  "data": {
34162
35430
  "type": "object",
34163
35431
  "additionalProperties": true,
@@ -34278,10 +35546,18 @@
34278
35546
  "$ref": "#/components/schemas/AgentCheckpointConfiguration",
34279
35547
  "description": "Structured checkpoint override for this run. Field-wise it takes precedence over the interaction's `agent_runner_options.checkpoint` and the project's `configuration.agent.checkpoint`; the legacy `checkpoint_tokens` above still wins over everything when set."
34280
35548
  },
35549
+ "budget": {
35550
+ "$ref": "#/components/schemas/AgentBudgetConfiguration",
35551
+ "description": "Token budget for this run and its subagent workstreams. Field-wise it takes precedence over the interaction's `agent_runner_options.budget` and the project's `configuration.agent.budget`."
35552
+ },
34281
35553
  "max_iterations": {
34282
35554
  "type": "number",
34283
35555
  "description": "Maximum conversation iterations (default: 20)"
34284
35556
  },
35557
+ "final_verification": {
35558
+ "type": "boolean",
35559
+ "description": "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. Not kept on restart or fork."
35560
+ },
34285
35561
  "notify_endpoints": {
34286
35562
  "type": "array",
34287
35563
  "items": {
@@ -35027,7 +36303,7 @@
35027
36303
  },
35028
36304
  "contradicted": {
35029
36305
  "type": "boolean",
35030
- "description": "Only runs whose feedback or judge contradicts the detectors"
36306
+ "description": "Only runs whose feedback or LLM evaluation contradicts the detectors"
35031
36307
  }
35032
36308
  }
35033
36309
  },
@@ -35065,6 +36341,10 @@
35065
36341
  "type": "boolean",
35066
36342
  "description": "Whether to generate lessons automatically at completion. Defaults to true; conversation content remains searchable when disabled."
35067
36343
  },
36344
+ "evaluate": {
36345
+ "type": "boolean",
36346
+ "description": "Request LLM evaluation when the project evaluation policy is opt_in. Defaults to false. Cannot override disabled or opt out of always_on."
36347
+ },
35068
36348
  "parent_run_id": {
35069
36349
  "type": "string"
35070
36350
  },
@@ -35711,6 +36991,9 @@
35711
36991
  "errorType": {
35712
36992
  "type": "string"
35713
36993
  },
36994
+ "executionRunId": {
36995
+ "type": "string"
36996
+ },
35714
36997
  "nestedInteractionId": {
35715
36998
  "type": "string"
35716
36999
  },
@@ -36454,7 +37737,7 @@
36454
37737
  },
36455
37738
  "eventType": {
36456
37739
  "type": "string",
36457
- "const": "turn_judgement"
37740
+ "const": "turn_llm_evaluation"
36458
37741
  },
36459
37742
  "evaluationRev": {
36460
37743
  "type": "integer",
@@ -36470,7 +37753,7 @@
36470
37753
  "maximum": 9007199254740991
36471
37754
  },
36472
37755
  "gate": {
36473
- "$ref": "#/components/schemas/JudgeGateReason"
37756
+ "$ref": "#/components/schemas/EvaluationGateReason"
36474
37757
  },
36475
37758
  "sampleRate": {
36476
37759
  "type": "number"
@@ -36479,10 +37762,10 @@
36479
37762
  "type": "number"
36480
37763
  },
36481
37764
  "outcome": {
36482
- "$ref": "#/components/schemas/JudgeOutcome"
37765
+ "$ref": "#/components/schemas/EvaluationOutcome"
36483
37766
  },
36484
37767
  "verdict": {
36485
- "$ref": "#/components/schemas/JudgeVerdict"
37768
+ "$ref": "#/components/schemas/EvaluationVerdict"
36486
37769
  },
36487
37770
  "score": {
36488
37771
  "type": "number"
@@ -38240,6 +39523,9 @@
38240
39523
  "checkpoint_tokens": {
38241
39524
  "type": "number"
38242
39525
  },
39526
+ "budget": {
39527
+ "$ref": "#/components/schemas/AgentBudgetConfiguration"
39528
+ },
38243
39529
  "version": {
38244
39530
  "type": "number"
38245
39531
  },
@@ -41222,9 +42508,11 @@
41222
42508
  "provider",
41223
42509
  "service_tier",
41224
42510
  "interaction",
41225
- "workflow"
42511
+ "workflow",
42512
+ "agent_run",
42513
+ "workflow_run"
41226
42514
  ],
41227
- "description": "Group results by this dimension"
42515
+ "description": "Group results by this dimension. `agent_run` groups by root agent run, including the calls of its sub-agents; `workflow_run` groups by Temporal workflow run, which separates each sub-agent."
41228
42516
  },
41229
42517
  "resolution": {
41230
42518
  "type": "string",
@@ -41441,6 +42729,12 @@
41441
42729
  "type": "string",
41442
42730
  "description": "Processing tier this price applies to"
41443
42731
  },
42732
+ "min_prompt_tokens": {
42733
+ "type": "integer",
42734
+ "minimum": 0,
42735
+ "maximum": 9007199254740991,
42736
+ "description": "When set, these prices apply to calls whose prompt (input, cached and cache-write tokens) is longer than this many tokens, in place of the prices without it."
42737
+ },
41444
42738
  "input_price_per_m_tokens": {
41445
42739
  "type": "number"
41446
42740
  },
@@ -41458,8 +42752,10 @@
41458
42752
  "enum": [
41459
42753
  "billing_export",
41460
42754
  "model_pricing_daily",
42755
+ "run_time_estimate",
41461
42756
  "unavailable"
41462
- ]
42757
+ ],
42758
+ "description": "Where the rates come from. `run_time_estimate` rates are the ones recorded on the calls when their cost was estimated; the others come from the pricing catalog."
41463
42759
  }
41464
42760
  },
41465
42761
  "required": [
@@ -41743,6 +43039,30 @@
41743
43039
  ],
41744
43040
  "additionalProperties": false
41745
43041
  }
43042
+ },
43043
+ "cost_by_source": {
43044
+ "type": "object",
43045
+ "properties": {
43046
+ "provider_billed": {
43047
+ "type": "number",
43048
+ "description": "USD the provider reported billing for the calls."
43049
+ },
43050
+ "run_time_estimate": {
43051
+ "type": "number",
43052
+ "description": "USD estimated from list prices when the calls ran, for calls with no billed amount."
43053
+ },
43054
+ "price_table": {
43055
+ "type": "number",
43056
+ "description": "USD computed from the pricing table, for calls with no cost recorded when they ran."
43057
+ }
43058
+ },
43059
+ "required": [
43060
+ "provider_billed",
43061
+ "run_time_estimate",
43062
+ "price_table"
43063
+ ],
43064
+ "additionalProperties": false,
43065
+ "description": "How the total cost splits by where each call's cost came from."
41746
43066
  }
41747
43067
  },
41748
43068
  "required": [
@@ -41838,6 +43158,30 @@
41838
43158
  ],
41839
43159
  "additionalProperties": false
41840
43160
  }
43161
+ },
43162
+ "cost_by_source": {
43163
+ "type": "object",
43164
+ "properties": {
43165
+ "provider_billed": {
43166
+ "type": "number",
43167
+ "description": "USD the provider reported billing for the calls."
43168
+ },
43169
+ "run_time_estimate": {
43170
+ "type": "number",
43171
+ "description": "USD estimated from list prices when the calls ran, for calls with no billed amount."
43172
+ },
43173
+ "price_table": {
43174
+ "type": "number",
43175
+ "description": "USD computed from the pricing table, for calls with no cost recorded when they ran."
43176
+ }
43177
+ },
43178
+ "required": [
43179
+ "provider_billed",
43180
+ "run_time_estimate",
43181
+ "price_table"
43182
+ ],
43183
+ "additionalProperties": false,
43184
+ "description": "How the total cost splits by where each call's cost came from."
41841
43185
  }
41842
43186
  },
41843
43187
  "required": [