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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/lib/access-control-values.d.ts +98 -0
  2. package/lib/access-control-values.d.ts.map +1 -0
  3. package/lib/access-control-values.js +101 -0
  4. package/lib/access-control-values.js.map +1 -0
  5. package/lib/access-control.d.ts +22 -119
  6. package/lib/access-control.d.ts.map +1 -1
  7. package/lib/access-control.js +6 -78
  8. package/lib/access-control.js.map +1 -1
  9. package/lib/account-values.d.ts +53 -0
  10. package/lib/account-values.d.ts.map +1 -0
  11. package/lib/account-values.js +91 -0
  12. package/lib/account-values.js.map +1 -0
  13. package/lib/analytics.d.ts +12 -38
  14. package/lib/analytics.d.ts.map +1 -1
  15. package/lib/api-schemas/access-control.d.ts +215 -0
  16. package/lib/api-schemas/access-control.d.ts.map +1 -0
  17. package/lib/api-schemas/access-control.js +165 -0
  18. package/lib/api-schemas/access-control.js.map +1 -0
  19. package/lib/api-schemas/account.d.ts +101 -0
  20. package/lib/api-schemas/account.d.ts.map +1 -0
  21. package/lib/api-schemas/account.js +136 -0
  22. package/lib/api-schemas/account.js.map +1 -0
  23. package/lib/api-schemas/adapter.d.ts +80 -0
  24. package/lib/api-schemas/adapter.d.ts.map +1 -0
  25. package/lib/api-schemas/adapter.js +726 -0
  26. package/lib/api-schemas/adapter.js.map +1 -0
  27. package/lib/api-schemas/agent-runs.d.ts +3781 -0
  28. package/lib/api-schemas/agent-runs.d.ts.map +1 -0
  29. package/lib/api-schemas/agent-runs.js +991 -0
  30. package/lib/api-schemas/agent-runs.js.map +1 -0
  31. package/lib/api-schemas/analytics.d.ts +86 -0
  32. package/lib/api-schemas/analytics.d.ts.map +1 -0
  33. package/lib/api-schemas/analytics.js +58 -0
  34. package/lib/api-schemas/analytics.js.map +1 -0
  35. package/lib/api-schemas/apikey.d.ts +231 -0
  36. package/lib/api-schemas/apikey.d.ts.map +1 -0
  37. package/lib/api-schemas/apikey.js +172 -0
  38. package/lib/api-schemas/apikey.js.map +1 -0
  39. package/lib/api-schemas/app-lifecycle.d.ts +1114 -0
  40. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -0
  41. package/lib/api-schemas/app-lifecycle.js +750 -0
  42. package/lib/api-schemas/app-lifecycle.js.map +1 -0
  43. package/lib/api-schemas/app-runtime.d.ts +9056 -0
  44. package/lib/api-schemas/app-runtime.d.ts.map +1 -0
  45. package/lib/api-schemas/app-runtime.js +782 -0
  46. package/lib/api-schemas/app-runtime.js.map +1 -0
  47. package/lib/api-schemas/apps.d.ts +247 -0
  48. package/lib/api-schemas/apps.d.ts.map +1 -0
  49. package/lib/api-schemas/apps.js +366 -0
  50. package/lib/api-schemas/apps.js.map +1 -0
  51. package/lib/api-schemas/audit-trail.d.ts +465 -0
  52. package/lib/api-schemas/audit-trail.d.ts.map +1 -0
  53. package/lib/api-schemas/audit-trail.js +218 -0
  54. package/lib/api-schemas/audit-trail.js.map +1 -0
  55. package/lib/api-schemas/bulk-operation.d.ts +104 -0
  56. package/lib/api-schemas/bulk-operation.d.ts.map +1 -0
  57. package/lib/api-schemas/bulk-operation.js +66 -0
  58. package/lib/api-schemas/bulk-operation.js.map +1 -0
  59. package/lib/api-schemas/commands.d.ts +50 -0
  60. package/lib/api-schemas/commands.d.ts.map +1 -0
  61. package/lib/api-schemas/commands.js +58 -0
  62. package/lib/api-schemas/commands.js.map +1 -0
  63. package/lib/api-schemas/content.d.ts +3561 -0
  64. package/lib/api-schemas/content.d.ts.map +1 -0
  65. package/lib/api-schemas/content.js +842 -0
  66. package/lib/api-schemas/content.js.map +1 -0
  67. package/lib/api-schemas/cost-analytics.d.ts +300 -0
  68. package/lib/api-schemas/cost-analytics.d.ts.map +1 -0
  69. package/lib/api-schemas/cost-analytics.js +218 -0
  70. package/lib/api-schemas/cost-analytics.js.map +1 -0
  71. package/lib/api-schemas/dashboard.d.ts +408 -0
  72. package/lib/api-schemas/dashboard.d.ts.map +1 -0
  73. package/lib/api-schemas/dashboard.js +311 -0
  74. package/lib/api-schemas/dashboard.js.map +1 -0
  75. package/lib/api-schemas/data-store.d.ts +1650 -0
  76. package/lib/api-schemas/data-store.d.ts.map +1 -0
  77. package/lib/api-schemas/data-store.js +504 -0
  78. package/lib/api-schemas/data-store.js.map +1 -0
  79. package/lib/api-schemas/document-processing.d.ts +1501 -0
  80. package/lib/api-schemas/document-processing.d.ts.map +1 -0
  81. package/lib/api-schemas/document-processing.js +312 -0
  82. package/lib/api-schemas/document-processing.js.map +1 -0
  83. package/lib/api-schemas/embeddings.d.ts +184 -0
  84. package/lib/api-schemas/embeddings.d.ts.map +1 -0
  85. package/lib/api-schemas/embeddings.js +102 -0
  86. package/lib/api-schemas/embeddings.js.map +1 -0
  87. package/lib/api-schemas/environment.d.ts +412 -0
  88. package/lib/api-schemas/environment.d.ts.map +1 -0
  89. package/lib/api-schemas/environment.js +170 -0
  90. package/lib/api-schemas/environment.js.map +1 -0
  91. package/lib/api-schemas/events.d.ts +4880 -0
  92. package/lib/api-schemas/events.d.ts.map +1 -0
  93. package/lib/api-schemas/events.js +832 -0
  94. package/lib/api-schemas/events.js.map +1 -0
  95. package/lib/api-schemas/files.d.ts +107 -0
  96. package/lib/api-schemas/files.d.ts.map +1 -0
  97. package/lib/api-schemas/files.js +137 -0
  98. package/lib/api-schemas/files.js.map +1 -0
  99. package/lib/api-schemas/group.d.ts +122 -0
  100. package/lib/api-schemas/group.d.ts.map +1 -0
  101. package/lib/api-schemas/group.js +142 -0
  102. package/lib/api-schemas/group.js.map +1 -0
  103. package/lib/api-schemas/index.d.ts +36 -0
  104. package/lib/api-schemas/index.d.ts.map +1 -0
  105. package/lib/api-schemas/index.js +36 -0
  106. package/lib/api-schemas/index.js.map +1 -0
  107. package/lib/api-schemas/indexing.d.ts +144 -0
  108. package/lib/api-schemas/indexing.d.ts.map +1 -0
  109. package/lib/api-schemas/indexing.js +217 -0
  110. package/lib/api-schemas/indexing.js.map +1 -0
  111. package/lib/api-schemas/integrations.d.ts +269 -0
  112. package/lib/api-schemas/integrations.d.ts.map +1 -0
  113. package/lib/api-schemas/integrations.js +335 -0
  114. package/lib/api-schemas/integrations.js.map +1 -0
  115. package/lib/api-schemas/interaction.d.ts +22454 -0
  116. package/lib/api-schemas/interaction.d.ts.map +1 -0
  117. package/lib/api-schemas/interaction.js +2065 -0
  118. package/lib/api-schemas/interaction.js.map +1 -0
  119. package/lib/api-schemas/invites.d.ts +162 -0
  120. package/lib/api-schemas/invites.d.ts.map +1 -0
  121. package/lib/api-schemas/invites.js +106 -0
  122. package/lib/api-schemas/invites.js.map +1 -0
  123. package/lib/api-schemas/oauth-server.d.ts +415 -0
  124. package/lib/api-schemas/oauth-server.d.ts.map +1 -0
  125. package/lib/api-schemas/oauth-server.js +193 -0
  126. package/lib/api-schemas/oauth-server.js.map +1 -0
  127. package/lib/api-schemas/oauth.d.ts +150 -0
  128. package/lib/api-schemas/oauth.d.ts.map +1 -0
  129. package/lib/api-schemas/oauth.js +148 -0
  130. package/lib/api-schemas/oauth.js.map +1 -0
  131. package/lib/api-schemas/parameters.d.ts +64 -0
  132. package/lib/api-schemas/parameters.d.ts.map +1 -0
  133. package/lib/api-schemas/parameters.js +246 -0
  134. package/lib/api-schemas/parameters.js.map +1 -0
  135. package/lib/api-schemas/process.d.ts +499 -0
  136. package/lib/api-schemas/process.d.ts.map +1 -0
  137. package/lib/api-schemas/process.js +817 -0
  138. package/lib/api-schemas/process.js.map +1 -0
  139. package/lib/api-schemas/project-configuration.d.ts +4900 -0
  140. package/lib/api-schemas/project-configuration.d.ts.map +1 -0
  141. package/lib/api-schemas/project-configuration.js +425 -0
  142. package/lib/api-schemas/project-configuration.js.map +1 -0
  143. package/lib/api-schemas/project.d.ts +7247 -0
  144. package/lib/api-schemas/project.d.ts.map +1 -0
  145. package/lib/api-schemas/project.js +185 -0
  146. package/lib/api-schemas/project.js.map +1 -0
  147. package/lib/api-schemas/prompt.d.ts +70 -0
  148. package/lib/api-schemas/prompt.d.ts.map +1 -0
  149. package/lib/api-schemas/prompt.js +77 -0
  150. package/lib/api-schemas/prompt.js.map +1 -0
  151. package/lib/api-schemas/quota.d.ts +90 -0
  152. package/lib/api-schemas/quota.d.ts.map +1 -0
  153. package/lib/api-schemas/quota.js +95 -0
  154. package/lib/api-schemas/quota.js.map +1 -0
  155. package/lib/api-schemas/registry.d.ts +97458 -0
  156. package/lib/api-schemas/registry.d.ts.map +1 -0
  157. package/lib/api-schemas/registry.js +2586 -0
  158. package/lib/api-schemas/registry.js.map +1 -0
  159. package/lib/api-schemas/schema-primitives.d.ts +5 -0
  160. package/lib/api-schemas/schema-primitives.d.ts.map +1 -0
  161. package/lib/api-schemas/schema-primitives.js +11 -0
  162. package/lib/api-schemas/schema-primitives.js.map +1 -0
  163. package/lib/api-schemas/secrets.d.ts +497 -0
  164. package/lib/api-schemas/secrets.d.ts.map +1 -0
  165. package/lib/api-schemas/secrets.js +298 -0
  166. package/lib/api-schemas/secrets.js.map +1 -0
  167. package/lib/api-schemas/store.d.ts +22140 -0
  168. package/lib/api-schemas/store.d.ts.map +1 -0
  169. package/lib/api-schemas/store.js +557 -0
  170. package/lib/api-schemas/store.js.map +1 -0
  171. package/lib/api-schemas/sts.d.ts +156 -0
  172. package/lib/api-schemas/sts.d.ts.map +1 -0
  173. package/lib/api-schemas/sts.js +96 -0
  174. package/lib/api-schemas/sts.js.map +1 -0
  175. package/lib/api-schemas/task.d.ts +215 -0
  176. package/lib/api-schemas/task.d.ts.map +1 -0
  177. package/lib/api-schemas/task.js +95 -0
  178. package/lib/api-schemas/task.js.map +1 -0
  179. package/lib/api-schemas/tools.d.ts +111 -0
  180. package/lib/api-schemas/tools.d.ts.map +1 -0
  181. package/lib/api-schemas/tools.js +122 -0
  182. package/lib/api-schemas/tools.js.map +1 -0
  183. package/lib/api-schemas/user.d.ts +208 -0
  184. package/lib/api-schemas/user.d.ts.map +1 -0
  185. package/lib/api-schemas/user.js +180 -0
  186. package/lib/api-schemas/user.js.map +1 -0
  187. package/lib/api-schemas/view-execution.d.ts +3163 -0
  188. package/lib/api-schemas/view-execution.d.ts.map +1 -0
  189. package/lib/api-schemas/view-execution.js +172 -0
  190. package/lib/api-schemas/view-execution.js.map +1 -0
  191. package/lib/api-schemas/views.d.ts +5990 -0
  192. package/lib/api-schemas/views.d.ts.map +1 -0
  193. package/lib/api-schemas/views.js +396 -0
  194. package/lib/api-schemas/views.js.map +1 -0
  195. package/lib/api-schemas/workflow-runs.d.ts +2209 -0
  196. package/lib/api-schemas/workflow-runs.d.ts.map +1 -0
  197. package/lib/api-schemas/workflow-runs.js +589 -0
  198. package/lib/api-schemas/workflow-runs.js.map +1 -0
  199. package/lib/apikey-values.d.ts +10 -0
  200. package/lib/apikey-values.d.ts.map +1 -0
  201. package/lib/apikey-values.js +11 -0
  202. package/lib/apikey-values.js.map +1 -0
  203. package/lib/apikey.d.ts +37 -36
  204. package/lib/apikey.d.ts.map +1 -1
  205. package/lib/apikey.js +5 -4
  206. package/lib/apikey.js.map +1 -1
  207. package/lib/apps.d.ts +107 -1151
  208. package/lib/apps.d.ts.map +1 -1
  209. package/lib/apps.js.map +1 -1
  210. package/lib/ask-user.d.ts +8 -1
  211. package/lib/ask-user.d.ts.map +1 -1
  212. package/lib/audit-trail.d.ts +17 -128
  213. package/lib/audit-trail.d.ts.map +1 -1
  214. package/lib/audit-trail.js.map +1 -1
  215. package/lib/browser-credentials.d.ts +11 -106
  216. package/lib/browser-credentials.d.ts.map +1 -1
  217. package/lib/common.d.ts +59 -81
  218. package/lib/common.d.ts.map +1 -1
  219. package/lib/cost-analytics.d.ts +14 -167
  220. package/lib/cost-analytics.d.ts.map +1 -1
  221. package/lib/cost-analytics.js.map +1 -1
  222. package/lib/data-platform.d.ts +122 -786
  223. package/lib/data-platform.d.ts.map +1 -1
  224. package/lib/data-platform.js +41 -61
  225. package/lib/data-platform.js.map +1 -1
  226. package/lib/email.d.ts +5 -17
  227. package/lib/email.d.ts.map +1 -1
  228. package/lib/email.js +0 -3
  229. package/lib/email.js.map +1 -1
  230. package/lib/embeddings.d.ts +14 -56
  231. package/lib/embeddings.d.ts.map +1 -1
  232. package/lib/environment.d.ts +19 -115
  233. package/lib/environment.d.ts.map +1 -1
  234. package/lib/environment.js +3 -0
  235. package/lib/environment.js.map +1 -1
  236. package/lib/facets.d.ts +4 -7
  237. package/lib/facets.d.ts.map +1 -1
  238. package/lib/group.d.ts +33 -39
  239. package/lib/group.d.ts.map +1 -1
  240. package/lib/group.js +0 -1
  241. package/lib/group.js.map +1 -1
  242. package/lib/index.d.ts +7 -0
  243. package/lib/index.d.ts.map +1 -1
  244. package/lib/index.js.map +1 -1
  245. package/lib/integrations.d.ts +20 -108
  246. package/lib/integrations.d.ts.map +1 -1
  247. package/lib/integrations.js.map +1 -1
  248. package/lib/interaction-values.d.ts +11 -0
  249. package/lib/interaction-values.d.ts.map +1 -0
  250. package/lib/interaction-values.js +24 -0
  251. package/lib/interaction-values.js.map +1 -0
  252. package/lib/interaction.d.ts +88 -778
  253. package/lib/interaction.d.ts.map +1 -1
  254. package/lib/interaction.js +8 -12
  255. package/lib/interaction.js.map +1 -1
  256. package/lib/meters.d.ts +11 -7
  257. package/lib/meters.d.ts.map +1 -1
  258. package/lib/meters.js.map +1 -1
  259. package/lib/oauth-server.d.ts +33 -119
  260. package/lib/oauth-server.d.ts.map +1 -1
  261. package/lib/oauth.d.ts +14 -96
  262. package/lib/oauth.d.ts.map +1 -1
  263. package/lib/oauth.js +0 -4
  264. package/lib/oauth.js.map +1 -1
  265. package/lib/payload.d.ts +15 -38
  266. package/lib/payload.d.ts.map +1 -1
  267. package/lib/platform-event.d.ts +49 -462
  268. package/lib/platform-event.d.ts.map +1 -1
  269. package/lib/platform-event.js.map +1 -1
  270. package/lib/principal-context.d.ts +10 -15
  271. package/lib/principal-context.d.ts.map +1 -1
  272. package/lib/project-values.d.ts +24 -0
  273. package/lib/project-values.d.ts.map +1 -0
  274. package/lib/project-values.js +42 -0
  275. package/lib/project-values.js.map +1 -0
  276. package/lib/project.d.ts +55 -503
  277. package/lib/project.d.ts.map +1 -1
  278. package/lib/project.js +6 -76
  279. package/lib/project.js.map +1 -1
  280. package/lib/prompt.d.ts +20 -51
  281. package/lib/prompt.d.ts.map +1 -1
  282. package/lib/prompt.js.map +1 -1
  283. package/lib/query.d.ts +27 -88
  284. package/lib/query.d.ts.map +1 -1
  285. package/lib/rate-limiter.d.ts +19 -70
  286. package/lib/rate-limiter.d.ts.map +1 -1
  287. package/lib/rate-limiter.js +0 -3
  288. package/lib/rate-limiter.js.map +1 -1
  289. package/lib/refs.d.ts +3 -11
  290. package/lib/refs.d.ts.map +1 -1
  291. package/lib/refs.js.map +1 -1
  292. package/lib/roles/types.d.ts +14 -20
  293. package/lib/roles/types.d.ts.map +1 -1
  294. package/lib/roles/types.js +5 -9
  295. package/lib/roles/types.js.map +1 -1
  296. package/lib/runs.d.ts +6 -25
  297. package/lib/runs.d.ts.map +1 -1
  298. package/lib/secrets.d.ts +20 -105
  299. package/lib/secrets.d.ts.map +1 -1
  300. package/lib/store/agent-approval.d.ts +5 -14
  301. package/lib/store/agent-approval.d.ts.map +1 -1
  302. package/lib/store/agent-approval.js.map +1 -1
  303. package/lib/store/agent-run.d.ts +57 -358
  304. package/lib/store/agent-run.d.ts.map +1 -1
  305. package/lib/store/collections.d.ts +11 -63
  306. package/lib/store/collections.d.ts.map +1 -1
  307. package/lib/store/collections.js.map +1 -1
  308. package/lib/store/conversation-state.d.ts +61 -61
  309. package/lib/store/conversation-state.d.ts.map +1 -1
  310. package/lib/store/conversation-state.js +2 -0
  311. package/lib/store/conversation-state.js.map +1 -1
  312. package/lib/store/doc-analyzer.d.ts +9 -32
  313. package/lib/store/doc-analyzer.d.ts.map +1 -1
  314. package/lib/store/dsl-workflow.d.ts +37 -151
  315. package/lib/store/dsl-workflow.d.ts.map +1 -1
  316. package/lib/store/dsl-workflow.js.map +1 -1
  317. package/lib/store/editing-policy-schema.generated.d.ts +3 -0
  318. package/lib/store/editing-policy-schema.generated.d.ts.map +1 -0
  319. package/lib/store/editing-policy-schema.generated.js +28 -0
  320. package/lib/store/editing-policy-schema.generated.js.map +1 -0
  321. package/lib/store/grounded-extraction.d.ts +7 -104
  322. package/lib/store/grounded-extraction.d.ts.map +1 -1
  323. package/lib/store/grounded-extraction.js.map +1 -1
  324. package/lib/store/index.d.ts +2 -0
  325. package/lib/store/index.d.ts.map +1 -1
  326. package/lib/store/index.js +3 -0
  327. package/lib/store/index.js.map +1 -1
  328. package/lib/store/intake-policy-schema.generated.d.ts +3 -0
  329. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -0
  330. package/lib/store/intake-policy-schema.generated.js +1425 -0
  331. package/lib/store/intake-policy-schema.generated.js.map +1 -0
  332. package/lib/store/process-schema.d.ts +80 -0
  333. package/lib/store/process-schema.d.ts.map +1 -1
  334. package/lib/store/process-schema.js +79 -0
  335. package/lib/store/process-schema.js.map +1 -1
  336. package/lib/store/process-validation.d.ts.map +1 -1
  337. package/lib/store/process-validation.js +70 -2
  338. package/lib/store/process-validation.js.map +1 -1
  339. package/lib/store/process.d.ts +36 -125
  340. package/lib/store/process.d.ts.map +1 -1
  341. package/lib/store/process.js.map +1 -1
  342. package/lib/store/rendering.d.ts +9 -64
  343. package/lib/store/rendering.d.ts.map +1 -1
  344. package/lib/store/rendering.js.map +1 -1
  345. package/lib/store/store.d.ts +98 -700
  346. package/lib/store/store.d.ts.map +1 -1
  347. package/lib/store/store.js +4 -456
  348. package/lib/store/store.js.map +1 -1
  349. package/lib/store/task.d.ts +15 -59
  350. package/lib/store/task.d.ts.map +1 -1
  351. package/lib/store/task.js +0 -3
  352. package/lib/store/task.js.map +1 -1
  353. package/lib/store/workflow.d.ts +54 -518
  354. package/lib/store/workflow.d.ts.map +1 -1
  355. package/lib/store/workflow.js +23 -11
  356. package/lib/store/workflow.js.map +1 -1
  357. package/lib/sts-token-types.d.ts +12 -66
  358. package/lib/sts-token-types.d.ts.map +1 -1
  359. package/lib/sts-token-types.js.map +1 -1
  360. package/lib/tools.d.ts +8 -100
  361. package/lib/tools.d.ts.map +1 -1
  362. package/lib/transient-tokens-values.d.ts +11 -0
  363. package/lib/transient-tokens-values.d.ts.map +1 -0
  364. package/lib/transient-tokens-values.js +12 -0
  365. package/lib/transient-tokens-values.js.map +1 -0
  366. package/lib/transient-tokens.d.ts +15 -13
  367. package/lib/transient-tokens.d.ts.map +1 -1
  368. package/lib/transient-tokens.js +5 -5
  369. package/lib/transient-tokens.js.map +1 -1
  370. package/lib/user.d.ts +54 -155
  371. package/lib/user.d.ts.map +1 -1
  372. package/lib/user.js +1 -78
  373. package/lib/user.js.map +1 -1
  374. package/lib/versions.d.ts +24 -1
  375. package/lib/versions.d.ts.map +1 -1
  376. package/lib/versions.js +23 -0
  377. package/lib/versions.js.map +1 -1
  378. package/lib/vertesia-common.js +6 -2
  379. package/lib/vertesia-common.js.map +1 -1
  380. package/lib/views-schema.d.ts +4 -4
  381. package/lib/views.d.ts +56 -312
  382. package/lib/views.d.ts.map +1 -1
  383. package/lib/views.js.map +1 -1
  384. package/package.json +13 -4
  385. package/src/access-control-values.ts +113 -0
  386. package/src/access-control.ts +33 -138
  387. package/src/account-values.ts +95 -0
  388. package/src/analytics.ts +18 -42
  389. package/src/api-schemas/access-control.contract.test.ts +209 -0
  390. package/src/api-schemas/access-control.ts +208 -0
  391. package/src/api-schemas/account.contract.test.ts +318 -0
  392. package/src/api-schemas/account.ts +150 -0
  393. package/src/api-schemas/adapter-edge-cases.test.ts +480 -0
  394. package/src/api-schemas/adapter.ts +778 -0
  395. package/src/api-schemas/agent-runs.ts +1081 -0
  396. package/src/api-schemas/analytics.ts +65 -0
  397. package/src/api-schemas/apikey.contract.test.ts +270 -0
  398. package/src/api-schemas/apikey.ts +199 -0
  399. package/src/api-schemas/app-lifecycle.ts +841 -0
  400. package/src/api-schemas/app-runtime.ts +919 -0
  401. package/src/api-schemas/apps.ts +415 -0
  402. package/src/api-schemas/audit-trail.ts +243 -0
  403. package/src/api-schemas/bulk-operation.contract.test.ts +39 -0
  404. package/src/api-schemas/bulk-operation.ts +75 -0
  405. package/src/api-schemas/bundle-isolation.test.ts +80 -0
  406. package/src/api-schemas/commands.contract.test.ts +51 -0
  407. package/src/api-schemas/commands.ts +62 -0
  408. package/src/api-schemas/content.ts +939 -0
  409. package/src/api-schemas/cost-analytics.contract.test.ts +64 -0
  410. package/src/api-schemas/cost-analytics.ts +235 -0
  411. package/src/api-schemas/dashboard.contract.test.ts +127 -0
  412. package/src/api-schemas/dashboard.ts +351 -0
  413. package/src/api-schemas/data-store.contract.test.ts +91 -0
  414. package/src/api-schemas/data-store.ts +571 -0
  415. package/src/api-schemas/document-processing.contract.test.ts +76 -0
  416. package/src/api-schemas/document-processing.ts +344 -0
  417. package/src/api-schemas/embeddings.ts +113 -0
  418. package/src/api-schemas/environment.contract.test.ts +184 -0
  419. package/src/api-schemas/environment.ts +190 -0
  420. package/src/api-schemas/events.ts +921 -0
  421. package/src/api-schemas/files.ts +159 -0
  422. package/src/api-schemas/group.contract.test.ts +205 -0
  423. package/src/api-schemas/group.ts +155 -0
  424. package/src/api-schemas/index.ts +35 -0
  425. package/src/api-schemas/indexing.contract.test.ts +83 -0
  426. package/src/api-schemas/indexing.ts +234 -0
  427. package/src/api-schemas/integrations.ts +369 -0
  428. package/src/api-schemas/interaction.ts +2357 -0
  429. package/src/api-schemas/invites.contract.test.ts +268 -0
  430. package/src/api-schemas/invites.ts +127 -0
  431. package/src/api-schemas/llumiverse.contract.test.ts +108 -0
  432. package/src/api-schemas/oauth-server.ts +219 -0
  433. package/src/api-schemas/oauth.contract.test.ts +118 -0
  434. package/src/api-schemas/oauth.ts +166 -0
  435. package/src/api-schemas/parameters.test.ts +402 -0
  436. package/src/api-schemas/parameters.ts +310 -0
  437. package/src/api-schemas/process.ts +929 -0
  438. package/src/api-schemas/project-configuration.ts +478 -0
  439. package/src/api-schemas/project.contract.test.ts +365 -0
  440. package/src/api-schemas/project.ts +214 -0
  441. package/src/api-schemas/prompt.ts +88 -0
  442. package/src/api-schemas/pruning-limits.test.ts +189 -0
  443. package/src/api-schemas/quota.contract.test.ts +147 -0
  444. package/src/api-schemas/quota.ts +122 -0
  445. package/src/api-schemas/registry-groups.test.ts +91 -0
  446. package/src/api-schemas/registry.ts +3487 -0
  447. package/src/api-schemas/response-pruning.test.ts +260 -0
  448. package/src/api-schemas/schema-primitives.ts +12 -0
  449. package/src/api-schemas/secrets.ts +332 -0
  450. package/src/api-schemas/store.contract.test.ts +450 -0
  451. package/src/api-schemas/store.ts +604 -0
  452. package/src/api-schemas/sts.contract.test.ts +80 -0
  453. package/src/api-schemas/sts.ts +110 -0
  454. package/src/api-schemas/task.ts +104 -0
  455. package/src/api-schemas/tools.ts +140 -0
  456. package/src/api-schemas/user.contract.test.ts +191 -0
  457. package/src/api-schemas/user.ts +204 -0
  458. package/src/api-schemas/view-execution.ts +200 -0
  459. package/src/api-schemas/views.ts +437 -0
  460. package/src/api-schemas/workflow-runs.ts +653 -0
  461. package/src/apikey-values.ts +10 -0
  462. package/src/apikey.ts +49 -40
  463. package/src/apps.ts +234 -1213
  464. package/src/ask-user.ts +9 -1
  465. package/src/audit-trail.ts +45 -137
  466. package/src/browser-credentials.ts +21 -106
  467. package/src/common.ts +67 -78
  468. package/src/cost-analytics.ts +37 -176
  469. package/src/data-platform.ts +205 -776
  470. package/src/email.ts +5 -17
  471. package/src/embeddings.ts +22 -60
  472. package/src/environment.ts +52 -126
  473. package/src/facets.ts +4 -7
  474. package/src/group.ts +38 -42
  475. package/src/index.ts +11 -0
  476. package/src/integrations.ts +39 -129
  477. package/src/interaction-values.ts +23 -0
  478. package/src/interaction.ts +162 -902
  479. package/src/meters.ts +11 -7
  480. package/src/oauth-server.ts +58 -127
  481. package/src/oauth.ts +24 -108
  482. package/src/payload.ts +25 -40
  483. package/src/platform-event.ts +98 -484
  484. package/src/principal-context.ts +11 -15
  485. package/src/project-values.ts +41 -0
  486. package/src/project.ts +116 -588
  487. package/src/prompt.ts +34 -61
  488. package/src/query.ts +34 -93
  489. package/src/rate-limiter.ts +27 -75
  490. package/src/refs.ts +4 -11
  491. package/src/roles/types.ts +20 -20
  492. package/src/runs.ts +11 -24
  493. package/src/secrets.ts +38 -117
  494. package/src/store/agent-approval.ts +9 -14
  495. package/src/store/agent-run.ts +93 -450
  496. package/src/store/collections.ts +21 -63
  497. package/src/store/content-type-editing.test.ts +1 -1
  498. package/src/store/conversation-state.ts +75 -64
  499. package/src/store/doc-analyzer.ts +17 -33
  500. package/src/store/dsl-workflow.ts +62 -158
  501. package/src/store/editing-policy-schema.generated.ts +30 -0
  502. package/src/store/grounded-extraction.ts +13 -104
  503. package/src/store/index.ts +3 -0
  504. package/src/store/intake-policy-schema.generated.ts +1442 -0
  505. package/src/store/process-schema.test.ts +43 -0
  506. package/src/store/process-schema.ts +79 -0
  507. package/src/store/process-validation.test.ts +141 -0
  508. package/src/store/process-validation.ts +82 -2
  509. package/src/store/process.ts +70 -146
  510. package/src/store/rendering.ts +15 -64
  511. package/src/store/store.ts +197 -1204
  512. package/src/store/task.ts +25 -59
  513. package/src/store/workflow.ts +97 -557
  514. package/src/sts-token-types.ts +24 -75
  515. package/src/tools.ts +18 -97
  516. package/src/transient-tokens-values.ts +11 -0
  517. package/src/transient-tokens.ts +16 -13
  518. package/src/user.ts +74 -214
  519. package/src/versions.ts +24 -0
  520. package/src/views-schema.test.ts +9 -1
  521. package/src/views.ts +106 -329
