@sixb/core 0.1.12 → 0.1.13

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 (527) hide show
  1. package/dist/actions/index.d.ts +2 -2
  2. package/dist/actions/index.d.ts.map +1 -1
  3. package/dist/actions/index.js +28 -26
  4. package/dist/actions/index.js.map +1 -1
  5. package/dist/actions/read-facade.d.ts +14 -16
  6. package/dist/actions/read-facade.d.ts.map +1 -1
  7. package/dist/actions/request.d.ts.map +1 -1
  8. package/dist/actions/run-dispatch.d.ts +2 -0
  9. package/dist/actions/run-dispatch.d.ts.map +1 -1
  10. package/dist/actions/types/context.d.ts +18 -31
  11. package/dist/actions/types/context.d.ts.map +1 -1
  12. package/dist/actions/types/params.d.ts +2 -1
  13. package/dist/actions/types/params.d.ts.map +1 -1
  14. package/dist/actions/worker.js +1 -1
  15. package/dist/agents/index.js +41 -39
  16. package/dist/agents/index.js.map +1 -1
  17. package/dist/agents/streams/index.js +2 -2
  18. package/dist/agents/streams/internal.js +2 -2
  19. package/dist/assert-never.d.ts +6 -0
  20. package/dist/assert-never.d.ts.map +1 -0
  21. package/dist/auth/client-address.d.ts +3 -0
  22. package/dist/auth/client-address.d.ts.map +1 -0
  23. package/dist/auth/csrf.d.ts +5 -1
  24. package/dist/auth/csrf.d.ts.map +1 -1
  25. package/dist/auth/index.d.ts +3 -2
  26. package/dist/auth/index.d.ts.map +1 -1
  27. package/dist/auth/index.js +14 -8
  28. package/dist/auth/index.js.map +1 -1
  29. package/dist/auth/runtime.d.ts +58 -41
  30. package/dist/auth/runtime.d.ts.map +1 -1
  31. package/dist/auth/session-cache.d.ts +10 -3
  32. package/dist/auth/session-cache.d.ts.map +1 -1
  33. package/dist/auth/sessions.d.ts +12 -0
  34. package/dist/auth/sessions.d.ts.map +1 -1
  35. package/dist/auth/strategy.js +1 -1
  36. package/dist/auth/types.d.ts +8 -15
  37. package/dist/auth/types.d.ts.map +1 -1
  38. package/dist/authorization/index.js +3 -3
  39. package/dist/bootstrap/index.d.ts +1 -1
  40. package/dist/bootstrap/index.d.ts.map +1 -1
  41. package/dist/bootstrap/index.js +45 -43
  42. package/dist/bootstrap/index.js.map +1 -1
  43. package/dist/bootstrap/ontology-type-manifest.d.ts +8 -0
  44. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
  45. package/dist/{chunk-q5gz3g2j.js → chunk-0321g649.js} +2 -16
  46. package/dist/{chunk-q5gz3g2j.js.map → chunk-0321g649.js.map} +2 -2
  47. package/dist/{chunk-e1f1sqba.js → chunk-04h4t2b5.js} +3 -3
  48. package/dist/{chunk-y3ev53cq.js → chunk-2fv8sajb.js} +2 -2
  49. package/dist/{chunk-3bnt2wna.js → chunk-2hbhn1ff.js} +1 -1
  50. package/dist/{chunk-eyjzgav0.js → chunk-3nx8vj5a.js} +6 -4
  51. package/dist/chunk-3nx8vj5a.js.map +12 -0
  52. package/dist/{chunk-5tetw4hn.js → chunk-4tnrzqqh.js} +1 -1
  53. package/dist/{chunk-g50nxqs5.js → chunk-63fp9x3q.js} +63 -20
  54. package/dist/chunk-63fp9x3q.js.map +20 -0
  55. package/dist/{chunk-qm535afa.js → chunk-693f3zn8.js} +66 -24
  56. package/dist/chunk-693f3zn8.js.map +15 -0
  57. package/dist/{chunk-7zgecwy1.js → chunk-6x0pqh32.js} +12 -1
  58. package/dist/{chunk-7zgecwy1.js.map → chunk-6x0pqh32.js.map} +3 -3
  59. package/dist/{chunk-6ma8dvzc.js → chunk-898y24dd.js} +49 -42
  60. package/dist/chunk-898y24dd.js.map +15 -0
  61. package/dist/{chunk-7qnvhtcd.js → chunk-91wthfwe.js} +17 -17
  62. package/dist/{chunk-7qnvhtcd.js.map → chunk-91wthfwe.js.map} +5 -5
  63. package/dist/chunk-96yw3pwd.js.map +2 -2
  64. package/dist/{chunk-2cxv584m.js → chunk-9pfw47qx.js} +309 -204
  65. package/dist/chunk-9pfw47qx.js.map +44 -0
  66. package/dist/{chunk-4k53sm9e.js → chunk-a0073121.js} +59 -59
  67. package/dist/{chunk-4k53sm9e.js.map → chunk-a0073121.js.map} +5 -5
  68. package/dist/{chunk-jjwhy3rs.js → chunk-a69fkrtr.js} +5 -5
  69. package/dist/{chunk-y1ahv8b7.js → chunk-bdhfn0ww.js} +1 -1
  70. package/dist/{chunk-4ph94nhd.js → chunk-bep5rrdq.js} +2 -2
  71. package/dist/{chunk-kept9cdd.js → chunk-bxx3ms5t.js} +1 -1
  72. package/dist/{chunk-xtfryrfb.js → chunk-cbn96bve.js} +2 -2
  73. package/dist/{chunk-nzsy3xrp.js → chunk-cvrbhvtr.js} +69 -44
  74. package/dist/{chunk-nzsy3xrp.js.map → chunk-cvrbhvtr.js.map} +7 -7
  75. package/dist/{chunk-vsg0g7h9.js → chunk-d8yes9yx.js} +304 -45
  76. package/dist/chunk-d8yes9yx.js.map +20 -0
  77. package/dist/{chunk-tg4g4zh0.js → chunk-darm7eeg.js} +9 -9
  78. package/dist/{chunk-tg4g4zh0.js.map → chunk-darm7eeg.js.map} +3 -3
  79. package/dist/{chunk-vpxss818.js → chunk-drz59ve0.js} +9 -8
  80. package/dist/chunk-drz59ve0.js.map +10 -0
  81. package/dist/{chunk-7c2g3sz9.js → chunk-dsfw1bdr.js} +5 -5
  82. package/dist/{chunk-7c2g3sz9.js.map → chunk-dsfw1bdr.js.map} +1 -1
  83. package/dist/{chunk-p6r1ex7t.js → chunk-ffwvdgk1.js} +5 -13
  84. package/dist/chunk-ffwvdgk1.js.map +10 -0
  85. package/dist/{chunk-r5zythxp.js → chunk-gbcrz0gr.js} +7 -7
  86. package/dist/{chunk-ybhz3j9g.js → chunk-gc226ten.js} +104 -148
  87. package/dist/{chunk-ybhz3j9g.js.map → chunk-gc226ten.js.map} +7 -8
  88. package/dist/{chunk-3ghw2t5q.js → chunk-gmt22nxx.js} +10 -16
  89. package/dist/chunk-gmt22nxx.js.map +10 -0
  90. package/dist/chunk-h89wz928.js +42 -0
  91. package/dist/chunk-h89wz928.js.map +10 -0
  92. package/dist/{chunk-hkw8rykk.js → chunk-ht4a7mjg.js} +74 -4
  93. package/dist/chunk-ht4a7mjg.js.map +15 -0
  94. package/dist/{chunk-t7dzd1tm.js → chunk-jhyc777j.js} +2 -2
  95. package/dist/{chunk-xn686q2e.js → chunk-jmwy25mf.js} +75 -57
  96. package/dist/{chunk-xn686q2e.js.map → chunk-jmwy25mf.js.map} +3 -3
  97. package/dist/{chunk-f06sf7rr.js → chunk-k4kkp58d.js} +18 -5
  98. package/dist/chunk-k4kkp58d.js.map +11 -0
  99. package/dist/{chunk-2h63nrde.js → chunk-ky7zpbtt.js} +5 -7
  100. package/dist/{chunk-2h63nrde.js.map → chunk-ky7zpbtt.js.map} +3 -4
  101. package/dist/chunk-m4ehq95f.js +9 -0
  102. package/dist/chunk-m4ehq95f.js.map +10 -0
  103. package/dist/{chunk-0mza4xb2.js → chunk-m8zkvep1.js} +2 -2
  104. package/dist/{chunk-b768c93y.js → chunk-mf6hwpzh.js} +83 -28
  105. package/dist/{chunk-b768c93y.js.map → chunk-mf6hwpzh.js.map} +5 -5
  106. package/dist/{chunk-yxb4c62x.js → chunk-mr60an99.js} +3 -2
  107. package/dist/{chunk-yxb4c62x.js.map → chunk-mr60an99.js.map} +3 -3
  108. package/dist/chunk-n33e8dz8.js +191 -0
  109. package/dist/chunk-n33e8dz8.js.map +11 -0
  110. package/dist/chunk-rdghfsss.js.map +2 -2
  111. package/dist/{chunk-m7cx05vp.js → chunk-rqtdtm43.js} +126 -59
  112. package/dist/{chunk-m7cx05vp.js.map → chunk-rqtdtm43.js.map} +13 -12
  113. package/dist/{chunk-bbaa1fet.js → chunk-rzcjp5m2.js} +7 -3
  114. package/dist/chunk-rzcjp5m2.js.map +25 -0
  115. package/dist/{chunk-hzw7yv5g.js → chunk-rzkr70gr.js} +5 -1
  116. package/dist/{chunk-hzw7yv5g.js.map → chunk-rzkr70gr.js.map} +3 -3
  117. package/dist/{chunk-sfypc7mk.js → chunk-s24qbp32.js} +4 -4
  118. package/dist/{chunk-axndsymr.js → chunk-tw03bsmb.js} +2 -2
  119. package/dist/{chunk-axndsymr.js.map → chunk-tw03bsmb.js.map} +3 -3
  120. package/dist/{chunk-y0v18c2j.js → chunk-vef6qa14.js} +2 -2
  121. package/dist/{chunk-gzt6v1ja.js → chunk-vn3yh259.js} +1 -1
  122. package/dist/{chunk-bg2bs62d.js → chunk-w9bp61e7.js} +5 -5
  123. package/dist/{chunk-3h7ctayx.js → chunk-xgptywp0.js} +4 -3
  124. package/dist/chunk-xgptywp0.js.map +11 -0
  125. package/dist/{chunk-gswwr35f.js → chunk-y487ywrv.js} +4 -4
  126. package/dist/{chunk-bet1rb9h.js → chunk-y6vnvayj.js} +1 -1
  127. package/dist/{chunk-x9tmx3fc.js → chunk-ypj2wqtj.js} +3 -6
  128. package/dist/{chunk-x9tmx3fc.js.map → chunk-ypj2wqtj.js.map} +4 -4
  129. package/dist/{chunk-g2gezsg5.js → chunk-z9h698s8.js} +1 -1
  130. package/dist/{chunk-wjffn5m4.js → chunk-zdkcdshk.js} +3 -36
  131. package/dist/{chunk-wjffn5m4.js.map → chunk-zdkcdshk.js.map} +3 -4
  132. package/dist/{chunk-bfjv1adk.js → chunk-znw0zvy4.js} +1 -1
  133. package/dist/edits/types.d.ts +19 -19
  134. package/dist/edits/types.d.ts.map +1 -1
  135. package/dist/error-reporting/internal.js +3 -3
  136. package/dist/errors/catalog.d.ts +4 -0
  137. package/dist/errors/catalog.d.ts.map +1 -1
  138. package/dist/errors/internal.js +1 -1
  139. package/dist/events/envelope.d.ts +0 -12
  140. package/dist/events/envelope.d.ts.map +1 -1
  141. package/dist/events/index.d.ts +1 -1
  142. package/dist/events/index.d.ts.map +1 -1
  143. package/dist/events/index.js +3 -3
  144. package/dist/events/service.d.ts +1 -2
  145. package/dist/events/service.d.ts.map +1 -1
  146. package/dist/events/toStoredEvent.d.ts +1 -2
  147. package/dist/events/toStoredEvent.d.ts.map +1 -1
  148. package/dist/events/types/index.d.ts +2 -1
  149. package/dist/events/types/index.d.ts.map +1 -1
  150. package/dist/execution/agent.d.ts +1 -2
  151. package/dist/execution/agent.d.ts.map +1 -1
  152. package/dist/execution/agent.js +39 -37
  153. package/dist/execution/agent.js.map +1 -1
  154. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  155. package/dist/execution/primitive.d.ts +1 -2
  156. package/dist/execution/primitive.d.ts.map +1 -1
  157. package/dist/execution/primitive.js +38 -36
  158. package/dist/execution/primitive.js.map +3 -3
  159. package/dist/execution/request.d.ts +1 -2
  160. package/dist/execution/request.d.ts.map +1 -1
  161. package/dist/execution/request.js +39 -37
  162. package/dist/execution/request.js.map +3 -3
  163. package/dist/index.d.ts +6 -6
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.js +56 -50
  166. package/dist/index.js.map +1 -1
  167. package/dist/maintenance/ontology-maintenance.d.ts +11 -1
  168. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  169. package/dist/materialization/errors.d.ts +3 -1
  170. package/dist/materialization/errors.d.ts.map +1 -1
  171. package/dist/materialization/events.d.ts +27 -2
  172. package/dist/materialization/events.d.ts.map +1 -1
  173. package/dist/materializer/edits/commit.d.ts.map +1 -1
  174. package/dist/materializer/edits/operations.d.ts +2 -1
  175. package/dist/materializer/edits/operations.d.ts.map +1 -1
  176. package/dist/materializer/edits/plan.d.ts +2 -2
  177. package/dist/materializer/edits/plan.d.ts.map +1 -1
  178. package/dist/materializer/edits/user-refs.d.ts +30 -0
  179. package/dist/materializer/edits/user-refs.d.ts.map +1 -0
  180. package/dist/materializer/effective/build-events.d.ts +2 -2
  181. package/dist/materializer/effective/build-events.d.ts.map +1 -1
  182. package/dist/materializer/execution/scope.d.ts +11 -3
  183. package/dist/materializer/execution/scope.d.ts.map +1 -1
  184. package/dist/materializer/index.js +23 -21
  185. package/dist/materializer/index.js.map +1 -1
  186. package/dist/materializer/projections/replacement-plan.d.ts +2 -0
  187. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  188. package/dist/materializer/telemetry/plan.d.ts +2 -2
  189. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  190. package/dist/models/execution/index.js +23 -21
  191. package/dist/models/execution/index.js.map +1 -1
  192. package/dist/models/index.js +1 -1
  193. package/dist/objects/execution.d.ts +21 -27
  194. package/dist/objects/execution.d.ts.map +1 -1
  195. package/dist/objects/index.js +28 -26
  196. package/dist/objects/index.js.map +1 -1
  197. package/dist/objects/query/executor.d.ts.map +1 -1
  198. package/dist/objects/query/index.js +27 -25
  199. package/dist/objects/query/index.js.map +1 -1
  200. package/dist/objects/query/ir.d.ts +8 -1
  201. package/dist/objects/query/ir.d.ts.map +1 -1
  202. package/dist/objects/query/scalar-values.d.ts.map +1 -1
  203. package/dist/objects/query/validate.d.ts.map +1 -1
  204. package/dist/objects/sdk/object-handle.d.ts +1 -2
  205. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  206. package/dist/objects/sdk/object-set.d.ts +2 -3
  207. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  208. package/dist/objects/sdk/query-builder.d.ts +8 -10
  209. package/dist/objects/sdk/query-builder.d.ts.map +1 -1
  210. package/dist/objects/sdk/telemetry-channel.d.ts +1 -2
  211. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  212. package/dist/objects/sdk/where.d.ts +2 -3
  213. package/dist/objects/sdk/where.d.ts.map +1 -1
  214. package/dist/ontology/builders.d.ts +11 -10
  215. package/dist/ontology/builders.d.ts.map +1 -1
  216. package/dist/ontology/index.d.ts +4 -2
  217. package/dist/ontology/index.d.ts.map +1 -1
  218. package/dist/ontology/index.js +6 -4
  219. package/dist/ontology/index.js.map +1 -1
  220. package/dist/ontology/inference/index.d.ts +34 -22
  221. package/dist/ontology/inference/index.d.ts.map +1 -1
  222. package/dist/ontology/internal.d.ts +1 -0
  223. package/dist/ontology/internal.d.ts.map +1 -1
  224. package/dist/ontology/internal.js +9 -7
  225. package/dist/ontology/internal.js.map +1 -1
  226. package/dist/ontology/primitives.d.ts +38 -0
  227. package/dist/ontology/primitives.d.ts.map +1 -0
  228. package/dist/ontology/query-capabilities.d.ts +38 -0
  229. package/dist/ontology/query-capabilities.d.ts.map +1 -0
  230. package/dist/ontology/refs.d.ts +23 -2
  231. package/dist/ontology/refs.d.ts.map +1 -1
  232. package/dist/ontology/registered.d.ts +16 -0
  233. package/dist/ontology/registered.d.ts.map +1 -0
  234. package/dist/ontology/registry.d.ts.map +1 -1
  235. package/dist/ontology/tokens.d.ts +35 -1
  236. package/dist/ontology/tokens.d.ts.map +1 -1
  237. package/dist/ontology/types.d.ts +18 -4
  238. package/dist/ontology/types.d.ts.map +1 -1
  239. package/dist/ontology/user-ref.d.ts +35 -0
  240. package/dist/ontology/user-ref.d.ts.map +1 -0
  241. package/dist/ontology/validation/definition.d.ts.map +1 -1
  242. package/dist/ontology/validation/index.d.ts +1 -1
  243. package/dist/ontology/validation/index.d.ts.map +1 -1
  244. package/dist/ontology/validation/normalize.d.ts.map +1 -1
  245. package/dist/ontology/validation/properties.d.ts +6 -1
  246. package/dist/ontology/validation/properties.d.ts.map +1 -1
  247. package/dist/ontology/validation/query.d.ts.map +1 -1
  248. package/dist/ontology/validation/schema.d.ts.map +1 -1
  249. package/dist/pipelines/index.js +26 -24
  250. package/dist/pipelines/index.js.map +1 -1
  251. package/dist/predicates/types.d.ts +53 -3
  252. package/dist/predicates/types.d.ts.map +1 -1
  253. package/dist/projections/builders.d.ts +19 -1
  254. package/dist/projections/builders.d.ts.map +1 -1
  255. package/dist/projections/internal.js +23 -21
  256. package/dist/projections/internal.js.map +1 -1
  257. package/dist/projections/validation.d.ts.map +1 -1
  258. package/dist/query.js +2 -2
  259. package/dist/queues/in-memory.d.ts +1 -1
  260. package/dist/queues/in-memory.d.ts.map +1 -1
  261. package/dist/runtime/create.d.ts +1 -1
  262. package/dist/runtime/create.d.ts.map +1 -1
  263. package/dist/runtime/host.d.ts +5 -5
  264. package/dist/runtime/host.d.ts.map +1 -1
  265. package/dist/runtime/index.d.ts +1 -1
  266. package/dist/runtime/index.d.ts.map +1 -1
  267. package/dist/runtime/internal.js +27 -25
  268. package/dist/runtime/internal.js.map +1 -1
  269. package/dist/runtime/sixb.d.ts +5 -5
  270. package/dist/runtime/sixb.d.ts.map +1 -1
  271. package/dist/runtime/types.d.ts +171 -188
  272. package/dist/runtime/types.d.ts.map +1 -1
  273. package/dist/sandboxes/index.js +5 -5
  274. package/dist/sandboxes/sandbox.d.ts +4 -1
  275. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  276. package/dist/shared/params/types.d.ts +4 -3
  277. package/dist/shared/params/types.d.ts.map +1 -1
  278. package/dist/shared/params/user-refs.d.ts +19 -0
  279. package/dist/shared/params/user-refs.d.ts.map +1 -0
  280. package/dist/shares/compiler.d.ts.map +1 -1
  281. package/dist/shares/internal.js +24 -22
  282. package/dist/shares/internal.js.map +2 -2
  283. package/dist/storage/action-runs/failure.js +2 -2
  284. package/dist/storage/action-runs/types.d.ts +1 -1
  285. package/dist/storage/action-runs/types.d.ts.map +1 -1
  286. package/dist/storage/agents/provider.js +1 -1
  287. package/dist/storage/ai-limits/enforcement.js +2 -2
  288. package/dist/storage/auth/in-memory/access-tokens.d.ts.map +1 -1
  289. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  290. package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -1
  291. package/dist/storage/auth/in-memory/sessions.d.ts +8 -1
  292. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
  293. package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
  294. package/dist/storage/auth/index.d.ts +1 -1
  295. package/dist/storage/auth/index.d.ts.map +1 -1
  296. package/dist/storage/auth/types.d.ts +62 -13
  297. package/dist/storage/auth/types.d.ts.map +1 -1
  298. package/dist/storage/connector-connections/provider.js +1 -1
  299. package/dist/storage/executions/provider.js +1 -1
  300. package/dist/storage/file-upload-sessions/in-memory.d.ts +9 -18
  301. package/dist/storage/file-upload-sessions/in-memory.d.ts.map +1 -1
  302. package/dist/storage/file-upload-sessions/index.d.ts +1 -1
  303. package/dist/storage/file-upload-sessions/index.d.ts.map +1 -1
  304. package/dist/storage/file-upload-sessions/provider.d.ts +52 -0
  305. package/dist/storage/file-upload-sessions/provider.d.ts.map +1 -0
  306. package/dist/storage/file-upload-sessions/provider.js +24 -0
  307. package/dist/storage/file-upload-sessions/provider.js.map +9 -0
  308. package/dist/storage/file-upload-sessions/types.d.ts +19 -1
  309. package/dist/storage/file-upload-sessions/types.d.ts.map +1 -1
  310. package/dist/storage/file-upload-sessions/utils.d.ts +8 -2
  311. package/dist/storage/file-upload-sessions/utils.d.ts.map +1 -1
  312. package/dist/storage/index.d.ts +3 -3
  313. package/dist/storage/index.d.ts.map +1 -1
  314. package/dist/storage/index.js +29 -25
  315. package/dist/storage/index.js.map +1 -1
  316. package/dist/storage/internal.js +11 -9
  317. package/dist/storage/internal.js.map +1 -1
  318. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  319. package/dist/storage/ontology/commits.d.ts +6 -2
  320. package/dist/storage/ontology/commits.d.ts.map +1 -1
  321. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  322. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  323. package/dist/storage/ontology/provider.d.ts +14 -1
  324. package/dist/storage/ontology/provider.d.ts.map +1 -1
  325. package/dist/storage/ontology/provider.js +8 -2
  326. package/dist/storage/ontology/provider.js.map +1 -1
  327. package/dist/storage/operation-scope.d.ts.map +1 -1
  328. package/dist/storage/operation-scope.js +1 -1
  329. package/dist/storage/projection-runs/provider.js +2 -2
  330. package/dist/storage/types.d.ts +1 -1
  331. package/dist/storage/types.d.ts.map +1 -1
  332. package/dist/storage/workflow-interventions/index.d.ts +1 -1
  333. package/dist/storage/workflow-interventions/index.d.ts.map +1 -1
  334. package/dist/storage/workflow-interventions/types.d.ts +5 -8
  335. package/dist/storage/workflow-interventions/types.d.ts.map +1 -1
  336. package/dist/storage/workflow-runs/provider.js +8 -8
  337. package/dist/syncs/index.js +27 -25
  338. package/dist/syncs/index.js.map +1 -1
  339. package/dist/testing/action-execution.d.ts +4 -0
  340. package/dist/testing/action-execution.d.ts.map +1 -1
  341. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  342. package/dist/testing/execution.d.ts +1 -2
  343. package/dist/testing/execution.d.ts.map +1 -1
  344. package/dist/testing/file-upload-session-storage-contract.d.ts +12 -0
  345. package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -0
  346. package/dist/testing/index.d.ts +2 -0
  347. package/dist/testing/index.d.ts.map +1 -1
  348. package/dist/testing/index.js +1951 -1242
  349. package/dist/testing/index.js.map +15 -13
  350. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  351. package/dist/testing/object-query-contract.d.ts.map +1 -1
  352. package/dist/testing/ontology-contract-fixture.d.ts +8 -0
  353. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
  354. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  355. package/dist/testing/sandboxes-contract.d.ts.map +1 -1
  356. package/dist/testing/workflow-intervention-storage-contract.d.ts +8 -0
  357. package/dist/testing/workflow-intervention-storage-contract.d.ts.map +1 -0
  358. package/dist/webhooks/internal.js +24 -22
  359. package/dist/webhooks/internal.js.map +2 -2
  360. package/dist/webhooks/types.d.ts +2 -2
  361. package/dist/webhooks/types.d.ts.map +1 -1
  362. package/dist/workers/index.js +1 -1
  363. package/dist/workflows/index.js +42 -40
  364. package/dist/workflows/index.js.map +1 -1
  365. package/dist/workflows/run-dispatch.d.ts.map +1 -1
  366. package/dist/workflows/types.d.ts +2 -2
  367. package/dist/workflows/types.d.ts.map +1 -1
  368. package/package.json +7 -1
  369. package/src/actions/index.ts +0 -3
  370. package/src/actions/read-facade.ts +102 -62
  371. package/src/actions/request.ts +13 -0
  372. package/src/actions/run-dispatch.ts +3 -0
  373. package/src/actions/types/context.ts +17 -65
  374. package/src/actions/types/params.ts +2 -1
  375. package/src/agents/authority.ts +1 -1
  376. package/src/assert-never.ts +7 -0
  377. package/src/auth/client-address.ts +12 -0
  378. package/src/auth/csrf.ts +14 -5
  379. package/src/auth/index.ts +3 -2
  380. package/src/auth/runtime.ts +299 -277
  381. package/src/auth/session-cache.ts +18 -6
  382. package/src/auth/sessions.ts +30 -0
  383. package/src/auth/types.ts +7 -17
  384. package/src/bootstrap/index.ts +1 -0
  385. package/src/bootstrap/ontology-type-manifest.ts +112 -60
  386. package/src/edits/types.ts +47 -63
  387. package/src/errors/catalog.ts +4 -0
  388. package/src/events/envelope.ts +0 -13
  389. package/src/events/index.ts +1 -1
  390. package/src/events/service.ts +1 -11
  391. package/src/events/toStoredEvent.ts +1 -3
  392. package/src/events/types/index.ts +1 -1
  393. package/src/execution/agent.ts +1 -2
  394. package/src/execution/authorized-object-reader.ts +5 -7
  395. package/src/execution/primitive.ts +1 -2
  396. package/src/execution/request.ts +1 -2
  397. package/src/index.ts +8 -7
  398. package/src/maintenance/ontology-maintenance.ts +77 -1
  399. package/src/materialization/errors.ts +2 -0
  400. package/src/materialization/events.ts +27 -2
  401. package/src/materializer/README.md +2 -0
  402. package/src/materializer/edits/commit.ts +21 -12
  403. package/src/materializer/edits/operations.ts +32 -4
  404. package/src/materializer/edits/plan.ts +4 -5
  405. package/src/materializer/edits/user-refs.ts +115 -0
  406. package/src/materializer/effective/build-events.ts +4 -5
  407. package/src/materializer/execution/scope.ts +40 -7
  408. package/src/materializer/projections/replace.ts +2 -0
  409. package/src/materializer/projections/replacement-plan.ts +4 -0
  410. package/src/materializer/telemetry/append.ts +4 -12
  411. package/src/materializer/telemetry/plan.ts +4 -5
  412. package/src/objects/execution.ts +33 -62
  413. package/src/objects/query/executor.ts +12 -3
  414. package/src/objects/query/ir.ts +7 -0
  415. package/src/objects/query/planner.ts +1 -0
  416. package/src/objects/query/scalar-values.ts +19 -0
  417. package/src/objects/query/validate.ts +55 -44
  418. package/src/objects/sdk/object-handle.ts +8 -8
  419. package/src/objects/sdk/object-set.ts +8 -15
  420. package/src/objects/sdk/query-builder.ts +59 -71
  421. package/src/objects/sdk/telemetry-channel.ts +6 -7
  422. package/src/objects/sdk/where.ts +6 -13
  423. package/src/ontology/builders.ts +15 -11
  424. package/src/ontology/index.ts +4 -0
  425. package/src/ontology/inference/index.ts +56 -36
  426. package/src/ontology/internal.ts +1 -0
  427. package/src/ontology/json-schema.ts +12 -0
  428. package/src/ontology/primitives.ts +91 -0
  429. package/src/ontology/query-capabilities.ts +136 -0
  430. package/src/ontology/refs.ts +33 -6
  431. package/src/ontology/registered.ts +22 -0
  432. package/src/ontology/registry.ts +6 -3
  433. package/src/ontology/tokens.ts +41 -2
  434. package/src/ontology/types.ts +19 -3
  435. package/src/ontology/user-ref.ts +120 -0
  436. package/src/ontology/validation/definition.ts +2 -13
  437. package/src/ontology/validation/index.ts +1 -0
  438. package/src/ontology/validation/normalize.ts +39 -3
  439. package/src/ontology/validation/properties.ts +95 -19
  440. package/src/ontology/validation/query.ts +11 -42
  441. package/src/ontology/validation/schema.ts +16 -0
  442. package/src/predicates/types.ts +43 -33
  443. package/src/projections/builders.ts +24 -3
  444. package/src/projections/validation.ts +15 -1
  445. package/src/runtime/create.ts +2 -2
  446. package/src/runtime/host.ts +10 -12
  447. package/src/runtime/index.ts +3 -2
  448. package/src/runtime/sixb.ts +13 -23
  449. package/src/runtime/types.ts +277 -479
  450. package/src/sandboxes/sandbox.ts +4 -1
  451. package/src/shared/params/types.ts +4 -3
  452. package/src/shared/params/user-refs.ts +48 -0
  453. package/src/shares/compiler.ts +6 -16
  454. package/src/storage/action-runs/types.ts +1 -0
  455. package/src/storage/auth/in-memory/access-tokens.ts +5 -2
  456. package/src/storage/auth/in-memory/auth-storage.ts +5 -8
  457. package/src/storage/auth/in-memory/device-authorizations.ts +0 -2
  458. package/src/storage/auth/in-memory/sessions.ts +69 -1
  459. package/src/storage/auth/in-memory/shared.ts +13 -7
  460. package/src/storage/auth/index.ts +2 -1
  461. package/src/storage/auth/types.ts +57 -13
  462. package/src/storage/executions/validation.ts +1 -1
  463. package/src/storage/file-upload-sessions/in-memory.ts +64 -113
  464. package/src/storage/file-upload-sessions/index.ts +1 -0
  465. package/src/storage/file-upload-sessions/provider.ts +258 -0
  466. package/src/storage/file-upload-sessions/types.ts +20 -1
  467. package/src/storage/file-upload-sessions/utils.ts +25 -9
  468. package/src/storage/index.ts +3 -2
  469. package/src/storage/objects/in-memory/query.ts +13 -3
  470. package/src/storage/ontology/commits.ts +6 -2
  471. package/src/storage/ontology/in-memory/materializations.ts +6 -34
  472. package/src/storage/ontology/provider-header-validation.ts +57 -0
  473. package/src/storage/ontology/provider-work.ts +15 -3
  474. package/src/storage/ontology/provider.ts +59 -1
  475. package/src/storage/operation-scope.ts +1 -0
  476. package/src/storage/types.ts +0 -1
  477. package/src/storage/workflow-interventions/index.ts +0 -1
  478. package/src/storage/workflow-interventions/types.ts +5 -9
  479. package/src/testing/action-execution.ts +13 -3
  480. package/src/testing/auth-storage-contract.ts +149 -62
  481. package/src/testing/execution-storage-contract.ts +1 -2
  482. package/src/testing/execution.ts +4 -7
  483. package/src/testing/file-upload-session-storage-contract.ts +335 -0
  484. package/src/testing/index.ts +8 -0
  485. package/src/testing/materializer-storage-contract.ts +86 -4
  486. package/src/testing/object-query-contract.ts +121 -2
  487. package/src/testing/ontology-contract-fixture.ts +23 -3
  488. package/src/testing/ontology-storage-contract.ts +58 -0
  489. package/src/testing/sandboxes-contract.ts +27 -0
  490. package/src/testing/workflow-intervention-storage-contract.ts +203 -0
  491. package/src/webhooks/types.ts +2 -2
  492. package/src/workflows/run-dispatch.ts +12 -1
  493. package/src/workflows/snapshot.ts +16 -7
  494. package/src/workflows/types.ts +2 -2
  495. package/dist/chunk-2cxv584m.js.map +0 -43
  496. package/dist/chunk-3ghw2t5q.js.map +0 -10
  497. package/dist/chunk-3h7ctayx.js.map +0 -11
  498. package/dist/chunk-6ma8dvzc.js.map +0 -15
  499. package/dist/chunk-bbaa1fet.js.map +0 -25
  500. package/dist/chunk-eyjzgav0.js.map +0 -12
  501. package/dist/chunk-f06sf7rr.js.map +0 -11
  502. package/dist/chunk-g50nxqs5.js.map +0 -18
  503. package/dist/chunk-hkw8rykk.js.map +0 -15
  504. package/dist/chunk-p6r1ex7t.js.map +0 -10
  505. package/dist/chunk-qm535afa.js.map +0 -15
  506. package/dist/chunk-vpxss818.js.map +0 -10
  507. package/dist/chunk-vsg0g7h9.js.map +0 -17
  508. /package/dist/{chunk-e1f1sqba.js.map → chunk-04h4t2b5.js.map} +0 -0
  509. /package/dist/{chunk-y3ev53cq.js.map → chunk-2fv8sajb.js.map} +0 -0
  510. /package/dist/{chunk-3bnt2wna.js.map → chunk-2hbhn1ff.js.map} +0 -0
  511. /package/dist/{chunk-5tetw4hn.js.map → chunk-4tnrzqqh.js.map} +0 -0
  512. /package/dist/{chunk-jjwhy3rs.js.map → chunk-a69fkrtr.js.map} +0 -0
  513. /package/dist/{chunk-y1ahv8b7.js.map → chunk-bdhfn0ww.js.map} +0 -0
  514. /package/dist/{chunk-4ph94nhd.js.map → chunk-bep5rrdq.js.map} +0 -0
  515. /package/dist/{chunk-kept9cdd.js.map → chunk-bxx3ms5t.js.map} +0 -0
  516. /package/dist/{chunk-xtfryrfb.js.map → chunk-cbn96bve.js.map} +0 -0
  517. /package/dist/{chunk-r5zythxp.js.map → chunk-gbcrz0gr.js.map} +0 -0
  518. /package/dist/{chunk-t7dzd1tm.js.map → chunk-jhyc777j.js.map} +0 -0
  519. /package/dist/{chunk-0mza4xb2.js.map → chunk-m8zkvep1.js.map} +0 -0
  520. /package/dist/{chunk-sfypc7mk.js.map → chunk-s24qbp32.js.map} +0 -0
  521. /package/dist/{chunk-y0v18c2j.js.map → chunk-vef6qa14.js.map} +0 -0
  522. /package/dist/{chunk-gzt6v1ja.js.map → chunk-vn3yh259.js.map} +0 -0
  523. /package/dist/{chunk-bg2bs62d.js.map → chunk-w9bp61e7.js.map} +0 -0
  524. /package/dist/{chunk-gswwr35f.js.map → chunk-y487ywrv.js.map} +0 -0
  525. /package/dist/{chunk-bet1rb9h.js.map → chunk-y6vnvayj.js.map} +0 -0
  526. /package/dist/{chunk-g2gezsg5.js.map → chunk-z9h698s8.js.map} +0 -0
  527. /package/dist/{chunk-bfjv1adk.js.map → chunk-znw0zvy4.js.map} +0 -0
