@vertesia/common 1.5.0-dev.20260807.073259Z → 1.5.0-dev.20260901.005903Z

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 (451) hide show
  1. package/lib/access-control.d.ts +0 -14
  2. package/lib/access-control.d.ts.map +1 -1
  3. package/lib/access-control.js +0 -23
  4. package/lib/access-control.js.map +1 -1
  5. package/lib/account-values.d.ts +0 -10
  6. package/lib/account-values.d.ts.map +1 -1
  7. package/lib/account-values.js +0 -44
  8. package/lib/account-values.js.map +1 -1
  9. package/lib/api-contract/components.generated.json +40405 -0
  10. package/lib/api-contract/index.d.ts +186 -0
  11. package/lib/api-contract/index.d.ts.map +1 -0
  12. package/lib/api-contract/index.js +554 -0
  13. package/lib/api-contract/index.js.map +1 -0
  14. package/lib/api-schemas/agent-communication.d.ts +199 -0
  15. package/lib/api-schemas/agent-communication.d.ts.map +1 -0
  16. package/lib/api-schemas/agent-communication.js +150 -0
  17. package/lib/api-schemas/agent-communication.js.map +1 -0
  18. package/lib/api-schemas/agent-runs.d.ts +593 -0
  19. package/lib/api-schemas/agent-runs.d.ts.map +1 -1
  20. package/lib/api-schemas/agent-runs.js +44 -2
  21. package/lib/api-schemas/agent-runs.js.map +1 -1
  22. package/lib/api-schemas/app-lifecycle.d.ts +19 -0
  23. package/lib/api-schemas/app-lifecycle.d.ts.map +1 -1
  24. package/lib/api-schemas/app-lifecycle.js +34 -4
  25. package/lib/api-schemas/app-lifecycle.js.map +1 -1
  26. package/lib/api-schemas/app-runtime.d.ts +9871 -9257
  27. package/lib/api-schemas/app-runtime.d.ts.map +1 -1
  28. package/lib/api-schemas/app-runtime.js +7 -0
  29. package/lib/api-schemas/app-runtime.js.map +1 -1
  30. package/lib/api-schemas/apps.d.ts +1 -0
  31. package/lib/api-schemas/apps.d.ts.map +1 -1
  32. package/lib/api-schemas/apps.js +4 -3
  33. package/lib/api-schemas/apps.js.map +1 -1
  34. package/lib/api-schemas/content-query.d.ts +39 -0
  35. package/lib/api-schemas/content-query.d.ts.map +1 -0
  36. package/lib/api-schemas/content-query.js +30 -0
  37. package/lib/api-schemas/content-query.js.map +1 -0
  38. package/lib/api-schemas/content.d.ts +835 -29
  39. package/lib/api-schemas/content.d.ts.map +1 -1
  40. package/lib/api-schemas/content.js +82 -15
  41. package/lib/api-schemas/content.js.map +1 -1
  42. package/lib/api-schemas/dashboard.d.ts +4 -0
  43. package/lib/api-schemas/dashboard.d.ts.map +1 -1
  44. package/lib/api-schemas/dashboard.js +3 -0
  45. package/lib/api-schemas/dashboard.js.map +1 -1
  46. package/lib/api-schemas/document-processing.d.ts +333 -0
  47. package/lib/api-schemas/document-processing.d.ts.map +1 -1
  48. package/lib/api-schemas/events.d.ts +1007 -4
  49. package/lib/api-schemas/events.d.ts.map +1 -1
  50. package/lib/api-schemas/events.js +4 -1
  51. package/lib/api-schemas/events.js.map +1 -1
  52. package/lib/api-schemas/files.d.ts +17 -0
  53. package/lib/api-schemas/files.d.ts.map +1 -1
  54. package/lib/api-schemas/files.js +23 -0
  55. package/lib/api-schemas/files.js.map +1 -1
  56. package/lib/api-schemas/group.d.ts +7 -0
  57. package/lib/api-schemas/group.d.ts.map +1 -1
  58. package/lib/api-schemas/group.js +9 -0
  59. package/lib/api-schemas/group.js.map +1 -1
  60. package/lib/api-schemas/index.d.ts +4 -0
  61. package/lib/api-schemas/index.d.ts.map +1 -1
  62. package/lib/api-schemas/index.js +4 -0
  63. package/lib/api-schemas/index.js.map +1 -1
  64. package/lib/api-schemas/integrations.d.ts +19 -5
  65. package/lib/api-schemas/integrations.d.ts.map +1 -1
  66. package/lib/api-schemas/integrations.js +25 -2
  67. package/lib/api-schemas/integrations.js.map +1 -1
  68. package/lib/api-schemas/interaction.d.ts +8399 -1076
  69. package/lib/api-schemas/interaction.d.ts.map +1 -1
  70. package/lib/api-schemas/interaction.js +161 -9
  71. package/lib/api-schemas/interaction.js.map +1 -1
  72. package/lib/api-schemas/oauth-server.d.ts +131 -3
  73. package/lib/api-schemas/oauth-server.d.ts.map +1 -1
  74. package/lib/api-schemas/oauth-server.js +137 -3
  75. package/lib/api-schemas/oauth-server.js.map +1 -1
  76. package/lib/api-schemas/process.d.ts +1295 -0
  77. package/lib/api-schemas/process.d.ts.map +1 -1
  78. package/lib/api-schemas/process.js +318 -2
  79. package/lib/api-schemas/process.js.map +1 -1
  80. package/lib/api-schemas/project-configuration.d.ts +1118 -1
  81. package/lib/api-schemas/project-configuration.d.ts.map +1 -1
  82. package/lib/api-schemas/project-configuration.js +6 -2
  83. package/lib/api-schemas/project-configuration.js.map +1 -1
  84. package/lib/api-schemas/project.d.ts +1680 -6
  85. package/lib/api-schemas/project.d.ts.map +1 -1
  86. package/lib/api-schemas/registry.d.ts +87529 -69142
  87. package/lib/api-schemas/registry.d.ts.map +1 -1
  88. package/lib/api-schemas/registry.js +234 -413
  89. package/lib/api-schemas/registry.js.map +1 -1
  90. package/lib/api-schemas/schema-primitives.d.ts +4 -0
  91. package/lib/api-schemas/schema-primitives.d.ts.map +1 -1
  92. package/lib/api-schemas/schema-primitives.js +10 -0
  93. package/lib/api-schemas/schema-primitives.js.map +1 -1
  94. package/lib/api-schemas/store.d.ts +5596 -37
  95. package/lib/api-schemas/store.d.ts.map +1 -1
  96. package/lib/api-schemas/store.js +53 -8
  97. package/lib/api-schemas/store.js.map +1 -1
  98. package/lib/api-schemas/tools.d.ts +115 -0
  99. package/lib/api-schemas/tools.d.ts.map +1 -1
  100. package/lib/api-schemas/tools.js +55 -0
  101. package/lib/api-schemas/tools.js.map +1 -1
  102. package/lib/api-schemas/view-execution.d.ts +330 -854
  103. package/lib/api-schemas/view-execution.d.ts.map +1 -1
  104. package/lib/api-schemas/view-execution.js +26 -2
  105. package/lib/api-schemas/view-execution.js.map +1 -1
  106. package/lib/api-schemas/views.d.ts +452 -2562
  107. package/lib/api-schemas/views.d.ts.map +1 -1
  108. package/lib/api-schemas/views.js +119 -3
  109. package/lib/api-schemas/views.js.map +1 -1
  110. package/lib/api-schemas/workflow-runs.d.ts +344 -5
  111. package/lib/api-schemas/workflow-runs.d.ts.map +1 -1
  112. package/lib/api-schemas/workflow-runs.js +9 -7
  113. package/lib/api-schemas/workflow-runs.js.map +1 -1
  114. package/lib/apps.d.ts +8 -145
  115. package/lib/apps.d.ts.map +1 -1
  116. package/lib/apps.js +1 -54
  117. package/lib/apps.js.map +1 -1
  118. package/lib/ask-user.d.ts +2 -1
  119. package/lib/ask-user.d.ts.map +1 -1
  120. package/lib/audit-trail.d.ts +2 -2
  121. package/lib/audit-trail.d.ts.map +1 -1
  122. package/lib/audit-trail.js +2 -2
  123. package/lib/audit-trail.js.map +1 -1
  124. package/lib/browser-credentials.d.ts +2 -7
  125. package/lib/browser-credentials.d.ts.map +1 -1
  126. package/lib/common.d.ts +4 -1
  127. package/lib/common.d.ts.map +1 -1
  128. package/lib/content-query.d.ts +5 -0
  129. package/lib/content-query.d.ts.map +1 -0
  130. package/lib/content-query.js +2 -0
  131. package/lib/content-query.js.map +1 -0
  132. package/lib/data-platform.d.ts +4 -46
  133. package/lib/data-platform.d.ts.map +1 -1
  134. package/lib/data-platform.js.map +1 -1
  135. package/lib/email.d.ts +12 -18
  136. package/lib/email.d.ts.map +1 -1
  137. package/lib/email.js.map +1 -1
  138. package/lib/environment.d.ts +0 -10
  139. package/lib/environment.d.ts.map +1 -1
  140. package/lib/environment.js +1 -12
  141. package/lib/environment.js.map +1 -1
  142. package/lib/facets.d.ts +0 -4
  143. package/lib/facets.d.ts.map +1 -1
  144. package/lib/group.d.ts +2 -12
  145. package/lib/group.d.ts.map +1 -1
  146. package/lib/group.js.map +1 -1
  147. package/lib/index.d.ts +3 -10
  148. package/lib/index.d.ts.map +1 -1
  149. package/lib/index.js +2 -10
  150. package/lib/index.js.map +1 -1
  151. package/lib/integrations.d.ts +1 -27
  152. package/lib/integrations.d.ts.map +1 -1
  153. package/lib/integrations.js +0 -6
  154. package/lib/integrations.js.map +1 -1
  155. package/lib/interaction.d.ts +10 -222
  156. package/lib/interaction.d.ts.map +1 -1
  157. package/lib/interaction.js +0 -31
  158. package/lib/interaction.js.map +1 -1
  159. package/lib/meters.d.ts +5 -10
  160. package/lib/meters.d.ts.map +1 -1
  161. package/lib/meters.js +1 -9
  162. package/lib/meters.js.map +1 -1
  163. package/lib/oauth-scopes.d.ts +2 -16
  164. package/lib/oauth-scopes.d.ts.map +1 -1
  165. package/lib/oauth-scopes.js +9 -49
  166. package/lib/oauth-scopes.js.map +1 -1
  167. package/lib/oauth-server.d.ts +16 -195
  168. package/lib/oauth-server.d.ts.map +1 -1
  169. package/lib/payload.d.ts +2 -5
  170. package/lib/payload.d.ts.map +1 -1
  171. package/lib/pending-asks.d.ts +9 -41
  172. package/lib/pending-asks.d.ts.map +1 -1
  173. package/lib/platform-event.d.ts +4 -142
  174. package/lib/platform-event.d.ts.map +1 -1
  175. package/lib/platform-event.js.map +1 -1
  176. package/lib/project.d.ts +7 -46
  177. package/lib/project.d.ts.map +1 -1
  178. package/lib/project.js +2 -132
  179. package/lib/project.js.map +1 -1
  180. package/lib/prompt.d.ts +4 -7
  181. package/lib/prompt.d.ts.map +1 -1
  182. package/lib/prompt.js.map +1 -1
  183. package/lib/query.d.ts +0 -8
  184. package/lib/query.d.ts.map +1 -1
  185. package/lib/rate-limiter.d.ts +4 -3
  186. package/lib/rate-limiter.d.ts.map +1 -1
  187. package/lib/runs.d.ts +5 -1
  188. package/lib/runs.d.ts.map +1 -1
  189. package/lib/schema-for-extraction.d.ts +0 -1
  190. package/lib/schema-for-extraction.d.ts.map +1 -1
  191. package/lib/schema-for-extraction.js +1 -1
  192. package/lib/schema-for-extraction.js.map +1 -1
  193. package/lib/secrets.d.ts +2 -1
  194. package/lib/secrets.d.ts.map +1 -1
  195. package/lib/skill.d.ts +0 -13
  196. package/lib/skill.d.ts.map +1 -1
  197. package/lib/store/activity-catalog.d.ts +2 -0
  198. package/lib/store/activity-catalog.d.ts.map +1 -1
  199. package/lib/store/agent-approval.d.ts +0 -1
  200. package/lib/store/agent-approval.d.ts.map +1 -1
  201. package/lib/store/agent-approval.js +0 -3
  202. package/lib/store/agent-approval.js.map +1 -1
  203. package/lib/store/agent-run.d.ts +32 -69
  204. package/lib/store/agent-run.d.ts.map +1 -1
  205. package/lib/store/collections.d.ts +2 -6
  206. package/lib/store/collections.d.ts.map +1 -1
  207. package/lib/store/collections.js.map +1 -1
  208. package/lib/store/conversation-state.d.ts +11 -12
  209. package/lib/store/conversation-state.d.ts.map +1 -1
  210. package/lib/store/conversation-state.js +0 -18
  211. package/lib/store/conversation-state.js.map +1 -1
  212. package/lib/store/doc-analyzer.d.ts +0 -22
  213. package/lib/store/doc-analyzer.d.ts.map +1 -1
  214. package/lib/store/dsl-workflow.d.ts +22 -5
  215. package/lib/store/dsl-workflow.d.ts.map +1 -1
  216. package/lib/store/dsl-workflow.js.map +1 -1
  217. package/lib/store/grounded-extraction.d.ts +0 -14
  218. package/lib/store/grounded-extraction.d.ts.map +1 -1
  219. package/lib/store/grounded-extraction.js +1 -7
  220. package/lib/store/grounded-extraction.js.map +1 -1
  221. package/lib/store/index.d.ts +0 -5
  222. package/lib/store/index.d.ts.map +1 -1
  223. package/lib/store/index.js +0 -6
  224. package/lib/store/index.js.map +1 -1
  225. package/lib/store/intake-policy-schema.generated.d.ts.map +1 -1
  226. package/lib/store/intake-policy-schema.generated.js +279 -1
  227. package/lib/store/intake-policy-schema.generated.js.map +1 -1
  228. package/lib/store/process.d.ts +43 -1
  229. package/lib/store/process.d.ts.map +1 -1
  230. package/lib/store/process.js.map +1 -1
  231. package/lib/store/rendering.d.ts +3 -5
  232. package/lib/store/rendering.d.ts.map +1 -1
  233. package/lib/store/rendering.js +0 -4
  234. package/lib/store/rendering.js.map +1 -1
  235. package/lib/store/schedule.d.ts +0 -16
  236. package/lib/store/schedule.d.ts.map +1 -1
  237. package/lib/store/schedule.js.map +1 -1
  238. package/lib/store/signals.d.ts +12 -0
  239. package/lib/store/signals.d.ts.map +1 -1
  240. package/lib/store/store.d.ts +80 -94
  241. package/lib/store/store.d.ts.map +1 -1
  242. package/lib/store/store.js +5 -25
  243. package/lib/store/store.js.map +1 -1
  244. package/lib/store/workflow.d.ts +35 -86
  245. package/lib/store/workflow.d.ts.map +1 -1
  246. package/lib/store/workflow.js +0 -47
  247. package/lib/store/workflow.js.map +1 -1
  248. package/lib/sts-errors.d.ts +0 -1
  249. package/lib/sts-errors.d.ts.map +1 -1
  250. package/lib/sts-token-types.d.ts +2 -8
  251. package/lib/sts-token-types.d.ts.map +1 -1
  252. package/lib/sts-token-types.js +1 -19
  253. package/lib/sts-token-types.js.map +1 -1
  254. package/lib/tools.d.ts +6 -1
  255. package/lib/tools.d.ts.map +1 -1
  256. package/lib/transient-tokens.d.ts +0 -2
  257. package/lib/transient-tokens.d.ts.map +1 -1
  258. package/lib/user.d.ts +0 -17
  259. package/lib/user.d.ts.map +1 -1
  260. package/lib/user.js.map +1 -1
  261. package/lib/utils/schemas.d.ts +2 -24
  262. package/lib/utils/schemas.d.ts.map +1 -1
  263. package/lib/utils/schemas.js +0 -151
  264. package/lib/utils/schemas.js.map +1 -1
  265. package/lib/vertesia-common.js +3 -4
  266. package/lib/vertesia-common.js.map +1 -1
  267. package/lib/views.d.ts +23 -27
  268. package/lib/views.d.ts.map +1 -1
  269. package/lib/views.js +5 -26
  270. package/lib/views.js.map +1 -1
  271. package/lib/workflow-analytics.d.ts +12 -34
  272. package/lib/workflow-analytics.d.ts.map +1 -1
  273. package/package.json +12 -6
  274. package/src/access-control.ts +0 -26
  275. package/src/account-values.ts +0 -49
  276. package/src/agent-resources.test.ts +1 -12
  277. package/src/api-contract/components.contract.test.ts +99 -0
  278. package/src/api-contract/components.generated.json +40405 -0
  279. package/src/api-contract/index.ts +664 -0
  280. package/src/api-schemas/agent-communication.contract.test.ts +90 -0
  281. package/src/api-schemas/agent-communication.ts +169 -0
  282. package/src/api-schemas/agent-runs.ts +46 -1
  283. package/src/api-schemas/api-discriminators.test.ts +101 -0
  284. package/src/api-schemas/app-lifecycle.ts +39 -4
  285. package/src/api-schemas/app-runtime.ts +8 -0
  286. package/src/api-schemas/apps.ts +4 -3
  287. package/src/api-schemas/content-query.ts +31 -0
  288. package/src/api-schemas/content.ts +88 -15
  289. package/src/api-schemas/dashboard.contract.test.ts +16 -5
  290. package/src/api-schemas/dashboard.ts +3 -0
  291. package/src/api-schemas/events.ts +9 -1
  292. package/src/api-schemas/files.ts +27 -0
  293. package/src/api-schemas/group.ts +10 -0
  294. package/src/api-schemas/index.ts +4 -0
  295. package/src/api-schemas/integrations.ts +27 -2
  296. package/src/api-schemas/interaction.contract.test.ts +204 -1
  297. package/src/api-schemas/interaction.ts +176 -8
  298. package/src/api-schemas/llumiverse.contract.test.ts +33 -2
  299. package/src/api-schemas/oauth-server.ts +152 -3
  300. package/src/api-schemas/oauth.contract.test.ts +64 -1
  301. package/src/api-schemas/process.ts +352 -2
  302. package/src/api-schemas/project-configuration.ts +11 -7
  303. package/src/api-schemas/project.contract.test.ts +83 -6
  304. package/src/api-schemas/registry.ts +290 -457
  305. package/src/api-schemas/schema-primitives.ts +13 -0
  306. package/src/api-schemas/store.contract.test.ts +30 -1
  307. package/src/api-schemas/store.ts +58 -11
  308. package/src/api-schemas/tools.ts +62 -0
  309. package/src/api-schemas/view-execution.ts +28 -2
  310. package/src/api-schemas/views.contract.test.ts +119 -0
  311. package/src/api-schemas/views.ts +142 -3
  312. package/src/api-schemas/workflow-runs.ts +9 -7
  313. package/src/api-schemas/zeno-response-contracts.test.ts +344 -0
  314. package/src/apps.test.ts +2 -40
  315. package/src/apps.ts +14 -181
  316. package/src/ask-user.ts +1 -1
  317. package/src/audit-trail.ts +3 -3
  318. package/src/browser-credentials.ts +3 -7
  319. package/src/common.ts +13 -1
  320. package/src/content-query.ts +5 -0
  321. package/src/data-platform.ts +4 -51
  322. package/src/email.ts +24 -18
  323. package/src/environment.ts +1 -14
  324. package/src/facets.ts +0 -6
  325. package/src/group.ts +2 -12
  326. package/src/index.ts +3 -15
  327. package/src/integrations.ts +1 -52
  328. package/src/interaction.ts +12 -271
  329. package/src/meters.ts +10 -11
  330. package/src/oauth-scopes.test.ts +15 -0
  331. package/src/oauth-scopes.ts +10 -64
  332. package/src/oauth-server.ts +28 -215
  333. package/src/payload.ts +1 -6
  334. package/src/pending-asks.ts +17 -42
  335. package/src/platform-event.ts +3 -156
  336. package/src/project.ts +12 -160
  337. package/src/prompt.ts +9 -8
  338. package/src/query.ts +0 -9
  339. package/src/rate-limiter.ts +3 -3
  340. package/src/runs.ts +8 -0
  341. package/src/schema-for-extraction.ts +1 -1
  342. package/src/secrets.ts +3 -0
  343. package/src/skill.ts +0 -15
  344. package/src/store/activity-catalog.ts +3 -0
  345. package/src/store/agent-approval.ts +0 -4
  346. package/src/store/agent-run.ts +39 -93
  347. package/src/store/collections.ts +3 -6
  348. package/src/store/conversation-state.ts +12 -25
  349. package/src/store/doc-analyzer.ts +0 -26
  350. package/src/store/dsl-workflow.ts +28 -5
  351. package/src/store/grounded-extraction.ts +0 -18
  352. package/src/store/index.ts +0 -6
  353. package/src/store/intake-policy-schema.generated.ts +293 -1
  354. package/src/store/process.ts +84 -0
  355. package/src/store/rendering.ts +3 -8
  356. package/src/store/schedule.ts +0 -19
  357. package/src/store/signals.ts +14 -0
  358. package/src/store/store.ts +118 -127
  359. package/src/store/workflow.ts +32 -120
  360. package/src/sts-errors.ts +0 -2
  361. package/src/sts-token-types.ts +3 -28
  362. package/src/tools.ts +15 -0
  363. package/src/transient-tokens.ts +0 -2
  364. package/src/user.ts +0 -20
  365. package/src/utils/schemas.ts +2 -159
  366. package/src/views.ts +50 -47
  367. package/src/workflow-analytics.ts +12 -40
  368. package/tsconfig.dist.json +4 -1
  369. package/lib/Progress.d.ts +0 -22
  370. package/lib/Progress.d.ts.map +0 -1
  371. package/lib/Progress.js +0 -57
  372. package/lib/Progress.js.map +0 -1
  373. package/lib/agent-request-template.d.ts +0 -4
  374. package/lib/agent-request-template.d.ts.map +0 -1
  375. package/lib/agent-request-template.js +0 -46
  376. package/lib/agent-request-template.js.map +0 -1
  377. package/lib/channels.d.ts +0 -22
  378. package/lib/channels.d.ts.map +0 -1
  379. package/lib/channels.js +0 -57
  380. package/lib/channels.js.map +0 -1
  381. package/lib/host-utils.d.ts +0 -8
  382. package/lib/host-utils.d.ts.map +0 -1
  383. package/lib/host-utils.js +0 -84
  384. package/lib/host-utils.js.map +0 -1
  385. package/lib/platform-event-validation.d.ts +0 -45
  386. package/lib/platform-event-validation.d.ts.map +0 -1
  387. package/lib/platform-event-validation.js +0 -336
  388. package/lib/platform-event-validation.js.map +0 -1
  389. package/lib/store/hive-memory.d.ts +0 -117
  390. package/lib/store/hive-memory.d.ts.map +0 -1
  391. package/lib/store/hive-memory.js +0 -2
  392. package/lib/store/hive-memory.js.map +0 -1
  393. package/lib/store/object-types.d.ts +0 -24
  394. package/lib/store/object-types.d.ts.map +0 -1
  395. package/lib/store/object-types.js +0 -95
  396. package/lib/store/object-types.js.map +0 -1
  397. package/lib/store/process-schema.d.ts +0 -561
  398. package/lib/store/process-schema.d.ts.map +0 -1
  399. package/lib/store/process-schema.js +0 -561
  400. package/lib/store/process-schema.js.map +0 -1
  401. package/lib/store/process-validation.d.ts +0 -17
  402. package/lib/store/process-validation.d.ts.map +0 -1
  403. package/lib/store/process-validation.js +0 -515
  404. package/lib/store/process-validation.js.map +0 -1
  405. package/lib/store/temporalio.d.ts +0 -17
  406. package/lib/store/temporalio.d.ts.map +0 -1
  407. package/lib/store/temporalio.js +0 -41
  408. package/lib/store/temporalio.js.map +0 -1
  409. package/lib/view-configuration-validation.d.ts +0 -15
  410. package/lib/view-configuration-validation.d.ts.map +0 -1
  411. package/lib/view-configuration-validation.js +0 -63
  412. package/lib/view-configuration-validation.js.map +0 -1
  413. package/lib/view-query-validation.d.ts +0 -13
  414. package/lib/view-query-validation.d.ts.map +0 -1
  415. package/lib/view-query-validation.js +0 -266
  416. package/lib/view-query-validation.js.map +0 -1
  417. package/lib/view-validation-helpers.d.ts +0 -15
  418. package/lib/view-validation-helpers.d.ts.map +0 -1
  419. package/lib/view-validation-helpers.js +0 -25
  420. package/lib/view-validation-helpers.js.map +0 -1
  421. package/lib/views-schema.d.ts +0 -1992
  422. package/lib/views-schema.d.ts.map +0 -1
  423. package/lib/views-schema.js +0 -674
  424. package/lib/views-schema.js.map +0 -1
  425. package/lib/views-validation.d.ts +0 -21
  426. package/lib/views-validation.d.ts.map +0 -1
  427. package/lib/views-validation.js +0 -164
  428. package/lib/views-validation.js.map +0 -1
  429. package/src/Progress.ts +0 -59
  430. package/src/agent-request-template.test.ts +0 -40
  431. package/src/agent-request-template.ts +0 -45
  432. package/src/channels.ts +0 -70
  433. package/src/host-utils.test.ts +0 -61
  434. package/src/host-utils.ts +0 -93
  435. package/src/platform-event-validation.test.ts +0 -251
  436. package/src/platform-event-validation.ts +0 -372
  437. package/src/project.test.ts +0 -44
  438. package/src/store/hive-memory.ts +0 -167
  439. package/src/store/object-types.ts +0 -123
  440. package/src/store/process-schema.test.ts +0 -149
  441. package/src/store/process-schema.ts +0 -564
  442. package/src/store/process-validation.test.ts +0 -635
  443. package/src/store/process-validation.ts +0 -646
  444. package/src/store/temporalio.ts +0 -54
  445. package/src/view-configuration-validation.ts +0 -74
  446. package/src/view-query-validation.test.ts +0 -21
  447. package/src/view-query-validation.ts +0 -319
  448. package/src/view-validation-helpers.ts +0 -28
  449. package/src/views-schema.test.ts +0 -372
  450. package/src/views-schema.ts +0 -689
  451. package/src/views-validation.ts +0 -234
