@holoscript/core 6.0.4 → 6.1.2

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 (351) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -3
  3. package/bin/holoscript.cjs +3 -0
  4. package/dist/GLTFPipeline-SFIORFJU.js +16 -0
  5. package/dist/GLTFPipeline-VNNDPONV.cjs +37 -0
  6. package/dist/{HoloScriptPlusParser-BN6KVRCM.js → HoloScriptPlusParser-7FBIFUFC.js} +6 -5
  7. package/dist/{HoloScriptPlusParser-NC5FE6AL.cjs → HoloScriptPlusParser-A2W7OCN2.cjs} +17 -16
  8. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  9. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  10. package/dist/{USDZExporter-UWGWNMMD.cjs → USDZExporter-3FWJ25JI.cjs} +344 -16
  11. package/dist/{USDZExporter-NTMBNTDB.js → USDZExporter-D2HQLQYK.js} +344 -16
  12. package/dist/agents/index.cjs +19 -0
  13. package/dist/agents/index.d.ts +100 -0
  14. package/dist/agents/index.js +17 -0
  15. package/dist/chunk-22W6NGYN.js +725 -0
  16. package/dist/{chunk-5OEOHAAW.cjs → chunk-27MPVJVZ.cjs} +64 -28
  17. package/dist/{chunk-RVYPEYPX.js → chunk-2A7FURVO.js} +44 -8
  18. package/dist/{chunk-XCWFGZAA.js → chunk-2B7WVIDZ.js} +11 -8
  19. package/dist/{chunk-NDQNIJEH.js → chunk-2BSMSUCE.js} +250 -24
  20. package/dist/chunk-2HLIGOKU.cjs +5546 -0
  21. package/dist/{chunk-EONILVMF.js → chunk-2M2DPHKB.js} +4 -4
  22. package/dist/{chunk-G7CT3EMP.cjs → chunk-2YSNA2F2.cjs} +319 -47
  23. package/dist/{chunk-IWI6J7FX.js → chunk-33XCOVE3.js} +5 -5
  24. package/dist/chunk-3FOKASKO.cjs +348 -0
  25. package/dist/{chunk-DXJQDCFL.js → chunk-4C57PR42.js} +3 -3
  26. package/dist/{chunk-MPXBVFHQ.js → chunk-4N4SXXWF.js} +4 -3
  27. package/dist/chunk-4PDEPEQW.cjs +41 -0
  28. package/dist/chunk-4R6HPSHJ.js +2176 -0
  29. package/dist/chunk-4R6SBXDB.js +45 -0
  30. package/dist/chunk-4SY77NA4.cjs +413 -0
  31. package/dist/{chunk-YCXFCXDS.js → chunk-4UUKPCY4.js} +668 -110
  32. package/dist/{chunk-LGGRPKTV.cjs → chunk-52ULD552.cjs} +114 -35
  33. package/dist/{chunk-L4G4RLXX.js → chunk-5CKA5SXU.js} +438 -22
  34. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  35. package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
  36. package/dist/chunk-5N54COB6.cjs +327 -0
  37. package/dist/chunk-5S7RKFGR.cjs +446 -0
  38. package/dist/{chunk-KED34ILP.js → chunk-6ASWLXXN.js} +21 -9
  39. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  40. package/dist/{chunk-CAUCGUEA.cjs → chunk-6EX3I5P4.cjs} +6 -6
  41. package/dist/chunk-6FGQNDR4.js +5731 -0
  42. package/dist/{chunk-72EQECGT.cjs → chunk-6KMK2UXT.cjs} +122 -46
  43. package/dist/{chunk-G4VZTCIB.js → chunk-6L4VE27M.js} +33 -23
  44. package/dist/{chunk-ATSKSYVE.cjs → chunk-6S6TKNEA.cjs} +6478 -1738
  45. package/dist/chunk-77V4GTCA.js +596 -0
  46. package/dist/{chunk-ZP4D3CSX.cjs → chunk-7AD52FRS.cjs} +16 -16
  47. package/dist/chunk-A6KINLZJ.js +236 -0
  48. package/dist/chunk-AIA52I7T.cjs +543 -0
  49. package/dist/chunk-AIX25INK.cjs +602 -0
  50. package/dist/{chunk-B5TCIAPQ.cjs → chunk-AO4I2Z7M.cjs} +17 -18
  51. package/dist/{chunk-Q5SJOGHQ.cjs → chunk-BPICAGBV.cjs} +324 -199
  52. package/dist/chunk-BRQJKJGT.cjs +20 -0
  53. package/dist/{chunk-3FXV5S25.cjs → chunk-C37BHB7N.cjs} +6 -3
  54. package/dist/{chunk-XUTX5CBW.js → chunk-CBJY23VL.js} +3 -3
  55. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  56. package/dist/{chunk-XXINBTZK.cjs → chunk-DIL6DDDN.cjs} +101 -45
  57. package/dist/chunk-DMXC24WV.js +404 -0
  58. package/dist/{chunk-PMGODDJA.cjs → chunk-DTGBOSEM.cjs} +12 -12
  59. package/dist/chunk-E7JP3BS3.cjs +61 -0
  60. package/dist/{chunk-HJJLD366.js → chunk-EKBKLK7P.js} +3 -3
  61. package/dist/chunk-EKYL4PE3.cjs +404 -0
  62. package/dist/{chunk-UPJBDCVF.js → chunk-EMMC5CSQ.js} +12 -8
  63. package/dist/{chunk-GGHSW2NN.js → chunk-EOBB6A4B.js} +6389 -1718
  64. package/dist/chunk-EOFNVCM6.js +325 -0
  65. package/dist/{chunk-FHQVYCH2.js → chunk-ER4GATIU.js} +7 -7
  66. package/dist/{chunk-N5FTS757.cjs → chunk-EXKSFGSX.cjs} +7 -148
  67. package/dist/{chunk-LK5IAVH6.cjs → chunk-EXUP2BUM.cjs} +27 -27
  68. package/dist/chunk-FDSGHPAK.js +130 -0
  69. package/dist/chunk-FEWUHQNM.cjs +144 -0
  70. package/dist/{chunk-5TOFIR6L.js → chunk-FGGJQRLZ.js} +5 -142
  71. package/dist/chunk-FHP6LXJS.js +415 -0
  72. package/dist/{chunk-7LCYLPW2.cjs → chunk-FJPADH77.cjs} +7 -4
  73. package/dist/{chunk-T36DDXSF.js → chunk-FXKTYFYA.js} +150 -25
  74. package/dist/chunk-G2LS3RFO.js +623 -0
  75. package/dist/chunk-GCMWDSBZ.cjs +729 -0
  76. package/dist/chunk-GJNCFRJU.cjs +125 -0
  77. package/dist/{chunk-Q4QX3AET.cjs → chunk-GMP623FG.cjs} +16 -13
  78. package/dist/{chunk-XD6IYDUX.js → chunk-GN3KDX4W.js} +119 -43
  79. package/dist/{chunk-QLEAOI3Q.cjs → chunk-GQYKQSTC.cjs} +10 -10
  80. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  81. package/dist/chunk-GZG4KA4E.js +529 -0
  82. package/dist/{chunk-BND3ST2K.cjs → chunk-H3MGK7TX.cjs} +42 -32
  83. package/dist/{chunk-XRKWN5PL.cjs → chunk-H5DZIHJP.cjs} +14 -18
  84. package/dist/{chunk-Z34RLXRA.cjs → chunk-HANL7K2Q.cjs} +65 -50
  85. package/dist/{chunk-3SAK5KFL.cjs → chunk-HCCQLAA4.cjs} +2 -11
  86. package/dist/{chunk-LXJ4667L.cjs → chunk-HGVXZDSK.cjs} +108 -20
  87. package/dist/{chunk-3FJCK5XA.js → chunk-HRODTEEO.js} +30 -10
  88. package/dist/{chunk-HQUEA5R6.cjs → chunk-HZCQO4JM.cjs} +6 -6
  89. package/dist/{chunk-S565K7NK.js → chunk-I2O7TW6B.js} +12 -8
  90. package/dist/chunk-IHESJZSW.js +4490 -0
  91. package/dist/{chunk-FSF7EQVA.cjs → chunk-IRWWS72C.cjs} +63 -22
  92. package/dist/{chunk-5O6TQC6M.cjs → chunk-IVIA7K75.cjs} +689 -127
  93. package/dist/chunk-IVY74O6C.js +247 -0
  94. package/dist/chunk-J32ZJZJH.js +554 -0
  95. package/dist/chunk-J56PTA46.cjs +639 -0
  96. package/dist/chunk-JD7CIZ33.js +1949 -0
  97. package/dist/{chunk-T7LEXZUZ.cjs → chunk-JIYN45TV.cjs} +14 -15
  98. package/dist/{chunk-FFKU7BTK.cjs → chunk-KHPCJRI3.cjs} +24 -21
  99. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  100. package/dist/chunk-KPJL34Y7.cjs +186 -0
  101. package/dist/{chunk-HE7ULERA.cjs → chunk-KQTPCYTG.cjs} +128 -44
  102. package/dist/{chunk-OFKWH2IP.js → chunk-KX76JUQY.js} +3 -3
  103. package/dist/{chunk-33LSUQDD.cjs → chunk-L63H3SQ4.cjs} +43 -31
  104. package/dist/{chunk-K6EKD26I.js → chunk-LAOCQJ2M.js} +64 -8
  105. package/dist/chunk-LM2VU56C.cjs +37 -0
  106. package/dist/chunk-M56JSP4A.js +400 -0
  107. package/dist/chunk-MBOOR7X4.js +18 -0
  108. package/dist/{chunk-XWPNTWDN.cjs → chunk-MJVIRCUV.cjs} +31 -27
  109. package/dist/{chunk-SDAMZIRE.js → chunk-MSMIFMBL.js} +135 -18
  110. package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
  111. package/dist/{chunk-6UEHYZ7V.cjs → chunk-MXJ5SS53.cjs} +447 -31
  112. package/dist/chunk-MYY4PMWX.cjs +264 -0
  113. package/dist/chunk-N75IH2HY.js +258 -0
  114. package/dist/{chunk-GVUR45UF.cjs → chunk-NG77ATEW.cjs} +7 -6
  115. package/dist/chunk-NW5G5FBQ.js +215 -0
  116. package/dist/{chunk-E3FWRT3Z.js → chunk-OEFY723R.js} +28 -13
  117. package/dist/chunk-OEV5RMZO.cjs +3042 -0
  118. package/dist/{chunk-X4ZF6CNE.cjs → chunk-OIQYIIO3.cjs} +7 -7
  119. package/dist/{chunk-2CWOLHTE.js → chunk-OL46QLBJ.js} +3 -11
  120. package/dist/chunk-OPZ7XDDI.js +487 -0
  121. package/dist/chunk-OSYNRVOV.cjs +243 -0
  122. package/dist/{chunk-TEWCN33Y.js → chunk-P7YIA5LN.js} +91 -7
  123. package/dist/chunk-PGANYCAG.cjs +220 -0
  124. package/dist/{chunk-CS2EMTGF.js → chunk-QAVXL2IH.js} +62 -21
  125. package/dist/{chunk-T4NKMBDL.js → chunk-QCCBXSCE.js} +1666 -756
  126. package/dist/{chunk-F4IULT7N.js → chunk-QPOQ7VPI.js} +16 -13
  127. package/dist/{chunk-6XSERL6L.js → chunk-QTPMJRGS.js} +3108 -2827
  128. package/dist/{chunk-F3HH56EB.cjs → chunk-QWNQ523V.cjs} +1730 -823
  129. package/dist/{chunk-R7MA7QWV.js → chunk-R3IVNY6P.js} +102 -23
  130. package/dist/chunk-R75BSDH7.cjs +50 -0
  131. package/dist/chunk-RAXUF5DF.cjs +2196 -0
  132. package/dist/{chunk-BF2235SI.cjs → chunk-RMHC2VG7.cjs} +2876 -2592
  133. package/dist/chunk-RUXGBKPS.cjs +4517 -0
  134. package/dist/{chunk-UERJ3YJV.js → chunk-S5IFXW6E.js} +113 -9
  135. package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
  136. package/dist/{chunk-WB4Z63GG.js → chunk-SIEXCILW.js} +3 -3
  137. package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
  138. package/dist/{chunk-LZ266PCM.cjs → chunk-T5J7ZKP3.cjs} +446 -60
  139. package/dist/chunk-TDCNJHWO.js +341 -0
  140. package/dist/{chunk-IHOUYQIA.js → chunk-TG7O4WBC.js} +5 -5
  141. package/dist/chunk-THCK6ECW.js +2085 -0
  142. package/dist/chunk-TJHVSBP2.js +439 -0
  143. package/dist/chunk-TK74TR4H.js +5541 -0
  144. package/dist/{chunk-CDPGV4DN.js → chunk-U4NBQJBY.js} +14 -15
  145. package/dist/{chunk-NOZZ46QU.js → chunk-UD3DSHZM.js} +10 -14
  146. package/dist/chunk-UDMYRFDZ.js +3038 -0
  147. package/dist/{chunk-WDW67DZB.cjs → chunk-UOIGFQXC.cjs} +90 -68
  148. package/dist/{chunk-BU7VWW2K.js → chunk-URG2SJLK.js} +14 -15
  149. package/dist/{chunk-EQV4R3EV.cjs → chunk-V73NPPTM.cjs} +152 -35
  150. package/dist/chunk-VECQYRXL.js +474 -0
  151. package/dist/chunk-VEXPG4WN.js +1989 -0
  152. package/dist/{chunk-LDP5OK6G.js → chunk-VMLKSV26.js} +5 -5
  153. package/dist/{chunk-5BGSECRJ.cjs → chunk-VSK7W3O5.cjs} +47 -27
  154. package/dist/chunk-VVKVQZI6.js +55 -0
  155. package/dist/{chunk-YQK5JNFK.js → chunk-W55Z7QIX.js} +103 -15
  156. package/dist/{chunk-KSGXLT74.cjs → chunk-W6P2GBHH.cjs} +3 -3
  157. package/dist/{chunk-IBDG74G2.cjs → chunk-W6RW64BB.cjs} +7 -7
  158. package/dist/chunk-WDT3JTGM.cjs +483 -0
  159. package/dist/{chunk-HPS76H7Q.js → chunk-WKX5AMOY.js} +3 -3
  160. package/dist/chunk-WNNE3PO3.js +34 -0
  161. package/dist/{chunk-XG23EUQX.cjs → chunk-WRLUBRKS.cjs} +538 -312
  162. package/dist/{chunk-IFNQFCTM.js → chunk-WRNEH5MO.js} +79 -8
  163. package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
  164. package/dist/{chunk-KCQ5NDYC.cjs → chunk-X3GJPRVK.cjs} +154 -80
  165. package/dist/{chunk-7AGYRWKW.cjs → chunk-XFXGA5IW.cjs} +126 -22
  166. package/dist/{chunk-TQSZUOW5.cjs → chunk-XHIV6326.cjs} +4 -4
  167. package/dist/chunk-XJAN7CZG.cjs +432 -0
  168. package/dist/chunk-XL6INWKT.js +121 -0
  169. package/dist/{chunk-E3UALNFA.js → chunk-XMWZG36H.js} +4 -4
  170. package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
  171. package/dist/{chunk-H5Z7NASB.js → chunk-XT6JY5W5.js} +25 -3
  172. package/dist/chunk-XXZJEFKW.cjs +490 -0
  173. package/dist/chunk-Y3MWXQSB.cjs +5737 -0
  174. package/dist/chunk-YF2I3MV3.js +46 -0
  175. package/dist/{chunk-V3NN3HPP.js → chunk-YIMN575O.js} +437 -52
  176. package/dist/chunk-YIVFJNYV.js +176 -0
  177. package/dist/{chunk-MD6KDHVE.cjs → chunk-YKGPCZEE.cjs} +10 -10
  178. package/dist/chunk-YQELFNJV.js +39 -0
  179. package/dist/chunk-Z5XMPRNC.cjs +5390 -0
  180. package/dist/{chunk-3FYZOR7S.cjs → chunk-ZDSYWBIE.cjs} +18 -18
  181. package/dist/{chunk-6TZPZCOJ.cjs → chunk-ZKSS47EV.cjs} +24 -19
  182. package/dist/chunk-ZUL5AVTX.cjs +1993 -0
  183. package/dist/chunk-ZXBZVXDW.js +5386 -0
  184. package/dist/{chunk-DMG7C4H2.js → chunk-ZZ7RO2UQ.js} +312 -44
  185. package/dist/cli/holoscript-runner.cjs +200 -204
  186. package/dist/cli/holoscript-runner.js +144 -148
  187. package/dist/codebase/index.cjs +1 -1
  188. package/dist/codebase/index.js +1 -1
  189. package/dist/compiler/agent-inference.cjs +10 -7
  190. package/dist/compiler/agent-inference.js +6 -3
  191. package/dist/compiler/android-xr.cjs +12 -7
  192. package/dist/compiler/android-xr.js +10 -5
  193. package/dist/compiler/android.cjs +12 -8
  194. package/dist/compiler/android.js +10 -6
  195. package/dist/compiler/ar.cjs +9 -6
  196. package/dist/compiler/ar.js +7 -4
  197. package/dist/compiler/babylon.cjs +12 -8
  198. package/dist/compiler/babylon.js +11 -7
  199. package/dist/compiler/business-quest.cjs +43 -0
  200. package/dist/compiler/business-quest.js +4 -0
  201. package/dist/compiler/coco.cjs +1 -1
  202. package/dist/compiler/coco.js +1 -1
  203. package/dist/compiler/context.cjs +25 -0
  204. package/dist/compiler/context.d.ts +28 -0
  205. package/dist/compiler/context.js +8 -0
  206. package/dist/compiler/domain-block-utils.cjs +155 -152
  207. package/dist/compiler/domain-block-utils.js +7 -4
  208. package/dist/compiler/dtdl.cjs +10 -7
  209. package/dist/compiler/dtdl.js +7 -4
  210. package/dist/compiler/gltf-pipeline.cjs +9 -9
  211. package/dist/compiler/gltf-pipeline.js +2 -2
  212. package/dist/compiler/godot.cjs +9 -6
  213. package/dist/compiler/godot.js +8 -5
  214. package/dist/compiler/incremental.cjs +12 -7
  215. package/dist/compiler/incremental.js +7 -2
  216. package/dist/compiler/index.cjs +3550 -268
  217. package/dist/compiler/index.d.ts +404 -21
  218. package/dist/compiler/index.js +3280 -138
  219. package/dist/compiler/ios.cjs +11 -8
  220. package/dist/compiler/ios.js +9 -6
  221. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  222. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  223. package/dist/compiler/llm-provider-capabilities.js +8 -0
  224. package/dist/compiler/multi-layer.cjs +14 -10
  225. package/dist/compiler/multi-layer.js +13 -9
  226. package/dist/compiler/nodetoy.cjs +5 -5
  227. package/dist/compiler/nodetoy.js +2 -2
  228. package/dist/compiler/openxr.cjs +10 -6
  229. package/dist/compiler/openxr.js +9 -5
  230. package/dist/compiler/playcanvas.cjs +10 -7
  231. package/dist/compiler/playcanvas.js +9 -6
  232. package/dist/compiler/r3f.cjs +17 -13
  233. package/dist/compiler/r3f.d.ts +22 -0
  234. package/dist/compiler/r3f.js +12 -8
  235. package/dist/compiler/remotion.cjs +1 -1
  236. package/dist/compiler/remotion.js +1 -1
  237. package/dist/compiler/reproducibility.cjs +1 -1
  238. package/dist/compiler/reproducibility.js +1 -1
  239. package/dist/compiler/sdf.cjs +10 -7
  240. package/dist/compiler/sdf.js +8 -5
  241. package/dist/compiler/semantic-scene.cjs +1 -1
  242. package/dist/compiler/semantic-scene.js +1 -1
  243. package/dist/compiler/state.cjs +9 -5
  244. package/dist/compiler/state.js +7 -3
  245. package/dist/compiler/trait-composition.cjs +11 -7
  246. package/dist/compiler/trait-composition.js +7 -3
  247. package/dist/compiler/unity.cjs +10 -6
  248. package/dist/compiler/unity.js +9 -5
  249. package/dist/compiler/unreal.cjs +11 -7
  250. package/dist/compiler/unreal.js +9 -5
  251. package/dist/compiler/urdf.cjs +20 -13
  252. package/dist/compiler/urdf.js +8 -5
  253. package/dist/compiler/usd-physics.cjs +10 -7
  254. package/dist/compiler/usd-physics.js +7 -4
  255. package/dist/compiler/visionos.cjs +10 -6
  256. package/dist/compiler/visionos.js +9 -5
  257. package/dist/compiler/vrchat.cjs +10 -7
  258. package/dist/compiler/vrchat.js +8 -5
  259. package/dist/compiler/vrr.cjs +10 -7
  260. package/dist/compiler/vrr.js +8 -5
  261. package/dist/compiler/wasm.cjs +13 -10
  262. package/dist/compiler/wasm.js +8 -5
  263. package/dist/compiler/webgpu.cjs +9 -6
  264. package/dist/compiler/webgpu.js +8 -5
  265. package/dist/constants.d.ts +3 -2
  266. package/dist/coordinators/index.cjs +1266 -0
  267. package/dist/coordinators/index.d.ts +260 -0
  268. package/dist/coordinators/index.js +1259 -0
  269. package/dist/debugger.cjs +9 -7
  270. package/dist/debugger.js +7 -5
  271. package/dist/entries/interop.cjs +23 -21
  272. package/dist/entries/interop.js +5 -3
  273. package/dist/entries/scripting.cjs +18 -18
  274. package/dist/entries/scripting.js +8 -8
  275. package/dist/hololand/index.cjs +146 -0
  276. package/dist/hololand/index.d.ts +70 -0
  277. package/dist/hololand/index.js +5 -0
  278. package/dist/index.cjs +20332 -18121
  279. package/dist/index.d.ts +1477 -40
  280. package/dist/index.js +19451 -17638
  281. package/dist/math/tropical-spmv.cjs +45 -0
  282. package/dist/math/tropical-spmv.js +4 -0
  283. package/dist/math/vec3.cjs +14 -14
  284. package/dist/math/vec3.js +2 -2
  285. package/dist/{ml-dsa-PHCWUBPX.cjs → ml-dsa-FSKBTE3W.cjs} +177 -90
  286. package/dist/{ml-dsa-WYLJHJO6.js → ml-dsa-Z7JDKW4L.js} +158 -71
  287. package/dist/paper-0c-spike/index.cjs +150 -0
  288. package/dist/paper-0c-spike/index.d.ts +29 -0
  289. package/dist/paper-0c-spike/index.js +141 -0
  290. package/dist/parser.cjs +45 -11
  291. package/dist/parser.d.ts +11 -0
  292. package/dist/parser.js +10 -8
  293. package/dist/{playwright-RL6GY4F7.cjs → playwright-3AT3AKTV.cjs} +1985 -1985
  294. package/dist/{playwright-5OSAPTNH.js → playwright-VZPDVUEQ.js} +3 -3
  295. package/dist/reconstruction/index.cjs +153 -0
  296. package/dist/reconstruction/index.d.ts +105 -0
  297. package/dist/reconstruction/index.js +8 -0
  298. package/dist/runtime.cjs +7 -5
  299. package/dist/runtime.js +6 -4
  300. package/dist/self-improvement/index.cjs +563 -0
  301. package/dist/self-improvement/index.js +545 -0
  302. package/dist/storage/index.cjs +10 -9
  303. package/dist/storage/index.js +3 -2
  304. package/dist/testing.cjs +25 -0
  305. package/dist/testing.d.ts +70 -0
  306. package/dist/testing.js +4 -0
  307. package/dist/tools/index.d.ts +22 -1
  308. package/dist/traitDocs/traitDocs.cjs +33 -0
  309. package/dist/traitDocs/traitDocs.d.ts +69 -0
  310. package/dist/traitDocs/traitDocs.js +7 -0
  311. package/dist/traits/botanical-lotus.cjs +41 -0
  312. package/dist/traits/botanical-lotus.d.ts +172 -0
  313. package/dist/traits/botanical-lotus.js +4 -0
  314. package/dist/traits/engines/index.cjs +520 -0
  315. package/dist/traits/engines/index.js +380 -0
  316. package/dist/traits/index.cjs +17630 -7881
  317. package/dist/traits/index.d.ts +197 -0
  318. package/dist/traits/index.js +16573 -7193
  319. package/dist/traits/simulation-solver-factory.cjs +13 -0
  320. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  321. package/dist/traits/simulation-solver-factory.js +4 -0
  322. package/dist/traits/webcam-gaze.cjs +35 -0
  323. package/dist/traits/webcam-gaze.d.ts +17 -0
  324. package/dist/traits/webcam-gaze.js +4 -0
  325. package/dist/type-checker.cjs +6 -5
  326. package/dist/type-checker.js +4 -3
  327. package/dist/world/index.cjs +947 -0
  328. package/dist/world/index.d.ts +147 -0
  329. package/dist/world/index.js +939 -0
  330. package/dist/world-model/index.cjs +1446 -0
  331. package/dist/world-model/index.d.ts +119 -0
  332. package/dist/world-model/index.js +1414 -0
  333. package/dist/wot/index.cjs +29 -0
  334. package/dist/wot/index.js +4 -0
  335. package/package.json +153 -61
  336. package/dist/GLTFPipeline-DEN36VNK.js +0 -12
  337. package/dist/GLTFPipeline-YPCAK236.cjs +0 -33
  338. package/dist/chunk-4XSNJCLC.cjs +0 -1859
  339. package/dist/chunk-A7PIMZGU.js +0 -263
  340. package/dist/chunk-BWFJEM5A.js +0 -5419
  341. package/dist/chunk-CBJSLA2E.cjs +0 -5423
  342. package/dist/chunk-K3JDKWGI.cjs +0 -270
  343. package/dist/chunk-LSW7P7ML.js +0 -3675
  344. package/dist/chunk-MEASWI2Y.js +0 -126
  345. package/dist/chunk-NCUKG4SK.cjs +0 -3075
  346. package/dist/chunk-Q5JT3YML.cjs +0 -129
  347. package/dist/chunk-QGKNANZ3.js +0 -3071
  348. package/dist/chunk-S2N5TNMA.js +0 -1855
  349. package/dist/chunk-TSH3MSQU.cjs +0 -129
  350. package/dist/chunk-WGMEAYBG.js +0 -126
  351. package/dist/chunk-X6SEAXAX.cjs +0 -3681