@@ -0,0 +1,437 @@
1
+ import { z } from 'zod';
2
+ import { VIEW_EXPERIENCE_SCHEMA_VERSION, VIEW_RESULT_FIELD_FORMATS, VIEW_SEARCH_FIELD_TYPES } from '../views.js';
3
+ import { InteractionExecutionConfigurationSchema } from './store.js';
4
+
5
+ // The view experiences a project publishes: the search, navigation, results and display
6
+ // configuration a curated content view is assembled from, and the create/update payloads for them.
7
+ //
8
+ // `//` rather than `/** */` throughout: a JSDoc block immediately preceding an exported declaration
9
+ // is picked up by the OpenAPI scanner and published as that component's `description`, which would
10
+ // double up with the `description` stated in `.meta()`.
11
+
12
+ // The version literal and the two field vocabularies read their members off the declarations in
13
+ // `../views.js` rather than restating them: those are what the View runtime and its validator
14
+ // iterate, so a format added there reaches the document with nothing here changing.
15
+ export const ViewExperienceSchemaVersionSchema = z
16
+ .literal(VIEW_EXPERIENCE_SCHEMA_VERSION)
17
+ .meta({ id: 'ViewExperienceSchemaVersion' });
18
+
19
+ export const ViewSortClauseSchema = z
20
+ .strictObject({
21
+ field: z.string(),
22
+ order: z.enum(['asc', 'desc']),
23
+ })
24
+ .meta({ id: 'ViewSortClause' });
25
+
26
+ export const ViewResultMediaSchema = z
27
+ .strictObject({
28
+ source: z.enum(['content_thumbnail', 'property', 'type_icon']),
29
+ field: z.string().optional(),
30
+ fit: z.enum(['cover', 'contain']).optional(),
31
+ fallback: z.enum(['type_icon', 'placeholder', 'none']).optional(),
32
+ })
33
+ .meta({ id: 'ViewResultMedia' });
34
+
35
+ export const ViewResultFieldFormatSchema = z.enum(VIEW_RESULT_FIELD_FORMATS).meta({ id: 'ViewResultFieldFormat' });
36
+
37
+ export const ViewBoardColumnSchema = z
38
+ .strictObject({
39
+ value: z.string(),
40
+ label: z.string(),
41
+ order: z.number().optional(),
42
+ })
43
+ .meta({ id: 'ViewBoardColumn' });
44
+
45
+ export const ViewTableColumnSchema = z
46
+ .strictObject({
47
+ field: z.string(),
48
+ label: z.string().optional(),
49
+ format: ViewResultFieldFormatSchema.optional(),
50
+ fallback: z.string().optional(),
51
+ width: z.number().optional(),
52
+ sortable: z.boolean().optional(),
53
+ sort_option: z.string().optional(),
54
+ })
55
+ .meta({ id: 'ViewTableColumn' });
56
+
57
+ export const AgenticViewSearchConfigurationSchema = z
58
+ .strictObject({
59
+ interaction: z.string().optional(),
60
+ config: InteractionExecutionConfigurationSchema.optional(),
61
+ instructions: z
62
+ .string()
63
+ .meta({ description: 'View-specific guidance for Elasticsearch query planning.' })
64
+ .optional(),
65
+ mode: z.literal('query').optional(),
66
+ timeout_ms: z.number().optional(),
67
+ minimum_confidence: z.number().optional(),
68
+ })
69
+ .meta({ id: 'AgenticViewSearchConfiguration' });
70
+
71
+ export const ViewSearchFieldTypeSchema = z.enum(VIEW_SEARCH_FIELD_TYPES).meta({ id: 'ViewSearchFieldType' });
72
+
73
+ export const ViewSearchFieldDefinitionSchema = z
74
+ .strictObject({
75
+ field: z.string(),
76
+ description: z
77
+ .string()
78
+ .meta({ description: 'Meaning of the field for query planners, for example "Full OCR text".' })
79
+ .optional(),
80
+ type: ViewSearchFieldTypeSchema.meta({
81
+ description: 'Mapping hint used only when the active index mapping does not expose a type.',
82
+ }).optional(),
83
+ mode: z
84
+ .enum(['auto', 'full_text', 'exact'])
85
+ .meta({
86
+ description:
87
+ '`full_text` enables scoring text queries, `exact` limits the field to structured operators, and `auto` derives behavior from the mapped type.',
88
+ })
89
+ .optional(),
90
+ boost: z
91
+ .number()
92
+ .meta({ description: 'Relative boost when this field participates in multi-field text search.' })
93
+ .optional(),
94
+ })
95
+ .meta({
96
+ id: 'ViewSearchFieldDefinition',
97
+ description:
98
+ 'A mapped Elasticsearch field that a View may use for query planning and deterministic full-text fallback.',
99
+ });
100
+
101
+ export const ViewRangeDefinitionSchema = z
102
+ .strictObject({
103
+ id: z.string(),
104
+ label: z.string(),
105
+ from: z.number().optional(),
106
+ to: z.number().optional(),
107
+ })
108
+ .meta({ id: 'ViewRangeDefinition' });
109
+
110
+ export const ViewHierarchyLevelSchema = z
111
+ .strictObject({
112
+ id: z.string(),
113
+ label: z.string(),
114
+ field: z.string(),
115
+ size: z.number().optional(),
116
+ sort: z.enum(['count', 'label']).optional(),
117
+ })
118
+ .meta({ id: 'ViewHierarchyLevel' });
119
+
120
+ export const ViewTermsNavigationSchema = z
121
+ .strictObject({
122
+ id: z.string(),
123
+ label: z.string(),
124
+ presentation: z.enum(['tree', 'list', 'select', 'chips']).optional(),
125
+ multi_select: z.boolean().optional(),
126
+ order: z.number().optional(),
127
+ renderer: z.string().optional(),
128
+ source: z.literal('terms'),
129
+ field: z.string(),
130
+ size: z.number().optional(),
131
+ sort: z.enum(['count', 'label']).optional(),
132
+ })
133
+ .meta({ id: 'ViewTermsNavigation' });
134
+
135
+ export const ViewCollectionNavigationSchema = z
136
+ .strictObject({
137
+ id: z.string(),
138
+ label: z.string(),
139
+ presentation: z.enum(['tree', 'list', 'select', 'chips']).optional(),
140
+ multi_select: z.boolean().optional(),
141
+ order: z.number().optional(),
142
+ renderer: z.string().optional(),
143
+ source: z.literal('collection'),
144
+ roots: z.array(z.string()).optional(),
145
+ include_descendants: z.boolean().optional(),
146
+ })
147
+ .meta({ id: 'ViewCollectionNavigation' });
148
+
149
+ export const ViewLocationNavigationSchema = z
150
+ .strictObject({
151
+ id: z.string(),
152
+ label: z.string(),
153
+ presentation: z.enum(['tree', 'list', 'select', 'chips']).optional(),
154
+ multi_select: z.boolean().optional(),
155
+ order: z.number().optional(),
156
+ renderer: z.string().optional(),
157
+ source: z.literal('location'),
158
+ roots: z.array(z.string()).optional(),
159
+ depth: z.number().optional(),
160
+ })
161
+ .meta({ id: 'ViewLocationNavigation' });
162
+
163
+ export const ViewElasticsearchQuerySchema = z.object({}).catchall(z.unknown()).meta({
164
+ id: 'ViewElasticsearchQuery',
165
+ description: 'An author-provided Elasticsearch query subtree validated by the View runtime.',
166
+ });
167
+
168
+ export const ViewExperienceLayoutSchema = z
169
+ .strictObject({
170
+ mode: z.enum(['browse', 'worklist']).optional(),
171
+ navigation_position: z.enum(['sidebar', 'top']).optional(),
172
+ })
173
+ .meta({ id: 'ViewExperienceLayout' });
174
+
175
+ export const ViewSortOptionSchema = z
176
+ .strictObject({
177
+ id: z.string(),
178
+ label: z.string(),
179
+ sort: z.array(ViewSortClauseSchema),
180
+ })
181
+ .meta({ id: 'ViewSortOption' });
182
+
183
+ export const ViewResultFieldSchema = z
184
+ .strictObject({
185
+ field: z.string(),
186
+ label: z.string().optional(),
187
+ format: ViewResultFieldFormatSchema.optional(),
188
+ fallback: z.string().optional(),
189
+ })
190
+ .meta({ id: 'ViewResultField' });
191
+
192
+ export const ViewTableDisplaySchema = z
193
+ .strictObject({
194
+ id: z.string(),
195
+ label: z.string(),
196
+ renderer: z.string().optional(),
197
+ page_size: z.number().optional(),
198
+ type: z.literal('table'),
199
+ columns: z.array(ViewTableColumnSchema),
200
+ })
201
+ .meta({ id: 'ViewTableDisplay' });
202
+
203
+ export const ViewListDisplaySchema = z
204
+ .strictObject({
205
+ id: z.string(),
206
+ label: z.string(),
207
+ renderer: z.string().optional(),
208
+ page_size: z.number().optional(),
209
+ type: z.literal('list'),
210
+ title: ViewResultFieldSchema,
211
+ subtitle: z.array(ViewResultFieldSchema).optional(),
212
+ description: ViewResultFieldSchema.optional(),
213
+ media: ViewResultMediaSchema.optional(),
214
+ badges: z.array(ViewResultFieldSchema).optional(),
215
+ })
216
+ .meta({ id: 'ViewListDisplay' });
217
+
218
+ export const ViewKeyTermDefinitionSchema = z
219
+ .strictObject({
220
+ id: z.string(),
221
+ label: z.string(),
222
+ field: z.string().optional(),
223
+ type: ViewSearchFieldTypeSchema,
224
+ multiple: z.boolean().optional(),
225
+ operator: z.enum(['match', 'term', 'range']).optional(),
226
+ })
227
+ .meta({ id: 'ViewKeyTermDefinition' });
228
+
229
+ export const ViewRangeNavigationSchema = z
230
+ .strictObject({
231
+ id: z.string(),
232
+ label: z.string(),
233
+ presentation: z.enum(['tree', 'list', 'select', 'chips']).optional(),
234
+ multi_select: z.boolean().optional(),
235
+ order: z.number().optional(),
236
+ renderer: z.string().optional(),
237
+ source: z.literal('range'),
238
+ field: z.string(),
239
+ ranges: z.array(ViewRangeDefinitionSchema),
240
+ })
241
+ .meta({ id: 'ViewRangeNavigation' });
242
+
243
+ export const ViewHierarchyNavigationSchema = z
244
+ .strictObject({
245
+ id: z.string(),
246
+ label: z.string(),
247
+ presentation: z.enum(['tree', 'list', 'select', 'chips']).optional(),
248
+ multi_select: z.boolean().optional(),
249
+ order: z.number().optional(),
250
+ renderer: z.string().optional(),
251
+ source: z.literal('hierarchy'),
252
+ levels: z.array(ViewHierarchyLevelSchema),
253
+ })
254
+ .meta({
255
+ id: 'ViewHierarchyNavigation',
256
+ description:
257
+ 'A drill-down hierarchy assembled from independently mapped properties.\n\nHierarchies represent one selected path, so multi_select may only be false. Selection ids are opaque runtime values and must not be constructed by clients.',
258
+ });
259
+
260
+ export const ViewExperienceScopeSchema = z
261
+ .strictObject({
262
+ type_ids: z.array(z.string()).optional(),
263
+ locations: z.array(z.string()).optional(),
264
+ collection_ids: z.array(z.string()).optional(),
265
+ include_collection_descendants: z.boolean().optional(),
266
+ fixed_filter: ViewElasticsearchQuerySchema.optional(),
267
+ head_only: z.boolean().optional(),
268
+ })
269
+ .meta({ id: 'ViewExperienceScope' });
270
+
271
+ export const ViewBoardCardConfigurationSchema = z
272
+ .strictObject({
273
+ title: ViewResultFieldSchema,
274
+ description: ViewResultFieldSchema.optional(),
275
+ media: ViewResultMediaSchema.optional(),
276
+ fields: z.array(ViewResultFieldSchema).optional(),
277
+ badges: z.array(ViewResultFieldSchema).optional(),
278
+ })
279
+ .meta({ id: 'ViewBoardCardConfiguration' });
280
+
281
+ export const ViewSearchConfigurationSchema = z
282
+ .strictObject({
283
+ renderer: z.string().optional(),
284
+ mode: z.enum(['deterministic', 'agentic']).optional(),
285
+ placeholder: z.string().optional(),
286
+ fields: z.array(ViewSearchFieldDefinitionSchema).optional(),
287
+ key_terms: z.array(ViewKeyTermDefinitionSchema).optional(),
288
+ agentic: AgenticViewSearchConfigurationSchema.optional(),
289
+ })
290
+ .meta({ id: 'ViewSearchConfiguration' });
291
+
292
+ export const ViewNavigationItemSchema = z
293
+ .discriminatedUnion('source', [
294
+ ViewLocationNavigationSchema,
295
+ ViewCollectionNavigationSchema,
296
+ ViewTermsNavigationSchema,
297
+ ViewHierarchyNavigationSchema,
298
+ ViewRangeNavigationSchema,
299
+ ])
300
+ .meta({ id: 'ViewNavigationItem', type: 'object' });
301
+
302
+ export const ViewBoardDisplaySchema = z
303
+ .strictObject({
304
+ id: z.string(),
305
+ label: z.string(),
306
+ renderer: z.string().optional(),
307
+ page_size: z.number().optional(),
308
+ type: z.literal('board'),
309
+ group_by: z.string(),
310
+ columns: z.array(ViewBoardColumnSchema).optional(),
311
+ card: ViewBoardCardConfigurationSchema,
312
+ })
313
+ .meta({ id: 'ViewBoardDisplay' });
314
+
315
+ // Both display contracts carry `columns` as a numeric enum. `z.literal([...])` emits `type: number`
316
+ // with the same `enum` list the document already publishes — a `z.union` of literals would emit
317
+ // `anyOf`, and a plain `z.number()` would drop the constraint.
318
+ const VIEW_DISPLAY_COLUMNS = z.literal([2, 3, 4, 5, 6]).optional();
319
+
320
+ export const ViewCardsDisplaySchema = z
321
+ .strictObject({
322
+ id: z.string(),
323
+ label: z.string(),
324
+ renderer: z.string().optional(),
325
+ page_size: z.number().optional(),
326
+ type: z.literal('cards'),
327
+ title: ViewResultFieldSchema,
328
+ description: ViewResultFieldSchema.optional(),
329
+ media: ViewResultMediaSchema.optional(),
330
+ fields: z.array(ViewResultFieldSchema).optional(),
331
+ badges: z.array(ViewResultFieldSchema).optional(),
332
+ columns: VIEW_DISPLAY_COLUMNS,
333
+ })
334
+ .meta({ id: 'ViewCardsDisplay' });
335
+
336
+ export const ViewGalleryDisplaySchema = z
337
+ .strictObject({
338
+ id: z.string(),
339
+ label: z.string(),
340
+ renderer: z.string().optional(),
341
+ page_size: z.number().optional(),
342
+ type: z.literal('gallery'),
343
+ media: ViewResultMediaSchema,
344
+ title: ViewResultFieldSchema,
345
+ caption: z.array(ViewResultFieldSchema).optional(),
346
+ columns: VIEW_DISPLAY_COLUMNS,
347
+ })
348
+ .meta({ id: 'ViewGalleryDisplay' });
349
+
350
+ export const ViewDisplayConfigurationSchema = z
351
+ .discriminatedUnion('type', [
352
+ ViewListDisplaySchema,
353
+ ViewTableDisplaySchema,
354
+ ViewCardsDisplaySchema,
355
+ ViewGalleryDisplaySchema,
356
+ ViewBoardDisplaySchema,
357
+ ])
358
+ .meta({ id: 'ViewDisplayConfiguration', type: 'object' });
359
+
360
+ export const ViewResultsConfigurationSchema = z
361
+ .strictObject({
362
+ default_display: z.string(),
363
+ allow_display_switch: z.boolean().optional(),
364
+ displays: z.array(ViewDisplayConfigurationSchema),
365
+ default_sort: z.string().optional(),
366
+ sort_options: z.array(ViewSortOptionSchema).optional(),
367
+ })
368
+ .meta({ id: 'ViewResultsConfiguration' });
369
+
370
+ export const CreateViewExperienceRequestSchema = z
371
+ .strictObject({
372
+ name: z.string(),
373
+ enabled: z.boolean().optional(),
374
+ layout: ViewExperienceLayoutSchema.optional(),
375
+ scope: ViewExperienceScopeSchema.optional(),
376
+ navigation: z.array(ViewNavigationItemSchema).optional(),
377
+ search: ViewSearchConfigurationSchema.optional(),
378
+ results: ViewResultsConfigurationSchema.optional(),
379
+ description: z.string(),
380
+ id: z.string(),
381
+ version: ViewExperienceSchemaVersionSchema.optional(),
382
+ })
383
+ .meta({ id: 'CreateViewExperienceRequest' });
384
+
385
+ export const ViewExperienceSchema = z
386
+ .strictObject({
387
+ name: z.string(),
388
+ enabled: z.boolean().optional(),
389
+ layout: ViewExperienceLayoutSchema.optional(),
390
+ scope: ViewExperienceScopeSchema.optional(),
391
+ navigation: z.array(ViewNavigationItemSchema).optional(),
392
+ search: ViewSearchConfigurationSchema.optional(),
393
+ results: ViewResultsConfigurationSchema.optional(),
394
+ description: z.string(),
395
+ id: z.string(),
396
+ version: ViewExperienceSchemaVersionSchema,
397
+ revision: z.number(),
398
+ created_by: z.string(),
399
+ updated_by: z.string(),
400
+ created_at: z.string(),
401
+ updated_at: z.string(),
402
+ })
403
+ .meta({ id: 'ViewExperience' });
404
+
405
+ export const UpdateViewExperienceRequestSchema = z
406
+ .strictObject({
407
+ name: z.string(),
408
+ enabled: z.boolean().optional(),
409
+ layout: ViewExperienceLayoutSchema.optional(),
410
+ scope: ViewExperienceScopeSchema.optional(),
411
+ navigation: z.array(ViewNavigationItemSchema).optional(),
412
+ search: ViewSearchConfigurationSchema.optional(),
413
+ results: ViewResultsConfigurationSchema.optional(),
414
+ description: z.string(),
415
+ version: ViewExperienceSchemaVersionSchema,
416
+ revision: z.number(),
417
+ })
418
+ .meta({
419
+ id: 'UpdateViewExperienceRequest',
420
+ description: 'PUT uses full replacement so omitted optional configuration is removed.',
421
+ });
422
+
423
+ export const ViewExperienceArraySchema = z.array(ViewExperienceSchema).meta({ id: 'ViewExperienceArray' });
424
+
425
+ // Query contracts are registry components even though the scanner expands them into parameters.
426
+ export const ViewExperienceListQuerySchema = z
427
+ .strictObject({
428
+ limit: z
429
+ .number()
430
+ .meta({ description: 'Page size. Clamped to 1..100; anything unparseable falls back to 50.' })
431
+ .optional(),
432
+ offset: z
433
+ .number()
434
+ .meta({ description: 'Number of Views to skip. Negative values are clamped to 0.' })
435
+ .optional(),
436
+ })
437
+ .meta({ id: 'ViewExperienceListQuery' });