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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/lib/access-control-values.d.ts +98 -0
  2. package/lib/access-control-values.d.ts.map +1 -0
  3. package/lib/access-control-values.js +101 -0
  4. package/lib/access-control-values.js.map +1 -0
  5. package/lib/access-control.d.ts +22 -119
  6. package/lib/access-control.d.ts.map +1 -1
  7. package/lib/access-control.js +6 -78
  8. package/lib/access-control.js.map +1 -1
  9. package/lib/account-values.d.ts +53 -0
  10. package/lib/account-values.d.ts.map +1 -0
  11. package/lib/account-values.js +91 -0
  12. package/lib/account-values.js.map +1 -0
  13. package/lib/analytics.d.ts +12 -38
  14. package/lib/analytics.d.ts.map +1 -1
  15. package/lib/api-schemas/access-control.d.ts +215 -0
  16. package/lib/api-schemas/access-control.d.ts.map +1 -0
  17. package/lib/api-schemas/access-control.js +165 -0
  18. package/lib/api-schemas/access-control.js.map +1 -0
  19. package/lib/api-schemas/account.d.ts +101 -0
  20. package/lib/api-schemas/account.d.ts.map +1 -0
  21. package/lib/api-schemas/account.js +136 -0
  22. package/lib/api-schemas/account.js.map +1 -0
  23. package/lib/api-schemas/adapter.d.ts +80 -0
  24. package/lib/api-schemas/adapter.d.ts.map +1 -0
  25. package/lib/api-schemas/adapter.js +726 -0
  26. package/lib/api-schemas/adapter.js.map +1 -0
  27. package/lib/api-schemas/agent-runs.d.ts +3781 -0
  28. package/lib/api-schemas/agent-runs.d.ts.map +1 -0
  29. package/lib/api-schemas/agent-runs.js +991 -0
  30. package/lib/api-schemas/agent-runs.js.map +1 -0
  31. package/lib/api-schemas/analytics.d.ts +86 -0
  32. package/lib/api-schemas/analytics.d.ts.map +1 -0
  33. package/lib/api-schemas/analytics.js +58 -0
  34. package/lib/api-schemas/analytics.js.map +1 -0
  35. package/lib/api-schemas/apikey.d.ts +231 -0
  36. package/lib/api-schemas/apikey.d.ts.map +1 -0
  37. package/lib/api-schemas/apikey.js +172 -0
  38. package/lib/api-schemas/apikey.js.map +1 -0
  39. package/lib/api-schemas/app-lifecycle.d.ts +1114 -0
  40. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
  41. package/lib/api-schemas/app-lifecycle.js +750 -0
  42. package/lib/api-schemas/app-lifecycle.js.map +1 -0
  43. package/lib/api-schemas/app-runtime.d.ts +9056 -0
  44. package/lib/api-schemas/app-runtime.d.ts.map +1 -0
  45. package/lib/api-schemas/app-runtime.js +782 -0
  46. package/lib/api-schemas/app-runtime.js.map +1 -0
  47. package/lib/api-schemas/apps.d.ts +247 -0
  48. package/lib/api-schemas/apps.d.ts.map +1 -0
  49. package/lib/api-schemas/apps.js +366 -0
  50. package/lib/api-schemas/apps.js.map +1 -0
  51. package/lib/api-schemas/audit-trail.d.ts +465 -0
  52. package/lib/api-schemas/audit-trail.d.ts.map +1 -0
  53. package/lib/api-schemas/audit-trail.js +218 -0
  54. package/lib/api-schemas/audit-trail.js.map +1 -0
  55. package/lib/api-schemas/bulk-operation.d.ts +104 -0
  56. package/lib/api-schemas/bulk-operation.d.ts.map +1 -0
  57. package/lib/api-schemas/bulk-operation.js +66 -0
  58. package/lib/api-schemas/bulk-operation.js.map +1 -0
  59. package/lib/api-schemas/commands.d.ts +50 -0
  60. package/lib/api-schemas/commands.d.ts.map +1 -0
  61. package/lib/api-schemas/commands.js +58 -0
  62. package/lib/api-schemas/commands.js.map +1 -0
  63. package/lib/api-schemas/content.d.ts +3561 -0
  64. package/lib/api-schemas/content.d.ts.map +1 -0
  65. package/lib/api-schemas/content.js +842 -0
  66. package/lib/api-schemas/content.js.map +1 -0
  67. package/lib/api-schemas/cost-analytics.d.ts +300 -0
  68. package/lib/api-schemas/cost-analytics.d.ts.map +1 -0
  69. package/lib/api-schemas/cost-analytics.js +218 -0
  70. package/lib/api-schemas/cost-analytics.js.map +1 -0
  71. package/lib/api-schemas/dashboard.d.ts +408 -0
  72. package/lib/api-schemas/dashboard.d.ts.map +1 -0
  73. package/lib/api-schemas/dashboard.js +311 -0
  74. package/lib/api-schemas/dashboard.js.map +1 -0
  75. package/lib/api-schemas/data-store.d.ts +1650 -0
  76. package/lib/api-schemas/data-store.d.ts.map +1 -0
  77. package/lib/api-schemas/data-store.js +504 -0
  78. package/lib/api-schemas/data-store.js.map +1 -0
  79. package/lib/api-schemas/document-processing.d.ts +1501 -0
  80. package/lib/api-schemas/document-processing.d.ts.map +1 -0
  81. package/lib/api-schemas/document-processing.js +312 -0
  82. package/lib/api-schemas/document-processing.js.map +1 -0
  83. package/lib/api-schemas/embeddings.d.ts +184 -0
  84. package/lib/api-schemas/embeddings.d.ts.map +1 -0
  85. package/lib/api-schemas/embeddings.js +102 -0
  86. package/lib/api-schemas/embeddings.js.map +1 -0
  87. package/lib/api-schemas/environment.d.ts +412 -0
  88. package/lib/api-schemas/environment.d.ts.map +1 -0
  89. package/lib/api-schemas/environment.js +170 -0
  90. package/lib/api-schemas/environment.js.map +1 -0
  91. package/lib/api-schemas/events.d.ts +4880 -0
  92. package/lib/api-schemas/events.d.ts.map +1 -0
  93. package/lib/api-schemas/events.js +832 -0
  94. package/lib/api-schemas/events.js.map +1 -0
  95. package/lib/api-schemas/files.d.ts +107 -0
  96. package/lib/api-schemas/files.d.ts.map +1 -0
  97. package/lib/api-schemas/files.js +137 -0
  98. package/lib/api-schemas/files.js.map +1 -0
  99. package/lib/api-schemas/group.d.ts +122 -0
  100. package/lib/api-schemas/group.d.ts.map +1 -0
  101. package/lib/api-schemas/group.js +142 -0
  102. package/lib/api-schemas/group.js.map +1 -0
  103. package/lib/api-schemas/index.d.ts +36 -0
  104. package/lib/api-schemas/index.d.ts.map +1 -0
  105. package/lib/api-schemas/index.js +36 -0
  106. package/lib/api-schemas/index.js.map +1 -0
  107. package/lib/api-schemas/indexing.d.ts +144 -0
  108. package/lib/api-schemas/indexing.d.ts.map +1 -0
  109. package/lib/api-schemas/indexing.js +217 -0
  110. package/lib/api-schemas/indexing.js.map +1 -0
  111. package/lib/api-schemas/integrations.d.ts +269 -0
  112. package/lib/api-schemas/integrations.d.ts.map +1 -0
  113. package/lib/api-schemas/integrations.js +335 -0
  114. package/lib/api-schemas/integrations.js.map +1 -0
  115. package/lib/api-schemas/interaction.d.ts +22454 -0
  116. package/lib/api-schemas/interaction.d.ts.map +1 -0
  117. package/lib/api-schemas/interaction.js +2065 -0
  118. package/lib/api-schemas/interaction.js.map +1 -0
  119. package/lib/api-schemas/invites.d.ts +162 -0
  120. package/lib/api-schemas/invites.d.ts.map +1 -0
  121. package/lib/api-schemas/invites.js +106 -0
  122. package/lib/api-schemas/invites.js.map +1 -0
  123. package/lib/api-schemas/oauth-server.d.ts +415 -0
  124. package/lib/api-schemas/oauth-server.d.ts.map +1 -0
  125. package/lib/api-schemas/oauth-server.js +193 -0
  126. package/lib/api-schemas/oauth-server.js.map +1 -0
  127. package/lib/api-schemas/oauth.d.ts +150 -0
  128. package/lib/api-schemas/oauth.d.ts.map +1 -0
  129. package/lib/api-schemas/oauth.js +148 -0
  130. package/lib/api-schemas/oauth.js.map +1 -0
  131. package/lib/api-schemas/parameters.d.ts +64 -0
  132. package/lib/api-schemas/parameters.d.ts.map +1 -0
  133. package/lib/api-schemas/parameters.js +246 -0
  134. package/lib/api-schemas/parameters.js.map +1 -0
  135. package/lib/api-schemas/process.d.ts +499 -0
  136. package/lib/api-schemas/process.d.ts.map +1 -0
  137. package/lib/api-schemas/process.js +817 -0
  138. package/lib/api-schemas/process.js.map +1 -0
  139. package/lib/api-schemas/project-configuration.d.ts +4900 -0
  140. package/lib/api-schemas/project-configuration.d.ts.map +1 -0
  141. package/lib/api-schemas/project-configuration.js +425 -0
  142. package/lib/api-schemas/project-configuration.js.map +1 -0
  143. package/lib/api-schemas/project.d.ts +7247 -0
  144. package/lib/api-schemas/project.d.ts.map +1 -0
  145. package/lib/api-schemas/project.js +185 -0
  146. package/lib/api-schemas/project.js.map +1 -0
  147. package/lib/api-schemas/prompt.d.ts +70 -0
  148. package/lib/api-schemas/prompt.d.ts.map +1 -0
  149. package/lib/api-schemas/prompt.js +77 -0
  150. package/lib/api-schemas/prompt.js.map +1 -0
  151. package/lib/api-schemas/quota.d.ts +90 -0
  152. package/lib/api-schemas/quota.d.ts.map +1 -0
  153. package/lib/api-schemas/quota.js +95 -0
  154. package/lib/api-schemas/quota.js.map +1 -0
  155. package/lib/api-schemas/registry.d.ts +97458 -0
  156. package/lib/api-schemas/registry.d.ts.map +1 -0
  157. package/lib/api-schemas/registry.js +2586 -0
  158. package/lib/api-schemas/registry.js.map +1 -0
  159. package/lib/api-schemas/schema-primitives.d.ts +5 -0
  160. package/lib/api-schemas/schema-primitives.d.ts.map +1 -0
  161. package/lib/api-schemas/schema-primitives.js +11 -0
  162. package/lib/api-schemas/schema-primitives.js.map +1 -0
  163. package/lib/api-schemas/secrets.d.ts +497 -0
  164. package/lib/api-schemas/secrets.d.ts.map +1 -0
  165. package/lib/api-schemas/secrets.js +298 -0
  166. package/lib/api-schemas/secrets.js.map +1 -0
  167. package/lib/api-schemas/store.d.ts +22140 -0
  168. package/lib/api-schemas/store.d.ts.map +1 -0
  169. package/lib/api-schemas/store.js +557 -0
  170. package/lib/api-schemas/store.js.map +1 -0
  171. package/lib/api-schemas/sts.d.ts +156 -0
  172. package/lib/api-schemas/sts.d.ts.map +1 -0
  173. package/lib/api-schemas/sts.js +96 -0
  174. package/lib/api-schemas/sts.js.map +1 -0
  175. package/lib/api-schemas/task.d.ts +215 -0
  176. package/lib/api-schemas/task.d.ts.map +1 -0
  177. package/lib/api-schemas/task.js +95 -0
  178. package/lib/api-schemas/task.js.map +1 -0
  179. package/lib/api-schemas/tools.d.ts +111 -0
  180. package/lib/api-schemas/tools.d.ts.map +1 -0
  181. package/lib/api-schemas/tools.js +122 -0
  182. package/lib/api-schemas/tools.js.map +1 -0
  183. package/lib/api-schemas/user.d.ts +208 -0
  184. package/lib/api-schemas/user.d.ts.map +1 -0
  185. package/lib/api-schemas/user.js +180 -0
  186. package/lib/api-schemas/user.js.map +1 -0
  187. package/lib/api-schemas/view-execution.d.ts +3163 -0
  188. package/lib/api-schemas/view-execution.d.ts.map +1 -0
  189. package/lib/api-schemas/view-execution.js +172 -0
  190. package/lib/api-schemas/view-execution.js.map +1 -0
  191. package/lib/api-schemas/views.d.ts +5990 -0
  192. package/lib/api-schemas/views.d.ts.map +1 -0
  193. package/lib/api-schemas/views.js +396 -0
  194. package/lib/api-schemas/views.js.map +1 -0
  195. package/lib/api-schemas/workflow-runs.d.ts +2209 -0
  196. package/lib/api-schemas/workflow-runs.d.ts.map +1 -0
  197. package/lib/api-schemas/workflow-runs.js +589 -0
  198. package/lib/api-schemas/workflow-runs.js.map +1 -0
  199. package/lib/apikey-values.d.ts +10 -0
  200. package/lib/apikey-values.d.ts.map +1 -0
  201. package/lib/apikey-values.js +11 -0
  202. package/lib/apikey-values.js.map +1 -0
  203. package/lib/apikey.d.ts +37 -36
  204. package/lib/apikey.d.ts.map +1 -1
  205. package/lib/apikey.js +5 -4
  206. package/lib/apikey.js.map +1 -1
  207. package/lib/apps.d.ts +116 -1121
  208. package/lib/apps.d.ts.map +1 -1
  209. package/lib/apps.js.map +1 -1
  210. package/lib/ask-user.d.ts +8 -1
  211. package/lib/ask-user.d.ts.map +1 -1
  212. package/lib/audit-trail.d.ts +17 -128
  213. package/lib/audit-trail.d.ts.map +1 -1
  214. package/lib/audit-trail.js.map +1 -1
  215. package/lib/browser-credentials.d.ts +11 -106
  216. package/lib/browser-credentials.d.ts.map +1 -1
  217. package/lib/common.d.ts +59 -81
  218. package/lib/common.d.ts.map +1 -1
  219. package/lib/cost-analytics.d.ts +14 -167
  220. package/lib/cost-analytics.d.ts.map +1 -1
  221. package/lib/cost-analytics.js.map +1 -1
  222. package/lib/data-platform.d.ts +122 -786
  223. package/lib/data-platform.d.ts.map +1 -1
  224. package/lib/data-platform.js +41 -61
  225. package/lib/data-platform.js.map +1 -1
  226. package/lib/email.d.ts +5 -17
  227. package/lib/email.d.ts.map +1 -1
  228. package/lib/email.js +0 -3
  229. package/lib/email.js.map +1 -1
  230. package/lib/embeddings.d.ts +14 -56
  231. package/lib/embeddings.d.ts.map +1 -1
  232. package/lib/environment.d.ts +19 -113
  233. package/lib/environment.d.ts.map +1 -1
  234. package/lib/environment.js +3 -0
  235. package/lib/environment.js.map +1 -1
  236. package/lib/facets.d.ts +4 -7
  237. package/lib/facets.d.ts.map +1 -1
  238. package/lib/group.d.ts +33 -39
  239. package/lib/group.d.ts.map +1 -1
  240. package/lib/group.js +0 -1
  241. package/lib/group.js.map +1 -1
  242. package/lib/index.d.ts +7 -0
  243. package/lib/index.d.ts.map +1 -1
  244. package/lib/index.js.map +1 -1
  245. package/lib/integrations.d.ts +20 -108
  246. package/lib/integrations.d.ts.map +1 -1
  247. package/lib/integrations.js.map +1 -1
  248. package/lib/interaction-values.d.ts +11 -0
  249. package/lib/interaction-values.d.ts.map +1 -0
  250. package/lib/interaction-values.js +24 -0
  251. package/lib/interaction-values.js.map +1 -0
  252. package/lib/interaction.d.ts +116 -734
  253. package/lib/interaction.d.ts.map +1 -1
  254. package/lib/interaction.js +56 -12
  255. package/lib/interaction.js.map +1 -1
  256. package/lib/meters.d.ts +11 -7
  257. package/lib/meters.d.ts.map +1 -1
  258. package/lib/meters.js.map +1 -1
  259. package/lib/oauth-server.d.ts +33 -119
  260. package/lib/oauth-server.d.ts.map +1 -1
  261. package/lib/oauth.d.ts +14 -96
  262. package/lib/oauth.d.ts.map +1 -1
  263. package/lib/oauth.js +0 -4
  264. package/lib/oauth.js.map +1 -1
  265. package/lib/payload.d.ts +15 -38
  266. package/lib/payload.d.ts.map +1 -1
  267. package/lib/platform-event.d.ts +49 -462
  268. package/lib/platform-event.d.ts.map +1 -1
  269. package/lib/platform-event.js.map +1 -1
  270. package/lib/principal-context.d.ts +10 -15
  271. package/lib/principal-context.d.ts.map +1 -1
  272. package/lib/project-values.d.ts +24 -0
  273. package/lib/project-values.d.ts.map +1 -0
  274. package/lib/project-values.js +42 -0
  275. package/lib/project-values.js.map +1 -0
  276. package/lib/project.d.ts +55 -503
  277. package/lib/project.d.ts.map +1 -1
  278. package/lib/project.js +6 -76
  279. package/lib/project.js.map +1 -1
  280. package/lib/prompt.d.ts +20 -51
  281. package/lib/prompt.d.ts.map +1 -1
  282. package/lib/prompt.js.map +1 -1
  283. package/lib/query.d.ts +27 -88
  284. package/lib/query.d.ts.map +1 -1
  285. package/lib/rate-limiter.d.ts +19 -70
  286. package/lib/rate-limiter.d.ts.map +1 -1
  287. package/lib/rate-limiter.js +0 -3
  288. package/lib/rate-limiter.js.map +1 -1
  289. package/lib/refs.d.ts +3 -11
  290. package/lib/refs.d.ts.map +1 -1
  291. package/lib/refs.js.map +1 -1
  292. package/lib/roles/types.d.ts +14 -20
  293. package/lib/roles/types.d.ts.map +1 -1
  294. package/lib/roles/types.js +5 -9
  295. package/lib/roles/types.js.map +1 -1
  296. package/lib/runs.d.ts +6 -25
  297. package/lib/runs.d.ts.map +1 -1
  298. package/lib/secrets.d.ts +20 -105
  299. package/lib/secrets.d.ts.map +1 -1
  300. package/lib/store/agent-approval.d.ts +5 -14
  301. package/lib/store/agent-approval.d.ts.map +1 -1
  302. package/lib/store/agent-approval.js.map +1 -1
  303. package/lib/store/agent-run.d.ts +63 -342
  304. package/lib/store/agent-run.d.ts.map +1 -1
  305. package/lib/store/collections.d.ts +11 -63
  306. package/lib/store/collections.d.ts.map +1 -1
  307. package/lib/store/collections.js.map +1 -1
  308. package/lib/store/conversation-state.d.ts +63 -61
  309. package/lib/store/conversation-state.d.ts.map +1 -1
  310. package/lib/store/conversation-state.js +2 -0
  311. package/lib/store/conversation-state.js.map +1 -1
  312. package/lib/store/doc-analyzer.d.ts +9 -32
  313. package/lib/store/doc-analyzer.d.ts.map +1 -1
  314. package/lib/store/dsl-workflow.d.ts +37 -151
  315. package/lib/store/dsl-workflow.d.ts.map +1 -1
  316. package/lib/store/dsl-workflow.js.map +1 -1
  317. package/lib/store/editing-policy-schema.generated.d.ts +3 -0
  318. package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
  319. package/lib/store/editing-policy-schema.generated.js +28 -0
  320. package/lib/store/editing-policy-schema.generated.js.map +1 -0
  321. package/lib/store/grounded-extraction.d.ts +7 -104
  322. package/lib/store/grounded-extraction.d.ts.map +1 -1
  323. package/lib/store/grounded-extraction.js.map +1 -1
  324. package/lib/store/index.d.ts +2 -0
  325. package/lib/store/index.d.ts.map +1 -1
  326. package/lib/store/index.js +3 -0
  327. package/lib/store/index.js.map +1 -1
  328. package/lib/store/intake-policy-schema.generated.d.ts +3 -0
  329. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
  330. package/lib/store/intake-policy-schema.generated.js +1425 -0
  331. package/lib/store/intake-policy-schema.generated.js.map +1 -0
  332. package/lib/store/process-schema.d.ts +80 -0
  333. package/lib/store/process-schema.d.ts.map +1 -1
  334. package/lib/store/process-schema.js +79 -0
  335. package/lib/store/process-schema.js.map +1 -1
  336. package/lib/store/process-validation.d.ts.map +1 -1
  337. package/lib/store/process-validation.js +70 -2
  338. package/lib/store/process-validation.js.map +1 -1
  339. package/lib/store/process.d.ts +36 -125
  340. package/lib/store/process.d.ts.map +1 -1
  341. package/lib/store/process.js.map +1 -1
  342. package/lib/store/rendering.d.ts +9 -64
  343. package/lib/store/rendering.d.ts.map +1 -1
  344. package/lib/store/rendering.js.map +1 -1
  345. package/lib/store/store.d.ts +98 -693
  346. package/lib/store/store.d.ts.map +1 -1
  347. package/lib/store/store.js +4 -443
  348. package/lib/store/store.js.map +1 -1
  349. package/lib/store/task.d.ts +15 -59
  350. package/lib/store/task.d.ts.map +1 -1
  351. package/lib/store/task.js +0 -3
  352. package/lib/store/task.js.map +1 -1
  353. package/lib/store/workflow.d.ts +56 -516
  354. package/lib/store/workflow.d.ts.map +1 -1
  355. package/lib/store/workflow.js +28 -11
  356. package/lib/store/workflow.js.map +1 -1
  357. package/lib/sts-token-types.d.ts +12 -66
  358. package/lib/sts-token-types.d.ts.map +1 -1
  359. package/lib/sts-token-types.js.map +1 -1
  360. package/lib/tools.d.ts +8 -100
  361. package/lib/tools.d.ts.map +1 -1
  362. package/lib/transient-tokens-values.d.ts +11 -0
  363. package/lib/transient-tokens-values.d.ts.map +1 -0
  364. package/lib/transient-tokens-values.js +12 -0
  365. package/lib/transient-tokens-values.js.map +1 -0
  366. package/lib/transient-tokens.d.ts +15 -13
  367. package/lib/transient-tokens.d.ts.map +1 -1
  368. package/lib/transient-tokens.js +5 -5
  369. package/lib/transient-tokens.js.map +1 -1
  370. package/lib/user.d.ts +54 -155
  371. package/lib/user.d.ts.map +1 -1
  372. package/lib/user.js +1 -78
  373. package/lib/user.js.map +1 -1
  374. package/lib/versions.d.ts +24 -1
  375. package/lib/versions.d.ts.map +1 -1
  376. package/lib/versions.js +23 -0
  377. package/lib/versions.js.map +1 -1
  378. package/lib/vertesia-common.js +6 -2
  379. package/lib/vertesia-common.js.map +1 -1
  380. package/lib/views-schema.d.ts +4 -4
  381. package/lib/views.d.ts +56 -312
  382. package/lib/views.d.ts.map +1 -1
  383. package/lib/views.js.map +1 -1
  384. package/package.json +14 -5
  385. package/src/access-control-values.ts +113 -0
  386. package/src/access-control.ts +33 -138
  387. package/src/account-values.ts +95 -0
  388. package/src/agent-resources.test.ts +100 -0
  389. package/src/analytics.ts +18 -42
  390. package/src/api-schemas/access-control.contract.test.ts +209 -0
  391. package/src/api-schemas/access-control.ts +208 -0
  392. package/src/api-schemas/account.contract.test.ts +318 -0
  393. package/src/api-schemas/account.ts +150 -0
  394. package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
  395. package/src/api-schemas/adapter.ts +778 -0
  396. package/src/api-schemas/agent-runs.ts +1081 -0
  397. package/src/api-schemas/analytics.ts +65 -0
  398. package/src/api-schemas/apikey.contract.test.ts +270 -0
  399. package/src/api-schemas/apikey.ts +199 -0
  400. package/src/api-schemas/app-lifecycle.ts +841 -0
  401. package/src/api-schemas/app-runtime.ts +919 -0
  402. package/src/api-schemas/apps.ts +415 -0
  403. package/src/api-schemas/audit-trail.ts +243 -0
  404. package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
  405. package/src/api-schemas/bulk-operation.ts +75 -0
  406. package/src/api-schemas/bundle-isolation.test.ts +80 -0
  407. package/src/api-schemas/commands.contract.test.ts +51 -0
  408. package/src/api-schemas/commands.ts +62 -0
  409. package/src/api-schemas/content.ts +939 -0
  410. package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
  411. package/src/api-schemas/cost-analytics.ts +235 -0
  412. package/src/api-schemas/dashboard.contract.test.ts +127 -0
  413. package/src/api-schemas/dashboard.ts +351 -0
  414. package/src/api-schemas/data-store.contract.test.ts +91 -0
  415. package/src/api-schemas/data-store.ts +571 -0
  416. package/src/api-schemas/document-processing.contract.test.ts +76 -0
  417. package/src/api-schemas/document-processing.ts +344 -0
  418. package/src/api-schemas/embeddings.ts +113 -0
  419. package/src/api-schemas/environment.contract.test.ts +184 -0
  420. package/src/api-schemas/environment.ts +190 -0
  421. package/src/api-schemas/events.ts +921 -0
  422. package/src/api-schemas/files.ts +159 -0
  423. package/src/api-schemas/group.contract.test.ts +205 -0
  424. package/src/api-schemas/group.ts +155 -0
  425. package/src/api-schemas/index.ts +35 -0
  426. package/src/api-schemas/indexing.contract.test.ts +83 -0
  427. package/src/api-schemas/indexing.ts +234 -0
  428. package/src/api-schemas/integrations.ts +369 -0
  429. package/src/api-schemas/interaction.ts +2357 -0
  430. package/src/api-schemas/invites.contract.test.ts +268 -0
  431. package/src/api-schemas/invites.ts +127 -0
  432. package/src/api-schemas/llumiverse.contract.test.ts +108 -0
  433. package/src/api-schemas/oauth-server.ts +219 -0
  434. package/src/api-schemas/oauth.contract.test.ts +118 -0
  435. package/src/api-schemas/oauth.ts +166 -0
  436. package/src/api-schemas/parameters.test.ts +402 -0
  437. package/src/api-schemas/parameters.ts +310 -0
  438. package/src/api-schemas/process.ts +929 -0
  439. package/src/api-schemas/project-configuration.ts +478 -0
  440. package/src/api-schemas/project.contract.test.ts +365 -0
  441. package/src/api-schemas/project.ts +214 -0
  442. package/src/api-schemas/prompt.ts +88 -0
  443. package/src/api-schemas/pruning-limits.test.ts +189 -0
  444. package/src/api-schemas/quota.contract.test.ts +147 -0
  445. package/src/api-schemas/quota.ts +122 -0
  446. package/src/api-schemas/registry-groups.test.ts +91 -0
  447. package/src/api-schemas/registry.ts +3487 -0
  448. package/src/api-schemas/response-pruning.test.ts +260 -0
  449. package/src/api-schemas/schema-primitives.ts +12 -0
  450. package/src/api-schemas/secrets.ts +332 -0
  451. package/src/api-schemas/store.contract.test.ts +450 -0
  452. package/src/api-schemas/store.ts +604 -0
  453. package/src/api-schemas/sts.contract.test.ts +80 -0
  454. package/src/api-schemas/sts.ts +110 -0
  455. package/src/api-schemas/task.ts +104 -0
  456. package/src/api-schemas/tools.ts +140 -0
  457. package/src/api-schemas/user.contract.test.ts +191 -0
  458. package/src/api-schemas/user.ts +204 -0
  459. package/src/api-schemas/view-execution.ts +200 -0
  460. package/src/api-schemas/views.ts +437 -0
  461. package/src/api-schemas/workflow-runs.ts +653 -0
  462. package/src/apikey-values.ts +10 -0
  463. package/src/apikey.ts +49 -40
  464. package/src/apps.ts +249 -1179
  465. package/src/ask-user.ts +9 -1
  466. package/src/audit-trail.ts +45 -137
  467. package/src/browser-credentials.ts +21 -106
  468. package/src/common.ts +67 -78
  469. package/src/cost-analytics.ts +37 -176
  470. package/src/data-platform.ts +205 -776
  471. package/src/email.ts +5 -17
  472. package/src/embeddings.ts +22 -60
  473. package/src/environment.ts +52 -124
  474. package/src/facets.ts +4 -7
  475. package/src/group.ts +38 -42
  476. package/src/index.ts +11 -0
  477. package/src/integrations.ts +39 -129
  478. package/src/interaction-values.ts +23 -0
  479. package/src/interaction.ts +231 -841
  480. package/src/meters.ts +11 -7
  481. package/src/oauth-server.ts +58 -127
  482. package/src/oauth.ts +24 -108
  483. package/src/payload.ts +25 -40
  484. package/src/platform-event.ts +98 -484
  485. package/src/principal-context.ts +11 -15
  486. package/src/project-values.ts +41 -0
  487. package/src/project.ts +116 -588
  488. package/src/prompt.ts +34 -61
  489. package/src/query.ts +34 -93
  490. package/src/rate-limiter.ts +27 -75
  491. package/src/refs.ts +4 -11
  492. package/src/roles/types.ts +20 -20
  493. package/src/runs.ts +11 -24
  494. package/src/secrets.ts +38 -117
  495. package/src/store/agent-approval.ts +9 -14
  496. package/src/store/agent-run.ts +106 -434
  497. package/src/store/collections.ts +21 -63
  498. package/src/store/content-type-editing.test.ts +17 -0
  499. package/src/store/conversation-state.ts +78 -64
  500. package/src/store/doc-analyzer.ts +17 -33
  501. package/src/store/dsl-workflow.ts +62 -158
  502. package/src/store/editing-policy-schema.generated.ts +30 -0
  503. package/src/store/grounded-extraction.ts +13 -104
  504. package/src/store/index.ts +3 -0
  505. package/src/store/intake-policy-schema.generated.ts +1442 -0
  506. package/src/store/process-schema.test.ts +43 -0
  507. package/src/store/process-schema.ts +79 -0
  508. package/src/store/process-validation.test.ts +141 -0
  509. package/src/store/process-validation.ts +82 -2
  510. package/src/store/process.ts +70 -146
  511. package/src/store/rendering.ts +15 -64
  512. package/src/store/store.ts +197 -1182
  513. package/src/store/task.ts +25 -59
  514. package/src/store/workflow.ts +103 -554
  515. package/src/sts-token-types.ts +24 -75
  516. package/src/tools.ts +18 -97
  517. package/src/transient-tokens-values.ts +11 -0
  518. package/src/transient-tokens.ts +16 -13
  519. package/src/user.ts +74 -214
  520. package/src/versions.ts +24 -0
  521. package/src/views-schema.test.ts +9 -1
  522. package/src/views.ts +106 -329
