@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
@@ -1,23 +1,30 @@
1
1
  #!/usr/bin/env node
2
- import { generateProvenance, checkLicenseCompatibility, ethToWei, calculateRevenueDistribution, formatRevenueDistribution, PROTOCOL_CONSTANTS, CompositionTestRunner, registerStdlib } from '../chunk-DMG7C4H2.js';
3
- import { AbsorbProcessor, ScriptTestRunner, HotReloadWatcher } from '../chunk-EONILVMF.js';
4
- import { InteropContext } from '../chunk-FF3Q7ADR.js';
5
- import { parse } from '../chunk-V3NN3HPP.js';
6
- import '../chunk-MPXBVFHQ.js';
7
- import '../chunk-NDQNIJEH.js';
8
- import '../chunk-IFNQFCTM.js';
9
- import '../chunk-HPS76H7Q.js';
10
- import '../chunk-WB4Z63GG.js';
11
- import '../chunk-XUTX5CBW.js';
12
- import '../chunk-2CWOLHTE.js';
2
+ import { checkLicenseCompatibility, ethToWei, calculateRevenueDistribution, formatRevenueDistribution, PROTOCOL_CONSTANTS, CompositionTestRunner, registerStdlib } from '../chunk-ZZ7RO2UQ.js';
3
+ import { InteropContext } from '../chunk-5JEU52DW.js';
4
+ import { AbsorbProcessor, ScriptTestRunner, HotReloadWatcher } from '../chunk-2M2DPHKB.js';
5
+ import { generateProvenance } from '../chunk-4R6SBXDB.js';
6
+ import { parse } from '../chunk-YIMN575O.js';
7
+ import '../chunk-4N4SXXWF.js';
8
+ import '../chunk-2BSMSUCE.js';
9
+ import '../chunk-WRNEH5MO.js';
10
+ import '../chunk-WKX5AMOY.js';
11
+ import '../chunk-SIEXCILW.js';
12
+ import '../chunk-CBJY23VL.js';
13
+ import { init_safeJsonParse, readJson, jsonClone } from '../chunk-VVKVQZI6.js';
14
+ import '../chunk-OL46QLBJ.js';
13
15
  import 'dotenv/config';
14
16
  import * as fs from 'fs';
15
17
  import * as path from 'path';
16
18
  import * as readline from 'readline';
17
19
  import { spawn } from 'child_process';
18
20
  import { randomUUID } from 'crypto';
19
- import { createHeadlessRuntime, HEADLESS_PROFILE, getProfile } from '@holoscript/engine/runtime';
20
21
 
