@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,74 +0,0 @@
1
- import Ajv, { type ErrorObject } from 'ajv';
2
- import type { ViewExperienceConfiguration } from './views.js';
3
- import {
4
- PersistedViewExperienceConfigurationJsonSchema,
5
- ViewExperienceConfigurationJsonSchema,
6
- } from './views-schema.js';
7
- import { type ViewValidationIssue, validateViewExperienceSemantics } from './views-validation.js';
8
-
9
- export type ViewConfigurationValidationMode = 'draft' | 'persisted';
10
-
11
- const ajv = new Ajv.default({ allErrors: true, strict: false });
12
- const validateDraftStructure = ajv.compile(ViewExperienceConfigurationJsonSchema);
13
- const validatePersistedStructure = ajv.compile(PersistedViewExperienceConfigurationJsonSchema);
14
-
15
- function jsonPointerPath(instancePath: string): string {
16
- if (instancePath === '') return 'configuration';
17
- return instancePath
18
- .slice(1)
19
- .split('/')
20
- .map((segment) => segment.replaceAll('~1', '/').replaceAll('~0', '~'))
21
- .reduce((path, segment) => {
22
- if (/^\d+$/.test(segment)) return `${path}[${segment}]`;
23
- return path.length === 0 ? segment : `${path}.${segment}`;
24
- }, '');
25
- }
26
-
27
- function errorPath(error: ErrorObject): string {
28
- const base = jsonPointerPath(error.instancePath);
29
- if (error.keyword === 'required' && 'missingProperty' in error.params) {
30
- const missingProperty = String(error.params.missingProperty);
31
- return base === 'configuration' ? missingProperty : `${base}.${missingProperty}`;
32
- }
33
- if (error.keyword === 'additionalProperties' && 'additionalProperty' in error.params) {
34
- const additionalProperty = String(error.params.additionalProperty);
35
- return base === 'configuration' ? additionalProperty : `${base}.${additionalProperty}`;
36
- }
37
- return base;
38
- }
39
-
40
- function structuralIssues(value: unknown, mode: ViewConfigurationValidationMode): ViewValidationIssue[] {
41
- const validateStructure = mode === 'persisted' ? validatePersistedStructure : validateDraftStructure;
42
- if (validateStructure(value)) return [];
43
- const issues = (validateStructure.errors ?? []).map((error: ErrorObject) => ({
44
- path: errorPath(error),
45
- message: error.message ?? 'is invalid',
46
- }));
47
- return [...new Map(issues.map((issue) => [`${issue.path}\u0000${issue.message}`, issue])).values()];
48
- }
49
-
50
- /**
51
- * Validate both the canonical JSON structure and semantic cross-reference rules.
52
- *
53
- * Persisted mode adds the documentation requirement structurally. Blank
54
- * descriptions pass the shape check and are rejected by semantic validation,
55
- * while structure-first short-circuiting prevents duplicate errors.
56
- */
57
- export function validateViewConfiguration(
58
- value: unknown,
59
- mode: ViewConfigurationValidationMode = 'draft',
60
- ): ViewValidationIssue[] {
61
- const issues = structuralIssues(value, mode);
62
- if (issues.length > 0) return issues;
63
- return validateViewExperienceSemantics(value as ViewExperienceConfiguration, mode);
64
- }
65
-
66
- /** @deprecated Use validateViewConfiguration(value, 'draft'). */
67
- export function validateViewExperienceConfiguration(value: unknown): ViewValidationIssue[] {
68
- return validateViewConfiguration(value, 'draft');
69
- }
70
-
71
- /** @deprecated Use validateViewConfiguration(value, 'persisted'). */
72
- export function validatePersistedViewExperienceConfiguration(value: unknown): ViewValidationIssue[] {
73
- return validateViewConfiguration(value, 'persisted');
74
- }
@@ -1,21 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { validateSupportedViewQuery } from './view-query-validation.js';
3
-
4
- function deeplyNestedFilter(depth: number): unknown {
5
- let query: unknown = { term: { status: 'active' } };
6
- for (let index = 0; index < depth; index++) {
7
- query = { bool: { filter: query } };
8
- }
9
- return query;
10
- }
11
-
12
- describe('View query validation', () => {
13
- it('rejects deeply nested queries without overflowing the call stack', () => {
14
- expect(() => validateSupportedViewQuery(deeplyNestedFilter(6_000))).not.toThrow();
15
- expect(validateSupportedViewQuery(deeplyNestedFilter(6_000))).toContainEqual(
16
- expect.objectContaining({
17
- message: 'exceeds the maximum of 100 query clauses',
18
- }),
19
- );
20
- });
21
- });
@@ -1,319 +0,0 @@
1
- import {
2
- ELASTICSEARCH_FIELD_PATH_PATTERN as FIELD_PATTERN,
3
- isViewValidationRecord as isRecord,
4
- SERVER_CONTROLLED_VIEW_FIELD_ROOTS,
5
- } from './view-validation-helpers.js';
6
- import type { ViewElasticsearchQuery } from './views.js';
7
-
8
- export interface ViewQueryValidationIssue {
9
- path: string;
10
- message: string;
11
- }
12
-
13
- export interface ViewQueryValidationOptions {
14
- allowedFields?: ReadonlySet<string>;
15
- allowedOperators?: ReadonlyMap<string, ReadonlySet<string>>;
16
- }
17
-
18
- const ALLOWED_QUERY_TYPES = new Set([
19
- 'bool',
20
- 'match',
21
- 'multi_match',
22
- 'simple_query_string',
23
- 'term',
24
- 'terms',
25
- 'range',
26
- 'exists',
27
- 'ids',
28
- 'prefix',
29
- 'match_all',
30
- ]);
31
- const MAX_QUERY_CLAUSES = 100;
32
- const FORBIDDEN_FIELD_ROOTS = new Set<string>(SERVER_CONTROLLED_VIEW_FIELD_ROOTS);
33
-
34
- function addFieldIssue(
35
- issues: ViewQueryValidationIssue[],
36
- field: unknown,
37
- path: string,
38
- options: ViewQueryValidationOptions,
39
- ): void {
40
- if (typeof field !== 'string' || !FIELD_PATTERN.test(field)) {
41
- issues.push({ path, message: 'must be a dot-separated field name' });
42
- return;
43
- }
44
- if (FORBIDDEN_FIELD_ROOTS.has(field.split('.')[0])) {
45
- issues.push({ path, message: `field '${field}' is server-controlled` });
46
- return;
47
- }
48
- if (options.allowedFields && !options.allowedFields.has(field)) {
49
- issues.push({ path, message: `field '${field}' is not available to this View` });
50
- }
51
- }
52
-
53
- function addOperatorIssue(
54
- issues: ViewQueryValidationIssue[],
55
- field: string,
56
- operator: string,
57
- path: string,
58
- options: ViewQueryValidationOptions,
59
- ): void {
60
- const allowed = options.allowedOperators?.get(field);
61
- if (allowed && !allowed.has(operator)) {
62
- issues.push({
63
- path,
64
- message: `operator '${operator}' is not available for field '${field}'`,
65
- });
66
- }
67
- }
68
-
69
- function validateSingleFieldClause(
70
- issues: ViewQueryValidationIssue[],
71
- value: unknown,
72
- path: string,
73
- validateValue: (fieldValue: unknown, valuePath: string, field: string) => void,
74
- options: ViewQueryValidationOptions,
75
- ): void {
76
- if (!isRecord(value)) {
77
- issues.push({ path, message: 'must be an object keyed by field name' });
78
- return;
79
- }
80
- const entries = Object.entries(value);
81
- if (entries.length !== 1) {
82
- issues.push({ path, message: 'must reference exactly one field' });
83
- return;
84
- }
85
- const [field, fieldValue] = entries[0];
86
- addFieldIssue(issues, field, `${path}.${field}`, options);
87
- validateValue(fieldValue, `${path}.${field}`, field);
88
- }
89
-
90
- function validateQueryNode(
91
- issues: ViewQueryValidationIssue[],
92
- value: unknown,
93
- path: string,
94
- state: { clauses: number },
95
- options: ViewQueryValidationOptions,
96
- ): void {
97
- state.clauses++;
98
- if (state.clauses > MAX_QUERY_CLAUSES) {
99
- issues.push({ path, message: `exceeds the maximum of ${MAX_QUERY_CLAUSES} query clauses` });
100
- return;
101
- }
102
- if (!isRecord(value)) {
103
- issues.push({ path, message: 'must be an Elasticsearch query object' });
104
- return;
105
- }
106
- const entries = Object.entries(value);
107
- if (entries.length !== 1) {
108
- issues.push({ path, message: 'must contain exactly one query clause' });
109
- return;
110
- }
111
- const [type, body] = entries[0];
112
- if (!ALLOWED_QUERY_TYPES.has(type)) {
113
- issues.push({ path: `${path}.${type}`, message: `query type '${type}' is not supported` });
114
- return;
115
- }
116
-
117
- if (type === 'match_all') {
118
- if (!isRecord(body)) {
119
- issues.push({ path: `${path}.match_all`, message: 'must be an object' });
120
- }
121
- return;
122
- }
123
- if (type === 'bool') {
124
- if (!isRecord(body)) {
125
- issues.push({ path: `${path}.bool`, message: 'must be an object' });
126
- return;
127
- }
128
- const allowed = new Set(['must', 'filter', 'should', 'must_not', 'minimum_should_match']);
129
- for (const key of Object.keys(body)) {
130
- if (!allowed.has(key)) {
131
- issues.push({ path: `${path}.bool.${key}`, message: 'is not supported' });
132
- }
133
- }
134
- for (const key of ['must', 'filter', 'should', 'must_not'] as const) {
135
- const child = body[key];
136
- if (child === undefined) continue;
137
- const children = Array.isArray(child) ? child : [child];
138
- if (children.length > 50) {
139
- issues.push({ path: `${path}.bool.${key}`, message: 'must contain at most 50 clauses' });
140
- }
141
- children.forEach((item, index) => {
142
- validateQueryNode(issues, item, `${path}.bool.${key}[${index}]`, state, options);
143
- });
144
- }
145
- const minimumShouldMatch = body.minimum_should_match;
146
- if (
147
- minimumShouldMatch !== undefined &&
148
- typeof minimumShouldMatch !== 'number' &&
149
- typeof minimumShouldMatch !== 'string'
150
- ) {
151
- issues.push({ path: `${path}.bool.minimum_should_match`, message: 'must be a number or string' });
152
- }
153
- return;
154
- }
155
- if (type === 'exists') {
156
- if (!isRecord(body)) {
157
- issues.push({ path: `${path}.exists`, message: 'must be an object' });
158
- } else {
159
- addFieldIssue(issues, body.field, `${path}.exists.field`, options);
160
- if (typeof body.field === 'string') {
161
- addOperatorIssue(issues, body.field, 'exists', `${path}.exists.field`, options);
162
- }
163
- }
164
- return;
165
- }
166
- if (type === 'ids') {
167
- if (!isRecord(body) || !Array.isArray(body.values) || body.values.length > 1_000) {
168
- issues.push({ path: `${path}.ids.values`, message: 'must be an array containing at most 1000 IDs' });
169
- } else if (body.values.some((id) => typeof id !== 'string')) {
170
- issues.push({ path: `${path}.ids.values`, message: 'must contain only strings' });
171
- }
172
- return;
173
- }
174
- if (type === 'multi_match' || type === 'simple_query_string') {
175
- if (!isRecord(body) || typeof body.query !== 'string') {
176
- issues.push({ path: `${path}.${type}.query`, message: 'must be a string' });
177
- return;
178
- }
179
- if (!Array.isArray(body.fields) || body.fields.length === 0 || body.fields.length > 20) {
180
- issues.push({ path: `${path}.${type}.fields`, message: 'must contain between 1 and 20 fields' });
181
- } else {
182
- body.fields.forEach((rawField, index) => {
183
- const field = typeof rawField === 'string' ? rawField.split('^')[0] : rawField;
184
- addFieldIssue(issues, field, `${path}.${type}.fields[${index}]`, options);
185
- if (typeof field === 'string') {
186
- addOperatorIssue(issues, field, type, `${path}.${type}.fields[${index}]`, options);
187
- }
188
- });
189
- }
190
- return;
191
- }
192
-
193
- if (isRecord(body)) {
194
- const fieldEntries = Object.entries(body);
195
- if (fieldEntries.length === 1) {
196
- addOperatorIssue(issues, fieldEntries[0][0], type, `${path}.${type}.${fieldEntries[0][0]}`, options);
197
- }
198
- }
199
- validateSingleFieldClause(
200
- issues,
201
- body,
202
- `${path}.${type}`,
203
- (fieldValue, valuePath, field) => {
204
- if (type === 'terms') {
205
- if (!Array.isArray(fieldValue) || fieldValue.length > 1_000) {
206
- issues.push({ path: valuePath, message: 'must be an array containing at most 1000 values' });
207
- }
208
- return;
209
- }
210
- if (type === 'range') {
211
- if (!isRecord(fieldValue)) {
212
- issues.push({ path: valuePath, message: 'must be a range object' });
213
- return;
214
- }
215
- const allowed = new Set(['gt', 'gte', 'lt', 'lte']);
216
- if (Object.keys(fieldValue).length === 0 || Object.keys(fieldValue).some((key) => !allowed.has(key))) {
217
- issues.push({ path: valuePath, message: 'supports only gt, gte, lt, and lte' });
218
- }
219
- return;
220
- }
221
- if (type === 'prefix') {
222
- if (field !== 'location') {
223
- issues.push({ path: valuePath, message: 'prefix queries are supported only for location' });
224
- }
225
- const prefix = isRecord(fieldValue) ? fieldValue.value : fieldValue;
226
- if (typeof prefix !== 'string' || !prefix.startsWith('/') || !prefix.endsWith('/')) {
227
- issues.push({ path: valuePath, message: 'must be a boundary-aware absolute location prefix' });
228
- }
229
- return;
230
- }
231
- if (type === 'match') {
232
- const query = isRecord(fieldValue) ? fieldValue.query : fieldValue;
233
- if (typeof query !== 'string') {
234
- issues.push({ path: valuePath, message: 'must contain a string query' });
235
- }
236
- return;
237
- }
238
- if (type === 'term' && isRecord(fieldValue)) {
239
- const allowed = new Set(['value', 'boost', 'case_insensitive']);
240
- if (!('value' in fieldValue) || Object.keys(fieldValue).some((key) => !allowed.has(key))) {
241
- issues.push({
242
- path: valuePath,
243
- message: 'supports only value, boost, and case_insensitive options',
244
- });
245
- return;
246
- }
247
- if (isRecord(fieldValue.value) || Array.isArray(fieldValue.value)) {
248
- issues.push({ path: `${valuePath}.value`, message: 'must be a scalar value' });
249
- }
250
- if (fieldValue.boost !== undefined && typeof fieldValue.boost !== 'number') {
251
- issues.push({ path: `${valuePath}.boost`, message: 'must be a number' });
252
- }
253
- if (fieldValue.case_insensitive !== undefined && typeof fieldValue.case_insensitive !== 'boolean') {
254
- issues.push({ path: `${valuePath}.case_insensitive`, message: 'must be a boolean' });
255
- }
256
- return;
257
- }
258
- if (isRecord(fieldValue) || Array.isArray(fieldValue)) {
259
- issues.push({ path: valuePath, message: 'must be a scalar value' });
260
- }
261
- },
262
- options,
263
- );
264
- }
265
-
266
- function normalizeViewQueryNode(value: unknown, state: { clauses: number }): unknown {
267
- state.clauses++;
268
- if (state.clauses > MAX_QUERY_CLAUSES) return value;
269
- if (!isRecord(value)) return value;
270
- const entries = Object.entries(value);
271
- if (entries.length !== 1) return value;
272
- const [type, body] = entries[0];
273
- if (type === 'bool' && isRecord(body)) {
274
- const normalizedBody: Record<string, unknown> = { ...body };
275
- for (const key of ['must', 'filter', 'should', 'must_not'] as const) {
276
- const child = body[key];
277
- if (Array.isArray(child)) {
278
- normalizedBody[key] = child.map((item) => normalizeViewQueryNode(item, state));
279
- } else if (child !== undefined) {
280
- normalizedBody[key] = normalizeViewQueryNode(child, state);
281
- }
282
- }
283
- return { bool: normalizedBody };
284
- }
285
- if (type !== 'term' || !isRecord(body)) return value;
286
- const fieldEntries = Object.entries(body);
287
- if (fieldEntries.length !== 1) return value;
288
- const [field, fieldValue] = fieldEntries[0];
289
- if (!isRecord(fieldValue) || Object.keys(fieldValue).length !== 1 || !('value' in fieldValue)) return value;
290
- return { term: { [field]: fieldValue.value } };
291
- }
292
-
293
- export function normalizeViewQuery(value: unknown): unknown {
294
- return normalizeViewQueryNode(value, { clauses: 0 });
295
- }
296
-
297
- export function validateSupportedViewQuery(
298
- value: unknown,
299
- path = 'query',
300
- options: ViewQueryValidationOptions = {},
301
- ): ViewQueryValidationIssue[] {
302
- const issues: ViewQueryValidationIssue[] = [];
303
- validateQueryNode(issues, normalizeViewQuery(value), path, { clauses: 0 }, options);
304
- return issues;
305
- }
306
-
307
- export function asSupportedViewQuery(
308
- value: unknown,
309
- path = 'query',
310
- options: ViewQueryValidationOptions = {},
311
- ): ViewElasticsearchQuery {
312
- const normalized = normalizeViewQuery(value);
313
- const issues: ViewQueryValidationIssue[] = [];
314
- validateQueryNode(issues, normalized, path, { clauses: 0 }, options);
315
- if (issues.length > 0) {
316
- throw new Error(issues.map((issue) => `${issue.path} ${issue.message}`).join('; '));
317
- }
318
- return normalized as ViewElasticsearchQuery;
319
- }
@@ -1,28 +0,0 @@
1
- export const VIEW_CONFIGURATION_ID_PATTERN_SOURCE = '^[a-z][a-z0-9_-]*$';
2
- export const ELASTICSEARCH_FIELD_PATH_PATTERN_SOURCE = '^[A-Za-z0-9_]+(?:\\.[A-Za-z0-9_]+)*$';
3
-
4
- export const VIEW_CONFIGURATION_ID_PATTERN = new RegExp(VIEW_CONFIGURATION_ID_PATTERN_SOURCE);
5
- export const ELASTICSEARCH_FIELD_PATH_PATTERN = new RegExp(ELASTICSEARCH_FIELD_PATH_PATTERN_SOURCE);
6
-
7
- /**
8
- * Elasticsearch roots owned by the server and unavailable to View-authored
9
- * queries or dynamic collection filters.
10
- */
11
- export const SERVER_CONTROLLED_VIEW_FIELD_ROOTS = [
12
- 'security',
13
- 'revision',
14
- 'is_deleted',
15
- 'embeddings_text',
16
- 'embeddings_image',
17
- 'embeddings_properties',
18
- '_indexing_metadata',
19
- ] as const;
20
-
21
- /** @deprecated Use ELASTICSEARCH_FIELD_PATH_PATTERN_SOURCE. */
22
- export const VIEW_FIELD_PATTERN_SOURCE = ELASTICSEARCH_FIELD_PATH_PATTERN_SOURCE;
23
- /** @deprecated Use ELASTICSEARCH_FIELD_PATH_PATTERN. */
24
- export const VIEW_FIELD_PATTERN = ELASTICSEARCH_FIELD_PATH_PATTERN;
25
-
26
- export function isViewValidationRecord(value: unknown): value is Record<string, unknown> {
27
- return value !== null && typeof value === 'object' && !Array.isArray(value);
28
- }