package/lib/apps.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- import type { JSONObject, JSONSchema, ToolDefinition } from '@llumiverse/common';
2
- import type { AppDashboardDefinition } from './data-platform.js';
3
- import type { CatalogInteractionRef } from './interaction.js';
4
- import type { DSLActivityOptions, InCodeProcessDefinition, InCodeTypeDefinition } from './store/index.js';
5
- import type { InCodeViewDefinition } from './views.js';
1
+ import type { z } from 'zod';
2
+ import type { AgentToolApprovalClassSchema, AgentToolDefinitionSchema, AppBuildProgressSchema, AppBuildProgressStatusSchema, AppBuildTriggerSchema, AppDevelopmentTaskDetailsSchema, AppDevelopmentTaskListSchema, AppDevelopmentTaskSchema, AppInspectionCapabilityReportSchema, AppInspectionIssueSchema, AppInspectionResultSchema, AppInstallationKindSchema, AppInstallationOAuthBindingSchema, AppInstallationPayloadSchema, AppInstallationProjectsQuerySchema, AppInstallationProviderBindingSchema, AppInstallationsQuerySchema, AppOAuthCollectionParamsSchema, AppOAuthProviderParamsSchema, AppRepoBranchSchema, AppRepoCommitSchema, AppRepoCommitsSchema, AppRepoDocumentCommitSchema, AppRepoRefSchema, AppRepoRefsSchema, AppRepoTreeEntrySchema, AppRepoTreeSchema, AppScaffoldModuleSchema, AppScaffoldProgressSchema, AppScaffoldProgressStatusSchema, AppToolCollectionSchema, AppVersionGitRefTypeSchema, AppVersionGitSourceSchema, AppVersionKindSchema, AppVersionRecordSchema, AppVersionStateSchema, AppVersionStorageSchema, AppVersionTargetSchema, AppVersionUrlsSchema, DeleteAppVersionResponseSchema, OAuthClientCredentialsSchema, StartAppBuildRequestSchema, StartAppBuildResponseSchema, StartAppScaffoldRequestSchema, StartAppScaffoldResponseSchema, UpdateAppInstallationToolAllowlistPayloadSchema, UpsertAppVersionRequestSchema, ValidateUrlRequestSchema, ValidateUrlResponseSchema } from './api-schemas/app-lifecycle.js';
3
+ import type { AppInstallationListEntrySchema, AppInstallationSchema, AppInstallationWithManifestSchema, AppManifestDataSchema, AppManifestSchema, AppPackageSchema, AppWidgetInfoSchema, CompositeAppCardOverridesSchema, CompositeAppConfigPayloadSchema, CompositeAppConfigSchema, CompositeAppEntrySchema, CompositeAppHeaderItemKindSchema, CompositeAppHeaderItemSchema, CompositeAppHeaderItemTargetSchema, CompositeAppHeaderOverridesSchema, CompositeAppHomePluginSchema, CompositeAppLogoOverridesSchema, CompositeAppMenuSectionSchema, CompositeAppMessageOverridesSchema, CompositeAppMessageStyleSchema, CompositeAppNavItemPermissionsSchema, CompositeAppSidebarOverridesSchema, CompositeAppSwitchersOverridesSchema, CompositeAppThemeOverridesSchema, CompositeAppUserMenuOverridesSchema, PromoteAppVersionResponseSchema } from './api-schemas/app-runtime.js';
4
+ import type { AppAccessControlSchema, AppAvailableInSchema, AppCapabilitiesSchema, AppGitSourceConfigSchema, AppManifestSourceSchema, AppSourceConfigSchema, AppUIConfigSchema, MCPOAuthConfigSchema, MCPToolAnnotationsSchema, MCPToolCollectionObjectSchema, McpOAuthConnectResponseSchema, McpOAuthDisconnectResponseSchema, McpOAuthTokenRequestSchema, McpOAuthTokenResponseSchema, OAuthAuthorizeResponseSchema, OAuthAuthStatusSchema, OAuthMetadataResponseSchema, ToolCollectionAuthTypeSchema, ToolCollectionObjectSchema, VertesiaSDKToolCollectionObjectSchema } from './api-schemas/apps.js';
5
+ import type { RemoteActivityDefinitionSchema } from './api-schemas/integrations.js';
6
+ import type { ProjectToolInfoSchema, RenderingTemplateDefinitionRefSchema, RenderingTemplateDefinitionSchema } from './api-schemas/project.js';
6
7
  /** Allowed values for AppUINavItem.preferredSection */
