@sixb/core 0.1.11 → 0.1.12

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 (641) hide show
  1. package/dist/actions/builders/params.d.ts +1 -22
  2. package/dist/actions/builders/params.d.ts.map +1 -1
  3. package/dist/actions/index.js +29 -28
  4. package/dist/actions/index.js.map +1 -1
  5. package/dist/actions/types/params.d.ts +10 -44
  6. package/dist/actions/types/params.d.ts.map +1 -1
  7. package/dist/actions/validation.d.ts.map +1 -1
  8. package/dist/actions/worker.js +3 -2
  9. package/dist/actions/worker.js.map +2 -2
  10. package/dist/agents/errors.d.ts +1 -1
  11. package/dist/agents/errors.d.ts.map +1 -1
  12. package/dist/agents/execution.d.ts +15 -9
  13. package/dist/agents/execution.d.ts.map +1 -1
  14. package/dist/agents/ids.d.ts +2 -0
  15. package/dist/agents/ids.d.ts.map +1 -1
  16. package/dist/agents/index.d.ts +1 -1
  17. package/dist/agents/index.d.ts.map +1 -1
  18. package/dist/agents/index.js +48 -42
  19. package/dist/agents/index.js.map +1 -1
  20. package/dist/agents/request.d.ts.map +1 -1
  21. package/dist/agents/sandbox.d.ts +5 -0
  22. package/dist/agents/sandbox.d.ts.map +1 -0
  23. package/dist/agents/streams/index.js +4 -3
  24. package/dist/agents/streams/index.js.map +1 -1
  25. package/dist/agents/streams/internal.js +4 -3
  26. package/dist/agents/streams/internal.js.map +1 -1
  27. package/dist/agents/validation.d.ts.map +1 -1
  28. package/dist/auth/index.js +8 -6
  29. package/dist/auth/index.js.map +1 -1
  30. package/dist/authorization/index.js +5 -4
  31. package/dist/authorization/index.js.map +1 -1
  32. package/dist/bootstrap/index.js +50 -46
  33. package/dist/bootstrap/index.js.map +1 -1
  34. package/dist/{chunk-17kfctj6.js → chunk-0mza4xb2.js} +2 -2
  35. package/dist/{chunk-g00bfdq6.js → chunk-2cxv584m.js} +12 -56
  36. package/dist/{chunk-g00bfdq6.js.map → chunk-2cxv584m.js.map} +3 -3
  37. package/dist/{chunk-jsy70480.js → chunk-2h63nrde.js} +365 -95
  38. package/dist/chunk-2h63nrde.js.map +20 -0
  39. package/dist/{chunk-1yefycb1.js → chunk-3bnt2wna.js} +2 -2
  40. package/dist/{chunk-awbhdqyc.js → chunk-3ghw2t5q.js} +1 -1
  41. package/dist/{chunk-b19g04jk.js → chunk-3h7ctayx.js} +1 -1
  42. package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
  43. package/dist/{chunk-5hz0fnca.js → chunk-4k53sm9e.js} +6 -2
  44. package/dist/chunk-4k53sm9e.js.map +12 -0
  45. package/dist/chunk-4ph94nhd.js +81 -0
  46. package/dist/chunk-4ph94nhd.js.map +10 -0
  47. package/dist/chunk-58geavnf.js +29 -0
  48. package/dist/chunk-58geavnf.js.map +10 -0
  49. package/dist/{chunk-0y39rgsb.js → chunk-5tetw4hn.js} +1 -1
  50. package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
  51. package/dist/chunk-69266efg.js.map +12 -0
  52. package/dist/{chunk-a0e6x5hd.js → chunk-6ma8dvzc.js} +121 -53
  53. package/dist/chunk-6ma8dvzc.js.map +15 -0
  54. package/dist/{chunk-skz0hst3.js → chunk-7c2g3sz9.js} +6 -86
  55. package/dist/{chunk-skz0hst3.js.map → chunk-7c2g3sz9.js.map} +3 -3
  56. package/dist/{chunk-z0s4axeh.js → chunk-7qnvhtcd.js} +93 -17
  57. package/dist/{chunk-z0s4axeh.js.map → chunk-7qnvhtcd.js.map} +7 -6
  58. package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
  59. package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
  60. package/dist/chunk-91kcnbf0.js.map +10 -0
  61. package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
  62. package/dist/chunk-96yw3pwd.js.map +10 -0
  63. package/dist/chunk-98cw09sw.js.map +2 -2
  64. package/dist/{chunk-93csa55g.js → chunk-axndsymr.js} +10 -4
  65. package/dist/chunk-axndsymr.js.map +11 -0
  66. package/dist/{chunk-4zhmdsx6.js → chunk-b768c93y.js} +61 -23
  67. package/dist/{chunk-4zhmdsx6.js.map → chunk-b768c93y.js.map} +5 -5
  68. package/dist/{chunk-dz5h08xv.js → chunk-bbaa1fet.js} +24 -9
  69. package/dist/{chunk-dz5h08xv.js.map → chunk-bbaa1fet.js.map} +4 -4
  70. package/dist/{chunk-7apz6hg4.js → chunk-bet1rb9h.js} +8 -4
  71. package/dist/chunk-bet1rb9h.js.map +10 -0
  72. package/dist/{chunk-358caqf5.js → chunk-bfjv1adk.js} +2 -2
  73. package/dist/{chunk-g91qxjj0.js → chunk-bg2bs62d.js} +5 -5
  74. package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
  75. package/dist/chunk-cd234ba4.js.map +14 -0
  76. package/dist/chunk-dmn70ztd.js.map +2 -2
  77. package/dist/{chunk-d63nnr5b.js → chunk-e1f1sqba.js} +39 -53
  78. package/dist/{chunk-d63nnr5b.js.map → chunk-e1f1sqba.js.map} +5 -6
  79. package/dist/{chunk-ap0g1g74.js → chunk-eyjzgav0.js} +39 -4
  80. package/dist/chunk-eyjzgav0.js.map +12 -0
  81. package/dist/{chunk-rb1xx120.js → chunk-f06sf7rr.js} +9 -5
  82. package/dist/chunk-f06sf7rr.js.map +11 -0
  83. package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
  84. package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
  85. package/dist/{chunk-38zv5rkr.js → chunk-g2gezsg5.js} +1 -1
  86. package/dist/{chunk-38zv5rkr.js.map → chunk-g2gezsg5.js.map} +2 -2
  87. package/dist/{chunk-01kj2pbh.js → chunk-g50nxqs5.js} +53 -66
  88. package/dist/chunk-g50nxqs5.js.map +18 -0
  89. package/dist/{chunk-1824gssz.js → chunk-gswwr35f.js} +4 -4
  90. package/dist/{chunk-92vk7gta.js → chunk-gzt6v1ja.js} +1 -1
  91. package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
  92. package/dist/chunk-hgqpcmyr.js.map +12 -0
  93. package/dist/{chunk-gqh45d2n.js → chunk-hkw8rykk.js} +2 -2
  94. package/dist/{chunk-f4w3yp4f.js → chunk-hzw7yv5g.js} +104 -21
  95. package/dist/chunk-hzw7yv5g.js.map +13 -0
  96. package/dist/{chunk-cfvakeax.js → chunk-jjwhy3rs.js} +5 -5
  97. package/dist/chunk-kept9cdd.js +29 -0
  98. package/dist/chunk-kept9cdd.js.map +10 -0
  99. package/dist/{chunk-ftv470j8.js → chunk-m7cx05vp.js} +247 -16
  100. package/dist/{chunk-ftv470j8.js.map → chunk-m7cx05vp.js.map} +14 -10
  101. package/dist/{chunk-z0271qkp.js → chunk-mdnw7nj8.js} +8 -6
  102. package/dist/chunk-mdnw7nj8.js.map +15 -0
  103. package/dist/{chunk-gq8vhakp.js → chunk-nzsy3xrp.js} +249 -86
  104. package/dist/{chunk-gq8vhakp.js.map → chunk-nzsy3xrp.js.map} +13 -11
  105. package/dist/chunk-p1683c0v.js +104 -0
  106. package/dist/chunk-p1683c0v.js.map +11 -0
  107. package/dist/chunk-p6r1ex7t.js +93 -0
  108. package/dist/chunk-p6r1ex7t.js.map +10 -0
  109. package/dist/{chunk-sepyxgpc.js → chunk-qm535afa.js} +10 -10
  110. package/dist/{chunk-sepyxgpc.js.map → chunk-qm535afa.js.map} +4 -4
  111. package/dist/chunk-r5zythxp.js +552 -0
  112. package/dist/chunk-r5zythxp.js.map +17 -0
  113. package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
  114. package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
  115. package/dist/{chunk-3ckk0xfj.js → chunk-sfypc7mk.js} +18 -13
  116. package/dist/{chunk-3ckk0xfj.js.map → chunk-sfypc7mk.js.map} +3 -3
  117. package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
  118. package/dist/chunk-t6f3tdnr.js.map +10 -0
  119. package/dist/{chunk-x9m9x2eq.js → chunk-t7dzd1tm.js} +3 -3
  120. package/dist/{chunk-pr2h4bv4.js → chunk-tg4g4zh0.js} +3 -3
  121. package/dist/chunk-vpxss818.js +56 -0
  122. package/dist/chunk-vpxss818.js.map +10 -0
  123. package/dist/{chunk-ms2tmn1k.js → chunk-vsg0g7h9.js} +53 -57
  124. package/dist/chunk-vsg0g7h9.js.map +17 -0
  125. package/dist/{chunk-8vj0rjgs.js → chunk-wjffn5m4.js} +1 -1
  126. package/dist/{chunk-wf88w4kp.js → chunk-x9tmx3fc.js} +2 -2
  127. package/dist/{chunk-fh8kgex1.js → chunk-xn686q2e.js} +8 -8
  128. package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
  129. package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
  130. package/dist/{chunk-v2vcg0w6.js → chunk-xtfryrfb.js} +2 -2
  131. package/dist/chunk-y0v18c2j.js +363 -0
  132. package/dist/chunk-y0v18c2j.js.map +14 -0
  133. package/dist/{chunk-72w2pxk7.js → chunk-y1ahv8b7.js} +11 -3
  134. package/dist/{chunk-72w2pxk7.js.map → chunk-y1ahv8b7.js.map} +3 -3
  135. package/dist/chunk-y3ev53cq.js +84 -0
  136. package/dist/chunk-y3ev53cq.js.map +10 -0
  137. package/dist/{chunk-gqm76kse.js → chunk-ybhz3j9g.js} +342 -41
  138. package/dist/{chunk-gqm76kse.js.map → chunk-ybhz3j9g.js.map} +17 -12
  139. package/dist/{chunk-z30bv4ga.js → chunk-yxb4c62x.js} +3 -2
  140. package/dist/{chunk-z30bv4ga.js.map → chunk-yxb4c62x.js.map} +3 -3
  141. package/dist/chunk-z3y5kg1x.js +14 -0
  142. package/dist/chunk-z3y5kg1x.js.map +10 -0
  143. package/dist/datasets/validation.d.ts +4 -0
  144. package/dist/datasets/validation.d.ts.map +1 -1
  145. package/dist/datasets/write.d.ts.map +1 -1
  146. package/dist/datasets/write.js +5 -4
  147. package/dist/datasets/write.js.map +1 -1
  148. package/dist/error-reporting/capability.d.ts +3 -2
  149. package/dist/error-reporting/capability.d.ts.map +1 -1
  150. package/dist/error-reporting/internal.js +5 -4
  151. package/dist/error-reporting/internal.js.map +1 -1
  152. package/dist/error-reporting/reports.d.ts +10 -0
  153. package/dist/error-reporting/reports.d.ts.map +1 -1
  154. package/dist/error-reporting/types.d.ts +10 -2
  155. package/dist/error-reporting/types.d.ts.map +1 -1
  156. package/dist/errors/catalog.d.ts +12 -0
  157. package/dist/errors/catalog.d.ts.map +1 -1
  158. package/dist/errors/failure-message.d.ts +8 -0
  159. package/dist/errors/failure-message.d.ts.map +1 -0
  160. package/dist/errors/internal.d.ts.map +1 -1
  161. package/dist/errors/internal.js +3 -2
  162. package/dist/errors/internal.js.map +1 -1
  163. package/dist/events/index.js +5 -4
  164. package/dist/events/index.js.map +1 -1
  165. package/dist/execution/agent.js +44 -41
  166. package/dist/execution/agent.js.map +1 -1
  167. package/dist/execution/authorization.d.ts.map +1 -1
  168. package/dist/execution/authorized-object-reader.d.ts +3 -0
  169. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  170. package/dist/execution/kernel-operation.d.ts +4 -0
  171. package/dist/execution/kernel-operation.d.ts.map +1 -0
  172. package/dist/execution/primitive.js +44 -41
  173. package/dist/execution/primitive.js.map +2 -2
  174. package/dist/execution/request.js +45 -42
  175. package/dist/execution/request.js.map +2 -2
  176. package/dist/execution/types.d.ts +6 -0
  177. package/dist/execution/types.d.ts.map +1 -1
  178. package/dist/index.d.ts +15 -5
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +68 -59
  181. package/dist/index.js.map +1 -1
  182. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  183. package/dist/lake-storage/index.js +5 -4
  184. package/dist/lake-storage/index.js.map +1 -1
  185. package/dist/materialization/errors.d.ts +1 -1
  186. package/dist/materialization/errors.d.ts.map +1 -1
  187. package/dist/materialization/index.d.ts +1 -0
  188. package/dist/materialization/index.d.ts.map +1 -1
  189. package/dist/materialization/index.js +3 -3
  190. package/dist/materialization/model.d.ts +2 -0
  191. package/dist/materialization/model.d.ts.map +1 -1
  192. package/dist/materialization/vectors.d.ts +19 -0
  193. package/dist/materialization/vectors.d.ts.map +1 -0
  194. package/dist/materializer/context.d.ts.map +1 -1
  195. package/dist/materializer/edits/commit.d.ts.map +1 -1
  196. package/dist/materializer/edits/vector-authority.d.ts +6 -0
  197. package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
  198. package/dist/materializer/edits/vectors.d.ts +6 -0
  199. package/dist/materializer/edits/vectors.d.ts.map +1 -0
  200. package/dist/materializer/effective/validate.d.ts.map +1 -1
  201. package/dist/materializer/effective/vector-indexing.d.ts +7 -0
  202. package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
  203. package/dist/materializer/effective/vectors.d.ts +6 -0
  204. package/dist/materializer/effective/vectors.d.ts.map +1 -0
  205. package/dist/materializer/execution/work-executor.d.ts +2 -1
  206. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  207. package/dist/materializer/index.js +26 -25
  208. package/dist/materializer/index.js.map +1 -1
  209. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  210. package/dist/models/catalog-index.d.ts +15 -0
  211. package/dist/models/catalog-index.d.ts.map +1 -0
  212. package/dist/models/catalog.d.ts +27 -6
  213. package/dist/models/catalog.d.ts.map +1 -1
  214. package/dist/models/decision/catalog.d.ts +12 -0
  215. package/dist/models/decision/catalog.d.ts.map +1 -0
  216. package/dist/models/decision/errors.d.ts +7 -0
  217. package/dist/models/decision/errors.d.ts.map +1 -0
  218. package/dist/models/decision/output.d.ts +50 -0
  219. package/dist/models/decision/output.d.ts.map +1 -0
  220. package/dist/models/decision/questions.d.ts +14 -0
  221. package/dist/models/decision/questions.d.ts.map +1 -0
  222. package/dist/models/decision/runtime.d.ts +7 -0
  223. package/dist/models/decision/runtime.d.ts.map +1 -0
  224. package/dist/models/decision/types.d.ts +92 -0
  225. package/dist/models/decision/types.d.ts.map +1 -0
  226. package/dist/models/decision/validation.d.ts +7 -0
  227. package/dist/models/decision/validation.d.ts.map +1 -0
  228. package/dist/models/definitions.d.ts +1 -1
  229. package/dist/models/definitions.d.ts.map +1 -1
  230. package/dist/models/embedding-model.d.ts +60 -0
  231. package/dist/models/embedding-model.d.ts.map +1 -0
  232. package/dist/models/execution/binding.d.ts +2 -0
  233. package/dist/models/execution/binding.d.ts.map +1 -1
  234. package/dist/models/execution/embedding.d.ts +5 -0
  235. package/dist/models/execution/embedding.d.ts.map +1 -0
  236. package/dist/models/execution/index.js +29 -26
  237. package/dist/models/execution/index.js.map +1 -1
  238. package/dist/models/execution/model-call-recorder.d.ts +5 -1
  239. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  240. package/dist/models/execution/session.d.ts +21 -0
  241. package/dist/models/execution/session.d.ts.map +1 -0
  242. package/dist/models/execution.d.ts.map +1 -1
  243. package/dist/models/generation-types.d.ts +2 -0
  244. package/dist/models/generation-types.d.ts.map +1 -1
  245. package/dist/models/index.d.ts +9 -1
  246. package/dist/models/index.d.ts.map +1 -1
  247. package/dist/models/index.js +17 -7
  248. package/dist/models/index.js.map +1 -1
  249. package/dist/models/pricing.d.ts +3 -2
  250. package/dist/models/pricing.d.ts.map +1 -1
  251. package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
  252. package/dist/objects/execution.d.ts +1 -0
  253. package/dist/objects/execution.d.ts.map +1 -1
  254. package/dist/objects/index.js +29 -28
  255. package/dist/objects/index.js.map +1 -1
  256. package/dist/objects/query/executor.d.ts +3 -0
  257. package/dist/objects/query/executor.d.ts.map +1 -1
  258. package/dist/objects/query/index.d.ts +2 -0
  259. package/dist/objects/query/index.d.ts.map +1 -1
  260. package/dist/objects/query/index.js +34 -24
  261. package/dist/objects/query/index.js.map +1 -1
  262. package/dist/objects/query/ir.d.ts +6 -2
  263. package/dist/objects/query/ir.d.ts.map +1 -1
  264. package/dist/objects/query/normalize.d.ts.map +1 -1
  265. package/dist/objects/query/validate.d.ts.map +1 -1
  266. package/dist/objects/sdk/object-handle.d.ts +5 -0
  267. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  268. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  269. package/dist/objects/sdk/query-executor.d.ts +2 -0
  270. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  271. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  272. package/dist/objects/vectors/handle.d.ts +4 -0
  273. package/dist/objects/vectors/handle.d.ts.map +1 -0
  274. package/dist/objects/vectors/indexing-batch.d.ts +6 -0
  275. package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
  276. package/dist/objects/vectors/indexing-generate.d.ts +11 -0
  277. package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
  278. package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
  279. package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
  280. package/dist/objects/vectors/indexing-shared.d.ts +17 -0
  281. package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
  282. package/dist/objects/vectors/indexing-single.d.ts +4 -0
  283. package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
  284. package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
  285. package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
  286. package/dist/objects/vectors/indexing.d.ts +7 -0
  287. package/dist/objects/vectors/indexing.d.ts.map +1 -0
  288. package/dist/objects/vectors/profile.d.ts +13 -0
  289. package/dist/objects/vectors/profile.d.ts.map +1 -0
  290. package/dist/objects/vectors/query.d.ts +5 -0
  291. package/dist/objects/vectors/query.d.ts.map +1 -0
  292. package/dist/objects/vectors/resolve-query.d.ts +6 -0
  293. package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
  294. package/dist/objects/vectors/types.d.ts +11 -0
  295. package/dist/objects/vectors/types.d.ts.map +1 -0
  296. package/dist/ontology/index.d.ts +2 -1
  297. package/dist/ontology/index.d.ts.map +1 -1
  298. package/dist/ontology/index.js +5 -5
  299. package/dist/ontology/index.js.map +1 -1
  300. package/dist/ontology/internal.js +5 -4
  301. package/dist/ontology/internal.js.map +1 -1
  302. package/dist/ontology/registry.d.ts.map +1 -1
  303. package/dist/ontology/types.d.ts +8 -9
  304. package/dist/ontology/types.d.ts.map +1 -1
  305. package/dist/ontology/validation/definition.d.ts +3 -0
  306. package/dist/ontology/validation/definition.d.ts.map +1 -0
  307. package/dist/ontology/validation/properties.d.ts.map +1 -1
  308. package/dist/ontology/validation/query.d.ts.map +1 -1
  309. package/dist/ontology/validation/schema.d.ts +1 -1
  310. package/dist/ontology/validation/schema.d.ts.map +1 -1
  311. package/dist/ontology/vector-profiles.d.ts +4 -0
  312. package/dist/ontology/vector-profiles.d.ts.map +1 -0
  313. package/dist/pipelines/index.js +28 -27
  314. package/dist/pipelines/index.js.map +1 -1
  315. package/dist/projections/internal.js +24 -23
  316. package/dist/projections/internal.js.map +1 -1
  317. package/dist/query.js +2 -2
  318. package/dist/queues/in-memory.d.ts +2 -1
  319. package/dist/queues/in-memory.d.ts.map +1 -1
  320. package/dist/queues/index.d.ts +1 -1
  321. package/dist/queues/index.d.ts.map +1 -1
  322. package/dist/queues/index.js +1 -1
  323. package/dist/queues/types.d.ts +5 -0
  324. package/dist/queues/types.d.ts.map +1 -1
  325. package/dist/runtime/create.d.ts +4 -3
  326. package/dist/runtime/create.d.ts.map +1 -1
  327. package/dist/runtime/host.d.ts +9 -6
  328. package/dist/runtime/host.d.ts.map +1 -1
  329. package/dist/runtime/internal.d.ts +3 -0
  330. package/dist/runtime/internal.d.ts.map +1 -1
  331. package/dist/runtime/internal.js +47 -1
  332. package/dist/runtime/internal.js.map +1 -1
  333. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  334. package/dist/runtime/sixb.d.ts +9 -4
  335. package/dist/runtime/sixb.d.ts.map +1 -1
  336. package/dist/runtime/types.d.ts +15 -3
  337. package/dist/runtime/types.d.ts.map +1 -1
  338. package/dist/sandboxes/auth.d.ts +16 -0
  339. package/dist/sandboxes/auth.d.ts.map +1 -0
  340. package/dist/sandboxes/config.d.ts +5 -0
  341. package/dist/sandboxes/config.d.ts.map +1 -0
  342. package/dist/sandboxes/configuration.d.ts +41 -0
  343. package/dist/sandboxes/configuration.d.ts.map +1 -0
  344. package/dist/sandboxes/environment.d.ts +13 -0
  345. package/dist/sandboxes/environment.d.ts.map +1 -0
  346. package/dist/sandboxes/errors.d.ts +1 -1
  347. package/dist/sandboxes/errors.d.ts.map +1 -1
  348. package/dist/sandboxes/index.d.ts +6 -1
  349. package/dist/sandboxes/index.d.ts.map +1 -1
  350. package/dist/sandboxes/index.js +16 -3
  351. package/dist/sandboxes/index.js.map +1 -1
  352. package/dist/sandboxes/sandbox.d.ts +35 -3
  353. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  354. package/dist/shared/params/builders.d.ts +25 -0
  355. package/dist/shared/params/builders.d.ts.map +1 -0
  356. package/dist/shared/params/types.d.ts +47 -0
  357. package/dist/shared/params/types.d.ts.map +1 -0
  358. package/dist/shared/params/validation.d.ts +15 -0
  359. package/dist/shared/params/validation.d.ts.map +1 -0
  360. package/dist/shares/internal.js +23 -22
  361. package/dist/shares/internal.js.map +2 -2
  362. package/dist/storage/action-runs/failure.js +4 -3
  363. package/dist/storage/action-runs/failure.js.map +1 -1
  364. package/dist/storage/action-runs/provider.js +1 -1
  365. package/dist/storage/agents/in-memory.d.ts +2 -1
  366. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  367. package/dist/storage/agents/index.d.ts +1 -1
  368. package/dist/storage/agents/index.d.ts.map +1 -1
  369. package/dist/storage/agents/provider.d.ts +5 -1
  370. package/dist/storage/agents/provider.d.ts.map +1 -1
  371. package/dist/storage/agents/provider.js +8 -4
  372. package/dist/storage/agents/provider.js.map +1 -1
  373. package/dist/storage/agents/types.d.ts +49 -0
  374. package/dist/storage/agents/types.d.ts.map +1 -1
  375. package/dist/storage/ai-cost/analytics.d.ts +1 -0
  376. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  377. package/dist/storage/ai-cost/index.d.ts +1 -1
  378. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  379. package/dist/storage/ai-cost/provider.js +2 -2
  380. package/dist/storage/ai-cost/types.d.ts +14 -2
  381. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  382. package/dist/storage/ai-limits/enforcement.js +4 -3
  383. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  384. package/dist/storage/connector-connections/provider.js +3 -2
  385. package/dist/storage/connector-connections/provider.js.map +2 -2
  386. package/dist/storage/executions/provider.d.ts +3 -3
  387. package/dist/storage/executions/provider.d.ts.map +1 -1
  388. package/dist/storage/executions/provider.js +13 -11
  389. package/dist/storage/executions/provider.js.map +3 -3
  390. package/dist/storage/executions/types.d.ts +3 -0
  391. package/dist/storage/executions/types.d.ts.map +1 -1
  392. package/dist/storage/executions/validation.d.ts.map +1 -1
  393. package/dist/storage/index.d.ts +5 -3
  394. package/dist/storage/index.d.ts.map +1 -1
  395. package/dist/storage/index.js +25 -22
  396. package/dist/storage/index.js.map +1 -1
  397. package/dist/storage/internal.js +2 -2
  398. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  399. package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
  400. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  401. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  402. package/dist/storage/objects/in-memory/storage.d.ts +7 -0
  403. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  404. package/dist/storage/objects/types.d.ts +2 -0
  405. package/dist/storage/objects/types.d.ts.map +1 -1
  406. package/dist/storage/ontology/commits.d.ts +1 -0
  407. package/dist/storage/ontology/commits.d.ts.map +1 -1
  408. package/dist/storage/ontology/in-memory/index.d.ts +4 -0
  409. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  410. package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
  411. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  412. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
  413. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  414. package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
  415. package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
  416. package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
  417. package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
  418. package/dist/storage/ontology/index.d.ts +6 -0
  419. package/dist/storage/ontology/index.d.ts.map +1 -1
  420. package/dist/storage/ontology/provider.js +2 -2
  421. package/dist/storage/ontology/vector-indexing.d.ts +94 -0
  422. package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
  423. package/dist/storage/ontology/vectors.d.ts +56 -0
  424. package/dist/storage/ontology/vectors.d.ts.map +1 -0
  425. package/dist/storage/operation-scope.d.ts.map +1 -1
  426. package/dist/storage/operation-scope.js +1 -1
  427. package/dist/storage/projection-runs/provider.js +4 -3
  428. package/dist/storage/projection-runs/provider.js.map +1 -1
  429. package/dist/storage/types.d.ts +1 -1
  430. package/dist/storage/types.d.ts.map +1 -1
  431. package/dist/storage/workflow-runs/provider.js +9 -7
  432. package/dist/storage/workflow-runs/provider.js.map +1 -1
  433. package/dist/syncs/index.js +29 -28
  434. package/dist/syncs/index.js.map +1 -1
  435. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  436. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  437. package/dist/testing/index.js +448 -69
  438. package/dist/testing/index.js.map +7 -7
  439. package/dist/testing/object-query-contract.d.ts.map +1 -1
  440. package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
  441. package/dist/testing/queues-contract.d.ts.map +1 -1
  442. package/dist/webhooks/internal.js +24 -23
  443. package/dist/webhooks/internal.js.map +2 -2
  444. package/dist/workers/index.js +3 -2
  445. package/dist/workers/index.js.map +2 -2
  446. package/dist/workflows/failure.d.ts.map +1 -1
  447. package/dist/workflows/index.js +47 -43
  448. package/dist/workflows/index.js.map +1 -1
  449. package/package.json +1 -1
  450. package/src/actions/builders/params.ts +1 -48
  451. package/src/actions/types/params.ts +14 -74
  452. package/src/actions/validation.ts +7 -84
  453. package/src/agents/errors.ts +3 -0
  454. package/src/agents/execution.ts +67 -15
  455. package/src/agents/ids.ts +8 -0
  456. package/src/agents/index.ts +1 -0
  457. package/src/agents/request.ts +11 -0
  458. package/src/agents/sandbox.ts +44 -0
  459. package/src/agents/validation.ts +2 -108
  460. package/src/datasets/validation.ts +40 -11
  461. package/src/datasets/write.ts +8 -11
  462. package/src/error-reporting/capability.ts +11 -0
  463. package/src/error-reporting/reports.ts +23 -0
  464. package/src/error-reporting/types.ts +12 -1
  465. package/src/errors/catalog.ts +12 -0
  466. package/src/errors/failure-message.ts +15 -0
  467. package/src/errors/internal.ts +57 -25
  468. package/src/execution/authorization.ts +12 -5
  469. package/src/execution/authorized-object-reader.ts +37 -2
  470. package/src/execution/kernel-operation.ts +27 -0
  471. package/src/execution/scopes.ts +2 -0
  472. package/src/execution/types.ts +4 -4
  473. package/src/index.ts +60 -1
  474. package/src/lake-storage/in-memory.ts +5 -3
  475. package/src/materialization/errors.ts +2 -2
  476. package/src/materialization/index.ts +1 -0
  477. package/src/materialization/model.ts +2 -0
  478. package/src/materialization/vectors.ts +18 -0
  479. package/src/materializer/README.md +14 -0
  480. package/src/materializer/context.ts +10 -0
  481. package/src/materializer/edits/commit.ts +8 -1
  482. package/src/materializer/edits/vector-authority.ts +108 -0
  483. package/src/materializer/edits/vectors.ts +100 -0
  484. package/src/materializer/effective/validate.ts +10 -3
  485. package/src/materializer/effective/vector-indexing.ts +84 -0
  486. package/src/materializer/effective/vectors.ts +47 -0
  487. package/src/materializer/execution/work-executor.ts +11 -3
  488. package/src/materializer/projections/replace.ts +1 -1
  489. package/src/materializer/shared/normalize.ts +11 -0
  490. package/src/materializer/telemetry/append.ts +1 -1
  491. package/src/models/catalog-index.ts +38 -0
  492. package/src/models/catalog.ts +66 -38
  493. package/src/models/decision/catalog.ts +32 -0
  494. package/src/models/decision/errors.ts +18 -0
  495. package/src/models/decision/output.ts +101 -0
  496. package/src/models/decision/questions.ts +29 -0
  497. package/src/models/decision/runtime.ts +188 -0
  498. package/src/models/decision/types.ts +109 -0
  499. package/src/models/decision/validation.ts +335 -0
  500. package/src/models/definitions.ts +1 -1
  501. package/src/models/embedding-model.ts +129 -0
  502. package/src/models/execution/README.md +63 -0
  503. package/src/models/execution/binding.ts +2 -0
  504. package/src/models/execution/embedding.ts +133 -0
  505. package/src/models/execution/model-call-recorder.ts +42 -30
  506. package/src/models/execution/session.ts +81 -0
  507. package/src/models/execution.ts +10 -52
  508. package/src/models/generation-types.ts +2 -0
  509. package/src/models/index.ts +37 -0
  510. package/src/models/pricing.ts +1 -2
  511. package/src/objects/authorized-ontology-view.ts +12 -8
  512. package/src/objects/execution.ts +2 -0
  513. package/src/objects/query/executor.ts +13 -4
  514. package/src/objects/query/explain.ts +7 -2
  515. package/src/objects/query/index.ts +2 -0
  516. package/src/objects/query/ir.ts +6 -2
  517. package/src/objects/query/normalize.ts +5 -1
  518. package/src/objects/query/validate.ts +74 -73
  519. package/src/objects/sdk/object-handle.ts +3 -0
  520. package/src/objects/sdk/object-set.ts +1 -0
  521. package/src/objects/sdk/query-builder.ts +9 -3
  522. package/src/objects/sdk/query-executor.ts +2 -1
  523. package/src/objects/sdk/runtime-query-executor.ts +6 -2
  524. package/src/objects/vectors/README.md +59 -0
  525. package/src/objects/vectors/handle.ts +91 -0
  526. package/src/objects/vectors/indexing-batch.ts +163 -0
  527. package/src/objects/vectors/indexing-generate.ts +184 -0
  528. package/src/objects/vectors/indexing-runtime.ts +17 -0
  529. package/src/objects/vectors/indexing-shared.ts +188 -0
  530. package/src/objects/vectors/indexing-single.ts +51 -0
  531. package/src/objects/vectors/indexing-store-batch.ts +62 -0
  532. package/src/objects/vectors/indexing.ts +23 -0
  533. package/src/objects/vectors/profile.ts +64 -0
  534. package/src/objects/vectors/query.ts +16 -0
  535. package/src/objects/vectors/resolve-query.ts +89 -0
  536. package/src/objects/vectors/types.ts +10 -0
  537. package/src/ontology/index.ts +2 -0
  538. package/src/ontology/registry.ts +8 -0
  539. package/src/ontology/types.ts +9 -9
  540. package/src/ontology/validation/definition.ts +104 -0
  541. package/src/ontology/validation/properties.ts +14 -4
  542. package/src/ontology/validation/query.ts +34 -51
  543. package/src/ontology/validation/schema.ts +85 -23
  544. package/src/ontology/vector-profiles.ts +35 -0
  545. package/src/queues/in-memory.ts +5 -0
  546. package/src/queues/index.ts +1 -0
  547. package/src/queues/types.ts +10 -0
  548. package/src/runtime/create.ts +7 -6
  549. package/src/runtime/host.ts +42 -6
  550. package/src/runtime/internal.ts +3 -0
  551. package/src/runtime/resolve-definitions.ts +19 -1
  552. package/src/runtime/sixb.ts +27 -9
  553. package/src/runtime/types.ts +16 -4
  554. package/src/sandboxes/README.md +41 -0
  555. package/src/sandboxes/auth.ts +17 -0
  556. package/src/sandboxes/config.ts +37 -0
  557. package/src/sandboxes/configuration.ts +268 -0
  558. package/src/sandboxes/environment.ts +107 -0
  559. package/src/sandboxes/errors.ts +1 -1
  560. package/src/sandboxes/index.ts +15 -0
  561. package/src/sandboxes/sandbox.ts +38 -3
  562. package/src/shared/params/builders.ts +50 -0
  563. package/src/shared/params/types.ts +84 -0
  564. package/src/shared/params/validation.ts +114 -0
  565. package/src/storage/agents/in-memory.ts +25 -1
  566. package/src/storage/agents/index.ts +3 -0
  567. package/src/storage/agents/provider.ts +105 -0
  568. package/src/storage/agents/types.ts +54 -0
  569. package/src/storage/ai-cost/analytics.ts +59 -21
  570. package/src/storage/ai-cost/index.ts +1 -0
  571. package/src/storage/ai-cost/types.ts +19 -2
  572. package/src/storage/executions/provider.ts +24 -12
  573. package/src/storage/executions/types.ts +1 -0
  574. package/src/storage/executions/validation.ts +7 -3
  575. package/src/storage/index.ts +15 -1
  576. package/src/storage/objects/in-memory/query.ts +25 -11
  577. package/src/storage/objects/in-memory/read-scope.ts +9 -2
  578. package/src/storage/objects/in-memory/read-source.ts +5 -0
  579. package/src/storage/objects/in-memory/selected-reader.ts +5 -1
  580. package/src/storage/objects/in-memory/storage.ts +19 -1
  581. package/src/storage/objects/types.ts +2 -0
  582. package/src/storage/ontology/commits.ts +1 -0
  583. package/src/storage/ontology/in-memory/index.ts +20 -0
  584. package/src/storage/ontology/in-memory/materializations.ts +13 -0
  585. package/src/storage/ontology/in-memory/shared-state.ts +9 -0
  586. package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
  587. package/src/storage/ontology/in-memory/vectors.ts +73 -0
  588. package/src/storage/ontology/index.ts +14 -0
  589. package/src/storage/ontology/vector-indexing.ts +98 -0
  590. package/src/storage/ontology/vectors.ts +48 -0
  591. package/src/storage/operation-scope.ts +1 -0
  592. package/src/storage/types.ts +3 -0
  593. package/src/testing/agent-storage-contract.ts +246 -0
  594. package/src/testing/ai-cost-storage-contract.ts +134 -0
  595. package/src/testing/object-query-contract.ts +41 -25
  596. package/src/testing/object-read-scope-contract.ts +1 -5
  597. package/src/testing/queues-contract.ts +31 -0
  598. package/src/workflows/failure.ts +10 -4
  599. package/src/workflows/validation.ts +2 -2
  600. package/dist/chunk-01kj2pbh.js.map +0 -19
  601. package/dist/chunk-5hz0fnca.js.map +0 -12
  602. package/dist/chunk-7apz6hg4.js.map +0 -10
  603. package/dist/chunk-7bs40fe1.js.map +0 -12
  604. package/dist/chunk-860dwwy0.js.map +0 -14
  605. package/dist/chunk-93csa55g.js.map +0 -11
  606. package/dist/chunk-a0e6x5hd.js.map +0 -14
  607. package/dist/chunk-aa6z4a19.js.map +0 -12
  608. package/dist/chunk-ap0g1g74.js.map +0 -11
  609. package/dist/chunk-f0rwz2vh.js.map +0 -11
  610. package/dist/chunk-f4w3yp4f.js.map +0 -12
  611. package/dist/chunk-jsy70480.js.map +0 -15
  612. package/dist/chunk-mrp7k0pw.js.map +0 -10
  613. package/dist/chunk-ms2tmn1k.js.map +0 -17
  614. package/dist/chunk-rb1xx120.js.map +0 -11
  615. package/dist/chunk-yv79ncbv.js.map +0 -10
  616. package/dist/chunk-z0271qkp.js.map +0 -15
  617. package/dist/chunk-z3y411fq.js +0 -99
  618. package/dist/chunk-z3y411fq.js.map +0 -11
  619. /package/dist/{chunk-17kfctj6.js.map → chunk-0mza4xb2.js.map} +0 -0
  620. /package/dist/{chunk-1yefycb1.js.map → chunk-3bnt2wna.js.map} +0 -0
  621. /package/dist/{chunk-awbhdqyc.js.map → chunk-3ghw2t5q.js.map} +0 -0
  622. /package/dist/{chunk-b19g04jk.js.map → chunk-3h7ctayx.js.map} +0 -0
  623. /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
  624. /package/dist/{chunk-0y39rgsb.js.map → chunk-5tetw4hn.js.map} +0 -0
  625. /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
  626. /package/dist/{chunk-358caqf5.js.map → chunk-bfjv1adk.js.map} +0 -0
  627. /package/dist/{chunk-g91qxjj0.js.map → chunk-bg2bs62d.js.map} +0 -0
  628. /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
  629. /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
  630. /package/dist/{chunk-1824gssz.js.map → chunk-gswwr35f.js.map} +0 -0
  631. /package/dist/{chunk-92vk7gta.js.map → chunk-gzt6v1ja.js.map} +0 -0
  632. /package/dist/{chunk-gqh45d2n.js.map → chunk-hkw8rykk.js.map} +0 -0
  633. /package/dist/{chunk-cfvakeax.js.map → chunk-jjwhy3rs.js.map} +0 -0
  634. /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
  635. /package/dist/{chunk-653vwrzr.js.map → chunk-rdghfsss.js.map} +0 -0
  636. /package/dist/{chunk-x9m9x2eq.js.map → chunk-t7dzd1tm.js.map} +0 -0
  637. /package/dist/{chunk-pr2h4bv4.js.map → chunk-tg4g4zh0.js.map} +0 -0
  638. /package/dist/{chunk-8vj0rjgs.js.map → chunk-wjffn5m4.js.map} +0 -0
  639. /package/dist/{chunk-wf88w4kp.js.map → chunk-x9tmx3fc.js.map} +0 -0
  640. /package/dist/{chunk-fh8kgex1.js.map → chunk-xn686q2e.js.map} +0 -0
  641. /package/dist/{chunk-v2vcg0w6.js.map → chunk-xtfryrfb.js.map} +0 -0
