@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,602 @@
1
+ 'use strict';
2
+
3
+ var chunkILRBGFVD_cjs = require('./chunk-ILRBGFVD.cjs');
4
+ var orbital = require('@holoscript/engine/orbital');
5
+
6
+ // src/traits/JEPAPredictor.ts
7
+ var JEPAPredictor = class {
8
+ constructor(config, weights) {
9
+ if (!Number.isInteger(config.latentDim) || config.latentDim < 1) {
10
+ throw new RangeError(`JEPAPredictor: latentDim must be a positive integer, got ${config.latentDim}`);
11
+ }
12
+ if (!Number.isInteger(config.condDim) || config.condDim < 0) {
13
+ throw new RangeError(`JEPAPredictor: condDim must be a non-negative integer, got ${config.condDim}`);
14
+ }
15
+ this.latentDim = config.latentDim;
16
+ this.condDim = config.condDim;
17
+ this.weights = weights ?? initDeterministicWeights(config.latentDim, config.condDim);
18
+ }
19
+ /**
20
+ * Forward pass: predict next-state embedding.
21
+ *
22
+ * @param contextEmb Float32Array of length latentDim (context encoder output)
23
+ * @param conditioning Float32Array of length condDim, or null/undefined for
24
+ * unconditional prediction
25
+ */
26
+ forward(contextEmb, conditioning) {
27
+ const { latentDim, condDim } = this;
28
+ const inputDim = latentDim + condDim;
29
+ if (contextEmb.length !== latentDim) {
30
+ throw new RangeError(
31
+ `JEPAPredictor.forward: contextEmb.length=${contextEmb.length} \u2260 latentDim=${latentDim}`
32
+ );
33
+ }
34
+ const input = new Float32Array(inputDim);
35
+ input.set(contextEmb, 0);
36
+ if (condDim > 0) {
37
+ const cond = conditioning ?? new Float32Array(condDim);
38
+ if (cond.length !== condDim) {
39
+ throw new RangeError(
40
+ `JEPAPredictor.forward: conditioning.length=${cond.length} \u2260 condDim=${condDim}`
41
+ );
42
+ }
43
+ input.set(cond, latentDim);
44
+ }
45
+ const hidden = matMulVec(this.weights.W1, input, inputDim, latentDim);
46
+ addInPlace(hidden, this.weights.b1);
47
+ reluInPlace(hidden);
48
+ const predicted = matMulVec(this.weights.W2, hidden, latentDim, latentDim);
49
+ addInPlace(predicted, this.weights.b2);
50
+ return { predicted, hidden };
51
+ }
52
+ /**
53
+ * Replace weights (e.g. after an external training step or gradient update).
54
+ * Does NOT implement EMA — callers manage weight schedule externally.
55
+ */
56
+ setWeights(weights) {
57
+ validateWeights(weights, this.latentDim, this.condDim);
58
+ this.weights = weights;
59
+ }
60
+ /** Read-only access to current weights for serialisation. */
61
+ getWeights() {
62
+ return this.weights;
63
+ }
64
+ /**
65
+ * Plan: given a context state string and a list of candidate action names,
66
+ * return the action predicted to yield the highest-confidence next-state
67
+ * embedding (lowest L2 norm from the current state embedding — a proxy for
68
+ * "least surprising / most on-manifold" outcome).
69
+ *
70
+ * Encoding strategy: deterministic text→float32 hash (same technique used
71
+ * in JEPAObjective.encodeContext — no async/LLM dependency at plan time).
72
+ *
73
+ * @param currentState Snapshot string of the agent's current state.
74
+ * @param candidateActions Non-empty list of action name strings to score.
75
+ * @returns The action name with the highest predicted confidence, plus its
76
+ * predicted embedding for downstream SimulationContract verification.
77
+ */
78
+ plan(currentState, candidateActions) {
79
+ if (candidateActions.length === 0) {
80
+ throw new RangeError("JEPAPredictor.plan: candidateActions must be non-empty");
81
+ }
82
+ const contextEmb = textToEmbedding(currentState, this.latentDim);
83
+ let bestAction = candidateActions[0];
84
+ let bestPredicted = new Float32Array(this.latentDim);
85
+ let bestConfidence = -Infinity;
86
+ for (const action of candidateActions) {
87
+ const conditioning = this.condDim > 0 ? textToEmbedding(action, this.condDim) : null;
88
+ const { predicted } = this.forward(contextEmb, conditioning);
89
+ const confidence = -l2Norm(predicted);
90
+ if (confidence > bestConfidence) {
91
+ bestConfidence = confidence;
92
+ bestAction = action;
93
+ bestPredicted = predicted;
94
+ }
95
+ }
96
+ return { action: bestAction, predicted: bestPredicted, confidence: bestConfidence };
97
+ }
98
+ };
99
+ function matMulVec(matrix, vec, inputDim, outputDim) {
100
+ const out = new Float32Array(outputDim);
101
+ for (let i = 0; i < outputDim; i++) {
102
+ let acc = 0;
103
+ const base = i * inputDim;
104
+ for (let j = 0; j < inputDim; j++) {
105
+ acc += matrix[base + j] * vec[j];
106
+ }
107
+ out[i] = acc;
108
+ }
109
+ return out;
110
+ }
111
+ function addInPlace(a, b) {
112
+ for (let i = 0; i < a.length; i++) {
113
+ a[i] += b[i];
114
+ }
115
+ }
116
+ function reluInPlace(a) {
117
+ for (let i = 0; i < a.length; i++) {
118
+ if (a[i] < 0) a[i] = 0;
119
+ }
120
+ }
121
+ function initDeterministicWeights(latentDim, condDim) {
122
+ const inputDim = latentDim + condDim;
123
+ const scale1 = Math.sqrt(2 / inputDim);
124
+ const scale2 = Math.sqrt(2 / latentDim);
125
+ const W1 = new Float32Array(inputDim * latentDim);
126
+ const b1 = new Float32Array(latentDim);
127
+ const W2 = new Float32Array(latentDim * latentDim);
128
+ const b2 = new Float32Array(latentDim);
129
+ let seed = 3735928559;
130
+ const lcg = () => {
131
+ seed = Math.imul(seed, 1664525) + 1013904223;
132
+ return (seed >>> 0) / 4294967296 * 2 - 1;
133
+ };
134
+ for (let i = 0; i < W1.length; i++) W1[i] = lcg() * scale1;
135
+ for (let i = 0; i < W2.length; i++) W2[i] = lcg() * scale2;
136
+ return { W1, b1, W2, b2 };
137
+ }
138
+ function textToEmbedding(text, dim) {
139
+ const out = new Float32Array(dim);
140
+ let h = 5381;
141
+ for (let i = 0; i < text.length; i++) {
142
+ h = Math.imul(h, 33) ^ text.charCodeAt(i);
143
+ h = h >>> 0;
144
+ }
145
+ for (let d = 0; d < dim; d++) {
146
+ h = Math.imul(h, 1664525) + 1013904223;
147
+ h = h >>> 0;
148
+ out[d] = h / 4294967296 * 2 - 1;
149
+ }
150
+ return out;
151
+ }
152
+ function l2Norm(v) {
153
+ let sum = 0;
154
+ for (let i = 0; i < v.length; i++) sum += v[i] * v[i];
155
+ return Math.sqrt(sum);
156
+ }
157
+ function validateWeights(w, latentDim, condDim) {
158
+ const inputDim = latentDim + condDim;
159
+ const expected = {
160
+ W1: inputDim * latentDim,
161
+ b1: latentDim,
162
+ W2: latentDim * latentDim,
163
+ b2: latentDim
164
+ };
165
+ for (const key of ["W1", "b1", "W2", "b2"]) {
166
+ if (w[key].length !== expected[key]) {
167
+ throw new RangeError(
168
+ `JEPAPredictor: weights.${key}.length=${w[key].length} \u2260 expected ${expected[key]}`
169
+ );
170
+ }
171
+ }
172
+ }
173
+
174
+ // src/traits/EmbeddingTrait.ts
175
+ var embeddingHandler = {
176
+ name: "embedding",
177
+ defaultConfig: { default_model: "text-embedding-3-small", default_dimensions: 1536 },
178
+ onAttach(node) {
179
+ node.__embeddingState = { generated: 0 };
180
+ },
181
+ onDetach(node) {
182
+ delete node.__embeddingState;
183
+ },
184
+ onUpdate() {
185
+ },
186
+ onEvent(node, config, context, event) {
187
+ const state = node.__embeddingState;
188
+ if (!state) return;
189
+ if ((typeof event === "string" ? event : event.type) === "embedding:generate") {
190
+ state.generated++;
191
+ const dims = resolveEmbeddingDimensions(event, config);
192
+ const model = event.model ?? config.default_model;
193
+ const input = event.input ?? event.payload?.input ?? "";
194
+ context.emit?.("embedding:result", {
195
+ vector: createDeterministicEmbedding(input, dims, model),
196
+ dimensions: dims,
197
+ model,
198
+ source: "local-deterministic-fallback",
199
+ index: state.generated
200
+ });
201
+ }
202
+ }
203
+ };
204
+ function resolveEmbeddingDimensions(event, config) {
205
+ const rawDimensions = event.dimensions ?? event.payload?.dimensions;
206
+ const dimensions = typeof rawDimensions === "number" ? rawDimensions : config.default_dimensions;
207
+ if (!Number.isFinite(dimensions) || dimensions <= 0) {
208
+ return Math.max(1, Math.floor(config.default_dimensions));
209
+ }
210
+ return Math.floor(dimensions);
211
+ }
212
+ function createDeterministicEmbedding(input, dimensions, model) {
213
+ const vector = new Float32Array(dimensions);
214
+ const text = stringifyEmbeddingInput(input);
215
+ const features = extractEmbeddingFeatures(text);
216
+ for (let i = 0; i < features.length; i++) {
217
+ const feature = features[i];
218
+ const hash = fnv1a(`${model}\0${feature}\0${i}`);
219
+ const index = hash % dimensions;
220
+ const sign = hash & 1 ? 1 : -1;
221
+ const weight = 1 + Math.log1p(feature.length);
222
+ vector[index] += sign * weight;
223
+ }
224
+ normalizeVector(vector);
225
+ return vector;
226
+ }
227
+ function stringifyEmbeddingInput(input) {
228
+ if (typeof input === "string") return input;
229
+ if (input === null || input === void 0) return "";
230
+ try {
231
+ return JSON.stringify(input);
232
+ } catch {
233
+ return String(input);
234
+ }
235
+ }
236
+ function extractEmbeddingFeatures(text) {
237
+ const normalized = text.trim().toLowerCase();
238
+ if (!normalized) return ["<empty>"];
239
+ const tokens = normalized.match(/[a-z0-9_:-]+/g) ?? [normalized];
240
+ const features = [...tokens, `len:${normalized.length}`];
241
+ for (const token of tokens) {
242
+ if (token.length <= 3) {
243
+ features.push(`tok:${token}`);
244
+ continue;
245
+ }
246
+ for (let i = 0; i <= token.length - 3; i++) {
247
+ features.push(`tri:${token.slice(i, i + 3)}`);
248
+ }
249
+ }
250
+ return features;
251
+ }
252
+ function normalizeVector(vector) {
253
+ let normSquared = 0;
254
+ for (const value of vector) {
255
+ normSquared += value * value;
256
+ }
257
+ if (normSquared === 0) {
258
+ vector[0] = 1;
259
+ return;
260
+ }
261
+ const norm = Math.sqrt(normSquared);
262
+ for (let i = 0; i < vector.length; i++) {
263
+ vector[i] = vector[i] / norm;
264
+ }
265
+ }
266
+ function fnv1a(value) {
267
+ let hash = 2166136261;
268
+ for (let i = 0; i < value.length; i++) {
269
+ hash ^= value.charCodeAt(i);
270
+ hash = Math.imul(hash, 16777619);
271
+ }
272
+ return hash >>> 0;
273
+ }
274
+
275
+ // src/traits/JEPAObjective.ts
276
+ var jepObjectiveHandler = {
277
+ name: "jepa_objective",
278
+ defaultConfig: {
279
+ latentDim: 128,
280
+ condDim: 0,
281
+ sigregWeight: 0.05,
282
+ sigregProjections: 64,
283
+ sigregSigma: 1,
284
+ embeddingModel: "jepa-context-encoder"
285
+ },
286
+ onAttach(node, config) {
287
+ const predictorConfig = {
288
+ latentDim: config.latentDim,
289
+ condDim: config.condDim
290
+ };
291
+ node.__jepaState = {
292
+ step: 0,
293
+ predictor: new JEPAPredictor(predictorConfig),
294
+ embeddingConfig: {
295
+ default_model: config.embeddingModel,
296
+ default_dimensions: config.latentDim
297
+ },
298
+ pendingContextEmb: null
299
+ };
300
+ },
301
+ onDetach(node) {
302
+ delete node.__jepaState;
303
+ },
304
+ onUpdate() {
305
+ },
306
+ onEvent(node, config, context, event) {
307
+ const state = node.__jepaState;
308
+ if (!state) return;
309
+ const eventType = typeof event === "string" ? event : event.type;
310
+ if (eventType === "jepa:update_weights") {
311
+ handleWeightUpdate(state, context, event);
312
+ return;
313
+ }
314
+ if (eventType !== "jepa:encode_pair") return;
315
+ state.step++;
316
+ const step = state.step;
317
+ const contextStr = readString(event.context);
318
+ if (!contextStr) {
319
+ emitError(context, { code: "JEPA_CONTEXT_REQUIRED", message: "jepa:encode_pair requires a non-empty context string", step });
320
+ return;
321
+ }
322
+ const targetVec = toFloat32Array(event.targetVec);
323
+ if (!targetVec) {
324
+ emitError(context, { code: "JEPA_TARGET_VEC_REQUIRED", message: "jepa:encode_pair requires targetVec (Float32Array or number[])", step });
325
+ return;
326
+ }
327
+ if (targetVec.length !== config.latentDim) {
328
+ emitError(context, {
329
+ code: "JEPA_TARGET_DIM_MISMATCH",
330
+ message: `targetVec.length=${targetVec.length} \u2260 latentDim=${config.latentDim}`,
331
+ step
332
+ });
333
+ return;
334
+ }
335
+ const contextEmb = encodeContext(state, config, contextStr);
336
+ if (!contextEmb) {
337
+ emitError(context, { code: "JEPA_ENCODE_FAILED", message: "Context encoding returned null vector", step });
338
+ return;
339
+ }
340
+ const conditioning = toFloat32ArrayOrNull(event.conditioning);
341
+ const { predicted } = state.predictor.forward(contextEmb, conditioning);
342
+ const predictionLoss = mseLoss(predicted, targetVec);
343
+ const sigregLoss = computeSIGReg(
344
+ predicted,
345
+ config.sigregProjections,
346
+ config.sigregSigma
347
+ );
348
+ const totalLoss = predictionLoss + config.sigregWeight * sigregLoss;
349
+ context.emit?.("jepa:loss", {
350
+ predictionLoss,
351
+ sigregLoss,
352
+ totalLoss,
353
+ step,
354
+ predicted
355
+ });
356
+ }
357
+ };
358
+ function encodeContext(state, config, contextStr) {
359
+ let result = null;
360
+ const captureContext = {
361
+ vr: null,
362
+ physics: null,
363
+ audio: null,
364
+ haptics: null,
365
+ emit(eventName, payload) {
366
+ if (eventName === "embedding:result") {
367
+ const p = payload;
368
+ const v = p.vector;
369
+ if (v instanceof Float32Array) result = v;
370
+ }
371
+ },
372
+ getState: () => ({}),
373
+ setState: () => {
374
+ },
375
+ getScaleMultiplier: () => 1,
376
+ setScaleContext: () => {
377
+ }
378
+ };
379
+ const mockNode = {};
380
+ embeddingHandler.onAttach?.(mockNode, state.embeddingConfig, captureContext);
381
+ embeddingHandler.onEvent?.(
382
+ mockNode,
383
+ state.embeddingConfig,
384
+ captureContext,
385
+ {
386
+ type: "embedding:generate",
387
+ input: contextStr,
388
+ model: config.embeddingModel,
389
+ dimensions: config.latentDim
390
+ }
391
+ );
392
+ embeddingHandler.onDetach?.(mockNode, state.embeddingConfig, captureContext);
393
+ return result;
394
+ }
395
+ function computeSIGReg(z, numProjections, sigma) {
396
+ const dim = z.length;
397
+ const sigmaSquared = sigma * sigma;
398
+ let total = 0;
399
+ let seed = 3405648436;
400
+ const lcg = () => {
401
+ seed = Math.imul(seed, 1664525) + 1013904223;
402
+ return (seed >>> 0) / 4294967296 * 2 - 1;
403
+ };
404
+ const gaussianPair = () => {
405
+ const u1 = Math.max(1e-12, (lcg() + 1) / 2);
406
+ const u2 = (lcg() + 1) / 2;
407
+ const r = Math.sqrt(-2 * Math.log(u1));
408
+ const theta = 2 * Math.PI * u2;
409
+ return [r * Math.cos(theta), r * Math.sin(theta)];
410
+ };
411
+ for (let p = 0; p < numProjections; p++) {
412
+ let dot = 0;
413
+ for (let i = 0; i < dim; i += 2) {
414
+ const [g1, g2] = gaussianPair();
415
+ const scale = 1 / Math.sqrt(dim);
416
+ dot += z[i] * (g1 * scale);
417
+ if (i + 1 < dim) dot += z[i + 1] * (g2 * scale);
418
+ }
419
+ const proj2 = dot * dot;
420
+ const ratio = proj2 / sigmaSquared;
421
+ if (ratio > 0) {
422
+ total += ratio - 1 - Math.log(ratio);
423
+ } else {
424
+ total += 1;
425
+ }
426
+ }
427
+ return total / numProjections;
428
+ }
429
+ function handleWeightUpdate(state, context, event) {
430
+ try {
431
+ state.predictor.setWeights({
432
+ W1: requireFloat32(event.W1, "W1"),
433
+ b1: requireFloat32(event.b1, "b1"),
434
+ W2: requireFloat32(event.W2, "W2"),
435
+ b2: requireFloat32(event.b2, "b2")
436
+ });
437
+ } catch (err) {
438
+ emitError(context, {
439
+ code: "JEPA_WEIGHTS_INVALID",
440
+ message: err instanceof Error ? err.message : String(err),
441
+ step: state.step
442
+ });
443
+ }
444
+ }
445
+ function mseLoss(a, b) {
446
+ let sum = 0;
447
+ for (let i = 0; i < a.length; i++) {
448
+ const diff = a[i] - b[i];
449
+ sum += diff * diff;
450
+ }
451
+ return sum / a.length;
452
+ }
453
+ function emitError(context, payload) {
454
+ context.emit?.("jepa:error", payload);
455
+ }
456
+ function readString(value) {
457
+ return typeof value === "string" && value.trim().length > 0 ? value : void 0;
458
+ }
459
+ function toFloat32Array(value) {
460
+ if (value instanceof Float32Array) return value;
461
+ if (Array.isArray(value) && value.every((v) => typeof v === "number")) {
462
+ return new Float32Array(value);
463
+ }
464
+ return null;
465
+ }
466
+ function toFloat32ArrayOrNull(value) {
467
+ if (value == null) return null;
468
+ return toFloat32Array(value);
469
+ }
470
+ function requireFloat32(value, name) {
471
+ if (value instanceof Float32Array) return value;
472
+ throw new TypeError(`jepa:update_weights: ${name} must be a Float32Array`);
473
+ }
474
+
475
+ // src/traits/MitosisTrait.ts
476
+ var mitosisHandler = {
477
+ name: "mitosis",
478
+ defaultConfig: {
479
+ strategy: "collaborative",
480
+ max_children: 5,
481
+ auto_cleanup: true
482
+ },
483
+ onAttach(node, config, context) {
484
+ const state = {
485
+ parent_id: ("parent_id" in config ? config.parent_id : null) || null,
486
+ active_children: [],
487
+ tasks_delegated: 0,
488
+ completed_tasks: 0,
489
+ last_sync_time: Date.now()
490
+ };
491
+ node.__mitosisState = state;
492
+ context.emit?.("mitosis_init", {
493
+ nodeId: node.id,
494
+ strategy: config.strategy,
495
+ parent_id: state.parent_id
496
+ });
497
+ },
498
+ onDetach(node, config, context) {
499
+ const state = node.__mitosisState;
500
+ if (state && config.auto_cleanup) {
501
+ for (const childId of state.active_children) {
502
+ context.emit?.("mitosis_despawn_child", { childId });
503
+ }
504
+ }
505
+ delete node.__mitosisState;
506
+ },
507
+ onEvent(node, config, context, event) {
508
+ const state = node.__mitosisState;
509
+ if (!state) return;
510
+ if (event.type === "mitosis_spawned") {
511
+ const childId = event.childId;
512
+ const parentId = event.parentId;
513
+ if (node.id === parentId) {
514
+ state.active_children.push(childId);
515
+ state.tasks_delegated++;
516
+ context.emit?.("on_mitosis_spawned", { childId, parentId: node.id });
517
+ }
518
+ } else if (event.type === "mitosis_child_complete") {
519
+ const childId = "childId" in event ? event.childId : "";
520
+ const parentId = "parentId" in event ? event.parentId : "";
521
+ const result = "result" in event ? event.result : void 0;
522
+ if (node.id === parentId) {
523
+ state.completed_tasks++;
524
+ state.last_sync_time = Date.now();
525
+ context.emit?.("mitosis_synced", {
526
+ parentId: node.id,
527
+ childId,
528
+ result
529
+ });
530
+ if (config.strategy === "collaborative") {
531
+ if (result && typeof result === "object") {
532
+ Object.assign(node.properties || {}, result);
533
+ }
534
+ }
535
+ }
536
+ } else if (event.type === "mitosis_child_failed") {
537
+ context.emit?.("on_mitosis_error", {
538
+ parentId: node.id,
539
+ childId: event.childId,
540
+ error: event.error
541
+ });
542
+ }
543
+ }
544
+ };
545
+ var orbitalHandler = {
546
+ name: "orbital",
547
+ defaultConfig: {},
548
+ /**
549
+ * Called when trait is attached to a node
550
+ */
551
+ onAttach(node, _config, _context) {
552
+ chunkILRBGFVD_cjs.logger.info(`[OrbitalTrait] Attached to ${node.name}`);
553
+ },
554
+ /**
555
+ * Called every frame to update orbital position
556
+ */
557
+ onUpdate(node, config, context, _delta) {
558
+ const properties = node.properties || {};
559
+ const mergedConfig = { ...properties, ...config };
560
+ if (!mergedConfig || !mergedConfig.semiMajorAxis) {
561
+ return;
562
+ }
563
+ const julianDate = context.julianDate || 0;
564
+ const visualScale = context.getScaleMultiplier() * 50;
565
+ const satelliteScale = 5;
566
+ const rawPosition = orbital.calculatePosition(mergedConfig, julianDate);
567
+ const currentScale = mergedConfig.parent ? visualScale * satelliteScale : visualScale;
568
+ let finalPosition = [
569
+ rawPosition[0] * currentScale,
570
+ rawPosition[2] * currentScale,
571
+ rawPosition[1] * currentScale
572
+ ];
573
+ if (mergedConfig.parent) {
574
+ let parentNode = context.getNode?.(mergedConfig.parent);
575
+ if (!parentNode && typeof mergedConfig.parent === "object" && mergedConfig.parent && mergedConfig.parent.position) {
576
+ parentNode = mergedConfig.parent;
577
+ }
578
+ if (parentNode && parentNode.position) {
579
+ finalPosition = [
580
+ finalPosition[0] + (parentNode.position[0] || 0),
581
+ finalPosition[1] + (parentNode.position[1] || 0),
582
+ finalPosition[2] + (parentNode.position[2] || 0)
583
+ ];
584
+ } else {
585
+ if (typeof mergedConfig.parent === "string") {
586
+ chunkILRBGFVD_cjs.logger.warn(`[OrbitalTrait] Parent "${mergedConfig.parent}" not found for ${node.name}`);
587
+ }
588
+ }
589
+ }
590
+ const posArray = [finalPosition[0], finalPosition[1], finalPosition[2]];
591
+ node.position = posArray;
592
+ context.emit("position_update", { position: posArray });
593
+ }
594
+ };
595
+
596
+ exports.JEPAPredictor = JEPAPredictor;
597
+ exports.embeddingHandler = embeddingHandler;
598
+ exports.jepObjectiveHandler = jepObjectiveHandler;
599
+ exports.mitosisHandler = mitosisHandler;
600
+ exports.orbitalHandler = orbitalHandler;
601
+ //# sourceMappingURL=chunk-AIX25INK.cjs.map
602
+ //# sourceMappingURL=chunk-AIX25INK.cjs.map
@@ -1,18 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var chunk3SAK5KFL_cjs = require('./chunk-3SAK5KFL.cjs');
4
- var platform = require('@holoscript/platform');
3
+ var chunkRMHC2VG7_cjs = require('./chunk-RMHC2VG7.cjs');
4
+ var chunkHCCQLAA4_cjs = require('./chunk-HCCQLAA4.cjs');
5
5
 