7
8
  export declare const PREFERRED_SECTIONS: readonly ["default", "footer", "settings"];
8
9
  /**
@@ -31,183 +32,18 @@ export interface AppUINavItem {
31
32
  */
32
33
  preferredSection?: (typeof PREFERRED_SECTIONS)[number];
33
34
  }
34
- export interface AppUIConfig {
35
- /**
36
- * The source URL of the app. The src can be a template which contain
37
- * a variable named `buildId` which will be replaced with the current build id.
38
- * For example: `/plugins/vertesia-review-center-${buildId}`
39
- */
40
- src: string;
41
- /**
42
- * The isolation strategy. If not specified it defaults to shadow.
43
- * - shadow - use Shadow DOM to fully isolate the plugin from the host.
44
- * - css - inject the plugin's styles (minus the preflight) into the host document;
45
- * lighter but styles may conflict with the host.
46
- */
47
- isolation?: 'shadow' | 'css';
48
- /**
49
- * When true the host modifies the app's css at load time to attempt to fix broken
50
- * or missing styles. Only takes effect in css isolation mode. Defaults to false.
51
- */
52
- css_rebuild?: boolean;
53
- /**
54
- * Navigation items for the app's sidebar UI.
55
- * Only applicable for apps with UI capability in shell contexts (ie. CompositeApp shell).
56
- */
57
- navigation?: AppUINavItem[];
58
- /**
59
- * Where this app's UI can be displayed.
60
- * - 'app_portal': Available in the main app portal (standalone)
61
- * - 'composite_app': Available within a CompositeApp shell
62
- * Defaults to ['app_portal', 'composite_app'] for new apps.
63
- */
64
- available_in?: AppAvailableIn[];
65
- }
66
- export interface AppInstallationProjectsQuery {
67
- name?: string;
68
- id?: string;
69
- }
70
- export interface AppInstallationsQuery {
71
- kind?: AppInstallationKind;
72
- available_in?: AppAvailableIn;
73
- }
74
- /**
75
- * Authentication type for tool collections
76
- */
77
- export type ToolCollectionAuthType = 'oauth' | 'other';
35
+ export type AppUIConfig = z.infer<typeof AppUIConfigSchema>;
36
+ export type AppInstallationProjectsQuery = z.infer<typeof AppInstallationProjectsQuerySchema>;
37
+ export type AppInstallationsQuery = z.infer<typeof AppInstallationsQuerySchema>;
38
+ export type ToolCollectionAuthType = z.infer<typeof ToolCollectionAuthTypeSchema>;
78
39
  /**
79
40
  * Tool collection type
80
41
  */
81
42
  export type ToolCollectionType = 'mcp' | 'vertesia_sdk';
