@vertesia/common 1.5.0-dev.20260725.083715Z → 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 (521) 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 +107 -1151
  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 -115
  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 +88 -778
  253. package/lib/interaction.d.ts.map +1 -1
  254. package/lib/interaction.js +8 -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 +57 -358
  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 +61 -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 -700
  346. package/lib/store/store.d.ts.map +1 -1
  347. package/lib/store/store.js +4 -456
  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 +54 -518
  354. package/lib/store/workflow.d.ts.map +1 -1
  355. package/lib/store/workflow.js +23 -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 +13 -4
  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/analytics.ts +18 -42
  389. package/src/api-schemas/access-control.contract.test.ts +209 -0
  390. package/src/api-schemas/access-control.ts +208 -0
  391. package/src/api-schemas/account.contract.test.ts +318 -0
  392. package/src/api-schemas/account.ts +150 -0
  393. package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
  394. package/src/api-schemas/adapter.ts +778 -0
  395. package/src/api-schemas/agent-runs.ts +1081 -0
  396. package/src/api-schemas/analytics.ts +65 -0
  397. package/src/api-schemas/apikey.contract.test.ts +270 -0
  398. package/src/api-schemas/apikey.ts +199 -0
  399. package/src/api-schemas/app-lifecycle.ts +841 -0
  400. package/src/api-schemas/app-runtime.ts +919 -0
  401. package/src/api-schemas/apps.ts +415 -0
  402. package/src/api-schemas/audit-trail.ts +243 -0
  403. package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
  404. package/src/api-schemas/bulk-operation.ts +75 -0
  405. package/src/api-schemas/bundle-isolation.test.ts +80 -0
  406. package/src/api-schemas/commands.contract.test.ts +51 -0
  407. package/src/api-schemas/commands.ts +62 -0
  408. package/src/api-schemas/content.ts +939 -0
  409. package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
  410. package/src/api-schemas/cost-analytics.ts +235 -0
  411. package/src/api-schemas/dashboard.contract.test.ts +127 -0
  412. package/src/api-schemas/dashboard.ts +351 -0
  413. package/src/api-schemas/data-store.contract.test.ts +91 -0
  414. package/src/api-schemas/data-store.ts +571 -0
  415. package/src/api-schemas/document-processing.contract.test.ts +76 -0
  416. package/src/api-schemas/document-processing.ts +344 -0
  417. package/src/api-schemas/embeddings.ts +113 -0
  418. package/src/api-schemas/environment.contract.test.ts +184 -0
  419. package/src/api-schemas/environment.ts +190 -0
  420. package/src/api-schemas/events.ts +921 -0
  421. package/src/api-schemas/files.ts +159 -0
  422. package/src/api-schemas/group.contract.test.ts +205 -0
  423. package/src/api-schemas/group.ts +155 -0
  424. package/src/api-schemas/index.ts +35 -0
  425. package/src/api-schemas/indexing.contract.test.ts +83 -0
  426. package/src/api-schemas/indexing.ts +234 -0
  427. package/src/api-schemas/integrations.ts +369 -0
  428. package/src/api-schemas/interaction.ts +2357 -0
  429. package/src/api-schemas/invites.contract.test.ts +268 -0
  430. package/src/api-schemas/invites.ts +127 -0
  431. package/src/api-schemas/llumiverse.contract.test.ts +108 -0
  432. package/src/api-schemas/oauth-server.ts +219 -0
  433. package/src/api-schemas/oauth.contract.test.ts +118 -0
  434. package/src/api-schemas/oauth.ts +166 -0
  435. package/src/api-schemas/parameters.test.ts +402 -0
  436. package/src/api-schemas/parameters.ts +310 -0
  437. package/src/api-schemas/process.ts +929 -0
  438. package/src/api-schemas/project-configuration.ts +478 -0
  439. package/src/api-schemas/project.contract.test.ts +365 -0
  440. package/src/api-schemas/project.ts +214 -0
  441. package/src/api-schemas/prompt.ts +88 -0
  442. package/src/api-schemas/pruning-limits.test.ts +189 -0
  443. package/src/api-schemas/quota.contract.test.ts +147 -0
  444. package/src/api-schemas/quota.ts +122 -0
  445. package/src/api-schemas/registry-groups.test.ts +91 -0
  446. package/src/api-schemas/registry.ts +3487 -0
  447. package/src/api-schemas/response-pruning.test.ts +260 -0
  448. package/src/api-schemas/schema-primitives.ts +12 -0
  449. package/src/api-schemas/secrets.ts +332 -0
  450. package/src/api-schemas/store.contract.test.ts +450 -0
  451. package/src/api-schemas/store.ts +604 -0
  452. package/src/api-schemas/sts.contract.test.ts +80 -0
  453. package/src/api-schemas/sts.ts +110 -0
  454. package/src/api-schemas/task.ts +104 -0
  455. package/src/api-schemas/tools.ts +140 -0
  456. package/src/api-schemas/user.contract.test.ts +191 -0
  457. package/src/api-schemas/user.ts +204 -0
  458. package/src/api-schemas/view-execution.ts +200 -0
  459. package/src/api-schemas/views.ts +437 -0
  460. package/src/api-schemas/workflow-runs.ts +653 -0
  461. package/src/apikey-values.ts +10 -0
  462. package/src/apikey.ts +49 -40
  463. package/src/apps.ts +234 -1213
  464. package/src/ask-user.ts +9 -1
  465. package/src/audit-trail.ts +45 -137
  466. package/src/browser-credentials.ts +21 -106
  467. package/src/common.ts +67 -78
  468. package/src/cost-analytics.ts +37 -176
  469. package/src/data-platform.ts +205 -776
  470. package/src/email.ts +5 -17
  471. package/src/embeddings.ts +22 -60
  472. package/src/environment.ts +52 -126
  473. package/src/facets.ts +4 -7
  474. package/src/group.ts +38 -42
  475. package/src/index.ts +11 -0
  476. package/src/integrations.ts +39 -129
  477. package/src/interaction-values.ts +23 -0
  478. package/src/interaction.ts +162 -902
  479. package/src/meters.ts +11 -7
  480. package/src/oauth-server.ts +58 -127
  481. package/src/oauth.ts +24 -108
  482. package/src/payload.ts +25 -40
  483. package/src/platform-event.ts +98 -484
  484. package/src/principal-context.ts +11 -15
  485. package/src/project-values.ts +41 -0
  486. package/src/project.ts +116 -588
  487. package/src/prompt.ts +34 -61
  488. package/src/query.ts +34 -93
  489. package/src/rate-limiter.ts +27 -75
  490. package/src/refs.ts +4 -11
  491. package/src/roles/types.ts +20 -20
  492. package/src/runs.ts +11 -24
  493. package/src/secrets.ts +38 -117
  494. package/src/store/agent-approval.ts +9 -14
  495. package/src/store/agent-run.ts +93 -450
  496. package/src/store/collections.ts +21 -63
  497. package/src/store/content-type-editing.test.ts +1 -1
  498. package/src/store/conversation-state.ts +75 -64
  499. package/src/store/doc-analyzer.ts +17 -33
  500. package/src/store/dsl-workflow.ts +62 -158
  501. package/src/store/editing-policy-schema.generated.ts +30 -0
  502. package/src/store/grounded-extraction.ts +13 -104
  503. package/src/store/index.ts +3 -0
  504. package/src/store/intake-policy-schema.generated.ts +1442 -0
  505. package/src/store/process-schema.test.ts +43 -0
  506. package/src/store/process-schema.ts +79 -0
  507. package/src/store/process-validation.test.ts +141 -0
  508. package/src/store/process-validation.ts +82 -2
  509. package/src/store/process.ts +70 -146
  510. package/src/store/rendering.ts +15 -64
  511. package/src/store/store.ts +197 -1204
  512. package/src/store/task.ts +25 -59
  513. package/src/store/workflow.ts +97 -557
  514. package/src/sts-token-types.ts +24 -75
  515. package/src/tools.ts +18 -97
  516. package/src/transient-tokens-values.ts +11 -0
  517. package/src/transient-tokens.ts +16 -13
  518. package/src/user.ts +74 -214
  519. package/src/versions.ts +24 -0
  520. package/src/views-schema.test.ts +9 -1
  521. 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;