@@ -1,4 +1,10 @@
1
1
  // @bun
2
+ import {
3
+ withFailureMessage
4
+ } from "./chunk-z3y5kg1x.js";
5
+ import {
6
+ assertEmbeddingModelRef
7
+ } from "./chunk-p1683c0v.js";
2
8
  import {
3
9
  OntologyValidationError2
4
10
  } from "./chunk-cqr3acm1.js";
@@ -15,50 +21,50 @@ import {
15
21
  } from "./chunk-wy0qdqfm.js";
16
22
 
17
23
  // src/ontology/validation/schema.ts
18
- function validateSchemaValue2(schema, value, path, valueTypesById) {
24
+ function validateSchemaValue2(schema, value, path, valueTypesById, diagnosticPath = path) {
19
25
  if (typeof schema === "string") {
20
26
  switch (schema) {
21
27
  case "string":
22
28
  case "uuid": {
23
29
  if (typeof value !== "string") {
24
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be a string`);
30
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be a string`), `Property ${diagnosticPath} must be a string.`);
25
31
  }
26
32
  return;
27
33
  }
28
34
  case "boolean": {
29
35
  if (typeof value !== "boolean") {
30
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be a boolean`);
36
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be a boolean`), `Property ${diagnosticPath} must be a boolean.`);
31
37
  }
32
38
  return;
33
39
  }
34
40
  case "integer": {
35
41
  if (typeof value !== "number" || !Number.isInteger(value)) {
36
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be an integer`);
42
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be an integer`), `Property ${diagnosticPath} must be an integer.`);
37
43
  }
38
44
  return;
39
45
  }
40
46
  case "double": {
41
47
  if (typeof value !== "number" || !Number.isFinite(value)) {
42
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be numeric`);
48
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be numeric`), `Property ${diagnosticPath} must be numeric.`);
43
49
  }
44
50
  return;
45
51
  }
46
52
  case "decimal": {
47
53
  if (!isDecimalString2(value)) {
48
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be an exact decimal string`);
54
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be an exact decimal string`), `Property ${diagnosticPath} must be an exact decimal string.`);
49
55
  }
50
56
  return;
51
57
  }
52
58
  case "date":
53
59
  case "timestamp": {
54
60
  if (!(value instanceof Date) && typeof value !== "string") {
55
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be a Date or ISO string`);
61
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be a Date or ISO string`), `Property ${diagnosticPath} must be a Date or ISO string.`);
56
62
  }
57
63
  return;
58
64
  }
59
65
  case "fileRef": {
60
66
  if (!isFileRef2(value)) {
61
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be a fileRef`);
67
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be a fileRef`), `Property ${diagnosticPath} must be a fileRef.`);
62
68
  }
63
69
  return;
64
70
  }
@@ -66,63 +72,63 @@ function validateSchemaValue2(schema, value, path, valueTypesById) {
66
72
  }
67
73
  if (schema.type === "enum") {
68
74
  if (!schema.values.includes(value)) {
69
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be one of: ${schema.values.join(", ")}`);
75
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be one of: ${schema.values.join(", ")}`), `Property ${diagnosticPath} must match a declared enum value.`);
70
76
  }
71
77
  return;
72
78
  }
73
79
  if (schema.type === "array") {
74
80
  if (!Array.isArray(value)) {
75
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be an array`);
81
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be an array`), `Property ${diagnosticPath} must be an array.`);
76
82
  }
77
83
  for (let index = 0;index < value.length; index += 1) {
78
- validateSchemaValue2(schema.items, value[index], `${path}[${index}]`, valueTypesById);
84
+ validateSchemaValue2(schema.items, value[index], `${path}[${index}]`, valueTypesById, `${diagnosticPath}[${index}]`);
79
85
  }
80
86
  return;
81
87
  }
82
88
  if (schema.type === "map") {
83
89
  if (!isRecord2(value)) {
84
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be an object map`);
90
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be an object map`), `Property ${diagnosticPath} must be an object map.`);
85
91
  }
86
92
  for (const [key, entry] of Object.entries(value)) {
87
- validateSchemaValue2(schema.valueSchema, entry, `${path}.${key}`, valueTypesById);
93
+ validateSchemaValue2(schema.valueSchema, entry, `${path}.${key}`, valueTypesById, `${diagnosticPath}.*`);
88
94
  }
89
95
  return;
90
96
  }
91
97
  if (schema.type === "object") {
92
98
  if (!isRecord2(value)) {
93
- throw new OntologyValidationError2(`[Sixb] Property ${path} must be an object`);
99
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} must be an object`), `Property ${diagnosticPath} must be an object.`);
94
100
  }
95
101
  const fields = schema.properties;
96
102
  const fieldIds = new Set(Object.keys(fields));
97
103
  for (const fieldId of Object.keys(value)) {
98
104
  if (!fieldIds.has(fieldId)) {
99
- throw new OntologyValidationError2(`[Sixb] Unknown field '${path}.${fieldId}'`);
105
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Unknown field '${path}.${fieldId}'`), `Object ${diagnosticPath} contains an undeclared field.`);
100
106
  }
101
107
  }
102
108
  for (const [fieldId, field] of Object.entries(fields)) {
103
109
  const fieldValue = value[fieldId];
104
110
  if (fieldValue === undefined) {
105
111
  if (field.required) {
106
- throw new OntologyValidationError2(`[Sixb] Missing required field '${path}.${fieldId}'`);
112
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Missing required field '${path}.${fieldId}'`), `Missing required field '${diagnosticPath}.${fieldId}'.`);
107
113
  }
108
114
  continue;
109
115
  }
110
- validateFieldValue(field, fieldValue, `${path}.${fieldId}`, valueTypesById);
116
+ validateFieldValue(field, fieldValue, `${path}.${fieldId}`, valueTypesById, `${diagnosticPath}.${fieldId}`);
111
117
  }
112
118
  return;
113
119
  }
114
120
  if (schema.type === "valueTypeRef") {
115
- validateSchemaValue2(resolveValueTypeSchema2(schema, valueTypesById, path), value, path, valueTypesById);
121
+ validateSchemaValue2(resolveValueTypeSchema2(schema, valueTypesById, path), value, path, valueTypesById, diagnosticPath);
116
122
  }
117
123
  }
118
- function validateFieldValue(field, value, path, valueTypesById) {
124
+ function validateFieldValue(field, value, path, valueTypesById, diagnosticPath = path) {
119
125
  if (value === null) {
120
126
  if (field.nullable) {
121
127
  return;
122
128
  }
123
- throw new OntologyValidationError2(`[Sixb] Field ${path} cannot be null`);
129
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Field ${path} cannot be null`), `Field ${diagnosticPath} cannot be null.`);
124
130
  }
125
- validateSchemaValue2(field.schema, value, path, valueTypesById);
131
+ validateSchemaValue2(field.schema, value, path, valueTypesById, diagnosticPath);
126
132
  }