6
6
  // src/compiler/StateCompiler.ts
7
7
  var StateCompiler_exports = {};
8
- chunk3SAK5KFL_cjs.__export(StateCompiler_exports, {
8
+ chunkHCCQLAA4_cjs.__export(StateCompiler_exports, {
9
9
  StateCompiler: () => exports.StateCompiler,
10
10
  UnauthorizedStateCompilerAccessError: () => exports.UnauthorizedStateCompilerAccessError
11
11
  });
12
12
  exports.StateCompiler = void 0; exports.UnauthorizedStateCompilerAccessError = void 0;
13
- var init_StateCompiler = chunk3SAK5KFL_cjs.__esm({
13
+ var init_StateCompiler = chunkHCCQLAA4_cjs.__esm({
14
14
  "src/compiler/StateCompiler.ts"() {
15
+ chunkRMHC2VG7_cjs.init_AgentRBAC();
16
+ chunkRMHC2VG7_cjs.init_CompilerBase();
15
17
  exports.StateCompiler = class {
18
+ constructor() {
19
+ this.anonCounter = 0;
20
+ }
16
21
  /**
17
22
  * Walk an entire HSPlusAST and extract all per-node stateBlocks.
18
23
  *
@@ -36,12 +41,12 @@ var init_StateCompiler = chunk3SAK5KFL_cjs.__esm({
36
41
  */
37
42
  validateAccess(agentToken) {
38
43
  if (!agentToken) return;
39
- const rbac = platform.getRBAC();
44
+ const rbac = chunkRMHC2VG7_cjs.getRBAC();
40
45
  const decision = rbac.checkAccess({
41
46
  token: agentToken,
42
- resourceType: platform.ResourceType.AST,
47
+ resourceType: "ast" /* AST */,
43
48
  operation: "read",
44
- expectedWorkflowStep: platform.WorkflowStep.GENERATE_ASSEMBLY
49
+ expectedWorkflowStep: "generate_assembly" /* GENERATE_ASSEMBLY */
45
50
  });
46
51
  if (!decision.allowed) {
47
52
  throw new exports.UnauthorizedStateCompilerAccessError(decision, "StateCompiler");
@@ -93,18 +98,12 @@ var init_StateCompiler = chunk3SAK5KFL_cjs.__esm({
93
98
  if (node.name) return node.name;
94
99
  const loc = node.loc;
95
100
  if (loc) return `${node.type}@${loc.start.line}:${loc.start.column}`;
96
- return `${node.type}_${Math.random().toString(36).slice(2, 7)}`;
101
+ return `${node.type}_${this.anonCounter++}`;
97
102
  }
98
103
  };
99
- exports.UnauthorizedStateCompilerAccessError = class extends Error {
104
+ exports.UnauthorizedStateCompilerAccessError = class extends chunkRMHC2VG7_cjs.UnauthorizedCompilerAccessError {
100
105
  constructor(decision, compilerName) {
101
- super(
102
- `[${compilerName}] Unauthorized access: ${decision.reason || "Access denied"}
103
- Agent Role: ${decision.agentRole || "unknown"}
104
- Required Permission: ${decision.requiredPermission || "unknown"}`
105
- );
106
- this.decision = decision;
107
- this.compilerName = compilerName;
106
+ super(decision, "state compilation", compilerName);
108
107
  this.name = "UnauthorizedStateCompilerAccessError";
109
108
  }
110
109
  };
@@ -113,5 +112,5 @@ Required Permission: ${decision.requiredPermission || "unknown"}`
113
112
 
114
113
  exports.StateCompiler_exports = StateCompiler_exports;
115
114
  exports.init_StateCompiler = init_StateCompiler;
116
- //# sourceMappingURL=chunk-B5TCIAPQ.cjs.map
117
- //# sourceMappingURL=chunk-B5TCIAPQ.cjs.map
115
+ //# sourceMappingURL=chunk-AO4I2Z7M.cjs.map
116
+ //# sourceMappingURL=chunk-AO4I2Z7M.cjs.map