@vertesia/common 1.5.0-dev.20260722.120446Z → 1.5.0-dev.20260804.124748Z

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 (522) hide show
  1. package/lib/access-control-values.d.ts +98 -0
  2. package/lib/access-control-values.d.ts.map +1 -0
  3. package/lib/access-control-values.js +101 -0
  4. package/lib/access-control-values.js.map +1 -0
  5. package/lib/access-control.d.ts +22 -119
  6. package/lib/access-control.d.ts.map +1 -1
  7. package/lib/access-control.js +6 -78
  8. package/lib/access-control.js.map +1 -1
  9. package/lib/account-values.d.ts +53 -0
  10. package/lib/account-values.d.ts.map +1 -0
  11. package/lib/account-values.js +91 -0
  12. package/lib/account-values.js.map +1 -0
  13. package/lib/analytics.d.ts +12 -38
  14. package/lib/analytics.d.ts.map +1 -1
  15. package/lib/api-schemas/access-control.d.ts +215 -0
  16. package/lib/api-schemas/access-control.d.ts.map +1 -0
  17. package/lib/api-schemas/access-control.js +165 -0
  18. package/lib/api-schemas/access-control.js.map +1 -0
  19. package/lib/api-schemas/account.d.ts +101 -0
  20. package/lib/api-schemas/account.d.ts.map +1 -0
  21. package/lib/api-schemas/account.js +136 -0
  22. package/lib/api-schemas/account.js.map +1 -0
  23. package/lib/api-schemas/adapter.d.ts +80 -0
  24. package/lib/api-schemas/adapter.d.ts.map +1 -0
  25. package/lib/api-schemas/adapter.js +726 -0
  26. package/lib/api-schemas/adapter.js.map +1 -0
  27. package/lib/api-schemas/agent-runs.d.ts +3781 -0
  28. package/lib/api-schemas/agent-runs.d.ts.map +1 -0
  29. package/lib/api-schemas/agent-runs.js +991 -0
  30. package/lib/api-schemas/agent-runs.js.map +1 -0
  31. package/lib/api-schemas/analytics.d.ts +86 -0
  32. package/lib/api-schemas/analytics.d.ts.map +1 -0
  33. package/lib/api-schemas/analytics.js +58 -0
  34. package/lib/api-schemas/analytics.js.map +1 -0
  35. package/lib/api-schemas/apikey.d.ts +231 -0
  36. package/lib/api-schemas/apikey.d.ts.map +1 -0
  37. package/lib/api-schemas/apikey.js +172 -0
  38. package/lib/api-schemas/apikey.js.map +1 -0
  39. package/lib/api-schemas/app-lifecycle.d.ts +1114 -0
  40. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
  41. package/lib/api-schemas/app-lifecycle.js +750 -0
  42. package/lib/api-schemas/app-lifecycle.js.map +1 -0
  43. package/lib/api-schemas/app-runtime.d.ts +9056 -0
  44. package/lib/api-schemas/app-runtime.d.ts.map +1 -0
  45. package/lib/api-schemas/app-runtime.js +782 -0
  46. package/lib/api-schemas/app-runtime.js.map +1 -0
  47. package/lib/api-schemas/apps.d.ts +247 -0
  48. package/lib/api-schemas/apps.d.ts.map +1 -0
  49. package/lib/api-schemas/apps.js +366 -0
  50. package/lib/api-schemas/apps.js.map +1 -0
  51. package/lib/api-schemas/audit-trail.d.ts +465 -0
  52. package/lib/api-schemas/audit-trail.d.ts.map +1 -0
  53. package/lib/api-schemas/audit-trail.js +218 -0
  54. package/lib/api-schemas/audit-trail.js.map +1 -0
  55. package/lib/api-schemas/bulk-operation.d.ts +104 -0
  56. package/lib/api-schemas/bulk-operation.d.ts.map +1 -0
  57. package/lib/api-schemas/bulk-operation.js +66 -0
  58. package/lib/api-schemas/bulk-operation.js.map +1 -0
  59. package/lib/api-schemas/commands.d.ts +50 -0
  60. package/lib/api-schemas/commands.d.ts.map +1 -0
  61. package/lib/api-schemas/commands.js +58 -0
  62. package/lib/api-schemas/commands.js.map +1 -0
  63. package/lib/api-schemas/content.d.ts +3561 -0
  64. package/lib/api-schemas/content.d.ts.map +1 -0
  65. package/lib/api-schemas/content.js +842 -0
  66. package/lib/api-schemas/content.js.map +1 -0
  67. package/lib/api-schemas/cost-analytics.d.ts +300 -0
  68. package/lib/api-schemas/cost-analytics.d.ts.map +1 -0
  69. package/lib/api-schemas/cost-analytics.js +218 -0
  70. package/lib/api-schemas/cost-analytics.js.map +1 -0
  71. package/lib/api-schemas/dashboard.d.ts +408 -0
  72. package/lib/api-schemas/dashboard.d.ts.map +1 -0
  73. package/lib/api-schemas/dashboard.js +311 -0
  74. package/lib/api-schemas/dashboard.js.map +1 -0
  75. package/lib/api-schemas/data-store.d.ts +1650 -0
  76. package/lib/api-schemas/data-store.d.ts.map +1 -0
  77. package/lib/api-schemas/data-store.js +504 -0
  78. package/lib/api-schemas/data-store.js.map +1 -0
  79. package/lib/api-schemas/document-processing.d.ts +1501 -0
  80. package/lib/api-schemas/document-processing.d.ts.map +1 -0
  81. package/lib/api-schemas/document-processing.js +312 -0
  82. package/lib/api-schemas/document-processing.js.map +1 -0
  83. package/lib/api-schemas/embeddings.d.ts +184 -0
  84. package/lib/api-schemas/embeddings.d.ts.map +1 -0
  85. package/lib/api-schemas/embeddings.js +102 -0
  86. package/lib/api-schemas/embeddings.js.map +1 -0
  87. package/lib/api-schemas/environment.d.ts +412 -0
  88. package/lib/api-schemas/environment.d.ts.map +1 -0
  89. package/lib/api-schemas/environment.js +170 -0
  90. package/lib/api-schemas/environment.js.map +1 -0
  91. package/lib/api-schemas/events.d.ts +4880 -0
  92. package/lib/api-schemas/events.d.ts.map +1 -0
  93. package/lib/api-schemas/events.js +832 -0
  94. package/lib/api-schemas/events.js.map +1 -0
  95. package/lib/api-schemas/files.d.ts +107 -0
  96. package/lib/api-schemas/files.d.ts.map +1 -0
  97. package/lib/api-schemas/files.js +137 -0
  98. package/lib/api-schemas/files.js.map +1 -0
  99. package/lib/api-schemas/group.d.ts +122 -0
  100. package/lib/api-schemas/group.d.ts.map +1 -0
  101. package/lib/api-schemas/group.js +142 -0
  102. package/lib/api-schemas/group.js.map +1 -0
  103. package/lib/api-schemas/index.d.ts +36 -0
  104. package/lib/api-schemas/index.d.ts.map +1 -0
  105. package/lib/api-schemas/index.js +36 -0
  106. package/lib/api-schemas/index.js.map +1 -0
  107. package/lib/api-schemas/indexing.d.ts +144 -0
  108. package/lib/api-schemas/indexing.d.ts.map +1 -0
  109. package/lib/api-schemas/indexing.js +217 -0
  110. package/lib/api-schemas/indexing.js.map +1 -0
  111. package/lib/api-schemas/integrations.d.ts +269 -0
  112. package/lib/api-schemas/integrations.d.ts.map +1 -0
  113. package/lib/api-schemas/integrations.js +335 -0
  114. package/lib/api-schemas/integrations.js.map +1 -0
  115. package/lib/api-schemas/interaction.d.ts +22454 -0
  116. package/lib/api-schemas/interaction.d.ts.map +1 -0
  117. package/lib/api-schemas/interaction.js +2065 -0
  118. package/lib/api-schemas/interaction.js.map +1 -0
  119. package/lib/api-schemas/invites.d.ts +162 -0
  120. package/lib/api-schemas/invites.d.ts.map +1 -0
  121. package/lib/api-schemas/invites.js +106 -0
  122. package/lib/api-schemas/invites.js.map +1 -0
  123. package/lib/api-schemas/oauth-server.d.ts +415 -0
  124. package/lib/api-schemas/oauth-server.d.ts.map +1 -0
  125. package/lib/api-schemas/oauth-server.js +193 -0
  126. package/lib/api-schemas/oauth-server.js.map +1 -0
  127. package/lib/api-schemas/oauth.d.ts +150 -0
  128. package/lib/api-schemas/oauth.d.ts.map +1 -0
  129. package/lib/api-schemas/oauth.js +148 -0
  130. package/lib/api-schemas/oauth.js.map +1 -0
  131. package/lib/api-schemas/parameters.d.ts +64 -0
  132. package/lib/api-schemas/parameters.d.ts.map +1 -0
  133. package/lib/api-schemas/parameters.js +246 -0
  134. package/lib/api-schemas/parameters.js.map +1 -0
  135. package/lib/api-schemas/process.d.ts +499 -0
  136. package/lib/api-schemas/process.d.ts.map +1 -0
  137. package/lib/api-schemas/process.js +817 -0
  138. package/lib/api-schemas/process.js.map +1 -0
  139. package/lib/api-schemas/project-configuration.d.ts +4900 -0
  140. package/lib/api-schemas/project-configuration.d.ts.map +1 -0
  141. package/lib/api-schemas/project-configuration.js +425 -0
  142. package/lib/api-schemas/project-configuration.js.map +1 -0
  143. package/lib/api-schemas/project.d.ts +7247 -0
  144. package/lib/api-schemas/project.d.ts.map +1 -0
  145. package/lib/api-schemas/project.js +185 -0
  146. package/lib/api-schemas/project.js.map +1 -0
  147. package/lib/api-schemas/prompt.d.ts +70 -0
  148. package/lib/api-schemas/prompt.d.ts.map +1 -0
  149. package/lib/api-schemas/prompt.js +77 -0
  150. package/lib/api-schemas/prompt.js.map +1 -0
  151. package/lib/api-schemas/quota.d.ts +90 -0
  152. package/lib/api-schemas/quota.d.ts.map +1 -0
  153. package/lib/api-schemas/quota.js +95 -0
  154. package/lib/api-schemas/quota.js.map +1 -0
  155. package/lib/api-schemas/registry.d.ts +97458 -0
  156. package/lib/api-schemas/registry.d.ts.map +1 -0
  157. package/lib/api-schemas/registry.js +2586 -0
  158. package/lib/api-schemas/registry.js.map +1 -0
  159. package/lib/api-schemas/schema-primitives.d.ts +5 -0
  160. package/lib/api-schemas/schema-primitives.d.ts.map +1 -0
  161. package/lib/api-schemas/schema-primitives.js +11 -0
  162. package/lib/api-schemas/schema-primitives.js.map +1 -0
  163. package/lib/api-schemas/secrets.d.ts +497 -0
  164. package/lib/api-schemas/secrets.d.ts.map +1 -0
  165. package/lib/api-schemas/secrets.js +298 -0
  166. package/lib/api-schemas/secrets.js.map +1 -0
  167. package/lib/api-schemas/store.d.ts +22140 -0
  168. package/lib/api-schemas/store.d.ts.map +1 -0
  169. package/lib/api-schemas/store.js +557 -0
  170. package/lib/api-schemas/store.js.map +1 -0
  171. package/lib/api-schemas/sts.d.ts +156 -0
  172. package/lib/api-schemas/sts.d.ts.map +1 -0
  173. package/lib/api-schemas/sts.js +96 -0
  174. package/lib/api-schemas/sts.js.map +1 -0
  175. package/lib/api-schemas/task.d.ts +215 -0
  176. package/lib/api-schemas/task.d.ts.map +1 -0
  177. package/lib/api-schemas/task.js +95 -0
  178. package/lib/api-schemas/task.js.map +1 -0
  179. package/lib/api-schemas/tools.d.ts +111 -0
  180. package/lib/api-schemas/tools.d.ts.map +1 -0
  181. package/lib/api-schemas/tools.js +122 -0
  182. package/lib/api-schemas/tools.js.map +1 -0
  183. package/lib/api-schemas/user.d.ts +208 -0
  184. package/lib/api-schemas/user.d.ts.map +1 -0
  185. package/lib/api-schemas/user.js +180 -0
  186. package/lib/api-schemas/user.js.map +1 -0
  187. package/lib/api-schemas/view-execution.d.ts +3163 -0
  188. package/lib/api-schemas/view-execution.d.ts.map +1 -0
  189. package/lib/api-schemas/view-execution.js +172 -0
  190. package/lib/api-schemas/view-execution.js.map +1 -0
  191. package/lib/api-schemas/views.d.ts +5990 -0
  192. package/lib/api-schemas/views.d.ts.map +1 -0
  193. package/lib/api-schemas/views.js +396 -0
  194. package/lib/api-schemas/views.js.map +1 -0
  195. package/lib/api-schemas/workflow-runs.d.ts +2209 -0
  196. package/lib/api-schemas/workflow-runs.d.ts.map +1 -0
  197. package/lib/api-schemas/workflow-runs.js +589 -0
  198. package/lib/api-schemas/workflow-runs.js.map +1 -0
  199. package/lib/apikey-values.d.ts +10 -0
  200. package/lib/apikey-values.d.ts.map +1 -0
  201. package/lib/apikey-values.js +11 -0
  202. package/lib/apikey-values.js.map +1 -0
  203. package/lib/apikey.d.ts +37 -36
  204. package/lib/apikey.d.ts.map +1 -1
  205. package/lib/apikey.js +5 -4
  206. package/lib/apikey.js.map +1 -1
  207. package/lib/apps.d.ts +116 -1121
  208. package/lib/apps.d.ts.map +1 -1
  209. package/lib/apps.js.map +1 -1
  210. package/lib/ask-user.d.ts +8 -1
  211. package/lib/ask-user.d.ts.map +1 -1
  212. package/lib/audit-trail.d.ts +17 -128
  213. package/lib/audit-trail.d.ts.map +1 -1
  214. package/lib/audit-trail.js.map +1 -1
  215. package/lib/browser-credentials.d.ts +11 -106
  216. package/lib/browser-credentials.d.ts.map +1 -1
  217. package/lib/common.d.ts +59 -81
  218. package/lib/common.d.ts.map +1 -1
  219. package/lib/cost-analytics.d.ts +14 -167
  220. package/lib/cost-analytics.d.ts.map +1 -1
  221. package/lib/cost-analytics.js.map +1 -1
  222. package/lib/data-platform.d.ts +122 -786
  223. package/lib/data-platform.d.ts.map +1 -1
  224. package/lib/data-platform.js +41 -61
  225. package/lib/data-platform.js.map +1 -1
  226. package/lib/email.d.ts +5 -17
  227. package/lib/email.d.ts.map +1 -1
  228. package/lib/email.js +0 -3
  229. package/lib/email.js.map +1 -1
  230. package/lib/embeddings.d.ts +14 -56
  231. package/lib/embeddings.d.ts.map +1 -1
  232. package/lib/environment.d.ts +19 -113
  233. package/lib/environment.d.ts.map +1 -1
  234. package/lib/environment.js +3 -0
  235. package/lib/environment.js.map +1 -1
  236. package/lib/facets.d.ts +4 -7
  237. package/lib/facets.d.ts.map +1 -1
  238. package/lib/group.d.ts +33 -39
  239. package/lib/group.d.ts.map +1 -1
  240. package/lib/group.js +0 -1
  241. package/lib/group.js.map +1 -1
  242. package/lib/index.d.ts +7 -0
  243. package/lib/index.d.ts.map +1 -1
  244. package/lib/index.js.map +1 -1
  245. package/lib/integrations.d.ts +20 -108
  246. package/lib/integrations.d.ts.map +1 -1
  247. package/lib/integrations.js.map +1 -1
  248. package/lib/interaction-values.d.ts +11 -0
  249. package/lib/interaction-values.d.ts.map +1 -0
  250. package/lib/interaction-values.js +24 -0
  251. package/lib/interaction-values.js.map +1 -0
  252. package/lib/interaction.d.ts +116 -734
  253. package/lib/interaction.d.ts.map +1 -1
  254. package/lib/interaction.js +56 -12
  255. package/lib/interaction.js.map +1 -1
  256. package/lib/meters.d.ts +11 -7
  257. package/lib/meters.d.ts.map +1 -1
  258. package/lib/meters.js.map +1 -1
  259. package/lib/oauth-server.d.ts +33 -119
  260. package/lib/oauth-server.d.ts.map +1 -1
  261. package/lib/oauth.d.ts +14 -96
  262. package/lib/oauth.d.ts.map +1 -1
  263. package/lib/oauth.js +0 -4
  264. package/lib/oauth.js.map +1 -1
  265. package/lib/payload.d.ts +15 -38
  266. package/lib/payload.d.ts.map +1 -1
  267. package/lib/platform-event.d.ts +49 -462
  268. package/lib/platform-event.d.ts.map +1 -1
  269. package/lib/platform-event.js.map +1 -1
  270. package/lib/principal-context.d.ts +10 -15
  271. package/lib/principal-context.d.ts.map +1 -1
  272. package/lib/project-values.d.ts +24 -0
  273. package/lib/project-values.d.ts.map +1 -0
  274. package/lib/project-values.js +42 -0
  275. package/lib/project-values.js.map +1 -0
  276. package/lib/project.d.ts +55 -503
  277. package/lib/project.d.ts.map +1 -1
  278. package/lib/project.js +6 -76
  279. package/lib/project.js.map +1 -1
  280. package/lib/prompt.d.ts +20 -51
  281. package/lib/prompt.d.ts.map +1 -1
  282. package/lib/prompt.js.map +1 -1
  283. package/lib/query.d.ts +27 -88
  284. package/lib/query.d.ts.map +1 -1
  285. package/lib/rate-limiter.d.ts +19 -70
  286. package/lib/rate-limiter.d.ts.map +1 -1
  287. package/lib/rate-limiter.js +0 -3
  288. package/lib/rate-limiter.js.map +1 -1
  289. package/lib/refs.d.ts +3 -11
  290. package/lib/refs.d.ts.map +1 -1
  291. package/lib/refs.js.map +1 -1
  292. package/lib/roles/types.d.ts +14 -20
  293. package/lib/roles/types.d.ts.map +1 -1
  294. package/lib/roles/types.js +5 -9
  295. package/lib/roles/types.js.map +1 -1
  296. package/lib/runs.d.ts +6 -25
  297. package/lib/runs.d.ts.map +1 -1
  298. package/lib/secrets.d.ts +20 -105
  299. package/lib/secrets.d.ts.map +1 -1
  300. package/lib/store/agent-approval.d.ts +5 -14
  301. package/lib/store/agent-approval.d.ts.map +1 -1
  302. package/lib/store/agent-approval.js.map +1 -1
  303. package/lib/store/agent-run.d.ts +63 -342
  304. package/lib/store/agent-run.d.ts.map +1 -1
  305. package/lib/store/collections.d.ts +11 -63
  306. package/lib/store/collections.d.ts.map +1 -1
  307. package/lib/store/collections.js.map +1 -1
  308. package/lib/store/conversation-state.d.ts +63 -61
  309. package/lib/store/conversation-state.d.ts.map +1 -1
  310. package/lib/store/conversation-state.js +2 -0
  311. package/lib/store/conversation-state.js.map +1 -1
  312. package/lib/store/doc-analyzer.d.ts +9 -32
  313. package/lib/store/doc-analyzer.d.ts.map +1 -1
  314. package/lib/store/dsl-workflow.d.ts +37 -151
  315. package/lib/store/dsl-workflow.d.ts.map +1 -1
  316. package/lib/store/dsl-workflow.js.map +1 -1
  317. package/lib/store/editing-policy-schema.generated.d.ts +3 -0
  318. package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
  319. package/lib/store/editing-policy-schema.generated.js +28 -0
  320. package/lib/store/editing-policy-schema.generated.js.map +1 -0
  321. package/lib/store/grounded-extraction.d.ts +7 -104
  322. package/lib/store/grounded-extraction.d.ts.map +1 -1
  323. package/lib/store/grounded-extraction.js.map +1 -1
  324. package/lib/store/index.d.ts +2 -0
  325. package/lib/store/index.d.ts.map +1 -1
  326. package/lib/store/index.js +3 -0
  327. package/lib/store/index.js.map +1 -1
  328. package/lib/store/intake-policy-schema.generated.d.ts +3 -0
  329. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
  330. package/lib/store/intake-policy-schema.generated.js +1425 -0
  331. package/lib/store/intake-policy-schema.generated.js.map +1 -0
  332. package/lib/store/process-schema.d.ts +80 -0
  333. package/lib/store/process-schema.d.ts.map +1 -1
  334. package/lib/store/process-schema.js +79 -0
  335. package/lib/store/process-schema.js.map +1 -1
  336. package/lib/store/process-validation.d.ts.map +1 -1
  337. package/lib/store/process-validation.js +70 -2
  338. package/lib/store/process-validation.js.map +1 -1
  339. package/lib/store/process.d.ts +36 -125
  340. package/lib/store/process.d.ts.map +1 -1
  341. package/lib/store/process.js.map +1 -1
  342. package/lib/store/rendering.d.ts +9 -64
  343. package/lib/store/rendering.d.ts.map +1 -1
  344. package/lib/store/rendering.js.map +1 -1
  345. package/lib/store/store.d.ts +98 -693
  346. package/lib/store/store.d.ts.map +1 -1
  347. package/lib/store/store.js +4 -443
  348. package/lib/store/store.js.map +1 -1
  349. package/lib/store/task.d.ts +15 -59
  350. package/lib/store/task.d.ts.map +1 -1
  351. package/lib/store/task.js +0 -3
  352. package/lib/store/task.js.map +1 -1
  353. package/lib/store/workflow.d.ts +56 -516
  354. package/lib/store/workflow.d.ts.map +1 -1
  355. package/lib/store/workflow.js +28 -11
  356. package/lib/store/workflow.js.map +1 -1
  357. package/lib/sts-token-types.d.ts +12 -66
  358. package/lib/sts-token-types.d.ts.map +1 -1
  359. package/lib/sts-token-types.js.map +1 -1
  360. package/lib/tools.d.ts +8 -100
  361. package/lib/tools.d.ts.map +1 -1
  362. package/lib/transient-tokens-values.d.ts +11 -0
  363. package/lib/transient-tokens-values.d.ts.map +1 -0
  364. package/lib/transient-tokens-values.js +12 -0
  365. package/lib/transient-tokens-values.js.map +1 -0
  366. package/lib/transient-tokens.d.ts +15 -13
  367. package/lib/transient-tokens.d.ts.map +1 -1
  368. package/lib/transient-tokens.js +5 -5
  369. package/lib/transient-tokens.js.map +1 -1
  370. package/lib/user.d.ts +54 -155
  371. package/lib/user.d.ts.map +1 -1
  372. package/lib/user.js +1 -78
  373. package/lib/user.js.map +1 -1
  374. package/lib/versions.d.ts +24 -1
  375. package/lib/versions.d.ts.map +1 -1
  376. package/lib/versions.js +23 -0
  377. package/lib/versions.js.map +1 -1
  378. package/lib/vertesia-common.js +6 -2
  379. package/lib/vertesia-common.js.map +1 -1
  380. package/lib/views-schema.d.ts +4 -4
  381. package/lib/views.d.ts +56 -312
  382. package/lib/views.d.ts.map +1 -1
  383. package/lib/views.js.map +1 -1
  384. package/package.json +14 -5
  385. package/src/access-control-values.ts +113 -0
  386. package/src/access-control.ts +33 -138
  387. package/src/account-values.ts +95 -0
  388. package/src/agent-resources.test.ts +100 -0
  389. package/src/analytics.ts +18 -42
  390. package/src/api-schemas/access-control.contract.test.ts +209 -0
  391. package/src/api-schemas/access-control.ts +208 -0
  392. package/src/api-schemas/account.contract.test.ts +318 -0
  393. package/src/api-schemas/account.ts +150 -0
  394. package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
  395. package/src/api-schemas/adapter.ts +778 -0
  396. package/src/api-schemas/agent-runs.ts +1081 -0
  397. package/src/api-schemas/analytics.ts +65 -0
  398. package/src/api-schemas/apikey.contract.test.ts +270 -0
  399. package/src/api-schemas/apikey.ts +199 -0
  400. package/src/api-schemas/app-lifecycle.ts +841 -0
  401. package/src/api-schemas/app-runtime.ts +919 -0
  402. package/src/api-schemas/apps.ts +415 -0
  403. package/src/api-schemas/audit-trail.ts +243 -0
  404. package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
  405. package/src/api-schemas/bulk-operation.ts +75 -0
  406. package/src/api-schemas/bundle-isolation.test.ts +80 -0
  407. package/src/api-schemas/commands.contract.test.ts +51 -0
  408. package/src/api-schemas/commands.ts +62 -0
  409. package/src/api-schemas/content.ts +939 -0
  410. package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
  411. package/src/api-schemas/cost-analytics.ts +235 -0
  412. package/src/api-schemas/dashboard.contract.test.ts +127 -0
  413. package/src/api-schemas/dashboard.ts +351 -0
  414. package/src/api-schemas/data-store.contract.test.ts +91 -0
  415. package/src/api-schemas/data-store.ts +571 -0
  416. package/src/api-schemas/document-processing.contract.test.ts +76 -0
  417. package/src/api-schemas/document-processing.ts +344 -0
  418. package/src/api-schemas/embeddings.ts +113 -0
  419. package/src/api-schemas/environment.contract.test.ts +184 -0
  420. package/src/api-schemas/environment.ts +190 -0
  421. package/src/api-schemas/events.ts +921 -0
  422. package/src/api-schemas/files.ts +159 -0
  423. package/src/api-schemas/group.contract.test.ts +205 -0
  424. package/src/api-schemas/group.ts +155 -0
  425. package/src/api-schemas/index.ts +35 -0
  426. package/src/api-schemas/indexing.contract.test.ts +83 -0
  427. package/src/api-schemas/indexing.ts +234 -0
  428. package/src/api-schemas/integrations.ts +369 -0
  429. package/src/api-schemas/interaction.ts +2357 -0
  430. package/src/api-schemas/invites.contract.test.ts +268 -0
  431. package/src/api-schemas/invites.ts +127 -0
  432. package/src/api-schemas/llumiverse.contract.test.ts +108 -0
  433. package/src/api-schemas/oauth-server.ts +219 -0
  434. package/src/api-schemas/oauth.contract.test.ts +118 -0
  435. package/src/api-schemas/oauth.ts +166 -0
  436. package/src/api-schemas/parameters.test.ts +402 -0
  437. package/src/api-schemas/parameters.ts +310 -0
  438. package/src/api-schemas/process.ts +929 -0
  439. package/src/api-schemas/project-configuration.ts +478 -0
  440. package/src/api-schemas/project.contract.test.ts +365 -0
  441. package/src/api-schemas/project.ts +214 -0
  442. package/src/api-schemas/prompt.ts +88 -0
  443. package/src/api-schemas/pruning-limits.test.ts +189 -0
  444. package/src/api-schemas/quota.contract.test.ts +147 -0
  445. package/src/api-schemas/quota.ts +122 -0
  446. package/src/api-schemas/registry-groups.test.ts +91 -0
  447. package/src/api-schemas/registry.ts +3487 -0
  448. package/src/api-schemas/response-pruning.test.ts +260 -0
  449. package/src/api-schemas/schema-primitives.ts +12 -0
  450. package/src/api-schemas/secrets.ts +332 -0
  451. package/src/api-schemas/store.contract.test.ts +450 -0
  452. package/src/api-schemas/store.ts +604 -0
  453. package/src/api-schemas/sts.contract.test.ts +80 -0
  454. package/src/api-schemas/sts.ts +110 -0
  455. package/src/api-schemas/task.ts +104 -0
  456. package/src/api-schemas/tools.ts +140 -0
  457. package/src/api-schemas/user.contract.test.ts +191 -0
  458. package/src/api-schemas/user.ts +204 -0
  459. package/src/api-schemas/view-execution.ts +200 -0
  460. package/src/api-schemas/views.ts +437 -0
  461. package/src/api-schemas/workflow-runs.ts +653 -0
  462. package/src/apikey-values.ts +10 -0
  463. package/src/apikey.ts +49 -40
  464. package/src/apps.ts +249 -1179
  465. package/src/ask-user.ts +9 -1
  466. package/src/audit-trail.ts +45 -137
  467. package/src/browser-credentials.ts +21 -106
  468. package/src/common.ts +67 -78
  469. package/src/cost-analytics.ts +37 -176
  470. package/src/data-platform.ts +205 -776
  471. package/src/email.ts +5 -17
  472. package/src/embeddings.ts +22 -60
  473. package/src/environment.ts +52 -124
  474. package/src/facets.ts +4 -7
  475. package/src/group.ts +38 -42
  476. package/src/index.ts +11 -0
  477. package/src/integrations.ts +39 -129
  478. package/src/interaction-values.ts +23 -0
  479. package/src/interaction.ts +231 -841
  480. package/src/meters.ts +11 -7
  481. package/src/oauth-server.ts +58 -127
  482. package/src/oauth.ts +24 -108
  483. package/src/payload.ts +25 -40
  484. package/src/platform-event.ts +98 -484
  485. package/src/principal-context.ts +11 -15
  486. package/src/project-values.ts +41 -0
  487. package/src/project.ts +116 -588
  488. package/src/prompt.ts +34 -61
  489. package/src/query.ts +34 -93
  490. package/src/rate-limiter.ts +27 -75
  491. package/src/refs.ts +4 -11
  492. package/src/roles/types.ts +20 -20
  493. package/src/runs.ts +11 -24
  494. package/src/secrets.ts +38 -117
  495. package/src/store/agent-approval.ts +9 -14
  496. package/src/store/agent-run.ts +106 -434
  497. package/src/store/collections.ts +21 -63
  498. package/src/store/content-type-editing.test.ts +17 -0
  499. package/src/store/conversation-state.ts +78 -64
  500. package/src/store/doc-analyzer.ts +17 -33
  501. package/src/store/dsl-workflow.ts +62 -158
  502. package/src/store/editing-policy-schema.generated.ts +30 -0
  503. package/src/store/grounded-extraction.ts +13 -104
  504. package/src/store/index.ts +3 -0
  505. package/src/store/intake-policy-schema.generated.ts +1442 -0
  506. package/src/store/process-schema.test.ts +43 -0
  507. package/src/store/process-schema.ts +79 -0
  508. package/src/store/process-validation.test.ts +141 -0
  509. package/src/store/process-validation.ts +82 -2
  510. package/src/store/process.ts +70 -146
  511. package/src/store/rendering.ts +15 -64
  512. package/src/store/store.ts +197 -1182
  513. package/src/store/task.ts +25 -59
  514. package/src/store/workflow.ts +103 -554
  515. package/src/sts-token-types.ts +24 -75
  516. package/src/tools.ts +18 -97
  517. package/src/transient-tokens-values.ts +11 -0
  518. package/src/transient-tokens.ts +16 -13
  519. package/src/user.ts +74 -214
  520. package/src/versions.ts +24 -0
  521. package/src/views-schema.test.ts +9 -1
  522. package/src/views.ts +106 -329