22
+ init_safeJsonParse();
23
+ var engineRuntimeModule;
24
+ async function loadEngineRuntime() {
25
+ engineRuntimeModule ?? (engineRuntimeModule = await import('@holoscript/engine/runtime'));
26
+ return engineRuntimeModule;
27
+ }
21
28
  function defaultModelForProvider(provider) {
22
29
  switch (provider) {
23
30
  case "xai":
@@ -28,7 +35,7 @@ function defaultModelForProvider(provider) {
28
35
  return "brittney-qwen-v23:latest";
29
36
  case "anthropic":
30
37
  default:
31
- return "claude-sonnet-4-20250514";
38
+ return "claude-sonnet-4-6";
32
39
  }
33
40
  }
34
41
  function defaultToolProfileForProvider(provider) {
@@ -207,151 +214,108 @@ function parseArgs(argv) {
207
214
  }
208
215
  return opts;
209
216
  }
210
- function extractChatText(data) {
211
- const d = data;
212
- return d?.content?.[0]?.text ?? d?.choices?.[0]?.message?.content ?? d?.message?.content ?? d?.response ?? "";
213
- }
214
- function extractTokenUsage(data) {
215
- const d = data;
216
- const inputTokens = d?.usage?.input_tokens ?? d?.usage?.prompt_tokens ?? d?.prompt_eval_count ?? 0;
217
- const outputTokens = d?.usage?.output_tokens ?? d?.usage?.completion_tokens ?? d?.eval_count ?? 0;
218
- return {
219
- inputTokens: Number.isFinite(inputTokens) ? Number(inputTokens) : 0,
220
- outputTokens: Number.isFinite(outputTokens) ? Number(outputTokens) : 0
221
- };
222
- }
223
- function createDaemonLLMProvider(opts) {
217
+ async function createDaemonLLMProvider(opts) {
218
+ const {
219
+ AnthropicAdapter,
220
+ XAIAdapter,
221
+ OpenAIAdapter,
222
+ LocalLLMAdapter
223
+ } = await import('@holoscript/llm-provider');
224
224
  if (opts.provider === "anthropic") {
225
+ const adapter2 = new AnthropicAdapter({
226
+ apiKey: process.env.ANTHROPIC_API_KEY || "",
227
+ defaultModel: opts.model
228
+ });
225
229
  return {
226
230
  chat: async ({ system, prompt, maxTokens }) => {
227
- const apiKey = process.env.ANTHROPIC_API_KEY;
228
- if (!apiKey) throw new Error("ANTHROPIC_API_KEY not set");
229
- const response = await fetch("https://api.anthropic.com/v1/messages", {
230
- method: "POST",
231
- headers: {
232
- "x-api-key": apiKey,
233
- "anthropic-version": "2023-06-01",
234
- "content-type": "application/json"
235
- },
236
- body: JSON.stringify({
237
- model: opts.model,
238
- max_tokens: maxTokens || 4096,
239
- system,
240
- messages: [{ role: "user", content: prompt }]
241
- })
231
+ const result = await adapter2.complete({
232
+ messages: [
233
+ { role: "system", content: system },
234
+ { role: "user", content: prompt }
235
+ ],
236
+ maxTokens: maxTokens || 4096,
237
+ temperature: 0.2
242
238
  });
243
- if (!response.ok) {
244
- const body = await response.text().catch(() => "");
245
- throw new Error(`Anthropic API ${response.status}: ${body.slice(0, 200)}`);
246
- }
247
- const data = await response.json();
248
- const usage = extractTokenUsage(data);
249
239
  return {
250
- text: extractChatText(data),
251
- inputTokens: usage.inputTokens,
252
- outputTokens: usage.outputTokens
240
+ text: result.content,
241
+ inputTokens: result.usage?.promptTokens ?? 0,
242
+ outputTokens: result.usage?.completionTokens ?? 0
253
243
  };
254
244
  }
255
245
  };
256
246
  }
257
247
  if (opts.provider === "xai") {
248
+ const adapter2 = new XAIAdapter({
249
+ apiKey: process.env.XAI_API_KEY || "",
250
+ defaultModel: opts.model
251
+ });
258
252
  return {
259
253
  chat: async ({ system, prompt, maxTokens }) => {
260
- const apiKey = process.env.XAI_API_KEY;
261
- if (!apiKey) throw new Error("XAI_API_KEY not set");
262
- const response = await fetch("https://api.x.ai/v1/chat/completions", {
263
- method: "POST",
264
- headers: {
265
- Authorization: `Bearer ${apiKey}`,
266
- "content-type": "application/json"
267
- },
268
- body: JSON.stringify({
269
- model: opts.model,
270
- max_tokens: maxTokens || 4096,
271
- temperature: 0.2,
272
- messages: [
273
- { role: "system", content: system },
274
- { role: "user", content: prompt }
275
- ]
276
- })
254
+ const result = await adapter2.complete({
255
+ messages: [
256
+ { role: "system", content: system },
257
+ { role: "user", content: prompt }
258
+ ],
259
+ maxTokens: maxTokens || 4096,
260
+ temperature: 0.2
277
261
  });
278
- if (!response.ok) {
279
- const body = await response.text().catch(() => "");
280
- throw new Error(`xAI API ${response.status}: ${body.slice(0, 200)}`);
281
- }
282
- const data = await response.json();
283
- const usage = extractTokenUsage(data);
284
262
  return {
285
- text: extractChatText(data),
286
- inputTokens: usage.inputTokens,
287
- outputTokens: usage.outputTokens
263
+ text: result.content,
264
+ inputTokens: result.usage?.promptTokens ?? 0,
265
+ outputTokens: result.usage?.completionTokens ?? 0
288
266
  };
289
267
  }
290
268
  };
291
269
  }
292
270
  if (opts.provider === "openai") {
271
+ const adapter2 = new OpenAIAdapter({
272
+ apiKey: process.env.OPENAI_API_KEY || "",
273
+ defaultModel: opts.model,
274
+ ...process.env.OPENAI_BASE_URL && { baseURL: process.env.OPENAI_BASE_URL }
275
+ });
293
276
  return {
294
277
  chat: async ({ system, prompt, maxTokens }) => {
295
- const apiKey = process.env.OPENAI_API_KEY;
296
- if (!apiKey) throw new Error("OPENAI_API_KEY not set");
297
- const baseUrl = process.env.OPENAI_BASE_URL || "https://api.openai.com/v1";
298
- const response = await fetch(`${baseUrl}/chat/completions`, {
299
- method: "POST",
300
- headers: {
301
- Authorization: `Bearer ${apiKey}`,
302
- "content-type": "application/json"
303
- },
304
- body: JSON.stringify({
305
- model: opts.model,
306
- max_tokens: maxTokens || 4096,
307
- temperature: 0.2,
308
- messages: [
309
- { role: "system", content: system },
310
- { role: "user", content: prompt }
311
- ]
312
- })
278
+ const result = await adapter2.complete({
279
+ messages: [
280
+ { role: "system", content: system },
281
+ { role: "user", content: prompt }
282
+ ],
283
+ maxTokens: maxTokens || 4096,
284
+ temperature: 0.2
313
285
  });
314
- if (!response.ok) {
315
- const body = await response.text().catch(() => "");
316
- throw new Error(`OpenAI API ${response.status}: ${body.slice(0, 200)}`);
317
- }
318
- const data = await response.json();
319
- const usage = extractTokenUsage(data);
320
286
  return {
321
- text: extractChatText(data),
322
- inputTokens: usage.inputTokens,
323
- outputTokens: usage.outputTokens
287
+ text: result.content,
288
+ inputTokens: result.usage?.promptTokens ?? 0,
289
+ outputTokens: result.usage?.completionTokens ?? 0
324
290
  };
325
291
  }
326
292
  };
327
293
  }
294
+ const ollamaUrl = process.env.OLLAMA_BASE_URL || process.env.OLLAMA_URL;
295
+ if (!ollamaUrl) {
296
+ throw new Error(
297
+ "Ollama selected but OLLAMA_BASE_URL/OLLAMA_URL not set. Use --provider anthropic|xai|openai or set OLLAMA_BASE_URL in .env"
298
+ );
299
+ }
300
+ const adapter = new LocalLLMAdapter({
301
+ baseURL: ollamaUrl,
302
+ defaultModel: opts.model,
303
+ timeoutMs: 12e4
304
+ });
328
305
  return {
329
306
  chat: async ({ system, prompt }) => {
330
- const baseUrl = process.env.OLLAMA_BASE_URL || process.env.OLLAMA_URL;
331
- if (!baseUrl) throw new Error("Ollama selected but OLLAMA_BASE_URL/OLLAMA_URL not set. Use --provider anthropic|xai|openai or set OLLAMA_BASE_URL in .env");
332
- const response = await fetch(`${baseUrl}/api/generate`, {
333
- method: "POST",
334
- headers: { "content-type": "application/json" },
335
- body: JSON.stringify({
336
- model: opts.model,
337
- system,
338
- prompt,
339
- stream: false,
340
- options: {
341
- temperature: 0.2
342
- }
343
- })
307
+ const result = await adapter.complete({
308
+ messages: [
309
+ { role: "system", content: system },
310
+ { role: "user", content: prompt }
311
+ ],
312
+ maxTokens: 4096,
313
+ temperature: 0.2
344
314
  });
345
- if (!response.ok) {
346
- const body = await response.text().catch(() => "");
347
- throw new Error(`Ollama API ${response.status}: ${body.slice(0, 200)}`);
348
- }
349
- const data = await response.json();
350
- const usage = extractTokenUsage(data);
351
315
  return {
352
- text: extractChatText(data),
353
- inputTokens: usage.inputTokens,
354
- outputTokens: usage.outputTokens
316
+ text: result.content,
317
+ inputTokens: result.usage?.promptTokens ?? 0,
318
+ outputTokens: result.usage?.completionTokens ?? 0
355
319
  };
356
320
  }
357
321
  };
@@ -451,6 +415,33 @@ function runTicks(runtime, count) {
451
415
  runtime.tick();
452
416
  }
453
417
  }
418
+ function getDaemonState(runtime, key) {
419
+ if (typeof key === "string") {
420
+ if (typeof runtime.get === "function") {
421
+ return runtime.get(key);
422
+ }
423
+ const value = runtime.getState(key);
424
+ if (value && typeof value === "object" && key in value) {
425
+ return value[key];
426
+ }
427
+ return value;
428
+ }
429
+ if (typeof runtime.getAllState === "function") {
430
+ return runtime.getAllState();
431
+ }
432
+ return runtime.getState();
433
+ }
434
+ function setDaemonState(runtime, key, value) {
435
+ if (typeof runtime.set === "function") {
436
+ runtime.set(key, value);
437
+ return;
438
+ }
439
+ if (runtime.setState.length <= 1) {
440
+ runtime.setState({ [key]: value });
441
+ return;
442
+ }
443
+ runtime.setState(key, value);
444
+ }
454
445
  async function runDaemon(runtime, opts) {
455
446
  const supportsEvents = typeof runtime.emit === "function";
456
447
  const supportsStats = typeof runtime.getStats === "function";
@@ -511,7 +502,7 @@ async function runDaemon(runtime, opts) {
511
502
  if (!raw) return;
512
503
  let command;
513
504
  try {
514
- command = JSON.parse(raw);
505
+ command = readJson(raw);
515
506
  } catch {
516
507
  send({ type: "daemon:error", error: "Invalid JSON command" });
517
508
  return;
@@ -535,14 +526,14 @@ async function runDaemon(runtime, opts) {
535
526
  }
536
527
  case "state:get": {
537
528
  const key = command?.key;
538
- const value = typeof key === "string" ? runtime.getState(key) : runtime.getAllState?.();
529
+ const value = getDaemonState(runtime, key);
539
530
  send({ type: "daemon:ok", op, key, value });
540
531
  break;
541
532
  }
542
533
  case "state:set": {
543
534
  const key = command?.key;
544
535
  if (typeof key === "string") {
545
- runtime.setState(key, command.value);
536
+ setDaemonState(runtime, key, command.value);
546
537
  send({ type: "daemon:ok", op, key });
547
538
  } else {
548
539
  send({ type: "daemon:error", op, error: "state:set requires string key" });
@@ -675,6 +666,7 @@ async function runScript(opts) {
675
666
  console.log(`[holoscript] Parsed ${ast.body?.length || 0} top-level nodes`);
676
667
  console.log(`[holoscript] File type: ${ext}`);
677
668
  }
669
+ const { createHeadlessRuntime, getProfile, HEADLESS_PROFILE } = await loadEngineRuntime();
678
670
  const profile = opts.profile === "headless" ? HEADLESS_PROFILE : getProfile(opts.profile);
679
671
  const runtime = createHeadlessRuntime(ast, {
680
672
  profile,
@@ -770,16 +762,18 @@ async function testScript(opts) {
770
762
  console.log(`[holoscript test] Running tests in ${path.basename(filePath)}`);
771
763
  const parseResult = parse(source);
772
764
  const ast = parseResult.ast;
765
+ const { createHeadlessRuntime, HEADLESS_PROFILE } = await loadEngineRuntime();
773
766
  const profile = HEADLESS_PROFILE;
774
767
  const runtime = createHeadlessRuntime(ast, { profile, tickRate: 10, debug: opts.debug });
775
768
  runtime.start();
776
- for (let i = 0; i < 50; i++) runtime.tick();
769
+ const runtimeAccess = runtime;
770
+ for (let i = 0; i < 50; i++) runtimeAccess.tick();
777
771
  const runner = new ScriptTestRunner({
778
772
  debug: opts.debug,
779
- runtimeState: runtime.getState()
773
+ runtimeState: runtimeAccess.getState()
780
774
  });
781
775
  const scriptResults = runner.runTestsFromSource(source, filePath);
782
- const runtimeState = runtime.getState();
776
+ const runtimeState = runtimeAccess.getState();
783
777
  const compositionState = Object.keys(runtimeState).length > 0 ? runtimeState : CompositionTestRunner.extractStateFromSource(source);
784
778
  const computedDefs = CompositionTestRunner.extractComputedFromSource(source);
785
779
  const compositionRunner = new CompositionTestRunner(compositionState, computedDefs, {
@@ -1304,7 +1298,7 @@ async function daemonScript(opts) {
1304
1298
  const lockData = { pid: process.pid, time: Date.now(), heartbeat: Date.now() };
1305
1299
  if (fs.existsSync(lockFile)) {
1306
1300
  try {
1307
- const existing = JSON.parse(fs.readFileSync(lockFile, "utf-8"));
1301
+ const existing = readJson(fs.readFileSync(lockFile, "utf-8"));
1308
1302
  const staleMs = 12e4;
1309
1303
  if (Date.now() - existing.heartbeat < staleMs) {
1310
1304
  console.error(
@@ -1414,7 +1408,7 @@ async function daemonScript(opts) {
1414
1408
  );
1415
1409
  }
1416
1410
  }
1417
- const llm = createDaemonLLMProvider(opts);
1411
+ const llm = await createDaemonLLMProvider(opts);
1418
1412
  const defaultFocusRotation = [
1419
1413
  "typefix",
1420
1414
  "coverage",
@@ -1473,14 +1467,14 @@ async function daemonScript(opts) {
1473
1467
  let daemonState = { ...daemonStateDefaults };
1474
1468
  if (fs.existsSync(stateFile)) {
1475
1469
  try {
1476
- daemonState = { ...daemonState, ...JSON.parse(fs.readFileSync(stateFile, "utf-8")) };
1470
+ daemonState = { ...daemonState, ...readJson(fs.readFileSync(stateFile, "utf-8")) };
1477
1471
  } catch {
1478
1472
  }
1479
1473
  }
1480
1474
  const fileStateFile = path.join(stateDir, "daemon-file-state.json");
1481
1475
  if (fs.existsSync(fileStateFile)) {
1482
1476
  try {
1483
- const fileState = JSON.parse(fs.readFileSync(fileStateFile, "utf-8"));
1477
+ const fileState = readJson(fs.readFileSync(fileStateFile, "utf-8"));
1484
1478
  config.committedFiles = fileState.committed || [];
1485
1479
  config.failedFiles = fileState.failures || {};
1486
1480
  } catch {
@@ -1499,6 +1493,7 @@ async function daemonScript(opts) {
1499
1493
  cleanup();
1500
1494
  process.exit(1);
1501
1495
  }
1496
+ const { createHeadlessRuntime, HEADLESS_PROFILE } = await loadEngineRuntime();
1502
1497
  let convergenceStreak = 0;
1503
1498
  const CONVERGENCE_THRESHOLD = 3;
1504
1499
  let cycle = 0;
@@ -1510,7 +1505,7 @@ async function daemonScript(opts) {
1510
1505
  let wisdomEntries = [];
1511
1506
  try {
1512
1507
  if (fs.existsSync(wisdomFile)) {
1513
- wisdomEntries = JSON.parse(fs.readFileSync(wisdomFile, "utf-8"));
1508
+ wisdomEntries = readJson(fs.readFileSync(wisdomFile, "utf-8"));
1514
1509
  }
1515
1510
  } catch {
1516
1511
  }
@@ -1541,7 +1536,7 @@ async function daemonScript(opts) {
1541
1536
  ...opts,
1542
1537
  provider: cycleProvider,
1543
1538
  model: cycleModel};
1544
- const cycleLlm = createDaemonLLMProvider(cycleOpts);
1539
+ const cycleLlm = await createDaemonLLMProvider(cycleOpts);
1545
1540
  config.provider = cycleProvider;
1546
1541
  config.model = cycleModel;
1547
1542
  config.toolProfile = cycleToolProfile;
@@ -1557,7 +1552,7 @@ async function daemonScript(opts) {
1557
1552
  [daemon] === Cycle ${cycle + 1}${opts.alwaysOn ? "" : `/${opts.cycles}`} | Focus: ${focus} ===`
1558
1553
  );
1559
1554
  }
1560
- const cycleAST = JSON.parse(JSON.stringify(compositionAST));
1555
+ const cycleAST = jsonClone(compositionAST);
1561
1556
  materializeTraits(cycleAST);
1562
1557
  const bbValues = {
1563
1558
  focus,
@@ -1853,7 +1848,7 @@ async function holoMeshDaemonScript(opts) {
1853
1848
  const lockData = { pid: process.pid, time: Date.now(), heartbeat: Date.now() };
1854
1849
  if (fs.existsSync(lockFile)) {
1855
1850
  try {
1856
- const existing = JSON.parse(fs.readFileSync(lockFile, "utf-8"));
1851
+ const existing = readJson(fs.readFileSync(lockFile, "utf-8"));
1857
1852
  if (Date.now() - existing.heartbeat < 12e4) {
1858
1853
  console.error(
1859
1854
  `[holomesh-daemon] Another daemon is running (PID ${existing.pid}). Remove ${lockFile} to force.`
@@ -1932,13 +1927,14 @@ async function holoMeshDaemonScript(opts) {
1932
1927
  console.log(
1933
1928
  `[holomesh-daemon] ${Object.keys(actions).length} action handlers registered${v2Enabled ? ` (V2 P2P enabled, DID: ${localAgentDid})` : ""}${walletEnabled ? " (V3 Wallet enabled)" : ""}`
1934
1929
  );
1930
+ const { createHeadlessRuntime, HEADLESS_PROFILE } = await loadEngineRuntime();
1935
1931
  let cycle = 0;
1936
1932
  while (opts.alwaysOn || cycle < opts.cycles) {
1937
1933
  console.log(
1938
1934
  `
1939
1935
  [holomesh-daemon] === Cycle ${cycle + 1}${opts.alwaysOn ? "" : `/${opts.cycles}`} ===`
1940
1936
  );
1941
- const cycleAST = JSON.parse(JSON.stringify(compositionAST));
1937
+ const cycleAST = jsonClone(compositionAST);
1942
1938
  materializeTraits(cycleAST);
1943
1939
  const runtime = createHeadlessRuntime(cycleAST, {
1944
1940
  profile: HEADLESS_PROFILE,
@@ -2005,7 +2001,7 @@ async function daemonStatus(jsonOutput = false) {
2005
2001
  let lastHeartbeat = 0;
2006
2002
  if (fs.existsSync(lockFile)) {
2007
2003
  try {
2008
- const lock = JSON.parse(fs.readFileSync(lockFile, "utf-8"));
2004
+ const lock = readJson(fs.readFileSync(lockFile, "utf-8"));
2009
2005
  lockPid = lock.pid;
2010
2006
  lastHeartbeat = lock.heartbeat;
2011
2007
  isRunning = Date.now() - lastHeartbeat < 12e4;
@@ -2016,7 +2012,7 @@ async function daemonStatus(jsonOutput = false) {
2016
2012
  let ds = {};
2017
2013
  if (fs.existsSync(stateFile)) {
2018
2014
  try {
2019
- ds = JSON.parse(fs.readFileSync(stateFile, "utf-8"));
2015
+ ds = readJson(fs.readFileSync(stateFile, "utf-8"));
2020
2016
  } catch {
2021
2017
  }
2022
2018
  }
@@ -2027,7 +2023,7 @@ async function daemonStatus(jsonOutput = false) {
2027
2023
  };
2028
2024
  if (fs.existsSync(fileStateFile)) {
2029
2025
  try {
2030
- fileState = JSON.parse(fs.readFileSync(fileStateFile, "utf-8"));
2026
+ fileState = readJson(fs.readFileSync(fileStateFile, "utf-8"));
2031
2027
  } catch {
2032
2028
  }
2033
2029
  }
@@ -2035,7 +2031,7 @@ async function daemonStatus(jsonOutput = false) {
2035
2031
  let wisdomCount = 0;
2036
2032
  if (fs.existsSync(wisdomFile)) {
2037
2033
  try {
2038
- wisdomCount = JSON.parse(fs.readFileSync(wisdomFile, "utf-8")).length;
2034
+ wisdomCount = readJson(fs.readFileSync(wisdomFile, "utf-8")).length;
2039
2035
  } catch {
2040
2036
  }
2041
2037
  }
@@ -2043,7 +2039,7 @@ async function daemonStatus(jsonOutput = false) {
2043
2039
  let ledger = [];
2044
2040
  if (fs.existsSync(ledgerFile)) {
2045
2041
  try {
2046
- ledger = JSON.parse(fs.readFileSync(ledgerFile, "utf-8"));
2042
+ ledger = readJson(fs.readFileSync(ledgerFile, "utf-8"));
2047
2043
  } catch {
2048
2044
  }
2049
2045
  }
@@ -2055,7 +2051,7 @@ async function daemonStatus(jsonOutput = false) {
2055
2051
  const lines = fs.readFileSync(telemetryFile, "utf-8").split(/\r?\n/).map((line) => line.trim()).filter(Boolean);
2056
2052
  telemetryCount = lines.length;
2057
2053
  if (lines.length > 0) {
2058
- lastTelemetry = JSON.parse(lines[lines.length - 1]);
2054
+ lastTelemetry = readJson(lines[lines.length - 1]);
2059
2055
  }
2060
2056
  } catch {
2061
2057
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('../chunk-3SAK5KFL.cjs');
3
+ require('../chunk-HCCQLAA4.cjs');
4
4
  var crypto = require('crypto');
5
5
 
6
6
  var DEFAULT_CONFIG = {
@@ -1,4 +1,4 @@
1
- import '../chunk-2CWOLHTE.js';
1
+ import '../chunk-OL46QLBJ.js';
2
2
  import { createHash } from 'crypto';
3
3
 
4
4
  var DEFAULT_CONFIG = {
@@ -2,27 +2,30 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunk72EQECGT_cjs = require('../chunk-72EQECGT.cjs');
6
- require('../chunk-BF2235SI.cjs');
7
- require('../chunk-3SAK5KFL.cjs');
5
+ var chunk6KMK2UXT_cjs = require('../chunk-6KMK2UXT.cjs');
6
+ require('../chunk-RMHC2VG7.cjs');
7
+ require('../chunk-5FSKKMR7.cjs');
8
+ require('../chunk-GTU2Z2WW.cjs');
9
+ require('../chunk-E7JP3BS3.cjs');
10
+ require('../chunk-HCCQLAA4.cjs');
8
11
 
9
12
 
10
13
 
11
14
  Object.defineProperty(exports, "AgentInferenceCompiler", {
12
15
  enumerable: true,
13
- get: function () { return chunk72EQECGT_cjs.AgentInferenceCompiler; }
16
+ get: function () { return chunk6KMK2UXT_cjs.AgentInferenceCompiler; }
14
17
  });
15
18
  Object.defineProperty(exports, "createAgentInferenceCompiler", {
16
19
  enumerable: true,
17
- get: function () { return chunk72EQECGT_cjs.createAgentInferenceCompiler; }
20
+ get: function () { return chunk6KMK2UXT_cjs.createAgentInferenceCompiler; }
18
21
  });
19
22
  Object.defineProperty(exports, "createPythonAgentInferenceCompiler", {
20
23
  enumerable: true,
21
- get: function () { return chunk72EQECGT_cjs.createPythonAgentInferenceCompiler; }
24
+ get: function () { return chunk6KMK2UXT_cjs.createPythonAgentInferenceCompiler; }
22
25
  });
23
26
  Object.defineProperty(exports, "default", {
24
27
  enumerable: true,
25
- get: function () { return chunk72EQECGT_cjs.AgentInferenceExportTarget_default; }
28
+ get: function () { return chunk6KMK2UXT_cjs.AgentInferenceExportTarget_default; }
26
29
  });
27
30
  //# sourceMappingURL=agent-inference.cjs.map
28
31
  //# sourceMappingURL=agent-inference.cjs.map
@@ -1,5 +1,8 @@
1
- export { AgentInferenceCompiler, createAgentInferenceCompiler, createPythonAgentInferenceCompiler, AgentInferenceExportTarget_default as default } from '../chunk-XD6IYDUX.js';
2
- import '../chunk-6XSERL6L.js';
3
- import '../chunk-2CWOLHTE.js';
1
+ export { AgentInferenceCompiler, createAgentInferenceCompiler, createPythonAgentInferenceCompiler, AgentInferenceExportTarget_default as default } from '../chunk-GN3KDX4W.js';
2
+ import '../chunk-QTPMJRGS.js';
3
+ import '../chunk-THCK6ECW.js';
4
+ import '../chunk-N75IH2HY.js';
5
+ import '../chunk-VVKVQZI6.js';
6
+ import '../chunk-OL46QLBJ.js';
4
7
  //# sourceMappingURL=agent-inference.js.map
5
8
  //# sourceMappingURL=agent-inference.js.map
@@ -1,19 +1,24 @@
1
1
  'use strict';
2
2
 
3
- var chunk4XSNJCLC_cjs = require('../chunk-4XSNJCLC.cjs');
4
- require('../chunk-LXJ4667L.cjs');
5
- require('../chunk-BF2235SI.cjs');
6
- require('../chunk-3SAK5KFL.cjs');
3
+ var chunkY3MWXQSB_cjs = require('../chunk-Y3MWXQSB.cjs');
4
+ require('../chunk-FEWUHQNM.cjs');
5
+ require('../chunk-AIA52I7T.cjs');
6
+ require('../chunk-HGVXZDSK.cjs');
7
+ require('../chunk-RMHC2VG7.cjs');
8
+ require('../chunk-5FSKKMR7.cjs');
9
+ require('../chunk-GTU2Z2WW.cjs');
10
+ require('../chunk-E7JP3BS3.cjs');
11
+ require('../chunk-HCCQLAA4.cjs');
7
12
 
8
- chunk4XSNJCLC_cjs.init_AndroidXRCompiler();
13
+ chunkY3MWXQSB_cjs.init_AndroidXRCompiler();
9
14
 
10
15
  Object.defineProperty(exports, "AndroidXRCompiler", {
11
16
  enumerable: true,
12
- get: function () { return chunk4XSNJCLC_cjs.AndroidXRCompiler; }
17
+ get: function () { return chunkY3MWXQSB_cjs.AndroidXRCompiler; }
13
18
  });
14
19
  Object.defineProperty(exports, "compileToAndroidXR", {
15
20
  enumerable: true,
16
- get: function () { return chunk4XSNJCLC_cjs.compileToAndroidXR; }
21
+ get: function () { return chunkY3MWXQSB_cjs.compileToAndroidXR; }
17
22
  });
18
23
  //# sourceMappingURL=android-xr.cjs.map
19
24
  //# sourceMappingURL=android-xr.cjs.map
@@ -1,8 +1,13 @@
1
- import { init_AndroidXRCompiler } from '../chunk-S2N5TNMA.js';
2
- export { AndroidXRCompiler, compileToAndroidXR } from '../chunk-S2N5TNMA.js';
3
- import '../chunk-YQK5JNFK.js';
4
- import '../chunk-6XSERL6L.js';
5
- import '../chunk-2CWOLHTE.js';
1
+ import { init_AndroidXRCompiler } from '../chunk-6FGQNDR4.js';
2
+ export { AndroidXRCompiler, compileToAndroidXR } from '../chunk-6FGQNDR4.js';
3
+ import '../chunk-FDSGHPAK.js';
4
+ import '../chunk-GZG4KA4E.js';
5
+ import '../chunk-W55Z7QIX.js';
6
+ import '../chunk-QTPMJRGS.js';
7
+ import '../chunk-THCK6ECW.js';
8
+ import '../chunk-N75IH2HY.js';
9
+ import '../chunk-VVKVQZI6.js';
10
+ import '../chunk-OL46QLBJ.js';
6
11
 
7
12
  init_AndroidXRCompiler();
8
13
  //# sourceMappingURL=android-xr.js.map
@@ -1,20 +1,24 @@
1
1
  'use strict';
2
2
 
3
- var chunkNCUKG4SK_cjs = require('../chunk-NCUKG4SK.cjs');
4
- require('../chunk-PMGODDJA.cjs');
5
- require('../chunk-CAUCGUEA.cjs');
6
- require('../chunk-BF2235SI.cjs');
7
- require('../chunk-3SAK5KFL.cjs');
3
+ var chunkOEV5RMZO_cjs = require('../chunk-OEV5RMZO.cjs');
4
+ require('../chunk-FEWUHQNM.cjs');
5
+ require('../chunk-RMHC2VG7.cjs');
6
+ require('../chunk-5FSKKMR7.cjs');
7
+ require('../chunk-GTU2Z2WW.cjs');
8
+ require('../chunk-DTGBOSEM.cjs');
9
+ require('../chunk-6EX3I5P4.cjs');
10
+ require('../chunk-E7JP3BS3.cjs');
11
+ require('../chunk-HCCQLAA4.cjs');
8
12
 
9
- chunkNCUKG4SK_cjs.init_AndroidCompiler();
13
+ chunkOEV5RMZO_cjs.init_AndroidCompiler();
10
14
 
11
15
  Object.defineProperty(exports, "AndroidCompiler", {
12
16
  enumerable: true,
13
- get: function () { return chunkNCUKG4SK_cjs.AndroidCompiler; }
17
+ get: function () { return chunkOEV5RMZO_cjs.AndroidCompiler; }
14
18
  });
15
19
  Object.defineProperty(exports, "compileToAndroid", {
16
20
  enumerable: true,
17
- get: function () { return chunkNCUKG4SK_cjs.compileToAndroid; }
21
+ get: function () { return chunkOEV5RMZO_cjs.compileToAndroid; }
18
22
  });
19
23
  //# sourceMappingURL=android.cjs.map
20
24
  //# sourceMappingURL=android.cjs.map