82
- /**
83
- * Base tool collection configuration
84
- */
85
- interface BaseToolCollectionObject {
86
- /**
87
- * The URL endpoint for the tool collection
88
- */
89
- url: string;
90
- /**
91
- * Optional authentication type required for this tool collection
92
- */
93
- auth?: ToolCollectionAuthType;
94
- }
95
- /**
96
- * Install-time OAuth provisioning blueprint for an MCP collection.
97
- * Defines how to auto-create an OAuth provider when the app is installed.
98
- * Does NOT affect runtime behaviour — the runtime uses oauth_bindings on AppInstallation.
99
- */
100
- export interface MCPOAuthConfig {
101
- /**
102
- * Name for the OAuth provider to create at install time.
103
- * Defaults to the collection id converted to kebab-case if not specified.
104
- */
105
- name?: string;
106
- /** Human-readable display name for the created OAuth provider. */
107
- display_name?: string;
108
- grant_type?: 'authorization_code' | 'client_credentials';
109
- authorization_endpoint?: string;
110
- token_endpoint?: string;
111
- revocation_endpoint?: string;
112
- /**
113
- * Pre-configured client_id.
114
- * Omit if the installer must supply it (include 'client_id' in required_at_install).
115
- */
116
- client_id?: string;
117
- use_pkce?: boolean;
118
- default_scopes?: string[];
119
- /**
120
- * Parameters the installer must provide at install time.
121
- * These are shown as form fields in composable-ui before the install completes.
122
- * - 'client_id': user supplies the OAuth client ID
123
- * - 'client_secret': user supplies the OAuth client secret
124
- */
125
- required_at_install?: Array<'client_id' | 'client_secret' | 'scopes'>;
126
- }
127
- /**
128
- * MCP tool collection configuration (requires name, description, and namespace)
129
- */
130
- export interface MCPToolCollectionObject extends BaseToolCollectionObject {
131
- type: 'mcp';
132
- /**
133
- * Stable identifier for this collection.
134
- * Used to key oauth_bindings on AppInstallation — protects against collection renames.
135
- * Required for new manifests.
136
- */
137
- id: string;
138
- /**
139
- * Name for the tool collection.
140
- * Human-readable label for the collection.
141
- * Used in UI.
142
- */
143
- name: string;
144
- /**
145
- * Description for the tool collection.
146
- * Helps users understand what tools this collection provides.
147
- */
148
- description: string;
149
- /**
150
- * Prefix to use for tool names from this collection.
151
- * Provides clean, readable tool names (e.g., "jira" instead of "https://mcp.atlassian.com/v1/mcp")
152
- */
153
- namespace: string;
154
- /**
155
- * Reference to an OAuth provider name for this collection (legacy / manual path).
156
- * When set, uses the OAuth provider's config (endpoints, client_id, client_secret)
157
- * instead of MCP dynamic client registration or random fallback.
158
- * The referenced OAuth provider must exist in the same project.
159
- */
160
- oauth_app?: string;
161
- /**
162
- * Install-time OAuth provisioning blueprint.
163
- * When present, the platform auto-creates an OAuth provider at install time
164
- * using these values merged with any user-supplied required_at_install params.
165
- * The created app is recorded in AppInstallation.oauth_bindings.
166
- * Mutually exclusive with oauth_provider.
167
- */
168
- oauth_config?: MCPOAuthConfig;
169
- /**
170
- * Reference to a key in AppManifestData.oauth_providers.
171
- * When set, this collection shares the named provider's OAuth provider configuration.
172
- * Mutually exclusive with oauth_config and oauth_app.
173
- * Requires auth: "oauth" to be set.
174
- */
175
- oauth_provider?: string;
176
- /**
177
- * Additional OAuth scopes for this collection when using a shared oauth_provider.
178
- * These are merged (union) with the provider's default_scopes at install time.
179
- * Only valid when oauth_provider is set.
180
- */
181
- oauth_scopes?: string[];
182
- }
183
- /**
184
- * Vertesia SDK tool collection configuration
185
- */
186
- export interface VertesiaSDKToolCollectionObject extends BaseToolCollectionObject {
187
- type: 'vertesia_sdk';
188
- /**
189
- * Optional namespace to use for tool names from this collection.
190
- * If not provided, the tool server default will be used.
191
- */
192
- namespace?: string;
193
- /**
194
- * Optional name for the tool collection.
195
- * If not provided, the tool server default will be used.
196
- */
197
- name?: string;
198
- /**
199
- * Optional description for the tool collection.
200
- * If not provided, the tool server default will be used.
201
- */
202
- description?: string;
203
- }
204
- /**
205
- * Tool collection configuration (object format)
206
- */
207
- /**
208
- * @discriminator type
209
- */
210
- export type ToolCollectionObject = MCPToolCollectionObject | VertesiaSDKToolCollectionObject;
43
+ export type MCPOAuthConfig = z.infer<typeof MCPOAuthConfigSchema>;
44
+ export type MCPToolCollectionObject = z.infer<typeof MCPToolCollectionObjectSchema>;
45
+ export type VertesiaSDKToolCollectionObject = z.infer<typeof VertesiaSDKToolCollectionObjectSchema>;
46
+ export type ToolCollectionObject = z.infer<typeof ToolCollectionObjectSchema>;
211
47
  /**
212
48
  * Backward-compatible TypeScript alias. Public API payloads should reference
213
49
  * ToolCollectionObject directly so generated clients do not create a wrapper
@@ -233,18 +69,7 @@ export declare function normalizeToolCollection(collection: ToolCollectionObject
233
69
  /**
234
70
  * Metadata hints from MCP tool annotations (per MCP spec).
235
71
  */
236
- export interface MCPToolAnnotations {
237
- /** Human-readable display name for the tool */
238
- title?: string;
239
- /** If true, the tool does not modify any state */
240
- readOnlyHint?: boolean;
241
- /** If true, the tool may perform irreversible destructive operations */
242
- destructiveHint?: boolean;
243
- /** If true, calling the tool multiple times with the same args has no additional effect */
244
- idempotentHint?: boolean;
245
- /** If true, the tool interacts with external entities outside the local environment */
246
- openWorldHint?: boolean;
247
- }
72
+ export type MCPToolAnnotations = z.infer<typeof MCPToolAnnotationsSchema>;
248
73
  /**
249
74
  * Approval behavior class for a tool exposed to agents.
250
75
  *
@@ -253,75 +78,23 @@ export interface MCPToolAnnotations {
253
78
  * - `control`: affects agent control flow or tool availability, not user data or external systems.
254
79
  * - `requires_confirmation`: high-impact action that must ask the user even in interactive full-control mode.
255
80
  */
256
- export type AgentToolApprovalClass = 'read_only' | 'side_effecting' | 'control' | 'requires_confirmation';
81
+ export type AgentToolApprovalClass = z.infer<typeof AgentToolApprovalClassSchema>;
257
82
  /**
258
83
  * Tool definition with optional activation control for agent exposure.
259
84
  */
260
- export interface AgentToolDefinition extends ToolDefinition {
261
- /**
262
- * The tool execution URL. It can be an absolute URL or a path in which case the URL is obtained
263
- * using the base URL of the tool server API. Ex: http://tool-server.com/api/
264
- * Example of relative URLs: "tools/my-tool-collection" or "/api/tools/my-tool-collection"
265
- */
266
- url?: string;
267
- /**
268
- * The tool category if any - for UI purposes.
269
- */
270
- category?: string;
271
- /**
272
- * Whether this tool is available by default.
273
- * - true/undefined: Tool is always available to agents
274
- * - false: Tool is only available when enabled by a skill via `tools`
275
- */
276
- default?: boolean;
277
- /**
278
- * For skill tools (`learn_*`): the tool names this skill enables when called.
279
- * Matches the `tools:` key used in SKILL.md frontmatter and built-in skill
280
- * definitions — one name across the whole stack.
281
- */
282
- tools?: string[];
283
- /**
284
- * MCP tool annotations providing hints about tool behavior and safety.
285
- */
286
- annotations?: MCPToolAnnotations;
287
- /**
288
- * Approval classification used by interactive agent approval modes.
289
- * Use `requires_confirmation` for actions that must prompt even in full-control mode.
290
- */
291
- approval_class?: AgentToolApprovalClass;
292
- }
85
+ export type AgentToolDefinition = z.infer<typeof AgentToolDefinitionSchema>;
293
86
  /**
294
87
  * Definition of a remote activity exposed by a tool server for use in DSL workflows.
295
88
  * Remote activities are identified in workflow steps using colon-separated names:
296
89
  * `app:<app_name>:<collection>:<activity_name>` (e.g. `app:my-nlp-app:examples:word_count`).
297
90
  */
298
- export interface RemoteActivityDefinition {
299
- /** Activity name (snake_case, unique within the collection) */
300
- name: string;
301
- /** Collection name this activity belongs to */
302
- collection?: string;
303
- /** Display title */
304
- title?: string;
305
- /** Description of what the activity does */
306
- description?: string;
307
- /** JSON Schema for the activity input parameters */
308
- input_schema?: Record<string, unknown>;
309
- /** JSON Schema for the activity output */
310
- output_schema?: Record<string, unknown>;
311
- /**
312
- * The activity execution URL. Can be absolute or relative to the tool server base URL.
313
- * If not provided, the collection-specific activities endpoint is used.
314
- */
315
- url?: string;
316
- /** Suggested timeout and retry configuration */
317
- options?: DSLActivityOptions;
318
- }
91
+ export type RemoteActivityDefinition = z.infer<typeof RemoteActivityDefinitionSchema>;
319
92
  /**
320
93
  * Canonical app capabilities Studio renders/supports. The public type is derived from
321
94
  * this list so runtime validation and TypeScript cannot drift.
322
95
  */
323
96
  export declare const APP_CAPABILITIES: readonly ["ui", "tools", "interactions", "types", "processes", "views", "templates", "dashboards"];
324
- export type AppCapabilities = (typeof APP_CAPABILITIES)[number];
97
+ export type AppCapabilities = z.infer<typeof AppCapabilitiesSchema>;
325
98
  /**
326
99
  * Header carrying the app version a generated-app UI is running, so studio/zeno resolve app-owned
327
100
  * capability refs (`app:<app>:...`) against that exact version instead of the promoted version.
@@ -399,152 +172,27 @@ export interface AppCapabilityManifest {
399
172
  }
400
173
  /** Repo-relative path the capability manifest is committed to, read by version-build gates. */
401
174
  export declare const APP_CAPABILITY_MANIFEST_PATH = "docs/app-capability-manifest.json";