@@ -1,689 +0,0 @@
1
- import type { JSONSchema } from './json-schema.js';
2
- import {
3
- ELASTICSEARCH_FIELD_PATH_PATTERN_SOURCE,
4
- VIEW_CONFIGURATION_ID_PATTERN_SOURCE,
5
- } from './view-validation-helpers.js';
6
- import { VIEW_RESULT_FIELD_FORMATS, VIEW_SEARCH_FIELD_TYPES } from './views.js';
7
-
8
- export const VIEW_EXPERIENCE_CONFIGURATION_JSON_SCHEMA_ID =
9
- 'https://schemas.vertesia.com/view-experience.v1.schema.json';
10
- export const PERSISTED_VIEW_EXPERIENCE_CONFIGURATION_JSON_SCHEMA_ID =
11
- 'https://schemas.vertesia.com/persisted-view-experience.v1.schema.json';
12
-
13
- /**
14
- * Canonical structural schema for reusable inline and app-contributed View configuration.
15
- *
16
- * Cross-reference rules such as unique navigation ids and valid default display
17
- * references are enforced by validateViewConfiguration().
18
- */
19
- export const ViewExperienceConfigurationJsonSchema = {
20
- $id: VIEW_EXPERIENCE_CONFIGURATION_JSON_SCHEMA_ID,
21
- type: 'object',
22
- title: 'View Experience',
23
- description:
24
- 'A reusable content navigation and search experience. Save it through /api/v1/views, then render it at /view/<id>.',
25
- properties: {
26
- name: {
27
- type: 'string',
28
- minLength: 1,
29
- maxLength: 120,
30
- description: 'Human-readable View name.',
31
- },
32
- description: {
33
- type: 'string',
34
- maxLength: 4000,
35
- description: 'Purpose and intended audience of this View.',
36
- },
37
- enabled: {
38
- type: 'boolean',
39
- description: 'Whether the View may be executed.',
40
- },
41
- layout: {
42
- $ref: '#/$defs/layout',
43
- },
44
- scope: {
45
- $ref: '#/$defs/scope',
46
- },
47
- navigation: {
48
- type: 'array',
49
- maxItems: 20,
50
- description: 'Ordered facets or hierarchies used to browse the scoped content.',
51
- items: {
52
- oneOf: [
53
- { $ref: '#/$defs/locationNavigation' },
54
- { $ref: '#/$defs/collectionNavigation' },
55
- { $ref: '#/$defs/termsNavigation' },
56
- { $ref: '#/$defs/hierarchyNavigation' },
57
- { $ref: '#/$defs/rangeNavigation' },
58
- ],
59
- },
60
- },
61
- search: {
62
- $ref: '#/$defs/search',
63
- },
64
- results: {
65
- $ref: '#/$defs/results',
66
- },
67
- },
68
- required: ['name'],
69
- additionalProperties: false,
70
- $defs: {
71
- configurationId: {
72
- type: 'string',
73
- minLength: 1,
74
- maxLength: 64,
75
- pattern: VIEW_CONFIGURATION_ID_PATTERN_SOURCE,
76
- description: 'Stable id starting with a letter and containing letters, numbers, underscores, or hyphens.',
77
- },
78
- fieldName: {
79
- type: 'string',
80
- minLength: 1,
81
- maxLength: 160,
82
- pattern: ELASTICSEARCH_FIELD_PATH_PATTERN_SOURCE,
83
- description: 'Dot-separated Elasticsearch field name.',
84
- },
85
- stringArray: {
86
- type: 'array',
87
- maxItems: 100,
88
- items: {
89
- type: 'string',
90
- minLength: 1,
91
- },
92
- },
93
- layout: {
94
- type: 'object',
95
- description: 'Overall browsing layout.',
96
- properties: {
97
- mode: {
98
- type: 'string',
99
- enum: ['browse', 'worklist'],
100
- description: 'Browse emphasizes discovery; worklist emphasizes case-style task handling.',
101
- },
102
- navigation_position: {
103
- type: 'string',
104
- enum: ['sidebar', 'top'],
105
- description: 'Where navigation widgets appear.',
106
- },
107
- },
108
- required: [],
109
- additionalProperties: false,
110
- },
111
- scope: {
112
- type: 'object',
113
- description: 'Hard boundary applied to every search and navigation query.',
114
- properties: {
115
- type_ids: {
116
- $ref: '#/$defs/stringArray',
117
- description: 'Content type ids included in the View.',
118
- },
119
- locations: {
120
- $ref: '#/$defs/stringArray',
121
- description: 'Absolute content location roots included in the View.',
122
- },
123
- collection_ids: {
124
- $ref: '#/$defs/stringArray',
125
- description: 'Collection ids included in the View.',
126
- },
127
- include_collection_descendants: {
128
- type: 'boolean',
129
- description: 'Include descendants of scoped collections.',
130
- },
131
- fixed_filter: {
132
- type: 'object',
133
- description:
134
- 'Elasticsearch query clause always applied by the runtime. Script-like and unsafe clauses are rejected.',
135
- required: [],
136
- additionalProperties: true,
137
- },
138
- head_only: {
139
- type: 'boolean',
140
- description: 'Return only current head revisions.',
141
- },
142
- },
143
- required: [],
144
- additionalProperties: false,
145
- },
146
- locationNavigation: {
147
- type: 'object',
148
- title: 'Location hierarchy',
149
- description: 'Browse the hierarchical content location path.',
150
- properties: {
151
- id: { $ref: '#/$defs/configurationId' },
152
- label: { type: 'string', minLength: 1, maxLength: 120 },
153
- source: { const: 'location' },
154
- presentation: { type: 'string', enum: ['tree', 'list', 'select', 'chips'] },
155
- multi_select: { type: 'boolean' },
156
- order: { type: 'integer' },
157
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
158
- roots: {
159
- type: 'array',
160
- maxItems: 50,
161
- items: { type: 'string', pattern: '^/' },
162
- description: 'Absolute location roots shown by the hierarchy.',
163
- },
164
- depth: {
165
- type: 'integer',
166
- minimum: 1,
167
- maximum: 20,
168
- },
169
- },
170
- required: ['id', 'label', 'source'],
171
- additionalProperties: false,
172
- },
173
- collectionNavigation: {
174
- type: 'object',
175
- title: 'Collection hierarchy',
176
- description: 'Browse collection membership and optionally collection descendants.',
177
- properties: {
178
- id: { $ref: '#/$defs/configurationId' },
179
- label: { type: 'string', minLength: 1, maxLength: 120 },
180
- source: { const: 'collection' },
181
- presentation: { type: 'string', enum: ['tree', 'list', 'select', 'chips'] },
182
- multi_select: { type: 'boolean' },
183
- order: { type: 'integer' },
184
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
185
- roots: {
186
- type: 'array',
187
- maxItems: 50,
188
- items: { type: 'string', minLength: 1 },
189
- },
190
- include_descendants: {
191
- type: 'boolean',
192
- },
193
- },
194
- required: ['id', 'label', 'source'],
195
- additionalProperties: false,
196
- },
197
- termsNavigation: {
198
- type: 'object',
199
- title: 'Property facet',
200
- description: 'Bucket a keyword-like property such as brand.',
201
- properties: {
202
- id: { $ref: '#/$defs/configurationId' },
203
- label: { type: 'string', minLength: 1, maxLength: 120 },
204
- source: { const: 'terms' },
205
- presentation: { type: 'string', enum: ['tree', 'list', 'select', 'chips'] },
206
- multi_select: { type: 'boolean' },
207
- order: { type: 'integer' },
208
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
209
- field: { $ref: '#/$defs/fieldName' },
210
- size: {
211
- type: 'integer',
212
- minimum: 1,
213
- maximum: 500,
214
- },
215
- sort: {
216
- type: 'string',
217
- enum: ['count', 'label'],
218
- },
219
- },
220
- required: ['id', 'label', 'source', 'field'],
221
- additionalProperties: false,
222
- },
223
- hierarchyLevel: {
224
- type: 'object',
225
- title: 'Property hierarchy level',
226
- description: 'One mapped property in a drill-down hierarchy.',
227
- properties: {
228
- id: { $ref: '#/$defs/configurationId' },
229
- label: { type: 'string', minLength: 1, maxLength: 120 },
230
- field: { $ref: '#/$defs/fieldName' },
231
- size: {
232
- type: 'integer',
233
- minimum: 1,
234
- maximum: 500,
235
- },
236
- sort: {
237
- type: 'string',
238
- enum: ['count', 'label'],
239
- },
240
- },
241
- required: ['id', 'label', 'field'],
242
- additionalProperties: false,
243
- },
244
- hierarchyNavigation: {
245
- type: 'object',
246
- title: 'Property hierarchy',
247
- description: 'Drill down through mapped properties such as State, then City.',
248
- properties: {
249
- id: { $ref: '#/$defs/configurationId' },
250
- label: { type: 'string', minLength: 1, maxLength: 120 },
251
- source: { const: 'hierarchy' },
252
- presentation: { type: 'string', enum: ['tree', 'list', 'select', 'chips'] },
253
- multi_select: { const: false },
254
- order: { type: 'integer' },
255
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
256
- levels: {
257
- type: 'array',
258
- minItems: 2,
259
- maxItems: 10,
260
- items: { $ref: '#/$defs/hierarchyLevel' },
261
- },
262
- },
263
- required: ['id', 'label', 'source', 'levels'],
264
- additionalProperties: false,
265
- },
266
- rangeDefinition: {
267
- type: 'object',
268
- properties: {
269
- id: { $ref: '#/$defs/configurationId' },
270
- label: { type: 'string', minLength: 1, maxLength: 120 },
271
- from: { type: 'number' },
272
- to: { type: 'number' },
273
- },
274
- required: ['id', 'label'],
275
- additionalProperties: false,
276
- anyOf: [{ required: ['from'] }, { required: ['to'] }],
277
- },
278
- rangeNavigation: {
279
- type: 'object',
280
- title: 'Numeric range facet',
281
- description: 'Bucket a numeric property such as project_size into authored ranges.',
282
- properties: {
283
- id: { $ref: '#/$defs/configurationId' },
284
- label: { type: 'string', minLength: 1, maxLength: 120 },
285
- source: { const: 'range' },
286
- presentation: { type: 'string', enum: ['tree', 'list', 'select', 'chips'] },
287
- multi_select: { type: 'boolean' },
288
- order: { type: 'integer' },
289
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
290
- field: { $ref: '#/$defs/fieldName' },
291
- ranges: {
292
- type: 'array',
293
- minItems: 1,
294
- items: { $ref: '#/$defs/rangeDefinition' },
295
- },
296
- },
297
- required: ['id', 'label', 'source', 'field', 'ranges'],
298
- additionalProperties: false,
299
- },
300
- keyTerm: {
301
- type: 'object',
302
- description: 'A URL-serializable structured search input.',
303
- properties: {
304
- id: { $ref: '#/$defs/configurationId' },
305
- label: { type: 'string', minLength: 1, maxLength: 120 },
306
- field: { $ref: '#/$defs/fieldName' },
307
- type: {
308
- type: 'string',
309
- enum: [...VIEW_SEARCH_FIELD_TYPES],
310
- },
311
- multiple: { type: 'boolean' },
312
- operator: {
313
- type: 'string',
314
- enum: ['match', 'term', 'range'],
315
- },
316
- },
317
- required: ['id', 'label', 'type'],
318
- additionalProperties: false,
319
- },
320
- searchField: {
321
- type: 'object',
322
- description:
323
- 'A mapped Elasticsearch field available to query planning and deterministic full-text fallback.',
324
- properties: {
325
- field: { $ref: '#/$defs/fieldName' },
326
- description: {
327
- type: 'string',
328
- minLength: 1,
329
- maxLength: 500,
330
- description: 'Semantic meaning of the field for query planners.',
331
- },
332
- type: {
333
- type: 'string',
334
- enum: [...VIEW_SEARCH_FIELD_TYPES],
335
- description: 'Mapping hint used only when the active index does not expose the field type.',
336
- },
337
- mode: {
338
- type: 'string',
339
- enum: ['auto', 'full_text', 'exact'],
340
- description:
341
- 'Whether the field supports scoring text queries, structured exact queries, or mapping-derived behavior.',
342
- },
343
- boost: {
344
- type: 'number',
345
- minimum: 0.1,
346
- maximum: 20,
347
- description: 'Relative boost when the field participates in multi-field text search.',
348
- },
349
- },
350
- required: ['field'],
351
- additionalProperties: false,
352
- },
353
- interactionConfig: {
354
- type: 'object',
355
- description:
356
- 'One execution configuration for the agentic search model. Set environment and/or model to override project defaults.',
357
- properties: {
358
- id: { type: 'string' },
359
- environment: { type: 'string' },
360
- model: { type: 'string' },
361
- do_validate: { type: 'boolean' },
362
- run_data: { type: 'string' },
363
- configMode: { type: 'string' },
364
- model_options: {
365
- type: 'object',
366
- required: [],
367
- additionalProperties: true,
368
- },
369
- prompt_cache_key: { type: 'string' },
370
- prompt_cache_schema_suffix: { type: 'boolean' },
371
- http_timeout: {
372
- type: 'object',
373
- required: [],
374
- additionalProperties: true,
375
- },
376
- },
377
- required: [],
378
- additionalProperties: true,
379
- },
380
- agenticSearch: {
381
- type: 'object',
382
- description:
383
- 'Agentic query planning configuration. The default interaction is sys:ContentSearchAgent and it emits secured Elasticsearch DSL.',
384
- properties: {
385
- interaction: {
386
- type: 'string',
387
- maxLength: 200,
388
- description: 'Interaction id. Defaults to sys:ContentSearchAgent.',
389
- },
390
- config: { $ref: '#/$defs/interactionConfig' },
391
- instructions: {
392
- type: 'string',
393
- maxLength: 4000,
394
- description: 'Domain-specific guidance for translating natural language into Elasticsearch DSL.',
395
- },
396
- mode: {
397
- type: 'string',
398
- enum: ['query'],
399
- description: 'Generate and validate an Elasticsearch query before execution.',
400
- },
401
- timeout_ms: {
402
- type: 'integer',
403
- minimum: 1000,
404
- maximum: 60000,
405
- },
406
- minimum_confidence: {
407
- type: 'number',
408
- minimum: 0,
409
- maximum: 1,
410
- },
411
- },
412
- required: [],
413
- additionalProperties: false,
414
- },
415
- search: {
416
- type: 'object',
417
- description: 'Text and structured search configuration.',
418
- properties: {
419
- renderer: {
420
- type: 'string',
421
- maxLength: 120,
422
- description: 'Optional app-registered search renderer name.',
423
- },
424
- mode: {
425
- type: 'string',
426
- enum: ['deterministic', 'agentic'],
427
- },
428
- placeholder: {
429
- type: 'string',
430
- maxLength: 240,
431
- },
432
- fields: {
433
- type: 'array',
434
- maxItems: 50,
435
- items: { $ref: '#/$defs/searchField' },
436
- description:
437
- 'Fields disclosed to query planning. Text-capable entries also define deterministic fallback search.',
438
- },
439
- key_terms: {
440
- type: 'array',
441
- maxItems: 50,
442
- items: { $ref: '#/$defs/keyTerm' },
443
- },
444
- agentic: { $ref: '#/$defs/agenticSearch' },
445
- },
446
- required: [],
447
- additionalProperties: false,
448
- },
449
- resultField: {
450
- type: 'object',
451
- properties: {
452
- field: { $ref: '#/$defs/fieldName' },
453
- label: { type: 'string', maxLength: 120 },
454
- format: {
455
- type: 'string',
456
- enum: [...VIEW_RESULT_FIELD_FORMATS],
457
- },
458
- fallback: { type: 'string', maxLength: 240 },
459
- },
460
- required: ['field'],
461
- additionalProperties: false,
462
- },
463
- resultMedia: {
464
- type: 'object',
465
- properties: {
466
- source: {
467
- type: 'string',
468
- enum: ['content_thumbnail', 'property', 'type_icon'],
469
- },
470
- field: { $ref: '#/$defs/fieldName' },
471
- fit: {
472
- type: 'string',
473
- enum: ['cover', 'contain'],
474
- },
475
- fallback: {
476
- type: 'string',
477
- enum: ['type_icon', 'placeholder', 'none'],
478
- },
479
- },
480
- required: ['source'],
481
- additionalProperties: false,
482
- },
483
- resultFieldArray: {
484
- type: 'array',
485
- items: { $ref: '#/$defs/resultField' },
486
- },
487
- listDisplay: {
488
- type: 'object',
489
- properties: {
490
- id: { $ref: '#/$defs/configurationId' },
491
- label: { type: 'string', minLength: 1, maxLength: 120 },
492
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
493
- page_size: { type: 'integer', minimum: 1, maximum: 200 },
494
- type: { const: 'list' },
495
- title: { $ref: '#/$defs/resultField' },
496
- subtitle: { $ref: '#/$defs/resultFieldArray' },
497
- description: { $ref: '#/$defs/resultField' },
498
- media: { $ref: '#/$defs/resultMedia' },
499
- badges: { $ref: '#/$defs/resultFieldArray' },
500
- },
501
- required: ['id', 'label', 'type', 'title'],
502
- additionalProperties: false,
503
- },
504
- tableColumn: {
505
- type: 'object',
506
- properties: {
507
- field: { $ref: '#/$defs/fieldName' },
508
- label: { type: 'string', maxLength: 120 },
509
- format: {
510
- type: 'string',
511
- enum: [...VIEW_RESULT_FIELD_FORMATS],
512
- },
513
- fallback: { type: 'string', maxLength: 240 },
514
- width: { type: 'integer', minimum: 40, maximum: 2000 },
515
- sortable: { type: 'boolean' },
516
- sort_option: { $ref: '#/$defs/configurationId' },
517
- },
518
- required: ['field'],
519
- additionalProperties: false,
520
- },
521
- tableDisplay: {
522
- type: 'object',
523
- properties: {
524
- id: { $ref: '#/$defs/configurationId' },
525
- label: { type: 'string', minLength: 1, maxLength: 120 },
526
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
527
- page_size: { type: 'integer', minimum: 1, maximum: 200 },
528
- type: { const: 'table' },
529
- columns: {
530
- type: 'array',
531
- minItems: 1,
532
- items: { $ref: '#/$defs/tableColumn' },
533
- },
534
- },
535
- required: ['id', 'label', 'type', 'columns'],
536
- additionalProperties: false,
537
- },
538
- cardsDisplay: {
539
- type: 'object',
540
- properties: {
541
- id: { $ref: '#/$defs/configurationId' },
542
- label: { type: 'string', minLength: 1, maxLength: 120 },
543
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
544
- page_size: { type: 'integer', minimum: 1, maximum: 200 },
545
- type: { const: 'cards' },
546
- title: { $ref: '#/$defs/resultField' },
547
- description: { $ref: '#/$defs/resultField' },
548
- media: { $ref: '#/$defs/resultMedia' },
549
- fields: { $ref: '#/$defs/resultFieldArray' },
550
- badges: { $ref: '#/$defs/resultFieldArray' },
551
- columns: { type: 'integer', enum: [2, 3, 4, 5, 6] },
552
- },
553
- required: ['id', 'label', 'type', 'title'],
554
- additionalProperties: false,
555
- },
556
- galleryDisplay: {
557
- type: 'object',
558
- properties: {
559
- id: { $ref: '#/$defs/configurationId' },
560
- label: { type: 'string', minLength: 1, maxLength: 120 },
561
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
562
- page_size: { type: 'integer', minimum: 1, maximum: 200 },
563
- type: { const: 'gallery' },
564
- media: { $ref: '#/$defs/resultMedia' },
565
- title: { $ref: '#/$defs/resultField' },
566
- caption: { $ref: '#/$defs/resultFieldArray' },
567
- columns: { type: 'integer', enum: [2, 3, 4, 5, 6] },
568
- },
569
- required: ['id', 'label', 'type', 'media', 'title'],
570
- additionalProperties: false,
571
- },
572
- boardCard: {
573
- type: 'object',
574
- properties: {
575
- title: { $ref: '#/$defs/resultField' },
576
- description: { $ref: '#/$defs/resultField' },
577
- media: { $ref: '#/$defs/resultMedia' },
578
- fields: { $ref: '#/$defs/resultFieldArray' },
579
- badges: { $ref: '#/$defs/resultFieldArray' },
580
- },
581
- required: ['title'],
582
- additionalProperties: false,
583
- },
584
- boardColumn: {
585
- type: 'object',
586
- properties: {
587
- value: { type: 'string', minLength: 1 },
588
- label: { type: 'string', minLength: 1, maxLength: 120 },
589
- order: { type: 'integer' },
590
- },
591
- required: ['value', 'label'],
592
- additionalProperties: false,
593
- },
594
- boardDisplay: {
595
- type: 'object',
596
- properties: {
597
- id: { $ref: '#/$defs/configurationId' },
598
- label: { type: 'string', minLength: 1, maxLength: 120 },
599
- renderer: { type: 'string', minLength: 1, maxLength: 120 },
600
- page_size: { type: 'integer', minimum: 1, maximum: 200 },
601
- type: { const: 'board' },
602
- group_by: { $ref: '#/$defs/fieldName' },
603
- columns: {
604
- type: 'array',
605
- items: { $ref: '#/$defs/boardColumn' },
606
- },
607
- card: { $ref: '#/$defs/boardCard' },
608
- },
609
- required: ['id', 'label', 'type', 'group_by', 'card'],
610
- additionalProperties: false,
611
- },
612
- display: {
613
- oneOf: [
614
- { $ref: '#/$defs/listDisplay' },
615
- { $ref: '#/$defs/tableDisplay' },
616
- { $ref: '#/$defs/cardsDisplay' },
617
- { $ref: '#/$defs/galleryDisplay' },
618
- { $ref: '#/$defs/boardDisplay' },
619
- ],
620
- },
621
- sortClause: {
622
- type: 'object',
623
- properties: {
624
- field: { $ref: '#/$defs/fieldName' },
625
- order: {
626
- type: 'string',
627
- enum: ['asc', 'desc'],
628
- },
629
- },
630
- required: ['field', 'order'],
631
- additionalProperties: false,
632
- },
633
- sortOption: {
634
- type: 'object',
635
- properties: {
636
- id: { $ref: '#/$defs/configurationId' },
637
- label: { type: 'string', minLength: 1, maxLength: 120 },
638
- sort: {
639
- type: 'array',
640
- minItems: 1,
641
- items: { $ref: '#/$defs/sortClause' },
642
- },
643
- },
644
- required: ['id', 'label', 'sort'],
645
- additionalProperties: false,
646
- },
647
- results: {
648
- type: 'object',
649
- description: 'Built-in or app-rendered visual result layouts.',
650
- properties: {
651
- default_display: { $ref: '#/$defs/configurationId' },
652
- allow_display_switch: { type: 'boolean' },
653
- displays: {
654
- type: 'array',
655
- minItems: 1,
656
- maxItems: 10,
657
- items: { $ref: '#/$defs/display' },
658
- },
659
- default_sort: { $ref: '#/$defs/configurationId' },
660
- sort_options: {
661
- type: 'array',
662
- items: { $ref: '#/$defs/sortOption' },
663
- },
664
- },
665
- required: ['default_display', 'displays'],
666
- additionalProperties: false,
667
- },
668
- },
669
- } satisfies JSONSchema;
670
-
671
- /**
672
- * Structural schema for project-scoped Views saved through the Views API.
673
- *
674
- * App-contributed and inline View definitions use the reusable base schema,
675
- * while persisted resources additionally document their purpose.
676
- */
677
- export const PersistedViewExperienceConfigurationJsonSchema = {
678
- ...ViewExperienceConfigurationJsonSchema,
679
- $id: PERSISTED_VIEW_EXPERIENCE_CONFIGURATION_JSON_SCHEMA_ID,
680
- title: 'Persisted View Experience',
681
- properties: {
682
- ...ViewExperienceConfigurationJsonSchema.properties,
683
- description: {
684
- ...ViewExperienceConfigurationJsonSchema.properties.description,
685
- minLength: 1,
686
- },
687
- },
688
- required: ['name', 'description'],
689
- } satisfies JSONSchema;