@@ -0,0 +1,557 @@
1
+ 'use strict';
2
+
3
+ // src/parser/PipelineParser.ts
4
+ var VALID_SOURCE_TYPES = /* @__PURE__ */ new Set([
5
+ "rest",
6
+ "stream",
7
+ "filesystem",
8
+ "database",
9
+ "mcp",
10
+ "list",
11
+ "user_input",
12
+ "stdout",
13
+ "webhook"
14
+ ]);
15
+ var VALID_TRANSFORM_TYPES = /* @__PURE__ */ new Set([
16
+ "llm",
17
+ "mcp",
18
+ "http",
19
+ "field_mapping"
20
+ ]);
21
+ var VALID_SINK_TYPES = /* @__PURE__ */ new Set([
22
+ "rest",
23
+ "webhook",
24
+ "mcp",
25
+ "filesystem",
26
+ "database",
27
+ "stdout",
28
+ "holo"
29
+ ]);
30
+ function stripComments(source) {
31
+ const lines = source.split("\n");
32
+ return lines.map((line) => {
33
+ let inString = null;
34
+ for (let i = 0; i < line.length; i++) {
35
+ const ch = line[i];
36
+ if (inString) {
37
+ if (ch === inString && line[i - 1] !== "\\") inString = null;
38
+ } else if (ch === '"' || ch === "'") {
39
+ inString = ch;
40
+ } else if (ch === "/" && line[i + 1] === "/") {
41
+ return line.substring(0, i);
42
+ }
43
+ }
44
+ return line;
45
+ }).join("\n");
46
+ }
47
+ function parseDuration(value) {
48
+ const match = value.match(/^(\d+)(s|m|h|d)$/);
49
+ if (!match) return void 0;
50
+ return { value: parseInt(match[1], 10), unit: match[2] };
51
+ }
52
+ function extractBlock(source, keyword, name) {
53
+ const results = [];
54
+ const namePattern = "(\\w+)";
55
+ const regex = new RegExp(`${keyword}\\s+${namePattern}\\s*\\{`, "g");
56
+ let match;
57
+ while ((match = regex.exec(source)) !== null) {
58
+ const blockName = match[1];
59
+ const startLine = source.substring(0, match.index).split("\n").length;
60
+ const startIdx = source.indexOf("{", match.index);
61
+ let depth = 1;
62
+ let i = startIdx + 1;
63
+ while (i < source.length && depth > 0) {
64
+ if (source[i] === "{") depth++;
65
+ if (source[i] === "}") depth--;
66
+ i++;
67
+ }
68
+ results.push({
69
+ content: source.substring(startIdx + 1, i - 1),
70
+ name: blockName,
71
+ startLine
72
+ });
73
+ }
74
+ return results;
75
+ }
76
+ function parseInlineObjectLiteral(value) {
77
+ const trimmed = value.trim();
78
+ if (!trimmed.startsWith("{") || !trimmed.endsWith("}")) return void 0;
79
+ const inner = trimmed.slice(1, -1).trim();
80
+ if (!inner) return {};
81
+ const parts = [];
82
+ let current = "";
83
+ let depth = 0;
84
+ let inQuote = null;
85
+ for (let i = 0; i < inner.length; i++) {
86
+ const ch = inner[i];
87
+ const prev = i > 0 ? inner[i - 1] : "";
88
+ if (inQuote) {
89
+ current += ch;
90
+ if (ch === inQuote && prev !== "\\") inQuote = null;
91
+ continue;
92
+ }
93
+ if (ch === '"' || ch === "'") {
94
+ inQuote = ch;
95
+ current += ch;
96
+ continue;
97
+ }
98
+ if (ch === "{" || ch === "[") depth++;
99
+ if (ch === "}" || ch === "]") depth--;
100
+ if (ch === "," && depth === 0) {
101
+ if (current.trim()) parts.push(current.trim());
102
+ current = "";
103
+ continue;
104
+ }
105
+ current += ch;
106
+ }
107
+ if (current.trim()) parts.push(current.trim());
108
+ const out = {};
109
+ for (const part of parts) {
110
+ const idx = part.indexOf(":");
111
+ if (idx <= 0) return void 0;
112
+ const key = part.slice(0, idx).trim().replace(/^['"]|['"]$/g, "");
113
+ const rawVal = part.slice(idx + 1).trim();
114
+ let parsed = rawVal;
115
+ if (rawVal.startsWith('"') && rawVal.endsWith('"') || rawVal.startsWith("'") && rawVal.endsWith("'")) {
116
+ parsed = rawVal.slice(1, -1);
117
+ } else if (rawVal === "true") {
118
+ parsed = true;
119
+ } else if (rawVal === "false") {
120
+ parsed = false;
121
+ } else if (/^-?\d+$/.test(rawVal)) {
122
+ parsed = parseInt(rawVal, 10);
123
+ } else if (/^-?\d+\.\d+$/.test(rawVal)) {
124
+ parsed = parseFloat(rawVal);
125
+ } else if (rawVal.startsWith("{") && rawVal.endsWith("}")) {
126
+ parsed = parseInlineObjectLiteral(rawVal) ?? rawVal;
127
+ }
128
+ out[key] = parsed;
129
+ }
130
+ return out;
131
+ }
132
+ function splitPropertyLines(content) {
133
+ const lines = [];
134
+ let current = "";
135
+ let depth = 0;
136
+ let inQuote = null;
137
+ const flush = () => {
138
+ const trimmed = current.trim();
139
+ if (trimmed) lines.push(trimmed);
140
+ current = "";
141
+ };
142
+ for (let i = 0; i < content.length; i++) {
143
+ const ch = content[i];
144
+ const prev = i > 0 ? content[i - 1] : "";
145
+ if (inQuote) {
146
+ current += ch;
147
+ if (ch === inQuote && prev !== "\\") inQuote = null;
148
+ continue;
149
+ }
150
+ if (ch === '"' || ch === "'" || ch === "`") {
151
+ inQuote = ch;
152
+ current += ch;
153
+ continue;
154
+ }
155
+ if (ch === "{" || ch === "[" || ch === "(") depth++;
156
+ if (ch === "}" || ch === "]" || ch === ")") depth = Math.max(0, depth - 1);
157
+ if (ch === "\n" || ch === "\r") {
158
+ flush();
159
+ continue;
160
+ }
161
+ if (depth === 0 && /\s/.test(ch) && current.trim() && /^\w+\s*:/.test(content.slice(i + 1))) {
162
+ flush();
163
+ continue;
164
+ }
165
+ current += ch;
166
+ }
167
+ flush();
168
+ return lines;
169
+ }
170
+ function parseProperties(content) {
171
+ const props = {};
172
+ const lines = splitPropertyLines(content);
173
+ let currentKey = null;
174
+ let multilineVal = [];
175
+ for (const line of lines) {
176
+ const trimmed = line.trim();
177
+ if (currentKey !== null) {
178
+ multilineVal.push(line);
179
+ continue;
180
+ }
181
+ if (!trimmed || trimmed.startsWith("//")) continue;
182
+ const kvMatch = trimmed.match(/^(\w+)\s*:\s+(.+)$/);
183
+ if (kvMatch) {
184
+ const key = kvMatch[1];
185
+ let val = kvMatch[2].trim();
186
+ if (typeof val === "string" && val.startsWith("|")) {
187
+ currentKey = key;
188
+ multilineVal = [];
189
+ continue;
190
+ }
191
+ if (typeof val === "string" && val.endsWith(",")) {
192
+ val = val.slice(0, -1).trim();
193
+ }
194
+ if (typeof val === "string") {
195
+ const strVal = val;
196
+ const inlineObject = parseInlineObjectLiteral(strVal);
197
+ if (inlineObject) {
198
+ val = inlineObject;
199
+ } else if (strVal.startsWith('"') && strVal.endsWith('"')) {
200
+ val = strVal.slice(1, -1);
201
+ } else if (strVal.startsWith("'") && strVal.endsWith("'")) {
202
+ val = strVal.slice(1, -1);
203
+ } else if (strVal === "true") {
204
+ val = true;
205
+ } else if (strVal === "false") {
206
+ val = false;
207
+ } else if (/^\d+$/.test(strVal)) {
208
+ val = parseInt(strVal, 10);
209
+ } else if (/^\d+\.\d+$/.test(strVal)) {
210
+ val = parseFloat(strVal);
211
+ }
212
+ }
213
+ props[key] = val;
214
+ }
215
+ }
216
+ if (currentKey !== null) {
217
+ props[currentKey] = multilineVal.join("\n");
218
+ }
219
+ return props;
220
+ }
221
+ function parseNestedBlock(content, keyword) {
222
+ const blocks = extractBlock(content, keyword);
223
+ if (blocks.length > 0) {
224
+ return parseProperties(blocks[0].content);
225
+ }
226
+ const escaped = keyword.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
227
+ const anonRegex = new RegExp(`(?:^|[^\\w.])${escaped}\\s*\\{`);
228
+ const match = anonRegex.exec(content);
229
+ if (!match) return void 0;
230
+ const startIdx = content.indexOf("{", match.index);
231
+ if (startIdx < 0) return void 0;
232
+ let depth = 1;
233
+ let i = startIdx + 1;
234
+ while (i < content.length && depth > 0) {
235
+ if (content[i] === "{") depth++;
236
+ if (content[i] === "}") depth--;
237
+ i++;
238
+ }
239
+ return parseProperties(content.substring(startIdx + 1, i - 1));
240
+ }
241
+ function parseFieldMappings(content) {
242
+ const mappings = [];
243
+ const lines = content.split("\n");
244
+ const pathPattern = "[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)*(?:\\[\\])?";
245
+ for (const line of lines) {
246
+ const trimmed = line.trim();
247
+ if (!trimmed || trimmed.startsWith("//")) continue;
248
+ const mapMatch = trimmed.match(
249
+ new RegExp(`^(${pathPattern})\\s*->\\s*(${pathPattern})(?:\\s*:\\s*(.+))?$`)
250
+ );
251
+ if (mapMatch) {
252
+ const transforms = mapMatch[3] ? mapMatch[3].split(":").map((t) => t.trim()).filter(Boolean) : [];
253
+ mappings.push({
254
+ from: mapMatch[1],
255
+ to: mapMatch[2],
256
+ transforms
257
+ });
258
+ }
259
+ }
260
+ return mappings;
261
+ }
262
+ function parseValidateFields(content) {
263
+ const fields = [];
264
+ const lines = content.split("\n");
265
+ for (const line of lines) {
266
+ const trimmed = line.trim();
267
+ if (!trimmed || trimmed.startsWith("//")) continue;
268
+ const vMatch = trimmed.match(/^(\w+)\s*:\s*(.+)$/);
269
+ if (vMatch) {
270
+ const rules = vMatch[2].split(",").map((r) => r.trim()).filter(Boolean);
271
+ fields.push({ field: vMatch[1], rules });
272
+ }
273
+ }
274
+ return fields;
275
+ }
276
+ function parseBranchRoutes(content) {
277
+ const routes = [];
278
+ const lines = content.split("\n");
279
+ for (const line of lines) {
280
+ const trimmed = line.trim();
281
+ if (!trimmed || trimmed.startsWith("//")) continue;
282
+ const whenMatch = trimmed.match(/^when\s+(.+?)\s*->\s*sink\s+(\w+)$/);
283
+ if (whenMatch) {
284
+ routes.push({ condition: whenMatch[1], sinkName: whenMatch[2] });
285
+ continue;
286
+ }
287
+ const defaultMatch = trimmed.match(/^default\s*->\s*sink\s+(\w+)$/);
288
+ if (defaultMatch) {
289
+ routes.push({ condition: "default", sinkName: defaultMatch[1] });
290
+ }
291
+ }
292
+ return routes;
293
+ }
294
+ function parseStringArray(content) {
295
+ const match = content.match(/\[([\s\S]*?)\]/);
296
+ if (!match) return [];
297
+ return match[1].split(",").map((s) => s.trim().replace(/^["']|["']$/g, "")).filter(Boolean);
298
+ }
299
+ function parsePipeline(source) {
300
+ const errors = [];
301
+ const clean = stripComments(source);
302
+ const pipelineBlocks = extractBlock(clean, "pipeline");
303
+ if (pipelineBlocks.length === 0) {
304
+ const quotedMatch = clean.match(/pipeline\s+["']([^"']+)["']\s*\{/);
305
+ if (!quotedMatch) {
306
+ return { success: false, errors: [{ message: "No pipeline block found" }] };
307
+ }
308
+ const startIdx = clean.indexOf("{", quotedMatch.index);
309
+ let depth = 1;
310
+ let i = startIdx + 1;
311
+ while (i < clean.length && depth > 0) {
312
+ if (clean[i] === "{") depth++;
313
+ if (clean[i] === "}") depth--;
314
+ i++;
315
+ }
316
+ const pipelineContent = clean.substring(startIdx + 1, i - 1);
317
+ return parsePipelineContent(quotedMatch[1], pipelineContent, errors);
318
+ }
319
+ return parsePipelineContent(pipelineBlocks[0].name, pipelineBlocks[0].content, errors);
320
+ }
321
+ function parsePipelineContent(name, content, errors) {
322
+ const invalidKeywords = [
323
+ "environment",
324
+ "spatial_group",
325
+ "object",
326
+ "orb",
327
+ "theme",
328
+ "light",
329
+ "camera",
330
+ "audio",
331
+ "zone",
332
+ "timeline",
333
+ "particle_system",
334
+ "effects",
335
+ "ui",
336
+ "npc",
337
+ "quest",
338
+ "dialogue",
339
+ "ability",
340
+ "achievement",
341
+ "talent_tree",
342
+ "behavior",
343
+ "state_machine",
344
+ "shape",
345
+ "terrain",
346
+ "waypoints",
347
+ "spawn_group",
348
+ "composition",
349
+ "constraint",
350
+ "sub_orb",
351
+ "norm",
352
+ "metanorm"
353
+ ];
354
+ const contentForKeywordCheck = content.replace(/"(?:\\.|[^"\\])*"/g, '""').replace(/'(?:\\.|[^'\\])*'/g, "''").replace(/`(?:\\.|[^`\\])*`/g, "``").replace(/template:\s*\|[\s\S]*?(?=\n\s*\})/g, 'template: ""');
355
+ for (const keyword of invalidKeywords) {
356
+ if (new RegExp(`\\b${keyword}\\b`).test(contentForKeywordCheck)) {
357
+ errors.push({
358
+ message: `SyntaxError: '${keyword}' is not valid in a pipeline context. Use .holo for spatial compositions or .hsplus for behaviors.`
359
+ });
360
+ }
361
+ }
362
+ if (/\btemplate\s+\w+\s*\{/.test(contentForKeywordCheck)) {
363
+ errors.push({
364
+ message: "SyntaxError: 'template' is not valid in a pipeline context. Use .holo for spatial compositions or .hsplus for behaviors."
365
+ });
366
+ }
367
+ const props = parseProperties(content);
368
+ const schedule = typeof props.schedule === "string" ? props.schedule : void 0;
369
+ const timeout = typeof props.timeout === "string" ? parseDuration(props.timeout) : void 0;
370
+ let retry;
371
+ const retryBlock = parseNestedBlock(content, "retry");
372
+ if (retryBlock) {
373
+ retry = {
374
+ max: typeof retryBlock.max === "number" ? retryBlock.max : 3,
375
+ backoff: retryBlock.backoff || "exponential"
376
+ };
377
+ }
378
+ const paramsBlock = parseNestedBlock(content, "params");
379
+ const params = paramsBlock;
380
+ const sources = [];
381
+ for (const block of extractBlock(content, "source")) {
382
+ const p = parseProperties(block.content);
383
+ const type = typeof p.type === "string" ? p.type : "rest";
384
+ if (!VALID_SOURCE_TYPES.has(type)) {
385
+ errors.push({
386
+ message: `Source "${block.name}" has unsupported type "${type}"`,
387
+ line: block.startLine,
388
+ block: block.name
389
+ });
390
+ }
391
+ sources.push({
392
+ kind: "source",
393
+ name: block.name,
394
+ type,
395
+ endpoint: p.endpoint,
396
+ path: p.path,
397
+ pattern: p.pattern,
398
+ since: p.since,
399
+ method: p.method,
400
+ auth: parseNestedBlock(block.content, "auth"),
401
+ pagination: parseNestedBlock(block.content, "pagination"),
402
+ properties: p
403
+ });
404
+ }
405
+ const transforms = [];
406
+ for (const block of extractBlock(content, "transform")) {
407
+ const p = parseProperties(block.content);
408
+ const mappings = parseFieldMappings(block.content);
409
+ const hasType = p.type !== void 0;
410
+ const type = hasType ? String(p.type) : mappings.length > 0 ? "field_mapping" : void 0;
411
+ if (!type) {
412
+ errors.push({
413
+ message: `Transform "${block.name}" missing type or field mappings`,
414
+ line: block.startLine,
415
+ block: block.name
416
+ });
417
+ } else if (!VALID_TRANSFORM_TYPES.has(type)) {
418
+ errors.push({
419
+ message: `Transform "${block.name}" has unsupported type "${type}"`,
420
+ line: block.startLine,
421
+ block: block.name
422
+ });
423
+ }
424
+ transforms.push({
425
+ kind: "transform",
426
+ name: block.name,
427
+ type,
428
+ mappings: mappings.length > 0 ? mappings : void 0,
429
+ model: p.model,
430
+ prompt: p.prompt,
431
+ input: p.input,
432
+ output: p.output,
433
+ server: p.server,
434
+ tool: p.tool,
435
+ args: p.args,
436
+ method: p.method,
437
+ url: p.url,
438
+ timeout: typeof p.timeout === "string" ? parseDuration(p.timeout) : void 0,
439
+ where: p.where,
440
+ properties: p
441
+ });
442
+ }
443
+ const filters = [];
444
+ for (const block of extractBlock(content, "filter")) {
445
+ const p = parseProperties(block.content);
446
+ if (!p.where) {
447
+ errors.push({
448
+ message: `Filter "${block.name}" missing 'where' clause`,
449
+ line: block.startLine,
450
+ block: block.name
451
+ });
452
+ }
453
+ filters.push({
454
+ kind: "filter",
455
+ name: block.name,
456
+ where: p.where || ""
457
+ });
458
+ }
459
+ const validates = [];
460
+ for (const block of extractBlock(content, "validate")) {
461
+ validates.push({
462
+ kind: "validate",
463
+ name: block.name,
464
+ fields: parseValidateFields(block.content)
465
+ });
466
+ }
467
+ const merges = [];
468
+ for (const block of extractBlock(content, "merge")) {
469
+ const p = parseProperties(block.content);
470
+ const fromArr = typeof p.from === "string" ? parseStringArray(p.from) : [];
471
+ merges.push({
472
+ kind: "merge",
473
+ name: block.name,
474
+ from: fromArr,
475
+ dedup: parseNestedBlock(block.content, "dedup"),
476
+ strategy: p.strategy
477
+ });
478
+ }
479
+ const branches = [];
480
+ for (const block of extractBlock(content, "branch")) {
481
+ branches.push({
482
+ kind: "branch",
483
+ name: block.name,
484
+ routes: parseBranchRoutes(block.content)
485
+ });
486
+ }
487
+ const sinks = [];
488
+ for (const block of extractBlock(content, "sink")) {
489
+ const p = parseProperties(block.content);
490
+ const type = typeof p.type === "string" ? p.type : "rest";
491
+ if (!VALID_SINK_TYPES.has(type)) {
492
+ errors.push({
493
+ message: `Sink "${block.name}" has unsupported type "${type}"`,
494
+ line: block.startLine,
495
+ block: block.name
496
+ });
497
+ }
498
+ sinks.push({
499
+ kind: "sink",
500
+ name: block.name,
501
+ type,
502
+ endpoint: p.endpoint,
503
+ path: p.path,
504
+ method: p.method,
505
+ auth: parseNestedBlock(block.content, "auth"),
506
+ batch: parseNestedBlock(block.content, "batch"),
507
+ onError: parseNestedBlock(block.content, "on_error"),
508
+ format: p.format,
509
+ append: p.append,
510
+ server: p.server,
511
+ tool: p.tool,
512
+ args: p.args,
513
+ template: p.template,
514
+ hash: p.hash,
515
+ properties: p
516
+ });
517
+ }
518
+ const steps = [
519
+ ...sources,
520
+ ...merges,
521
+ ...transforms,
522
+ ...filters,
523
+ ...validates,
524
+ ...branches,
525
+ ...sinks
526
+ ];
527
+ if (sources.length === 0) {
528
+ errors.push({ message: "Pipeline has no sources" });
529
+ }
530
+ if (sinks.length === 0) {
531
+ errors.push({ message: "Pipeline has no sinks" });
532
+ }
533
+ const pipeline = {
534
+ name,
535
+ schedule,
536
+ timeout,
537
+ retry,
538
+ params,
539
+ steps,
540
+ sources,
541
+ transforms,
542
+ filters,
543
+ validates,
544
+ merges,
545
+ branches,
546
+ sinks
547
+ };
548
+ return { success: errors.length === 0, pipeline, errors };
549
+ }
550
+ function isPipelineSource(source) {
551
+ return /pipeline\s+["']?\w/.test(source);
552
+ }
553
+
554
+ exports.isPipelineSource = isPipelineSource;
555
+ exports.parsePipeline = parsePipeline;
556
+ //# sourceMappingURL=chunk-KKFZ3B6J.cjs.map
557
+ //# sourceMappingURL=chunk-KKFZ3B6J.cjs.map