127
133
  function resolveValueTypeRef2(schema) {
128
134
  if (typeof schema === "string") {
@@ -325,7 +331,7 @@ function assertKnownProperties2(objectType, properties) {
325
331
  function assertRequiredProperties2(objectType, properties) {
326
332
  for (const property of objectType.properties) {
327
333
  if (property.required && properties[property.id] === undefined) {
328
- throw new OntologyValidationError2(`[Sixb] Missing required property '${property.id}' for object type '${objectType.id}'`);
334
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Missing required property '${property.id}' for object type '${objectType.id}'`), `Missing required property '${objectType.id}.${property.id}'.`);
329
335
  }
330
336
  }
331
337
  }
@@ -370,13 +376,13 @@ function validatePropertyDefinitions2(objectTypesById, valueTypesById) {
370
376
  }
371
377
  function validatePropertyValue2(property, value, path, valueTypesById) {
372
378
  if (value === undefined) {
373
- throw new OntologyValidationError2(`[Sixb] Property ${path} cannot be undefined`);
379
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} cannot be undefined`), `Property ${path} cannot be undefined.`);
374
380
  }
375
381
  if (value === null) {
376
382
  if (property.nullable) {
377
383
  return;
378
384
  }
379
- throw new OntologyValidationError2(`[Sixb] Property ${path} cannot be null`);
385
+ throw withFailureMessage(new OntologyValidationError2(`[Sixb] Property ${path} cannot be null`), `Property ${path} cannot be null.`);
380
386
  }
381
387
  validateSchemaValue2(property.schema, value, path, valueTypesById);
382
388
  }
@@ -467,14 +473,7 @@ function validateLinkProperties2(objectType, link, properties, existingPropertie
467
473
  }
468
474
 
469
475
  // src/ontology/validation/query.ts
470
- var queryFeatures = [
471
- "filterable",
472
- "sortable",
473
- "text",
474
- "exact",
475
- "facet",
476
- "vector"
477
- ];
476
+ var queryFeatures = ["filterable", "sortable", "text", "exact", "facet"];
478
477
  function validateQueryMetadata2(objectTypesById, valueTypesById) {
479
478
  for (const [typeId, objectType] of objectTypesById) {
480
479
  validatePropertiesQueryMetadata(typeId, objectType.properties, valueTypesById);
@@ -495,6 +494,9 @@ function validatePropertyQueryMetadata(ownerPath, property, valueTypesById) {
495
494
  const query = property.query;
496
495
  if (!query)
497
496
  return;
497
+ if ("vector" in query) {
498
+ throw new OntologyValidationError2(`[Sixb] Property '${property.id}' on '${ownerPath}' uses removed query.vector metadata. Declare search.vectors on the object type instead.`);
499
+ }
498
500
  const enabledFeatures = queryFeatures.filter((feature) => query[feature] === true);
499
501
  if ((enabledFeatures.length > 0 || query.weight !== undefined) && query.searchable !== true) {
500
502
  throw new OntologyValidationError2(`[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' must set query.searchable: true before enabling query features`);
@@ -525,14 +527,29 @@ function validatePropertyQueryMetadata(ownerPath, property, valueTypesById) {
525
527
  if (query.facet && !isFacetSchema(schema)) {
526
528
  throw new OntologyValidationError2(`[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' enables faceting, but its schema cannot be faceted`);
527
529
  }
528
- if (query.vector && !isVectorSchema(schema, valueTypesById)) {
529
- throw new OntologyValidationError2(`[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' enables vector search, but its schema is not a numeric array`);
530
- }
531
530
  }
532
531
  function validateObjectSearchMetadata(typeId, objectType, valueTypesById) {
533
532
  const search = objectType.search;
534
533
  if (!search)
535
534
  return;
535
+ if ("vector" in search) {
536
+ throw new OntologyValidationError2(`[Sixb] Object type '${typeId}' uses removed search.vector metadata. Declare named profiles in search.vectors instead.`);
537
+ }
538
+ for (const [name, profile] of Object.entries(search.vectors ?? {})) {
539
+ if (!/^[a-zA-Z][a-zA-Z0-9_]*$/.test(name))
540
+ throw new OntologyValidationError2(`[Sixb] Invalid vector profile name ${name}`);
541
+ assertEmbeddingModelRef(profile.model);
542
+ if (!Array.isArray(profile.source) || profile.source.length === 0 || new Set(profile.source).size !== profile.source.length) {
543
+ throw new OntologyValidationError2(`[Sixb] Vector profile ${name} requires unique, nonempty source fields.`);
544
+ }
545
+ for (const id of profile.source) {
546
+ const property = requireObjectProperty(typeId, objectType, id, `search.vectors.${name}`);
547
+ assertStaticSearchProfileProperty(typeId, property, `search.vectors.${name}`);
548
+ if (!isTextSearchableSchema(resolveQueryableSchema(property, typeId, valueTypesById))) {
549
+ throw new OntologyValidationError2(`[Sixb] Vector source must be text: ${typeId}.${id}`);
550
+ }
551
+ }
552
+ }
536
553
  const primaryPropertyId = objectType.properties.find((property) => property.primary)?.id;
537
554
  if (search.title) {
538
555
  const title = requireObjectProperty(typeId, objectType, search.title, "search.title");
@@ -554,19 +571,6 @@ function validateObjectSearchMetadata(typeId, objectType, valueTypesById) {
554
571
  assertPropertyQueryFlag(typeId, property, "exact", "search.exact");
555
572
  }
556
573
  }
557
- if (search.vector) {
558
- const vectorProperty = requireObjectProperty(typeId, objectType, search.vector.property, "search.vector.property");
559
- assertStaticSearchProfileProperty(typeId, vectorProperty, "search.vector.property");
560
- assertPropertyQueryFlag(typeId, vectorProperty, "vector", "search.vector.property");
561
- if (search.vector.source.length === 0) {
562
- throw new OntologyValidationError2(`[Sixb] Object type '${typeId}' search.vector.source must include at least one source property`);
563
- }
564
- for (const sourceId of search.vector.source) {
565
- const sourceProperty = requireObjectProperty(typeId, objectType, sourceId, "search.vector.source");
566
- assertStaticSearchProfileProperty(typeId, sourceProperty, "search.vector.source");
567
- assertPropertyQueryFlag(typeId, sourceProperty, "text", "search.vector.source");
568
- }
569
- }
570
574
  }
571
575
  function requireObjectProperty(typeId, objectType, propertyId, metadataPath) {
572
576
  const property = objectType.properties.find((candidate) => candidate.id === propertyId);
@@ -629,14 +633,6 @@ function isSortableSchema(schema) {
629
633
  function isFacetSchema(schema) {
630
634
  return isExactSearchableSchema(schema);
631
635
  }
632
- function isVectorSchema(schema, valueTypesById) {
633
- if (typeof schema === "string")
634
- return false;
635
- if (schema.type !== "array")
636
- return false;
637
- const itemSchema = resolveSchema(schema.items, valueTypesById, "vector item");
638
- return itemSchema === "integer" || itemSchema === "double" || itemSchema === "decimal";
639
- }
640
636
 
641
637
  // src/ontology/units/quantitative-types.ts
642
638
  var angleUnits = {
@@ -1251,4 +1247,4 @@ function validateTelemetryUnit2(property, propertyPath, unit, valueTypesById) {
1251
1247
  }
1252
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 };
1253
1249
 
1254
- //# debugId=D0967F53F58A924A64756E2164756E21
1250
+ //# debugId=FA9118B7173D1B9264756E2164756E21
@@ -0,0 +1,17 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/ontology/validation/schema.ts", "../src/ontology/validation/normalize.ts", "../src/ontology/validation/properties.ts", "../src/ontology/validation/links.ts", "../src/ontology/validation/query.ts", "../src/ontology/units/quantitative-types.ts", "../src/ontology/units/index.ts", "../src/ontology/validation/telemetry.ts"],
4
+ "sourcesContent": [
5
+ "import { isFileRef } from \"../../blob-storage/validation\"\nimport { withFailureMessage } from \"../../errors/failure-message\"\nimport type { ObjectFieldSchema, Schema, ValueType, ValueTypeRefSchema } from \"..\"\nimport { isDecimalString } from \"../decimal\"\nimport { OntologyValidationError } from \"../errors\"\n\n/** Recursive schema validator used by both object and link property validation. */\nexport function validateSchemaValue(\n schema: Schema,\n value: unknown,\n path: string,\n valueTypesById: ReadonlyMap<string, ValueType>,\n diagnosticPath = path\n): void {\n if (typeof schema === \"string\") {\n switch (schema) {\n case \"string\":\n case \"uuid\": {\n if (typeof value !== \"string\") {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be a string`),\n `Property ${diagnosticPath} must be a string.`\n )\n }\n return\n }\n case \"boolean\": {\n if (typeof value !== \"boolean\") {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be a boolean`),\n `Property ${diagnosticPath} must be a boolean.`\n )\n }\n return\n }\n case \"integer\": {\n if (typeof value !== \"number\" || !Number.isInteger(value)) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be an integer`),\n `Property ${diagnosticPath} must be an integer.`\n )\n }\n return\n }\n case \"double\": {\n if (typeof value !== \"number\" || !Number.isFinite(value)) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be numeric`),\n `Property ${diagnosticPath} must be numeric.`\n )\n }\n return\n }\n case \"decimal\": {\n if (!isDecimalString(value)) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be an exact decimal string`),\n `Property ${diagnosticPath} must be an exact decimal string.`\n )\n }\n return\n }\n case \"date\":\n case \"timestamp\": {\n if (!(value instanceof Date) && typeof value !== \"string\") {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be a Date or ISO string`),\n `Property ${diagnosticPath} must be a Date or ISO string.`\n )\n }\n return\n }\n case \"fileRef\": {\n if (!isFileRef(value)) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be a fileRef`),\n `Property ${diagnosticPath} must be a fileRef.`\n )\n }\n return\n }\n }\n }\n\n if (schema.type === \"enum\") {\n if (!schema.values.includes(value as never)) {\n throw withFailureMessage(\n new OntologyValidationError(\n `[Sixb] Property ${path} must be one of: ${schema.values.join(\", \")}`\n ),\n `Property ${diagnosticPath} must match a declared enum value.`\n )\n }\n return\n }\n\n if (schema.type === \"array\") {\n if (!Array.isArray(value)) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be an array`),\n `Property ${diagnosticPath} must be an array.`\n )\n }\n for (let index = 0; index < value.length; index += 1) {\n validateSchemaValue(\n schema.items,\n value[index],\n `${path}[${index}]`,\n valueTypesById,\n `${diagnosticPath}[${index}]`\n )\n }\n return\n }\n\n if (schema.type === \"map\") {\n if (!isRecord(value)) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be an object map`),\n `Property ${diagnosticPath} must be an object map.`\n )\n }\n for (const [key, entry] of Object.entries(value)) {\n validateSchemaValue(\n schema.valueSchema,\n entry,\n `${path}.${key}`,\n valueTypesById,\n `${diagnosticPath}.*`\n )\n }\n return\n }\n\n if (schema.type === \"object\") {\n if (!isRecord(value)) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} must be an object`),\n `Property ${diagnosticPath} must be an object.`\n )\n }\n\n const fields = schema.properties\n const fieldIds = new Set(Object.keys(fields))\n for (const fieldId of Object.keys(value)) {\n if (!fieldIds.has(fieldId)) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Unknown field '${path}.${fieldId}'`),\n `Object ${diagnosticPath} contains an undeclared field.`\n )\n }\n }\n\n for (const [fieldId, field] of Object.entries(fields)) {\n const fieldValue = value[fieldId]\n if (fieldValue === undefined) {\n if (field.required) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Missing required field '${path}.${fieldId}'`),\n `Missing required field '${diagnosticPath}.${fieldId}'.`\n )\n }\n continue\n }\n\n validateFieldValue(\n field,\n fieldValue,\n `${path}.${fieldId}`,\n valueTypesById,\n `${diagnosticPath}.${fieldId}`\n )\n }\n return\n }\n\n if (schema.type === \"valueTypeRef\") {\n validateSchemaValue(\n resolveValueTypeSchema(schema, valueTypesById, path),\n value,\n path,\n valueTypesById,\n diagnosticPath\n )\n }\n}\n\nfunction validateFieldValue(\n field: ObjectFieldSchema,\n value: unknown,\n path: string,\n valueTypesById: ReadonlyMap<string, ValueType>,\n diagnosticPath = path\n): void {\n if (value === null) {\n if (field.nullable) {\n return\n }\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Field ${path} cannot be null`),\n `Field ${diagnosticPath} cannot be null.`\n )\n }\n\n validateSchemaValue(field.schema, value, path, valueTypesById, diagnosticPath)\n}\n\nexport function resolveValueTypeRef(schema: Schema): string | undefined {\n if (typeof schema === \"string\") {\n return undefined\n }\n\n if (schema.type === \"valueTypeRef\") {\n return schema.valueTypeId\n }\n\n return undefined\n}\n\nexport function resolveValueTypeSchema(\n schema: ValueTypeRefSchema,\n valueTypesById: ReadonlyMap<string, ValueType>,\n path: string\n): Schema {\n const resolved = schema._resolved ?? valueTypesById.get(schema.valueTypeId)?.schema\n if (!resolved) {\n throw new OntologyValidationError(\n `[Sixb] Unknown valueTypeRef '${schema.valueTypeId}' at ${path}`\n )\n }\n return resolved\n}\n\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n",
6
+ "import { assertJsonValue, cloneJsonValue, type JsonValue } from \"../../json\"\nimport type { ObjectFieldSchema, Property, Schema, ValueType } from \"..\"\nimport { normalizeDecimalValue } from \"../decimal\"\nimport { OntologyValidationError } from \"../errors\"\nimport { isRecord, resolveValueTypeSchema } from \"./schema\"\n\n/**\n * Normalize a property bag to JSON-safe values using each property's schema —\n * notably converting `Date` to an ISO string for `date`/`timestamp` props.\n * Unknown properties are skipped; `null` passes through unchanged.\n *\n * Shared by the object upsert and edit paths so both emit the same serializable\n * shape; the typed surface accepts `Date | string`, the wire stores strings.\n */\nexport function normalizeObjectProperties(\n definitions: readonly Property[],\n properties: Readonly<Record<string, unknown>>,\n valueTypesById: ReadonlyMap<string, ValueType>,\n path: string\n): Record<string, JsonValue> {\n const normalized: Record<string, JsonValue> = {}\n for (const [propertyId, value] of Object.entries(properties)) {\n const property = definitions.find((candidate) => candidate.id === propertyId)\n if (!property) continue\n normalized[propertyId] =\n value === null\n ? null\n : normalizeSchemaValue(property.schema, value, `${path}.${propertyId}`, valueTypesById)\n }\n return normalized\n}\n\nexport function normalizeSchemaValue(\n schema: Schema,\n value: unknown,\n path: string,\n valueTypesById: ReadonlyMap<string, ValueType>\n): JsonValue {\n if (typeof schema === \"string\") {\n switch (schema) {\n case \"date\":\n return normalizeDateValue(value, path)\n case \"timestamp\":\n return normalizeTimestampValue(value, path)\n case \"decimal\":\n return normalizeDecimal(value, path)\n default:\n assertJsonValue(value, path)\n return cloneJsonValue(value)\n }\n }\n\n if (schema.type === \"valueTypeRef\") {\n return normalizeSchemaValue(\n resolveValueTypeSchema(schema, valueTypesById, path),\n value,\n path,\n valueTypesById\n )\n }\n\n if (schema.type === \"enum\") {\n assertJsonValue(value, path)\n return cloneJsonValue(value)\n }\n\n if (schema.type === \"array\") {\n if (!Array.isArray(value)) {\n throw new OntologyValidationError(`[Sixb] Property ${path} must be an array`)\n }\n return (value as readonly unknown[]).map((entry, index) =>\n normalizeSchemaValue(schema.items, entry, `${path}[${index}]`, valueTypesById)\n )\n }\n\n if (schema.type === \"map\") {\n const record = assertPlainRecord(value, path)\n const entries = Object.entries(record).map(([key, entry]) => [\n key,\n normalizeSchemaValue(schema.valueSchema, entry, `${path}.${key}`, valueTypesById),\n ])\n return Object.fromEntries(entries)\n }\n\n const fields = schema.properties\n const record = assertPlainRecord(value, path)\n const entries: Array<[string, JsonValue]> = []\n for (const [fieldId, field] of Object.entries(fields)) {\n const fieldValue = record[fieldId]\n if (fieldValue === undefined) {\n continue\n }\n entries.push([\n fieldId,\n normalizeObjectFieldValue(field, fieldValue, `${path}.${fieldId}`, valueTypesById),\n ])\n }\n return Object.fromEntries(entries)\n}\n\nfunction normalizeObjectFieldValue(\n field: ObjectFieldSchema,\n value: unknown,\n path: string,\n valueTypesById: ReadonlyMap<string, ValueType>\n): JsonValue {\n if (value === null) {\n return null\n }\n\n return normalizeSchemaValue(field.schema, value, path, valueTypesById)\n}\n\nfunction assertPlainRecord(value: unknown, path: string): Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new OntologyValidationError(`[Sixb] Property ${path} must be an object`)\n }\n return value as Record<string, unknown>\n}\n\nfunction normalizeDateValue(value: unknown, path: string): string {\n const date = normalizeDateLike(value, path)\n return date.toISOString().slice(0, 10)\n}\n\nfunction normalizeTimestampValue(value: unknown, path: string): string {\n return normalizeDateLike(value, path).toISOString()\n}\n\nfunction normalizeDecimal(value: unknown, path: string): string {\n if (typeof value !== \"string\") {\n throw new OntologyValidationError(`[Sixb] Property ${path} must be an exact decimal string`)\n }\n\n try {\n return normalizeDecimalValue(value)\n } catch {\n throw new OntologyValidationError(`[Sixb] Property ${path} must be an exact decimal string`)\n }\n}\n\nfunction normalizeDateLike(value: unknown, path: string): Date {\n const date = value instanceof Date ? value : new Date(String(value))\n if (Number.isNaN(date.getTime())) {\n throw new OntologyValidationError(`[Sixb] Property ${path} must be a valid date`)\n }\n return date\n}\n\n/**\n * Inverse of `normalizeSchemaValue` for the handler-facing surface: re-hydrate\n * `date`/`timestamp` values from their stored ISO string back into a `Date`, so\n * a handler receives the `Date` its types promise. Other scalars pass through;\n * arrays, maps, objects, and value-type refs recurse. The input is assumed to be\n * already validated/normalized JSON, so this is permissive and never throws.\n */\nexport function coerceSchemaValueToTyped(\n schema: Schema,\n value: unknown,\n valueTypesById: ReadonlyMap<string, ValueType>\n): unknown {\n if (value === null || value === undefined) {\n return value\n }\n\n if (typeof schema === \"string\") {\n if (schema === \"date\" || schema === \"timestamp\") {\n return value instanceof Date ? value : new Date(String(value))\n }\n return value\n }\n\n if (schema.type === \"valueTypeRef\") {\n return coerceSchemaValueToTyped(\n resolveValueTypeSchema(schema, valueTypesById, \"\"),\n value,\n valueTypesById\n )\n }\n\n if (schema.type === \"enum\") {\n return value\n }\n\n if (schema.type === \"array\") {\n if (!Array.isArray(value)) return value\n return (value as readonly unknown[]).map((entry) =>\n coerceSchemaValueToTyped(schema.items, entry, valueTypesById)\n )\n }\n\n if (schema.type === \"map\") {\n if (!isRecord(value)) return value\n return Object.fromEntries(\n Object.entries(value).map(([key, entry]) => [\n key,\n coerceSchemaValueToTyped(schema.valueSchema, entry, valueTypesById),\n ])\n )\n }\n\n if (!isRecord(value)) return value\n const output: Record<string, unknown> = { ...value }\n for (const [fieldId, field] of Object.entries(schema.properties)) {\n if (value[fieldId] === undefined) continue\n output[fieldId] = coerceSchemaValueToTyped(field.schema, value[fieldId], valueTypesById)\n }\n return output\n}\n",
7
+ "import { withFailureMessage } from \"../../errors/failure-message\"\nimport type { ObjectLink, ObjectType, Property, Schema, ValueType } from \"..\"\nimport { OntologyValidationError } from \"../errors\"\nimport type { LinkToken, ObjectTypeWithPropertyTokens, PropertyToken } from \"../tokens\"\nimport { validateSchemaValue } from \"./schema\"\n\nexport function assertObjectTypeRegistered(\n objectTypesById: ReadonlyMap<string, ObjectTypeWithPropertyTokens>,\n objectType: ObjectTypeWithPropertyTokens\n): void {\n if (!objectTypesById.has(objectType.id)) {\n throw new OntologyValidationError(\n `[Sixb] Object type is not registered in this runtime: ${objectType.id}`\n )\n }\n}\n\nexport function assertPropertyTokenBelongsToObjectType(\n objectType: ObjectTypeWithPropertyTokens,\n property: PropertyToken<string, string, Property>\n): void {\n if (property.objectTypeId !== objectType.id) {\n throw new OntologyValidationError(\n `[Sixb] Property token ${property.objectTypeId}.${property.id} cannot be used with ${objectType.id}`\n )\n }\n}\n\nexport function assertLinkTokenBelongsToObjectType(\n objectType: ObjectTypeWithPropertyTokens,\n link: unknown\n): asserts link is LinkToken<string, string, string | readonly string[], ObjectLink> {\n if (!isLinkTokenLike(link)) {\n throw new OntologyValidationError(\n `[Sixb] Expected a link token from ${objectType.id}.l.<linkId>, not a plain link id.`\n )\n }\n\n if (link.objectTypeId !== objectType.id) {\n throw new OntologyValidationError(\n `[Sixb] Link token ${link.objectTypeId}.${link.id} cannot be used with ${objectType.id}`\n )\n }\n}\n\nfunction isLinkTokenLike(\n value: unknown\n): value is LinkToken<string, string, string | readonly string[], ObjectLink> {\n if (typeof value !== \"object\" || value === null) return false\n if (\n !(\"objectTypeId\" in value) ||\n !(\"id\" in value) ||\n !(\"targetObjectTypeId\" in value) ||\n !(\"link\" in value)\n ) {\n return false\n }\n\n return (\n typeof value.objectTypeId === \"string\" &&\n typeof value.id === \"string\" &&\n isLinkTargetTypeId(value.targetObjectTypeId) &&\n typeof value.link === \"object\" &&\n value.link !== null\n )\n}\n\nfunction isLinkTargetTypeId(value: unknown): value is string | readonly string[] {\n return typeof value === \"string\" || (Array.isArray(value) && value.every(isString))\n}\n\nfunction isString(value: unknown): value is string {\n return typeof value === \"string\"\n}\n\nexport function assertKnownProperties(\n objectType: ObjectTypeWithPropertyTokens,\n properties: Record<string, unknown>\n): void {\n const knownIds = new Set(objectType.properties.map((property) => property.id))\n for (const propertyId of Object.keys(properties)) {\n if (!knownIds.has(propertyId)) {\n throw new OntologyValidationError(\n `[Sixb] Unknown property '${propertyId}' for object type '${objectType.id}'`\n )\n }\n }\n}\n\nexport function assertRequiredProperties(\n objectType: ObjectTypeWithPropertyTokens,\n properties: Record<string, unknown>\n): void {\n for (const property of objectType.properties) {\n if (property.required && properties[property.id] === undefined) {\n throw withFailureMessage(\n new OntologyValidationError(\n `[Sixb] Missing required property '${property.id}' for object type '${objectType.id}'`\n ),\n `Missing required property '${objectType.id}.${property.id}'.`\n )\n }\n }\n}\n\n/** Runtime validation protects callers even when TypeScript checks are bypassed. */\nexport function validateObjectProperties(\n objectType: ObjectTypeWithPropertyTokens,\n properties: Record<string, unknown>,\n valueTypesById: ReadonlyMap<string, ValueType>\n): void {\n for (const [propertyId, value] of Object.entries(properties)) {\n const property = objectType.properties.find((candidate) => candidate.id === propertyId)\n if (!property) {\n continue\n }\n validatePropertyValue(property, value, `${objectType.id}.${propertyId}`, valueTypesById)\n }\n}\n\n/**\n * Validate that every registered object type has exactly one primary property\n * that is required and has schema \"string\".\n *\n * Returns a Map<objectTypeId, primaryPropertyId> for runtime derivation.\n */\nexport function validatePrimaryProperties(\n objectTypesById: ReadonlyMap<string, ObjectType>\n): Map<string, string> {\n const result = new Map<string, string>()\n\n for (const [typeId, objectType] of objectTypesById) {\n const primaries = objectType.properties.filter((p) => p.primary)\n\n if (primaries.length === 0) {\n throw new OntologyValidationError(\n `[Sixb] Object type '${typeId}' has no primary property. ` +\n `Define one with prop(\"id\", \"string\", { required: true, primary: true }).`\n )\n }\n if (primaries.length > 1) {\n throw new OntologyValidationError(\n `[Sixb] Object type '${typeId}' has ${primaries.length} primary properties, expected 1`\n )\n }\n\n const primary = primaries[0]\n if (!primary.required) {\n throw new OntologyValidationError(\n `[Sixb] Primary property '${primary.id}' on '${typeId}' must be required`\n )\n }\n if (primary.schema !== \"string\") {\n throw new OntologyValidationError(\n `[Sixb] Primary property '${primary.id}' on '${typeId}' must have schema \"string\", got \"${String(primary.schema)}\"`\n )\n }\n\n result.set(typeId, primary.id)\n }\n\n return result\n}\n\nexport function validatePropertyDefinitions(\n objectTypesById: ReadonlyMap<string, ObjectType>,\n valueTypesById: ReadonlyMap<string, ValueType>\n): void {\n for (const [typeId, objectType] of objectTypesById) {\n for (const property of objectType.properties) {\n // Telemetry stores time-series samples, not blob references, even when fileRef is nested.\n if (property.mode === \"telemetry\" && schemaContainsFileRef(property.schema, valueTypesById)) {\n throw new OntologyValidationError(\n `[Sixb] Telemetry property '${property.id}' on '${typeId}' cannot use fileRef`\n )\n }\n }\n }\n}\n\nexport function validatePropertyValue(\n property: Property,\n value: unknown,\n path: string,\n valueTypesById: ReadonlyMap<string, ValueType>\n): void {\n if (value === undefined) {\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} cannot be undefined`),\n `Property ${path} cannot be undefined.`\n )\n }\n\n if (value === null) {\n if (property.nullable) {\n return\n }\n throw withFailureMessage(\n new OntologyValidationError(`[Sixb] Property ${path} cannot be null`),\n `Property ${path} cannot be null.`\n )\n }\n\n validateSchemaValue(property.schema, value, path, valueTypesById)\n}\n\nfunction schemaContainsFileRef(\n schema: Schema,\n valueTypesById: ReadonlyMap<string, ValueType>,\n seenValueTypeIds = new Set<string>()\n): boolean {\n if (schema === \"fileRef\") {\n return true\n }\n\n if (typeof schema === \"string\") {\n return false\n }\n\n if (schema.type === \"array\") {\n return schemaContainsFileRef(schema.items, valueTypesById, seenValueTypeIds)\n }\n\n if (schema.type === \"map\") {\n return schemaContainsFileRef(schema.valueSchema, valueTypesById, seenValueTypeIds)\n }\n\n if (schema.type === \"object\") {\n return Object.values(schema.properties).some((field) =>\n schemaContainsFileRef(field.schema, valueTypesById, seenValueTypeIds)\n )\n }\n\n if (schema.type === \"valueTypeRef\") {\n if (seenValueTypeIds.has(schema.valueTypeId)) {\n return false\n }\n\n seenValueTypeIds.add(schema.valueTypeId)\n const resolved = schema._resolved ?? valueTypesById.get(schema.valueTypeId)?.schema\n return resolved ? schemaContainsFileRef(resolved, valueTypesById, seenValueTypeIds) : false\n }\n\n return false\n}\n",
8
+ "import type { JsonValue } from \"../../json\"\nimport type { ObjectLink, ValueType } from \"..\"\nimport { OntologyValidationError } from \"../errors\"\nimport type { ObjectTypeWithPropertyTokens } from \"../tokens\"\nimport { normalizeObjectProperties } from \"./normalize\"\nimport { validatePropertyValue } from \"./properties\"\n\n/**\n * Assert that `targetTypeId` is compatible with the link definition's declared target.\n *\n * When `isValidLinkTarget` is provided (e.g. for polymorphic subtype checks),\n * it is used instead of strict equality.\n */\nexport function assertLinkTargetType(\n objectTypeId: string,\n linkId: string,\n linkDefinition: ObjectLink,\n targetTypeId: string,\n isValidLinkTarget?: (expected: string | string[], actual: string) => boolean\n): void {\n const valid = isValidLinkTarget\n ? isValidLinkTarget(linkDefinition.targetObjectTypeId, targetTypeId)\n : targetTypeId === linkDefinition.targetObjectTypeId\n if (!valid) {\n const expected = Array.isArray(linkDefinition.targetObjectTypeId)\n ? linkDefinition.targetObjectTypeId.join(\" | \")\n : linkDefinition.targetObjectTypeId\n throw new OntologyValidationError(\n `[Sixb] Link ${objectTypeId}.${linkId} must target '${expected}', got '${targetTypeId}'`\n )\n }\n}\n\n/**\n * Verify that `actualTarget` is either the same as or a subtype of the\n * link's declared `targetObjectTypeId`. Throws on mismatch.\n */\nexport function assertTargetTypeCompatible(\n getSubTypes: (typeId: string) => string[],\n declaredTarget: string | string[],\n actualTarget: string,\n context: string\n): void {\n if (declaredTarget === \"*\") return\n const types = Array.isArray(declaredTarget) ? declaredTarget : [declaredTarget]\n if (types.includes(\"*\")) return\n for (const type of types) {\n if (actualTarget === type || getSubTypes(type).includes(actualTarget)) return\n }\n const expected = types.join(\" | \")\n throw new OntologyValidationError(\n `[Sixb] ${context}: target type '${actualTarget}' is not compatible with declared target '${expected}'`\n )\n}\n\nexport function normalizeLinkProperties(\n objectType: ObjectTypeWithPropertyTokens,\n link: ObjectLink,\n properties: Readonly<Record<string, unknown>> | undefined,\n valueTypesById: ReadonlyMap<string, ValueType>\n): Record<string, JsonValue> | undefined {\n if (properties === undefined) return undefined\n return normalizeObjectProperties(\n link.properties ?? [],\n properties,\n valueTypesById,\n `${objectType.id}.${link.id}`\n )\n}\n\nexport function validateLinkProperties(\n objectType: ObjectTypeWithPropertyTokens,\n link: ObjectLink,\n properties: Record<string, unknown> | undefined,\n existingProperties: Record<string, unknown> | undefined,\n valueTypesById: ReadonlyMap<string, ValueType>\n): void {\n const linkProperties = link.properties ?? []\n const provided = properties ?? {}\n\n if (linkProperties.length === 0) {\n if (Object.keys(provided).length > 0) {\n throw new OntologyValidationError(\n `[Sixb] Link ${objectType.id}.${link.id} does not define link properties`\n )\n }\n return\n }\n\n const knownPropertyIds = new Set(linkProperties.map((property) => property.id))\n for (const propertyId of Object.keys(provided)) {\n if (!knownPropertyIds.has(propertyId)) {\n throw new OntologyValidationError(\n `[Sixb] Unknown link property '${propertyId}' for link '${objectType.id}.${link.id}'`\n )\n }\n }\n\n for (const [propertyId, value] of Object.entries(provided)) {\n const property = linkProperties.find((candidate) => candidate.id === propertyId)\n if (!property) {\n continue\n }\n\n validatePropertyValue(\n property,\n value,\n `${objectType.id}.${link.id}.${propertyId}`,\n valueTypesById\n )\n }\n\n // Required checks run against merged state so partial link updates are valid.\n const merged = {\n ...(existingProperties ?? {}),\n ...provided,\n }\n\n for (const property of linkProperties) {\n if (property.required && merged[property.id] === undefined) {\n throw new OntologyValidationError(\n `[Sixb] Missing required link property '${property.id}' for link '${objectType.id}.${link.id}'`\n )\n }\n }\n}\n",
9
+ "import { assertEmbeddingModelRef } from \"../../models/embedding-model\"\nimport type { ObjectType, Property, Schema, ValueType } from \"..\"\nimport { OntologyValidationError } from \"../errors\"\n\ntype QueryFeature = \"filterable\" | \"sortable\" | \"text\" | \"exact\" | \"facet\"\n\nconst queryFeatures: readonly QueryFeature[] = [\"filterable\", \"sortable\", \"text\", \"exact\", \"facet\"]\n\nexport function validateQueryMetadata(\n objectTypesById: ReadonlyMap<string, ObjectType>,\n valueTypesById: ReadonlyMap<string, ValueType>\n): void {\n for (const [typeId, objectType] of objectTypesById) {\n validatePropertiesQueryMetadata(typeId, objectType.properties, valueTypesById)\n\n for (const link of objectType.links) {\n if (link.properties) {\n validatePropertiesQueryMetadata(`${typeId}.${link.id}`, link.properties, valueTypesById)\n }\n }\n\n validateObjectSearchMetadata(typeId, objectType, valueTypesById)\n }\n}\n\nfunction validatePropertiesQueryMetadata(\n ownerPath: string,\n properties: readonly Property[],\n valueTypesById: ReadonlyMap<string, ValueType>\n): void {\n for (const property of properties) {\n validatePropertyQueryMetadata(ownerPath, property, valueTypesById)\n }\n}\n\nfunction validatePropertyQueryMetadata(\n ownerPath: string,\n property: Property,\n valueTypesById: ReadonlyMap<string, ValueType>\n): void {\n const query = property.query\n if (!query) return\n if (\"vector\" in query) {\n throw new OntologyValidationError(\n `[Sixb] Property '${property.id}' on '${ownerPath}' uses removed query.vector metadata. Declare search.vectors on the object type instead.`\n )\n }\n\n const enabledFeatures = queryFeatures.filter((feature) => query[feature] === true)\n if ((enabledFeatures.length > 0 || query.weight !== undefined) && query.searchable !== true) {\n throw new OntologyValidationError(\n `[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' must set query.searchable: true before enabling query features`\n )\n }\n\n if (query.weight !== undefined) {\n if (!Number.isFinite(query.weight) || query.weight <= 0) {\n throw new OntologyValidationError(\n `[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' has invalid text weight. Expected a positive finite number.`\n )\n }\n if (query.text !== true) {\n throw new OntologyValidationError(\n `[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' can only set weight when query.text is true`\n )\n }\n }\n\n if (enabledFeatures.length === 0) return\n\n const schema = resolveQueryableSchema(property, ownerPath, valueTypesById)\n\n if (query.text && !isTextSearchableSchema(schema)) {\n throw new OntologyValidationError(\n `[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' enables text search, but its schema is not string-like`\n )\n }\n\n if (query.exact && !isExactSearchableSchema(schema)) {\n throw new OntologyValidationError(\n `[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' enables exact search, but its schema cannot be exact-matched`\n )\n }\n\n if (query.filterable && !isFilterableSchema(schema)) {\n throw new OntologyValidationError(\n `[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' enables filtering, but its schema cannot be filtered`\n )\n }\n\n if (query.sortable && !isSortableSchema(schema)) {\n throw new OntologyValidationError(\n `[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' enables sorting, but its schema is not orderable`\n )\n }\n\n if (query.facet && !isFacetSchema(schema)) {\n throw new OntologyValidationError(\n `[Sixb] Query metadata for property '${property.id}' on '${ownerPath}' enables faceting, but its schema cannot be faceted`\n )\n }\n}\n\nfunction validateObjectSearchMetadata(\n typeId: string,\n objectType: ObjectType,\n valueTypesById: ReadonlyMap<string, ValueType>\n): void {\n const search = objectType.search\n if (!search) return\n if (\"vector\" in search) {\n throw new OntologyValidationError(\n `[Sixb] Object type '${typeId}' uses removed search.vector metadata. Declare named profiles in search.vectors instead.`\n )\n }\n\n for (const [name, profile] of Object.entries(search.vectors ?? {})) {\n if (!/^[a-zA-Z][a-zA-Z0-9_]*$/.test(name))\n throw new OntologyValidationError(`[Sixb] Invalid vector profile name ${name}`)\n assertEmbeddingModelRef(profile.model)\n if (\n !Array.isArray(profile.source) ||\n profile.source.length === 0 ||\n new Set(profile.source).size !== profile.source.length\n ) {\n throw new OntologyValidationError(\n `[Sixb] Vector profile ${name} requires unique, nonempty source fields.`\n )\n }\n for (const id of profile.source) {\n const property = requireObjectProperty(typeId, objectType, id, `search.vectors.${name}`)\n assertStaticSearchProfileProperty(typeId, property, `search.vectors.${name}`)\n if (!isTextSearchableSchema(resolveQueryableSchema(property, typeId, valueTypesById))) {\n throw new OntologyValidationError(`[Sixb] Vector source must be text: ${typeId}.${id}`)\n }\n }\n }\n const primaryPropertyId = objectType.properties.find((property) => property.primary)?.id\n\n if (search.title) {\n const title = requireObjectProperty(typeId, objectType, search.title, \"search.title\")\n assertStaticSearchProfileProperty(typeId, title, \"search.title\")\n const schema = resolveQueryableSchema(title, typeId, valueTypesById)\n if (!isTextSearchableSchema(schema)) {\n throw new OntologyValidationError(\n `[Sixb] Object type '${typeId}' search.title references '${title.id}', but title fields must be string-like`\n )\n }\n }\n\n for (const propertyId of search.defaultText ?? []) {\n const property = requireObjectProperty(typeId, objectType, propertyId, \"search.defaultText\")\n assertStaticSearchProfileProperty(typeId, property, \"search.defaultText\")\n assertPropertyQueryFlag(typeId, property, \"text\", \"search.defaultText\")\n }\n\n for (const propertyId of search.exact ?? []) {\n const property = requireObjectProperty(typeId, objectType, propertyId, \"search.exact\")\n assertStaticSearchProfileProperty(typeId, property, \"search.exact\")\n if (property.id !== primaryPropertyId) {\n assertPropertyQueryFlag(typeId, property, \"exact\", \"search.exact\")\n }\n }\n}\n\nfunction requireObjectProperty(\n typeId: string,\n objectType: ObjectType,\n propertyId: string,\n metadataPath: string\n): Property {\n const property = objectType.properties.find((candidate) => candidate.id === propertyId)\n if (!property) {\n throw new OntologyValidationError(\n `[Sixb] Object type '${typeId}' ${metadataPath} references unknown property '${propertyId}'`\n )\n }\n return property\n}\n\nfunction assertStaticSearchProfileProperty(\n typeId: string,\n property: Property,\n metadataPath: string\n): void {\n if (property.mode === \"telemetry\") {\n throw new OntologyValidationError(\n `[Sixb] Object type '${typeId}' ${metadataPath} references telemetry property '${property.id}'. Search profiles can only reference static properties because telemetry latest values are not object-query indexed.`\n )\n }\n}\n\nfunction assertPropertyQueryFlag(\n typeId: string,\n property: Property,\n flag: QueryFeature,\n metadataPath: string\n): void {\n if (property.query?.searchable === true && property.query[flag] === true) {\n return\n }\n\n throw new OntologyValidationError(\n `[Sixb] Object type '${typeId}' ${metadataPath} references property '${property.id}', but that property must set query.searchable: true and query.${flag}: true`\n )\n}\n\nfunction resolveQueryableSchema(\n property: Property,\n ownerPath: string,\n valueTypesById: ReadonlyMap<string, ValueType>\n): Schema {\n return resolveSchema(property.schema, valueTypesById, `${ownerPath}.${property.id}`)\n}\n\nfunction resolveSchema(\n schema: Schema,\n valueTypesById: ReadonlyMap<string, ValueType>,\n path: string,\n seenValueTypeIds = new Set<string>()\n): Schema {\n if (typeof schema === \"string\") {\n return schema\n }\n\n if (schema.type !== \"valueTypeRef\") {\n return schema\n }\n\n if (seenValueTypeIds.has(schema.valueTypeId)) {\n throw new OntologyValidationError(\n `[Sixb] Circular valueTypeRef '${schema.valueTypeId}' in query metadata at ${path}`\n )\n }\n\n const resolved = schema._resolved ?? valueTypesById.get(schema.valueTypeId)?.schema\n if (!resolved) {\n throw new OntologyValidationError(\n `[Sixb] Query metadata for ${path} references unknown valueTypeRef '${schema.valueTypeId}'`\n )\n }\n\n seenValueTypeIds.add(schema.valueTypeId)\n return resolveSchema(resolved, valueTypesById, path, seenValueTypeIds)\n}\n\nfunction isTextSearchableSchema(schema: Schema): boolean {\n if (schema === \"string\") return true\n return typeof schema !== \"string\" && schema.type === \"enum\" && schema.valueType === \"string\"\n}\n\nfunction isExactSearchableSchema(schema: Schema): boolean {\n if (typeof schema === \"string\") {\n return schema !== \"fileRef\"\n }\n return schema.type === \"enum\"\n}\n\nfunction isFilterableSchema(schema: Schema): boolean {\n return (\n isExactSearchableSchema(schema) ||\n (typeof schema !== \"string\" && (schema.type === \"array\" || schema.type === \"map\"))\n )\n}\n\nfunction isSortableSchema(schema: Schema): boolean {\n if (typeof schema === \"string\") {\n return (\n schema === \"string\" ||\n schema === \"uuid\" ||\n schema === \"integer\" ||\n schema === \"double\" ||\n schema === \"decimal\" ||\n schema === \"date\" ||\n schema === \"timestamp\"\n )\n }\n return schema.type === \"enum\"\n}\n\nfunction isFacetSchema(schema: Schema): boolean {\n return isExactSearchableSchema(schema)\n}\n",
10
+ "/**\n * Sixb Quantitative Types registry.\n *\n * A single flat registry of physical quantities. Each entry names a quantity,\n * describes it, and lists its valid units. Where multiple quantities share the\n * same set of units (e.g. Humidity and Density) they reference the same const\n * object — no string-based linking required.\n *\n * Literal-union types are derived automatically via `as const` so developers\n * get full autocomplete without defining anything themselves.\n *\n * Inspired by Azure DTDL QuantitativeTypes v2.\n */\n\nimport type { QuantitativeType, Unit } from \"./types\"\n\n// ═════════════════════════════════════════════════════════════\n// Shared unit sets\n//\n// When several quantities accept the same units, define the set\n// once here and reference it from each quantity entry below.\n// ═════════════════════════════════════════════════════════════\n\nconst angleUnits = {\n degreeOfArc: { name: \"Degree of Arc\", symbol: \"°\" },\n minuteOfArc: { name: \"Minute of Arc\", symbol: \"′\" },\n radian: { name: \"Radian\", symbol: \"rad\" },\n secondOfArc: { name: \"Second of Arc\", symbol: \"″\" },\n turn: { name: \"Turn\", symbol: \"rev\" },\n} as const satisfies Record<string, Unit>\n\nconst densityUnits = {\n gramPerCubicMetre: { name: \"Gram per Cubic Metre\", symbol: \"g/m³\" },\n kilogramPerCubicMetre: { name: \"Kilogram per Cubic Metre\", symbol: \"kg/m³\" },\n microgramPerCubicMetre: { name: \"Microgram per Cubic Metre\", symbol: \"µg/m³\" },\n milligramPerCubicMetre: { name: \"Milligram per Cubic Metre\", symbol: \"mg/m³\" },\n} as const satisfies Record<string, Unit>\n\nconst forceUnits = {\n newton: { name: \"Newton\", symbol: \"N\" },\n ounce: { name: \"Ounce\", symbol: \"oz\" },\n pound: { name: \"Pound\", symbol: \"lbf\" },\n ton: { name: \"Ton\", symbol: \"t\" },\n} as const satisfies Record<string, Unit>\n\nconst lengthUnits = {\n astronomicalUnit: { name: \"Astronomical Unit\", symbol: \"AU\" },\n centimetre: { name: \"Centimetre\", symbol: \"cm\" },\n foot: { name: \"Foot\", symbol: \"ft\" },\n inch: { name: \"Inch\", symbol: \"in\" },\n kilometre: { name: \"Kilometre\", symbol: \"km\" },\n metre: { name: \"Metre\", symbol: \"m\" },\n micrometre: { name: \"Micrometre\", symbol: \"µm\" },\n mile: { name: \"Mile\", symbol: \"mi\" },\n millimetre: { name: \"Millimetre\", symbol: \"mm\" },\n nanometre: { name: \"Nanometre\", symbol: \"nm\" },\n nauticalMile: { name: \"Nautical Mile\", symbol: \"nmi\" },\n} as const satisfies Record<string, Unit>\n\nconst powerUnits = {\n britishThermalUnitPerHour: { name: \"British Thermal Unit per Hour\", symbol: \"BTU/h\" },\n gigajoulePerHour: { name: \"Gigajoule per Hour\", symbol: \"GJ/h\" },\n gigawatt: { name: \"Gigawatt\", symbol: \"GW\" },\n horsepower: { name: \"Horsepower\", symbol: \"hp\" },\n joulePerHour: { name: \"Joule per Hour\", symbol: \"J/h\" },\n joulePerSecond: { name: \"Joule per Second\", symbol: \"J/s\" },\n kiloBritishThermalUnitPerHour: { name: \"Kilo British Thermal Unit per Hour\", symbol: \"kBTU/h\" },\n kilojoulePerHour: { name: \"Kilojoule per Hour\", symbol: \"kJ/h\" },\n kilojoulePerSecond: { name: \"Kilojoule per Second\", symbol: \"kJ/s\" },\n kilowatt: { name: \"Kilowatt\", symbol: \"kW\" },\n kilowattHourPerYear: { name: \"Kilowatt Hour per Year\", symbol: \"kWh/yr\" },\n megajoulePerHour: { name: \"Megajoule per Hour\", symbol: \"MJ/h\" },\n megawatt: { name: \"Megawatt\", symbol: \"MW\" },\n microwatt: { name: \"Microwatt\", symbol: \"µW\" },\n milliwatt: { name: \"Milliwatt\", symbol: \"mW\" },\n tonOfRefrigeration: { name: \"Ton of Refrigeration\", symbol: \"TR\" },\n watt: { name: \"Watt\", symbol: \"W\" },\n} as const satisfies Record<string, Unit>\n\nconst unitlessUnits = {\n partsPerBillion: { name: \"Parts per Billion\", symbol: \"ppb\" },\n partsPerMillion: { name: \"Parts per Million\", symbol: \"ppm\" },\n partsPerQuadrillion: { name: \"Parts per Quadrillion\", symbol: \"ppq\" },\n partsPerTrillion: { name: \"Parts per Trillion\", symbol: \"ppt\" },\n percent: { name: \"Percent\", symbol: \"%\" },\n unity: { name: \"Unity\", symbol: \"\" },\n} as const satisfies Record<string, Unit>\n\n// ═════════════════════════════════════════════════════════════\n// Registry\n// ═════════════════════════════════════════════════════════════\n\n/** Complete registry of quantitative types, keyed by semantic type id. */\nexport const quantitativeTypes = {\n Acceleration: {\n name: \"Acceleration\",\n description: \"Rate of change of velocity.\",\n units: {\n centimetrePerSecondSquared: { name: \"Centimetre per Second Squared\", symbol: \"cm/s²\" },\n gForce: { name: \"G-Force\", symbol: \"g\" },\n metrePerSecondSquared: { name: \"Metre per Second Squared\", symbol: \"m/s²\" },\n },\n },\n Angle: {\n name: \"Angle\",\n description: \"Measure of rotation between two rays.\",\n units: angleUnits,\n },\n AngularAcceleration: {\n name: \"Angular Acceleration\",\n description: \"Rate of change of angular velocity.\",\n units: {\n radianPerSecondSquared: { name: \"Radian per Second Squared\", symbol: \"rad/s²\" },\n },\n },\n AngularVelocity: {\n name: \"Angular Velocity\",\n description: \"Rate of rotation around an axis.\",\n units: {\n degreePerSecond: { name: \"Degree per Second\", symbol: \"°/s\" },\n radianPerSecond: { name: \"Radian per Second\", symbol: \"rad/s\" },\n revolutionPerMinute: { name: \"Revolution per Minute\", symbol: \"rpm\" },\n revolutionPerSecond: { name: \"Revolution per Second\", symbol: \"rps\" },\n },\n },\n ApparentEnergy: {\n name: \"Apparent Energy\",\n description: \"Integral of apparent power over time.\",\n units: {\n gigavoltAmpereHour: { name: \"Gigavolt Ampere Hour\", symbol: \"GVAh\" },\n kilovoltAmpereHour: { name: \"Kilovolt Ampere Hour\", symbol: \"kVAh\" },\n megavoltAmpereHour: { name: \"Megavolt Ampere Hour\", symbol: \"MVAh\" },\n voltAmpereHour: { name: \"Volt Ampere Hour\", symbol: \"VAh\" },\n },\n },\n ApparentPower: {\n name: \"Apparent Power\",\n description: \"Product of RMS voltage and RMS current in an AC circuit.\",\n units: {\n gigavoltAmpere: { name: \"Gigavolt Ampere\", symbol: \"GVA\" },\n kilovoltAmpere: { name: \"Kilovolt Ampere\", symbol: \"kVA\" },\n megavoltAmpere: { name: \"Megavolt Ampere\", symbol: \"MVA\" },\n millivoltAmpere: { name: \"Millivolt Ampere\", symbol: \"mVA\" },\n voltAmpere: { name: \"Volt Ampere\", symbol: \"VA\" },\n },\n },\n Area: {\n name: \"Area\",\n description: \"Extent of a two-dimensional surface.\",\n units: {\n acre: { name: \"Acre\", symbol: \"ac\" },\n hectare: { name: \"Hectare\", symbol: \"ha\" },\n squareCentimetre: { name: \"Square Centimetre\", symbol: \"cm²\" },\n squareFoot: { name: \"Square Foot\", symbol: \"ft²\" },\n squareInch: { name: \"Square Inch\", symbol: \"in²\" },\n squareKilometre: { name: \"Square Kilometre\", symbol: \"km²\" },\n squareMetre: { name: \"Square Metre\", symbol: \"m²\" },\n squareMillimetre: { name: \"Square Millimetre\", symbol: \"mm²\" },\n },\n },\n Capacitance: {\n name: \"Capacitance\",\n description: \"Ability to store an electric charge.\",\n units: {\n farad: { name: \"Farad\", symbol: \"F\" },\n microfarad: { name: \"Microfarad\", symbol: \"µF\" },\n millifarad: { name: \"Millifarad\", symbol: \"mF\" },\n nanofarad: { name: \"Nanofarad\", symbol: \"nF\" },\n picofarad: { name: \"Picofarad\", symbol: \"pF\" },\n },\n },\n Concentration: {\n name: \"Concentration\",\n description: \"Amount of substance per unit volume or mass (dimensionless ratio).\",\n units: unitlessUnits,\n },\n Current: {\n name: \"Current\",\n description: \"Flow of electric charge.\",\n units: {\n ampere: { name: \"Ampere\", symbol: \"A\" },\n kiloampere: { name: \"Kiloampere\", symbol: \"kA\" },\n microampere: { name: \"Microampere\", symbol: \"µA\" },\n milliampere: { name: \"Milliampere\", symbol: \"mA\" },\n },\n },\n DataRate: {\n name: \"Data Rate\",\n description: \"Amount of data transferred per unit time.\",\n units: {\n bitPerSecond: { name: \"Bit per Second\", symbol: \"bps\" },\n bytePerSecond: { name: \"Byte per Second\", symbol: \"B/s\" },\n exbibitPerSecond: { name: \"Exbibit per Second\", symbol: \"Eibit/s\" },\n exbibytePerSecond: { name: \"Exbibyte per Second\", symbol: \"EiB/s\" },\n gibibitPerSecond: { name: \"Gibibit per Second\", symbol: \"Gibit/s\" },\n gibibytePerSecond: { name: \"Gibibyte per Second\", symbol: \"GiB/s\" },\n kibibitPerSecond: { name: \"Kibibit per Second\", symbol: \"Kibit/s\" },\n kibibytePerSecond: { name: \"Kibibyte per Second\", symbol: \"KiB/s\" },\n mebibitPerSecond: { name: \"Mebibit per Second\", symbol: \"Mibit/s\" },\n mebibytePerSecond: { name: \"Mebibyte per Second\", symbol: \"MiB/s\" },\n tebibitPerSecond: { name: \"Tebibit per Second\", symbol: \"Tibit/s\" },\n tebibytePerSecond: { name: \"Tebibyte per Second\", symbol: \"TiB/s\" },\n yobibitPerSecond: { name: \"Yobibit per Second\", symbol: \"Yibit/s\" },\n yobibytePerSecond: { name: \"Yobibyte per Second\", symbol: \"YiB/s\" },\n zebibitPerSecond: { name: \"Zebibit per Second\", symbol: \"Zibit/s\" },\n zebibytePerSecond: { name: \"Zebibyte per Second\", symbol: \"ZiB/s\" },\n },\n },\n DataSize: {\n name: \"Data Size\",\n description: \"Amount of digital information.\",\n units: {\n bit: { name: \"Bit\", symbol: \"bit\" },\n byte: { name: \"Byte\", symbol: \"B\" },\n exbibit: { name: \"Exbibit\", symbol: \"Eibit\" },\n exbibyte: { name: \"Exbibyte\", symbol: \"EiB\" },\n gibibit: { name: \"Gibibit\", symbol: \"Gibit\" },\n gibibyte: { name: \"Gibibyte\", symbol: \"GiB\" },\n kibibit: { name: \"Kibibit\", symbol: \"Kibit\" },\n kibibyte: { name: \"Kibibyte\", symbol: \"KiB\" },\n mebibit: { name: \"Mebibit\", symbol: \"Mibit\" },\n mebibyte: { name: \"Mebibyte\", symbol: \"MiB\" },\n tebibit: { name: \"Tebibit\", symbol: \"Tibit\" },\n tebibyte: { name: \"Tebibyte\", symbol: \"TiB\" },\n yobibit: { name: \"Yobibit\", symbol: \"Yibit\" },\n yobibyte: { name: \"Yobibyte\", symbol: \"YiB\" },\n zebibit: { name: \"Zebibit\", symbol: \"Zibit\" },\n zebibyte: { name: \"Zebibyte\", symbol: \"ZiB\" },\n },\n },\n Density: {\n name: \"Density\",\n description: \"Mass per unit volume.\",\n units: densityUnits,\n },\n Distance: {\n name: \"Distance\",\n description: \"Scalar measure of how far apart two points are.\",\n units: lengthUnits,\n },\n ElectricCharge: {\n name: \"Electric Charge\",\n description: \"Quantity of electric charge.\",\n units: {\n ampereHour: { name: \"Ampere Hour\", symbol: \"Ah\" },\n coulomb: { name: \"Coulomb\", symbol: \"C\" },\n milliampereHour: { name: \"Milliampere Hour\", symbol: \"mAh\" },\n },\n },\n Energy: {\n name: \"Energy\",\n description: \"Capacity to do work.\",\n units: {\n britishThermalUnit: { name: \"British Thermal Unit\", symbol: \"BTU\" },\n electronvolt: { name: \"Electronvolt\", symbol: \"eV\" },\n gigajoule: { name: \"Gigajoule\", symbol: \"GJ\" },\n gigawattHour: { name: \"Gigawatt Hour\", symbol: \"GWh\" },\n joule: { name: \"Joule\", symbol: \"J\" },\n kiloBritishThermalUnit: { name: \"Kilo British Thermal Unit\", symbol: \"kBTU\" },\n kilojoule: { name: \"Kilojoule\", symbol: \"kJ\" },\n kilowattHour: { name: \"Kilowatt Hour\", symbol: \"kWh\" },\n megaelectronvolt: { name: \"Megaelectronvolt\", symbol: \"MeV\" },\n megajoule: { name: \"Megajoule\", symbol: \"MJ\" },\n megawattHour: { name: \"Megawatt Hour\", symbol: \"MWh\" },\n milliwattHour: { name: \"Milliwatt Hour\", symbol: \"mWh\" },\n terawattHour: { name: \"Terawatt Hour\", symbol: \"TWh\" },\n wattHour: { name: \"Watt Hour\", symbol: \"Wh\" },\n },\n },\n EnergyRate: {\n name: \"Energy Rate\",\n description: \"Rate of energy transfer or conversion.\",\n units: powerUnits,\n },\n Force: {\n name: \"Force\",\n description: \"Interaction that changes the motion of an object.\",\n units: forceUnits,\n },\n Frequency: {\n name: \"Frequency\",\n description: \"Number of occurrences per unit time.\",\n units: {\n gigahertz: { name: \"Gigahertz\", symbol: \"GHz\" },\n hertz: { name: \"Hertz\", symbol: \"Hz\" },\n kilohertz: { name: \"Kilohertz\", symbol: \"kHz\" },\n megahertz: { name: \"Megahertz\", symbol: \"MHz\" },\n millihertz: { name: \"Millihertz\", symbol: \"mHz\" },\n },\n },\n Humidity: {\n name: \"Humidity\",\n description: \"Absolute moisture content expressed as mass per volume.\",\n units: densityUnits,\n },\n Illuminance: {\n name: \"Illuminance\",\n description: \"Luminous flux incident on a surface per unit area.\",\n units: {\n footcandle: { name: \"Footcandle\", symbol: \"fc\" },\n lux: { name: \"Lux\", symbol: \"lx\" },\n },\n },\n Inductance: {\n name: \"Inductance\",\n description: \"Property of a conductor to oppose change in current.\",\n units: {\n henry: { name: \"Henry\", symbol: \"H\" },\n microhenry: { name: \"Microhenry\", symbol: \"µH\" },\n millihenry: { name: \"Millihenry\", symbol: \"mH\" },\n },\n },\n IonizingRadiationDose: {\n name: \"Ionizing Radiation Dose\",\n description: \"Absorbed dose of ionizing radiation.\",\n units: {\n gray: { name: \"Gray\", symbol: \"Gy\" },\n microgray: { name: \"Microgray\", symbol: \"µGy\" },\n microsievert: { name: \"Microsievert\", symbol: \"µSv\" },\n milligray: { name: \"Milligray\", symbol: \"mGy\" },\n millisievert: { name: \"Millisievert\", symbol: \"mSv\" },\n sievert: { name: \"Sievert\", symbol: \"Sv\" },\n },\n },\n Irradiance: {\n name: \"Irradiance\",\n description: \"Power of electromagnetic radiation per unit area.\",\n units: {\n wattPerSquareMetre: { name: \"Watt per Square Metre\", symbol: \"W/m²\" },\n },\n },\n Latitude: {\n name: \"Latitude\",\n description: \"Angular distance north or south of the equator.\",\n units: angleUnits,\n },\n Length: {\n name: \"Length\",\n description: \"Measure of a one-dimensional extent.\",\n units: lengthUnits,\n },\n Longitude: {\n name: \"Longitude\",\n description: \"Angular distance east or west of the prime meridian.\",\n units: angleUnits,\n },\n Luminance: {\n name: \"Luminance\",\n description: \"Luminous intensity per unit area of light in a given direction.\",\n units: {\n candelaPerSquareMetre: { name: \"Candela per Square Metre\", symbol: \"cd/m²\" },\n },\n },\n Luminosity: {\n name: \"Luminosity\",\n description: \"Total amount of electromagnetic energy emitted per unit time.\",\n units: powerUnits,\n },\n LuminousFlux: {\n name: \"Luminous Flux\",\n description: \"Total quantity of visible light emitted by a source.\",\n units: {\n lumen: { name: \"Lumen\", symbol: \"lm\" },\n },\n },\n LuminousIntensity: {\n name: \"Luminous Intensity\",\n description: \"Luminous flux emitted per unit solid angle.\",\n units: {\n candela: { name: \"Candela\", symbol: \"cd\" },\n },\n },\n MagneticFlux: {\n name: \"Magnetic Flux\",\n description: \"Total magnetic field passing through an area.\",\n units: {\n maxwell: { name: \"Maxwell\", symbol: \"Mx\" },\n weber: { name: \"Weber\", symbol: \"Wb\" },\n },\n },\n MagneticInduction: {\n name: \"Magnetic Induction\",\n description: \"Magnetic flux density.\",\n units: {\n gauss: { name: \"Gauss\", symbol: \"G\" },\n tesla: { name: \"Tesla\", symbol: \"T\" },\n },\n },\n Mass: {\n name: \"Mass\",\n description: \"Quantity of matter.\",\n units: {\n gram: { name: \"Gram\", symbol: \"g\" },\n kilogram: { name: \"Kilogram\", symbol: \"kg\" },\n massPound: { name: \"Pound (mass)\", symbol: \"lb\" },\n microgram: { name: \"Microgram\", symbol: \"µg\" },\n milligram: { name: \"Milligram\", symbol: \"mg\" },\n slug: { name: \"Slug\", symbol: \"slug\" },\n tonne: { name: \"Tonne\", symbol: \"t\" },\n },\n },\n MassFlowRate: {\n name: \"Mass Flow Rate\",\n description: \"Mass of substance passing a point per unit time.\",\n units: {\n gramPerHour: { name: \"Gram per Hour\", symbol: \"g/h\" },\n gramPerSecond: { name: \"Gram per Second\", symbol: \"g/s\" },\n kilogramPerHour: { name: \"Kilogram per Hour\", symbol: \"kg/h\" },\n kilogramPerSecond: { name: \"Kilogram per Second\", symbol: \"kg/s\" },\n massPoundPerHour: { name: \"Pound per Hour\", symbol: \"lb/h\" },\n },\n },\n Power: {\n name: \"Power\",\n description: \"Rate of energy transfer or work.\",\n units: powerUnits,\n },\n Pressure: {\n name: \"Pressure\",\n description: \"Force applied per unit area.\",\n units: {\n bar: { name: \"Bar\", symbol: \"bar\" },\n decapascal: { name: \"Decapascal\", symbol: \"daPa\" },\n hectopascal: { name: \"Hectopascal\", symbol: \"hPa\" },\n inchesOfMercury: { name: \"Inches of Mercury\", symbol: \"inHg\" },\n inchesOfWater: { name: \"Inches of Water\", symbol: \"inH₂O\" },\n kilopascal: { name: \"Kilopascal\", symbol: \"kPa\" },\n millibar: { name: \"Millibar\", symbol: \"mbar\" },\n millimetresOfMercury: { name: \"Millimetres of Mercury\", symbol: \"mmHg\" },\n pascal: { name: \"Pascal\", symbol: \"Pa\" },\n poundPerSquareInch: { name: \"Pound per Square Inch\", symbol: \"psi\" },\n },\n },\n Radioactivity: {\n name: \"Radioactivity\",\n description: \"Rate of radioactive decay.\",\n units: {\n becquerel: { name: \"Becquerel\", symbol: \"Bq\" },\n gigabecquerel: { name: \"Gigabecquerel\", symbol: \"GBq\" },\n kilobecquerel: { name: \"Kilobecquerel\", symbol: \"kBq\" },\n megabecquerel: { name: \"Megabecquerel\", symbol: \"MBq\" },\n },\n },\n ReactiveEnergy: {\n name: \"Reactive Energy\",\n description: \"Integral of reactive power over time.\",\n units: {\n gigavoltAmpereReactiveHour: { name: \"Gigavolt Ampere Reactive Hour\", symbol: \"GVARh\" },\n kilovoltAmpereReactiveHour: { name: \"Kilovolt Ampere Reactive Hour\", symbol: \"kVARh\" },\n megavoltAmpereReactiveHour: { name: \"Megavolt Ampere Reactive Hour\", symbol: \"MVARh\" },\n voltAmpereReactiveHour: { name: \"Volt Ampere Reactive Hour\", symbol: \"VARh\" },\n },\n },\n ReactivePower: {\n name: \"Reactive Power\",\n description: \"Power oscillating between source and load in an AC circuit.\",\n units: {\n gigavoltAmpereReactive: { name: \"Gigavolt Ampere Reactive\", symbol: \"GVAR\" },\n kilovoltAmpereReactive: { name: \"Kilovolt Ampere Reactive\", symbol: \"kVAR\" },\n megavoltAmpereReactive: { name: \"Megavolt Ampere Reactive\", symbol: \"MVAR\" },\n millivoltAmpereReactive: { name: \"Millivolt Ampere Reactive\", symbol: \"mVAR\" },\n voltAmpereReactive: { name: \"Volt Ampere Reactive\", symbol: \"VAR\" },\n },\n },\n RelativeDensity: {\n name: \"Relative Density\",\n description: \"Ratio of a substance's density to a reference substance.\",\n units: unitlessUnits,\n },\n RelativeHumidity: {\n name: \"Relative Humidity\",\n description: \"Ratio of current moisture content to saturation capacity.\",\n units: unitlessUnits,\n },\n Resistance: {\n name: \"Resistance\",\n description: \"Opposition to flow of electric current.\",\n units: {\n kiloohm: { name: \"Kiloohm\", symbol: \"kΩ\" },\n megaohm: { name: \"Megaohm\", symbol: \"MΩ\" },\n milliohm: { name: \"Milliohm\", symbol: \"mΩ\" },\n ohm: { name: \"Ohm\", symbol: \"Ω\" },\n },\n },\n SoundPressure: {\n name: \"Sound Pressure\",\n description: \"Local pressure deviation from ambient caused by sound.\",\n units: {\n bel: { name: \"Bel\", symbol: \"B\" },\n decibel: { name: \"Decibel\", symbol: \"dB\" },\n },\n },\n Temperature: {\n name: \"Temperature\",\n description: \"Degree of hotness or coldness.\",\n units: {\n degreeCelsius: { name: \"Degree Celsius\", symbol: \"°C\" },\n degreeFahrenheit: { name: \"Degree Fahrenheit\", symbol: \"°F\" },\n kelvin: { name: \"Kelvin\", symbol: \"K\" },\n },\n },\n Thrust: {\n name: \"Thrust\",\n description: \"Reaction force from expelling mass.\",\n units: forceUnits,\n },\n TimeSpan: {\n name: \"Time Span\",\n description: \"Duration of time (numeric, not ISO 8601 calendar duration).\",\n units: {\n day: { name: \"Day\", symbol: \"d\" },\n hour: { name: \"Hour\", symbol: \"h\" },\n microsecond: { name: \"Microsecond\", symbol: \"µs\" },\n millisecond: { name: \"Millisecond\", symbol: \"ms\" },\n minute: { name: \"Minute\", symbol: \"min\" },\n nanosecond: { name: \"Nanosecond\", symbol: \"ns\" },\n second: { name: \"Second\", symbol: \"s\" },\n year: { name: \"Year\", symbol: \"yr\" },\n },\n },\n Torque: {\n name: \"Torque\",\n description: \"Rotational force.\",\n units: {\n newtonMetre: { name: \"Newton Metre\", symbol: \"N·m\" },\n },\n },\n Velocity: {\n name: \"Velocity\",\n description: \"Speed in a given direction.\",\n units: {\n centimetrePerSecond: { name: \"Centimetre per Second\", symbol: \"cm/s\" },\n kilometrePerHour: { name: \"Kilometre per Hour\", symbol: \"km/h\" },\n kilometrePerSecond: { name: \"Kilometre per Second\", symbol: \"km/s\" },\n knot: { name: \"Knot\", symbol: \"kn\" },\n metrePerHour: { name: \"Metre per Hour\", symbol: \"m/h\" },\n metrePerSecond: { name: \"Metre per Second\", symbol: \"m/s\" },\n milePerHour: { name: \"Mile per Hour\", symbol: \"mph\" },\n milePerSecond: { name: \"Mile per Second\", symbol: \"mi/s\" },\n },\n },\n Voltage: {\n name: \"Voltage\",\n description: \"Electric potential difference.\",\n units: {\n kilovolt: { name: \"Kilovolt\", symbol: \"kV\" },\n megavolt: { name: \"Megavolt\", symbol: \"MV\" },\n microvolt: { name: \"Microvolt\", symbol: \"µV\" },\n millivolt: { name: \"Millivolt\", symbol: \"mV\" },\n volt: { name: \"Volt\", symbol: \"V\" },\n },\n },\n Volume: {\n name: \"Volume\",\n description: \"Extent of a three-dimensional space.\",\n units: {\n cubicCentimetre: { name: \"Cubic Centimetre\", symbol: \"cm³\" },\n cubicFoot: { name: \"Cubic Foot\", symbol: \"ft³\" },\n cubicInch: { name: \"Cubic Inch\", symbol: \"in³\" },\n cubicMetre: { name: \"Cubic Metre\", symbol: \"m³\" },\n fluidOunce: { name: \"Fluid Ounce\", symbol: \"fl oz\" },\n gallon: { name: \"Gallon\", symbol: \"gal\" },\n litre: { name: \"Litre\", symbol: \"L\" },\n millilitre: { name: \"Millilitre\", symbol: \"mL\" },\n },\n },\n VolumeFlowRate: {\n name: \"Volume Flow Rate\",\n description: \"Volume of fluid passing a point per unit time.\",\n units: {\n cubicFootPerMinute: { name: \"Cubic Foot per Minute\", symbol: \"cfm\" },\n cubicMetrePerHour: { name: \"Cubic Metre per Hour\", symbol: \"m³/h\" },\n cubicMetrePerMinute: { name: \"Cubic Metre per Minute\", symbol: \"m³/min\" },\n cubicMetrePerSecond: { name: \"Cubic Metre per Second\", symbol: \"m³/s\" },\n gallonPerHour: { name: \"Gallon per Hour\", symbol: \"gal/h\" },\n gallonPerMinute: { name: \"Gallon per Minute\", symbol: \"gal/min\" },\n litrePerHour: { name: \"Litre per Hour\", symbol: \"L/h\" },\n litrePerMinute: { name: \"Litre per Minute\", symbol: \"L/min\" },\n litrePerSecond: { name: \"Litre per Second\", symbol: \"L/s\" },\n millilitrePerHour: { name: \"Millilitre per Hour\", symbol: \"mL/h\" },\n millilitrePerMinute: { name: \"Millilitre per Minute\", symbol: \"mL/min\" },\n millilitrePerSecond: { name: \"Millilitre per Second\", symbol: \"mL/s\" },\n },\n },\n} as const satisfies Record<string, QuantitativeType>\n\n// ═════════════════════════════════════════════════════════════\n// Derived types\n// ═════════════════════════════════════════════════════════════\n\n/** Union of all quantitative type identifiers (semantic type ids). */\nexport type QuantitativeTypeId = keyof typeof quantitativeTypes\n\n/**\n * Extract the unit id union for a given quantitative type.\n *\n * @example\n * ```ts\n * type T = UnitsOf<\"Temperature\">\n * // => \"degreeCelsius\" | \"degreeFahrenheit\" | \"kelvin\"\n * ```\n */\nexport type UnitsOf<Q extends QuantitativeTypeId> = keyof (typeof quantitativeTypes)[Q][\"units\"]\n\n/** Union of every unit id across all quantitative types. */\nexport type UnitId = {\n [Q in QuantitativeTypeId]: UnitsOf<Q>\n}[QuantitativeTypeId]\n",
11
+ "/**\n * Sixb Quantitative Types — public API.\n *\n * Two concepts:\n * - **QuantitativeType** — a physical quantity with its valid units.\n * - **Unit** — a specific unit of measurement.\n *\n * ```ts\n * import { quantitativeTypes, getUnit, isValidUnit } from \"@sixb/core\"\n *\n * // Browse what's available\n * quantitativeTypes.Temperature.units.degreeCelsius.symbol // \"°C\"\n *\n * // Validate a unit against a quantity\n * isValidUnit(\"Temperature\", \"degreeCelsius\") // true\n * isValidUnit(\"Temperature\", \"millibar\") // false\n * ```\n */\n\n// ── Core interfaces ─────────────────────────────────────────\n\nexport type { QuantitativeType, Unit } from \"./types\"\n\n// ── Registry + derived types ────────────────────────────────\n\nexport type { QuantitativeTypeId, UnitId, UnitsOf } from \"./quantitative-types\"\nexport { quantitativeTypes } from \"./quantitative-types\"\n\n// ── Helper functions ────────────────────────────────────────\n\nimport type { QuantitativeTypeId, UnitId } from \"./quantitative-types\"\nimport { quantitativeTypes } from \"./quantitative-types\"\nimport type { Unit } from \"./types\"\n\n/** Flat lookup: unit id → { unit data, quantitative type id }. Built once on import. */\nconst unitIndex: Map<string, Unit & { quantitativeTypeId: string }> = new Map()\n\nfor (const [qtId, qt] of Object.entries(quantitativeTypes)) {\n for (const [unitId, unit] of Object.entries(qt.units)) {\n // A unit id may appear under multiple quantities (e.g. densityUnits).\n // Store the first occurrence; the data is identical since they share the\n // same const object.\n if (!unitIndex.has(unitId)) {\n unitIndex.set(unitId, { ...unit, quantitativeTypeId: qtId })\n }\n }\n}\n\n/**\n * Look up a unit by its id.\n *\n * @example\n * ```ts\n * const u = getUnit(\"degreeCelsius\")\n * // => { name: \"Degree Celsius\", symbol: \"°C\", quantitativeTypeId: \"Temperature\" }\n * ```\n */\nexport function getUnit(unitId: string): (Unit & { quantitativeTypeId: string }) | undefined {\n return unitIndex.get(unitId)\n}\n\n/**\n * Get the record of valid units for a quantitative type.\n *\n * @example\n * ```ts\n * const units = getUnitsFor(\"Temperature\")\n * // => { degreeCelsius: { … }, degreeFahrenheit: { … }, kelvin: { … } }\n * ```\n */\nexport function getUnitsFor(quantitativeTypeId: string): Record<string, Unit> | undefined {\n const qt = quantitativeTypes[quantitativeTypeId as QuantitativeTypeId]\n return qt?.units as Record<string, Unit> | undefined\n}\n\n/**\n * Check whether a unit id is valid for a given quantitative type.\n *\n * @example\n * ```ts\n * isValidUnit(\"Temperature\", \"degreeCelsius\") // true\n * isValidUnit(\"Temperature\", \"millibar\") // false\n * ```\n */\nexport function isValidUnit(quantitativeTypeId: string, unitId: string): boolean {\n const units = getUnitsFor(quantitativeTypeId)\n return units != null && unitId in units\n}\n\n/**\n * Get the display symbol for a unit id.\n *\n * @example\n * ```ts\n * getUnitSymbol(\"degreeCelsius\") // \"°C\"\n * getUnitSymbol(\"unknown\") // undefined\n * ```\n */\nexport function getUnitSymbol(unitId: string): string | undefined {\n return unitIndex.get(unitId)?.symbol\n}\n\n/**\n * Type guard: checks if a string is a valid `QuantitativeTypeId`.\n */\nexport function isQuantitativeTypeId(value: string): value is QuantitativeTypeId {\n return value in quantitativeTypes\n}\n\n/**\n * Type guard: checks if a string is a valid `UnitId`.\n */\nexport function isUnitId(value: string): value is UnitId {\n return unitIndex.has(value)\n}\n",
12
+ "import type { Property, ValueType } from \"..\"\nimport { OntologyValidationError } from \"../errors\"\nimport type { QuantitativeTypeId } from \"../units\"\nimport { isValidUnit } from \"../units\"\nimport { resolveValueTypeRef } from \"./schema\"\n\nexport function assertTelemetryProperty(property: Property): void {\n if (property.mode !== \"telemetry\") {\n throw new OntologyValidationError(`[Sixb] Property ${property.id} is not telemetry-enabled`)\n }\n}\n\nexport function resolveSemanticType(\n property: Property,\n valueTypesById: ReadonlyMap<string, ValueType>\n): QuantitativeTypeId | undefined {\n if (property.semanticType) {\n return property.semanticType\n }\n\n const valueTypeId = resolveValueTypeRef(property.schema)\n if (!valueTypeId) {\n return undefined\n }\n\n return valueTypesById.get(valueTypeId)?.semanticType\n}\n\n/** Validates that unit is present/absent based on semantic type, and that it's a valid unit. */\nexport function validateTelemetryUnit(\n property: Property,\n propertyPath: string,\n unit: string | undefined,\n valueTypesById: ReadonlyMap<string, ValueType>\n): void {\n const semanticType = resolveSemanticType(property, valueTypesById)\n if (semanticType) {\n if (!unit) {\n throw new OntologyValidationError(\n `[Sixb] Missing unit for telemetry property ${propertyPath}`\n )\n }\n if (!isValidUnit(semanticType, unit)) {\n throw new OntologyValidationError(\n `[Sixb] Invalid unit '${unit}' for ${propertyPath} (${semanticType})`\n )\n }\n } else if (unit) {\n throw new OntologyValidationError(\n `[Sixb] Property ${propertyPath} does not define semanticType and cannot accept a unit`\n )\n }\n}\n"
13
+ ],
14
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAOO,SAAS,oBAAmB,CACjC,QACA,OACA,MACA,gBACA,iBAAiB,MACX;AAAA,EACN,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,QAAQ;AAAA,WACD;AAAA,WACA,QAAQ;AAAA,QACX,IAAI,OAAO,UAAU,UAAU;AAAA,UAC7B,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,uBAAuB,GACtE,YAAY,kCACd;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,WACK,WAAW;AAAA,QACd,IAAI,OAAO,UAAU,WAAW;AAAA,UAC9B,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,wBAAwB,GACvE,YAAY,mCACd;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,WACK,WAAW;AAAA,QACd,IAAI,OAAO,UAAU,YAAY,CAAC,OAAO,UAAU,KAAK,GAAG;AAAA,UACzD,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,yBAAyB,GACxE,YAAY,oCACd;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,WACK,UAAU;AAAA,QACb,IAAI,OAAO,UAAU,YAAY,CAAC,OAAO,SAAS,KAAK,GAAG;AAAA,UACxD,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,sBAAsB,GACrE,YAAY,iCACd;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,WACK,WAAW;AAAA,QACd,IAAI,CAAC,iBAAgB,KAAK,GAAG;AAAA,UAC3B,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,sCAAsC,GACrF,YAAY,iDACd;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,WACK;AAAA,WACA,aAAa;AAAA,QAChB,IAAI,EAAE,iBAAiB,SAAS,OAAO,UAAU,UAAU;AAAA,UACzD,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,mCAAmC,GAClF,YAAY,8CACd;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,WACK,WAAW;AAAA,QACd,IAAI,CAAC,WAAU,KAAK,GAAG;AAAA,UACrB,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,wBAAwB,GACvE,YAAY,mCACd;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA;AAAA,EAEJ;AAAA,EAEA,IAAI,OAAO,SAAS,QAAQ;AAAA,IAC1B,IAAI,CAAC,OAAO,OAAO,SAAS,KAAc,GAAG;AAAA,MAC3C,MAAM,mBACJ,IAAI,yBACF,mBAAmB,wBAAwB,OAAO,OAAO,KAAK,IAAI,GACpE,GACA,YAAY,kDACd;AAAA,IACF;AAAA,IACA;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,SAAS;AAAA,IAC3B,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAAA,MACzB,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,uBAAuB,GACtE,YAAY,kCACd;AAAA,IACF;AAAA,IACA,SAAS,QAAQ,EAAG,QAAQ,MAAM,QAAQ,SAAS,GAAG;AAAA,MACpD,qBACE,OAAO,OACP,MAAM,QACN,GAAG,QAAQ,UACX,gBACA,GAAG,kBAAkB,QACvB;AAAA,IACF;AAAA,IACA;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,OAAO;AAAA,IACzB,IAAI,CAAC,UAAS,KAAK,GAAG;AAAA,MACpB,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,4BAA4B,GAC3E,YAAY,uCACd;AAAA,IACF;AAAA,IACA,YAAY,KAAK,UAAU,OAAO,QAAQ,KAAK,GAAG;AAAA,MAChD,qBACE,OAAO,aACP,OACA,GAAG,QAAQ,OACX,gBACA,GAAG,kBACL;AAAA,IACF;AAAA,IACA;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,UAAU;AAAA,IAC5B,IAAI,CAAC,UAAS,KAAK,GAAG;AAAA,MACpB,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,wBAAwB,GACvE,YAAY,mCACd;AAAA,IACF;AAAA,IAEA,MAAM,SAAS,OAAO;AAAA,IACtB,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,MAAM,CAAC;AAAA,IAC5C,WAAW,WAAW,OAAO,KAAK,KAAK,GAAG;AAAA,MACxC,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG;AAAA,QAC1B,MAAM,mBACJ,IAAI,yBAAwB,yBAAyB,QAAQ,UAAU,GACvE,UAAU,8CACZ;AAAA,MACF;AAAA,IACF;AAAA,IAEA,YAAY,SAAS,UAAU,OAAO,QAAQ,MAAM,GAAG;AAAA,MACrD,MAAM,aAAa,MAAM;AAAA,MACzB,IAAI,eAAe,WAAW;AAAA,QAC5B,IAAI,MAAM,UAAU;AAAA,UAClB,MAAM,mBACJ,IAAI,yBAAwB,kCAAkC,QAAQ,UAAU,GAChF,2BAA2B,kBAAkB,WAC/C;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,MAEA,mBACE,OACA,YACA,GAAG,QAAQ,WACX,gBACA,GAAG,kBAAkB,SACvB;AAAA,IACF;AAAA,IACA;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,gBAAgB;AAAA,IAClC,qBACE,wBAAuB,QAAQ,gBAAgB,IAAI,GACnD,OACA,MACA,gBACA,cACF;AAAA,EACF;AAAA;AAGF,SAAS,kBAAkB,CACzB,OACA,OACA,MACA,gBACA,iBAAiB,MACX;AAAA,EACN,IAAI,UAAU,MAAM;AAAA,IAClB,IAAI,MAAM,UAAU;AAAA,MAClB;AAAA,IACF;AAAA,IACA,MAAM,mBACJ,IAAI,yBAAwB,gBAAgB,qBAAqB,GACjE,SAAS,gCACX;AAAA,EACF;AAAA,EAEA,qBAAoB,MAAM,QAAQ,OAAO,MAAM,gBAAgB,cAAc;AAAA;AAGxE,SAAS,oBAAmB,CAAC,QAAoC;AAAA,EACtE,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,gBAAgB;AAAA,IAClC,OAAO,OAAO;AAAA,EAChB;AAAA,EAEA;AAAA;AAGK,SAAS,uBAAsB,CACpC,QACA,gBACA,MACQ;AAAA,EACR,MAAM,WAAW,OAAO,aAAa,eAAe,IAAI,OAAO,WAAW,GAAG;AAAA,EAC7E,IAAI,CAAC,UAAU;AAAA,IACb,MAAM,IAAI,yBACR,gCAAgC,OAAO,mBAAmB,MAC5D;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,SAAQ,CAAC,OAAkD;AAAA,EACzE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAAA;;;AC5NrE,SAAS,0BAAyB,CACvC,aACA,YACA,gBACA,MAC2B;AAAA,EAC3B,MAAM,aAAwC,CAAC;AAAA,EAC/C,YAAY,YAAY,UAAU,OAAO,QAAQ,UAAU,GAAG;AAAA,IAC5D,MAAM,WAAW,YAAY,KAAK,CAAC,cAAc,UAAU,OAAO,UAAU;AAAA,IAC5E,IAAI,CAAC;AAAA,MAAU;AAAA,IACf,WAAW,cACT,UAAU,OACN,OACA,sBAAqB,SAAS,QAAQ,OAAO,GAAG,QAAQ,cAAc,cAAc;AAAA,EAC5F;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,qBAAoB,CAClC,QACA,OACA,MACA,gBACW;AAAA,EACX,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,QAAQ;AAAA,WACD;AAAA,QACH,OAAO,mBAAmB,OAAO,IAAI;AAAA,WAClC;AAAA,QACH,OAAO,wBAAwB,OAAO,IAAI;AAAA,WACvC;AAAA,QACH,OAAO,iBAAiB,OAAO,IAAI;AAAA;AAAA,QAEnC,iBAAgB,OAAO,IAAI;AAAA,QAC3B,OAAO,gBAAe,KAAK;AAAA;AAAA,EAEjC;AAAA,EAEA,IAAI,OAAO,SAAS,gBAAgB;AAAA,IAClC,OAAO,sBACL,wBAAuB,QAAQ,gBAAgB,IAAI,GACnD,OACA,MACA,cACF;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,QAAQ;AAAA,IAC1B,iBAAgB,OAAO,IAAI;AAAA,IAC3B,OAAO,gBAAe,KAAK;AAAA,EAC7B;AAAA,EAEA,IAAI,OAAO,SAAS,SAAS;AAAA,IAC3B,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAAA,MACzB,MAAM,IAAI,yBAAwB,mBAAmB,uBAAuB;AAAA,IAC9E;AAAA,IACA,OAAQ,MAA6B,IAAI,CAAC,OAAO,UAC/C,sBAAqB,OAAO,OAAO,OAAO,GAAG,QAAQ,UAAU,cAAc,CAC/E;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,OAAO;AAAA,IACzB,MAAM,SAAS,kBAAkB,OAAO,IAAI;AAAA,IAC5C,MAAM,UAAU,OAAO,QAAQ,MAAM,EAAE,IAAI,EAAE,KAAK,WAAW;AAAA,MAC3D;AAAA,MACA,sBAAqB,OAAO,aAAa,OAAO,GAAG,QAAQ,OAAO,cAAc;AAAA,IAClF,CAAC;AAAA,IACD,OAAO,OAAO,YAAY,OAAO;AAAA,EACnC;AAAA,EAEA,MAAM,SAAS,OAAO;AAAA,EACtB,MAAM,SAAS,kBAAkB,OAAO,IAAI;AAAA,EAC5C,MAAM,UAAsC,CAAC;AAAA,EAC7C,YAAY,SAAS,UAAU,OAAO,QAAQ,MAAM,GAAG;AAAA,IACrD,MAAM,aAAa,OAAO;AAAA,IAC1B,IAAI,eAAe,WAAW;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,QAAQ,KAAK;AAAA,MACX;AAAA,MACA,0BAA0B,OAAO,YAAY,GAAG,QAAQ,WAAW,cAAc;AAAA,IACnF,CAAC;AAAA,EACH;AAAA,EACA,OAAO,OAAO,YAAY,OAAO;AAAA;AAGnC,SAAS,yBAAyB,CAChC,OACA,OACA,MACA,gBACW;AAAA,EACX,IAAI,UAAU,MAAM;AAAA,IAClB,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,sBAAqB,MAAM,QAAQ,OAAO,MAAM,cAAc;AAAA;AAGvE,SAAS,iBAAiB,CAAC,OAAgB,MAAuC;AAAA,EAChF,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,MAAM,QAAQ,KAAK,GAAG;AAAA,IACvE,MAAM,IAAI,yBAAwB,mBAAmB,wBAAwB;AAAA,EAC/E;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,kBAAkB,CAAC,OAAgB,MAAsB;AAAA,EAChE,MAAM,OAAO,kBAAkB,OAAO,IAAI;AAAA,EAC1C,OAAO,KAAK,YAAY,EAAE,MAAM,GAAG,EAAE;AAAA;AAGvC,SAAS,uBAAuB,CAAC,OAAgB,MAAsB;AAAA,EACrE,OAAO,kBAAkB,OAAO,IAAI,EAAE,YAAY;AAAA;AAGpD,SAAS,gBAAgB,CAAC,OAAgB,MAAsB;AAAA,EAC9D,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,MAAM,IAAI,yBAAwB,mBAAmB,sCAAsC;AAAA,EAC7F;AAAA,EAEA,IAAI;AAAA,IACF,OAAO,uBAAsB,KAAK;AAAA,IAClC,MAAM;AAAA,IACN,MAAM,IAAI,yBAAwB,mBAAmB,sCAAsC;AAAA;AAAA;AAI/F,SAAS,iBAAiB,CAAC,OAAgB,MAAoB;AAAA,EAC7D,MAAM,OAAO,iBAAiB,OAAO,QAAQ,IAAI,KAAK,OAAO,KAAK,CAAC;AAAA,EACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG;AAAA,IAChC,MAAM,IAAI,yBAAwB,mBAAmB,2BAA2B;AAAA,EAClF;AAAA,EACA,OAAO;AAAA;AAUF,SAAS,yBAAwB,CACtC,QACA,OACA,gBACS;AAAA,EACT,IAAI,UAAU,QAAQ,UAAU,WAAW;AAAA,IACzC,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,IAAI,WAAW,UAAU,WAAW,aAAa;AAAA,MAC/C,OAAO,iBAAiB,OAAO,QAAQ,IAAI,KAAK,OAAO,KAAK,CAAC;AAAA,IAC/D;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,gBAAgB;AAAA,IAClC,OAAO,0BACL,wBAAuB,QAAQ,gBAAgB,EAAE,GACjD,OACA,cACF;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,QAAQ;AAAA,IAC1B,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,SAAS;AAAA,IAC3B,IAAI,CAAC,MAAM,QAAQ,KAAK;AAAA,MAAG,OAAO;AAAA,IAClC,OAAQ,MAA6B,IAAI,CAAC,UACxC,0BAAyB,OAAO,OAAO,OAAO,cAAc,CAC9D;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,OAAO;AAAA,IACzB,IAAI,CAAC,UAAS,KAAK;AAAA,MAAG,OAAO;AAAA,IAC7B,OAAO,OAAO,YACZ,OAAO,QAAQ,KAAK,EAAE,IAAI,EAAE,KAAK,WAAW;AAAA,MAC1C;AAAA,MACA,0BAAyB,OAAO,aAAa,OAAO,cAAc;AAAA,IACpE,CAAC,CACH;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,UAAS,KAAK;AAAA,IAAG,OAAO;AAAA,EAC7B,MAAM,SAAkC,KAAK,MAAM;AAAA,EACnD,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,UAAU,GAAG;AAAA,IAChE,IAAI,MAAM,aAAa;AAAA,MAAW;AAAA,IAClC,OAAO,WAAW,0BAAyB,MAAM,QAAQ,MAAM,UAAU,cAAc;AAAA,EACzF;AAAA,EACA,OAAO;AAAA;;;ACzMF,SAAS,2BAA0B,CACxC,iBACA,YACM;AAAA,EACN,IAAI,CAAC,gBAAgB,IAAI,WAAW,EAAE,GAAG;AAAA,IACvC,MAAM,IAAI,yBACR,yDAAyD,WAAW,IACtE;AAAA,EACF;AAAA;AAGK,SAAS,uCAAsC,CACpD,YACA,UACM;AAAA,EACN,IAAI,SAAS,iBAAiB,WAAW,IAAI;AAAA,IAC3C,MAAM,IAAI,yBACR,yBAAyB,SAAS,gBAAgB,SAAS,0BAA0B,WAAW,IAClG;AAAA,EACF;AAAA;AAGK,SAAS,mCAAkC,CAChD,YACA,MACmF;AAAA,EACnF,IAAI,CAAC,gBAAgB,IAAI,GAAG;AAAA,IAC1B,MAAM,IAAI,yBACR,qCAAqC,WAAW,qCAClD;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,iBAAiB,WAAW,IAAI;AAAA,IACvC,MAAM,IAAI,yBACR,qBAAqB,KAAK,gBAAgB,KAAK,0BAA0B,WAAW,IACtF;AAAA,EACF;AAAA;AAGF,SAAS,eAAe,CACtB,OAC4E;AAAA,EAC5E,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,IAAM,OAAO;AAAA,EACxD,IACE,EAAE,kBAAkB,UACpB,EAAE,QAAQ,UACV,EAAE,wBAAwB,UAC1B,EAAE,UAAU,QACZ;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,OACE,OAAO,MAAM,iBAAiB,YAC9B,OAAO,MAAM,OAAO,YACpB,mBAAmB,MAAM,kBAAkB,KAC3C,OAAO,MAAM,SAAS,YACtB,MAAM,SAAS;AAAA;AAInB,SAAS,kBAAkB,CAAC,OAAqD;AAAA,EAC/E,OAAO,OAAO,UAAU,YAAa,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,QAAQ;AAAA;AAGnF,SAAS,QAAQ,CAAC,OAAiC;AAAA,EACjD,OAAO,OAAO,UAAU;AAAA;AAGnB,SAAS,sBAAqB,CACnC,YACA,YACM;AAAA,EACN,MAAM,WAAW,IAAI,IAAI,WAAW,WAAW,IAAI,CAAC,aAAa,SAAS,EAAE,CAAC;AAAA,EAC7E,WAAW,cAAc,OAAO,KAAK,UAAU,GAAG;AAAA,IAChD,IAAI,CAAC,SAAS,IAAI,UAAU,GAAG;AAAA,MAC7B,MAAM,IAAI,yBACR,4BAA4B,gCAAgC,WAAW,KACzE;AAAA,IACF;AAAA,EACF;AAAA;AAGK,SAAS,yBAAwB,CACtC,YACA,YACM;AAAA,EACN,WAAW,YAAY,WAAW,YAAY;AAAA,IAC5C,IAAI,SAAS,YAAY,WAAW,SAAS,QAAQ,WAAW;AAAA,MAC9D,MAAM,mBACJ,IAAI,yBACF,qCAAqC,SAAS,wBAAwB,WAAW,KACnF,GACA,8BAA8B,WAAW,MAAM,SAAS,MAC1D;AAAA,IACF;AAAA,EACF;AAAA;AAIK,SAAS,yBAAwB,CACtC,YACA,YACA,gBACM;AAAA,EACN,YAAY,YAAY,UAAU,OAAO,QAAQ,UAAU,GAAG;AAAA,IAC5D,MAAM,WAAW,WAAW,WAAW,KAAK,CAAC,cAAc,UAAU,OAAO,UAAU;AAAA,IACtF,IAAI,CAAC,UAAU;AAAA,MACb;AAAA,IACF;AAAA,IACA,uBAAsB,UAAU,OAAO,GAAG,WAAW,MAAM,cAAc,cAAc;AAAA,EACzF;AAAA;AASK,SAAS,0BAAyB,CACvC,iBACqB;AAAA,EACrB,MAAM,SAAS,IAAI;AAAA,EAEnB,YAAY,QAAQ,eAAe,iBAAiB;AAAA,IAClD,MAAM,YAAY,WAAW,WAAW,OAAO,CAAC,MAAM,EAAE,OAAO;AAAA,IAE/D,IAAI,UAAU,WAAW,GAAG;AAAA,MAC1B,MAAM,IAAI,yBACR,uBAAuB,sCACrB,0EACJ;AAAA,IACF;AAAA,IACA,IAAI,UAAU,SAAS,GAAG;AAAA,MACxB,MAAM,IAAI,yBACR,uBAAuB,eAAe,UAAU,uCAClD;AAAA,IACF;AAAA,IAEA,MAAM,UAAU,UAAU;AAAA,IAC1B,IAAI,CAAC,QAAQ,UAAU;AAAA,MACrB,MAAM,IAAI,yBACR,4BAA4B,QAAQ,WAAW,0BACjD;AAAA,IACF;AAAA,IACA,IAAI,QAAQ,WAAW,UAAU;AAAA,MAC/B,MAAM,IAAI,yBACR,4BAA4B,QAAQ,WAAW,2CAA2C,OAAO,QAAQ,MAAM,IACjH;AAAA,IACF;AAAA,IAEA,OAAO,IAAI,QAAQ,QAAQ,EAAE;AAAA,EAC/B;AAAA,EAEA,OAAO;AAAA;AAGF,SAAS,4BAA2B,CACzC,iBACA,gBACM;AAAA,EACN,YAAY,QAAQ,eAAe,iBAAiB;AAAA,IAClD,WAAW,YAAY,WAAW,YAAY;AAAA,MAE5C,IAAI,SAAS,SAAS,eAAe,sBAAsB,SAAS,QAAQ,cAAc,GAAG;AAAA,QAC3F,MAAM,IAAI,yBACR,8BAA8B,SAAS,WAAW,4BACpD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAGK,SAAS,sBAAqB,CACnC,UACA,OACA,MACA,gBACM;AAAA,EACN,IAAI,UAAU,WAAW;AAAA,IACvB,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,0BAA0B,GACzE,YAAY,2BACd;AAAA,EACF;AAAA,EAEA,IAAI,UAAU,MAAM;AAAA,IAClB,IAAI,SAAS,UAAU;AAAA,MACrB;AAAA,IACF;AAAA,IACA,MAAM,mBACJ,IAAI,yBAAwB,mBAAmB,qBAAqB,GACpE,YAAY,sBACd;AAAA,EACF;AAAA,EAEA,qBAAoB,SAAS,QAAQ,OAAO,MAAM,cAAc;AAAA;AAGlE,SAAS,qBAAqB,CAC5B,QACA,gBACA,mBAAmB,IAAI,KACd;AAAA,EACT,IAAI,WAAW,WAAW;AAAA,IACxB,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,SAAS;AAAA,IAC3B,OAAO,sBAAsB,OAAO,OAAO,gBAAgB,gBAAgB;AAAA,EAC7E;AAAA,EAEA,IAAI,OAAO,SAAS,OAAO;AAAA,IACzB,OAAO,sBAAsB,OAAO,aAAa,gBAAgB,gBAAgB;AAAA,EACnF;AAAA,EAEA,IAAI,OAAO,SAAS,UAAU;AAAA,IAC5B,OAAO,OAAO,OAAO,OAAO,UAAU,EAAE,KAAK,CAAC,UAC5C,sBAAsB,MAAM,QAAQ,gBAAgB,gBAAgB,CACtE;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,gBAAgB;AAAA,IAClC,IAAI,iBAAiB,IAAI,OAAO,WAAW,GAAG;AAAA,MAC5C,OAAO;AAAA,IACT;AAAA,IAEA,iBAAiB,IAAI,OAAO,WAAW;AAAA,IACvC,MAAM,WAAW,OAAO,aAAa,eAAe,IAAI,OAAO,WAAW,GAAG;AAAA,IAC7E,OAAO,WAAW,sBAAsB,UAAU,gBAAgB,gBAAgB,IAAI;AAAA,EACxF;AAAA,EAEA,OAAO;AAAA;;;ACtOF,SAAS,qBAAoB,CAClC,cACA,QACA,gBACA,cACA,mBACM;AAAA,EACN,MAAM,QAAQ,oBACV,kBAAkB,eAAe,oBAAoB,YAAY,IACjE,iBAAiB,eAAe;AAAA,EACpC,IAAI,CAAC,OAAO;AAAA,IACV,MAAM,WAAW,MAAM,QAAQ,eAAe,kBAAkB,IAC5D,eAAe,mBAAmB,KAAK,KAAK,IAC5C,eAAe;AAAA,IACnB,MAAM,IAAI,yBACR,eAAe,gBAAgB,uBAAuB,mBAAmB,eAC3E;AAAA,EACF;AAAA;AAOK,SAAS,2BAA0B,CACxC,aACA,gBACA,cACA,SACM;AAAA,EACN,IAAI,mBAAmB;AAAA,IAAK;AAAA,EAC5B,MAAM,QAAQ,MAAM,QAAQ,cAAc,IAAI,iBAAiB,CAAC,cAAc;AAAA,EAC9E,IAAI,MAAM,SAAS,GAAG;AAAA,IAAG;AAAA,EACzB,WAAW,QAAQ,OAAO;AAAA,IACxB,IAAI,iBAAiB,QAAQ,YAAY,IAAI,EAAE,SAAS,YAAY;AAAA,MAAG;AAAA,EACzE;AAAA,EACA,MAAM,WAAW,MAAM,KAAK,KAAK;AAAA,EACjC,MAAM,IAAI,yBACR,UAAU,yBAAyB,yDAAyD,WAC9F;AAAA;AAGK,SAAS,wBAAuB,CACrC,YACA,MACA,YACA,gBACuC;AAAA,EACvC,IAAI,eAAe;AAAA,IAAW;AAAA,EAC9B,OAAO,2BACL,KAAK,cAAc,CAAC,GACpB,YACA,gBACA,GAAG,WAAW,MAAM,KAAK,IAC3B;AAAA;AAGK,SAAS,uBAAsB,CACpC,YACA,MACA,YACA,oBACA,gBACM;AAAA,EACN,MAAM,iBAAiB,KAAK,cAAc,CAAC;AAAA,EAC3C,MAAM,WAAW,cAAc,CAAC;AAAA,EAEhC,IAAI,eAAe,WAAW,GAAG;AAAA,IAC/B,IAAI,OAAO,KAAK,QAAQ,EAAE,SAAS,GAAG;AAAA,MACpC,MAAM,IAAI,yBACR,eAAe,WAAW,MAAM,KAAK,oCACvC;AAAA,IACF;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAM,mBAAmB,IAAI,IAAI,eAAe,IAAI,CAAC,aAAa,SAAS,EAAE,CAAC;AAAA,EAC9E,WAAW,cAAc,OAAO,KAAK,QAAQ,GAAG;AAAA,IAC9C,IAAI,CAAC,iBAAiB,IAAI,UAAU,GAAG;AAAA,MACrC,MAAM,IAAI,yBACR,iCAAiC,yBAAyB,WAAW,MAAM,KAAK,KAClF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,YAAY,YAAY,UAAU,OAAO,QAAQ,QAAQ,GAAG;AAAA,IAC1D,MAAM,WAAW,eAAe,KAAK,CAAC,cAAc,UAAU,OAAO,UAAU;AAAA,IAC/E,IAAI,CAAC,UAAU;AAAA,MACb;AAAA,IACF;AAAA,IAEA,uBACE,UACA,OACA,GAAG,WAAW,MAAM,KAAK,MAAM,cAC/B,cACF;AAAA,EACF;AAAA,EAGA,MAAM,SAAS;AAAA,OACT,sBAAsB,CAAC;AAAA,OACxB;AAAA,EACL;AAAA,EAEA,WAAW,YAAY,gBAAgB;AAAA,IACrC,IAAI,SAAS,YAAY,OAAO,SAAS,QAAQ,WAAW;AAAA,MAC1D,MAAM,IAAI,yBACR,0CAA0C,SAAS,iBAAiB,WAAW,MAAM,KAAK,KAC5F;AAAA,IACF;AAAA,EACF;AAAA;;;ACtHF,IAAM,gBAAyC,CAAC,cAAc,YAAY,QAAQ,SAAS,OAAO;AAE3F,SAAS,sBAAqB,CACnC,iBACA,gBACM;AAAA,EACN,YAAY,QAAQ,eAAe,iBAAiB;AAAA,IAClD,gCAAgC,QAAQ,WAAW,YAAY,cAAc;AAAA,IAE7E,WAAW,QAAQ,WAAW,OAAO;AAAA,MACnC,IAAI,KAAK,YAAY;AAAA,QACnB,gCAAgC,GAAG,UAAU,KAAK,MAAM,KAAK,YAAY,cAAc;AAAA,MACzF;AAAA,IACF;AAAA,IAEA,6BAA6B,QAAQ,YAAY,cAAc;AAAA,EACjE;AAAA;AAGF,SAAS,+BAA+B,CACtC,WACA,YACA,gBACM;AAAA,EACN,WAAW,YAAY,YAAY;AAAA,IACjC,8BAA8B,WAAW,UAAU,cAAc;AAAA,EACnE;AAAA;AAGF,SAAS,6BAA6B,CACpC,WACA,UACA,gBACM;AAAA,EACN,MAAM,QAAQ,SAAS;AAAA,EACvB,IAAI,CAAC;AAAA,IAAO;AAAA,EACZ,IAAI,YAAY,OAAO;AAAA,IACrB,MAAM,IAAI,yBACR,oBAAoB,SAAS,WAAW,mGAC1C;AAAA,EACF;AAAA,EAEA,MAAM,kBAAkB,cAAc,OAAO,CAAC,YAAY,MAAM,aAAa,IAAI;AAAA,EACjF,KAAK,gBAAgB,SAAS,KAAK,MAAM,WAAW,cAAc,MAAM,eAAe,MAAM;AAAA,IAC3F,MAAM,IAAI,yBACR,uCAAuC,SAAS,WAAW,2EAC7D;AAAA,EACF;AAAA,EAEA,IAAI,MAAM,WAAW,WAAW;AAAA,IAC9B,IAAI,CAAC,OAAO,SAAS,MAAM,MAAM,KAAK,MAAM,UAAU,GAAG;AAAA,MACvD,MAAM,IAAI,yBACR,uCAAuC,SAAS,WAAW,wEAC7D;AAAA,IACF;AAAA,IACA,IAAI,MAAM,SAAS,MAAM;AAAA,MACvB,MAAM,IAAI,yBACR,uCAAuC,SAAS,WAAW,wDAC7D;AAAA,IACF;AAAA,EACF;AAAA,EAEA,IAAI,gBAAgB,WAAW;AAAA,IAAG;AAAA,EAElC,MAAM,SAAS,uBAAuB,UAAU,WAAW,cAAc;AAAA,EAEzE,IAAI,MAAM,QAAQ,CAAC,uBAAuB,MAAM,GAAG;AAAA,IACjD,MAAM,IAAI,yBACR,uCAAuC,SAAS,WAAW,mEAC7D;AAAA,EACF;AAAA,EAEA,IAAI,MAAM,SAAS,CAAC,wBAAwB,MAAM,GAAG;AAAA,IACnD,MAAM,IAAI,yBACR,uCAAuC,SAAS,WAAW,yEAC7D;AAAA,EACF;AAAA,EAEA,IAAI,MAAM,cAAc,CAAC,mBAAmB,MAAM,GAAG;AAAA,IACnD,MAAM,IAAI,yBACR,uCAAuC,SAAS,WAAW,iEAC7D;AAAA,EACF;AAAA,EAEA,IAAI,MAAM,YAAY,CAAC,iBAAiB,MAAM,GAAG;AAAA,IAC/C,MAAM,IAAI,yBACR,uCAAuC,SAAS,WAAW,6DAC7D;AAAA,EACF;AAAA,EAEA,IAAI,MAAM,SAAS,CAAC,cAAc,MAAM,GAAG;AAAA,IACzC,MAAM,IAAI,yBACR,uCAAuC,SAAS,WAAW,+DAC7D;AAAA,EACF;AAAA;AAGF,SAAS,4BAA4B,CACnC,QACA,YACA,gBACM;AAAA,EACN,MAAM,SAAS,WAAW;AAAA,EAC1B,IAAI,CAAC;AAAA,IAAQ;AAAA,EACb,IAAI,YAAY,QAAQ;AAAA,IACtB,MAAM,IAAI,yBACR,uBAAuB,gGACzB;AAAA,EACF;AAAA,EAEA,YAAY,MAAM,YAAY,OAAO,QAAQ,OAAO,WAAW,CAAC,CAAC,GAAG;AAAA,IAClE,IAAI,CAAC,0BAA0B,KAAK,IAAI;AAAA,MACtC,MAAM,IAAI,yBAAwB,sCAAsC,MAAM;AAAA,IAChF,wBAAwB,QAAQ,KAAK;AAAA,IACrC,IACE,CAAC,MAAM,QAAQ,QAAQ,MAAM,KAC7B,QAAQ,OAAO,WAAW,KAC1B,IAAI,IAAI,QAAQ,MAAM,EAAE,SAAS,QAAQ,OAAO,QAChD;AAAA,MACA,MAAM,IAAI,yBACR,yBAAyB,+CAC3B;AAAA,IACF;AAAA,IACA,WAAW,MAAM,QAAQ,QAAQ;AAAA,MAC/B,MAAM,WAAW,sBAAsB,QAAQ,YAAY,IAAI,kBAAkB,MAAM;AAAA,MACvF,kCAAkC,QAAQ,UAAU,kBAAkB,MAAM;AAAA,MAC5E,IAAI,CAAC,uBAAuB,uBAAuB,UAAU,QAAQ,cAAc,CAAC,GAAG;AAAA,QACrF,MAAM,IAAI,yBAAwB,sCAAsC,UAAU,IAAI;AAAA,MACxF;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM,oBAAoB,WAAW,WAAW,KAAK,CAAC,aAAa,SAAS,OAAO,GAAG;AAAA,EAEtF,IAAI,OAAO,OAAO;AAAA,IAChB,MAAM,QAAQ,sBAAsB,QAAQ,YAAY,OAAO,OAAO,cAAc;AAAA,IACpF,kCAAkC,QAAQ,OAAO,cAAc;AAAA,IAC/D,MAAM,SAAS,uBAAuB,OAAO,QAAQ,cAAc;AAAA,IACnE,IAAI,CAAC,uBAAuB,MAAM,GAAG;AAAA,MACnC,MAAM,IAAI,yBACR,uBAAuB,oCAAoC,MAAM,2CACnE;AAAA,IACF;AAAA,EACF;AAAA,EAEA,WAAW,cAAc,OAAO,eAAe,CAAC,GAAG;AAAA,IACjD,MAAM,WAAW,sBAAsB,QAAQ,YAAY,YAAY,oBAAoB;AAAA,IAC3F,kCAAkC,QAAQ,UAAU,oBAAoB;AAAA,IACxE,wBAAwB,QAAQ,UAAU,QAAQ,oBAAoB;AAAA,EACxE;AAAA,EAEA,WAAW,cAAc,OAAO,SAAS,CAAC,GAAG;AAAA,IAC3C,MAAM,WAAW,sBAAsB,QAAQ,YAAY,YAAY,cAAc;AAAA,IACrF,kCAAkC,QAAQ,UAAU,cAAc;AAAA,IAClE,IAAI,SAAS,OAAO,mBAAmB;AAAA,MACrC,wBAAwB,QAAQ,UAAU,SAAS,cAAc;AAAA,IACnE;AAAA,EACF;AAAA;AAGF,SAAS,qBAAqB,CAC5B,QACA,YACA,YACA,cACU;AAAA,EACV,MAAM,WAAW,WAAW,WAAW,KAAK,CAAC,cAAc,UAAU,OAAO,UAAU;AAAA,EACtF,IAAI,CAAC,UAAU;AAAA,IACb,MAAM,IAAI,yBACR,uBAAuB,WAAW,6CAA6C,aACjF;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,iCAAiC,CACxC,QACA,UACA,cACM;AAAA,EACN,IAAI,SAAS,SAAS,aAAa;AAAA,IACjC,MAAM,IAAI,yBACR,uBAAuB,WAAW,+CAA+C,SAAS,yHAC5F;AAAA,EACF;AAAA;AAGF,SAAS,uBAAuB,CAC9B,QACA,UACA,MACA,cACM;AAAA,EACN,IAAI,SAAS,OAAO,eAAe,QAAQ,SAAS,MAAM,UAAU,MAAM;AAAA,IACxE;AAAA,EACF;AAAA,EAEA,MAAM,IAAI,yBACR,uBAAuB,WAAW,qCAAqC,SAAS,oEAAoE,YACtJ;AAAA;AAGF,SAAS,sBAAsB,CAC7B,UACA,WACA,gBACQ;AAAA,EACR,OAAO,cAAc,SAAS,QAAQ,gBAAgB,GAAG,aAAa,SAAS,IAAI;AAAA;AAGrF,SAAS,aAAa,CACpB,QACA,gBACA,MACA,mBAAmB,IAAI,KACf;AAAA,EACR,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,gBAAgB;AAAA,IAClC,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,iBAAiB,IAAI,OAAO,WAAW,GAAG;AAAA,IAC5C,MAAM,IAAI,yBACR,iCAAiC,OAAO,qCAAqC,MAC/E;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,OAAO,aAAa,eAAe,IAAI,OAAO,WAAW,GAAG;AAAA,EAC7E,IAAI,CAAC,UAAU;AAAA,IACb,MAAM,IAAI,yBACR,6BAA6B,yCAAyC,OAAO,cAC/E;AAAA,EACF;AAAA,EAEA,iBAAiB,IAAI,OAAO,WAAW;AAAA,EACvC,OAAO,cAAc,UAAU,gBAAgB,MAAM,gBAAgB;AAAA;AAGvE,SAAS,sBAAsB,CAAC,QAAyB;AAAA,EACvD,IAAI,WAAW;AAAA,IAAU,OAAO;AAAA,EAChC,OAAO,OAAO,WAAW,YAAY,OAAO,SAAS,UAAU,OAAO,cAAc;AAAA;AAGtF,SAAS,uBAAuB,CAAC,QAAyB;AAAA,EACxD,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,OAAO,WAAW;AAAA,EACpB;AAAA,EACA,OAAO,OAAO,SAAS;AAAA;AAGzB,SAAS,kBAAkB,CAAC,QAAyB;AAAA,EACnD,OACE,wBAAwB,MAAM,KAC7B,OAAO,WAAW,aAAa,OAAO,SAAS,WAAW,OAAO,SAAS;AAAA;AAI/E,SAAS,gBAAgB,CAAC,QAAyB;AAAA,EACjD,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,OACE,WAAW,YACX,WAAW,UACX,WAAW,aACX,WAAW,YACX,WAAW,aACX,WAAW,UACX,WAAW;AAAA,EAEf;AAAA,EACA,OAAO,OAAO,SAAS;AAAA;AAGzB,SAAS,aAAa,CAAC,QAAyB;AAAA,EAC9C,OAAO,wBAAwB,MAAM;AAAA;;;AClQvC,IAAM,aAAa;AAAA,EACjB,aAAa,EAAE,MAAM,iBAAiB,QAAQ,OAAI;AAAA,EAClD,aAAa,EAAE,MAAM,iBAAiB,QAAQ,SAAI;AAAA,EAClD,QAAQ,EAAE,MAAM,UAAU,QAAQ,MAAM;AAAA,EACxC,aAAa,EAAE,MAAM,iBAAiB,QAAQ,SAAI;AAAA,EAClD,MAAM,EAAE,MAAM,QAAQ,QAAQ,MAAM;AACtC;AAEA,IAAM,eAAe;AAAA,EACnB,mBAAmB,EAAE,MAAM,wBAAwB,QAAQ,UAAO;AAAA,EAClE,uBAAuB,EAAE,MAAM,4BAA4B,QAAQ,WAAQ;AAAA,EAC3E,wBAAwB,EAAE,MAAM,6BAA6B,QAAQ,cAAQ;AAAA,EAC7E,wBAAwB,EAAE,MAAM,6BAA6B,QAAQ,WAAQ;AAC/E;AAEA,IAAM,aAAa;AAAA,EACjB,QAAQ,EAAE,MAAM,UAAU,QAAQ,IAAI;AAAA,EACtC,OAAO,EAAE,MAAM,SAAS,QAAQ,KAAK;AAAA,EACrC,OAAO,EAAE,MAAM,SAAS,QAAQ,MAAM;AAAA,EACtC,KAAK,EAAE,MAAM,OAAO,QAAQ,IAAI;AAClC;AAEA,IAAM,cAAc;AAAA,EAClB,kBAAkB,EAAE,MAAM,qBAAqB,QAAQ,KAAK;AAAA,EAC5D,YAAY,EAAE,MAAM,cAAc,QAAQ,KAAK;AAAA,EAC/C,MAAM,EAAE,MAAM,QAAQ,QAAQ,KAAK;AAAA,EACnC,MAAM,EAAE,MAAM,QAAQ,QAAQ,KAAK;AAAA,EACnC,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,EAC7C,OAAO,EAAE,MAAM,SAAS,QAAQ,IAAI;AAAA,EACpC,YAAY,EAAE,MAAM,cAAc,QAAQ,QAAK;AAAA,EAC/C,MAAM,EAAE,MAAM,QAAQ,QAAQ,KAAK;AAAA,EACnC,YAAY,EAAE,MAAM,cAAc,QAAQ,KAAK;AAAA,EAC/C,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,EAC7C,cAAc,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AACvD;AAEA,IAAM,aAAa;AAAA,EACjB,2BAA2B,EAAE,MAAM,iCAAiC,QAAQ,QAAQ;AAAA,EACpF,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,OAAO;AAAA,EAC/D,UAAU,EAAE,MAAM,YAAY,QAAQ,KAAK;AAAA,EAC3C,YAAY,EAAE,MAAM,cAAc,QAAQ,KAAK;AAAA,EAC/C,cAAc,EAAE,MAAM,kBAAkB,QAAQ,MAAM;AAAA,EACtD,gBAAgB,EAAE,MAAM,oBAAoB,QAAQ,MAAM;AAAA,EAC1D,+BAA+B,EAAE,MAAM,sCAAsC,QAAQ,SAAS;AAAA,EAC9F,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,OAAO;AAAA,EAC/D,oBAAoB,EAAE,MAAM,wBAAwB,QAAQ,OAAO;AAAA,EACnE,UAAU,EAAE,MAAM,YAAY,QAAQ,KAAK;AAAA,EAC3C,qBAAqB,EAAE,MAAM,0BAA0B,QAAQ,SAAS;AAAA,EACxE,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,OAAO;AAAA,EAC/D,UAAU,EAAE,MAAM,YAAY,QAAQ,KAAK;AAAA,EAC3C,WAAW,EAAE,MAAM,aAAa,QAAQ,QAAK;AAAA,EAC7C,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,EAC7C,oBAAoB,EAAE,MAAM,wBAAwB,QAAQ,KAAK;AAAA,EACjE,MAAM,EAAE,MAAM,QAAQ,QAAQ,IAAI;AACpC;AAEA,IAAM,gBAAgB;AAAA,EACpB,iBAAiB,EAAE,MAAM,qBAAqB,QAAQ,MAAM;AAAA,EAC5D,iBAAiB,EAAE,MAAM,qBAAqB,QAAQ,MAAM;AAAA,EAC5D,qBAAqB,EAAE,MAAM,yBAAyB,QAAQ,MAAM;AAAA,EACpE,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,MAAM;AAAA,EAC9D,SAAS,EAAE,MAAM,WAAW,QAAQ,IAAI;AAAA,EACxC,OAAO,EAAE,MAAM,SAAS,QAAQ,GAAG;AACrC;AAOO,IAAM,qBAAoB;AAAA,EAC/B,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,4BAA4B,EAAE,MAAM,iCAAiC,QAAQ,WAAQ;AAAA,MACrF,QAAQ,EAAE,MAAM,WAAW,QAAQ,IAAI;AAAA,MACvC,uBAAuB,EAAE,MAAM,4BAA4B,QAAQ,UAAO;AAAA,IAC5E;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,qBAAqB;AAAA,IACnB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,wBAAwB,EAAE,MAAM,6BAA6B,QAAQ,YAAS;AAAA,IAChF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,iBAAiB,EAAE,MAAM,qBAAqB,QAAQ,SAAM;AAAA,MAC5D,iBAAiB,EAAE,MAAM,qBAAqB,QAAQ,QAAQ;AAAA,MAC9D,qBAAqB,EAAE,MAAM,yBAAyB,QAAQ,MAAM;AAAA,MACpE,qBAAqB,EAAE,MAAM,yBAAyB,QAAQ,MAAM;AAAA,IACtE;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,oBAAoB,EAAE,MAAM,wBAAwB,QAAQ,OAAO;AAAA,MACnE,oBAAoB,EAAE,MAAM,wBAAwB,QAAQ,OAAO;AAAA,MACnE,oBAAoB,EAAE,MAAM,wBAAwB,QAAQ,OAAO;AAAA,MACnE,gBAAgB,EAAE,MAAM,oBAAoB,QAAQ,MAAM;AAAA,IAC5D;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,gBAAgB,EAAE,MAAM,mBAAmB,QAAQ,MAAM;AAAA,MACzD,gBAAgB,EAAE,MAAM,mBAAmB,QAAQ,MAAM;AAAA,MACzD,gBAAgB,EAAE,MAAM,mBAAmB,QAAQ,MAAM;AAAA,MACzD,iBAAiB,EAAE,MAAM,oBAAoB,QAAQ,MAAM;AAAA,MAC3D,YAAY,EAAE,MAAM,eAAe,QAAQ,KAAK;AAAA,IAClD;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,MAAM,EAAE,MAAM,QAAQ,QAAQ,KAAK;AAAA,MACnC,SAAS,EAAE,MAAM,WAAW,QAAQ,KAAK;AAAA,MACzC,kBAAkB,EAAE,MAAM,qBAAqB,QAAQ,SAAM;AAAA,MAC7D,YAAY,EAAE,MAAM,eAAe,QAAQ,SAAM;AAAA,MACjD,YAAY,EAAE,MAAM,eAAe,QAAQ,SAAM;AAAA,MACjD,iBAAiB,EAAE,MAAM,oBAAoB,QAAQ,SAAM;AAAA,MAC3D,aAAa,EAAE,MAAM,gBAAgB,QAAQ,QAAK;AAAA,MAClD,kBAAkB,EAAE,MAAM,qBAAqB,QAAQ,SAAM;AAAA,IAC/D;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,OAAO,EAAE,MAAM,SAAS,QAAQ,IAAI;AAAA,MACpC,YAAY,EAAE,MAAM,cAAc,QAAQ,QAAK;AAAA,MAC/C,YAAY,EAAE,MAAM,cAAc,QAAQ,KAAK;AAAA,MAC/C,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,MAC7C,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,QAAQ,EAAE,MAAM,UAAU,QAAQ,IAAI;AAAA,MACtC,YAAY,EAAE,MAAM,cAAc,QAAQ,KAAK;AAAA,MAC/C,aAAa,EAAE,MAAM,eAAe,QAAQ,QAAK;AAAA,MACjD,aAAa,EAAE,MAAM,eAAe,QAAQ,KAAK;AAAA,IACnD;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,cAAc,EAAE,MAAM,kBAAkB,QAAQ,MAAM;AAAA,MACtD,eAAe,EAAE,MAAM,mBAAmB,QAAQ,MAAM;AAAA,MACxD,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,UAAU;AAAA,MAClE,mBAAmB,EAAE,MAAM,uBAAuB,QAAQ,QAAQ;AAAA,MAClE,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,UAAU;AAAA,MAClE,mBAAmB,EAAE,MAAM,uBAAuB,QAAQ,QAAQ;AAAA,MAClE,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,UAAU;AAAA,MAClE,mBAAmB,EAAE,MAAM,uBAAuB,QAAQ,QAAQ;AAAA,MAClE,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,UAAU;AAAA,MAClE,mBAAmB,EAAE,MAAM,uBAAuB,QAAQ,QAAQ;AAAA,MAClE,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,UAAU;AAAA,MAClE,mBAAmB,EAAE,MAAM,uBAAuB,QAAQ,QAAQ;AAAA,MAClE,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,UAAU;AAAA,MAClE,mBAAmB,EAAE,MAAM,uBAAuB,QAAQ,QAAQ;AAAA,MAClE,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,UAAU;AAAA,MAClE,mBAAmB,EAAE,MAAM,uBAAuB,QAAQ,QAAQ;AAAA,IACpE;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,KAAK,EAAE,MAAM,OAAO,QAAQ,MAAM;AAAA,MAClC,MAAM,EAAE,MAAM,QAAQ,QAAQ,IAAI;AAAA,MAClC,SAAS,EAAE,MAAM,WAAW,QAAQ,QAAQ;AAAA,MAC5C,UAAU,EAAE,MAAM,YAAY,QAAQ,MAAM;AAAA,MAC5C,SAAS,EAAE,MAAM,WAAW,QAAQ,QAAQ;AAAA,MAC5C,UAAU,EAAE,MAAM,YAAY,QAAQ,MAAM;AAAA,MAC5C,SAAS,EAAE,MAAM,WAAW,QAAQ,QAAQ;AAAA,MAC5C,UAAU,EAAE,MAAM,YAAY,QAAQ,MAAM;AAAA,MAC5C,SAAS,EAAE,MAAM,WAAW,QAAQ,QAAQ;AAAA,MAC5C,UAAU,EAAE,MAAM,YAAY,QAAQ,MAAM;AAAA,MAC5C,SAAS,EAAE,MAAM,WAAW,QAAQ,QAAQ;AAAA,MAC5C,UAAU,EAAE,MAAM,YAAY,QAAQ,MAAM;AAAA,MAC5C,SAAS,EAAE,MAAM,WAAW,QAAQ,QAAQ;AAAA,MAC5C,UAAU,EAAE,MAAM,YAAY,QAAQ,MAAM;AAAA,MAC5C,SAAS,EAAE,MAAM,WAAW,QAAQ,QAAQ;AAAA,MAC5C,UAAU,EAAE,MAAM,YAAY,QAAQ,MAAM;AAAA,IAC9C;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,YAAY,EAAE,MAAM,eAAe,QAAQ,KAAK;AAAA,MAChD,SAAS,EAAE,MAAM,WAAW,QAAQ,IAAI;AAAA,MACxC,iBAAiB,EAAE,MAAM,oBAAoB,QAAQ,MAAM;AAAA,IAC7D;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,oBAAoB,EAAE,MAAM,wBAAwB,QAAQ,MAAM;AAAA,MAClE,cAAc,EAAE,MAAM,gBAAgB,QAAQ,KAAK;AAAA,MACnD,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,MAC7C,cAAc,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AAAA,MACrD,OAAO,EAAE,MAAM,SAAS,QAAQ,IAAI;AAAA,MACpC,wBAAwB,EAAE,MAAM,6BAA6B,QAAQ,OAAO;AAAA,MAC5E,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,MAC7C,cAAc,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AAAA,MACrD,kBAAkB,EAAE,MAAM,oBAAoB,QAAQ,MAAM;AAAA,MAC5D,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,MAC7C,cAAc,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AAAA,MACrD,eAAe,EAAE,MAAM,kBAAkB,QAAQ,MAAM;AAAA,MACvD,cAAc,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AAAA,MACrD,UAAU,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,IAC9C;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,WAAW,EAAE,MAAM,aAAa,QAAQ,MAAM;AAAA,MAC9C,OAAO,EAAE,MAAM,SAAS,QAAQ,KAAK;AAAA,MACrC,WAAW,EAAE,MAAM,aAAa,QAAQ,MAAM;AAAA,MAC9C,WAAW,EAAE,MAAM,aAAa,QAAQ,MAAM;AAAA,MAC9C,YAAY,EAAE,MAAM,cAAc,QAAQ,MAAM;AAAA,IAClD;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,YAAY,EAAE,MAAM,cAAc,QAAQ,KAAK;AAAA,MAC/C,KAAK,EAAE,MAAM,OAAO,QAAQ,KAAK;AAAA,IACnC;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,OAAO,EAAE,MAAM,SAAS,QAAQ,IAAI;AAAA,MACpC,YAAY,EAAE,MAAM,cAAc,QAAQ,QAAK;AAAA,MAC/C,YAAY,EAAE,MAAM,cAAc,QAAQ,KAAK;AAAA,IACjD;AAAA,EACF;AAAA,EACA,uBAAuB;AAAA,IACrB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,MAAM,EAAE,MAAM,QAAQ,QAAQ,KAAK;AAAA,MACnC,WAAW,EAAE,MAAM,aAAa,QAAQ,SAAM;AAAA,MAC9C,cAAc,EAAE,MAAM,gBAAgB,QAAQ,SAAM;AAAA,MACpD,WAAW,EAAE,MAAM,aAAa,QAAQ,MAAM;AAAA,MAC9C,cAAc,EAAE,MAAM,gBAAgB,QAAQ,MAAM;AAAA,MACpD,SAAS,EAAE,MAAM,WAAW,QAAQ,KAAK;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,oBAAoB,EAAE,MAAM,yBAAyB,QAAQ,UAAO;AAAA,IACtE;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,WAAW;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,uBAAuB,EAAE,MAAM,4BAA4B,QAAQ,WAAQ;AAAA,IAC7E;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,OAAO,EAAE,MAAM,SAAS,QAAQ,KAAK;AAAA,IACvC;AAAA,EACF;AAAA,EACA,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,SAAS,EAAE,MAAM,WAAW,QAAQ,KAAK;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,SAAS,EAAE,MAAM,WAAW,QAAQ,KAAK;AAAA,MACzC,OAAO,EAAE,MAAM,SAAS,QAAQ,KAAK;AAAA,IACvC;AAAA,EACF;AAAA,EACA,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,OAAO,EAAE,MAAM,SAAS,QAAQ,IAAI;AAAA,MACpC,OAAO,EAAE,MAAM,SAAS,QAAQ,IAAI;AAAA,IACtC;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,MAAM,EAAE,MAAM,QAAQ,QAAQ,IAAI;AAAA,MAClC,UAAU,EAAE,MAAM,YAAY,QAAQ,KAAK;AAAA,MAC3C,WAAW,EAAE,MAAM,gBAAgB,QAAQ,KAAK;AAAA,MAChD,WAAW,EAAE,MAAM,aAAa,QAAQ,QAAK;AAAA,MAC7C,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,MAC7C,MAAM,EAAE,MAAM,QAAQ,QAAQ,OAAO;AAAA,MACrC,OAAO,EAAE,MAAM,SAAS,QAAQ,IAAI;AAAA,IACtC;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,aAAa,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AAAA,MACpD,eAAe,EAAE,MAAM,mBAAmB,QAAQ,MAAM;AAAA,MACxD,iBAAiB,EAAE,MAAM,qBAAqB,QAAQ,OAAO;AAAA,MAC7D,mBAAmB,EAAE,MAAM,uBAAuB,QAAQ,OAAO;AAAA,MACjE,kBAAkB,EAAE,MAAM,kBAAkB,QAAQ,OAAO;AAAA,IAC7D;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,KAAK,EAAE,MAAM,OAAO,QAAQ,MAAM;AAAA,MAClC,YAAY,EAAE,MAAM,cAAc,QAAQ,OAAO;AAAA,MACjD,aAAa,EAAE,MAAM,eAAe,QAAQ,MAAM;AAAA,MAClD,iBAAiB,EAAE,MAAM,qBAAqB,QAAQ,OAAO;AAAA,MAC7D,eAAe,EAAE,MAAM,mBAAmB,QAAQ,aAAQ;AAAA,MAC1D,YAAY,EAAE,MAAM,cAAc,QAAQ,MAAM;AAAA,MAChD,UAAU,EAAE,MAAM,YAAY,QAAQ,OAAO;AAAA,MAC7C,sBAAsB,EAAE,MAAM,0BAA0B,QAAQ,OAAO;AAAA,MACvE,QAAQ,EAAE,MAAM,UAAU,QAAQ,KAAK;AAAA,MACvC,oBAAoB,EAAE,MAAM,yBAAyB,QAAQ,MAAM;AAAA,IACrE;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,MAC7C,eAAe,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AAAA,MACtD,eAAe,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AAAA,MACtD,eAAe,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AAAA,IACxD;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,4BAA4B,EAAE,MAAM,iCAAiC,QAAQ,QAAQ;AAAA,MACrF,4BAA4B,EAAE,MAAM,iCAAiC,QAAQ,QAAQ;AAAA,MACrF,4BAA4B,EAAE,MAAM,iCAAiC,QAAQ,QAAQ;AAAA,MACrF,wBAAwB,EAAE,MAAM,6BAA6B,QAAQ,OAAO;AAAA,IAC9E;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,wBAAwB,EAAE,MAAM,4BAA4B,QAAQ,OAAO;AAAA,MAC3E,wBAAwB,EAAE,MAAM,4BAA4B,QAAQ,OAAO;AAAA,MAC3E,wBAAwB,EAAE,MAAM,4BAA4B,QAAQ,OAAO;AAAA,MAC3E,yBAAyB,EAAE,MAAM,6BAA6B,QAAQ,OAAO;AAAA,MAC7E,oBAAoB,EAAE,MAAM,wBAAwB,QAAQ,MAAM;AAAA,IACpE;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,kBAAkB;AAAA,IAChB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,SAAS,EAAE,MAAM,WAAW,QAAQ,UAAK;AAAA,MACzC,SAAS,EAAE,MAAM,WAAW,QAAQ,UAAK;AAAA,MACzC,UAAU,EAAE,MAAM,YAAY,QAAQ,UAAK;AAAA,MAC3C,KAAK,EAAE,MAAM,OAAO,QAAQ,SAAI;AAAA,IAClC;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,KAAK,EAAE,MAAM,OAAO,QAAQ,IAAI;AAAA,MAChC,SAAS,EAAE,MAAM,WAAW,QAAQ,KAAK;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,eAAe,EAAE,MAAM,kBAAkB,QAAQ,QAAK;AAAA,MACtD,kBAAkB,EAAE,MAAM,qBAAqB,QAAQ,QAAK;AAAA,MAC5D,QAAQ,EAAE,MAAM,UAAU,QAAQ,IAAI;AAAA,IACxC;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,KAAK,EAAE,MAAM,OAAO,QAAQ,IAAI;AAAA,MAChC,MAAM,EAAE,MAAM,QAAQ,QAAQ,IAAI;AAAA,MAClC,aAAa,EAAE,MAAM,eAAe,QAAQ,QAAK;AAAA,MACjD,aAAa,EAAE,MAAM,eAAe,QAAQ,KAAK;AAAA,MACjD,QAAQ,EAAE,MAAM,UAAU,QAAQ,MAAM;AAAA,MACxC,YAAY,EAAE,MAAM,cAAc,QAAQ,KAAK;AAAA,MAC/C,QAAQ,EAAE,MAAM,UAAU,QAAQ,IAAI;AAAA,MACtC,MAAM,EAAE,MAAM,QAAQ,QAAQ,KAAK;AAAA,IACrC;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,aAAa,EAAE,MAAM,gBAAgB,QAAQ,SAAM;AAAA,IACrD;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,qBAAqB,EAAE,MAAM,yBAAyB,QAAQ,OAAO;AAAA,MACrE,kBAAkB,EAAE,MAAM,sBAAsB,QAAQ,OAAO;AAAA,MAC/D,oBAAoB,EAAE,MAAM,wBAAwB,QAAQ,OAAO;AAAA,MACnE,MAAM,EAAE,MAAM,QAAQ,QAAQ,KAAK;AAAA,MACnC,cAAc,EAAE,MAAM,kBAAkB,QAAQ,MAAM;AAAA,MACtD,gBAAgB,EAAE,MAAM,oBAAoB,QAAQ,MAAM;AAAA,MAC1D,aAAa,EAAE,MAAM,iBAAiB,QAAQ,MAAM;AAAA,MACpD,eAAe,EAAE,MAAM,mBAAmB,QAAQ,OAAO;AAAA,IAC3D;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,UAAU,EAAE,MAAM,YAAY,QAAQ,KAAK;AAAA,MAC3C,UAAU,EAAE,MAAM,YAAY,QAAQ,KAAK;AAAA,MAC3C,WAAW,EAAE,MAAM,aAAa,QAAQ,QAAK;AAAA,MAC7C,WAAW,EAAE,MAAM,aAAa,QAAQ,KAAK;AAAA,MAC7C,MAAM,EAAE,MAAM,QAAQ,QAAQ,IAAI;AAAA,IACpC;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,iBAAiB,EAAE,MAAM,oBAAoB,QAAQ,SAAM;AAAA,MAC3D,WAAW,EAAE,MAAM,cAAc,QAAQ,SAAM;AAAA,MAC/C,WAAW,EAAE,MAAM,cAAc,QAAQ,SAAM;AAAA,MAC/C,YAAY,EAAE,MAAM,eAAe,QAAQ,QAAK;AAAA,MAChD,YAAY,EAAE,MAAM,eAAe,QAAQ,QAAQ;AAAA,MACnD,QAAQ,EAAE,MAAM,UAAU,QAAQ,MAAM;AAAA,MACxC,OAAO,EAAE,MAAM,SAAS,QAAQ,IAAI;AAAA,MACpC,YAAY,EAAE,MAAM,cAAc,QAAQ,KAAK;AAAA,IACjD;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,OAAO;AAAA,MACL,oBAAoB,EAAE,MAAM,yBAAyB,QAAQ,MAAM;AAAA,MACnE,mBAAmB,EAAE,MAAM,wBAAwB,QAAQ,UAAO;AAAA,MAClE,qBAAqB,EAAE,MAAM,0BAA0B,QAAQ,YAAS;AAAA,MACxE,qBAAqB,EAAE,MAAM,0BAA0B,QAAQ,UAAO;AAAA,MACtE,eAAe,EAAE,MAAM,mBAAmB,QAAQ,QAAQ;AAAA,MAC1D,iBAAiB,EAAE,MAAM,qBAAqB,QAAQ,UAAU;AAAA,MAChE,cAAc,EAAE,MAAM,kBAAkB,QAAQ,MAAM;AAAA,MACtD,gBAAgB,EAAE,MAAM,oBAAoB,QAAQ,QAAQ;AAAA,MAC5D,gBAAgB,EAAE,MAAM,oBAAoB,QAAQ,MAAM;AAAA,MAC1D,mBAAmB,EAAE,MAAM,uBAAuB,QAAQ,OAAO;AAAA,MACjE,qBAAqB,EAAE,MAAM,yBAAyB,QAAQ,SAAS;AAAA,MACvE,qBAAqB,EAAE,MAAM,yBAAyB,QAAQ,OAAO;AAAA,IACvE;AAAA,EACF;AACF;;ACriBA,IAAM,YAAgE,IAAI;AAE1E,YAAY,MAAM,OAAO,OAAO,QAAQ,kBAAiB,GAAG;AAAA,EAC1D,YAAY,QAAQ,SAAS,OAAO,QAAQ,GAAG,KAAK,GAAG;AAAA,IAIrD,IAAI,CAAC,UAAU,IAAI,MAAM,GAAG;AAAA,MAC1B,UAAU,IAAI,QAAQ,KAAK,MAAM,oBAAoB,KAAK,CAAC;AAAA,IAC7D;AAAA,EACF;AACF;AAWO,SAAS,QAAO,CAAC,QAAqE;AAAA,EAC3F,OAAO,UAAU,IAAI,MAAM;AAAA;AAYtB,SAAS,YAAW,CAAC,oBAA8D;AAAA,EACxF,MAAM,KAAK,mBAAkB;AAAA,EAC7B,OAAO,IAAI;AAAA;AAYN,SAAS,YAAW,CAAC,oBAA4B,QAAyB;AAAA,EAC/E,MAAM,QAAQ,aAAY,kBAAkB;AAAA,EAC5C,OAAO,SAAS,QAAQ,UAAU;AAAA;AAY7B,SAAS,cAAa,CAAC,QAAoC;AAAA,EAChE,OAAO,UAAU,IAAI,MAAM,GAAG;AAAA;AAMzB,SAAS,qBAAoB,CAAC,OAA4C;AAAA,EAC/E,OAAO,SAAS;AAAA;AAMX,SAAS,SAAQ,CAAC,OAAgC;AAAA,EACvD,OAAO,UAAU,IAAI,KAAK;AAAA;;;AC3GrB,SAAS,wBAAuB,CAAC,UAA0B;AAAA,EAChE,IAAI,SAAS,SAAS,aAAa;AAAA,IACjC,MAAM,IAAI,yBAAwB,mBAAmB,SAAS,6BAA6B;AAAA,EAC7F;AAAA;AAGK,SAAS,oBAAmB,CACjC,UACA,gBACgC;AAAA,EAChC,IAAI,SAAS,cAAc;AAAA,IACzB,OAAO,SAAS;AAAA,EAClB;AAAA,EAEA,MAAM,cAAc,qBAAoB,SAAS,MAAM;AAAA,EACvD,IAAI,CAAC,aAAa;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,OAAO,eAAe,IAAI,WAAW,GAAG;AAAA;AAInC,SAAS,sBAAqB,CACnC,UACA,cACA,MACA,gBACM;AAAA,EACN,MAAM,eAAe,qBAAoB,UAAU,cAAc;AAAA,EACjE,IAAI,cAAc;AAAA,IAChB,IAAI,CAAC,MAAM;AAAA,MACT,MAAM,IAAI,yBACR,8CAA8C,cAChD;AAAA,IACF;AAAA,IACA,IAAI,CAAC,aAAY,cAAc,IAAI,GAAG;AAAA,MACpC,MAAM,IAAI,yBACR,wBAAwB,aAAa,iBAAiB,eACxD;AAAA,IACF;AAAA,EACF,EAAO,SAAI,MAAM;AAAA,IACf,MAAM,IAAI,yBACR,mBAAmB,oEACrB;AAAA,EACF;AAAA;",
15
+ "debugId": "FA9118B7173D1B9264756E2164756E21",
16
+ "names": []
17
+ }
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  createObjectOperationScope2
4
- } from "./chunk-z30bv4ga.js";
4
+ } from "./chunk-yxb4c62x.js";
5
5
  import {
6
6
  stableJsonStringify2
7
7
  } from "./chunk-wy0qdqfm.js";
@@ -3,14 +3,14 @@ import {
3
3
  createSixbError2,
4
4
  toSixbFailure2,
5
5
  serializeSixbFailure2
6
- } from "./chunk-f4w3yp4f.js";
6
+ } from "./chunk-hzw7yv5g.js";
7
7
  import {
8
8
  ONTOLOGY_OUTBOX_FAILURE_CODES2
9
9
  } from "./chunk-d62kjtbg.js";
10
10
  import {
11
11
  SixbErrorReporter2,
12
12
  reportEventDeliveryFailure3
13
- } from "./chunk-72w2pxk7.js";
13
+ } from "./chunk-y1ahv8b7.js";
14
14
  import {
15
15
  getInvalidJsonValueReason2
16
16
  } from "./chunk-wy0qdqfm.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  isProjectionDefinition2
4
- } from "./chunk-dz5h08xv.js";
4
+ } from "./chunk-bbaa1fet.js";
5
5
  import {
6
6
  isActionDefinition2,
7
7
  isGroupDefinition,
@@ -10,16 +10,16 @@ import {
10
10
  ShareDefinitionError2,
11
11
  isShareDefinition,
12
12
  snapshotShareDefinition
13
- } from "./chunk-g00bfdq6.js";
13
+ } from "./chunk-2cxv584m.js";
14
14
  import {
15
15
  RuntimeError2
16
- } from "./chunk-jsy70480.js";
16
+ } from "./chunk-2h63nrde.js";
17
17
  import {
18
18
  isDatasetDefinition2
19
- } from "./chunk-860dwwy0.js";
19
+ } from "./chunk-cd234ba4.js";
20
20
  import {
21
21
  isPipelineDefinition2
22
- } from "./chunk-1yefycb1.js";
22
+ } from "./chunk-3bnt2wna.js";
23
23
  import {
24
24
  assertPredicateShape,
25
25
  createPropertyPredicateBuilder,
@@ -31,13 +31,13 @@ import {
31
31
  } from "./chunk-e1c18xjx.js";
32
32
  import {
33
33
  compileShareAccessPlan
34
- } from "./chunk-awbhdqyc.js";
34
+ } from "./chunk-3ghw2t5q.js";
35
35
  import {
36
36
  isSyncDefinition2
37
- } from "./chunk-x9m9x2eq.js";
37
+ } from "./chunk-t7dzd1tm.js";
38
38
  import {
39
39
  isWorkflowDefinition2
40
- } from "./chunk-gq8vhakp.js";
40
+ } from "./chunk-nzsy3xrp.js";
41
41
  import {
42
42
  isConnectorDefinition
43
43
  } from "./chunk-9x8dybsb.js";