402
- export type AppAvailableIn = 'app_portal' | 'composite_app';
403
- export type AppVersionKind = 'design' | 'version';
404
- export type AppVersionState = 'ready' | 'failed' | 'expired';
405
- export type AppVersionTarget = 'static' | 'service';
406
- export type AppVersionGitRefType = 'branch' | 'tag' | 'commit' | 'detached';
407
- export type AppBuildTrigger = 'ui' | 'git_push' | 'agent' | 'api';
408
- export interface AppVersionStorage {
409
- tenant_id?: string;
410
- app_prefix?: string;
411
- artifacts_prefix?: string;
412
- source_archive?: string;
413
- source_git?: AppVersionGitSource;
414
- build_prefix?: string;
415
- manifest_path?: string;
416
- service_archive?: string;
417
- live_metadata_path?: string;
418
- }
419
- export interface AppVersionGitSource {
420
- url?: string;
421
- remote?: string;
422
- /**
423
- * The source ref that should be used to reproduce this version. Immutable
424
- * app versions use the exact commit SHA rather than a mutable branch or tag.
425
- */
426
- ref?: string;
427
- ref_type?: AppVersionGitRefType;
428
- branch?: string;
429
- tag?: string;
430
- commit?: string;
431
- dirty?: boolean;
432
- pushed?: boolean;
433
- push_warning?: string;
434
- }
435
- export interface AppVersionUrls {
436
- live_url?: string;
437
- app_url?: string;
438
- plugin_url?: string;
439
- package_url?: string;
440
- internal_preview_url?: string;
441
- }
442
- export interface AppVersionRecord {
443
- id: string;
444
- account: string;
445
- project: string;
446
- app?: string;
447
- app_id: string;
448
- app_name: string;
449
- version_id: string;
450
- kind: AppVersionKind;
451
- state: AppVersionState;
452
- promoted?: boolean;
453
- target?: AppVersionTarget;
454
- agent_run_id?: string;
455
- /** Temporal workflow that produced this version. */
456
- build_workflow_id?: string;
457
- /** Temporal run that produced this version. */
458
- build_workflow_run_id?: string;
459
- sandbox_id?: string;
460
- title?: string;
461
- description?: string;
462
- storage?: AppVersionStorage;
463
- /** Exact Git commit used to build this immutable version. */
464
- source_commit?: string;
465
- urls?: AppVersionUrls;
466
- manifest?: Record<string, unknown>;
467
- files?: string[];
468
- file_count?: number;
469
- source_file_count?: number;
470
- screenshot_artifact?: string;
471
- checks?: string[];
472
- created_by?: string;
473
- created_at: string;
474
- updated_at: string;
475
- built_at?: string;
476
- checked_at?: string;
477
- expires_at?: string;
478
- }
479
- export interface DeleteAppVersionResponse {
480
- id: string;
481
- app_id: string;
482
- version_id: string;
483
- storage_prefix?: string;
484
- deleted: boolean;
485
- warnings: string[];
486
- }
487
- export interface UpsertAppVersionRequest {
488
- /** Existing version record to update in place, used by reproducible rebuilds. */
489
- record_id?: string;
490
- app?: string;
491
- app_id: string;
492
- app_name?: string;
493
- version_id: string;
494
- kind: AppVersionKind;
495
- state?: AppVersionState;
496
- target?: AppVersionTarget;
497
- agent_run_id?: string;
498
- build_workflow_id?: string;
499
- build_workflow_run_id?: string;
500
- sandbox_id?: string;
501
- title?: string;
502
- description?: string;
503
- storage?: AppVersionStorage;
504
- /** Exact Git commit used to build this immutable version. */
505
- source_commit?: string;
506
- urls?: AppVersionUrls;
507
- manifest?: Record<string, unknown>;
508
- files?: string[];
509
- file_count?: number;
510
- source_file_count?: number;
511
- screenshot_artifact?: string;
512
- checks?: string[];
513
- built_at?: string;
514
- checked_at?: string;
515
- expires_at?: string;
516
- }
175
+ export type AppAvailableIn = z.infer<typeof AppAvailableInSchema>;
176
+ export type AppVersionKind = z.infer<typeof AppVersionKindSchema>;
177
+ export type AppVersionState = z.infer<typeof AppVersionStateSchema>;
178
+ export type AppVersionTarget = z.infer<typeof AppVersionTargetSchema>;
179
+ export type AppVersionGitRefType = z.infer<typeof AppVersionGitRefTypeSchema>;
180
+ export type AppBuildTrigger = z.infer<typeof AppBuildTriggerSchema>;
181
+ export type AppVersionStorage = z.infer<typeof AppVersionStorageSchema>;
182
+ export type AppVersionGitSource = z.infer<typeof AppVersionGitSourceSchema>;
183
+ export type AppVersionUrls = z.infer<typeof AppVersionUrlsSchema>;
184
+ export type AppVersionRecord = z.infer<typeof AppVersionRecordSchema>;
185
+ export type DeleteAppVersionResponse = z.infer<typeof DeleteAppVersionResponseSchema>;
186
+ export type UpsertAppVersionRequest = z.infer<typeof UpsertAppVersionRequestSchema>;
517
187
  export interface AppVersionListQuery {
518
188
  app_id?: string;
519
189
  kind?: AppVersionKind;
520
190
  include_expired?: boolean;
521
191
  limit?: number;
522
192
  }
523
- export interface PromoteAppVersionResponse {
524
- version: AppVersionRecord;
525
- app?: AppManifest;
526
- }
527
- export interface StartAppBuildRequest {
528
- /**
529
- * Source branch, tag, or commit to build. When omitted, the app source
530
- * configuration chooses its default branch.
531
- */
532
- source_ref?: string;
533
- source_ref_type?: Extract<AppVersionGitRefType, 'branch' | 'tag' | 'commit'>;
534
- trigger?: AppBuildTrigger;
535
- target?: AppVersionTarget;
536
- title?: string;
537
- description?: string;
538
- }
539
- export interface StartAppBuildResponse {
540
- workflow_id: string;
541
- run_id: string;
542
- app_id: string;
543
- version_id?: string;
544
- rebuild_version_record_id?: string;
545
- source_ref?: string;
546
- source_ref_type?: Extract<AppVersionGitRefType, 'branch' | 'tag' | 'commit'>;
547
- }
193
+ export type PromoteAppVersionResponse = z.infer<typeof PromoteAppVersionResponseSchema>;
194
+ export type StartAppBuildRequest = z.infer<typeof StartAppBuildRequestSchema>;
195
+ export type StartAppBuildResponse = z.infer<typeof StartAppBuildResponseSchema>;
548
196
  export interface AppBuildWorkflowInput extends StartAppBuildRequest {
549
197
  app_id: string;
550
198
  app_record_id?: string;
@@ -564,67 +212,24 @@ export interface AppBuildWorkflowResult {
564
212
  urls?: AppVersionUrls;
565
213
  file_count?: number;
566
214
  }
567
- export type AppBuildProgressStatus = 'queued' | 'resolving' | 'building' | 'completed' | 'failed';
568
- export interface AppBuildProgress {
569
- status: AppBuildProgressStatus;
570
- step: string;
571
- app_id?: string;
572
- version_id?: string;
573
- source_ref?: string;
574
- source_ref_type?: Extract<AppVersionGitRefType, 'branch' | 'tag' | 'commit'>;
575
- source_commit?: string;
576
- file_count?: number;
577
- app_url?: string;
578
- error?: string;
579
- updated_at: string;
580
- }
581
- export type AppScaffoldModule = 'service' | 'assistant' | 'content-app' | 'examples';
582
- export interface StartAppScaffoldRequest {
583
- /**
584
- * App id / package name to create. It is normalized to the same slug rules
585
- * used by @vertesia/create-plugin.
586
- */
587
- app_id: string;
588
- title?: string;
589
- description?: string;
590
- modules?: AppScaffoldModule[];
591
- /**
592
- * Start an initial app version build after the source has been pushed.
593
- * Defaults to true.
594
- */
595
- create_version?: boolean;
596
- }
597
- export interface StartAppScaffoldResponse {
598
- workflow_id: string;
599
- run_id: string;
600
- app_id: string;
601
- app_record_id?: string;
602
- git_url?: string;
603
- create_version: boolean;
604
- }
215
+ export type AppBuildProgressStatus = z.infer<typeof AppBuildProgressStatusSchema>;
216
+ export type AppBuildProgress = z.infer<typeof AppBuildProgressSchema>;
217
+ export type AppScaffoldModule = z.infer<typeof AppScaffoldModuleSchema>;
218
+ export type StartAppScaffoldRequest = z.infer<typeof StartAppScaffoldRequestSchema>;
219
+ export type StartAppScaffoldResponse = z.infer<typeof StartAppScaffoldResponseSchema>;
605
220
  export interface AppScaffoldWorkflowInput extends StartAppScaffoldRequest {
606
221
  }
607
222
  export interface AppScaffoldWorkflowResult {
608
223
  app_id: string;
609
224
  app_record_id?: string;
225
+ installation_id?: string;
610
226
  git_url?: string;
611
227
  source_git?: AppVersionGitSource;
612
228
  files?: number;
613
229
  initial_version_build?: StartAppBuildResponse;
614
230
  }
615
- export type AppScaffoldProgressStatus = 'queued' | 'reserving' | 'scaffolding' | 'pushing' | 'building' | 'completed' | 'failed';
616
- export interface AppScaffoldProgress {
617
- status: AppScaffoldProgressStatus;
618
- step: string;
619
- app_id?: string;
620
- app_record_id?: string;
621
- git_url?: string;
622
- files?: number;
623
- initial_version_build?: StartAppBuildResponse;
624
- error?: string;
625
- error_details?: string[];
626
- updated_at: string;
627
- }
231
+ export type AppScaffoldProgressStatus = z.infer<typeof AppScaffoldProgressStatusSchema>;
232
+ export type AppScaffoldProgress = z.infer<typeof AppScaffoldProgressSchema>;
628
233
  /**
629
234
  * Access control policy for an app installation.
630
235
  * Declares which access surfaces are gated by per-user ACEs.
@@ -637,7 +242,7 @@ export interface AppScaffoldProgress {
637
242
  *
638
243
  * Declared on the manifest as the app's default. May be overridden per-installation.
639
244
  */
640
- export type AppAccessControl = 'all' | 'ui' | 'none';
245
+ export type AppAccessControl = z.infer<typeof AppAccessControlSchema>;
641
246
  /**
642
247
  * Resolve the effective access_control policy for an installed app:
643
248
  * installation override wins, then manifest default, then `'all'`.
@@ -652,141 +257,9 @@ export declare function effectiveAppAccessControl(installation: {
652
257
  } | null | undefined, manifest: {
653
258
  access_control?: AppAccessControl;
654
259
  } | null | undefined): AppAccessControl;
655
- export interface AppManifestData {
656
- /**
657
- * The name of the app, used as the id in the system.
658
- * Must be in kebab case (e.g. my-app).
659
- */
660
- name: string;
661
- /**
662
- * Visibility level of the app:
663
- * - "public": visible to all accounts
664
- * - "private": visible only to the owning account
665
- * - "vertesia": visible only to Vertesia team members (any project)
666
- */
667
- visibility: 'public' | 'private' | 'vertesia';
668
- title: string;
669
- description: string;
670
- publisher: string;
671
- /**
672
- * A svg icon for the app.
673
- */
674
- icon?: string;
675
- /**
676
- * A color name to be used as the color of the app card (e.g. blue, red, green, etc.)
677
- * If not specified a random color will be picked.
678
- */
679
- color?: string;
680
- /**
681
- * Optional preview screenshot for the app-management UI, captured by the builder during a
682
- * build/QA run. Resolved client-side from the owning agent run's artifact storage, so it
683
- * carries both the run id and the artifact path.
684
- */
685
- preview_screenshot?: {
686
- /** Agent run id whose artifact storage holds the screenshot. */
687
- agent_run_id: string;
688
- /** Artifact path within that storage, e.g. "preview-checks/app-preview-<ts>.png". */
689
- artifact: string;
690
- };
691
- status: 'beta' | 'stable' | 'deprecated';
692
- /**
693
- * The UI configuration of the app. If not specified and the app "ui" is in the app capabilities
694
- * then the ui configuration will be fetched from the endpoint property.
695
- */
696
- ui?: AppUIConfig;
697
- /**
698
- * A list of tool collections endpoints to be used by this app.
699
- * Prefer using endpoint over tool_collections.
700
- */
701
- tool_collections?: ToolCollectionObject[];
702
- /**
703
- * Named OAuth providers shared across multiple MCP tool collections.
704
- * Keys must be kebab-case identifiers. Each value is an MCPOAuthConfig blueprint.
705
- * Collections reference a provider via MCPToolCollectionObject.oauth_provider.
706
- * One OAuth provider is created per provider at install time; all referencing
707
- * collections share that app via AppInstallation.provider_bindings.
708
- */
709
- oauth_providers?: Record<string, MCPOAuthConfig>;
710
- /**
711
- * An URL providing interactions definitions in JSON format.
712
- * The URL must provide 2 endpoints:
713
- * 1. GET URL - must return a JSON array with the list of interactions (as AppInteractionRef[])
714
- * 2. GET URL/{interaction_name} - must return the full interaction definition for the specified interaction.
715
- * This feature is for advanced composition of interactions. Prefer using endpoint.
716
- */
717
- interactions?: string;
718
- /**
719
- * A JSON chema for the app installation settings.
720
- * @deprecated Use endpoint to provide settings_schema instead
721
- */
722
- settings_schema?: JSONSchema;
723
- /** The following API is part of the second version of the manifest and deprectaes similar properties included directly in the manifest */
724
- /**
725
- * Describe the capabiltities of this app - which kind of contributions it provides.
726
- */
727
- capabilities?: AppCapabilities[];
728
- /**
729
- * The app endpoint URL
730
- * This URL should return a JSON object describing the contributions provided by the app.
731
- * The object shape must satisfies AppPackage interface.
732
- * The endpoint must support GET method and a `scope` parameter to filter which resources are included in the returned AppPackage:
733
- * The supported scope values are:
734
- * - ui
735
- * - tools
736
- * - interactions
737
- * - types
738
- * - processes
739
- * - templates
740
- * - dashboards
741
- * - settings
742
- * - all (the default if no scope is provided)
743
- * You can also use comma-separated values to combine scopes (e.g. "ui,tools").
744
- *
745
- * Example:
746
- * - ?scope=ui,tools - returns only the UI configuration
747
- */
748
- endpoint?: string;
749
- /**
750
- * Optional endpoint overrides keyed by environment name.
751
- * When resolving the app endpoint, if the current environment name matches a key,
752
- * the corresponding URL is used instead of the main `endpoint`.
753
- * Only dev environment names are allowed as keys (starting with "desktop-" or "dev-").
754
- */
755
- endpoint_overrides?: Record<string, string>;
756
- /**
757
- * Optional app version string (e.g. "1.0.0") — informational.
758
- */
759
- version?: string;
760
- /**
761
- * Source repository configuration for apps generated and maintained through
762
- * AppGen. Branches are mutable development lanes; immutable app versions
763
- * record their exact source commit in AppVersionRecord.source_commit and
764
- * AppVersionRecord.storage.source_git.
765
- */
766
- source?: AppSourceConfig;
767
- /**
768
- * Free-form tags used for classification and filtering. Platform apps
769
- * carry `"system"` so UIs can skip install/uninstall/manage-permission
770
- * controls that don't apply to synthetic installations.
771
- */
772
- tags?: string[];
773
- /**
774
- * Access control policy for the app. Defaults to 'all' (ACE-gated everywhere)
775
- * when undefined. See {@link AppAccessControl} for semantics. May be overridden
776
- * on the AppInstallation.
777
- */
778
- access_control?: AppAccessControl;
779
- }
780
- export interface AppGitSourceConfig {
781
- url?: string;
782
- default_branch?: string;
783
- production_branch?: string;
784
- development_branch?: string;
785
- }
786
- export interface AppSourceConfig {
787
- kind: 'git';
788
- git?: AppGitSourceConfig;
789
- }
260
+ export type AppManifestData = z.infer<typeof AppManifestDataSchema>;
261
+ export type AppGitSourceConfig = z.infer<typeof AppGitSourceConfigSchema>;
262
+ export type AppSourceConfig = z.infer<typeof AppSourceConfigSchema>;
790
263
  /**
791
264
  * Deployment-time URL endpoints that can be referenced in app manifest URLs
792
265
  * via `{{key}}` placeholders. The caller (typically studio-server) supplies
@@ -808,166 +281,53 @@ export interface Endpoints {
808
281
  gateway?: string;
809
282
  }
810
283
  /** One entry in an app git-repo directory listing (see {@link AppRepoTree}). */