569
-
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[];
365
+ export type InteractionForkPayload = z.infer<typeof InteractionForkPayloadSchema>;
575
366
 
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
- }
367
+ export type InteractionExecutionPayload = z.infer<typeof InteractionExecutionPayloadSchema>;
582
368
 
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,
@@ -721,314 +415,50 @@ export {
721
415
  * A tool invocation executed before the first model turn of a conversation.
722
416
  * Results are injected into the initial context so the agent starts with them in hand.
723
417
  */
724
- export interface InitialToolCall {
725
- /** Stable identifier used to make initialization replay-safe. */
726
- id: string;
727
- /** Read-only builtin activity tool name. Skills are configured separately through initial_skills. */
728
- tool: string;
729
- /** Tool input parameters. */
730
- input?: Record<string, unknown>;
731
- /** Whether a failed initialization call aborts the conversation start. */
732
- on_error?: 'fail' | 'continue';
733
- }
734
-
735
- export interface AsyncConversationExecutionPayload extends AsyncExecutionPayloadBase {
736
- type: 'conversation';
737
-
738
- /** Effective tool approval mode for interactive agent conversations. */
739
- tool_approval_mode?: AgentToolApprovalMode;
418
+ export type InitialToolCall = z.infer<typeof InitialToolCallSchema>;
740
419
 
741
- /**
742
- * Visibility determine if the conversation should be seen by the user only or by anyone with access to the project
743
- * If not specified, the default is project
744
- **/
745
- visibility?: ConversationVisibility;
746
-
747
- /**
748
- * The tools to use, list of tool or function names.
749
- * You can use + and - to add or remove from default, if no sign, then list replaces default
750
- */
751
- tool_names?: string[];
752
-
753
- /**
754
- * Builtin system skills to activate at conversation start. Their related tools are
755
- * exposed from the first turn and their instructions are injected into the initial
756
- * context, replacing the learn_<skill> round-trip.
757
- */
758
- initial_skills?: string[];
759
-
760
- /**
761
- * Tool calls executed before the first model turn. Results are injected into the
762
- * initial context. These run sequentially with the caller's authority before the
763
- * first model turn. Only a bounded set of read/hydration tools is accepted.
764
- */
765
- initial_tool_calls?: InitialToolCall[];
420
+ export type AsyncConversationExecutionPayload = z.infer<typeof AsyncConversationExecutionPayloadSchema>;
766
421
 
767
- /**
768
- * Hard denylist of tool names for this conversation. Excluded tools are never
769
- * exposed to the model and are refused at execution time, even when a skill or
770
- * tool refresh would otherwise unlock them. Takes precedence over tool_names,
771
- * initial_skills, and skill-based tool activation.
772
- */
773
- excluded_tools?: string[];
774
-
775
- /**
776
- * The maximum number of iterations in case of a conversation. If <=0 the default of 20 will be used.
777
- */
778
- max_iterations?: number;
779
-
780
- /**
781
- * Whether the conversation should be interactive or not
782
- */
783
- interactive?: boolean;
784
-
785
- /**
786
- * Array of channels to use for user communication.
787
- * Multiple channels can be active simultaneously (e.g., both email and interactive).
788
- * Each channel contains its own configuration and state (e.g., email threading info).
789
- */
790
- user_channels?: UserChannel[];
791
-
792
- /**
793
- * Whether to disable the generation of interaction tools or not.
794
- */
795
- disable_interaction_tools?: boolean;
796
-
797
- /**
798
- * On which scope should the searched by applied, by the search_tool.
799
- * Only supports collection scope or null for now.
800
- */
801
- search_scope?: AgentSearchScope.Collection;
802
-
803
- /**
804
- * The collection in which this workflow is executing
805
- */
806
- collection_id?: string;
807
-
808
- /**
809
- * Denylist of MCP tool-collection ids deactivated for this conversation.
810
- * `undefined`/empty means all installed/connected MCP collections are active (back-compat,
811
- * and new servers stay active by default). Listed collections are excluded even if connected.
812
- * Can be updated mid-conversation via the MCP config signal.
813
- */
814
- disabled_mcp_collections?: string[];
815
-
816
- /**
817
- * The token threshold in thousands (K) for creating checkpoints.
818
- * If total tokens exceed this value, a checkpoint will be created.
819
- * If not specified, the default is computed from the selected model context window (75%).
820
- */
821
- checkpoint_tokens?: number;
822
-
823
- /**
824
- * Configuration for stripping large data (images, text) from conversation history
825
- * to prevent JSON serialization issues and reduce storage bloat.
826
- */
827
- strip_options?: ConversationStripOptions;
828
-
829
- /** In child execution workflow, this is the curent task_id */
830
- task_id?: string;
831
-
832
- /** Parent-assigned launch ID for non-blocking workstreams.
833
- * The child uses this when signaling progress/completion back to the parent. */
834
- launch_id?: string;
835
-
836
- /** Whether to enable debug mode */
837
- debug_mode?: boolean;
838
-
839
- /** Maximum depth for nested conversations to prevent infinite recursion (default: 5) */
840
- max_nested_conversation_depth?: number;
841
-
842
- /**
843
- * Metadata inherited from parent workflow.
844
- * Used to propagate context (e.g., apiKey, session info) to child workflows/workstreams.
845
- * When a workstream is spawned, the parent's `data` is preserved here so that
846
- * child tools can access it via metadata.parent_metadata.
847
- */
848
- parent_metadata?: Record<string, unknown>;
849
-
850
- /**
851
- * When true, subagent/workstream tool calls use fire-and-forget `startChild()`
852
- * instead of blocking `executeChild()`. The parent continues reasoning while
853
- * children run, receiving progress/completion via Temporal signals.
854
- */
855
- non_blocking_subagents?: boolean;
856
-
857
- /**
858
- * Temporal runId of a previous workflow to restart/fork from.
859
- * When set, conversation history is loaded from the old run's GCS storage
860
- * instead of calling startConversation fresh.
861
- */
862
- restart_from_workflow_run_id?: string;
863
-
864
- /**
865
- * The Temporal firstExecutionRunId of the original workflow being restarted/forked.
866
- * Used by loadConversationForRestart to look up the original ExecutionRun
867
- * so that token accumulation and status updates target a valid run.
868
- */
869
- source_first_workflow_run_id?: string;
870
-
871
- /**
872
- * When true, indicates this is a fork (new ExecutionRun) rather than a restart (reuse original).
873
- */
874
- is_fork?: boolean;
875
-
876
- /**
877
- * The AgentRun MongoDB _id. Used for artifact storage paths: agents/{agent_run_id}/
878
- * Flows into ConversationState and down to workstreams.
879
- * Undefined for legacy workflows started before the AgentRun system.
880
- */
881
- agent_run_id?: string;
882
-
883
- /**
884
- * The Schedule MongoDB _id. Set when this execution was triggered by a Temporal schedule.
885
- * Used by the workflow to create an AgentRun on first run if agent_run_id is absent.
886
- */
887
- schedule_id?: string;
888
- }
889
-
890
- export interface AsyncInteractionExecutionPayload extends AsyncExecutionPayloadBase {
891
- type: 'interaction';
892
-
893
- /**
894
- * Only used for non conversation workflows to include the error on next retry.
895
- * If tools is defined this is not used
896
- */
897
- include_previous_error?: boolean;
898
- }
422
+ export type AsyncInteractionExecutionPayload = z.infer<typeof AsyncInteractionExecutionPayloadSchema>;
899
423
 
900
424
  /**
901
425
  * @discriminator type
902
426
  */
903
- export type AsyncExecutionPayload = AsyncConversationExecutionPayload | AsyncInteractionExecutionPayload;
427
+ export type AsyncExecutionPayload = z.infer<typeof AsyncExecutionPayloadSchema>;
904
428
 
905
- export interface AsyncExecutionResult {
906
- runId: string;
907
- workflowId: string;
908
- agentRunId?: string;
909
- }
429
+ export type AsyncExecutionResult = z.infer<typeof AsyncExecutionResultSchema>;
910
430
 
911
431
  /**
912
432
  * Telemetry context for streaming mode.
913
433
  * Contains info not available in current_state needed to send LlmCallEvent.
914
434
  */
915
- export interface StreamingTelemetryContext {
916
- /** Type of LLM call: start, resume after user message, or resume after tool results */
917
- callType: LlmCallType;
918
- /** Activity retry attempt number */
919
- attemptNumber?: number;
920
- /** Timestamp when inference started (for duration calculation) */
921
- inferenceStartTime: number;
922
- }
435
+ export type StreamingTelemetryContext = z.infer<typeof StreamingTelemetryContextSchema>;
923
436
 
924
437
  /**
925
438
  * Options for storing inference results to cloud storage
926
439
  */
927
- export interface ResultStorageOptions {
928
- /** Full storage path for the result (e.g., "pages/doc123/page-1.md") */
929
- path: string;
930
- // Note: content_type is inferred from execution context:
931
- // - If result_schema → application/json
932
- // - Otherwise → text/markdown or text/plain
933
- }
440
+ export type ResultStorageOptions = z.infer<typeof ResultStorageOptionsSchema>;
934
441
 
935
- export type AsyncCompletionMode = 'conversation_state' | 'text';
442
+ export type AsyncCompletionMode = z.infer<typeof AsyncCompletionModeSchema>;
936
443
 
937
444
  /**
938
445
  * Streaming-specific options (only needed when stream=true)
939
446
  */
940
- export interface StreamingOptions {
941
- /** Redis channel to publish streaming chunks to */
942
- redis_channel: string;
943
- /** Optional workstream ID for multi-workstream agents */
944
- workstream_id?: string;
945
- }
447
+ export type StreamingOptions = z.infer<typeof StreamingOptionsSchema>;
946
448
 
947
449
  /**
948
450
  * Options for async completion and/or streaming LLM responses
949
451
  */
950
- export interface AsyncCompletionOptions {
951
- /** Workflow run ID for message context */
952
- run_id: string;
953
- /** Whether to stream chunks to Redis */
954
- stream?: boolean;
955
- /** Streaming-specific options (required if stream=true) */
956
- streaming?: StreamingOptions;
957
- /**
958
- * Temporal task token for async activity completion (base64url encoded).
959
- * When provided, Studio will complete the activity after execution finishes,
960
- * allowing the worker to release the activity slot immediately.
961
- */
962
- task_token?: string;
963
- /**
964
- * Activity ID for idempotency metadata when storing conversation.
965
- * Required when task_token is provided.
966
- */
967
- activity_id?: string;
968
- /**
969
- * Current conversation state to merge with execution result.
970
- * Studio will store the conversation and complete the activity with merged state.
971
- * Required when task_token is provided.
972
- */
973
- current_state?: ConversationState;
974
- /**
975
- * Interval in milliseconds for sending heartbeats to Temporal during streaming.
976
- * When provided, Studio will send periodic heartbeats to keep the activity alive.
977
- * Recommended: 10000 (10 seconds). Activity heartbeat timeout should be ~3x this value.
978
- */
979
- heartbeat_interval_ms?: number;
980
- /**
981
- * Telemetry context for sending LlmCallEvent after streaming completes.
982
- * Studio will use this to send token usage telemetry since the activity
983
- * exits before the response is available in async completion mode.
984
- */
985
- telemetry?: StreamingTelemetryContext;
986
- /**
987
- * Storage options for inference result.
988
- * When provided, Studio will store the result to the specified path
989
- * after inference completes (before completing the Temporal activity).
990
- */
991
- result_storage?: ResultStorageOptions;
992
- /**
993
- * Controls the value used to complete the Temporal activity.
994
- * Defaults to `conversation_state` for agent resume/continuation calls.
995
- * Use `text` for one-shot helper calls, such as checkpoint summaries,
996
- * that need the model's text result instead of merged conversation state.
997
- */
998
- completion_mode?: AsyncCompletionMode;
999
- }
1000
-
1001
- interface ResumeConversationPayload {
1002
- run: ExecutionRunDocRef; // the run created by the first execution.
1003
- environment: string; // the environment ID
1004
- options: StatelessExecutionOptions; // the options used on the first execution
1005
- conversation: unknown; // the conversation state
1006
- tools: ToolDefinition[]; // the tools to be used
1007
- /** Configuration for stripping large data from conversation history */
1008
- strip_options?: ConversationStripOptions;
1009
- /** Options for async completion and/or streaming LLM response chunks to Redis */
1010
- asyncCompletion?: AsyncCompletionOptions;
1011
- }
452
+ export type AsyncCompletionOptions = z.infer<typeof AsyncCompletionOptionsSchema>;
1012
453
 
1013
454
  /**
1014
455
  * The kinds of Vertesia resource an agent tool can report having created, updated, or deleted.
1015
456
  * Restricted to resources that have a real detail route to navigate to — do not emit a reference
1016
457
  * for a mutation with no meaningful navigation target. Add new kinds only once their route exists.
1017
458
  */
1018
- export type AgentResourceType =
1019
- | 'document'
1020
- | 'collection'
1021
- | 'content_type'
1022
- | 'interaction'
1023
- | 'prompt'
1024
- | 'agent'
1025
- | 'workflow'
1026
- | 'process'
1027
- | 'process_run'
1028
- | 'interaction_run'
1029
- | 'view';
1030
-
1031
- export type AgentResourceAction = 'created' | 'updated' | 'deleted';
459
+ export type AgentResourceType = z.infer<typeof AgentResourceTypeSchema>;
460
+
461
+ export type AgentResourceAction = z.infer<typeof AgentResourceActionSchema>;
1032
462
 
1033
463
  /**
1034
464
  * A navigable reference to a resource an agent tool mutated. Tools return these as tool-result
@@ -1036,25 +466,13 @@ export type AgentResourceAction = 'created' | 'updated' | 'deleted';
1036
466
  * tool's completed lifecycle message so the UI can render deterministic deep links and an
1037
467
  * end-of-turn "resources changed" summary — independent of any link the model writes in prose.
1038
468
  */
1039
- export interface AgentResourceReference {
1040
- type: AgentResourceType;
1041
- /** The resource id used to build its detail route. */
1042
- id: string;
1043
- /** Human-readable label captured at mutation time (e.g. the document name). */
1044
- label: string;
1045
- action: AgentResourceAction;
1046
- /** Set when the mutation produced a new revision, enabling a "view changes" affordance. */
1047
- revision_id?: string;
1048
- }
469
+ export type AgentResourceReference = z.infer<typeof AgentResourceReferenceSchema>;
1049
470
 
1050
471
  /**
1051
472
  * Metadata a tool executor may attach to its result. Kept as an open record for forward
1052
473
  * compatibility while typing the fields the runtime interprets.
1053
474
  */
1054
- export interface ToolResultMeta extends Record<string, unknown> {
1055
- /** Resources this tool created/updated/deleted, surfaced as deep links in the UI. */
1056
- resources?: AgentResourceReference[];
1057
- }
475
+ export type ToolResultMeta = z.infer<typeof ToolResultMetaSchema>;
1058
476
 
1059
477
  export interface ToolResultContent {
1060
478
  content: string;
@@ -1125,25 +543,14 @@ export function getResourcesFromToolResult(result: Pick<ToolResultContent, 'meta
1125
543
  return normalizeAgentResources(result.meta?.resources);
1126
544
  }
1127
545
 
1128
- export interface ToolResult extends ToolResultContent {
1129
- tool_use_id: string;
1130
- /**
1131
- * Gemini thinking models require thought_signature to be passed back with tool results.
1132
- * Copy this from the ToolUse.thought_signature that requested this tool call.
1133
- */
1134
- thought_signature?: string;
1135
- }
546
+ export type ToolResult = z.infer<typeof ToolResultSchema>;
1136
547
 
1137
548
  /**
1138
549
  * The payload to sent the tool responses back to the target LLM
1139
550
  */
1140
- export interface ToolResultsPayload extends ResumeConversationPayload {
1141
- results: ToolResult[];
1142
- }
551
+ export type ToolResultsPayload = z.infer<typeof ToolResultsPayloadSchema>;
1143
552
 
1144
- export interface UserMessagePayload extends ResumeConversationPayload {
1145
- message: string;
1146
- }
553
+ export type UserMessagePayload = z.infer<typeof UserMessagePayloadSchema>;
1147
554
 
1148
555
  export type CheckpointConversationPayload = Omit<ToolResultsPayload, 'results' | 'tools'>;
1149
556
 
@@ -1159,15 +566,9 @@ export enum RunSourceTypes {
1159
566
  schedule = 'schedule',
1160
567
  }
1161
568
 
1162
- export interface RunSource {
1163
- type: RunSourceTypes;
1164
- label: string;
1165
- principal_type: `${PrincipalType}`;
1166
- principal_id: string;
1167
- client_ip: string;
1168
- }
569
+ export type RunSource = z.infer<typeof RunSourceSchema>;
1169
570
 
1170
- export type ExecutionRunInteraction = InteractionRef;
571
+ export type ExecutionRunInteraction = z.infer<typeof ExecutionRunInteractionSchema>;
1171
572
 
1172
573
  export interface BaseExecutionRun<P = unknown> {
1173
574
  readonly id: string;
@@ -1188,11 +589,10 @@ export interface BaseExecutionRun<P = unknown> {
1188
589
  */
1189
590
  parameters: P; //params used to create the interaction, only in varies on?
1190
591
  tags?: string[];
1191
- /**
1192
- * Interaction reference. Stored interactions may be populated as full
1193
- * Interaction documents; in-code interactions are represented as refs whose
1194
- * `id` is the namespaced interaction id.
1195
- */
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.
1196
596
  interaction?: string | ExecutionRunInteraction;
1197
597
  /** Environment reference - populated with full object in API responses */
1198
598
  environment: ExecutionEnvironmentRef;
@@ -1205,8 +605,15 @@ export interface BaseExecutionRun<P = unknown> {
1205
605
  token_use?: ExecutionTokenUsage;
1206
606
  chunks?: number;
1207
607
  execution_time?: number; // ms
1208
- created_at: Date;
1209
- 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;
1210
617
  account: AccountRef;
1211
618
  project: ProjectRef;
1212
619
  config: InteractionExecutionConfiguration;
@@ -1238,44 +645,9 @@ export interface PopulatedExecutionRun<P = unknown> extends BaseExecutionRun<P>
1238
645
  interaction?: ExecutionRunInteraction;
1239
646
  }
1240
647
 
1241
- export interface ExecutionRunWorkflow {
1242
- /**
1243
- * The Temporal Workflow Run ID related to this Interaction Run.
1244
- *
1245
- * A Run ID is a globally unique, platform-level identifier for a Workflow Execution.
1246
- *
1247
- * @deprecated For agent runs, use the Agent Runs API (`/api/v1/agents`) instead.
1248
- * The AgentRun object provides a stable ID that survives workflow restarts.
1249
- * This field is only relevant for legacy non-agent interaction executions.
1250
- *
1251
- * @example 01970d37-a890-70c0-9f44-1256d063e69a
1252
- * @see https://docs.temporal.io/workflow-execution/workflowid-runid
1253
- */
1254
- run_id: string;
1255
- /**
1256
- * The Temporal Workflow ID related to this Interaction Run.
1257
- *
1258
- * @deprecated For agent runs, use the Agent Runs API (`/api/v1/agents`) instead.
1259
- * The AgentRun object provides a stable ID that survives workflow restarts.
1260
- * This field is only relevant for legacy non-agent interaction executions.
1261
- *
1262
- * @example Standard Document Intake:6834841e4f828d4e36192796
1263
- * @see https://docs.temporal.io/workflow-execution/workflowid-runid
1264
- */
1265
- workflow_id: string;
1266
- /**
1267
- * The Temporal Activity Type used for executing this Interaction. Undefined if the interaction
1268
- * was not executed as part of a workflow (such as Agent Runner).
1269
- *
1270
- * @example generateDocumentProperties
1271
- */
1272
- activity_type?: string;
1273
- }
648
+ export type ExecutionRunWorkflow = z.infer<typeof ExecutionRunWorkflowSchema>;
1274
649
 
1275
- export interface PromptModalities {
1276
- hasVideo: boolean;
1277
- hasImage: boolean;
1278
- }
650
+ export type PromptModalities = z.infer<typeof PromptModalitiesSchema>;
1279
651
 
1280
652
  export interface InteractionExecutionResult<P = unknown>
1281
653
  extends Omit<ExecutionRun<P>, 'account' | 'project' | 'interaction'> {
@@ -1294,18 +666,10 @@ export interface LegacyInteractionExecutionResult<P = unknown>
1294
666
  result?: JSONObject | string | null;
1295
667
  }
1296
668
 
1297
- export interface ExecutionRunRef extends Omit<ExecutionRun, 'result' | 'parameters' | 'interaction'> {
1298
- interaction?: InteractionRef;
1299
- }
669
+ export type ExecutionRunRef = z.infer<typeof ExecutionRunRefSchema>;
1300
670
 
1301
671
  export const ExecutionRunRefSelect = '-result -parameters -result_schema -prompt';
1302
672
 
1303
- export enum ConfigModes {
1304
- RUN_AND_INTERACTION_CONFIG = 'RUN_AND_INTERACTION_CONFIG',
1305
- RUN_CONFIG_ONLY = 'RUN_CONFIG_ONLY',
1306
- INTERACTION_CONFIG_ONLY = 'INTERACTION_CONFIG_ONLY',
1307
- }
1308
-
1309
673
  export enum ConfigModesDescription {
1310
674
  RUN_AND_INTERACTION_CONFIG = 'This run configuration is used. Undefined options are filled with interaction configuration.',
1311
675
  RUN_CONFIG_ONLY = 'Only this run configuration is used. Undefined options remain undefined.',
@@ -1318,86 +682,29 @@ export const ConfigModesOptions: Record<ConfigModes, ConfigModesDescription> = {
1318
682
  [ConfigModes.INTERACTION_CONFIG_ONLY]: ConfigModesDescription.INTERACTION_CONFIG_ONLY,
1319
683
  };
1320
684
 
1321
- export interface InteractionExecutionConfiguration {
1322
- id?: string;
1323
- environment?: string;
1324
- model?: string;
1325
- do_validate?: boolean;
1326
- run_data?: RunDataStorageLevel;
1327
- configMode?: ConfigModes;
1328
- model_options?: ModelOptions;
1329
- /** Stable provider-side routing key for automatic prompt caching. */
1330
- prompt_cache_key?: string;
1331
- /** Put the result schema after the cached prefix; Vertesia still validates the returned JSON against it. */
1332
- prompt_cache_schema_suffix?: boolean;
1333
- /** Per-run HTTP timeouts for upstream LLM-provider calls. */
1334
- http_timeout?: HttpTimeoutOptions;
1335
- }
685
+ export type InteractionExecutionConfiguration = z.infer<typeof InteractionExecutionConfigurationSchema>;
1336
686
 
1337
- export interface GenerateInteractionPayload {
1338
- description: string;
1339
- config: InteractionExecutionConfiguration;
1340
- }
687
+ export type GenerateInteractionPayload = z.infer<typeof GenerateInteractionPayloadSchema>;
1341
688
 
1342
- export interface GenerateTestDataPayload {
1343
- message?: string;
1344
- count?: number;
1345
- config: InteractionExecutionConfiguration;
1346
- }
689
+ export type GenerateTestDataPayload = z.infer<typeof GenerateTestDataPayloadSchema>;
1347
690
 
1348
- export interface GeneratedTestDataRecord {
1349
- [key: string]: unknown;
1350
- }
691
+ export type GeneratedTestDataRecord = z.infer<typeof GeneratedTestDataRecordSchema>;
1351
692
 
1352
- export interface ImprovePromptPayloadConfig {
1353
- config: InteractionExecutionConfiguration;
1354
- }
693
+ export type ImprovePromptPayloadConfig = z.infer<typeof ImprovePromptPayloadConfigSchema>;
1355
694
 
1356
- export interface ImprovePromptPayload extends ImprovePromptPayloadConfig {
1357
- interaction_name: string; // name of the interaction to improve
1358
- context?: string;
1359
- prompt: { name: string; content: string }[]; // prompt array
1360
- result_schema?: JSONSchema; // optional interaction result schema
1361
- }
695
+ export type ImprovePromptPayload = z.infer<typeof ImprovePromptPayloadSchema>;
1362
696
 
1363
- export interface GeneratedInteractionPromptTemplate {
1364
- role: 'safety' | 'system' | 'user';
1365
- name: string;
1366
- content: string;
1367
- content_type: 'jst';
1368
- inputSchema: JSONSchema;
1369
- }
697
+ export type GeneratedInteractionPromptTemplate = z.infer<typeof GeneratedInteractionPromptTemplateSchema>;
1370
698
 
1371
- export interface GeneratedInteractionPromptSegment {
1372
- type: 'template';
1373
- template: GeneratedInteractionPromptTemplate;
1374
- }
699
+ export type GeneratedInteractionPromptSegment = z.infer<typeof GeneratedInteractionPromptSegmentSchema>;
1375
700
 
1376
- export interface GeneratedInteractionDefinition {
1377
- name: string;
1378
- description: string;
1379
- temperature: number;
1380
- prompts: GeneratedInteractionPromptSegment[];
1381
- max_tokens?: number;
1382
- result_schema: JSONSchema;
1383
- tags: Array<'generated' | 'agent'>;
1384
- }
701
+ export type GeneratedInteractionDefinition = z.infer<typeof GeneratedInteractionDefinitionSchema>;
1385
702
 
1386
- export interface PromptImprovementResponse {
1387
- result: CompletionResult[];
1388
- }
703
+ export type PromptImprovementResponse = z.infer<typeof PromptImprovementResponseSchema>;
1389
704
 
1390
- export interface RateLimitRequestPayload {
1391
- interaction: string;
1392
- environment_id?: string;
1393
- model_id?: string;
1394
- workflow_run_id?: string;
1395
- modalities?: PromptModalities;
1396
- }
705
+ export type RateLimitRequestPayload = z.infer<typeof RateLimitRequestPayloadSchema>;
1397
706
 
1398
- export interface RateLimitRequestResponse {
1399
- delay_ms: number;
1400
- }
707
+ export type RateLimitRequestResponse = z.infer<typeof RateLimitRequestResponseSchema>;
1401
708
 
1402
709
  /**
1403
710
  * Source of the resolved model configuration
@@ -1422,66 +729,19 @@ export enum ModelSource {
1422
729
  /**
1423
730
  * Resolved environment information
1424
731
  */
1425
- export interface ResolvedEnvironmentInfo {
1426
- id: string;
1427
- name: string;
1428
- provider: string;
1429
- }
732
+ export type ResolvedEnvironmentInfo = z.infer<typeof ResolvedEnvironmentInfoSchema>;
1430
733
 
1431
734
  /**
1432
735
  * Resolved runtime configuration for an interaction
1433
736
  */
1434
- export interface ResolvedRuntimeConfig {
1435
- environment: ResolvedEnvironmentInfo;
1436
- model?: string;
1437
- model_source: ModelSource;
1438
- }
737
+ export type ResolvedRuntimeConfig = z.infer<typeof ResolvedRuntimeConfigSchema>;
1439
738
 
1440
739
  /**
1441
740
  * Resolved execution info for an interaction.
1442
741
  * Contains the interaction ID, basic metadata, and the resolved runtime configuration
1443
742
  * (environment, model) that would be used at execution time.
1444
743
  */
1445
- export interface ResolvedInteractionExecutionInfo {
1446
- /**
1447
- * The resolved interaction ID
1448
- */
1449
- id: string;
1450
-
1451
- /**
1452
- * The interaction endpoint name
1453
- */
1454
- name: string;
1455
-
1456
- /**
1457
- * The interaction version number
1458
- */
1459
- version: number;
1460
-
1461
- /**
1462
- * The interaction status (draft or published)
1463
- */
1464
- status: InteractionStatus;
1465
-
1466
- /**
1467
- * The interaction tags (can include version tags like "production", "staging")
1468
- */
1469
- tags: string[];
1470
-
1471
- /**
1472
- * Agent runner configuration (tool_names opt-ins, is_agent, is_tool, etc.).
1473
- * Included on resolve so non-UI callers (worker activities) can pick up the
1474
- * interaction's defaults without a second retrieve round-trip — and so
1475
- * in-code interactions (sys:, app:) which have no Mongo document work the
1476
- * same as stored ones.
1477
- */
1478
- agent_runner_options?: AgentRunnerOptions;
1479
-
1480
- /**
1481
- * The resolved runtime configuration
1482
- */
1483
- resolved: ResolvedRuntimeConfig;
1484
- }
744
+ export type ResolvedInteractionExecutionInfo = z.infer<typeof ResolvedInteractionExecutionInfoSchema>;
1485
745
 
1486
746
  /**
1487
747
  * A builtin tool definition from the tools catalog