@@ -1,73 +1,100 @@
1
1
  import type {
2
2
  CompletionResult,
3
3
  ExecutionTokenUsage,
4
- HttpTimeoutOptions,
5
4
  JSONObject,
6
5
  JSONSchema,
7
6
  Modalities,
8
7
  ModelOptions,
9
- PromptRole,
10
8
  StatelessExecutionOptions,
11
- ToolDefinition,
12
9
  ToolUse,
13
10
  } from '@llumiverse/common';
14
- import type { PrincipalType } from './apikey.js';
11
+ import type { z } from 'zod';
12
+ import type {
13
+ AgentResourceActionSchema,
14
+ AgentResourceReferenceSchema,
15
+ AgentResourceTypeSchema,
16
+ AgentRunnerOptionsSchema,
17
+ AsyncCompletionModeSchema,
18
+ AsyncCompletionOptionsSchema,
19
+ AsyncConversationExecutionPayloadSchema,
20
+ AsyncExecutionPayloadSchema,
21
+ AsyncExecutionResultSchema,
22
+ AsyncInteractionExecutionPayloadSchema,
23
+ CachePolicySchema,
24
+ CatalogInteractionRefSchema,
25
+ ConversationStripOptionsSchema,
26
+ ConversationVisibilitySchema,
27
+ ExecutionRunInteractionSchema,
28
+ ExecutionRunRefSchema,
29
+ ExecutionRunWorkflowSchema,
30
+ GeneratedInteractionDefinitionSchema,
31
+ GeneratedInteractionPromptSegmentSchema,
32
+ GeneratedInteractionPromptTemplateSchema,
33
+ GeneratedTestDataRecordSchema,
34
+ GenerateInteractionPayloadSchema,
35
+ GenerateTestDataPayloadSchema,
36
+ ImprovePromptPayloadConfigSchema,
37
+ ImprovePromptPayloadSchema,
38
+ InCodePromptSchema,
39
+ InitialToolCallSchema,
40
+ InteractionCreatePayloadSchema,
41
+ InteractionEndpointQuerySchema,
42
+ InteractionEndpointSchema,
43
+ InteractionExecutionErrorSchema,
44
+ InteractionExecutionPayloadSchema,
45
+ InteractionForkPayloadSchema,
46
+ InteractionNameSchema,
47
+ InteractionPublishPayloadSchema,
48
+ InteractionRefSchema,
49
+ InteractionRefWithSchemaSchema,
50
+ InteractionSchema,
51
+ InteractionsExportPayloadSchema,
52
+ InteractionTagsSchema,
53
+ InteractionUpdatePayloadSchema,
54
+ InteractionVisibilitySchema,
55
+ NamedInteractionExecutionPayloadSchema,
56
+ PromptImprovementResponseSchema,
57
+ PromptModalitiesSchema,
58
+ RateLimitRequestPayloadSchema,
59
+ RateLimitRequestResponseSchema,
60
+ ResolvedEnvironmentInfoSchema,
61
+ ResolvedInteractionExecutionInfoSchema,
62
+ ResolvedRuntimeConfigSchema,
63
+ ResultStorageOptionsSchema,
64
+ RunSourceSchema,
65
+ SchemaRefSchema,
66
+ SkillContextTriggersSchema,
67
+ StreamingOptionsSchema,
68
+ StreamingTelemetryContextSchema,
69
+ ToolResultMetaSchema,
70
+ ToolResultSchema,
71
+ ToolResultsPayloadSchema,
72
+ UserMessagePayloadSchema,
73
+ } from './api-schemas/interaction.js';
74
+ import type { InteractionExecutionConfigurationSchema } from './api-schemas/store.js';
15
75
  import type { MCPToolAnnotations } from './apps.js';