@@ -20,6 +20,77 @@ import {
20
20
  cloneJsonValue2
21
21
  } from "./chunk-wy0qdqfm.js";
22
22
 
23
+ // src/ontology/user-ref.ts
24
+ function userRef2(id) {
25
+ if (typeof id !== "string" || !id.trim()) {
26
+ throw new OntologyValidationError2("[Sixb] User reference id must not be empty.");
27
+ }
28
+ return Object.freeze({ type: "user", id });
29
+ }
30
+ function isUserRef(value) {
31
+ if (typeof value !== "object" || value === null || Array.isArray(value))
32
+ return false;
33
+ const record = value;
34
+ return Object.keys(record).every((key) => key === "type" || key === "id") && record.type === "user" && typeof record.id === "string" && record.id.trim().length > 0;
35
+ }
36
+ function collectUserRefIds(schema, value, valueTypesById, into, seenValueTypeIds = new Set) {
37
+ if (value === null || value === undefined)
38
+ return into;
39
+ if (typeof schema === "string") {
40
+ if (schema === "userRef" && isUserRef(value))
41
+ into.add(value.id);
42
+ return into;
43
+ }
44
+ switch (schema.type) {
45
+ case "array":
46
+ if (Array.isArray(value)) {
47
+ for (const item of value) {
48
+ collectUserRefIds(schema.items, item, valueTypesById, into, seenValueTypeIds);
49
+ }
50
+ }
51
+ return into;
52
+ case "map":
53
+ if (isRecord(value)) {
54
+ for (const item of Object.values(value)) {
55
+ collectUserRefIds(schema.valueSchema, item, valueTypesById, into, seenValueTypeIds);
56
+ }
57
+ }
58
+ return into;
59
+ case "object":
60
+ if (isRecord(value)) {
61
+ for (const [fieldId, field] of Object.entries(schema.properties)) {
62
+ collectUserRefIds(field.schema, value[fieldId], valueTypesById, into, seenValueTypeIds);
63
+ }
64
+ }
65
+ return into;
66
+ case "valueTypeRef": {
67
+ if (seenValueTypeIds.has(schema.valueTypeId))
68
+ return into;
69
+ const resolved = schema._resolved ?? valueTypesById.get(schema.valueTypeId)?.schema;
70
+ if (!resolved)
71
+ return into;
72
+ return collectUserRefIds(resolved, value, valueTypesById, into, new Set([...seenValueTypeIds, schema.valueTypeId]));
73
+ }
74
+ case "enum":
75
+ return into;
76
+ }
77
+ }
78
+ function userReferenceProblem(path, id, status) {
79
+ switch (status) {
80
+ case "active":
81
+ return;
82
+ case null:
83
+ return `[Sixb] ${path} references user '${id}', which does not exist.`;
84
+ case "unverifiable":
85
+ return `[Sixb] ${path} references user '${id}', but this runtime has no auth storage to verify users. Configure storage with auth to write user references.`;
86
+ default:
87
+ return `[Sixb] ${path} references user '${id}', who is ${status}. Only active users can be newly referenced; existing references are kept.`;
88
+ }
89
+ }
90
+ function isRecord(value) {
91
+ return typeof value === "object" && value !== null && !Array.isArray(value);
92
+ }
93
+
23
94
  // src/ontology/validation/schema.ts