811
- export interface AppRepoTreeEntry {
812
- /** File or directory name (last path segment). */
813
- name: string;
814
- /** Path relative to the repo root. */
815
- path: string;
816
- /** Whether the entry is a file (`blob`) or a directory (`tree`). */
817
- type: 'blob' | 'tree';
818
- }
284
+ export type AppRepoTreeEntry = z.infer<typeof AppRepoTreeEntrySchema>;
819
285
  /** A non-recursive listing of an app git repo directory at a given ref. */
820
- export interface AppRepoTree {
821
- /** The ref the listing was read at (empty/undefined = default branch / HEAD). */
822
- ref?: string;
823
- /** The directory prefix that was listed (empty = repo root). */
824
- prefix?: string;
825
- entries: AppRepoTreeEntry[];
826
- }
286
+ export type AppRepoTree = z.infer<typeof AppRepoTreeSchema>;
827
287
  /** Browser-side limits mirrored by the app Git service document endpoint. */
828
288
  export declare const APP_REPO_DOCUMENT_UPLOAD_MAX_FILE_BYTES: number;
829
289
  export declare const APP_REPO_DOCUMENT_UPLOAD_MAX_TOTAL_BYTES: number;
830
290
  export declare const APP_REPO_DOCUMENT_UPLOAD_MAX_FILES = 20;
831
291
  export declare const APP_REPO_DOCUMENT_UPLOAD_PREFIX = "docs/";
832
292
  /** Result of committing one or more uploaded documents to an app repository. */
833
- export interface AppRepoDocumentCommit {
834
- /** Updated branch name. */
835
- ref: string;
836
- /** Branch HEAD before the commit. */
837
- previous_commit: string;
838
- /** Newly created commit SHA. */
839
- commit: string;
840
- /** Repository paths changed by the commit. */
841
- paths: string[];
842
- }
293
+ export type AppRepoDocumentCommit = z.infer<typeof AppRepoDocumentCommitSchema>;
843
294
  /** One commit that inserted or changed a file in an app git repository. */
844
- export interface AppRepoCommit {
845
- /** Full commit SHA. */
846
- commit: string;
847
- /** Complete commit message. */
848
- message: string;
849
- /** Commit author name, when available. */
850
- author?: string;
851
- /** Commit author date as an ISO-8601 string, when available. */
852
- date?: string;
853
- }
295
+ export type AppRepoCommit = z.infer<typeof AppRepoCommitSchema>;
854
296
  /** Commit history in an app git repository, optionally filtered to a file. */
855
- export interface AppRepoCommits {
856
- /** Ref from which history traversal started (empty/undefined = default branch / HEAD). */
857
- ref?: string;
858
- /** File path relative to the repository root, when history was filtered to a file. */
859
- path?: string;
860
- /** Commits ordered newest first. */
861
- commits: AppRepoCommit[];
862
- /** Pass this cursor to retrieve the next page. Absent when history is exhausted. */
863
- next_cursor?: string;
864
- }
297
+ export type AppRepoCommits = z.infer<typeof AppRepoCommitsSchema>;
865
298
  /** A branch or tag in an app git repo, resolved to its latest commit. */
866
- export interface AppRepoRef {
867
- /** Short ref name (e.g. `main`, `v1.0.0`). */
868
- name: string;
869
- /** Commit hash the ref points at (annotated tags are peeled to their commit). */
870
- commit: string;
871
- /** First line of the commit message, when available. */
872
- commit_subject?: string;
873
- /** Commit date as an ISO-8601 string, when available. */
874
- commit_date?: string;
875
- /** Commit author name, when available. */
876
- commit_author?: string;
877
- }
299
+ export type AppRepoRef = z.infer<typeof AppRepoRefSchema>;
878
300
  /** The branches and tags of an app git repo (see {@link AppRepoRef}). */