16
76
  import type { ExecutionEnvironmentRef } from './environment.js';
17
77
  import type { ProjectRef } from './project.js';
18
- import type {
19
- ExecutablePromptSegmentDef,
20
- PopulatedPromptSegmentDef,
21
- PromptSegmentDef,
22
- PromptSegmentRef,
23
- PromptTemplateRef,
24
- PromptTemplateRefWithSchema,
25
- TemplateType,
26
- } from './prompt.js';
27
- import type { ExecutionRunDocRef } from './runs.js';
28
- import type { AgentToolApprovalMode } from './store/agent-approval.js';
29
- import type { ConversationState, TextArtifactReference } from './store/conversation-state.js';
78
+ import type { ExecutablePromptSegmentDef, PopulatedPromptSegmentDef } from './prompt.js';
79
+ import type { TextArtifactReference } from './store/conversation-state.js';
30
80
  import type { AccountRef } from './user.js';
31
- import type { LlmCallType } from './workflow-analytics.js';
32
81
 
33
- export interface InteractionExecutionError {
34
- code: string;
35
- message: string;
36
- data?: unknown;
37
- retryable?: boolean;
38
- }
82
+ /**
83
+ * `RunDataStorageLevel` and `ConfigModes` live in `./interaction-values.js` so the API schemas can
84
+ * read them without importing this module back. Re-exported here so every existing import path keeps
85
+ * working.
86
+ */
87
+ export * from './interaction-values.js';
88
+
89
+ import { ConfigModes, RunDataStorageLevel } from './interaction-values.js';
90
+
91
+ export type InteractionExecutionError = z.infer<typeof InteractionExecutionErrorSchema>;
39
92
 