24
95
  function validateSchemaValue2(schema, value, path, valueTypesById, diagnosticPath = path) {
25
96
  if (typeof schema === "string") {
@@ -68,6 +139,13 @@ function validateSchemaValue2(schema, value, path, valueTypesById, diagnosticPat
68
139
  }
69
140
  return;
70
141
  }
142
+ case "userRef": {
143
+ if (!isUserRef(value)) {
144
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be a user reference { type: "user", id }`), `Property ${diagnosticPath} must be a user reference.`);
145
+ }
146
+ return;
147
+ }
148
+ default:
71
149
  }
72
150
  }
73
151
  if (schema.type === "enum") {
@@ -170,6 +248,16 @@ function normalizeSchemaValue2(schema, value, path, valueTypesById) {
170
248
  return normalizeTimestampValue(value, path);
171
249
  case "decimal":
172
250
  return normalizeDecimal(value, path);
251
+ case "string":
252
+ case "uuid":
253
+ case "integer":
254
+ case "double":
255
+ case "boolean":
256
+ case "fileRef":
257
+ assertJsonValue2(value, path);
258
+ return cloneJsonValue2(value);
259
+ case "userRef":
260
+ return normalizeUserRef(value, path);
173
261
  default:
174
262
  assertJsonValue2(value, path);
175
263
  return cloneJsonValue2(value);
@@ -240,6 +328,12 @@ function normalizeDecimal(value, path) {
240
328
  throw new OntologyValidationError2(`[Sixb] Property ${path} must be an exact decimal string`);
241
329
  }
242
330
  }
331
+ function normalizeUserRef(value, path) {
332
+ if (!isUserRef(value)) {
333
+ throw new OntologyValidationError2(`[Sixb] Property ${path} must be a user reference { type: "user", id }`);
334
+ }
335
+ return { type: "user", id: value.id };
336
+ }
243
337
  function normalizeDateLike(value, path) {
244
338
  const date = value instanceof Date ? value : new Date(String(value));
245
339
  if (Number.isNaN(date.getTime())) {
@@ -252,10 +346,22 @@ function coerceSchemaValueToTyped2(schema, value, valueTypesById) {
252
346
  return value;
253
347
  }
254
348
  if (typeof schema === "string") {
255
- if (schema === "date" || schema === "timestamp") {
256
- return value instanceof Date ? value : new Date(String(value));
349
+ switch (schema) {
350
+ case "date":
351
+ case "timestamp":
352
+ return value instanceof Date ? value : new Date(String(value));
353
+ case "string":
354
+ case "uuid":
355
+ case "integer":
356
+ case "double":
357
+ case "decimal":
358
+ case "boolean":
359
+ case "fileRef":
360
+ case "userRef":
361
+ return value;
362
+ default:
363
+ return value;
257
364
  }
258
- return value;
259
365
  }
260
366
  if (schema.type === "valueTypeRef") {
261
367
  return coerceSchemaValueToTyped2(resolveValueTypeSchema2(schema, valueTypesById, ""), value, valueTypesById);
@@ -287,6 +393,56 @@ function coerceSchemaValueToTyped2(schema, value, valueTypesById) {
287
393
  return output;
288
394
  }
289
395
 
396
+ // src/ontology/primitives.ts
397
+ var comparable = {
398
+ exact: true,
399
+ exactSearch: true,
400
+ sortable: true,
401
+ text: false,
402
+ contains: false,
403
+ facet: true,
404
+ telemetry: true,
405
+ shareableParam: true
406
+ };
407
+ var PRIMITIVE_TRAITS = {
408
+ string: { ...comparable, queryScalarKind: "string", text: true, contains: true },
409
+ uuid: { ...comparable, queryScalarKind: "uuid", contains: true },
410
+ integer: { ...comparable, queryScalarKind: "integer" },
411
+ double: { ...comparable, queryScalarKind: "double" },
412
+ decimal: { ...comparable, queryScalarKind: "decimal" },
413
+ date: { ...comparable, queryScalarKind: "date" },
414
+ timestamp: { ...comparable, queryScalarKind: "timestamp" },
415
+ boolean: { ...comparable, queryScalarKind: "boolean", sortable: false },
416
+ fileRef: {
417
+ queryScalarKind: undefined,
418
+ exact: false,
419
+ exactSearch: false,
420
+ sortable: false,
421
+ text: false,
422
+ contains: false,
423
+ facet: false,
424
+ telemetry: false,
425
+ shareableParam: false
426
+ },
427
+ userRef: {
428
+ queryScalarKind: "userRef",
429
+ exact: true,
430
+ exactSearch: false,
431
+ sortable: false,
432
+ text: false,
433
+ contains: false,
434
+ facet: true,
435
+ telemetry: false,
436
+ shareableParam: false
437
+ }
438
+ };
439
+ function isPrimitiveSchema(schema) {
440
+ return typeof schema === "string" && Object.hasOwn(PRIMITIVE_TRAITS, schema);
441
+ }
442
+ function primitiveTraits(schema) {
443
+ return isPrimitiveSchema(schema) ? PRIMITIVE_TRAITS[schema] : undefined;
444
+ }
445
+
290
446
  // src/ontology/validation/properties.ts
291
447
  function assertObjectTypeRegistered2(objectTypesById, objectType) {
292
448
  if (!objectTypesById.has(objectType.id)) {
@@ -368,8 +524,21 @@ function validatePrimaryProperties2(objectTypesById) {
368
524
  function validatePropertyDefinitions2(objectTypesById, valueTypesById) {
369
525
  for (const [typeId, objectType] of objectTypesById) {
370
526
  for (const property of objectType.properties) {
371
- if (property.mode === "telemetry" && schemaContainsFileRef(property.schema, valueTypesById)) {
372
- throw new OntologyValidationError2(`[Sixb] Telemetry property '${property.id}' on '${typeId}' cannot use fileRef`);
527
+ assertNoObjectRefSchema(property, `Property '${typeId}.${property.id}'`, valueTypesById);
528
+ if (property.mode !== "telemetry")
529
+ continue;
530
+ const primitive = findPrimitiveSchema(property.schema, valueTypesById, (schema) => primitiveTraits(schema)?.telemetry === false);
531
+ if (primitive) {
532
+ throw new OntologyValidationError2(`[Sixb] Telemetry property '${property.id}' on '${typeId}' cannot use ${primitive}`);
533
+ }
534
+ }
535
+ for (const link of objectType.links) {
536
+ for (const property of link.properties ?? []) {
537
+ const path = `Link property '${typeId}.${link.id}.${property.id}'`;
538
+ assertNoObjectRefSchema(property, path, valueTypesById);
539
+ if (findPrimitiveSchema(property.schema, valueTypesById, (schema) => schema === "userRef")) {
540
+ throw new OntologyValidationError2(`[Sixb] ${path} cannot use ref.user(). User references are supported on object properties only.`);
541
+ }
373
542
  }
374
543
  }
375
544
  }
@@ -386,31 +555,58 @@ function validatePropertyValue2(property, value, path, valueTypesById) {
386
555
  }
387
556
  validateSchemaValue2(property.schema, value, path, valueTypesById);
388
557
  }
389
- function schemaContainsFileRef(schema, valueTypesById, seenValueTypeIds = new Set) {
390
- if (schema === "fileRef") {
391
- return true;
392
- }
558
+ function findPrimitiveSchema(schema, valueTypesById, matches, seenValueTypeIds = new Set) {
393
559
  if (typeof schema === "string") {
394
- return false;
560
+ return matches(schema) ? schema : undefined;
395
561
  }
396
562
  if (schema.type === "array") {
397
- return schemaContainsFileRef(schema.items, valueTypesById, seenValueTypeIds);
563
+ return findPrimitiveSchema(schema.items, valueTypesById, matches, seenValueTypeIds);
398
564
  }
399
565
  if (schema.type === "map") {
400
- return schemaContainsFileRef(schema.valueSchema, valueTypesById, seenValueTypeIds);
566
+ return findPrimitiveSchema(schema.valueSchema, valueTypesById, matches, seenValueTypeIds);
401
567
  }
402
568
  if (schema.type === "object") {
403
- return Object.values(schema.properties).some((field) => schemaContainsFileRef(field.schema, valueTypesById, seenValueTypeIds));
569
+ for (const field of Object.values(schema.properties)) {
570
+ const primitive = findPrimitiveSchema(field.schema, valueTypesById, matches, seenValueTypeIds);
571
+ if (primitive)
572
+ return primitive;
573
+ }
574
+ return;
404
575
  }
405
576
  if (schema.type === "valueTypeRef") {
406
577
  if (seenValueTypeIds.has(schema.valueTypeId)) {
407
- return false;
578
+ return;
408
579
  }
409
580
  seenValueTypeIds.add(schema.valueTypeId);
410
581
  const resolved = schema._resolved ?? valueTypesById.get(schema.valueTypeId)?.schema;
411
- return resolved ? schemaContainsFileRef(resolved, valueTypesById, seenValueTypeIds) : false;
582
+ return resolved ? findPrimitiveSchema(resolved, valueTypesById, matches, seenValueTypeIds) : undefined;
583
+ }
584
+ return;
585
+ }
586
+ function assertNoObjectRefSchema(property, path, valueTypesById) {
587
+ if (!containsObjectRefSchema(property.schema, valueTypesById))
588
+ return;
589
+ throw new OntologyValidationError2(`[Sixb] ${path} uses ref(ObjectType), which is only for Action and Workflow parameters. Point to another object with link("${property.id}", ObjectType) instead.`);
590
+ }
591
+ function containsObjectRefSchema(schema, valueTypesById, seen = new Set) {
592
+ if (typeof schema !== "object" || schema === null || seen.has(schema))
593
+ return false;
594
+ seen.add(schema);
595
+ const node = schema;
596
+ switch (node.type) {
597
+ case "objectRef":
598
+ return true;
599
+ case "array":
600
+ return containsObjectRefSchema(node.items, valueTypesById, seen);
601
+ case "map":
602
+ return containsObjectRefSchema(node.valueSchema, valueTypesById, seen);
603
+ case "object":
604
+ return typeof node.properties === "object" && node.properties !== null && Object.values(node.properties).some((field) => containsObjectRefSchema(field?.schema, valueTypesById, seen));
605
+ case "valueTypeRef":
606
+ return containsObjectRefSchema(node._resolved ?? valueTypesById.get(String(node.valueTypeId))?.schema, valueTypesById, seen);
607
+ default:
608
+ return false;
412
609
  }
413
- return false;
414
610
  }
415
611
 
416
612
  // src/ontology/validation/links.ts
@@ -472,6 +668,92 @@ function validateLinkProperties2(objectType, link, properties, existingPropertie
472
668
  }
473
669
  }
474
670
 
671
+ // src/ontology/query-capabilities.ts
672
+ function isExactSchema(schema) {
673
+ if (typeof schema === "string")
674
+ return primitiveTraits(schema)?.exact === true;
675
+ return schema.type === "enum";
676
+ }
677
+ function isExactSearchSchema(schema) {
678
+ if (typeof schema === "string")
679
+ return primitiveTraits(schema)?.exactSearch === true;
680
+ return schema.type === "enum";
681
+ }
682
+ function isFilterableSchema(schema) {
683
+ return isExactSchema(schema) || typeof schema !== "string" && (schema.type === "array" || schema.type === "map");
684
+ }
685
+ function isSortableSchema(schema) {
686
+ if (typeof schema === "string")
687
+ return primitiveTraits(schema)?.sortable === true;
688
+ return schema.type === "enum";
689
+ }
690
+ function isTextSchema(schema) {
691
+ if (typeof schema === "string")
692
+ return primitiveTraits(schema)?.text === true;
693
+ return schema.type === "enum" && schema.valueType === "string";
694
+ }
695
+ function isContainsSchema(schema) {
696
+ if (typeof schema === "string")
697
+ return primitiveTraits(schema)?.contains === true;
698
+ return schema.type === "array" || schema.type === "map";
699
+ }
700
+ function isFacetSchema(schema) {
701
+ if (typeof schema === "string")
702
+ return primitiveTraits(schema)?.facet === true;
703
+ return schema.type === "enum";
704
+ }
705
+ function queryScalarKindForSchema(schema) {
706
+ if (typeof schema === "string")
707
+ return primitiveTraits(schema)?.queryScalarKind;
708
+ if (schema.type === "enum")
709
+ return schema.valueType === "integer" ? "integer" : "string";
710
+ return;
711
+ }
712
+ var PRIMARY_OPERATORS = ["eq", "in"];
713
+ var EXACT_OPERATORS = ["eq", "neq", "in", "exists"];
714
+ var RANGE_OPERATORS = ["lt", "lte", "gt", "gte"];
715
+ var OPERATOR_ORDER = [
716
+ "eq",
717
+ "neq",
718
+ "lt",
719
+ "lte",
720
+ "gt",
721
+ "gte",
722
+ "in",
723
+ "contains",
724
+ "exists"
725
+ ];
726
+ function resolvePropertyQueryCapabilities2(property, valueTypesById) {
727
+ const query = property.query?.searchable === true ? property.query : undefined;
728
+ const schema = resolveQuerySchema(property.schema, valueTypesById);
729
+ const operators = new Set(property.primary ? PRIMARY_OPERATORS : []);
730
+ if (query?.filterable === true && schema) {
731
+ if (isExactSchema(schema))
732
+ for (const op of EXACT_OPERATORS)
733
+ operators.add(op);
734
+ if (isSortableSchema(schema))
735
+ for (const op of RANGE_OPERATORS)
736
+ operators.add(op);
737
+ if (isContainsSchema(schema))
738
+ operators.add("contains");
739
+ }
740
+ return {
741
+ operators: OPERATOR_ORDER.filter((op) => operators.has(op)),
742
+ sortable: query?.sortable === true && schema !== undefined && isSortableSchema(schema),
743
+ facet: query?.facet === true && schema !== undefined && isFacetSchema(schema),
744
+ text: query?.text === true && property.mode !== "telemetry" && schema !== undefined && isTextSchema(schema)
745
+ };
746
+ }
747
+ function resolveQuerySchema(schema, valueTypesById, seen = new Set) {
748
+ if (typeof schema === "string" || schema.type !== "valueTypeRef")
749
+ return schema;
750
+ if (seen.has(schema.valueTypeId))
751
+ return;
752
+ seen.add(schema.valueTypeId);
753
+ const resolved = schema._resolved ?? valueTypesById.get(schema.valueTypeId)?.schema;
754
+ return resolved ? resolveQuerySchema(resolved, valueTypesById, seen) : undefined;
755
+ }
756
+
475
757
  // src/ontology/validation/query.ts
476
758
  var queryFeatures = ["filterable", "sortable", "text", "exact", "facet"];
477
759
  function validateQueryMetadata2(objectTypesById, valueTypesById) {
@@ -512,10 +794,10 @@ function validatePropertyQueryMetadata(ownerPath, property, valueTypesById) {
512
794
  if (enabledFeatures.length === 0)
513
795
  return;
514
796
  const schema = resolveQueryableSchema(property, ownerPath, valueTypesById);
515
- if (query.text && !isTextSearchableSchema(schema)) {
797
+ if (query.text && !isTextSchema(schema)) {
516
798
  throw new OntologyValidationError2(`[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' enables text search, but its schema is not string-like`);
517
799
  }
518
- if (query.exact && !isExactSearchableSchema(schema)) {
800
+ if (query.exact && !isExactSearchSchema(schema)) {
519
801
  throw new OntologyValidationError2(`[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' enables exact search, but its schema cannot be exact-matched`);
520
802
  }
521
803
  if (query.filterable && !isFilterableSchema(schema)) {
@@ -545,7 +827,7 @@ function validateObjectSearchMetadata(typeId, objectType, valueTypesById) {
545
827
  for (const id of profile.source) {
546
828
  const property = requireObjectProperty(typeId, objectType, id, `search.vectors.${name}`);
547
829
  assertStaticSearchProfileProperty(typeId, property, `search.vectors.${name}`);
548
- if (!isTextSearchableSchema(resolveQueryableSchema(property, typeId, valueTypesById))) {
830
+ if (!isTextSchema(resolveQueryableSchema(property, typeId, valueTypesById))) {
549
831
  throw new OntologyValidationError2(`[Sixb] Vector source must be text: ${typeId}.${id}`);
550
832
  }
551
833
  }
@@ -555,7 +837,7 @@ function validateObjectSearchMetadata(typeId, objectType, valueTypesById) {
555
837
  const title = requireObjectProperty(typeId, objectType, search.title, "search.title");
556
838
  assertStaticSearchProfileProperty(typeId, title, "search.title");
557
839
  const schema = resolveQueryableSchema(title, typeId, valueTypesById);
558
- if (!isTextSearchableSchema(schema)) {
840
+ if (!isTextSchema(schema)) {
559
841
  throw new OntologyValidationError2(`[Sixb] Object type '${typeId}' search.title references '${title.id}', but title fields must be string-like`);
560
842
  }
561
843
  }
@@ -610,29 +892,6 @@ function resolveSchema(schema, valueTypesById, path, seenValueTypeIds = new Set)
610
892
  seenValueTypeIds.add(schema.valueTypeId);
611
893
  return resolveSchema(resolved, valueTypesById, path, seenValueTypeIds);
612
894
  }
613
- function isTextSearchableSchema(schema) {
614
- if (schema === "string")
615
- return true;
616
- return typeof schema !== "string" && schema.type === "enum" && schema.valueType === "string";
617
- }
618
- function isExactSearchableSchema(schema) {
619
- if (typeof schema === "string") {
620
- return schema !== "fileRef";
621
- }
622
- return schema.type === "enum";
623
- }
624
- function isFilterableSchema(schema) {
625
- return isExactSearchableSchema(schema) || typeof schema !== "string" && (schema.type === "array" || schema.type === "map");
626
- }
627
- function isSortableSchema(schema) {
628
- if (typeof schema === "string") {
629
- return schema === "string" || schema === "uuid" || schema === "integer" || schema === "double" || schema === "decimal" || schema === "date" || schema === "timestamp";
630
- }
631
- return schema.type === "enum";
632
- }
633
- function isFacetSchema(schema) {
634
- return isExactSearchableSchema(schema);
635
- }
636
895
 
637
896
  // src/ontology/units/quantitative-types.ts
638
897
  var angleUnits = {
@@ -1245,6 +1504,6 @@ function validateTelemetryUnit2(property, propertyPath, unit, valueTypesById) {
1245
1504
  throw new OntologyValidationError2(`[Sixb] Property ${propertyPath} does not define semanticType and cannot accept a unit`);
1246
1505
  }
1247
1506
  }
1248
- export { validateSchemaValue2, resolveValueTypeRef2, resolveValueTypeSchema2, isRecord2, normalizeObjectProperties2, normalizeSchemaValue2, coerceSchemaValueToTyped2, assertObjectTypeRegistered2, assertPropertyTokenBelongsToObjectType2, assertLinkTokenBelongsToObjectType2, assertKnownProperties2, assertRequiredProperties2, validateObjectProperties2, validatePrimaryProperties2, validatePropertyDefinitions2, validatePropertyValue2, assertLinkTargetType2, assertTargetTypeCompatible2, normalizeLinkProperties2, validateLinkProperties2, validateQueryMetadata2, quantitativeTypes2, getUnit2, getUnitsFor2, isValidUnit2, getUnitSymbol2, isQuantitativeTypeId2, isUnitId2, assertTelemetryProperty2, resolveSemanticType2, validateTelemetryUnit2 };
1507
+ export { userRef2, collectUserRefIds, userReferenceProblem, validateSchemaValue2, resolveValueTypeRef2, resolveValueTypeSchema2, isRecord2, normalizeObjectProperties2, normalizeSchemaValue2, coerceSchemaValueToTyped2, isPrimitiveSchema, primitiveTraits, assertObjectTypeRegistered2, assertPropertyTokenBelongsToObjectType2, assertLinkTokenBelongsToObjectType2, assertKnownProperties2, assertRequiredProperties2, validateObjectProperties2, validatePrimaryProperties2, validatePropertyDefinitions2, validatePropertyValue2, findPrimitiveSchema, assertLinkTargetType2, assertTargetTypeCompatible2, normalizeLinkProperties2, validateLinkProperties2, isExactSchema, isSortableSchema, isTextSchema, isContainsSchema, queryScalarKindForSchema, resolvePropertyQueryCapabilities2, validateQueryMetadata2, quantitativeTypes2, getUnit2, getUnitsFor2, isValidUnit2, getUnitSymbol2, isQuantitativeTypeId2, isUnitId2, assertTelemetryProperty2, resolveSemanticType2, validateTelemetryUnit2 };
1249
1508
 
1250
- //# debugId=FA9118B7173D1B9264756E2164756E21
1509
+ //# debugId=65AF2C96D9900E0264756E2164756E21