@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
@@ -1,7 +1,4 @@
1
1
  // @bun
2
- import {
3
- isProjectionDefinition2
4
- } from "./chunk-bbaa1fet.js";
5
2
  import {
6
3
  isActionDefinition2,
7
4
  isGroupDefinition,
@@ -10,16 +7,16 @@ import {
10
7
  ShareDefinitionError2,
11
8
  isShareDefinition,
12
9
  snapshotShareDefinition
13
- } from "./chunk-2cxv584m.js";
10
+ } from "./chunk-9pfw47qx.js";
14
11
  import {
15
- RuntimeError2
16
- } from "./chunk-2h63nrde.js";
12
+ isProjectionDefinition2
13
+ } from "./chunk-rzcjp5m2.js";
17
14
  import {
18
15
  isDatasetDefinition2
19
16
  } from "./chunk-cd234ba4.js";
20
17
  import {
21
18
  isPipelineDefinition2
22
- } from "./chunk-3bnt2wna.js";
19
+ } from "./chunk-2hbhn1ff.js";
23
20
  import {
24
21
  assertPredicateShape,
25
22
  createPropertyPredicateBuilder,
@@ -29,18 +26,21 @@ import {
29
26
  notPredicate,
30
27
  isScheduleDefinition2
31
28
  } from "./chunk-e1c18xjx.js";
32
- import {
33
- compileShareAccessPlan
34
- } from "./chunk-3ghw2t5q.js";
35
29
  import {
36
30
  isSyncDefinition2
37
- } from "./chunk-t7dzd1tm.js";
31
+ } from "./chunk-jhyc777j.js";
38
32
  import {
39
33
  isWorkflowDefinition2
40
- } from "./chunk-nzsy3xrp.js";
34
+ } from "./chunk-cvrbhvtr.js";
35
+ import {
36
+ compileShareAccessPlan
37
+ } from "./chunk-gmt22nxx.js";
41
38
  import {
42
39
  isConnectorDefinition
43
40
  } from "./chunk-9x8dybsb.js";
41
+ import {
42
+ RuntimeError2
43
+ } from "./chunk-m4ehq95f.js";
44
44
 
45
45
  // src/bootstrap/discovery.ts
46
46
  import { AsyncLocalStorage } from "async_hooks";
@@ -446,7 +446,8 @@ async function discoverOntologyTypeManifest2(projectRoot) {
446
446
  const ontologyDir = join2(resolvedProjectRoot, "ontology");
447
447
  const modulePaths = await listModuleFiles2(ontologyDir);
448
448
  const entries = new Map;
449
- const seenObjectTypes = new Set;
449
+ const valueTypeEntries = new Map;
450
+ const seen = new Set;
450
451
  for (const modulePath of modulePaths) {
451
452
  const moduleSpecifier = toGeneratedModuleSpecifier({
452
453
  fromDir: join2(resolvedProjectRoot, ".sixb", "types"),
@@ -463,12 +464,14 @@ async function discoverOntologyTypeManifest2(projectRoot) {
463
464
  modulePath,
464
465
  moduleSpecifier,
465
466
  entries,
466
- seenObjectTypes
467
+ valueTypeEntries,
468
+ seen
467
469
  });
468
470
  }
469
471
  }
470
472
  return {
471
473
  entries: [...entries.values()].sort((a, b) => a.objectTypeId.localeCompare(b.objectTypeId)),
474
+ valueTypeEntries: [...valueTypeEntries.values()].sort((a, b) => a.valueTypeId.localeCompare(b.valueTypeId)),
472
475
  moduleCount: modulePaths.length
473
476
  };
474
477
  }
@@ -490,7 +493,7 @@ async function generateOntologyTypeManifest2(options) {
490
493
  };
491
494
  }
492
495
  }
493
- const content = renderOntologyTypeManifest(discovery.entries);
496
+ const content = renderOntologyTypeManifest(discovery);
494
497
  await mkdir(dirname(outFile), { recursive: true });
495
498
  const written = await writeFileIfChanged(outFile, content);
496
499
  return {
@@ -501,64 +504,69 @@ async function generateOntologyTypeManifest2(options) {
501
504
  };
502
505
  }