879
- export interface AppRepoRefs {
880
- /** The repository's default branch (HEAD target), when resolvable. */
881
- default_branch?: string;
882
- branches: AppRepoRef[];
883
- tags: AppRepoRef[];
301
+ export type AppRepoRefs = z.infer<typeof AppRepoRefsSchema>;
302
+ /** A mutable app development task represented by an `agent/*` Git branch. */
303
+ export type AppDevelopmentTask = z.infer<typeof AppDevelopmentTaskSchema>;
304
+ /** Git-backed development tasks and the branch used for new tasks by default. */
305
+ export type AppDevelopmentTaskList = z.infer<typeof AppDevelopmentTaskListSchema>;
306
+ /** Development task details, including the latest parent assistant run when one exists. */
307
+ export type AppDevelopmentTaskDetails = z.infer<typeof AppDevelopmentTaskDetailsSchema>;
308
+ /** Request to create a branch from an existing branch, tag, or commit. */
309
+ export interface CreateAppRepoBranchRequest {
310
+ name: string;
311
+ source_ref: string;
884
312
  }
313
+ /** A newly created app repository branch. */
314
+ export type AppRepoBranch = z.infer<typeof AppRepoBranchSchema>;
885
315
  /**
886
316
  * Canonical package scopes, including the catch-all `all`. The public type is derived
887
317
  * from this list so request parsing and TypeScript cannot drift.
888
318
  */
889
319
  export declare const APP_PACKAGE_SCOPES: readonly ["ui", "tools", "interactions", "types", "processes", "views", "templates", "dashboards", "settings", "widgets", "activities", "all"];
890
320
  export type AppPackageScope = (typeof APP_PACKAGE_SCOPES)[number];
891
- export interface AppPackage {
892
- /**
893
- * The UI configuration of the app
894
- */
895
- ui?: AppUIConfig;
896
- /**
897
- * A list of tools exposed by the app.
898
- */
899
- tools?: AgentToolDefinition[];
900
- /**
901
- * A list of skills (`learn_*` tools) exposed by the app. Kept separate from
902
- * `tools` so clients can render them distinctly — consumers that don't care
903
- * (e.g. the worker building a combined tool registry) should concatenate
904
- * the two lists.
905
- */
906
- skills?: AgentToolDefinition[];
907
- /**
908
- * A list of interactions exposed by the app
909
- */
910
- interactions?: CatalogInteractionRef[];
911
- /**
912
- * A list of types.
913
- */
914
- types?: InCodeTypeDefinition[];
915
- /**
916
- * A list of process definitions exposed by the app.
917
- */
918
- processes?: InCodeProcessDefinition[];
919
- /**
920
- * View Experiences exposed by the app as in-code definitions.
921
- */
922
- views?: InCodeViewDefinition[];
923
- /**
924
- * Templates provided by the app.
925
- */
926
- templates?: RenderingTemplateDefinitionRef[];
927
- /**
928
- * Dashboards provided by the app.
929
- */
930
- dashboards?: AppDashboardDefinition[];
931
- /**
932
- * Widgets provided by the app.
933
- */
934
- widgets?: Record<string, AppWidgetInfo>;
935
- /**
936
- * Remote activities exposed by the app for use in DSL workflows.
937
- * Activities are discovered via `?scope=activities` and referenced in workflow steps
938
- * using colon-separated names: `app:<app_name>:<collection>:<activity_name>`.
939
- */
940
- activities?: RemoteActivityDefinition[];
941
- /**
942
- * A JSON chema for the app installation settings.
943
- */
944
- settings_schema?: JSONSchema;
945
- }
321
+ export type AppPackage = z.infer<typeof AppPackageSchema>;
946
322
  /**
947
323
  * A single diagnostic produced while inspecting an app's registration state.
948
324
  */
949
- export interface AppInspectionIssue {
950
- severity: 'error' | 'warning';
951
- /** The capability this issue relates to, when applicable (e.g. 'types'). */
952
- capability?: AppPackageScope;
953
- /** Stable machine code, e.g. 'capability_declared_but_empty', 'endpoint_unreachable', 'not_installed'. */
954
- code: string;
955
- /** Human-readable explanation, safe to surface to the model and the UI. */
956
- message: string;
957
- }
325
+ export type AppInspectionIssue = z.infer<typeof AppInspectionIssueSchema>;
958
326
  /**
959
327
  * Per-capability report of what an app's promoted package actually exposes,
960
328
  * compared against what its manifest declares.
961
329
  */
962
- export interface AppInspectionCapabilityReport {
963
- capability: AppPackageScope;
964
- /** True when the manifest's `capabilities` array declares this capability. */
965
- declared: boolean;
966
- /** The local ids the promoted package actually serves for this capability. */
967
- exposed_ids: string[];
968
- /** Convenience count of `exposed_ids`. */
969
- exposed_count: number;
970
- }
330
+ export type AppInspectionCapabilityReport = z.infer<typeof AppInspectionCapabilityReportSchema>;
971
331
  /**
972
332
  * Result of inspecting an app's registration: the resolved manifest state, what
973
333
  * the promoted package actually exposes per capability, and diagnostics. This
@@ -975,326 +335,84 @@ export interface AppInspectionCapabilityReport {
975
335
  * Build › App inspection UI to verify what is registered vs declared, instead of
976
336
  * inferring it from failed object/import calls.
977
337
  */
978
- export interface AppInspectionResult {
979
- app_id: string;
980
- name: string;
981
- version?: string;
982
- /** The resolved package endpoint for the current environment, if any. */
983
- endpoint?: string;
984
- /** True when the package endpoint responded to the capability probe. */
985
- endpoint_reachable: boolean;
986
- /** True when the app is installed in the current project. */
987
- installed: boolean;
988
- access_control?: string;
989
- /** The capabilities declared on the manifest. */
990
- capabilities: AppPackageScope[];
991
- /** What the promoted package exposes, per capability. */
992
- package: AppInspectionCapabilityReport[];
993
- /** Diagnostics — errors and warnings about the registration state. */
994
- issues: AppInspectionIssue[];
995
- /** Populated when the package probe itself failed (endpoint error/unreachable). */
996
- probe_error?: string;
997
- }
998
- export interface AppWidgetInfo {
999
- collection: string;
1000
- skill: string;
1001
- url: string;
1002
- }
1003
- export interface RenderingTemplateDefinition {
1004
- /** Unique template id: "collection:name" */
1005
- id: string;
1006
- /** Unique template name (kebab-case) */
1007
- name: string;
1008
- /** Display title */
1009
- title?: string;
1010
- /** Short description */
1011
- description: string;
1012
- /** Template type */
1013
- type: 'presentation' | 'document';
1014
- /** Tags for categorization */
1015
- tags?: string[];
1016
- /** Absolute paths to asset files */
1017
- assets: string[];
1018
- /** The template instructions (markdown) */
1019
- instructions: string;
1020
- }
1021
- export type RenderingTemplateDefinitionRef = Omit<RenderingTemplateDefinition, 'instructions'> & {
1022
- /** Absolute API path to fetch the full template definition */
1023
- path: string;
1024
- };
1025
- export interface AppManifest extends AppManifestData {
1026
- id: string;
1027
- /** The owning account. Undefined for apps imported from a master region. */
1028
- account?: string;
1029
- /** Source metadata for generated or synced app manifests. */
1030
- source?: AppManifestSource;
1031
- created_at: string;
1032
- updated_at: string;
1033
- }
1034
- export interface AppManifestSource {
1035
- kind: 'git';
1036
- git: {
1037
- url: string;
1038
- default_branch?: string;
1039
- production_branch?: string;
1040
- development_branch?: string;
1041
- };
1042
- }
338
+ export type AppInspectionResult = z.infer<typeof AppInspectionResultSchema>;
339
+ export type AppWidgetInfo = z.infer<typeof AppWidgetInfoSchema>;
340
+ export type RenderingTemplateDefinition = z.infer<typeof RenderingTemplateDefinitionSchema>;
341
+ export type RenderingTemplateDefinitionRef = z.infer<typeof RenderingTemplateDefinitionRefSchema>;
342
+ export type AppManifest = z.infer<typeof AppManifestSchema>;
343
+ export type AppManifestSource = z.infer<typeof AppManifestSourceSchema>;
1043
344
  /**
1044
345
  * Binding between an MCP collection and an OAuth provider created at install time.
1045
346
  * Stored on AppInstallation so the runtime can look up the correct OAuth provider by ID,
1046
347
  * independent of manifest oauth_provider references (which may change).
1047
348
  */
1048
- export interface AppInstallationOAuthBinding {
1049
- /**
1050
- * Stable collection identifier: MCPToolCollectionObject.id for new manifests.
1051
- * Legacy installations may still contain a name-based fallback value.
1052
- */
1053
- collection_id: string;
1054
- /**
1055
- * MongoDB ObjectId of the OAuth provider in this project.
1056
- * Used for ID-based lookups (rename-proof).
1057
- */
1058
- oauth_provider_id: string;
1059
- /**
1060
- * Name of the OAuth provider at creation time.
1061
- * Used by the workflow token path (getMCPClient → remoteMcpConnections.getToken) which looks up by name.
1062
- */
1063
- oauth_provider_name: string;
1064
- }
349
+ export type AppInstallationOAuthBinding = z.infer<typeof AppInstallationOAuthBindingSchema>;
1065
350
  /**
1066
351
  * Binding between a named OAuth provider and the OAuth provider created for it at install time.
1067
352
  * Stored on AppInstallation so the runtime can resolve the correct OAuth provider for collections
1068
353
  * that reference a shared provider via MCPToolCollectionObject.oauth_provider.
1069
354
  */
1070
- export interface AppInstallationProviderBinding {
1071
- /** Key from AppManifestData.oauth_providers */
1072
- provider_key: string;
1073
- /** MongoDB ObjectId of the created OAuth provider */
1074
- oauth_provider_id: string;
1075
- /** Name of the OAuth provider at creation time (for audit/display only) */
1076
- oauth_provider_name: string;
1077
- }
1078
- export interface AppInstallation {
1079
- id: string;
1080
- project: string;
1081
- manifest: string;
1082
- settings?: Record<string, unknown>;
1083
- /**
1084
- * Admin-managed allowlist of tool names permitted for this installation.
1085
- * When undefined, all tools from the app are permitted.
1086
- * When set, only listed tool names are available for agent configuration and execution.
1087
- */
1088
- tool_allowlist?: string[];
1089
- /**
1090
- * OAuth bindings created at install time via oauth_config provisioning.
1091
- * Maps collection identity (id or name) → OAuth provider ObjectId.
1092
- * Used by the runtime to resolve the correct OAuth provider without relying on manifest names.
1093
- */
1094
- oauth_bindings?: AppInstallationOAuthBinding[];
1095
- /**
1096
- * OAuth bindings created at install time via oauth_providers provisioning.
1097
- * Maps provider key → OAuth provider ObjectId.
1098
- * Multiple collections sharing the same provider all resolve to the same OAuth provider.
1099
- */
1100
- provider_bindings?: AppInstallationProviderBinding[];
1101
- /**
1102
- * Per-installation override of the manifest's access_control policy.
1103
- * When set, takes precedence over the manifest value. When undefined, the
1104
- * manifest value (or 'all' default) applies.
1105
- */
1106
- access_control?: AppAccessControl;
1107
- created_at: string;
1108
- updated_at: string;
1109
- }
1110
- export interface AppInstallationWithManifest extends Omit<AppInstallation, 'manifest'> {
1111
- manifest: AppManifest;
1112
- /**
1113
- * Computed by the server: ids of MCP tool collections for this installation that require OAuth.
1114
- * Accounts for all three signals: manifest auth:'oauth', manifest oauth_app, and oauth_bindings.
1115
- * Populated by the GET /installations/all endpoint.
1116
- */
1117
- oauth_collection_ids?: string[];
1118
- }
1119
- export interface AppInstallationListEntry extends Omit<AppInstallation, 'manifest'> {
1120
- manifest: AppManifest | null;
1121
- oauth_collection_ids?: string[];
1122
- }
355
+ export type AppInstallationProviderBinding = z.infer<typeof AppInstallationProviderBindingSchema>;
356
+ export type AppInstallation = z.infer<typeof AppInstallationSchema>;
357
+ export type AppInstallationWithManifest = z.infer<typeof AppInstallationWithManifestSchema>;
358
+ export type AppInstallationListEntry = z.infer<typeof AppInstallationListEntrySchema>;
1123
359
  export interface OrphanedAppInstallation extends Omit<AppInstallation, 'manifest'> {
1124
360
  manifest: null;
1125
361
  }
1126
- export interface OAuthClientCredentials {
1127
- client_id?: string;
1128
- client_secret?: string;
1129
- scopes?: string[];
1130
- }
1131
- export type AppOAuthCollectionParams = Record<string, OAuthClientCredentials>;
1132
- export type AppOAuthProviderParams = Record<string, OAuthClientCredentials>;
1133
- export interface AppInstallationPayload {
1134
- app_id: string;
1135
- settings?: Record<string, unknown>;
1136
- /**
1137
- * Per-installation override of the manifest's `access_control` policy. When provided, takes precedence
1138
- * over the manifest default for every access check. Sibling of `settings` — admin-controlled, not
1139
- * part of the app's own settings JSON.
1140
- *
1141
- * Three send-time semantics on update:
1142
- * - Field omitted entirely from the payload → leave the existing override unchanged.
1143
- * - Explicit `null` → clear the override, fall back to the manifest default.
1144
- * - String enum → set the override to that value.
1145
- *
1146
- * (On install, the same shape applies; omit or pass `null` to use the manifest default.)
1147
- */
1148
- access_control?: AppAccessControl | null;
1149
- /**
1150
- * OAuth credentials for each collection, keyed by collection.id.
1151
- * Legacy callers may still use collection.name for older manifests.
1152
- * Collected from the user at install time for collections with oauth_config.required_at_install.
1153
- */
1154
- oauth_params?: AppOAuthCollectionParams;
1155
- /**
1156
- * OAuth credentials for named providers, keyed by the provider key from oauth_providers.
1157
- * Collected from the user at install time for providers with required_at_install.
1158
- * Separate from oauth_params to avoid key collisions between provider keys and collection ids.
1159
- */
1160
- oauth_provider_params?: AppOAuthProviderParams;
1161
- }
1162
- export interface UpdateAppInstallationToolAllowlistPayload {
1163
- tool_allowlist: string[] | null;
1164
- }
1165
- export type AppInstallationKind = 'ui' | 'tools' | 'all';
362
+ export type OAuthClientCredentials = z.infer<typeof OAuthClientCredentialsSchema>;
363
+ export type AppOAuthCollectionParams = z.infer<typeof AppOAuthCollectionParamsSchema>;
364
+ export type AppOAuthProviderParams = z.infer<typeof AppOAuthProviderParamsSchema>;
365
+ export type AppInstallationPayload = z.infer<typeof AppInstallationPayloadSchema>;
366
+ export type UpdateAppInstallationToolAllowlistPayload = z.infer<typeof UpdateAppInstallationToolAllowlistPayloadSchema>;
367
+ export type AppInstallationKind = z.infer<typeof AppInstallationKindSchema>;
1166
368
  /**
1167
369
  * A description of the tools provided by an app
1168
370
  */
1169
- export interface AppToolCollection {
1170
- /**
1171
- * The collection name
1172
- */
1173
- name: string;
1174
- /**
1175
- * Optional collection description
1176
- */
1177
- description?: string;
1178
- /**
1179
- * the tools provided by this collection
1180
- */
1181
- tools: AgentToolDefinition[];
1182
- }
371
+ export type AppToolCollection = z.infer<typeof AppToolCollectionSchema>;
1183
372
  /**
1184
- * Information about a tool and its associated app installation.
1185
- * Used to look up which app provides a specific tool.
373
+ * A tool and the app installation that provides it, inferred from `./api-schemas/project.js` — the
374
+ * module that owns it, because it converted with the Projects batch rather than with Apps.
1186
375
  */
1187
- export interface ProjectToolInfo {
1188
- /**
1189
- * The tool name
1190
- */
1191
- tool_name: string;
1192
- /**
1193
- * Optional tool description
1194
- */
1195
- tool_description?: string;
1196
- /**
1197
- * The app name that provides this tool
1198
- */
1199
- app_name: string;
1200
- /**
1201
- * The app installation ID
1202
- */
1203
- app_install_id: string;
1204
- /**
1205
- * The app installation settings.
1206
- * Only included for agent tokens, not user tokens (security: may contain API keys).
1207
- */
1208
- settings?: Record<string, unknown>;
1209
- }
376
+ export type ProjectToolInfo = z.infer<typeof ProjectToolInfoSchema>;
1210
377
  /**
1211
378
  * OAuth authentication status for an MCP tool collection
1212
379
  */
1213
- export interface OAuthAuthStatus {
1214
- collection_id: string;
1215
- collection_name: string;
1216
- authenticated: boolean;
1217
- mcp_server_url: string;
1218
- expires_at?: string;
1219
- scope?: string;
1220
- }
380
+ export type OAuthAuthStatus = z.infer<typeof OAuthAuthStatusSchema>;
1221
381
  /**
1222
382
  * Response from OAuth authorization endpoint
1223
383
  */
1224
- export interface OAuthAuthorizeResponse {
1225
- authorization_url?: string;
1226
- state?: string;
1227
- connected?: boolean;
1228
- }
384
+ export type OAuthAuthorizeResponse = z.infer<typeof OAuthAuthorizeResponseSchema>;
1229
385
  export interface McpOAuthCollectionRef {
1230
386
  app_install_id: string;
1231
387
  collection_id: string;
1232
388
  }
1233
- export interface McpOAuthTokenRequest {
1234
- app_install_id?: string;
1235
- collection_id?: string;
1236
- mcp_server_url?: string;
1237
- }
1238
- export interface McpOAuthTokenResponse {
1239
- access_token: string;
1240
- }
1241
- export interface McpOAuthConnectResponse {
1242
- success: boolean;
1243
- }
1244
- export interface McpOAuthDisconnectResponse {
1245
- success: boolean;
1246
- message: string;
1247
- }
389
+ export type McpOAuthTokenRequest = z.infer<typeof McpOAuthTokenRequestSchema>;
390
+ export type McpOAuthTokenResponse = z.infer<typeof McpOAuthTokenResponseSchema>;
391
+ export type McpOAuthConnectResponse = z.infer<typeof McpOAuthConnectResponseSchema>;
392
+ export type McpOAuthDisconnectResponse = z.infer<typeof McpOAuthDisconnectResponseSchema>;
1248
393
  /**
1249
394
  * Response from OAuth metadata endpoint
1250
395
  */
1251
- export interface OAuthMetadataResponse {
1252
- collection_id: string;
1253
- collection_name: string;
1254
- mcp_server_url: string;
1255
- metadata: JSONObject;
1256
- }
396
+ export type OAuthMetadataResponse = z.infer<typeof OAuthMetadataResponseSchema>;
1257
397
  /**
1258
398
  * Configuration entry for an individual app in the CompositeApp shell.
1259
399
  * References an app installation by name.
1260
400
  */
1261
- export interface CompositeAppEntry {
1262
- /** App installation name (must match an installed app) */
1263
- appName: string;
1264
- }
401
+ export type CompositeAppEntry = z.infer<typeof CompositeAppEntrySchema>;
1265
402
  /**
1266
403
  * Logo overrides for the CompositeApp shell header.
1267
404
  * When provided, these URLs replace the default Vertesia logo.
1268
405
  */
1269
- export interface CompositeAppLogoOverrides {
1270
- /** URL for light mode logo (overrides default Vertesia logo) */
1271
- lightModeUrl?: string;
1272
- /** URL for dark mode logo (overrides default Vertesia logo) */
1273
- darkModeUrl?: string;
1274
- /** Whether to hide the Vertesia footer logo in the sidebar when header logo is overridden (defaults to false) */
1275
- hideFooterLogo?: boolean;
1276
- }
406
+ export type CompositeAppLogoOverrides = z.infer<typeof CompositeAppLogoOverridesSchema>;
1277
407
  /**
1278
408
  * Message banner overrides for the shell header.
1279
409
  */
1280
- export type CompositeAppMessageStyle = 'foreground' | 'info' | 'success' | 'attention' | 'destructive';
1281
- export interface CompositeAppMessageOverrides {
1282
- /** Message text to display */
1283
- text?: string;
1284
- /** Whether the message is visible (defaults to true) */
1285
- visible?: boolean;
1286
- /** Text color style. Uses semantic colors */
1287
- style?: CompositeAppMessageStyle;
1288
- }
410
+ export type CompositeAppMessageStyle = z.infer<typeof CompositeAppMessageStyleSchema>;
411
+ export type CompositeAppMessageOverrides = z.infer<typeof CompositeAppMessageOverridesSchema>;
1289
412
  /**
1290
413
  * Switcher visibility overrides for the CompositeApp header.
1291
414
  */
1292
- export interface CompositeAppSwitchersOverrides {
1293
- /** Whether to hide the organization switcher (defaults to false) */
1294
- hideOrganization?: boolean;
1295
- /** Whether to hide the project switcher (defaults to false) */
1296
- hideProject?: boolean;
1297
- }
415
+ export type CompositeAppSwitchersOverrides = z.infer<typeof CompositeAppSwitchersOverridesSchema>;
1298
416
  /**
1299
417
  * Header button visibility overrides for the CompositeApp header.
1300
418
  *
@@ -1302,14 +420,7 @@ export interface CompositeAppSwitchersOverrides {
1302
420
  * Retained for backward compatibility and to seed the default header menu when no
1303
421
  * `headerMenu` has been configured yet.
1304
422
  */
1305
- export interface CompositeAppHeaderOverrides {
1306
- /** Whether to hide the App Portal button (defaults to false) */
1307
- hideAppPortal?: boolean;
1308
- /** Whether to hide the Docs button (defaults to false) */
1309
- hideDocs?: boolean;
1310
- /** Whether to hide the Help button (defaults to false) */
1311
- hideHelp?: boolean;
1312
- }
423
+ export type CompositeAppHeaderOverrides = z.infer<typeof CompositeAppHeaderOverridesSchema>;
1313
424
  /**
1314
425
  * User menu overrides for the CompositeApp.
1315
426
  *
@@ -1317,48 +428,22 @@ export interface CompositeAppHeaderOverrides {
1317
428
  * Retained for backward compatibility and to seed the default header menu when no
1318
429
  * `headerMenu` has been configured yet.
1319
430
  */
1320
- export interface CompositeAppUserMenuOverrides {
1321
- /** Whether to hide the User Menu (defaults to false) */
1322
- hidden?: boolean;
1323
- }
431
+ export type CompositeAppUserMenuOverrides = z.infer<typeof CompositeAppUserMenuOverridesSchema>;
1324
432
  /**
1325
433
  * Theme overrides for the CompositeApp.
1326
434
  */
1327
- export interface CompositeAppThemeOverrides {
1328
- /** When true, forces light mode and disables dark mode (defaults to false) */
1329
- disableDarkMode?: boolean;
1330
- }
435
+ export type CompositeAppThemeOverrides = z.infer<typeof CompositeAppThemeOverridesSchema>;
1331
436
  /**
1332
437
  * Sidebar display overrides for the CompositeApp.
1333
438
  */
1334
- export interface CompositeAppSidebarOverrides {
1335
- /** Whether to hide section title headers in the sidebar (defaults to false) */
1336
- hideSectionHeaders?: boolean;
1337
- /** Whether menu items auto-collapse when navigating (accordion behavior). When false, all items stay expanded. Defaults to true. */
1338
- autoCollapse?: boolean;
1339
- /** Whether settings section items auto-collapse when navigating. Independent of autoCollapse which handles all other items. Defaults to true. */
1340
- autoCollapseSettings?: boolean;
1341
- /** Whether footer section items auto-collapse when navigating. Independent of autoCollapse which handles all other items. Defaults to true. */
1342
- autoCollapseFooter?: boolean;
1343
- }
439
+ export type CompositeAppSidebarOverrides = z.infer<typeof CompositeAppSidebarOverridesSchema>;
1344
440
  /**
1345
441
  * Card display overrides for the CompositeApp in the App Portal.
1346
442
  * Similar to AppManifest display properties, but specific to the CompositeApp card.
1347
443
  * Allows customers to customize the app portal card (not otherwise possible if using a
1348
444
  * shared, Vertesia-managed manifest across accounts).
1349
445
  */
1350
- export interface CompositeAppCardOverrides {
1351
- /** Whether to show the CompositeApp card in App Portal (default: false) */
1352
- visible?: boolean;
1353
- /** Override the card label (default: "Composite App") */
1354
- label?: string;
1355
- /** Override the card description */
1356
- description?: string;
1357
- /** Override the card icon (Lucide icon name or SVG content string) */
1358
- icon?: string;
1359
- /** Override the card color (e.g., "blue", "red", "purple") */
1360
- color?: string;
1361
- }
446
+ export type CompositeAppCardOverrides = z.infer<typeof CompositeAppCardOverridesSchema>;
1362
447
  /**
1363
448
  * Access control settings for a composite app nav item.
1364
449
  *
@@ -1366,14 +451,7 @@ export interface CompositeAppCardOverrides {
1366
451
  * access is granted when the user matches ANY list (OR logic).
1367
452
  * All empty/absent means visible to everyone. Admin users bypass all checks.
1368
453
  */
1369
- export interface CompositeAppNavItemPermissions {
1370
- /** Group IDs whose members can see this item. */
1371
- groupsAllowed?: string[];
1372
- /** User IDs who can see this item. */
1373
- usersAllowed?: string[];
1374
- /** SystemRoles values (e.g. "developer", "manager") whose holders can see this item. */
1375
- rolesAllowed?: string[];
1376
- }
454
+ export type CompositeAppNavItemPermissions = z.infer<typeof CompositeAppNavItemPermissionsSchema>;
1377
455
  /**
1378
456
  * A navigable item in the sidebar menu.
1379
457
  * An "app" is just a nav-item with `appName` + `route: "/"` that has children.
@@ -1409,31 +487,17 @@ export interface CompositeAppMenuNavItem {
1409
487
  * A top-level section heading in the sidebar menu.
1410
488
  * Sections are always at root level and contain nav-items.
1411
489
  */
1412
- export interface CompositeAppMenuSection {
1413
- /** Stable unique identifier */
1414
- id: string;
1415
- /** Section heading label */
1416
- label: string;
1417
- /** When true, this section and its items are hidden from the sidebar */
1418
- hidden?: boolean;
1419
- /** Ordered nav-items within this section */
1420
- items: CompositeAppMenuNavItem[];
1421
- }
1422
- export interface CompositeAppHomePlugin {
1423
- /** The app name to use as the home page */
1424
- appName: string;
1425
- /** Optional route within the app (e.g. "/dashboard"). Defaults to "/" */
1426
- appRoute?: string;
1427
- }
490
+ export type CompositeAppMenuSection = z.infer<typeof CompositeAppMenuSectionSchema>;
491
+ export type CompositeAppHomePlugin = z.infer<typeof CompositeAppHomePluginSchema>;
1428
492
  /**
1429
493
  * Discriminator for a header item.
1430
494
  * The four built-ins (`app_portal`, `docs`, `help`, `user_menu`) seed the default
1431
495
  * header and cannot be deleted (only hidden/customized); `custom` items are fully
1432
496
  * user-defined buttons.
1433
497
  */
1434
- export type CompositeAppHeaderItemKind = 'app_portal' | 'docs' | 'help' | 'user_menu' | 'custom';
498
+ export type CompositeAppHeaderItemKind = z.infer<typeof CompositeAppHeaderItemKindSchema>;
1435
499
  /** Where a header link opens. */
1436
- export type CompositeAppHeaderItemTarget = '_self' | '_blank';
500
+ export type CompositeAppHeaderItemTarget = z.infer<typeof CompositeAppHeaderItemTargetSchema>;
1437
501
  /** Stable identifiers for the built-in header items. */
1438
502
  export declare const COMPOSITE_APP_HEADER_BUILTIN_IDS: readonly ["app_portal", "docs", "help", "user_menu"];
1439
503
  /**
@@ -1444,84 +508,16 @@ export declare const COMPOSITE_APP_HEADER_BUILTIN_IDS: readonly ["app_portal", "
1444
508
  * The `user_menu` item is special — it renders the account dropdown, so its `icon`,
1445
509
  * `href`, and `target` are ignored.
1446
510
  */
1447
- export interface CompositeAppHeaderItem {
1448
- /** Stable unique identifier. Built-ins use their kind as id (e.g. "app_portal"). */
1449
- id: string;
1450
- /** Item kind. `custom` for user-added buttons; otherwise one of the four built-ins. */
1451
- kind: CompositeAppHeaderItemKind;
1452
- /** Display label, used as the button tooltip / accessible name. */
1453
- label: string;
1454
- /** Lucide icon name or SVG content string. Ignored for `user_menu`. */
1455
- icon?: string;
1456
- /** Destination route ("/...") or external URL. Ignored for `user_menu`. */
1457
- href?: string;
1458
- /** Where to open the link (defaults to "_self"). Ignored for `user_menu`. */
1459
- target?: CompositeAppHeaderItemTarget;
1460
- /** When true, this item is hidden from the header. */
1461
- hidden?: boolean;
1462
- /** Optional access control settings for this header item. */
1463
- permissions?: CompositeAppNavItemPermissions;
1464
- }
511
+ export type CompositeAppHeaderItem = z.infer<typeof CompositeAppHeaderItemSchema>;
1465
512
  /**
1466
513
  * CompositeApp shell configuration.
1467
514
  * This is the main configuration interface for storing CompositeApp settings.
1468
515
  * Used as the MongoDB model for persisting CompositeApp configurations.
1469
516
  */
1470
- export interface CompositeAppConfig {
1471
- /**
1472
- * The unique identifier for this CompositeApp configuration
1473
- * Undefined if the configuration doesn't exists yet.
1474
- */
1475
- id?: string;
1476
- /** The project this CompositeApp belongs to */
1477
- project: string;
1478
- /** Card display overrides (includes visibility) */
1479
- card?: CompositeAppCardOverrides;
1480
- /** Optional logo overrides (replaces default Vertesia logo) */
1481
- logo?: CompositeAppLogoOverrides;
1482
- /** Optional message banner overrides */
1483
- message?: CompositeAppMessageOverrides;
1484
- /** Optional switcher visibility overrides */
1485
- switchers?: CompositeAppSwitchersOverrides;
1486
- /** Optional sidebar display overrides */
1487
- sidebar?: CompositeAppSidebarOverrides;
1488
- /**
1489
- * @deprecated Use `headerMenu` instead. Optional header button visibility overrides.
1490
- * Still read to seed `headerMenu` defaults for configs saved before the header menu existed.
1491
- */
1492
- header?: CompositeAppHeaderOverrides;
1493
- /**
1494
- * @deprecated Use the `user_menu` item in `headerMenu` instead. Optional user menu overrides.
1495
- * Still read to seed `headerMenu` defaults for configs saved before the header menu existed.
1496
- */
1497
- userMenu?: CompositeAppUserMenuOverrides;
1498
- /**
1499
- * Optional free-form header menu. When present, the header renders from this ordered
1500
- * list instead of the legacy `header`/`userMenu` flags. Built-in items (App Portal,
1501
- * Docs, Help, User Menu) can be hidden/relabeled/re-icon'd/redirected; custom items
1502
- * are arbitrary buttons.
1503
- */
1504
- headerMenu?: CompositeAppHeaderItem[];
1505
- /** Optional theme overrides (e.g. disable dark mode) */
1506
- theme?: CompositeAppThemeOverrides;
1507
- /** Optional home page override. When set, redirects "/" to the specified app route instead of the dashboard. Send null to unset. */
1508
- homePlugin?: CompositeAppHomePlugin | null;
1509
- /** List of apps to include in the CompositeApp (used for installation tracking and fallback sidebar) */
1510
- apps: CompositeAppEntry[];
1511
- /**
1512
- * Optional sidebar menu. When present, the sidebar renders from this
1513
- * instead of the apps-based pipeline. Top-level array is sections;
1514
- * each section contains nav-items.
1515
- */
1516
- menu?: CompositeAppMenuSection[];
1517
- }
1518
- export type CompositeAppConfigPayload = Partial<Omit<CompositeAppConfig, 'id' | 'project'>>;
1519
- export interface ValidateUrlRequest {
1520
- url: string;
1521
- }
1522
- export interface ValidateUrlResponse {
1523
- valid: true;
1524
- }
517
+ export type CompositeAppConfig = z.infer<typeof CompositeAppConfigSchema>;
518
+ export type CompositeAppConfigPayload = z.infer<typeof CompositeAppConfigPayloadSchema>;
519
+ export type ValidateUrlRequest = z.infer<typeof ValidateUrlRequestSchema>;
520
+ export type ValidateUrlResponse = z.infer<typeof ValidateUrlResponseSchema>;
1525
521
  /**
1526
522
  * Result of DELETE /api/v1/apps/:id. With `?confirm=true` the cascade runs and
1527
523
  * `deleted: true` is set; without it the endpoint returns a dry-run summary so
@@ -1538,5 +534,4 @@ export interface AppDeleteSummary {
1538
534
  deleted: boolean;
1539
535
  warnings: string[];
1540
536
  }
1541
- export {};
1542
537
  //# sourceMappingURL=apps.d.ts.map