40
93
  /**
41
94
  * Configuration for stripping large data from conversation history
42
95
  * to prevent JSON serialization issues and reduce storage bloat.
43
96
  */
44
- export interface ConversationStripOptions {
45
- /**
46
- * Number of turns to keep images before stripping them.
47
- * - 0: Strip images immediately after each turn
48
- * - N > 0: Keep images for N turns before stripping (default: 5)
49
- * - Infinity: Never strip images
50
- */
51
- images_after_turns?: number;
52
-
53
- /**
54
- * Maximum tokens for text content before truncation.
55
- * Text content exceeding this limit will be truncated with a marker.
56
- * Uses ~4 characters per token estimate.
57
- */
58
- text_max_tokens?: number;
59
-
60
- /**
61
- * Number of turns to keep heartbeat messages before stripping them.
62
- * Heartbeat messages are periodic workstream status updates wrapped in
63
- * `<heartbeat>...</heartbeat>` tags that clutter conversation history.
64
- * - 0: Strip heartbeats immediately after each turn
65
- * - 1 (default): Keep only the most recent heartbeat
66
- * - N > 0: Keep heartbeats for N turns before stripping
67
- * - Infinity: Never strip heartbeats
68
- */
69
- heartbeats_after_turns?: number;
70
- }
97
+ export type ConversationStripOptions = z.infer<typeof ConversationStripOptionsSchema>;
71
98
 
72
99
  // ------------------ in code interactions -----------------
73
100
  /**
@@ -76,55 +103,7 @@ export interface ConversationStripOptions {
76
103
  * Stored interactions can use `oid:` prefix.
77
104
  * If no prefix is used it fallback on `oid:`.
78
105
  */
79
- export interface CatalogInteractionRef {
80
- /**
81
- * The type of interaction
82
- */
83
- type: 'sys' | 'app' | 'stored' | 'draft';
84
-
85
- /**
86
- * the interaction id that can be used to execute the interaction.
87
- */
88
- id: string;
89
-
90
- /**
91
- * The interaction name which identify the interaction in the provider interaction list.
92
- * For the stored interactions this is the same as the endpoint property.
93
- * For other types of interactions this is the local name of the interaction.
94
- */
95
- name: string;
96
-
97
- /**
98
- * Only applies for stored interactions. The version of the interaction.
99
- * Undefined for non stored interactions
100
- */
101
- version?: number;
102
-
103
- /**
104
- * Only applies for stored interactions. Whether the interaction is published or not.
105
- */
106
- published?: boolean;
107
-
108
- /**
109
- * The tags associated with the interaction.
110
- */
111
- tags: string[];
112
-
113
- /**
114
- * Agent Runner configuration options.
115
- */
116
- agent_runner_options?: AgentRunnerOptions;
117
-
118
- /**
119
- * The name of the interaction. For display purposes only.
120
- */
121
- title: string;
122
-
123
- /**
124
- * Optional description of the interaction.
125
- */
126
- description?: string;
127
- }
106
+ export type CatalogInteractionRef = z.infer<typeof CatalogInteractionRefSchema>;
128
107
 
