@vertesia/common 1.5.0-dev.20260725.083715Z → 1.5.0-dev.20260806.125520Z

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 (552) hide show
  1. package/lib/Progress.d.ts.map +1 -1
  2. package/lib/Progress.js.map +1 -1
  3. package/lib/access-control-values.d.ts +98 -0
  4. package/lib/access-control-values.d.ts.map +1 -0
  5. package/lib/access-control-values.js +101 -0
  6. package/lib/access-control-values.js.map +1 -0
  7. package/lib/access-control.d.ts +22 -119
  8. package/lib/access-control.d.ts.map +1 -1
  9. package/lib/access-control.js +6 -78
  10. package/lib/access-control.js.map +1 -1
  11. package/lib/account-values.d.ts +53 -0
  12. package/lib/account-values.d.ts.map +1 -0
  13. package/lib/account-values.js +91 -0
  14. package/lib/account-values.js.map +1 -0
  15. package/lib/analytics.d.ts +12 -38
  16. package/lib/analytics.d.ts.map +1 -1
  17. package/lib/api-schemas/access-control.d.ts +215 -0
  18. package/lib/api-schemas/access-control.d.ts.map +1 -0
  19. package/lib/api-schemas/access-control.js +165 -0
  20. package/lib/api-schemas/access-control.js.map +1 -0
  21. package/lib/api-schemas/account.d.ts +101 -0
  22. package/lib/api-schemas/account.d.ts.map +1 -0
  23. package/lib/api-schemas/account.js +136 -0
  24. package/lib/api-schemas/account.js.map +1 -0
  25. package/lib/api-schemas/adapter.d.ts +80 -0
  26. package/lib/api-schemas/adapter.d.ts.map +1 -0
  27. package/lib/api-schemas/adapter.js +726 -0
  28. package/lib/api-schemas/adapter.js.map +1 -0
  29. package/lib/api-schemas/agent-runs.d.ts +3786 -0
  30. package/lib/api-schemas/agent-runs.d.ts.map +1 -0
  31. package/lib/api-schemas/agent-runs.js +1000 -0
  32. package/lib/api-schemas/agent-runs.js.map +1 -0
  33. package/lib/api-schemas/analytics.d.ts +86 -0
  34. package/lib/api-schemas/analytics.d.ts.map +1 -0
  35. package/lib/api-schemas/analytics.js +58 -0
  36. package/lib/api-schemas/analytics.js.map +1 -0
  37. package/lib/api-schemas/apikey.d.ts +231 -0
  38. package/lib/api-schemas/apikey.d.ts.map +1 -0
  39. package/lib/api-schemas/apikey.js +172 -0
  40. package/lib/api-schemas/apikey.js.map +1 -0
  41. package/lib/api-schemas/app-lifecycle.d.ts +1148 -0
  42. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
  43. package/lib/api-schemas/app-lifecycle.js +801 -0
  44. package/lib/api-schemas/app-lifecycle.js.map +1 -0
  45. package/lib/api-schemas/app-runtime.d.ts +10951 -0
  46. package/lib/api-schemas/app-runtime.d.ts.map +1 -0
  47. package/lib/api-schemas/app-runtime.js +874 -0
  48. package/lib/api-schemas/app-runtime.js.map +1 -0
  49. package/lib/api-schemas/apps.d.ts +271 -0
  50. package/lib/api-schemas/apps.d.ts.map +1 -0
  51. package/lib/api-schemas/apps.js +426 -0
  52. package/lib/api-schemas/apps.js.map +1 -0
  53. package/lib/api-schemas/audit-trail.d.ts +465 -0
  54. package/lib/api-schemas/audit-trail.d.ts.map +1 -0
  55. package/lib/api-schemas/audit-trail.js +218 -0
  56. package/lib/api-schemas/audit-trail.js.map +1 -0
  57. package/lib/api-schemas/bulk-operation.d.ts +104 -0
  58. package/lib/api-schemas/bulk-operation.d.ts.map +1 -0
  59. package/lib/api-schemas/bulk-operation.js +66 -0
  60. package/lib/api-schemas/bulk-operation.js.map +1 -0
  61. package/lib/api-schemas/commands.d.ts +50 -0
  62. package/lib/api-schemas/commands.d.ts.map +1 -0
  63. package/lib/api-schemas/commands.js +58 -0
  64. package/lib/api-schemas/commands.js.map +1 -0
  65. package/lib/api-schemas/content.d.ts +3565 -0
  66. package/lib/api-schemas/content.d.ts.map +1 -0
  67. package/lib/api-schemas/content.js +854 -0
  68. package/lib/api-schemas/content.js.map +1 -0
  69. package/lib/api-schemas/cost-analytics.d.ts +300 -0
  70. package/lib/api-schemas/cost-analytics.d.ts.map +1 -0
  71. package/lib/api-schemas/cost-analytics.js +218 -0
  72. package/lib/api-schemas/cost-analytics.js.map +1 -0
  73. package/lib/api-schemas/dashboard.d.ts +408 -0
  74. package/lib/api-schemas/dashboard.d.ts.map +1 -0
  75. package/lib/api-schemas/dashboard.js +311 -0
  76. package/lib/api-schemas/dashboard.js.map +1 -0
  77. package/lib/api-schemas/data-store.d.ts +1650 -0
  78. package/lib/api-schemas/data-store.d.ts.map +1 -0
  79. package/lib/api-schemas/data-store.js +504 -0
  80. package/lib/api-schemas/data-store.js.map +1 -0
  81. package/lib/api-schemas/document-processing.d.ts +1501 -0
  82. package/lib/api-schemas/document-processing.d.ts.map +1 -0
  83. package/lib/api-schemas/document-processing.js +312 -0
  84. package/lib/api-schemas/document-processing.js.map +1 -0
  85. package/lib/api-schemas/embeddings.d.ts +184 -0
  86. package/lib/api-schemas/embeddings.d.ts.map +1 -0
  87. package/lib/api-schemas/embeddings.js +102 -0
  88. package/lib/api-schemas/embeddings.js.map +1 -0
  89. package/lib/api-schemas/environment.d.ts +412 -0
  90. package/lib/api-schemas/environment.d.ts.map +1 -0
  91. package/lib/api-schemas/environment.js +170 -0
  92. package/lib/api-schemas/environment.js.map +1 -0
  93. package/lib/api-schemas/events.d.ts +4918 -0
  94. package/lib/api-schemas/events.d.ts.map +1 -0
  95. package/lib/api-schemas/events.js +888 -0
  96. package/lib/api-schemas/events.js.map +1 -0
  97. package/lib/api-schemas/files.d.ts +107 -0
  98. package/lib/api-schemas/files.d.ts.map +1 -0
  99. package/lib/api-schemas/files.js +137 -0
  100. package/lib/api-schemas/files.js.map +1 -0
  101. package/lib/api-schemas/group.d.ts +122 -0
  102. package/lib/api-schemas/group.d.ts.map +1 -0
  103. package/lib/api-schemas/group.js +142 -0
  104. package/lib/api-schemas/group.js.map +1 -0
  105. package/lib/api-schemas/index.d.ts +36 -0
  106. package/lib/api-schemas/index.d.ts.map +1 -0
  107. package/lib/api-schemas/index.js +36 -0
  108. package/lib/api-schemas/index.js.map +1 -0
  109. package/lib/api-schemas/indexing.d.ts +144 -0
  110. package/lib/api-schemas/indexing.d.ts.map +1 -0
  111. package/lib/api-schemas/indexing.js +217 -0
  112. package/lib/api-schemas/indexing.js.map +1 -0
  113. package/lib/api-schemas/integrations.d.ts +269 -0
  114. package/lib/api-schemas/integrations.d.ts.map +1 -0
  115. package/lib/api-schemas/integrations.js +335 -0
  116. package/lib/api-schemas/integrations.js.map +1 -0
  117. package/lib/api-schemas/interaction.d.ts +22456 -0
  118. package/lib/api-schemas/interaction.d.ts.map +1 -0
  119. package/lib/api-schemas/interaction.js +2071 -0
  120. package/lib/api-schemas/interaction.js.map +1 -0
  121. package/lib/api-schemas/invites.d.ts +162 -0
  122. package/lib/api-schemas/invites.d.ts.map +1 -0
  123. package/lib/api-schemas/invites.js +106 -0
  124. package/lib/api-schemas/invites.js.map +1 -0
  125. package/lib/api-schemas/oauth-server.d.ts +415 -0
  126. package/lib/api-schemas/oauth-server.d.ts.map +1 -0
  127. package/lib/api-schemas/oauth-server.js +193 -0
  128. package/lib/api-schemas/oauth-server.js.map +1 -0
  129. package/lib/api-schemas/oauth.d.ts +150 -0
  130. package/lib/api-schemas/oauth.d.ts.map +1 -0
  131. package/lib/api-schemas/oauth.js +148 -0
  132. package/lib/api-schemas/oauth.js.map +1 -0
  133. package/lib/api-schemas/parameters.d.ts +64 -0
  134. package/lib/api-schemas/parameters.d.ts.map +1 -0
  135. package/lib/api-schemas/parameters.js +246 -0
  136. package/lib/api-schemas/parameters.js.map +1 -0
  137. package/lib/api-schemas/process.d.ts +499 -0
  138. package/lib/api-schemas/process.d.ts.map +1 -0
  139. package/lib/api-schemas/process.js +817 -0
  140. package/lib/api-schemas/process.js.map +1 -0
  141. package/lib/api-schemas/project-configuration.d.ts +4900 -0
  142. package/lib/api-schemas/project-configuration.d.ts.map +1 -0
  143. package/lib/api-schemas/project-configuration.js +425 -0
  144. package/lib/api-schemas/project-configuration.js.map +1 -0
  145. package/lib/api-schemas/project.d.ts +7247 -0
  146. package/lib/api-schemas/project.d.ts.map +1 -0
  147. package/lib/api-schemas/project.js +185 -0
  148. package/lib/api-schemas/project.js.map +1 -0
  149. package/lib/api-schemas/prompt.d.ts +70 -0
  150. package/lib/api-schemas/prompt.d.ts.map +1 -0
  151. package/lib/api-schemas/prompt.js +77 -0
  152. package/lib/api-schemas/prompt.js.map +1 -0
  153. package/lib/api-schemas/quota.d.ts +90 -0
  154. package/lib/api-schemas/quota.d.ts.map +1 -0
  155. package/lib/api-schemas/quota.js +95 -0
  156. package/lib/api-schemas/quota.js.map +1 -0
  157. package/lib/api-schemas/registry.d.ts +98506 -0
  158. package/lib/api-schemas/registry.d.ts.map +1 -0
  159. package/lib/api-schemas/registry.js +2606 -0
  160. package/lib/api-schemas/registry.js.map +1 -0
  161. package/lib/api-schemas/schema-primitives.d.ts +5 -0
  162. package/lib/api-schemas/schema-primitives.d.ts.map +1 -0
  163. package/lib/api-schemas/schema-primitives.js +11 -0
  164. package/lib/api-schemas/schema-primitives.js.map +1 -0
  165. package/lib/api-schemas/secrets.d.ts +497 -0
  166. package/lib/api-schemas/secrets.d.ts.map +1 -0
  167. package/lib/api-schemas/secrets.js +298 -0
  168. package/lib/api-schemas/secrets.js.map +1 -0
  169. package/lib/api-schemas/store.d.ts +22140 -0
  170. package/lib/api-schemas/store.d.ts.map +1 -0
  171. package/lib/api-schemas/store.js +557 -0
  172. package/lib/api-schemas/store.js.map +1 -0
  173. package/lib/api-schemas/sts.d.ts +166 -0
  174. package/lib/api-schemas/sts.d.ts.map +1 -0
  175. package/lib/api-schemas/sts.js +107 -0
  176. package/lib/api-schemas/sts.js.map +1 -0
  177. package/lib/api-schemas/task.d.ts +215 -0
  178. package/lib/api-schemas/task.d.ts.map +1 -0
  179. package/lib/api-schemas/task.js +95 -0
  180. package/lib/api-schemas/task.js.map +1 -0
  181. package/lib/api-schemas/tools.d.ts +111 -0
  182. package/lib/api-schemas/tools.d.ts.map +1 -0
  183. package/lib/api-schemas/tools.js +122 -0
  184. package/lib/api-schemas/tools.js.map +1 -0
  185. package/lib/api-schemas/user.d.ts +208 -0
  186. package/lib/api-schemas/user.d.ts.map +1 -0
  187. package/lib/api-schemas/user.js +180 -0
  188. package/lib/api-schemas/user.js.map +1 -0
  189. package/lib/api-schemas/view-execution.d.ts +3163 -0
  190. package/lib/api-schemas/view-execution.d.ts.map +1 -0
  191. package/lib/api-schemas/view-execution.js +172 -0
  192. package/lib/api-schemas/view-execution.js.map +1 -0
  193. package/lib/api-schemas/views.d.ts +5990 -0
  194. package/lib/api-schemas/views.d.ts.map +1 -0
  195. package/lib/api-schemas/views.js +396 -0
  196. package/lib/api-schemas/views.js.map +1 -0
  197. package/lib/api-schemas/workflow-runs.d.ts +2210 -0
  198. package/lib/api-schemas/workflow-runs.d.ts.map +1 -0
  199. package/lib/api-schemas/workflow-runs.js +589 -0
  200. package/lib/api-schemas/workflow-runs.js.map +1 -0
  201. package/lib/apikey-values.d.ts +10 -0
  202. package/lib/apikey-values.d.ts.map +1 -0
  203. package/lib/apikey-values.js +11 -0
  204. package/lib/apikey-values.js.map +1 -0
  205. package/lib/apikey.d.ts +37 -36
  206. package/lib/apikey.d.ts.map +1 -1
  207. package/lib/apikey.js +5 -4
  208. package/lib/apikey.js.map +1 -1
  209. package/lib/apps.d.ts +142 -1172
  210. package/lib/apps.d.ts.map +1 -1
  211. package/lib/apps.js +4 -0
  212. package/lib/apps.js.map +1 -1
  213. package/lib/ask-user.d.ts +8 -1
  214. package/lib/ask-user.d.ts.map +1 -1
  215. package/lib/audit-trail.d.ts +20 -131
  216. package/lib/audit-trail.d.ts.map +1 -1
  217. package/lib/audit-trail.js.map +1 -1
  218. package/lib/browser-credentials.d.ts +11 -106
  219. package/lib/browser-credentials.d.ts.map +1 -1
  220. package/lib/common.d.ts +59 -81
  221. package/lib/common.d.ts.map +1 -1
  222. package/lib/cost-analytics.d.ts +14 -167
  223. package/lib/cost-analytics.d.ts.map +1 -1
  224. package/lib/cost-analytics.js.map +1 -1
  225. package/lib/data-platform.d.ts +122 -786
  226. package/lib/data-platform.d.ts.map +1 -1
  227. package/lib/data-platform.js +41 -61
  228. package/lib/data-platform.js.map +1 -1
  229. package/lib/email.d.ts +5 -17
  230. package/lib/email.d.ts.map +1 -1
  231. package/lib/email.js +0 -3
  232. package/lib/email.js.map +1 -1
  233. package/lib/embeddings.d.ts +14 -56
  234. package/lib/embeddings.d.ts.map +1 -1
  235. package/lib/environment.d.ts +22 -118
  236. package/lib/environment.d.ts.map +1 -1
  237. package/lib/environment.js +3 -0
  238. package/lib/environment.js.map +1 -1
  239. package/lib/facets.d.ts +4 -7
  240. package/lib/facets.d.ts.map +1 -1
  241. package/lib/group.d.ts +33 -39
  242. package/lib/group.d.ts.map +1 -1
  243. package/lib/group.js +0 -1
  244. package/lib/group.js.map +1 -1
  245. package/lib/index.d.ts +8 -0
  246. package/lib/index.d.ts.map +1 -1
  247. package/lib/index.js +1 -0
  248. package/lib/index.js.map +1 -1
  249. package/lib/integrations.d.ts +20 -108
  250. package/lib/integrations.d.ts.map +1 -1
  251. package/lib/integrations.js.map +1 -1
  252. package/lib/interaction-values.d.ts +11 -0
  253. package/lib/interaction-values.d.ts.map +1 -0
  254. package/lib/interaction-values.js +24 -0
  255. package/lib/interaction-values.js.map +1 -0
  256. package/lib/interaction.d.ts +88 -778
  257. package/lib/interaction.d.ts.map +1 -1
  258. package/lib/interaction.js +8 -12
  259. package/lib/interaction.js.map +1 -1
  260. package/lib/meters.d.ts +11 -7
  261. package/lib/meters.d.ts.map +1 -1
  262. package/lib/meters.js.map +1 -1
  263. package/lib/oauth-server.d.ts +33 -119
  264. package/lib/oauth-server.d.ts.map +1 -1
  265. package/lib/oauth.d.ts +14 -96
  266. package/lib/oauth.d.ts.map +1 -1
  267. package/lib/oauth.js +0 -4
  268. package/lib/oauth.js.map +1 -1
  269. package/lib/payload.d.ts +15 -38
  270. package/lib/payload.d.ts.map +1 -1
  271. package/lib/platform-event-validation.d.ts.map +1 -1
  272. package/lib/platform-event-validation.js +15 -2
  273. package/lib/platform-event-validation.js.map +1 -1
  274. package/lib/platform-event.d.ts +79 -464
  275. package/lib/platform-event.d.ts.map +1 -1
  276. package/lib/platform-event.js.map +1 -1
  277. package/lib/principal-context.d.ts +10 -15
  278. package/lib/principal-context.d.ts.map +1 -1
  279. package/lib/project-values.d.ts +24 -0
  280. package/lib/project-values.d.ts.map +1 -0
  281. package/lib/project-values.js +42 -0
  282. package/lib/project-values.js.map +1 -0
  283. package/lib/project.d.ts +56 -504
  284. package/lib/project.d.ts.map +1 -1
  285. package/lib/project.js +6 -76
  286. package/lib/project.js.map +1 -1
  287. package/lib/prompt.d.ts +20 -51
  288. package/lib/prompt.d.ts.map +1 -1
  289. package/lib/prompt.js.map +1 -1
  290. package/lib/query.d.ts +27 -88
  291. package/lib/query.d.ts.map +1 -1
  292. package/lib/rate-limiter.d.ts +19 -70
  293. package/lib/rate-limiter.d.ts.map +1 -1
  294. package/lib/rate-limiter.js +0 -3
  295. package/lib/rate-limiter.js.map +1 -1
  296. package/lib/refs.d.ts +3 -11
  297. package/lib/refs.d.ts.map +1 -1
  298. package/lib/refs.js.map +1 -1
  299. package/lib/roles/types.d.ts +14 -20
  300. package/lib/roles/types.d.ts.map +1 -1
  301. package/lib/roles/types.js +5 -9
  302. package/lib/roles/types.js.map +1 -1
  303. package/lib/runs.d.ts +6 -25
  304. package/lib/runs.d.ts.map +1 -1
  305. package/lib/schema-for-extraction.js.map +1 -1
  306. package/lib/secrets.d.ts +20 -105
  307. package/lib/secrets.d.ts.map +1 -1
  308. package/lib/store/agent-approval.d.ts +6 -15
  309. package/lib/store/agent-approval.d.ts.map +1 -1
  310. package/lib/store/agent-approval.js.map +1 -1
  311. package/lib/store/agent-run.d.ts +57 -358
  312. package/lib/store/agent-run.d.ts.map +1 -1
  313. package/lib/store/collections.d.ts +11 -63
  314. package/lib/store/collections.d.ts.map +1 -1
  315. package/lib/store/collections.js.map +1 -1
  316. package/lib/store/conversation-state.d.ts +61 -61
  317. package/lib/store/conversation-state.d.ts.map +1 -1
  318. package/lib/store/conversation-state.js +2 -0
  319. package/lib/store/conversation-state.js.map +1 -1
  320. package/lib/store/doc-analyzer.d.ts +9 -32
  321. package/lib/store/doc-analyzer.d.ts.map +1 -1
  322. package/lib/store/dsl-workflow.d.ts +37 -151
  323. package/lib/store/dsl-workflow.d.ts.map +1 -1
  324. package/lib/store/dsl-workflow.js.map +1 -1
  325. package/lib/store/editing-policy-schema.generated.d.ts +3 -0
  326. package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
  327. package/lib/store/editing-policy-schema.generated.js +28 -0
  328. package/lib/store/editing-policy-schema.generated.js.map +1 -0
  329. package/lib/store/grounded-extraction.d.ts +7 -104
  330. package/lib/store/grounded-extraction.d.ts.map +1 -1
  331. package/lib/store/grounded-extraction.js.map +1 -1
  332. package/lib/store/index.d.ts +2 -0
  333. package/lib/store/index.d.ts.map +1 -1
  334. package/lib/store/index.js +3 -0
  335. package/lib/store/index.js.map +1 -1
  336. package/lib/store/intake-policy-schema.generated.d.ts +3 -0
  337. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
  338. package/lib/store/intake-policy-schema.generated.js +1425 -0
  339. package/lib/store/intake-policy-schema.generated.js.map +1 -0
  340. package/lib/store/process-schema.d.ts +81 -1
  341. package/lib/store/process-schema.d.ts.map +1 -1
  342. package/lib/store/process-schema.js +79 -0
  343. package/lib/store/process-schema.js.map +1 -1
  344. package/lib/store/process-validation.d.ts.map +1 -1
  345. package/lib/store/process-validation.js +70 -2
  346. package/lib/store/process-validation.js.map +1 -1
  347. package/lib/store/process.d.ts +36 -125
  348. package/lib/store/process.d.ts.map +1 -1
  349. package/lib/store/process.js.map +1 -1
  350. package/lib/store/rendering.d.ts +9 -64
  351. package/lib/store/rendering.d.ts.map +1 -1
  352. package/lib/store/rendering.js.map +1 -1
  353. package/lib/store/schedule.d.ts +6 -6
  354. package/lib/store/schedule.d.ts.map +1 -1
  355. package/lib/store/store.d.ts +99 -701
  356. package/lib/store/store.d.ts.map +1 -1
  357. package/lib/store/store.js +4 -456
  358. package/lib/store/store.js.map +1 -1
  359. package/lib/store/task.d.ts +15 -59
  360. package/lib/store/task.d.ts.map +1 -1
  361. package/lib/store/task.js +0 -3
  362. package/lib/store/task.js.map +1 -1
  363. package/lib/store/workflow.d.ts +58 -516
  364. package/lib/store/workflow.d.ts.map +1 -1
  365. package/lib/store/workflow.js +31 -11
  366. package/lib/store/workflow.js.map +1 -1
  367. package/lib/sts-errors.d.ts +7 -0
  368. package/lib/sts-errors.d.ts.map +1 -0
  369. package/lib/sts-errors.js +11 -0
  370. package/lib/sts-errors.js.map +1 -0
  371. package/lib/sts-token-types.d.ts +13 -66
  372. package/lib/sts-token-types.d.ts.map +1 -1
  373. package/lib/sts-token-types.js.map +1 -1
  374. package/lib/tools.d.ts +8 -100
  375. package/lib/tools.d.ts.map +1 -1
  376. package/lib/transient-tokens-values.d.ts +11 -0
  377. package/lib/transient-tokens-values.d.ts.map +1 -0
  378. package/lib/transient-tokens-values.js +12 -0
  379. package/lib/transient-tokens-values.js.map +1 -0
  380. package/lib/transient-tokens.d.ts +15 -13
  381. package/lib/transient-tokens.d.ts.map +1 -1
  382. package/lib/transient-tokens.js +5 -5
  383. package/lib/transient-tokens.js.map +1 -1
  384. package/lib/user.d.ts +55 -156
  385. package/lib/user.d.ts.map +1 -1
  386. package/lib/user.js +2 -79
  387. package/lib/user.js.map +1 -1
  388. package/lib/versions.d.ts +34 -1
  389. package/lib/versions.d.ts.map +1 -1
  390. package/lib/versions.js +33 -0
  391. package/lib/versions.js.map +1 -1
  392. package/lib/vertesia-common.js +6 -2
  393. package/lib/vertesia-common.js.map +1 -1
  394. package/lib/view-configuration-validation.js.map +1 -1
  395. package/lib/view-query-validation.js.map +1 -1
  396. package/lib/view-validation-helpers.d.ts +1 -1
  397. package/lib/view-validation-helpers.d.ts.map +1 -1
  398. package/lib/views-schema.d.ts +51 -51
  399. package/lib/views-schema.d.ts.map +1 -1
  400. package/lib/views-validation.js.map +1 -1
  401. package/lib/views.d.ts +58 -314
  402. package/lib/views.d.ts.map +1 -1
  403. package/lib/views.js.map +1 -1
  404. package/lib/workflow-analytics.d.ts +10 -3
  405. package/lib/workflow-analytics.d.ts.map +1 -1
  406. package/package.json +14 -5
  407. package/src/access-control-values.ts +113 -0
  408. package/src/access-control.ts +33 -138
  409. package/src/account-values.ts +95 -0
  410. package/src/analytics.ts +18 -42
  411. package/src/api-schemas/access-control.contract.test.ts +209 -0
  412. package/src/api-schemas/access-control.ts +208 -0
  413. package/src/api-schemas/account.contract.test.ts +318 -0
  414. package/src/api-schemas/account.ts +150 -0
  415. package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
  416. package/src/api-schemas/adapter.ts +778 -0
  417. package/src/api-schemas/agent-runs.ts +1091 -0
  418. package/src/api-schemas/analytics.ts +65 -0
  419. package/src/api-schemas/apikey.contract.test.ts +270 -0
  420. package/src/api-schemas/apikey.ts +199 -0
  421. package/src/api-schemas/app-delete-summary.contract.test.ts +67 -0
  422. package/src/api-schemas/app-lifecycle.ts +900 -0
  423. package/src/api-schemas/app-runtime.ts +1022 -0
  424. package/src/api-schemas/apps.ts +484 -0
  425. package/src/api-schemas/audit-trail.ts +243 -0
  426. package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
  427. package/src/api-schemas/bulk-operation.ts +75 -0
  428. package/src/api-schemas/bundle-isolation.test.ts +80 -0
  429. package/src/api-schemas/commands.contract.test.ts +51 -0
  430. package/src/api-schemas/commands.ts +62 -0
  431. package/src/api-schemas/content.ts +952 -0
  432. package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
  433. package/src/api-schemas/cost-analytics.ts +235 -0
  434. package/src/api-schemas/dashboard.contract.test.ts +127 -0
  435. package/src/api-schemas/dashboard.ts +351 -0
  436. package/src/api-schemas/data-store.contract.test.ts +91 -0
  437. package/src/api-schemas/data-store.ts +571 -0
  438. package/src/api-schemas/document-processing.contract.test.ts +76 -0
  439. package/src/api-schemas/document-processing.ts +344 -0
  440. package/src/api-schemas/embeddings.ts +113 -0
  441. package/src/api-schemas/environment.contract.test.ts +184 -0
  442. package/src/api-schemas/environment.ts +190 -0
  443. package/src/api-schemas/events.ts +981 -0
  444. package/src/api-schemas/files.ts +159 -0
  445. package/src/api-schemas/group.contract.test.ts +205 -0
  446. package/src/api-schemas/group.ts +155 -0
  447. package/src/api-schemas/index.ts +35 -0
  448. package/src/api-schemas/indexing.contract.test.ts +83 -0
  449. package/src/api-schemas/indexing.ts +234 -0
  450. package/src/api-schemas/integrations.ts +369 -0
  451. package/src/api-schemas/interaction.contract.test.ts +27 -0
  452. package/src/api-schemas/interaction.ts +2364 -0
  453. package/src/api-schemas/invites.contract.test.ts +268 -0
  454. package/src/api-schemas/invites.ts +127 -0
  455. package/src/api-schemas/llumiverse.contract.test.ts +108 -0
  456. package/src/api-schemas/mcp-api-key.contract.test.ts +86 -0
  457. package/src/api-schemas/oauth-server.ts +219 -0
  458. package/src/api-schemas/oauth.contract.test.ts +118 -0
  459. package/src/api-schemas/oauth.ts +166 -0
  460. package/src/api-schemas/parameters.test.ts +402 -0
  461. package/src/api-schemas/parameters.ts +310 -0
  462. package/src/api-schemas/process.ts +929 -0
  463. package/src/api-schemas/project-configuration.ts +478 -0
  464. package/src/api-schemas/project.contract.test.ts +365 -0
  465. package/src/api-schemas/project.ts +214 -0
  466. package/src/api-schemas/prompt.ts +88 -0
  467. package/src/api-schemas/pruning-limits.test.ts +189 -0
  468. package/src/api-schemas/quota.contract.test.ts +147 -0
  469. package/src/api-schemas/quota.ts +122 -0
  470. package/src/api-schemas/registry-groups.test.ts +91 -0
  471. package/src/api-schemas/registry.ts +3512 -0
  472. package/src/api-schemas/response-pruning.test.ts +260 -0
  473. package/src/api-schemas/schema-primitives.ts +12 -0
  474. package/src/api-schemas/secrets.ts +332 -0
  475. package/src/api-schemas/store.contract.test.ts +471 -0
  476. package/src/api-schemas/store.ts +604 -0
  477. package/src/api-schemas/sts.contract.test.ts +112 -0
  478. package/src/api-schemas/sts.ts +123 -0
  479. package/src/api-schemas/task.ts +104 -0
  480. package/src/api-schemas/tools.ts +140 -0
  481. package/src/api-schemas/user.contract.test.ts +191 -0
  482. package/src/api-schemas/user.ts +204 -0
  483. package/src/api-schemas/view-execution.ts +200 -0
  484. package/src/api-schemas/views.ts +437 -0
  485. package/src/api-schemas/workflow-runs.ts +653 -0
  486. package/src/apikey-values.ts +10 -0
  487. package/src/apikey.ts +49 -40
  488. package/src/apps.test.ts +82 -0
  489. package/src/apps.ts +283 -1228
  490. package/src/ask-user.ts +9 -1
  491. package/src/audit-trail.ts +45 -137
  492. package/src/browser-credentials.ts +21 -106
  493. package/src/common.ts +67 -78
  494. package/src/cost-analytics.ts +37 -176
  495. package/src/data-platform.ts +205 -776
  496. package/src/email.ts +5 -17
  497. package/src/embeddings.ts +22 -60
  498. package/src/environment.ts +52 -126
  499. package/src/facets.ts +4 -7
  500. package/src/group.ts +38 -42
  501. package/src/index.ts +12 -0
  502. package/src/integrations.ts +39 -129
  503. package/src/interaction-values.ts +23 -0
  504. package/src/interaction.ts +162 -902
  505. package/src/meters.ts +11 -7
  506. package/src/oauth-server.ts +58 -127
  507. package/src/oauth.ts +24 -108
  508. package/src/payload.ts +25 -40
  509. package/src/platform-event-validation.test.ts +26 -0
  510. package/src/platform-event-validation.ts +15 -2
  511. package/src/platform-event.ts +141 -484
  512. package/src/principal-context.ts +11 -15
  513. package/src/project-values.ts +41 -0
  514. package/src/project.ts +116 -588
  515. package/src/prompt.ts +34 -61
  516. package/src/query.ts +34 -93
  517. package/src/rate-limiter.ts +27 -75
  518. package/src/refs.ts +4 -11
  519. package/src/roles/types.ts +20 -20
  520. package/src/runs.ts +11 -24
  521. package/src/secrets.ts +38 -117
  522. package/src/store/agent-approval.ts +9 -14
  523. package/src/store/agent-run.ts +93 -450
  524. package/src/store/collections.ts +21 -63
  525. package/src/store/content-type-editing.test.ts +1 -1
  526. package/src/store/conversation-state.ts +75 -64
  527. package/src/store/doc-analyzer.ts +17 -33
  528. package/src/store/dsl-workflow.ts +62 -158
  529. package/src/store/editing-policy-schema.generated.ts +30 -0
  530. package/src/store/grounded-extraction.ts +13 -104
  531. package/src/store/index.ts +3 -0
  532. package/src/store/intake-policy-schema.generated.ts +1442 -0
  533. package/src/store/process-schema.test.ts +43 -0
  534. package/src/store/process-schema.ts +79 -0
  535. package/src/store/process-validation.test.ts +141 -0
  536. package/src/store/process-validation.ts +82 -2
  537. package/src/store/process.ts +70 -146
  538. package/src/store/rendering.ts +15 -64
  539. package/src/store/store.ts +197 -1204
  540. package/src/store/task.ts +25 -59
  541. package/src/store/workflow.ts +103 -554
  542. package/src/sts-errors.ts +13 -0
  543. package/src/sts-token-types.ts +26 -75
  544. package/src/tools.ts +18 -97
  545. package/src/transient-tokens-values.ts +11 -0
  546. package/src/transient-tokens.ts +16 -13
  547. package/src/user.ts +75 -215
  548. package/src/versions.test.ts +13 -0
  549. package/src/versions.ts +36 -0
  550. package/src/views-schema.test.ts +9 -1
  551. package/src/views.ts +106 -329
  552. package/src/workflow-analytics.ts +10 -3