503
506
  function collectManifestEntries(input) {
504
- if (isObjectTypeWithPropertyTokens2(input.exportedValue)) {
505
- addManifestEntry({
506
- objectType: input.exportedValue,
507
- modulePath: input.modulePath,
508
- exportName: input.exportName,
509
- typeExpression: `typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}]`,
510
- entries: input.entries,
511
- seenObjectTypes: input.seenObjectTypes
512
- });
513
- return;
514
- }
515
- if (isOntologyDocumentInput2(input.exportedValue)) {
516
- for (const objectType of input.exportedValue.objectTypes) {
507
+ const exported = `(typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}])`;
508
+ const add = (value, typeExpression) => {
509
+ if (isObjectTypeWithPropertyTokens2(value)) {
517
510
  addManifestEntry({
518
- objectType,
519
- modulePath: input.modulePath,
520
- exportName: input.exportName,
521
- typeExpression: `Extract<(typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}])["objectTypes"][number], { id: ${JSON.stringify(objectType.id)} }>`,
511
+ kind: "object type",
512
+ definition: value,
513
+ entry: {
514
+ objectTypeId: value.id,
515
+ modulePath: input.modulePath,
516
+ exportName: input.exportName,
517
+ typeExpression: typeExpression(value.id)
518
+ },
519
+ idOf: (entry) => entry.objectTypeId,
522
520
  entries: input.entries,
523
- seenObjectTypes: input.seenObjectTypes
521
+ seen: input.seen
522
+ });
523
+ } else if (isValueType2(value)) {
524
+ addManifestEntry({
525
+ kind: "value type",
526
+ definition: value,
527
+ entry: {
528
+ valueTypeId: value.id,
529
+ modulePath: input.modulePath,
530
+ exportName: input.exportName,
531
+ typeExpression: typeExpression(value.id)
532
+ },
533
+ idOf: (entry) => entry.valueTypeId,
534
+ entries: input.valueTypeEntries,
535
+ seen: input.seen
524
536
  });
525
537
  }
538
+ };
539
+ if (isOntologyDocumentInput2(input.exportedValue)) {
540
+ for (const objectType of input.exportedValue.objectTypes) {
541
+ add(objectType, (id) => `Extract<${exported}["objectTypes"][number], { id: ${JSON.stringify(id)} }>`);
542
+ }
543
+ for (const valueType of input.exportedValue.valueTypes ?? []) {
544
+ add(valueType, (id) => `Extract<${exported}["valueTypes"][number], { id: ${JSON.stringify(id)} }>`);
545
+ }
526
546
  return;
527
547
  }
528
548
  if (Array.isArray(input.exportedValue)) {
529
549
  for (const item of input.exportedValue) {
530
- if (!isObjectTypeWithPropertyTokens2(item))
531
- continue;
532
- addManifestEntry({
533
- objectType: item,
534
- modulePath: input.modulePath,
535
- exportName: input.exportName,
536
- typeExpression: `Extract<(typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}])[number], { id: ${JSON.stringify(item.id)} }>`,
537
- entries: input.entries,
538
- seenObjectTypes: input.seenObjectTypes
539
- });
550
+ add(item, (id) => `Extract<${exported}[number], { id: ${JSON.stringify(id)} }>`);
540
551
  }
552
+ return;
541
553
  }
554
+ add(input.exportedValue, () => `typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}]`);
542
555
  }
543
556
  function addManifestEntry(input) {
544
- if (input.seenObjectTypes.has(input.objectType)) {
557
+ if (input.seen.has(input.definition)) {
545
558
  return;
546
559
  }
547
- input.seenObjectTypes.add(input.objectType);
548
- const existing = input.entries.get(input.objectType.id);
549
- const entry = {
550
- objectTypeId: input.objectType.id,
551
- modulePath: input.modulePath,
552
- exportName: input.exportName,
553
- typeExpression: input.typeExpression
554
- };
560
+ input.seen.add(input.definition);
561
+ const id = input.idOf(input.entry);
562
+ const existing = input.entries.get(id);
555
563
  if (!existing) {
556
- input.entries.set(input.objectType.id, entry);
564
+ input.entries.set(id, input.entry);
557
565
  return;
558
566
  }
559
- throw new RuntimeError2(`[Sixb] Duplicate ontology object type id "${input.objectType.id}" while generating `.concat(`the type manifest: ${relative2(process.cwd(), existing.modulePath)} and `, `${relative2(process.cwd(), input.modulePath)}.`));
567
+ throw new RuntimeError2(`[Sixb] Duplicate ontology ${input.kind} id "${id}" while generating `.concat(`the type manifest: ${relative2(process.cwd(), existing.modulePath)} and `, `${relative2(process.cwd(), input.entry.modulePath)}.`));
560
568
  }
561
- function renderOntologyTypeManifest(entries) {
569
+ function renderOntologyTypeManifest(discovery) {
562
570
  const lines = [
563
571
  "// This file is auto-generated by Sixb.",
564
572
  "// Do not edit this file directly.",
@@ -566,9 +574,13 @@ function renderOntologyTypeManifest(entries) {
566
574
  'declare module "@sixb/core/ontology" {',
567
575
  " interface SixbObjectTypeMap {"
568
576
  ];
569
- for (const entry of entries) {
577
+ for (const entry of discovery.entries) {
570
578
  lines.push(` ${JSON.stringify(entry.objectTypeId)}: ${entry.typeExpression}`);
571
579
  }
580
+ lines.push(" }", " interface SixbValueTypeMap {");
581
+ for (const entry of discovery.valueTypeEntries) {
582
+ lines.push(` ${JSON.stringify(entry.valueTypeId)}: ${entry.typeExpression}`);
583
+ }
572
584
  lines.push(" }", "}", "", "export {}", "");
573
585
  return lines.join(`
574
586
  `);
@@ -647,6 +659,12 @@ function isObjectTypeWithPropertyTokens2(value) {
647
659
  }
648
660
  return typeof value.id === "string" && Array.isArray(value.properties) && Array.isArray(value.links) && isRecord3(value.p);
649
661
  }
662
+ function isValueType2(value) {
663
+ if (!isRecord3(value)) {
664
+ return false;
665
+ }
666
+ return typeof value.id === "string" && typeof value.name === "string" && "schema" in value && !Array.isArray(value.properties) && !Array.isArray(value.objectTypes);
667
+ }
650
668
  function isOntologyDocumentInput2(value) {
651
669
  if (!isRecord3(value)) {
652
670
  return false;
@@ -655,4 +673,4 @@ function isOntologyDocumentInput2(value) {
655
673
  }
656
674
  export { RuleValidationError2, isRuleDefinition2, validateRulesAtStartup, defineRule2, validateSharesAtStartup, discoverOntologySources2, withProjectModules2, listProjectModules2, discoverProjectDefinitions2, discoverOntologyTypeManifest2, generateOntologyTypeManifest2 };
657
675
 
658
- //# debugId=A642BA69DC8DFE9864756E2164756E21
676
+ //# debugId=0C3D7CE71EFB366064756E2164756E21
@@ -7,9 +7,9 @@
7
7
  "import type { OntologyRegistry } from \"../ontology/registry\"\nimport type { ObjectType } from \"../ontology/types\"\nimport { assertPredicateShape } from \"../predicates\"\nimport { RuleValidationError } from \"./errors\"\nimport type { RuleDefinition, RulePredicate } from \"./types\"\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nfunction assertNonEmptyString(\n value: unknown,\n field: string,\n createError: (message: string) => Error\n): asserts value is string {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw createError(`${field} must not be empty.`)\n }\n}\n\n/**\n * Validate only the portable AST shape.\n *\n * This is used by discovery/type guards and by the builder after `.where(...)`.\n * Ontology-aware checks live in `validateRulesAtStartup`, once the full\n * registry has inherited properties and links resolved.\n */\nexport function assertRulePredicateShape(\n value: unknown,\n createError: (message: string) => Error = (message) => new RuleValidationError(message)\n): asserts value is RulePredicate {\n assertPredicateShape(value, { subject: \"Rule\", createError })\n}\n\n/** Validate the serializable rule envelope without consulting ontology state. */\nexport function assertRuleDefinition(\n value: unknown,\n createError: (message: string) => Error = (message) => new RuleValidationError(message)\n): asserts value is RuleDefinition {\n if (!isRecord(value)) {\n throw createError(\"Rule definition must be an object.\")\n }\n\n if (value.kind !== \"rule\") {\n throw createError(\"Rule definition kind must be 'rule'.\")\n }\n\n assertNonEmptyString(value.id, \"Rule id\", createError)\n\n if (!isRecord(value.subject) || value.subject.kind !== \"object\") {\n throw createError(`Rule '${value.id}' subject must be an object subject.`)\n }\n\n assertNonEmptyString(\n value.subject.objectTypeId,\n `Rule '${value.id}' subject objectTypeId`,\n createError\n )\n assertRulePredicateShape(value.predicate, createError)\n}\n\nexport function isRuleDefinition(value: unknown): value is RuleDefinition {\n try {\n assertRuleDefinition(value, (message) => new Error(message))\n return true\n } catch {\n return false\n }\n}\n\n/**\n * Validate rules after the ontology registry is built.\n *\n * Startup is where we can reject references that cannot be known from the\n * serialized rule alone: duplicate ids, unknown subject types, unknown\n * properties/links, and empty logical groups.\n */\nexport function validateRulesAtStartup(\n rules: readonly RuleDefinition[],\n ontology: OntologyRegistry\n): void {\n const seenRuleIds = new Set<string>()\n\n for (const rule of rules) {\n assertRuleDefinition(rule)\n\n if (seenRuleIds.has(rule.id)) {\n throw new RuleValidationError(`Duplicate rule id: ${rule.id}`)\n }\n seenRuleIds.add(rule.id)\n\n const objectType = ontology.getObjectTypeById(rule.subject.objectTypeId)\n if (!objectType) {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": unknown object type \"${rule.subject.objectTypeId}\".`\n )\n }\n\n validatePredicateAgainstSubject(rule, objectType, rule.predicate)\n }\n}\n\n/** Walk every predicate node and check subject-scoped references. */\nfunction validatePredicateAgainstSubject(\n rule: RuleDefinition,\n objectType: ObjectType,\n predicate: RulePredicate\n): void {\n if (predicate.kind === \"all\" || predicate.kind === \"any\") {\n if (predicate.predicates.length === 0) {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": ${predicate.kind} predicate must contain at least one predicate.`\n )\n }\n\n for (const child of predicate.predicates) {\n validatePredicateAgainstSubject(rule, objectType, child)\n }\n return\n }\n\n if (predicate.kind === \"not\") {\n validatePredicateAgainstSubject(rule, objectType, predicate.predicate)\n return\n }\n\n if (predicate.kind === \"property\") {\n const propertyIds = new Set(objectType.properties.map((property) => property.id))\n if (!propertyIds.has(predicate.propertyId)) {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": unknown property \"${predicate.propertyId}\" on object type \"${objectType.id}\".`\n )\n }\n return\n }\n\n if (predicate.kind === \"field\") {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": field predicates are not supported in rule conditions.`\n )\n }\n\n const linkIds = new Set(objectType.links.map((link) => link.id))\n if (!linkIds.has(predicate.linkId)) {\n throw new RuleValidationError(\n `Rule \"${rule.id}\": unknown link \"${predicate.linkId}\" on object type \"${objectType.id}\".`\n )\n }\n}\n",
8
8
  "import {\n allPredicates,\n anyPredicates,\n createLinkPredicateBuilder as createSharedLinkPredicateBuilder,\n createPropertyPredicateBuilder as createSharedPropertyPredicateBuilder,\n notPredicate,\n type RuntimePropertyPredicateBuilder,\n} from \"../predicates\"\nimport { RuleValidationError } from \"./errors\"\nimport type {\n RuleBuilder,\n RuleDefinition,\n RuleLinkPredicateBuilder,\n RuleObjectType,\n RulePredicate,\n RulePropertyPredicate,\n} from \"./types\"\nimport { assertRulePredicateShape } from \"./validation\"\n\n/**\n * Runtime builders stay deliberately concrete.\n *\n * The public overload below provides typed property/link keys to callers, while\n * this internal shape keeps the implementation simple and avoids asking\n * TypeScript to instantiate the full ontology mapped type while checking this\n * file.\n */\ntype RuntimeRulePropertyPredicateBuilder = RuntimePropertyPredicateBuilder<RulePropertyPredicate>\n\ntype RuntimeRuleSubjectBuilder = {\n p: Record<string, RuntimeRulePropertyPredicateBuilder>\n l: Record<string, RuleLinkPredicateBuilder>\n all(...predicates: RulePredicate[]): RulePredicate\n any(...predicates: RulePredicate[]): RulePredicate\n not(predicate: RulePredicate): RulePredicate\n}\n\nfunction assertNonEmpty(value: string, field: string): void {\n if (!value.trim()) {\n throw new RuleValidationError(`Rule ${field} must not be empty.`)\n }\n}\n\n/** Build the `tx.p.<propertyId>` API for one ontology property. */\nfunction createPropertyPredicateBuilder(propertyId: string): RuntimeRulePropertyPredicateBuilder {\n return createSharedPropertyPredicateBuilder(propertyId, {\n subject: \"Rule\",\n createError: (message) => new RuleValidationError(message),\n })\n}\n\n/** Build the `tx.l.<linkId>` API for one ontology link. */\nfunction createLinkPredicateBuilder(linkId: string): RuleLinkPredicateBuilder {\n return createSharedLinkPredicateBuilder(linkId)\n}\n\n/**\n * Build the callback subject from ontology metadata.\n *\n * This object is only used while `.where(...)` executes. The returned\n * RuleDefinition stores the predicate data produced by these methods, not this\n * builder object or the user callback.\n */\nfunction createRuleSubjectBuilder<TObjectType extends RuleObjectType>(\n objectType: TObjectType\n): RuntimeRuleSubjectBuilder {\n const properties = Object.fromEntries(\n objectType.properties.map((property) => [\n property.id,\n createPropertyPredicateBuilder(property.id),\n ])\n )\n\n const links = Object.fromEntries(\n objectType.links.map((link) => [link.id, createLinkPredicateBuilder(link.id)])\n )\n\n return {\n p: properties,\n l: links,\n all(...predicates: RulePredicate[]): RulePredicate {\n return allPredicates(predicates)\n },\n any(...predicates: RulePredicate[]): RulePredicate {\n return anyPredicates(predicates)\n },\n not(predicate: RulePredicate): RulePredicate {\n return notPredicate(predicate)\n },\n }\n}\n\n/**\n * Define an inert business rule.\n *\n * The overload preserves literal ids and typed property/link keys for users.\n * The implementation returns a concrete builder and casts at the boundary so\n * runtime code stays small while callers still get the typed DSL.\n */\nexport function defineRule<const TId extends string>(id: TId): RuleBuilder<TId>\nexport function defineRule(id: string): RuleBuilder<string> {\n assertNonEmpty(id, \"id\")\n\n const builder = {\n on(objectType: RuleObjectType) {\n return {\n where(callback: (subject: RuntimeRuleSubjectBuilder) => RulePredicate): RuleDefinition {\n const predicate = callback(createRuleSubjectBuilder(objectType))\n assertRulePredicateShape(predicate)\n\n return {\n kind: \"rule\",\n id,\n subject: {\n kind: \"object\",\n objectTypeId: objectType.id,\n },\n predicate,\n }\n },\n }\n },\n }\n\n return builder as unknown as RuleBuilder<string>\n}\n",
9
9
  "import type { ActionDefinitionCatalog } from \"../actions\"\nimport type { OntologyDefinitionCatalog } from \"../ontology\"\nimport { snapshotShareDefinition } from \"./builders\"\nimport { compileShareAccessPlan } from \"./compiler\"\nimport { ShareDefinitionError } from \"./errors\"\nimport type { ShareDefinition } from \"./types\"\n\n/** Cross-validate discovered Share definitions after ontology and Actions are registered. */\nexport function validateSharesAtStartup(input: {\n readonly shares: readonly ShareDefinition[]\n readonly ontology: OntologyDefinitionCatalog\n readonly actions: ActionDefinitionCatalog\n}): ReadonlyMap<string, ShareDefinition> {\n const byId = new Map<string, ShareDefinition>()\n for (const authoredShare of input.shares) {\n const share = snapshotShareDefinition(authoredShare)\n if (byId.has(share.id)) {\n throw invalid(`Duplicate Share id: ${share.id}`)\n }\n compileShareAccessPlan({\n share,\n target: {\n objectTypeId: share.target.objectTypeId,\n primaryId: \"__sixb_share_definition_validation__\",\n },\n ontology: input.ontology,\n actions: input.actions,\n })\n byId.set(share.id, share)\n }\n return byId\n}\n\nexport function assertShareDefinitionEnvelope(value: unknown): asserts value is ShareDefinition {\n snapshotShareDefinition(value)\n}\n\nfunction invalid(message: string): ShareDefinitionError {\n return new ShareDefinitionError(`[Sixb] ${message}`)\n}\n",
10
- "import { access, mkdir, readdir, readFile, writeFile } from \"node:fs/promises\"\nimport { dirname, extname, join, relative, resolve, sep } from \"node:path\"\nimport { pathToFileURL } from \"node:url\"\nimport type { OntologyDocumentInput } from \"../ontology/registry\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport { RuntimeError } from \"../runtime/errors\"\n\nconst moduleExtensions = new Set([\".ts\", \".tsx\", \".js\", \".jsx\", \".mjs\", \".cjs\"])\n\nexport interface OntologyTypeManifestEntry {\n readonly objectTypeId: string\n readonly modulePath: string\n readonly exportName: string\n readonly typeExpression: string\n}\n\nexport interface OntologyTypeManifestDiscovery {\n readonly entries: readonly OntologyTypeManifestEntry[]\n readonly moduleCount: number\n}\n\nexport interface GenerateOntologyTypeManifestOptions {\n readonly projectRoot: string\n readonly outFile?: string\n}\n\nexport interface GenerateOntologyTypeManifestResult extends OntologyTypeManifestDiscovery {\n readonly path: string\n readonly written: boolean\n readonly skipped: boolean\n}\n\nexport async function discoverOntologyTypeManifest(\n projectRoot: string\n): Promise<OntologyTypeManifestDiscovery> {\n const resolvedProjectRoot = resolve(projectRoot)\n const ontologyDir = join(resolvedProjectRoot, \"ontology\")\n const modulePaths = await listModuleFiles(ontologyDir)\n const entries = new Map<string, OntologyTypeManifestEntry>()\n const seenObjectTypes = new Set<unknown>()\n\n for (const modulePath of modulePaths) {\n const moduleSpecifier = toGeneratedModuleSpecifier({\n fromDir: join(resolvedProjectRoot, \".sixb\", \"types\"),\n modulePath,\n })\n const moduleNamespace = await loadOntologyModule({\n modulePath,\n projectRoot: resolvedProjectRoot,\n })\n\n for (const [exportName, exportedValue] of Object.entries(moduleNamespace)) {\n collectManifestEntries({\n exportedValue,\n exportName,\n modulePath,\n moduleSpecifier,\n entries,\n seenObjectTypes,\n })\n }\n }\n\n return {\n entries: [...entries.values()].sort((a, b) => a.objectTypeId.localeCompare(b.objectTypeId)),\n moduleCount: modulePaths.length,\n }\n}\n\nexport async function generateOntologyTypeManifest(\n options: GenerateOntologyTypeManifestOptions\n): Promise<GenerateOntologyTypeManifestResult> {\n const projectRoot = resolve(options.projectRoot)\n const outFile = resolve(projectRoot, options.outFile ?? join(\".sixb\", \"types\", \"ontology.d.ts\"))\n const discovery = await discoverOntologyTypeManifest(projectRoot)\n\n if (discovery.moduleCount === 0) {\n // Leave projects without ontology untouched, but clear a previously generated map.\n try {\n await access(outFile)\n } catch (error) {\n if (!isNotFoundError(error)) throw error\n return {\n ...discovery,\n path: outFile,\n written: false,\n skipped: true,\n }\n }\n }\n\n const content = renderOntologyTypeManifest(discovery.entries)\n await mkdir(dirname(outFile), { recursive: true })\n const written = await writeFileIfChanged(outFile, content)\n\n return {\n ...discovery,\n path: outFile,\n written,\n skipped: false,\n }\n}\n\nfunction collectManifestEntries(input: {\n readonly exportedValue: unknown\n readonly exportName: string\n readonly modulePath: string\n readonly moduleSpecifier: string\n readonly entries: Map<string, OntologyTypeManifestEntry>\n readonly seenObjectTypes: Set<unknown>\n}): void {\n if (isObjectTypeWithPropertyTokens(input.exportedValue)) {\n addManifestEntry({\n objectType: input.exportedValue,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: `typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(\n input.exportName\n )}]`,\n entries: input.entries,\n seenObjectTypes: input.seenObjectTypes,\n })\n return\n }\n\n if (isOntologyDocumentInput(input.exportedValue)) {\n for (const objectType of input.exportedValue.objectTypes) {\n addManifestEntry({\n objectType,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: `Extract<(typeof import(${JSON.stringify(\n input.moduleSpecifier\n )})[${JSON.stringify(input.exportName)}])[\"objectTypes\"][number], { id: ${JSON.stringify(\n objectType.id\n )} }>`,\n entries: input.entries,\n seenObjectTypes: input.seenObjectTypes,\n })\n }\n return\n }\n\n if (Array.isArray(input.exportedValue)) {\n for (const item of input.exportedValue) {\n if (!isObjectTypeWithPropertyTokens(item)) continue\n addManifestEntry({\n objectType: item,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: `Extract<(typeof import(${JSON.stringify(\n input.moduleSpecifier\n )})[${JSON.stringify(input.exportName)}])[number], { id: ${JSON.stringify(item.id)} }>`,\n entries: input.entries,\n seenObjectTypes: input.seenObjectTypes,\n })\n }\n }\n}\n\nfunction addManifestEntry(input: {\n readonly objectType: ObjectTypeWithPropertyTokens\n readonly modulePath: string\n readonly exportName: string\n readonly typeExpression: string\n readonly entries: Map<string, OntologyTypeManifestEntry>\n readonly seenObjectTypes: Set<unknown>\n}): void {\n if (input.seenObjectTypes.has(input.objectType)) {\n return\n }\n input.seenObjectTypes.add(input.objectType)\n\n const existing = input.entries.get(input.objectType.id)\n const entry: OntologyTypeManifestEntry = {\n objectTypeId: input.objectType.id,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: input.typeExpression,\n }\n\n if (!existing) {\n input.entries.set(input.objectType.id, entry)\n return\n }\n\n throw new RuntimeError(\n `[Sixb] Duplicate ontology object type id \"${input.objectType.id}\" while generating `.concat(\n `the type manifest: ${relative(process.cwd(), existing.modulePath)} and `,\n `${relative(process.cwd(), input.modulePath)}.`\n )\n )\n}\n\nfunction renderOntologyTypeManifest(entries: readonly OntologyTypeManifestEntry[]): string {\n const lines = [\n \"// This file is auto-generated by Sixb.\",\n \"// Do not edit this file directly.\",\n \"\",\n 'declare module \"@sixb/core/ontology\" {',\n \" interface SixbObjectTypeMap {\",\n ]\n\n for (const entry of entries) {\n lines.push(` ${JSON.stringify(entry.objectTypeId)}: ${entry.typeExpression}`)\n }\n\n lines.push(\" }\", \"}\", \"\", \"export {}\", \"\")\n return lines.join(\"\\n\")\n}\n\nasync function writeFileIfChanged(path: string, content: string): Promise<boolean> {\n try {\n const existing = await readFile(path, \"utf-8\")\n if (existing === content) return false\n } catch (error) {\n if (!isNotFoundError(error)) throw error\n }\n\n await writeFile(path, content, \"utf-8\")\n return true\n}\n\nasync function loadOntologyModule(input: {\n readonly modulePath: string\n readonly projectRoot: string\n}): Promise<Record<string, unknown>> {\n try {\n return (await import(pathToFileURL(input.modulePath).href)) as Record<string, unknown>\n } catch (error) {\n const relPath = relative(input.projectRoot, input.modulePath)\n const reason = error instanceof Error ? error.message : String(error)\n throw new RuntimeError(`Failed to load ontology module '${relPath}': ${reason}`)\n }\n}\n\nasync function listModuleFiles(dir: string): Promise<string[]> {\n let entries: import(\"node:fs\").Dirent[]\n try {\n entries = (await readdir(dir, { withFileTypes: true })) as import(\"node:fs\").Dirent[]\n } catch (error) {\n if (isNotFoundError(error)) {\n return []\n }\n throw error\n }\n\n const files: string[] = []\n const sortedEntries = [...entries].sort((a, b) => a.name.localeCompare(b.name))\n\n for (const entry of sortedEntries) {\n const fullPath = join(dir, entry.name)\n if (entry.isDirectory()) {\n files.push(...(await listModuleFiles(fullPath)))\n continue\n }\n\n if (!entry.isFile() || !hasSupportedModuleExtension(entry.name)) {\n continue\n }\n\n files.push(fullPath)\n }\n\n return files\n}\n\nfunction toGeneratedModuleSpecifier(input: {\n readonly fromDir: string\n readonly modulePath: string\n}): string {\n const withoutExtension = stripSupportedModuleExtension(input.modulePath)\n const relativePath = relative(input.fromDir, withoutExtension).split(sep).join(\"/\")\n return relativePath.startsWith(\".\") ? relativePath : `./${relativePath}`\n}\n\nfunction stripSupportedModuleExtension(path: string): string {\n const extension = extname(path)\n return moduleExtensions.has(extension) ? path.slice(0, -extension.length) : path\n}\n\nfunction hasSupportedModuleExtension(fileName: string): boolean {\n return moduleExtensions.has(extname(fileName).toLowerCase())\n}\n\nfunction isNotFoundError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false\n }\n\n const code = (error as NodeJS.ErrnoException).code\n return code === \"ENOENT\" || code === \"ENOTDIR\"\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nfunction isObjectTypeWithPropertyTokens(value: unknown): value is ObjectTypeWithPropertyTokens {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n Array.isArray(value.properties) &&\n Array.isArray(value.links) &&\n isRecord(value.p)\n )\n}\n\nfunction isOntologyDocumentInput(value: unknown): value is OntologyDocumentInput {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n typeof value.version === \"string\" &&\n Array.isArray(value.objectTypes)\n )\n}\n"
10
+ "import { access, mkdir, readdir, readFile, writeFile } from \"node:fs/promises\"\nimport { dirname, extname, join, relative, resolve, sep } from \"node:path\"\nimport { pathToFileURL } from \"node:url\"\nimport type { OntologyDocumentInput } from \"../ontology/registry\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport type { ValueType } from \"../ontology/types\"\nimport { RuntimeError } from \"../runtime/errors\"\n\nconst moduleExtensions = new Set([\".ts\", \".tsx\", \".js\", \".jsx\", \".mjs\", \".cjs\"])\n\nexport interface OntologyTypeManifestEntry {\n readonly objectTypeId: string\n readonly modulePath: string\n readonly exportName: string\n readonly typeExpression: string\n}\n\n/** A value type the manifest registers, so a string-only `valueTypeRef(\"id\")` is typed. */\nexport interface OntologyValueTypeManifestEntry {\n readonly valueTypeId: string\n readonly modulePath: string\n readonly exportName: string\n readonly typeExpression: string\n}\n\nexport interface OntologyTypeManifestDiscovery {\n readonly entries: readonly OntologyTypeManifestEntry[]\n readonly valueTypeEntries: readonly OntologyValueTypeManifestEntry[]\n readonly moduleCount: number\n}\n\nexport interface GenerateOntologyTypeManifestOptions {\n readonly projectRoot: string\n readonly outFile?: string\n}\n\nexport interface GenerateOntologyTypeManifestResult extends OntologyTypeManifestDiscovery {\n readonly path: string\n readonly written: boolean\n readonly skipped: boolean\n}\n\nexport async function discoverOntologyTypeManifest(\n projectRoot: string\n): Promise<OntologyTypeManifestDiscovery> {\n const resolvedProjectRoot = resolve(projectRoot)\n const ontologyDir = join(resolvedProjectRoot, \"ontology\")\n const modulePaths = await listModuleFiles(ontologyDir)\n const entries = new Map<string, OntologyTypeManifestEntry>()\n const valueTypeEntries = new Map<string, OntologyValueTypeManifestEntry>()\n const seen = new Set<unknown>()\n\n for (const modulePath of modulePaths) {\n const moduleSpecifier = toGeneratedModuleSpecifier({\n fromDir: join(resolvedProjectRoot, \".sixb\", \"types\"),\n modulePath,\n })\n const moduleNamespace = await loadOntologyModule({\n modulePath,\n projectRoot: resolvedProjectRoot,\n })\n\n for (const [exportName, exportedValue] of Object.entries(moduleNamespace)) {\n collectManifestEntries({\n exportedValue,\n exportName,\n modulePath,\n moduleSpecifier,\n entries,\n valueTypeEntries,\n seen,\n })\n }\n }\n\n return {\n entries: [...entries.values()].sort((a, b) => a.objectTypeId.localeCompare(b.objectTypeId)),\n valueTypeEntries: [...valueTypeEntries.values()].sort((a, b) =>\n a.valueTypeId.localeCompare(b.valueTypeId)\n ),\n moduleCount: modulePaths.length,\n }\n}\n\nexport async function generateOntologyTypeManifest(\n options: GenerateOntologyTypeManifestOptions\n): Promise<GenerateOntologyTypeManifestResult> {\n const projectRoot = resolve(options.projectRoot)\n const outFile = resolve(projectRoot, options.outFile ?? join(\".sixb\", \"types\", \"ontology.d.ts\"))\n const discovery = await discoverOntologyTypeManifest(projectRoot)\n\n if (discovery.moduleCount === 0) {\n // Leave projects without ontology untouched, but clear a previously generated map.\n try {\n await access(outFile)\n } catch (error) {\n if (!isNotFoundError(error)) throw error\n return {\n ...discovery,\n path: outFile,\n written: false,\n skipped: true,\n }\n }\n }\n\n const content = renderOntologyTypeManifest(discovery)\n await mkdir(dirname(outFile), { recursive: true })\n const written = await writeFileIfChanged(outFile, content)\n\n return {\n ...discovery,\n path: outFile,\n written,\n skipped: false,\n }\n}\n\n/**\n * Mirrors what runtime discovery registers from an `ontology/` module: exported object types and\n * value types, the ones an exported ontology document carries, and those inside exported arrays.\n */\nfunction collectManifestEntries(input: {\n readonly exportedValue: unknown\n readonly exportName: string\n readonly modulePath: string\n readonly moduleSpecifier: string\n readonly entries: Map<string, OntologyTypeManifestEntry>\n readonly valueTypeEntries: Map<string, OntologyValueTypeManifestEntry>\n readonly seen: Set<unknown>\n}): void {\n const exported = `(typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(\n input.exportName\n )}])`\n const add = (value: unknown, typeExpression: (id: string) => string): void => {\n if (isObjectTypeWithPropertyTokens(value)) {\n addManifestEntry({\n kind: \"object type\",\n definition: value,\n entry: {\n objectTypeId: value.id,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: typeExpression(value.id),\n },\n idOf: (entry) => entry.objectTypeId,\n entries: input.entries,\n seen: input.seen,\n })\n } else if (isValueType(value)) {\n addManifestEntry({\n kind: \"value type\",\n definition: value,\n entry: {\n valueTypeId: value.id,\n modulePath: input.modulePath,\n exportName: input.exportName,\n typeExpression: typeExpression(value.id),\n },\n idOf: (entry) => entry.valueTypeId,\n entries: input.valueTypeEntries,\n seen: input.seen,\n })\n }\n }\n\n if (isOntologyDocumentInput(input.exportedValue)) {\n for (const objectType of input.exportedValue.objectTypes) {\n add(\n objectType,\n (id) => `Extract<${exported}[\"objectTypes\"][number], { id: ${JSON.stringify(id)} }>`\n )\n }\n for (const valueType of input.exportedValue.valueTypes ?? []) {\n add(\n valueType,\n (id) => `Extract<${exported}[\"valueTypes\"][number], { id: ${JSON.stringify(id)} }>`\n )\n }\n return\n }\n\n if (Array.isArray(input.exportedValue)) {\n for (const item of input.exportedValue) {\n add(item, (id) => `Extract<${exported}[number], { id: ${JSON.stringify(id)} }>`)\n }\n return\n }\n\n add(\n input.exportedValue,\n () =>\n `typeof import(${JSON.stringify(input.moduleSpecifier)})[${JSON.stringify(input.exportName)}]`\n )\n}\n\nfunction addManifestEntry<TEntry extends { readonly modulePath: string }>(input: {\n readonly kind: \"object type\" | \"value type\"\n readonly definition: unknown\n readonly entry: TEntry\n readonly idOf: (entry: TEntry) => string\n readonly entries: Map<string, TEntry>\n readonly seen: Set<unknown>\n}): void {\n // The same definition re-exported from several places is one registration.\n if (input.seen.has(input.definition)) {\n return\n }\n input.seen.add(input.definition)\n\n const id = input.idOf(input.entry)\n const existing = input.entries.get(id)\n if (!existing) {\n input.entries.set(id, input.entry)\n return\n }\n\n throw new RuntimeError(\n `[Sixb] Duplicate ontology ${input.kind} id \"${id}\" while generating `.concat(\n `the type manifest: ${relative(process.cwd(), existing.modulePath)} and `,\n `${relative(process.cwd(), input.entry.modulePath)}.`\n )\n )\n}\n\nfunction renderOntologyTypeManifest(discovery: OntologyTypeManifestDiscovery): string {\n const lines = [\n \"// This file is auto-generated by Sixb.\",\n \"// Do not edit this file directly.\",\n \"\",\n 'declare module \"@sixb/core/ontology\" {',\n \" interface SixbObjectTypeMap {\",\n ]\n\n for (const entry of discovery.entries) {\n lines.push(` ${JSON.stringify(entry.objectTypeId)}: ${entry.typeExpression}`)\n }\n\n lines.push(\" }\", \" interface SixbValueTypeMap {\")\n\n for (const entry of discovery.valueTypeEntries) {\n lines.push(` ${JSON.stringify(entry.valueTypeId)}: ${entry.typeExpression}`)\n }\n\n lines.push(\" }\", \"}\", \"\", \"export {}\", \"\")\n return lines.join(\"\\n\")\n}\n\nasync function writeFileIfChanged(path: string, content: string): Promise<boolean> {\n try {\n const existing = await readFile(path, \"utf-8\")\n if (existing === content) return false\n } catch (error) {\n if (!isNotFoundError(error)) throw error\n }\n\n await writeFile(path, content, \"utf-8\")\n return true\n}\n\nasync function loadOntologyModule(input: {\n readonly modulePath: string\n readonly projectRoot: string\n}): Promise<Record<string, unknown>> {\n try {\n return (await import(pathToFileURL(input.modulePath).href)) as Record<string, unknown>\n } catch (error) {\n const relPath = relative(input.projectRoot, input.modulePath)\n const reason = error instanceof Error ? error.message : String(error)\n throw new RuntimeError(`Failed to load ontology module '${relPath}': ${reason}`)\n }\n}\n\nasync function listModuleFiles(dir: string): Promise<string[]> {\n let entries: import(\"node:fs\").Dirent[]\n try {\n entries = (await readdir(dir, { withFileTypes: true })) as import(\"node:fs\").Dirent[]\n } catch (error) {\n if (isNotFoundError(error)) {\n return []\n }\n throw error\n }\n\n const files: string[] = []\n const sortedEntries = [...entries].sort((a, b) => a.name.localeCompare(b.name))\n\n for (const entry of sortedEntries) {\n const fullPath = join(dir, entry.name)\n if (entry.isDirectory()) {\n files.push(...(await listModuleFiles(fullPath)))\n continue\n }\n\n if (!entry.isFile() || !hasSupportedModuleExtension(entry.name)) {\n continue\n }\n\n files.push(fullPath)\n }\n\n return files\n}\n\nfunction toGeneratedModuleSpecifier(input: {\n readonly fromDir: string\n readonly modulePath: string\n}): string {\n const withoutExtension = stripSupportedModuleExtension(input.modulePath)\n const relativePath = relative(input.fromDir, withoutExtension).split(sep).join(\"/\")\n return relativePath.startsWith(\".\") ? relativePath : `./${relativePath}`\n}\n\nfunction stripSupportedModuleExtension(path: string): string {\n const extension = extname(path)\n return moduleExtensions.has(extension) ? path.slice(0, -extension.length) : path\n}\n\nfunction hasSupportedModuleExtension(fileName: string): boolean {\n return moduleExtensions.has(extname(fileName).toLowerCase())\n}\n\nfunction isNotFoundError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false\n }\n\n const code = (error as NodeJS.ErrnoException).code\n return code === \"ENOENT\" || code === \"ENOTDIR\"\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nfunction isObjectTypeWithPropertyTokens(value: unknown): value is ObjectTypeWithPropertyTokens {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n Array.isArray(value.properties) &&\n Array.isArray(value.links) &&\n isRecord(value.p)\n )\n}\n\n/** Same shape test runtime discovery applies to an exported value type. */\nfunction isValueType(value: unknown): value is ValueType {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n typeof value.name === \"string\" &&\n \"schema\" in value &&\n !Array.isArray(value.properties) &&\n !Array.isArray(value.objectTypes)\n )\n}\n\nfunction isOntologyDocumentInput(value: unknown): value is OntologyDocumentInput {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n typeof value.version === \"string\" &&\n Array.isArray(value.objectTypes)\n )\n}\n"
11
11
  ],
12
- "mappings": "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",
13
- "debugId": "A642BA69DC8DFE9864756E2164756E21",
12
+ "mappings": "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",
13
+ "debugId": "0C3D7CE71EFB366064756E2164756E21",
14
14
  "names": []
15
15
  }
@@ -1,8 +1,11 @@
1
1
  // @bun
2
2
  import {
3
- normalizeObjectQuery2,
4
- formatObjectQueryExplanation2
5
- } from "./chunk-4k53sm9e.js";
3
+ formatObjectQueryExplanation2,
4
+ normalizeObjectQuery2
5
+ } from "./chunk-a0073121.js";
6
+ import {
7
+ RuntimeError2
8
+ } from "./chunk-m4ehq95f.js";
6
9
  import {
7
10
  OntologyValidationError2
8
11
  } from "./chunk-cqr3acm1.js";
@@ -68,6 +71,16 @@ function resolveWhere(whereFn) {
68
71
  function createObjectQueryBuilder2(params) {
69
72
  return new ObjectQueryBuilderImpl(params);
70
73
  }
74
+ function decorateObjectQueryExecutor(builder, decorate) {
75
+ const source = builder;
76
+ if (!(source instanceof ObjectQueryBuilderImpl)) {
77
+ throw new RuntimeError2("[Sixb] Only query builders created by createObjectQueryBuilder can change executor.");
78
+ }
79
+ return new ObjectQueryBuilderImpl({
80
+ ...source.params,
81
+ executor: decorate(source.params.executor)
82
+ });
83
+ }
71
84
 
72
85
  class ObjectQueryBuilderImpl {
73
86
  params;
@@ -272,6 +285,6 @@ function requireSingleTargetObjectTypeId(link) {
272
285
  }
273
286
  }
274
287
 
275
- export { createObjectQueryBuilder2 };
288
+ export { createObjectQueryBuilder2, decorateObjectQueryExecutor };
276
289
 
277
- //# debugId=3544E6B7518786BC64756E2164756E21
290
+ //# debugId=F6C84C869163827C64756E2164756E21
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/objects/sdk/where.ts", "../src/objects/sdk/query-builder.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Where-clause builder for typed ObjectSet queries.\n *\n * Provides `createWhereBuilder` (predicate DSL) and `resolveWhere` (evaluator).\n * The builder emits object query IR predicates. Property predicates are created\n * on demand through a Proxy, so no runtime ontology access is required —\n * property names are constrained at compile time and validated server-side.\n */\nimport type { ObjectTypeWithPropertyTokens } from \"../../ontology/tokens\"\nimport type { ObjectWhereBuilder, ObjectWhereClause } from \"../../runtime/types\"\nimport type { ObjectQueryPredicate } from \"../query\"\n\nfunction createPropertyPredicate(propertyId: string) {\n const comparison = (op: \"eq\" | \"neq\" | \"lt\" | \"lte\" | \"gt\" | \"gte\") => {\n return (value: unknown) => ({\n propertyId,\n op,\n value,\n })\n }\n\n return {\n eq: comparison(\"eq\"),\n neq: comparison(\"neq\"),\n lt: comparison(\"lt\"),\n lte: comparison(\"lte\"),\n gt: comparison(\"gt\"),\n gte: comparison(\"gte\"),\n in: (values: readonly unknown[]) => ({\n propertyId,\n op: \"in\",\n values,\n }),\n exists: (value = true) => ({\n propertyId,\n op: \"exists\",\n value,\n }),\n contains: (value: unknown) => ({\n propertyId,\n op: \"contains\",\n value,\n }),\n }\n}\n\nexport function createWhereBuilder<\n TObjectType extends ObjectTypeWithPropertyTokens,\n>(): ObjectWhereBuilder<TObjectType> {\n const p = new Proxy(\n {},\n {\n get: (_target, propertyId) =>\n typeof propertyId === \"string\" ? createPropertyPredicate(propertyId) : undefined,\n }\n )\n\n return {\n p,\n and: (...items: readonly ObjectQueryPredicate[]) => ({ op: \"and\", items }),\n or: (...items: readonly ObjectQueryPredicate[]) => ({ op: \"or\", items }),\n not: (item: ObjectQueryPredicate) => ({ op: \"not\", item }),\n } as ObjectWhereBuilder<TObjectType>\n}\n\nexport function resolveWhere<TObjectType extends ObjectTypeWithPropertyTokens>(\n whereFn?: (\n builder: ObjectWhereBuilder<TObjectType>\n ) => ObjectWhereClause<TObjectType> | readonly ObjectWhereClause<TObjectType>[]\n): ObjectQueryPredicate | undefined {\n if (!whereFn) return undefined\n const whereBuilder = createWhereBuilder<TObjectType>()\n const whereInput = whereFn(whereBuilder)\n if (!whereInput) return undefined\n const predicates = (\n Array.isArray(whereInput) ? whereInput : [whereInput]\n ) as readonly ObjectQueryPredicate[]\n if (predicates.length === 0) return undefined\n return predicates.length === 1 ? predicates[0] : { op: \"and\", items: predicates }\n}\n",
6
+ "/**\n * Fluent ObjectSet query builder.\n *\n * This is the TypeScript authoring layer for object queries. It builds the\n * provider-neutral object query IR and delegates execution to an\n * `ObjectQueryExecutor` — the server runtime executor or the HTTP client\n * executor — so the same builder serves both sides.\n */\nimport { OntologyValidationError } from \"../../ontology/errors\"\nimport type { LinkToken, ObjectTypeWithPropertyTokens, PropertyToken } from \"../../ontology/tokens\"\nimport { RuntimeError } from \"../../runtime/errors\"\nimport type {\n ListResult,\n ListResultWithoutTotal,\n ObjectExpandBuilder,\n ObjectExpandOptions,\n ObjectQueryBuilder,\n ObjectQueryFacetInput,\n ObjectQueryFacetResult,\n ObjectQueryListOptions,\n ObjectWhereBuilder,\n ObjectWhereClause,\n TwinObject,\n} from \"../../runtime/types\"\nimport { formatObjectQueryExplanation } from \"../query/explain-format\"\nimport type {\n ObjectExpansion,\n ObjectQuery,\n ObjectQueryDirection,\n ObjectQuerySortDirection,\n ObjectQuerySortField,\n} from \"../query/ir\"\nimport { normalizeObjectQuery } from \"../query/normalize\"\nimport type { ObjectQueryExecutor } from \"./query-executor\"\nimport { resolveWhere } from \"./where\"\n\ntype QueryBuilderParams = {\n query: ObjectQuery\n executor: ObjectQueryExecutor\n}\n\nexport function createObjectQueryBuilder<TObjectType extends ObjectTypeWithPropertyTokens>(\n params: QueryBuilderParams\n): ObjectQueryBuilder<TObjectType> {\n return new ObjectQueryBuilderImpl<TObjectType>(\n params\n ) as unknown as ObjectQueryBuilder<TObjectType>\n}\n\n/**\n * Returns the same query running through the executor `decorate` wraps around the builder's own.\n *\n * Refinements copy their builder's executor, so every query derived from the result, and every\n * terminal it runs, goes through the decorated executor too.\n */\nexport function decorateObjectQueryExecutor<TObjectType extends ObjectTypeWithPropertyTokens>(\n builder: ObjectQueryBuilder<TObjectType>,\n decorate: (executor: ObjectQueryExecutor) => ObjectQueryExecutor\n): ObjectQueryBuilder<TObjectType> {\n // Narrowed from `unknown`: narrowing the builder interface to the class relates both structures.\n const source: unknown = builder\n if (!(source instanceof ObjectQueryBuilderImpl)) {\n throw new RuntimeError(\n \"[Sixb] Only query builders created by createObjectQueryBuilder can change executor.\"\n )\n }\n return new ObjectQueryBuilderImpl<TObjectType>({\n ...source.params,\n executor: decorate(source.params.executor),\n }) as unknown as ObjectQueryBuilder<TObjectType>\n}\n\nclass ObjectQueryBuilderImpl<TObjectType extends ObjectTypeWithPropertyTokens> {\n /** Not private because `decorateObjectQueryExecutor` reads it; the class is not exported. */\n constructor(readonly params: QueryBuilderParams) {}\n\n get ir(): ObjectQuery {\n return normalizeObjectQuery(this.params.query)\n }\n\n where(\n whereFn: (\n builder: ObjectWhereBuilder<TObjectType>\n ) => ObjectWhereClause<TObjectType> | readonly ObjectWhereClause<TObjectType>[]\n ): ObjectQueryBuilder<TObjectType> {\n const predicate = resolveWhere<TObjectType>(whereFn)\n if (!predicate) return this as unknown as ObjectQueryBuilder<TObjectType>\n\n return this.withQuery({\n kind: \"filter\",\n input: this.ir,\n predicate,\n })\n }\n\n search(\n query: string,\n options?: { fields?: readonly PropertyToken<TObjectType[\"id\"], string>[] }\n ): ObjectQueryBuilder<TObjectType> {\n return this.withQuery({\n kind: \"text\",\n input: this.ir,\n query,\n fields: options?.fields?.map(propertyTokenToId),\n })\n }\n\n vector(profile: string, vector: string, options: { k: number }): ObjectQueryBuilder<TObjectType> {\n if (typeof profile !== \"string\" || typeof vector !== \"string\") {\n throw new Error(\"[Sixb] Vector search requires a named profile and search text\")\n }\n return this.withQuery({\n kind: \"vector\",\n input: this.ir,\n profile,\n vector,\n k: options.k,\n })\n }\n\n traverse(\n link: LinkToken<TObjectType[\"id\"], string, string>,\n options?: { direction?: \"outgoing\" }\n ): ObjectQueryBuilder<ObjectTypeWithPropertyTokens>\n traverse(\n link: LinkToken<string, string, TObjectType[\"id\"] | readonly TObjectType[\"id\"][]>,\n options: { direction: \"incoming\" }\n ): ObjectQueryBuilder<ObjectTypeWithPropertyTokens>\n traverse(\n link: LinkToken,\n options: { direction?: ObjectQueryDirection } = {}\n ): ObjectQueryBuilder<ObjectTypeWithPropertyTokens> {\n const direction = options.direction ?? \"outgoing\"\n if (direction === \"outgoing\") {\n requireSingleTargetObjectTypeId(link)\n }\n\n return new ObjectQueryBuilderImpl<ObjectTypeWithPropertyTokens>({\n ...this.params,\n query: {\n kind: \"traverse\",\n input: this.ir,\n linkId: link.id,\n direction,\n // Several object types can declare a link with the same id. The token\n // names exactly one source type, so incoming traversal pins it —\n // matching the result type the fluent API advertises.\n ...(direction === \"incoming\" ? { sourceObjectTypeId: link.objectTypeId } : {}),\n },\n }) as unknown as ObjectQueryBuilder<ObjectTypeWithPropertyTokens>\n }\n\n expand(\n link: LinkToken<string, string, string | readonly string[]>,\n optionsOrBuild?: ObjectExpandOptions<ObjectTypeWithPropertyTokens> | NestedExpandBuild,\n build?: NestedExpandBuild\n ): ObjectQueryBuilder<TObjectType> {\n return this.withQuery({\n kind: \"expand\",\n input: this.ir,\n expansions: [buildExpansion(link, optionsOrBuild, build)],\n })\n }\n\n orderBy(\n property: PropertyToken<TObjectType[\"id\"], string>,\n direction?: ObjectQuerySortDirection\n ): ObjectQueryBuilder<TObjectType> {\n return this.withQuery(\n appendSortField(this.ir, {\n kind: \"property\",\n propertyId: property.id,\n direction,\n })\n )\n }\n\n orderByRelevance(direction?: ObjectQuerySortDirection): ObjectQueryBuilder<TObjectType> {\n return this.withQuery(\n appendSortField(this.ir, {\n kind: \"relevance\",\n direction,\n })\n )\n }\n\n limit(limit: number): ObjectQueryBuilder<TObjectType> {\n return this.withQuery({\n kind: \"limit\",\n input: this.ir,\n limit,\n })\n }\n\n page(input: { pageSize: number; pageToken?: string }): ObjectQueryBuilder<TObjectType> {\n return this.withQuery({\n kind: \"page\",\n input: this.ir,\n pageSize: input.pageSize,\n pageToken: input.pageToken,\n })\n }\n\n validate() {\n if (!this.params.executor.validate) {\n throw new OntologyValidationError(\n \"[Sixb] validate() requires ontology access and is not supported by this query executor. Execute the query to get server-side validation.\"\n )\n }\n return this.params.executor.validate(this.ir)\n }\n\n explain() {\n if (!this.params.executor.explain) {\n throw new OntologyValidationError(\n \"[Sixb] explain() requires ontology access and is not supported by this query executor.\"\n )\n }\n return this.params.executor.explain(this.ir)\n }\n\n formatExplanation(): string {\n return formatObjectQueryExplanation(this.explain())\n }\n\n async list(): Promise<ListResult<TwinObject<TObjectType>>>\n async list(options: {\n includeTotal: false\n signal?: AbortSignal\n }): Promise<ListResultWithoutTotal<TwinObject<TObjectType>>>\n async list(options: {\n includeTotal?: true\n signal?: AbortSignal\n }): Promise<ListResult<TwinObject<TObjectType>>>\n async list(\n options?: ObjectQueryListOptions\n ): Promise<\n ListResult<TwinObject<TObjectType>> | ListResultWithoutTotal<TwinObject<TObjectType>>\n > {\n const result = await this.params.executor.list(this.ir, {\n includeTotal: options?.includeTotal,\n signal: options?.signal,\n })\n const objects = result.objects.map((row) => row as unknown as TwinObject<TObjectType>)\n\n if (options?.includeTotal === false) {\n return {\n objects,\n hasMore: result.hasMore,\n nextPageToken: result.nextPageToken,\n }\n }\n\n return {\n objects,\n hasMore: result.hasMore,\n nextPageToken: result.nextPageToken,\n total: result.total ?? result.objects.length,\n }\n }\n\n async count(): Promise<number> {\n return this.params.executor.count(this.ir)\n }\n\n async exists(): Promise<boolean> {\n return this.params.executor.exists(this.ir)\n }\n\n async facets(\n input: readonly ObjectQueryFacetInput<TObjectType>[]\n ): Promise<ObjectQueryFacetResult[]> {\n return this.params.executor.facets(\n this.ir,\n input.map((facet) => ({\n propertyId: facet.property.id,\n limit: facet.limit,\n }))\n )\n }\n\n async first(): Promise<TwinObject<TObjectType> | null> {\n const result = await this.params.executor.list({ kind: \"limit\", input: this.ir, limit: 1 })\n const row = result.objects[0]\n return row ? (row as unknown as TwinObject<TObjectType>) : null\n }\n\n private withQuery(query: ObjectQuery): ObjectQueryBuilder<TObjectType> {\n return new ObjectQueryBuilderImpl<TObjectType>({\n ...this.params,\n query,\n }) as unknown as ObjectQueryBuilder<TObjectType>\n }\n}\n\ntype AnyExpandBuilder = ObjectExpandBuilder<ObjectTypeWithPropertyTokens>\ntype NestedExpandBuild = (nested: AnyExpandBuilder) => AnyExpandBuilder\n\n/**\n * Runtime backing for the nested `.expand(..., (e) => …)` callback. Immutable,\n * mirroring the query builder: each `expand` returns a new instance so the\n * accumulated expansions are never shared between branches.\n */\nclass ObjectExpandBuilderImpl {\n constructor(readonly expansions: readonly ObjectExpansion[] = []) {}\n\n expand(\n link: LinkToken<string, string, string | readonly string[]>,\n optionsOrBuild?: ObjectExpandOptions<ObjectTypeWithPropertyTokens> | NestedExpandBuild,\n build?: NestedExpandBuild\n ): ObjectExpandBuilderImpl {\n return new ObjectExpandBuilderImpl([\n ...this.expansions,\n buildExpansion(link, optionsOrBuild, build),\n ])\n }\n}\n\nfunction buildExpansion(\n link: LinkToken<string, string, string | readonly string[]>,\n optionsOrBuild: ObjectExpandOptions<ObjectTypeWithPropertyTokens> | NestedExpandBuild | undefined,\n build: NestedExpandBuild | undefined\n): ObjectExpansion {\n // `.expand(link, build)` and `.expand(link, options, build)` are both valid:\n // a function in the second slot is the nested builder, otherwise it is options.\n const options = typeof optionsOrBuild === \"function\" ? undefined : optionsOrBuild\n const nestedBuild = typeof optionsOrBuild === \"function\" ? optionsOrBuild : build\n\n let nested: readonly ObjectExpansion[] = []\n if (nestedBuild) {\n const result = nestedBuild(new ObjectExpandBuilderImpl() as unknown as AnyExpandBuilder)\n nested = (result as unknown as ObjectExpandBuilderImpl).expansions\n }\n\n return {\n linkId: link.id,\n direction: \"outgoing\",\n ...(options?.limit !== undefined ? { limit: options.limit } : {}),\n ...(options?.orderBy ? { orderBy: options.orderBy.map(expansionSortToField) } : {}),\n ...(nested.length > 0 ? { expand: nested } : {}),\n }\n}\n\nfunction expansionSortToField(sort: {\n property: PropertyToken\n direction?: ObjectQuerySortDirection\n}): ObjectQuerySortField {\n return { kind: \"property\", propertyId: sort.property.id, direction: sort.direction }\n}\n\nfunction appendSortField(\n query: ObjectQuery,\n field: Extract<ObjectQuery, { kind: \"sort\" }>[\"fields\"][number]\n): ObjectQuery {\n if (query.kind === \"sort\") {\n return {\n ...query,\n fields: [...query.fields, field],\n }\n }\n\n return {\n kind: \"sort\",\n input: query,\n fields: [field],\n }\n}\n\nfunction propertyTokenToId(token: PropertyToken): string {\n return token.id\n}\n\nfunction requireSingleTargetObjectTypeId(link: LinkToken): void {\n const target = link.targetObjectTypeId\n if (target === \"*\" || typeof target !== \"string\") {\n throw new OntologyValidationError(\n \"[Sixb] Object query traverse requires a single concrete outgoing target type\"\n )\n }\n}\n"
7
+ ],
8
+ "mappings": "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",
9
+ "debugId": "F6C84C869163827C64756E2164756E21",
10
+ "names": []
11
+ }
@@ -2,6 +2,9 @@
2
2
  import {
3
3
  MODEL_REASONING_EFFORTS2
4
4
  } from "./chunk-pqajwytd.js";
5
+ import {
6
+ RuntimeError2
7
+ } from "./chunk-m4ehq95f.js";
5
8
  import {
6
9
  ModelProviderError2,
7
10
  UnsupportedModelFeatureError2,
@@ -11,11 +14,6 @@ import {
11
14
  assertJsonValue2,
12
15
  cloneJsonValue2
13
16
  } from "./chunk-wy0qdqfm.js";
14
- // src/runtime/errors.ts
15
- class RuntimeError2 extends Error {
16
- name = "RuntimeError";
17
- }
18
-
19
17
  // src/models/catalog-index.ts
20
18
  function indexModelBindings(models, kind, validate) {
21
19
  const byRef = new Map;
@@ -811,6 +809,6 @@ function assertRecord2(value, field) {
811
809
  throw new TypeError(`[Sixb] Model ${field} must be an object.`);
812
810
  }
813
811
  }
814
- export { RuntimeError2, assertDecisionContent, assertDecisionQuestions, assertDecisionModel, assertDecisionSupport, validateDecisionAnswers, defineLanguageModel2, createModelCatalog2, DecisionModelResponseError2, decisionOutput2, question2, estimateModelCall, estimateModelReservation2, rateModelCall2, defineModelRateCard2 };
812
+ export { assertDecisionContent, assertDecisionQuestions, assertDecisionModel, assertDecisionSupport, validateDecisionAnswers, defineLanguageModel2, createModelCatalog2, DecisionModelResponseError2, decisionOutput2, question2, estimateModelCall, estimateModelReservation2, rateModelCall2, defineModelRateCard2 };
815
813
 
816
- //# debugId=BB10E479DCC4E90B64756E2164756E21
814
+ //# debugId=E1F1340E09DE933964756E2164756E21