129
108
  export interface CatalogTagQuery {
130
109
  tag?: string;
@@ -150,21 +129,7 @@ export interface ResolveInteractionQuery {
150
129
  hasVideo?: boolean;
151
130
  }
152
131
 
153
- export interface InCodePrompt {
154
- role: PromptRole;
155
- content: string;
156
- content_type: TemplateType;
157
- schema?: JSONSchema;
158
- /**
159
- * optional name of the prompt segment. Use kebab case for prompt names
160
- */
161
- name?: string;
162
- /**
163
- * optional reference to an external resource if any.
164
- * Used internally by the system to synchronize stored prompts with in-code prompts.
165
- */
166
- externalId?: string;
167
- }
132
+ export type InCodePrompt = z.infer<typeof InCodePromptSchema>;
168
133
  export interface InCodeInteraction {
169
134
  /**
170
135
  * The interaction type.
@@ -281,111 +246,37 @@ export interface InteractionSpec extends Omit<InCodeInteraction, 'id' | 'runtime
281
246
  /**
282
247
  * The payload to query the interaction endpoints
283
248
  */
284
- export interface InteractionEndpointQuery {
285
- limit?: number;
286
- offset?: number;
287
-
288
- status?: InteractionStatus;
289
- visibility?: InteractionVisibility;
290
- version?: number;
291
- tags?: string[];
292
-
293
- /**
294
- * Filter by interaction endpoint name to include only the specified endpoints
295
- * * If both includes and excludes are specified then only the includes filter will be used.
296
- */
297
- includes?: string[];
298
-
299
- /**
300
- * Filter by interaction endpoint name to excludes the specified endpoints.
301
- * If both includes and excludes are specified then only the includes filter will be used.
302
- */
303
- excludes?: string[];
304
-
305
- /**
306
- * Whether or not to return the parameters schema.
307
- * The parameters schema is an array of JSON schemas.
308
- * Each schema is a JSON schema that describes the parameters of an interaction prompt.
309
- */
310
- include_params_schema?: boolean;
311
-
312
- /**
313
- * Whether or not to return the result schema
314
- */
315
- include_result_schema?: boolean;
316
-
317
- /**
318
- * When true, filter results to only interactions with is_skill=true.
319
- */
320
- is_skill?: boolean;
321
- }
249
+ export type InteractionEndpointQuery = z.infer<typeof InteractionEndpointQuerySchema>;
322
250
 
323
251
  /**
324
252
  * A description of an interaction endpoint.
325
253
  */
326
- export interface InteractionEndpoint {
327
- id: string;
328
- name: string;
329
- endpoint: string;
330
- description?: string;
331
- status: InteractionStatus;
332
- visibility?: InteractionVisibility;
333
- version: number;
334
- tags: string[];
335
- agent_runner_options?: AgentRunnerOptions;
336
- /**
337
- * @deprecated This is deprecated. Use CompletionResult.type information instead.
338
- */
339
- output_modality?: Modalities;
340
- result_schema?: JSONSchema;
341
- params_schema?: JSONSchema;
342
- }
254
+ export type InteractionEndpoint = z.infer<typeof InteractionEndpointSchema>;
343
255
 
344
- export interface InteractionTags {
345
- tag: string;
346
- count: number;
347
- interactions: InteractionRef[];
348
- }
256
+ export type InteractionTags = z.infer<typeof InteractionTagsSchema>;
257
+
258
+ export type InteractionRef = z.infer<typeof InteractionRefSchema>;
259
+
260
+ /** An interaction reduced to the fields a name picker needs. */
261
+ export type InteractionName = z.infer<typeof InteractionNameSchema>;
262
+ export const InteractionNamePopulate = 'id name';
349
263
 
350
- export interface InteractionRef {
351
- id: string;
352
- name: string;
353
- endpoint: string;
354
- parent?: string;
355
- model?: string;
356
- description?: string;
357
- status: InteractionStatus;
358
- visibility?: InteractionVisibility;
359
- version: number;
360
- tags: string[];
361
- agent_runner_options?: AgentRunnerOptions;
362
- prompts?: PromptSegmentRef<PromptTemplateRef>[];
363
- updated_at: Date;
364
- }
365
264
  export const InteractionRefPopulate =
366
265
  'id name endpoint parent description status version visibility tags agent_runner_options updated_at prompts';
367
266
 
368
267
  export const InteractionRefWithSchemaPopulate = `${InteractionRefPopulate} result_schema`;
369
268
 
370
- export interface InteractionRefWithSchema extends Omit<InteractionRef, 'prompts'> {
371
- result_schema?: JSONSchema;
372
- prompts?: PromptSegmentRef<PromptTemplateRefWithSchema>[];
373
- }
269
+ /**
270
+ * An interaction reference carrying the schemas an export needs to reconstruct it.
271
+ *
272
+ * An alias of the published component rather than the `Omit<InteractionRef, 'prompts'>` interface it
273
+ * replaces. That `Omit` could not be resolved by the schema generator once `InteractionRef` became a
274
+ * canonical alias — the alias publishes as a bare reference, with no members to omit — and the
275
+ * interface also overstated each prompt template, which an export populates with `inputSchema` alone.
276
+ */
277
+ export type InteractionRefWithSchema = z.infer<typeof InteractionRefWithSchemaSchema>;
374
278
 
375
- export interface InteractionsExportPayload {
376
- /**
377
- * The name of the interaction. If not specified all the interactions in the current project will be exported
378
- */
379
- name?: string;
380
- /*
381
- * tags to filter the exported interactions
382
- */
383
- tags?: string[];
384
- /*
385
- * if not specified, all versions will be exported
386
- */
387
- versions?: (number | 'draft' | 'latest')[];
388
- }
279
+ export type InteractionsExportPayload = z.infer<typeof InteractionsExportPayloadSchema>;
389
280
 
390
281
  export enum InteractionStatus {
391
282
  draft = 'draft',
@@ -402,12 +293,6 @@ export enum ExecutionRunStatus {
402
293
  failed = 'failed',
403
294
  }
404
295
 
405
- export enum RunDataStorageLevel {
406
- STANDARD = 'STANDARD',
407
- RESTRICTED = 'RESTRICTED',
408
- DEBUG = 'DEBUG',
409
- }
410
-
411
296
  export enum RunDataStorageDescription {
412
297
  STANDARD = 'Run data is stored for both the model inputs and output.',
413
298
  RESTRICTED = 'No run data is stored for the model inputs — only the model output.',
@@ -424,16 +309,9 @@ export const RunDataStorageOptions: Record<RunDataStorageLevel, RunDataStorageDe
424
309
  * Schema can be stored or specified as a reference to an external schema.
425
310
  * We only support "store:" references for now
426
311
  */
427
- export interface SchemaRef {
428
- $uri: string;
429
- }
430
- export interface CachePolicy {
431
- type: 'cache' | 'no_cache' | 'cache_and_refresh';
432
- refresh_probability: number;
433
- varies_on: string[];
434
- ttl: number;
435
- }
436
- export type InteractionVisibility = 'public' | 'private';
312
+ export type SchemaRef = z.infer<typeof SchemaRefSchema>;
313
+ export type CachePolicy = z.infer<typeof CachePolicySchema>;
314
+ export type InteractionVisibility = z.infer<typeof InteractionVisibilitySchema>;
437
315
 
438
316
  export interface InteractionData {
439
317
  readonly id: string;
@@ -454,23 +332,7 @@ export interface InteractionData {
454
332
  */
455
333
  output_modality?: Modalities;
456
334
  }
457
- export interface Interaction extends InteractionData {
458
- status: InteractionStatus;
459
- parent?: string;
460
- // only used for versions (status === "published")
461
- visibility: InteractionVisibility;
462
- version: number;
463
- test_data?: JSONObject;
464
- interaction_schema?: JSONSchema | SchemaRef;
465
- cache_policy?: CachePolicy;
466
- prompts: PromptSegmentDef[];
467
- // only for drafts - when it was last published
468
- last_published_at?: Date;
469
- created_by: string;
470
- updated_by: string;
471
- created_at: Date;
472
- updated_at: Date;
473
- }
335
+ export type Interaction = z.infer<typeof InteractionSchema>;
474
336
 
475
337
  export interface PopulatedInteraction extends Omit<Interaction, 'prompts'> {
476
338
  prompts: PopulatedPromptSegmentDef[];
@@ -484,40 +346,11 @@ export interface ExecutableInteraction extends InteractionData {
484
346
  prompts: ExecutablePromptSegmentDef[];
485
347
  }
486
348
 
487
- export interface InteractionCreatePayload
488
- extends Omit<
489
- Interaction,
490
- | 'id'
491
- | 'created_at'
492
- | 'updated_at'
493
- | 'created_by'
494
- | 'updated_by'
495
- | 'project'
496
- | 'formatter'
497
- | 'tags'
498
- | 'parent'
499
- | 'version'
500
- | 'visibility'
501
- | 'endpoint'
502
- > {
503
- visibility?: InteractionVisibility;
504
- tags?: string[];
505
- }
349
+ export type InteractionCreatePayload = z.infer<typeof InteractionCreatePayloadSchema>;
506
350
 
507
- export interface InteractionUpdatePayload
508
- extends Partial<
509
- Omit<
510
- Interaction,
511
- 'result_schema' | 'id' | 'created_at' | 'updated_at' | 'created_by' | 'updated_by' | 'project'
512
- >
513
- > {
514
- result_schema?: JSONSchema | SchemaRef | null;
515
- }
351
+ export type InteractionUpdatePayload = z.infer<typeof InteractionUpdatePayloadSchema>;
516
352
 
517
- export interface InteractionPublishPayload {
518
- visibility?: InteractionVisibility;
519
- tags?: string[];
520
- }
353
+ export type InteractionPublishPayload = z.infer<typeof InteractionPublishPayloadSchema>;
521
354
 
522
355
  export interface InteractionDeletePayload {
523
356
  /**
@@ -529,83 +362,16 @@ export interface InteractionDeletePayload {
529
362
  cascade?: boolean;
530
363
  }
531
364
 
532
- export interface InteractionForkPayload {
533
- keepTags?: boolean;
534
- forkPrompts?: boolean;
535
- targetProject?: string;
536
- }
537
-
538
- export interface InteractionExecutionPayload {
539
- /**
540
- * If a `@memory` property exists on the input data then the value will be used as the value of a memory pack location.
541
- * and the other properties of the data will contain the memory pack mapping.
542
- */
543
- data?: Record<string, unknown> | `memory:${string}`;
544
- config?: InteractionExecutionConfiguration;
545
- //Use null to explicitly state no schema, will not fallback to interaction schema
546
- result_schema?: JSONSchema | SchemaRef | null;
547
- stream?: boolean;
548
- do_validate?: boolean;
549
- tags?: string | string[]; // tags to be added to the execution run
550
-
551
- /**
552
- * The conversation state to be used in the execution if any.
553
- * If the `true` is passed then the conversation will be returned in the result.
554
- * The true value must be used for the first execution that starts the conversation.
555
- * If conversation is falsy then no conversation is returned back.
556
- * For regular executions the conversation is not returned back to save memory.
557
- */
558
- conversation?: true | unknown;
559
-
560
- /**
561
- * The tools to be used in the execution
562
- */
563
- tool_definitions?: ToolDefinition[];
564
-
565
- /**
566
- * The workflow related to this Interaction Run.
567
- */
568
- workflow?: ExecutionRunWorkflow;
365
+ export type InteractionForkPayload = z.infer<typeof InteractionForkPayloadSchema>;
569
366
 
570
- /**
571
- * Only used by ad-hoc interactions which defines the prompt in the execution payload itself
572
- * These are temporary interactions using "tmp:" suffix.
573
- */
574
- prompts?: InCodePrompt[];
367
+ export type InteractionExecutionPayload = z.infer<typeof InteractionExecutionPayloadSchema>;
575
368
 
576
- /**
577
- * Options for async completion and/or streaming LLM response chunks to Redis.
578
- * Used by agent workflows for async activity completion and real-time streaming.
579
- */
580
- asyncCompletion?: AsyncCompletionOptions;
581
- }
582
-
583
- export interface NamedInteractionExecutionPayload extends InteractionExecutionPayload {
584
- /**
585
- * The interaction name and suffixed by an optional tag or version separated from the name using a @ character
586
- * If no version/tag part is specified then the latest version is used.
587
- * Example: ReviewContract, ReviewContract@draft, ReviewContract@1, ReviewContract@some-tag
588
- */
589
- interaction: string;
590
- }
369
+ export type NamedInteractionExecutionPayload = z.infer<typeof NamedInteractionExecutionPayloadSchema>;
591
370
 
592
371
  // ================= async execution payloads ====================
593
372
  export type ToolRef = string | { name: string; description: string };
594
373
 
595
- interface AsyncExecutionPayloadBase
596
- extends Omit<NamedInteractionExecutionPayload, 'tool_definitions' | 'stream'>,
597
- Record<string, unknown> {
598
- type: 'conversation' | 'interaction';
599
-
600
- /**
601
- * An array of endpoint URLs to be notified upon execution
602
- */
603
- notify_endpoints?: string[];
604
-
605
- task_queue?: string;
606
- }
607
-
608
- export type ConversationVisibility = 'private' | 'project';
374
+ export type ConversationVisibility = z.infer<typeof ConversationVisibilitySchema>;
609
375
 
610
376
  /**
611
377
  * Defines the scope for agent search operations.
@@ -621,88 +387,16 @@ export enum AgentSearchScope {
621
387
  * Context triggers for auto-injection of skills.
622
388
  * When these conditions match, the skill is automatically injected into the agent context.
623
389
  */
624
- export interface SkillContextTriggers {
625
- /**
626
- * Keywords in user input that should trigger this skill
627
- */
628
- keywords?: string[];
629
-
630
- /**
631
- * If these tools are being used, suggest this skill
632
- */
633
- tool_names?: string[];
634
-
635
- /**
636
- * Regex patterns to match against input data
637
- */
638
- data_patterns?: string[];
639
- }
390
+ export type SkillContextTriggers = z.infer<typeof SkillContextTriggersSchema>;
640
391
 
641
392
  /**
642
393
  * Configuration options for Agent Runner functionality.
643
394
  * These options control how interactions are exposed and executed in the Agent Runner.
644
395
  */
645
- export interface AgentRunnerOptions {
646
- /**
647
- * Whether this interaction is an agent (executable in Agent Runner).
648
- */
649
- is_agent?: boolean;
650
-
651
- /**
652
- * Whether this interaction is available as a tool (sub-agent).
653
- */
654
- is_tool?: boolean;
655
-
656
- /**
657
- * Whether this interaction is a skill (provides instructions without execution).
658
- * Skills are injected into the agent's context based on context_triggers.
659
- */
660
- is_skill?: boolean;
661
-
662
- /**
663
- * Context triggers for auto-injection of this skill.
664
- * Only used when is_skill is true.
665
- */
666
- context_triggers?: SkillContextTriggers;
667
-
668
- /**
669
- * Injection priority for skills (higher = more likely to be selected when multiple match).
670
- * Only used when is_skill is true.
671
- */
672
- skill_priority?: number;
673
-
674
- /**
675
- * Array of default tool names available to this agent.
676
- * For interactions: defines default tools.
677
- * For execution payloads: you can use + and - to add or remove from default,
678
- * if no sign, then list replaces default.
679
- */
680
- tool_names?: string[];
681
-
682
- /**
683
- * On which scope should the search be applied by the search_tool.
684
- * Only supports 'collection' scope or undefined for now.
685
- */
686
- search_scope?: AgentSearchScope;
687
-
688
- /**
689
- * The ID of the collection to restrict agent operations to.
690
- * When specified, the agent's search and retrieval operations are limited to documents
691
- * within this collection'.
692
- */
693
- collection_id?: string;
694
-
695
- /**
696
- * Optional user-facing template for rendering run input as the first conversation entry.
697
- * Supports {{field_name}}, {{nested.field}}, {{items.0.name}}, and {{json}} placeholders
698
- * resolved from the run data.
699
- */
700
- request_template?: string;
701
- }
396
+ export type AgentRunnerOptions = z.infer<typeof AgentRunnerOptionsSchema>;
702
397
 
703
398
  // ================= User Communication Channels ====================
704
399
  // Import for local use
705
- import type { UserChannel } from './email.js';
706
400
 
707
401
  export type {
708
402
  EmailChannel,
@@ -717,261 +411,68 @@ export {
717
411
  } from './email.js';
718
412
  // ================= end user communication channels ====================
719
413
 
720
- export interface AsyncConversationExecutionPayload extends AsyncExecutionPayloadBase {
721
- type: 'conversation';
722
-
723
- /** Effective tool approval mode for interactive agent conversations. */
724
- tool_approval_mode?: AgentToolApprovalMode;
725
-
726
- /**
727
- * Visibility determine if the conversation should be seen by the user only or by anyone with access to the project
728
- * If not specified, the default is project
729
- **/
730
- visibility?: ConversationVisibility;
731
-
732
- /**
733
- * The tools to use, list of tool or function names.
734
- * You can use + and - to add or remove from default, if no sign, then list replaces default
735
- */
736
- tool_names?: string[];
737
-
738
- /**
739
- * The maximum number of iterations in case of a conversation. If <=0 the default of 20 will be used.
740
- */
741
- max_iterations?: number;
742
-
743
- /**
744
- * Whether the conversation should be interactive or not
745
- */
746
- interactive?: boolean;
747
-
748
- /**
749
- * Array of channels to use for user communication.
750
- * Multiple channels can be active simultaneously (e.g., both email and interactive).
751
- * Each channel contains its own configuration and state (e.g., email threading info).
752
- */
753
- user_channels?: UserChannel[];
754
-
755
- /**
756
- * Whether to disable the generation of interaction tools or not.
757
- */
758
- disable_interaction_tools?: boolean;
759
-
760
- /**
761
- * On which scope should the searched by applied, by the search_tool.
762
- * Only supports collection scope or null for now.
763
- */
764
- search_scope?: AgentSearchScope.Collection;
765
-
766
- /**
767
- * The collection in which this workflow is executing
768
- */
769
- collection_id?: string;
770
-
771
- /**
772
- * Denylist of MCP tool-collection ids deactivated for this conversation.
773
- * `undefined`/empty means all installed/connected MCP collections are active (back-compat,
774
- * and new servers stay active by default). Listed collections are excluded even if connected.
775
- * Can be updated mid-conversation via the MCP config signal.
776
- */
777
- disabled_mcp_collections?: string[];
778
-
779
- /**
780
- * The token threshold in thousands (K) for creating checkpoints.
781
- * If total tokens exceed this value, a checkpoint will be created.
782
- * If not specified, the default is computed from the selected model context window (75%).
783
- */
784
- checkpoint_tokens?: number;
785
-
786
- /**
787
- * Configuration for stripping large data (images, text) from conversation history
788
- * to prevent JSON serialization issues and reduce storage bloat.
789
- */
790
- strip_options?: ConversationStripOptions;
791
-
792
- /** In child execution workflow, this is the curent task_id */
793
- task_id?: string;
794
-
795
- /** Parent-assigned launch ID for non-blocking workstreams.
796
- * The child uses this when signaling progress/completion back to the parent. */
797
- launch_id?: string;
798
-
799
- /** Whether to enable debug mode */
800
- debug_mode?: boolean;
801
-
802
- /** Maximum depth for nested conversations to prevent infinite recursion (default: 5) */
803
- max_nested_conversation_depth?: number;
804
-
805
- /**
806
- * Metadata inherited from parent workflow.
807
- * Used to propagate context (e.g., apiKey, session info) to child workflows/workstreams.
808
- * When a workstream is spawned, the parent's `data` is preserved here so that
809
- * child tools can access it via metadata.parent_metadata.
810
- */
811
- parent_metadata?: Record<string, unknown>;
812
-
813
- /**
814
- * When true, subagent/workstream tool calls use fire-and-forget `startChild()`
815
- * instead of blocking `executeChild()`. The parent continues reasoning while
816
- * children run, receiving progress/completion via Temporal signals.
817
- */
818
- non_blocking_subagents?: boolean;
819
-
820
- /**
821
- * Temporal runId of a previous workflow to restart/fork from.
822
- * When set, conversation history is loaded from the old run's GCS storage
823
- * instead of calling startConversation fresh.
824
- */
825
- restart_from_workflow_run_id?: string;
826
-
827
- /**
828
- * The Temporal firstExecutionRunId of the original workflow being restarted/forked.
829
- * Used by loadConversationForRestart to look up the original ExecutionRun
830
- * so that token accumulation and status updates target a valid run.
831
- */
832
- source_first_workflow_run_id?: string;
833
-
834
- /**
835
- * When true, indicates this is a fork (new ExecutionRun) rather than a restart (reuse original).
836
- */
837
- is_fork?: boolean;
838
-
839
- /**
840
- * The AgentRun MongoDB _id. Used for artifact storage paths: agents/{agent_run_id}/
841
- * Flows into ConversationState and down to workstreams.
842
- * Undefined for legacy workflows started before the AgentRun system.
843
- */
844
- agent_run_id?: string;
845
-
846
- /**
847
- * The Schedule MongoDB _id. Set when this execution was triggered by a Temporal schedule.
848
- * Used by the workflow to create an AgentRun on first run if agent_run_id is absent.
849
- */
850
- schedule_id?: string;
851
- }
414
+ /**
415
+ * A tool invocation executed before the first model turn of a conversation.
416
+ * Results are injected into the initial context so the agent starts with them in hand.
417
+ */
418
+ export type InitialToolCall = z.infer<typeof InitialToolCallSchema>;
852
419
 
853
- export interface AsyncInteractionExecutionPayload extends AsyncExecutionPayloadBase {
854
- type: 'interaction';
420
+ export type AsyncConversationExecutionPayload = z.infer<typeof AsyncConversationExecutionPayloadSchema>;
855
421
 
856
- /**
857
- * Only used for non conversation workflows to include the error on next retry.
858
- * If tools is defined this is not used
859
- */
860
- include_previous_error?: boolean;
861
- }
422
+ export type AsyncInteractionExecutionPayload = z.infer<typeof AsyncInteractionExecutionPayloadSchema>;
862
423
 
863
424
  /**
864
425
  * @discriminator type
865
426
  */
866
- export type AsyncExecutionPayload = AsyncConversationExecutionPayload | AsyncInteractionExecutionPayload;
427
+ export type AsyncExecutionPayload = z.infer<typeof AsyncExecutionPayloadSchema>;
867
428
 
868
- export interface AsyncExecutionResult {
869
- runId: string;
870
- workflowId: string;
871
- agentRunId?: string;
872
- }
429
+ export type AsyncExecutionResult = z.infer<typeof AsyncExecutionResultSchema>;
873
430
 
874
431
  /**
875
432
  * Telemetry context for streaming mode.
876
433
  * Contains info not available in current_state needed to send LlmCallEvent.
877
434
  */
878
- export interface StreamingTelemetryContext {
879
- /** Type of LLM call: start, resume after user message, or resume after tool results */
880
- callType: LlmCallType;
881
- /** Activity retry attempt number */
882
- attemptNumber?: number;
883
- /** Timestamp when inference started (for duration calculation) */
884
- inferenceStartTime: number;
885
- }
435
+ export type StreamingTelemetryContext = z.infer<typeof StreamingTelemetryContextSchema>;
886
436
 
887
437
  /**
888
438
  * Options for storing inference results to cloud storage
889
439
  */
890
- export interface ResultStorageOptions {
891
- /** Full storage path for the result (e.g., "pages/doc123/page-1.md") */
892
- path: string;
893
- // Note: content_type is inferred from execution context:
894
- // - If result_schema → application/json
895
- // - Otherwise → text/markdown or text/plain
896
- }
440
+ export type ResultStorageOptions = z.infer<typeof ResultStorageOptionsSchema>;
897
441
 
898
- export type AsyncCompletionMode = 'conversation_state' | 'text';
442
+ export type AsyncCompletionMode = z.infer<typeof AsyncCompletionModeSchema>;
899
443
 
900
444
  /**
901
445
  * Streaming-specific options (only needed when stream=true)
902
446
  */
903
- export interface StreamingOptions {
904
- /** Redis channel to publish streaming chunks to */
905
- redis_channel: string;
906
- /** Optional workstream ID for multi-workstream agents */
907
- workstream_id?: string;
908
- }
447
+ export type StreamingOptions = z.infer<typeof StreamingOptionsSchema>;
909
448
 
910
449
  /**
911
450
  * Options for async completion and/or streaming LLM responses
912
451
  */
913
- export interface AsyncCompletionOptions {
914
- /** Workflow run ID for message context */
915
- run_id: string;
916
- /** Whether to stream chunks to Redis */
917
- stream?: boolean;
918
- /** Streaming-specific options (required if stream=true) */
919
- streaming?: StreamingOptions;
920
- /**
921
- * Temporal task token for async activity completion (base64url encoded).
922
- * When provided, Studio will complete the activity after execution finishes,
923
- * allowing the worker to release the activity slot immediately.
924
- */
925
- task_token?: string;
926
- /**
927
- * Activity ID for idempotency metadata when storing conversation.
928
- * Required when task_token is provided.
929
- */
930
- activity_id?: string;
931
- /**
932
- * Current conversation state to merge with execution result.
933
- * Studio will store the conversation and complete the activity with merged state.
934
- * Required when task_token is provided.
935
- */
936
- current_state?: ConversationState;
937
- /**
938
- * Interval in milliseconds for sending heartbeats to Temporal during streaming.
939
- * When provided, Studio will send periodic heartbeats to keep the activity alive.
940
- * Recommended: 10000 (10 seconds). Activity heartbeat timeout should be ~3x this value.
941
- */
942
- heartbeat_interval_ms?: number;
943
- /**
944
- * Telemetry context for sending LlmCallEvent after streaming completes.
945
- * Studio will use this to send token usage telemetry since the activity
946
- * exits before the response is available in async completion mode.
947
- */
948
- telemetry?: StreamingTelemetryContext;
949
- /**
950
- * Storage options for inference result.
951
- * When provided, Studio will store the result to the specified path
952
- * after inference completes (before completing the Temporal activity).
953
- */
954
- result_storage?: ResultStorageOptions;
955
- /**
956
- * Controls the value used to complete the Temporal activity.
957
- * Defaults to `conversation_state` for agent resume/continuation calls.
958
- * Use `text` for one-shot helper calls, such as checkpoint summaries,
959
- * that need the model's text result instead of merged conversation state.
960
- */
961
- completion_mode?: AsyncCompletionMode;
962
- }
452
+ export type AsyncCompletionOptions = z.infer<typeof AsyncCompletionOptionsSchema>;
963
453
 
964
- interface ResumeConversationPayload {
965
- run: ExecutionRunDocRef; // the run created by the first execution.
966
- environment: string; // the environment ID
967
- options: StatelessExecutionOptions; // the options used on the first execution
968
- conversation: unknown; // the conversation state
969
- tools: ToolDefinition[]; // the tools to be used
970
- /** Configuration for stripping large data from conversation history */
971
- strip_options?: ConversationStripOptions;
972
- /** Options for async completion and/or streaming LLM response chunks to Redis */
973
- asyncCompletion?: AsyncCompletionOptions;
974
- }
454
+ /**
455
+ * The kinds of Vertesia resource an agent tool can report having created, updated, or deleted.
456
+ * Restricted to resources that have a real detail route to navigate to — do not emit a reference
457
+ * for a mutation with no meaningful navigation target. Add new kinds only once their route exists.
458
+ */
459
+ export type AgentResourceType = z.infer<typeof AgentResourceTypeSchema>;
460
+
461
+ export type AgentResourceAction = z.infer<typeof AgentResourceActionSchema>;
462
+
463
+ /**
464
+ * A navigable reference to a resource an agent tool mutated. Tools return these as tool-result
465
+ * metadata (see {@link ToolResultMeta.resources}); the conversation runtime promotes them onto the
466
+ * tool's completed lifecycle message so the UI can render deterministic deep links and an
467
+ * end-of-turn "resources changed" summary — independent of any link the model writes in prose.
468
+ */
469
+ export type AgentResourceReference = z.infer<typeof AgentResourceReferenceSchema>;
470
+
471
+ /**
472
+ * Metadata a tool executor may attach to its result. Kept as an open record for forward
473
+ * compatibility while typing the fields the runtime interprets.
474
+ */
475
+ export type ToolResultMeta = z.infer<typeof ToolResultMetaSchema>;
975
476
 
976
477
  export interface ToolResultContent {
977
478
  content: string;
@@ -992,28 +493,64 @@ export interface ToolResultContent {
992
493
  /**
993
494
  * Can contain metadata returned by the tool executor.
994
495
  */
995
- meta?: Record<string, unknown>;
496
+ meta?: ToolResultMeta;
996
497
  }
997
498
 
998
- export interface ToolResult extends ToolResultContent {
999
- tool_use_id: string;
1000
- /**
1001
- * Gemini thinking models require thought_signature to be passed back with tool results.
1002
- * Copy this from the ToolUse.thought_signature that requested this tool call.
1003
- */
1004
- thought_signature?: string;
1005
- }
499
+ const AGENT_RESOURCE_TYPES: readonly AgentResourceType[] = [
500
+ 'document',
501
+ 'collection',
502
+ 'content_type',
503
+ 'interaction',
504
+ 'prompt',
505
+ 'agent',
506
+ 'workflow',
507
+ 'process',
508
+ 'process_run',
509
+ 'interaction_run',
510
+ 'view',
511
+ ];
512
+
513
+ const AGENT_RESOURCE_ACTIONS: readonly AgentResourceAction[] = ['created', 'updated', 'deleted'];
514
+
515
+ /**
516
+ * Validate and normalize an untrusted value into a clean list of resource references. References
517
+ * cross the wire and may originate from external/MCP tools, so malformed entries are dropped
518
+ * rather than throwing, and an empty/absent label falls back to the id.
519
+ */
520
+ export function normalizeAgentResources(value: unknown): AgentResourceReference[] {
521
+ if (!Array.isArray(value)) return [];
522
+ const result: AgentResourceReference[] = [];
523
+ for (const entry of value) {
524
+ if (!entry || typeof entry !== 'object') continue;
525
+ const ref = entry as Record<string, unknown>;
526
+ const { type, id, label, action, revision_id } = ref;
527
+ if (typeof type !== 'string' || !AGENT_RESOURCE_TYPES.includes(type as AgentResourceType)) continue;
528
+ if (typeof id !== 'string' || id.length === 0) continue;
529
+ if (typeof action !== 'string' || !AGENT_RESOURCE_ACTIONS.includes(action as AgentResourceAction)) continue;
530
+ result.push({
531
+ type: type as AgentResourceType,
532
+ id,
533
+ label: typeof label === 'string' && label.length > 0 ? label : id,
534
+ action: action as AgentResourceAction,
535
+ ...(typeof revision_id === 'string' && revision_id.length > 0 ? { revision_id } : {}),
536
+ });
537
+ }
538
+ return result;
539
+ }
540
+
541
+ /** Extract the normalized resource references a tool declared in its result metadata. */
542
+ export function getResourcesFromToolResult(result: Pick<ToolResultContent, 'meta'>): AgentResourceReference[] {
543
+ return normalizeAgentResources(result.meta?.resources);
544
+ }
545
+
546
+ export type ToolResult = z.infer<typeof ToolResultSchema>;
1006
547
 
1007
548
  /**
1008
549
  * The payload to sent the tool responses back to the target LLM
1009
550
  */
1010
- export interface ToolResultsPayload extends ResumeConversationPayload {
1011
- results: ToolResult[];
1012
- }
551
+ export type ToolResultsPayload = z.infer<typeof ToolResultsPayloadSchema>;
1013
552
 
1014
- export interface UserMessagePayload extends ResumeConversationPayload {
1015
- message: string;
1016
- }
553
+ export type UserMessagePayload = z.infer<typeof UserMessagePayloadSchema>;
1017
554
 
1018
555
  export type CheckpointConversationPayload = Omit<ToolResultsPayload, 'results' | 'tools'>;
1019
556
 
@@ -1029,15 +566,9 @@ export enum RunSourceTypes {
1029
566
  schedule = 'schedule',
1030
567
  }
1031
568
 
1032
- export interface RunSource {
1033
- type: RunSourceTypes;
1034
- label: string;
1035
- principal_type: `${PrincipalType}`;
1036
- principal_id: string;
1037
- client_ip: string;
1038
- }
569
+ export type RunSource = z.infer<typeof RunSourceSchema>;
1039
570
 
1040
- export type ExecutionRunInteraction = InteractionRef;
571
+ export type ExecutionRunInteraction = z.infer<typeof ExecutionRunInteractionSchema>;
1041
572
 
1042
573
  export interface BaseExecutionRun<P = unknown> {
1043
574
  readonly id: string;
@@ -1058,11 +589,10 @@ export interface BaseExecutionRun<P = unknown> {
1058
589
  */
1059
590
  parameters: P; //params used to create the interaction, only in varies on?
1060
591
  tags?: string[];
1061
- /**
1062
- * Interaction reference. Stored interactions may be populated as full
1063
- * Interaction documents; in-code interactions are represented as refs whose
1064
- * `id` is the namespaced interaction id.
1065
- */
592
+ // The description that used to sit here now sits on `ExecutionRunInteractionSchema`, which is
593
+ // where a `$ref` to an alias component can carry one. A `/** */` block here would publish a
594
+ // SECOND copy on this property alone, and the property and the component it points at would then
595
+ // be documented by two texts that have to be kept in step by hand.
1066
596
  interaction?: string | ExecutionRunInteraction;
1067
597
  /** Environment reference - populated with full object in API responses */
1068
598
  environment: ExecutionEnvironmentRef;
@@ -1075,8 +605,15 @@ export interface BaseExecutionRun<P = unknown> {
1075
605
  token_use?: ExecutionTokenUsage;
1076
606
  chunks?: number;
1077
607
  execution_time?: number; // ms
1078
- created_at: Date;
1079
- updated_at: Date;
608
+ // ISO strings, not `Date`. `ExecutionRunRef` — the shape every run endpoint actually returns —
609
+ // is now inferred from the schema the document publishes, which says `type: string,
610
+ // format: date-time`; `ExecutionRun` publishes the same two fields the same way. Typing them
611
+ // `Date` here made the two disagree in TypeScript while agreeing on the wire. The `@format` tag
612
+ // is what keeps the DERIVED schema saying `date-time` now that the type is no longer `Date`.
613
+ /** @format date-time */
614
+ created_at: string;
615
+ /** @format date-time */
616
+ updated_at: string;
1080
617
  account: AccountRef;
1081
618
  project: ProjectRef;
1082
619
  config: InteractionExecutionConfiguration;
@@ -1108,44 +645,9 @@ export interface PopulatedExecutionRun<P = unknown> extends BaseExecutionRun<P>
1108
645
  interaction?: ExecutionRunInteraction;
1109
646
  }
1110
647
 
1111
- export interface ExecutionRunWorkflow {
1112
- /**
1113
- * The Temporal Workflow Run ID related to this Interaction Run.
1114
- *
1115
- * A Run ID is a globally unique, platform-level identifier for a Workflow Execution.
1116
- *
1117
- * @deprecated For agent runs, use the Agent Runs API (`/api/v1/agents`) instead.
1118
- * The AgentRun object provides a stable ID that survives workflow restarts.
1119
- * This field is only relevant for legacy non-agent interaction executions.
1120
- *
1121
- * @example 01970d37-a890-70c0-9f44-1256d063e69a
1122
- * @see https://docs.temporal.io/workflow-execution/workflowid-runid
1123
- */
1124
- run_id: string;
1125
- /**
1126
- * The Temporal Workflow ID related to this Interaction Run.
1127
- *
1128
- * @deprecated For agent runs, use the Agent Runs API (`/api/v1/agents`) instead.
1129
- * The AgentRun object provides a stable ID that survives workflow restarts.
1130
- * This field is only relevant for legacy non-agent interaction executions.
1131
- *
1132
- * @example Standard Document Intake:6834841e4f828d4e36192796
1133
- * @see https://docs.temporal.io/workflow-execution/workflowid-runid
1134
- */
1135
- workflow_id: string;
1136
- /**
1137
- * The Temporal Activity Type used for executing this Interaction. Undefined if the interaction
1138
- * was not executed as part of a workflow (such as Agent Runner).
1139
- *
1140
- * @example generateDocumentProperties
1141
- */
1142
- activity_type?: string;
1143
- }
648
+ export type ExecutionRunWorkflow = z.infer<typeof ExecutionRunWorkflowSchema>;
1144
649
 
1145
- export interface PromptModalities {
1146
- hasVideo: boolean;
1147
- hasImage: boolean;
1148
- }
650
+ export type PromptModalities = z.infer<typeof PromptModalitiesSchema>;
1149
651
 
1150
652
  export interface InteractionExecutionResult<P = unknown>
1151
653
  extends Omit<ExecutionRun<P>, 'account' | 'project' | 'interaction'> {
@@ -1164,18 +666,10 @@ export interface LegacyInteractionExecutionResult<P = unknown>
1164
666
  result?: JSONObject | string | null;
1165
667
  }
1166
668
 
1167
- export interface ExecutionRunRef extends Omit<ExecutionRun, 'result' | 'parameters' | 'interaction'> {
1168
- interaction?: InteractionRef;
1169
- }
669
+ export type ExecutionRunRef = z.infer<typeof ExecutionRunRefSchema>;
1170
670
 
1171
671
  export const ExecutionRunRefSelect = '-result -parameters -result_schema -prompt';
1172
672
 
1173
- export enum ConfigModes {
1174
- RUN_AND_INTERACTION_CONFIG = 'RUN_AND_INTERACTION_CONFIG',
1175
- RUN_CONFIG_ONLY = 'RUN_CONFIG_ONLY',
1176
- INTERACTION_CONFIG_ONLY = 'INTERACTION_CONFIG_ONLY',
1177
- }
1178
-
1179
673
  export enum ConfigModesDescription {
1180
674
  RUN_AND_INTERACTION_CONFIG = 'This run configuration is used. Undefined options are filled with interaction configuration.',
1181
675
  RUN_CONFIG_ONLY = 'Only this run configuration is used. Undefined options remain undefined.',
@@ -1188,86 +682,29 @@ export const ConfigModesOptions: Record<ConfigModes, ConfigModesDescription> = {
1188
682
  [ConfigModes.INTERACTION_CONFIG_ONLY]: ConfigModesDescription.INTERACTION_CONFIG_ONLY,
1189
683
  };
1190
684
 
1191
- export interface InteractionExecutionConfiguration {
1192
- id?: string;
1193
- environment?: string;
1194
- model?: string;
1195
- do_validate?: boolean;
1196
- run_data?: RunDataStorageLevel;
1197
- configMode?: ConfigModes;
1198
- model_options?: ModelOptions;
1199
- /** Stable provider-side routing key for automatic prompt caching. */
1200
- prompt_cache_key?: string;
1201
- /** Put the result schema after the cached prefix; Vertesia still validates the returned JSON against it. */
1202
- prompt_cache_schema_suffix?: boolean;
1203
- /** Per-run HTTP timeouts for upstream LLM-provider calls. */
1204
- http_timeout?: HttpTimeoutOptions;
1205
- }
685
+ export type InteractionExecutionConfiguration = z.infer<typeof InteractionExecutionConfigurationSchema>;
1206
686
 
1207
- export interface GenerateInteractionPayload {
1208
- description: string;
1209
- config: InteractionExecutionConfiguration;
1210
- }
687
+ export type GenerateInteractionPayload = z.infer<typeof GenerateInteractionPayloadSchema>;
1211
688
 
1212
- export interface GenerateTestDataPayload {
1213
- message?: string;
1214
- count?: number;
1215
- config: InteractionExecutionConfiguration;
1216
- }
689
+ export type GenerateTestDataPayload = z.infer<typeof GenerateTestDataPayloadSchema>;
1217
690
 
1218
- export interface GeneratedTestDataRecord {
1219
- [key: string]: unknown;
1220
- }
691
+ export type GeneratedTestDataRecord = z.infer<typeof GeneratedTestDataRecordSchema>;
1221
692
 
1222
- export interface ImprovePromptPayloadConfig {
1223
- config: InteractionExecutionConfiguration;
1224
- }
693
+ export type ImprovePromptPayloadConfig = z.infer<typeof ImprovePromptPayloadConfigSchema>;
1225
694
 
1226
- export interface ImprovePromptPayload extends ImprovePromptPayloadConfig {
1227
- interaction_name: string; // name of the interaction to improve
1228
- context?: string;
1229
- prompt: { name: string; content: string }[]; // prompt array
1230
- result_schema?: JSONSchema; // optional interaction result schema
1231
- }
695
+ export type ImprovePromptPayload = z.infer<typeof ImprovePromptPayloadSchema>;
1232
696
 
1233
- export interface GeneratedInteractionPromptTemplate {
1234
- role: 'safety' | 'system' | 'user';
1235
- name: string;
1236
- content: string;
1237
- content_type: 'jst';
1238
- inputSchema: JSONSchema;
1239
- }
697
+ export type GeneratedInteractionPromptTemplate = z.infer<typeof GeneratedInteractionPromptTemplateSchema>;
1240
698
 
1241
- export interface GeneratedInteractionPromptSegment {
1242
- type: 'template';
1243
- template: GeneratedInteractionPromptTemplate;
1244
- }
699
+ export type GeneratedInteractionPromptSegment = z.infer<typeof GeneratedInteractionPromptSegmentSchema>;
1245
700
 
1246
- export interface GeneratedInteractionDefinition {
1247
- name: string;
1248
- description: string;
1249
- temperature: number;
1250
- prompts: GeneratedInteractionPromptSegment[];
1251
- max_tokens?: number;
1252
- result_schema: JSONSchema;
1253
- tags: Array<'generated' | 'agent'>;
1254
- }
701
+ export type GeneratedInteractionDefinition = z.infer<typeof GeneratedInteractionDefinitionSchema>;
1255
702
 
1256
- export interface PromptImprovementResponse {
1257
- result: CompletionResult[];
1258
- }
703
+ export type PromptImprovementResponse = z.infer<typeof PromptImprovementResponseSchema>;
1259
704
 
1260
- export interface RateLimitRequestPayload {
1261
- interaction: string;
1262
- environment_id?: string;
1263
- model_id?: string;
1264
- workflow_run_id?: string;
1265
- modalities?: PromptModalities;
1266
- }
705
+ export type RateLimitRequestPayload = z.infer<typeof RateLimitRequestPayloadSchema>;
1267
706
 
1268
- export interface RateLimitRequestResponse {
1269
- delay_ms: number;
1270
- }
707
+ export type RateLimitRequestResponse = z.infer<typeof RateLimitRequestResponseSchema>;
1271
708
 
1272
709
  /**
1273
710
  * Source of the resolved model configuration
@@ -1292,66 +729,19 @@ export enum ModelSource {
1292
729
  /**
1293
730
  * Resolved environment information
1294
731
  */
1295
- export interface ResolvedEnvironmentInfo {
1296
- id: string;
1297
- name: string;
1298
- provider: string;
1299
- }
732
+ export type ResolvedEnvironmentInfo = z.infer<typeof ResolvedEnvironmentInfoSchema>;
1300
733
 
1301
734
  /**
1302
735
  * Resolved runtime configuration for an interaction
1303
736
  */
1304
- export interface ResolvedRuntimeConfig {
1305
- environment: ResolvedEnvironmentInfo;
1306
- model?: string;
1307
- model_source: ModelSource;
1308
- }
737
+ export type ResolvedRuntimeConfig = z.infer<typeof ResolvedRuntimeConfigSchema>;
1309
738
 
1310
739
  /**
1311
740
  * Resolved execution info for an interaction.
1312
741
  * Contains the interaction ID, basic metadata, and the resolved runtime configuration
1313
742
  * (environment, model) that would be used at execution time.
1314
743
  */
1315
- export interface ResolvedInteractionExecutionInfo {
1316
- /**
1317
- * The resolved interaction ID
1318
- */
1319
- id: string;
1320
-
1321
- /**
1322
- * The interaction endpoint name
1323
- */
1324
- name: string;
1325
-
1326
- /**
1327
- * The interaction version number
1328
- */
1329
- version: number;
1330
-
1331
- /**
1332
- * The interaction status (draft or published)
1333
- */
1334
- status: InteractionStatus;
1335
-
1336
- /**
1337
- * The interaction tags (can include version tags like "production", "staging")
1338
- */
1339
- tags: string[];
1340
-
1341
- /**
1342
- * Agent runner configuration (tool_names opt-ins, is_agent, is_tool, etc.).
1343
- * Included on resolve so non-UI callers (worker activities) can pick up the
1344
- * interaction's defaults without a second retrieve round-trip — and so
1345
- * in-code interactions (sys:, app:) which have no Mongo document work the
1346
- * same as stored ones.
1347
- */
1348
- agent_runner_options?: AgentRunnerOptions;
1349
-
1350
- /**
1351
- * The resolved runtime configuration
1352
- */
1353
- resolved: ResolvedRuntimeConfig;
1354
- }
744
+ export type ResolvedInteractionExecutionInfo = z.infer<typeof ResolvedInteractionExecutionInfoSchema>;
1355
745
 
1356
746
  /**
1357
747
  * A builtin tool definition from the tools catalog