@@ -0,0 +1,260 @@
1
+ import { Ajv2020 } from 'ajv/dist/2020.js';
2
+ import { describe, expect, it } from 'vitest';
3
+ import { AccountType, BillingMethod } from '../user.js';
4
+ import { findUnprunablePaths, type JsonObject, pruneToSchema, toOpenApiComponents } from './adapter.js';
5
+ import {
6
+ type ApiComponentType,
7
+ ApiSchemaComponents,
8
+ apiComponentRef,
9
+ pruneAndValidateApiResponse,
10
+ pruneApiResponse,
11
+ } from './registry.js';
12
+
13
+ function compile(name: string) {
14
+ const ajv = new Ajv2020({ strictSchema: false, allErrors: true });
15
+ ajv.addSchema({ $id: 'vertesia://openapi', components: { schemas: ApiSchemaComponents } });
16
+ return ajv.compile({ $ref: `vertesia://openapi${apiComponentRef(name as never)}` });
17
+ }
18
+
19
+ const ACCOUNT: ApiComponentType<'Account'> = {
20
+ id: 'acc_1',
21
+ name: 'Acme',
22
+ email_domains: ['acme.com'],
23
+ onboarding: { completed: true, completed_at: '2026-07-29T10:00:00.000Z' },
24
+ datacenter: 'gcp',
25
+ account_type: AccountType.customer,
26
+ billing: { method: BillingMethod.stripe, stripe_customer_id: 'cus_1' },
27
+ feature_flags: { new_editor: true, beta_agents: 'on' },
28
+ created_by: 'u1',
29
+ updated_by: 'u1',
30
+ created_at: '2026-07-29T10:00:00.000Z',
31
+ updated_at: '2026-07-29T10:00:00.000Z',
32
+ };
33
+
34
+ /**
35
+ * An Account carrying extra runtime fields — what a Mongo document actually is. The cast models
36
+ * the gap the pruner exists to close: the value is typed as the component, but at runtime it has
37
+ * more than the component declares.
38
+ */
39
+ const withExtras = (extra: Record<string, unknown>): ApiComponentType<'Account'> =>
40
+ ({ ...ACCOUNT, ...extra }) as ApiComponentType<'Account'>;
41
+
42
+ describe('response pruning narrows payloads to the published contract', () => {
43
+ it('drops undeclared top-level fields', () => {
44
+ const pruned = pruneApiResponse(
45
+ 'Account',
46
+ withExtras({ __v: 3, internal_notes: 'do not ship', stripe_secret: 'sk_live_leak' }),
47
+ );
48
+ expect(pruned).toEqual(ACCOUNT);
49
+ expect('stripe_secret' in pruned).toBe(false);
50
+ });
51
+
52
+ it('drops undeclared fields nested inside a declared object', () => {
53
+ const pruned = pruneApiResponse(
54
+ 'Account',
55
+ withExtras({
56
+ onboarding: { ...ACCOUNT.onboarding, internal_step: 7 },
57
+ billing: { ...ACCOUNT.billing, stripe_secret_key: 'sk_live_leak' },
58
+ }),
59
+ );
60
+ expect(pruned.onboarding).toEqual(ACCOUNT.onboarding);
61
+ expect(pruned.billing).toEqual(ACCOUNT.billing);
62
+ });
63
+
64
+ it('PRESERVES the contents of freeform maps', () => {
65
+ // The regression this design exists to avoid: AJV's removeAdditional:'all' strips keys
66
+ // from objects that declare additionalProperties too, which is how launch_workstream's
67
+ // `data` was emptied. `feature_flags` is `{additionalProperties:{}}` with no `properties`,
68
+ // so every operator flag would vanish under a blanket removal mode.
69
+ const pruned = pruneApiResponse('Account', ACCOUNT);
70
+ expect(pruned.feature_flags).toEqual({ new_editor: true, beta_agents: 'on' });
71
+ });
72
+
73
+ it('leaves a conforming payload byte-identical', () => {
74
+ expect(pruneApiResponse('Account', ACCOUNT)).toEqual(ACCOUNT);
75
+ });
76
+
77
+ it('never mutates the payload it is given', () => {
78
+ const input = withExtras({ rogue: 1 });
79
+ const pristine = structuredClone(input);
80
+ pruneApiResponse('Account', input);
81
+ expect(input).toEqual(pristine);
82
+ });
83
+
84
+ it('produces output that validates against the published schema', () => {
85
+ const validate = compile('Account');
86
+ const pruned = pruneApiResponse('Account', withExtras({ leaked: 'x' }));
87
+ expect(validate(pruned)).toBe(true);
88
+ });
89
+
90
+ it('does not throw on a payload that is missing required fields', () => {
91
+ // Pruning is not validation. A malformed document still reaches the client rather than
92
+ // becoming a 500 — surfacing drift is the validator's job, not the pruner's.
93
+ const malformed = { id: 'acc_1', junk: true } as unknown as ApiComponentType<'Account'>;
94
+ expect(() => pruneApiResponse('Account', malformed)).not.toThrow();
95
+ expect(pruneApiResponse('Account', malformed)).toEqual({ id: 'acc_1' });
96
+ });
97
+ });
98
+
99
+ describe('pruneAndValidateApiResponse is the sound entry point for untyped payloads', () => {
100
+ it('returns the component type only on the valid branch', () => {
101
+ const result = pruneAndValidateApiResponse('Account', withExtras({ leaked: 'x' }));
102
+ expect(result.valid).toBe(true);
103
+ if (result.valid) {
104
+ // Reachable as the component type only after validation succeeded.
105
+ const id: string = result.data.id;
106
+ expect(id).toBe('acc_1');
107
+ expect('leaked' in result.data).toBe(false);
108
+ }
109
+ });
110
+
111
+ it('reports errors instead of typing an incomplete payload as complete', () => {
112
+ // The unsoundness this replaces: narrowing `{id}` and handing it back as a full Account.
113
+ const result = pruneAndValidateApiResponse('Account', { id: 'acc_1', junk: true });
114
+ expect(result.valid).toBe(false);
115
+ if (!result.valid) {
116
+ expect(result.errors.join(' ')).toContain("must have required property 'name'");
117
+ // The pruned value is still available, so the caller chooses ship-and-log or fail.
118
+ expect(result.data).toEqual({ id: 'acc_1' });
119
+ }
120
+ });
121
+
122
+ it('flags a legacy account missing created_by/updated_by', () => {
123
+ // Real migration hazard: the Mongo schema declares these without `required`, and the
124
+ // BackfillAccountCreatedBy migration skips ownerless accounts by design.
125
+ const { created_by: _c, updated_by: _u, ...legacy } = ACCOUNT;
126
+ const result = pruneAndValidateApiResponse('Account', legacy);
127
+ expect(result.valid).toBe(false);
128
+ if (!result.valid) {
129
+ expect(result.errors.join(' ')).toContain('created_by');
130
+ expect(result.errors.join(' ')).toContain('updated_by');
131
+ }
132
+ });
133
+ });
134
+
135
+ describe('response pruning through structural schema features', () => {
136
+ it('follows the discriminator to the matching union branch', () => {
137
+ const enabled = pruneApiResponse('StripeBillingStatusResponse', {
138
+ status: 'enabled',
139
+ billing_method: 'stripe',
140
+ portal_url: 'https://billing',
141
+ internal_session_id: 'leak',
142
+ } as never);
143
+ expect(enabled).toEqual({ status: 'enabled', billing_method: 'stripe', portal_url: 'https://billing' });
144
+
145
+ const disabled = pruneApiResponse('StripeBillingStatusResponse', {
146
+ status: 'disabled',
147
+ billing_method: null,
148
+ reason: 'No billing method',
149
+ internal_trace: 'leak',
150
+ } as never);
151
+ expect(disabled).toEqual({ status: 'disabled', billing_method: null, reason: 'No billing method' });
152
+ });
153
+
154
+ it('prunes inside arrays', () => {
155
+ const components = toOpenApiComponents({
156
+ Page: {
157
+ type: 'object',
158
+ properties: {
159
+ items: {
160
+ type: 'array',
161
+ items: { $id: 'Row', type: 'object', properties: { id: { type: 'string' } } },
162
+ },
163
+ },
164
+ },
165
+ });
166
+ const pruned = pruneToSchema(
167
+ {
168
+ items: [
169
+ { id: 'a', secret: 1 },
170
+ { id: 'b', secret: 2 },
171
+ ],
172
+ extra: true,
173
+ },
174
+ { $ref: '#/components/schemas/Page' },
175
+ components,
176
+ ) as JsonObject;
177
+ expect(pruned).toEqual({ items: [{ id: 'a' }, { id: 'b' }] });
178
+ });
179
+
180
+ it('leaves ambiguous schemas untouched rather than guessing', () => {
181
+ // An undiscriminated union and an allOf could each drop fields that belong to a branch we
182
+ // cannot identify, so the payload passes through intact.
183
+ const components = toOpenApiComponents({
184
+ Loose: { anyOf: [{ type: 'object', properties: { a: { type: 'string' } } }, { type: 'object' }] },
185
+ Merged: { allOf: [{ type: 'object', properties: { a: { type: 'string' } } }] },
186
+ });
187
+ const payload = { a: 'x', b: 'keep' };
188
+ expect(pruneToSchema(payload, { $ref: '#/components/schemas/Loose' }, components)).toEqual(payload);
189
+ expect(pruneToSchema(payload, { $ref: '#/components/schemas/Merged' }, components)).toEqual(payload);
190
+ });
191
+
192
+ it('keeps extras where a component explicitly declares itself extensible', () => {
193
+ const components = toOpenApiComponents({
194
+ Open: { type: 'object', properties: { a: { type: 'string' } }, additionalProperties: true },
195
+ });
196
+ expect(pruneToSchema({ a: 'x', b: 'keep' }, { $ref: '#/components/schemas/Open' }, components)).toEqual({
197
+ a: 'x',
198
+ b: 'keep',
199
+ });
200
+ });
201
+
202
+ it('keeps properties documented on a $ref sibling', () => {
203
+ // 2020-12 applies $ref siblings as additional constraints, so `extra` is declared here
204
+ // and must survive pruning rather than being dropped as unknown.
205
+ const components = toOpenApiComponents({
206
+ Wrapper: {
207
+ type: 'object',
208
+ properties: {
209
+ inner: {
210
+ $ref: '#/$defs/Base',
211
+ properties: { extra: { type: 'string' } },
212
+ required: ['extra'],
213
+ },
214
+ },
215
+ $defs: { Base: { type: 'object', properties: { a: { type: 'string' } }, required: ['a'] } },
216
+ },
217
+ });
218
+ const pruned = pruneToSchema(
219
+ { inner: { a: 'x', extra: 'documented', undeclared: 'drop' } },
220
+ { $ref: '#/components/schemas/Wrapper' },
221
+ components,
222
+ );
223
+ expect(pruned).toEqual({ inner: { a: 'x', extra: 'documented' } });
224
+ });
225
+
226
+ it('follows a chain of aliased references to the terminal schema', () => {
227
+ // A component that is itself a reference is an alias. Resolving only one hop would leave a
228
+ // node whose `properties` lists just `extra`, so pruning would read that as the entire
229
+ // shape and drop `a` — which Base requires, making the pruned response fail validation.
230
+ const components = toOpenApiComponents({
231
+ Alias: {
232
+ $ref: '#/components/schemas/Base',
233
+ properties: { extra: { type: 'string' } },
234
+ required: ['extra'],
235
+ },
236
+ Base: { type: 'object', properties: { a: { type: 'string' } }, required: ['a'] },
237
+ });
238
+ const ref = { $ref: '#/components/schemas/Alias' };
239
+
240
+ const pruned = pruneToSchema({ a: 'x', extra: 'documented', undeclared: 'drop' }, ref, components);
241
+ expect(pruned).toEqual({ a: 'x', extra: 'documented' });
242
+ // The detector recurses through references, so it must reach the same terminal schema —
243
+ // a divergence here means it certifies a component the pruner then mangles.
244
+ expect(findUnprunablePaths(ref, components)).toEqual([]);
245
+
246
+ const ajv = new Ajv2020({ strictSchema: false, allErrors: true });
247
+ ajv.addSchema({ $id: 'vertesia://chain', components: { schemas: components } });
248
+ expect(ajv.validate({ $ref: 'vertesia://chain#/components/schemas/Alias' }, pruned)).toBe(true);
249
+ });
250
+
251
+ it('strips undeclared fields on a component closed with additionalProperties:false', () => {
252
+ const components = toOpenApiComponents(
253
+ { Closed: { type: 'object', properties: { a: { type: 'string' } } } },
254
+ { strictComponents: new Set(['Closed']) },
255
+ );
256
+ expect(pruneToSchema({ a: 'x', b: 'drop' }, { $ref: '#/components/schemas/Closed' }, components)).toEqual({
257
+ a: 'x',
258
+ });
259
+ });
260
+ });
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+
3
+ /** Nullable scalar encodings shared by schemas that preserve the compact OpenAPI 3.1 spelling. */
4
+ export const nullableStringSchema = z
5
+ .string()
6
+ .nullable()
7
+ .meta({ anyOf: undefined, type: ['string', 'null'] });
8
+
9
+ export const nullableNumberSchema = z
10
+ .number()
11
+ .nullable()
12
+ .meta({ anyOf: undefined, type: ['number', 'null'] });
@@ -0,0 +1,332 @@
1
+ // Runtime schemas for the secrets API domain.
2
+ import { z } from 'zod';
3
+ import { EventCategorySchema } from './audit-trail.js';
4
+
5
+ export const EventWebhookSigningSecretRequestSchema = z
6
+ .strictObject({
7
+ account_id: z.string().optional(),
8
+ project_id: z.string(),
9
+ })
10
+ .meta({ id: 'EventWebhookSigningSecretRequest' });
11
+
12
+ export const EventWebhookSigningSecretResponseSchema = z
13
+ .strictObject({
14
+ subscription_id: z.string(),
15
+ secret: z.string(),
16
+ secret_label: z.string(),
17
+ })
18
+ .meta({ id: 'EventWebhookSigningSecretResponse' });
19
+
20
+ export const SignEventWebhookRequestSchema = EventWebhookSigningSecretRequestSchema.extend({
21
+ delivery_id: z.string(),
22
+ body: z.string(),
23
+ event_id: z.string(),
24
+ event_category: EventCategorySchema,
25
+ action: z.string(),
26
+ timestamp: z.number().optional(),
27
+ }).meta({ id: 'SignEventWebhookRequest' });
28
+
29
+ export const SignEventWebhookResponseSchema = z
30
+ .strictObject({
31
+ headers: z.record(z.string(), z.string()),
32
+ timestamp: z.number(),
33
+ signature: z.string(),
34
+ })
35
+ .meta({ id: 'SignEventWebhookResponse' });
36
+
37
+ export const EventIngestSigningSecretRequestSchema = z
38
+ .strictObject({
39
+ account_id: z.string().optional(),
40
+ project_id: z.string(),
41
+ })
42
+ .meta({ id: 'EventIngestSigningSecretRequest' });
43
+
44
+ export const EventIngestSigningSecretResponseSchema = z
45
+ .strictObject({
46
+ channel_id: z.string(),
47
+ secret: z.string(),
48
+ secret_label: z.string(),
49
+ })
50
+ .meta({ id: 'EventIngestSigningSecretResponse' });
51
+
52
+ export const VerifyEventIngestSignatureRequestSchema = EventIngestSigningSecretRequestSchema.extend({
53
+ body: z.string(),
54
+ signature_header: z.string(),
55
+ algorithm: z.enum(['sha256', 'sha1']).optional(),
56
+ encoding: z.enum(['hex', 'base64']).optional(),
57
+ prefix: z.string().optional(),
58
+ }).meta({ id: 'VerifyEventIngestSignatureRequest' });
59
+
60
+ export const VerifyEventIngestSignatureResponseSchema = z
61
+ .strictObject({
62
+ valid: z.boolean(),
63
+ })
64
+ .meta({ id: 'VerifyEventIngestSignatureResponse' });
65
+
66
+ export const GithubInstallationTokenRequestSchema = z
67
+ .strictObject({
68
+ account_id: z.string().optional(),
69
+ project_id: z.string(),
70
+ installation_id: z.string(),
71
+ repo: z.string(),
72
+ })
73
+ .meta({ id: 'GithubInstallationTokenRequest' });
74
+
75
+ export const GithubInstallationTokenResponseSchema = z
76
+ .strictObject({
77
+ token: z.string(),
78
+ expires_at: z.string().optional(),
79
+ })
80
+ .meta({ id: 'GithubInstallationTokenResponse' });
81
+
82
+ export const InternalSecretDeleteResponseSchema = z
83
+ .strictObject({
84
+ deleted: z.literal(true),
85
+ })
86
+ .meta({ id: 'InternalSecretDeleteResponse' });
87
+
88
+ export const WebsiteCredentialTotpAlgorithmSchema = z
89
+ .enum(['SHA1', 'SHA256', 'SHA512'])
90
+ .meta({ id: 'WebsiteCredentialTotpAlgorithm' });
91
+
92
+ export const WebsiteCredentialTotpMetadataSchema = z
93
+ .strictObject({
94
+ algorithm: WebsiteCredentialTotpAlgorithmSchema.optional(),
95
+ digits: z
96
+ .union([z.literal(6), z.literal(8)])
97
+ .meta({ anyOf: undefined, type: 'number', enum: [6, 8] })
98
+ .optional(),
99
+ period: z.number().optional(),
100
+ issuer: z.string().optional(),
101
+ account: z.string().optional(),
102
+ })
103
+ .meta({ id: 'WebsiteCredentialTotpMetadata' });
104
+
105
+ export const WebsiteCredentialSecretInputSchema = z
106
+ .strictObject({
107
+ username: z
108
+ .string()
109
+ .meta({
110
+ description:
111
+ 'Optional encrypted username. Prefer metadata.username unless the username itself is sensitive.',
112
+ })
113
+ .optional(),
114
+ password: z.string().optional(),
115
+ totp: z
116
+ .strictObject({
117
+ seed: z.string(),
118
+ algorithm: WebsiteCredentialTotpAlgorithmSchema.optional(),
119
+ digits: z
120
+ .union([z.literal(6), z.literal(8)])
121
+ .meta({ anyOf: undefined, type: 'number', enum: [6, 8] })
122
+ .optional(),
123
+ period: z.number().optional(),
124
+ issuer: z.string().optional(),
125
+ account: z.string().optional(),
126
+ })
127
+ .optional(),
128
+ oauth: z
129
+ .strictObject({
130
+ provider_id: z.string().optional(),
131
+ token_owner: z.enum(['user', 'project']).optional(),
132
+ token_ref: z.string().optional(),
133
+ })
134
+ .meta({
135
+ description: 'Future OAuth materialization hook. The token itself remains in the OAuth secret store.',
136
+ })
137
+ .optional(),
138
+ })
139
+ .meta({ id: 'WebsiteCredentialSecretInput' });
140
+
141
+ export const WebsiteCredentialCapabilitySchema = z
142
+ .enum(['password', 'totp', 'oauth'])
143
+ .meta({ id: 'WebsiteCredentialCapability' });
144
+
145
+ export const WebsiteCredentialWebsiteSchema = z
146
+ .strictObject({
147
+ host: z.string().meta({ description: 'Hostname this credential is allowed on. Subdomains match.' }),
148
+ login_url: z.string().meta({ description: 'Optional login URL used by agents as a hint.' }).optional(),
149
+ allowed_origins: z
150
+ .array(z.string())
151
+ .meta({ description: 'Optional narrower origin allowlist for this credential.' })
152
+ .optional(),
153
+ })
154
+ .meta({ id: 'WebsiteCredentialWebsite' });
155
+
156
+ export const SecretKindSchema = z.literal('website_credential').meta({ id: 'SecretKind' });
157
+
158
+ export const SecretProjectQuerySchema = z
159
+ .object({
160
+ project_id: z
161
+ .string()
162
+ .meta({
163
+ description: 'Project scope for top-level secret APIs. Must match the authenticated project context.',
164
+ })
165
+ .optional(),
166
+ })
167
+ .meta({ id: 'SecretProjectQuery' });
168
+
169
+ export const ListSecretsQuerySchema = SecretProjectQuerySchema.extend({
170
+ kind: SecretKindSchema.optional(),
171
+ host: z.string().optional(),
172
+ enabled: z.boolean().optional(),
173
+ }).meta({ id: 'ListSecretsQuery' });
174
+
175
+ export const SecretLookupQuerySchema = SecretProjectQuerySchema.extend({
176
+ kind: SecretKindSchema.optional(),
177
+ }).meta({ id: 'SecretLookupQuery' });
178
+
179
+ export const WebsiteCredentialRecordSchema = z
180
+ .strictObject({
181
+ id: z.string(),
182
+ credential_ref: z.string(),
183
+ project: z.string(),
184
+ name: z.string(),
185
+ websites: z.array(WebsiteCredentialWebsiteSchema),
186
+ username: z.string().optional(),
187
+ username_hint: z.string().optional(),
188
+ username_secret_enabled: z.boolean(),
189
+ properties: z.looseObject({}).optional(),
190
+ tags: z.array(z.string()).optional(),
191
+ enabled: z.boolean().optional(),
192
+ capabilities: z.array(WebsiteCredentialCapabilitySchema).optional(),
193
+ notes: z.string().optional(),
194
+ totp_metadata: WebsiteCredentialTotpMetadataSchema.optional(),
195
+ expires_at: z
196
+ .string()
197
+ .meta({
198
+ description:
199
+ 'Optional ISO timestamp after which the credential is no longer usable. Expired credentials are hidden from lookup and cannot be filled.',
200
+ })
201
+ .optional(),
202
+ created_at: z.string().optional(),
203
+ updated_at: z.string().optional(),
204
+ has_username_secret: z.boolean(),
205
+ has_password: z.boolean(),
206
+ has_totp: z.boolean(),
207
+ has_oauth: z.boolean(),
208
+ password_hint: z.string().optional(),
209
+ })
210
+ .meta({ id: 'WebsiteCredentialRecord' });
211
+
212
+ export const WebsiteCredentialFillResponseSchema = z
213
+ .strictObject({
214
+ ok: z.boolean(),
215
+ credential_ref: z.string(),
216
+ url: z.string(),
217
+ title: z.string(),
218
+ filled: z.strictObject({
219
+ username: z.boolean(),
220
+ password: z.boolean(),
221
+ totp: z.boolean(),
222
+ submitted: z.boolean(),
223
+ }),
224
+ })
225
+ .meta({ id: 'WebsiteCredentialFillResponse' });
226
+
227
+ export const WebsiteCredentialFillRequestSchema = z
228
+ .strictObject({
229
+ username_target_id: z.string().optional(),
230
+ password_target_id: z.string().optional(),
231
+ totp_target_id: z.string().optional(),
232
+ submit_target_id: z.string().optional(),
233
+ browser_workflow_id: z.string().meta({
234
+ description:
235
+ 'Browser-use parent workflow id. The API resolves the Daytona sandbox and observes the current page server-side before decrypting the credential.',
236
+ }),
237
+ })
238
+ .meta({ id: 'WebsiteCredentialFillRequest' });
239
+
240
+ export const DeleteSecretResponseSchema = z
241
+ .strictObject({
242
+ ok: z.boolean(),
243
+ })
244
+ .meta({ id: 'DeleteSecretResponse' });
245
+
246
+ export const WebsiteCredentialMetadataSchema = z
247
+ .strictObject({
248
+ name: z.string(),
249
+ websites: z.array(WebsiteCredentialWebsiteSchema),
250
+ username: z.string().optional(),
251
+ username_hint: z.string().optional(),
252
+ username_secret: z.boolean().optional(),
253
+ properties: z.looseObject({}).optional(),
254
+ tags: z.array(z.string()).optional(),
255
+ enabled: z.boolean().optional(),
256
+ capabilities: z.array(WebsiteCredentialCapabilitySchema).optional(),
257
+ notes: z.string().optional(),
258
+ totp: WebsiteCredentialTotpMetadataSchema.optional(),
259
+ expires_at: z
260
+ .string()
261
+ .meta({
262
+ description:
263
+ 'Optional ISO timestamp after which the credential is no longer usable. Expired credentials are hidden from lookup and cannot be filled.',
264
+ })
265
+ .optional(),
266
+ })
267
+ .meta({ id: 'WebsiteCredentialMetadata' });
268
+
269
+ export const WebsiteCredentialMetadataUpdateSchema = z
270
+ .strictObject({
271
+ name: z.string().optional(),
272
+ websites: z.array(WebsiteCredentialWebsiteSchema).optional(),
273
+ username: z.string().optional(),
274
+ username_hint: z.string().optional(),
275
+ username_secret: z.boolean().optional(),
276
+ properties: z.looseObject({}).optional(),
277
+ tags: z.array(z.string()).optional(),
278
+ enabled: z.boolean().optional(),
279
+ capabilities: z.array(WebsiteCredentialCapabilitySchema).optional(),
280
+ notes: z.string().optional(),
281
+ totp: WebsiteCredentialTotpMetadataSchema.optional(),
282
+ expires_at: z
283
+ .string()
284
+ .meta({
285
+ description:
286
+ 'Optional ISO timestamp after which the credential is no longer usable. Expired credentials are hidden from lookup and cannot be filled.',
287
+ })
288
+ .optional(),
289
+ })
290
+ .meta({ id: 'WebsiteCredentialMetadataUpdate' });
291
+
292
+ export const SecretRecordSchema = z
293
+ .strictObject({
294
+ id: z.string(),
295
+ secret_ref: z.string(),
296
+ kind: SecretKindSchema,
297
+ project: z.string(),
298
+ name: z.string(),
299
+ enabled: z.boolean().optional(),
300
+ tags: z.array(z.string()).optional(),
301
+ properties: z.looseObject({}).optional(),
302
+ created_at: z.string().optional(),
303
+ updated_at: z.string().optional(),
304
+ details: WebsiteCredentialRecordSchema.optional(),
305
+ })
306
+ .meta({ id: 'SecretRecord' });
307
+
308
+ export const CreateSecretRequestSchema = z
309
+ .strictObject({
310
+ kind: SecretKindSchema,
311
+ metadata: WebsiteCredentialMetadataSchema,
312
+ secret: WebsiteCredentialSecretInputSchema.optional(),
313
+ })
314
+ .meta({ id: 'CreateSecretRequest' });
315
+
316
+ export const UpdateSecretRequestSchema = z
317
+ .strictObject({
318
+ kind: SecretKindSchema.optional(),
319
+ metadata: WebsiteCredentialMetadataUpdateSchema.optional(),
320
+ secret: WebsiteCredentialSecretInputSchema.optional(),
321
+ clear_username_secret: z.boolean().optional(),
322
+ clear_password: z.boolean().optional(),
323
+ clear_totp: z.boolean().optional(),
324
+ clear_oauth: z.boolean().optional(),
325
+ })
326
+ .meta({ id: 'UpdateSecretRequest' });
327
+
328
+ export const ListSecretsResponseSchema = z
329
+ .strictObject({
330
+ secrets: z.array(SecretRecordSchema),
331
+ })
332
+ .meta({ id: 'ListSecretsResponse' });