@holoscript/core 6.0.3 → 6.1.1

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 (368) hide show
  1. package/README.md +40 -40
  2. package/bin/holoscript.cjs +3 -0
  3. package/dist/GLTFPipeline-SFIORFJU.js +16 -0
  4. package/dist/GLTFPipeline-VNNDPONV.cjs +37 -0
  5. package/dist/{HoloScriptPlusParser-BZR5DELQ.js → HoloScriptPlusParser-7FBIFUFC.js} +6 -5
  6. package/dist/{HoloScriptPlusParser-SBMYDNXO.cjs → HoloScriptPlusParser-A2W7OCN2.cjs} +17 -16
  7. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  8. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  9. package/dist/{USDZExporter-MHEHXZB4.cjs → USDZExporter-3FWJ25JI.cjs} +344 -16
  10. package/dist/{USDZExporter-YA55ZS35.js → USDZExporter-D2HQLQYK.js} +344 -16
  11. package/dist/agents/index.cjs +19 -0
  12. package/dist/agents/index.d.ts +100 -0
  13. package/dist/agents/index.js +17 -0
  14. package/dist/chunk-22W6NGYN.js +725 -0
  15. package/dist/{chunk-XSUZMPVQ.cjs → chunk-27MPVJVZ.cjs} +64 -28
  16. package/dist/{chunk-W76ETJTI.js → chunk-2A7FURVO.js} +44 -8
  17. package/dist/{chunk-C7BNX4XJ.js → chunk-2B7WVIDZ.js} +11 -8
  18. package/dist/chunk-2BSMSUCE.js +1941 -0
  19. package/dist/chunk-2HLIGOKU.cjs +5546 -0
  20. package/dist/{chunk-GC3YU46J.js → chunk-2M2DPHKB.js} +4 -4
  21. package/dist/{chunk-A6GO3DPZ.cjs → chunk-2YSNA2F2.cjs} +321 -49
  22. package/dist/{chunk-ZL6VJ6SN.js → chunk-33XCOVE3.js} +5 -5
  23. package/dist/chunk-3FOKASKO.cjs +348 -0
  24. package/dist/{chunk-XSF76QRU.js → chunk-4C57PR42.js} +3 -3
  25. package/dist/chunk-4N4SXXWF.js +769 -0
  26. package/dist/chunk-4PDEPEQW.cjs +41 -0
  27. package/dist/chunk-4R6SBXDB.js +45 -0
  28. package/dist/chunk-4SY77NA4.cjs +413 -0
  29. package/dist/{chunk-74YCHHTE.js → chunk-4UUKPCY4.js} +670 -116
  30. package/dist/{chunk-VZNKJZTT.cjs → chunk-52ULD552.cjs} +178 -113
  31. package/dist/{chunk-65RFOWZI.js → chunk-5CKA5SXU.js} +441 -23
  32. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  33. package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
  34. package/dist/chunk-5N54COB6.cjs +327 -0
  35. package/dist/chunk-5S7RKFGR.cjs +446 -0
  36. package/dist/{chunk-EJA7G2C4.cjs → chunk-5WUNN6ZN.cjs} +2 -2
  37. package/dist/{chunk-ELLQPFAF.js → chunk-6ASWLXXN.js} +24 -10
  38. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  39. package/dist/{chunk-ARNKA274.cjs → chunk-6EX3I5P4.cjs} +6 -6
  40. package/dist/chunk-6FGQNDR4.js +5731 -0
  41. package/dist/{chunk-X4YVN7H3.cjs → chunk-6KMK2UXT.cjs} +152 -56
  42. package/dist/{chunk-KUJRR4FJ.js → chunk-6L4VE27M.js} +36 -24
  43. package/dist/{chunk-RT7LJRSF.cjs → chunk-6S6TKNEA.cjs} +7357 -8312
  44. package/dist/chunk-77V4GTCA.js +596 -0
  45. package/dist/{chunk-XH7SE4HH.cjs → chunk-7AD52FRS.cjs} +19 -19
  46. package/dist/chunk-7OPW2KO7.cjs +639 -0
  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-WN3YF33G.cjs → chunk-AO4I2Z7M.cjs} +15 -17
  51. package/dist/{chunk-TSWTWZ42.cjs → chunk-BPICAGBV.cjs} +376 -209
  52. package/dist/chunk-BRQJKJGT.cjs +20 -0
  53. package/dist/{chunk-3FXV5S25.cjs → chunk-C37BHB7N.cjs} +6 -3
  54. package/dist/{chunk-XNMEH2BI.js → chunk-CBJY23VL.js} +3 -3
  55. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  56. package/dist/{chunk-NTMZSDXM.cjs → chunk-DIL6DDDN.cjs} +101 -45
  57. package/dist/chunk-DMXC24WV.js +404 -0
  58. package/dist/{chunk-SPDELRRV.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-7N3JIJMT.js → chunk-EMMC5CSQ.js} +12 -8
  63. package/dist/{chunk-EUFLX2PI.js → chunk-EOBB6A4B.js} +7263 -8214
  64. package/dist/chunk-EOFNVCM6.js +325 -0
  65. package/dist/{chunk-NKRKT6V2.js → chunk-ER4GATIU.js} +11 -10
  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-HBZYCASG.js → chunk-FXKTYFYA.js} +203 -36
  74. package/dist/chunk-GCMWDSBZ.cjs +729 -0
  75. package/dist/chunk-GJNCFRJU.cjs +125 -0
  76. package/dist/{chunk-I3XGTIHM.cjs → chunk-GMP623FG.cjs} +16 -13
  77. package/dist/{chunk-CNVM7J3M.js → chunk-GN3KDX4W.js} +149 -53
  78. package/dist/{chunk-WFJIDI2N.cjs → chunk-GQYKQSTC.cjs} +10 -10
  79. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  80. package/dist/chunk-GZG4KA4E.js +529 -0
  81. package/dist/{chunk-DIEDKX5B.cjs → chunk-H3MGK7TX.cjs} +45 -33
  82. package/dist/{chunk-DN7UFU63.cjs → chunk-H5DZIHJP.cjs} +14 -17
  83. package/dist/{chunk-DH5G2JUA.cjs → chunk-HANL7K2Q.cjs} +66 -53
  84. package/dist/{chunk-EGIZHYJP.cjs → chunk-HCCQLAA4.cjs} +2 -13
  85. package/dist/{chunk-HHS6FMOU.cjs → chunk-HGVXZDSK.cjs} +178 -29
  86. package/dist/{chunk-LBPEZQAF.js → chunk-HRODTEEO.js} +30 -10
  87. package/dist/{chunk-ZGTGVSTZ.js → chunk-HYNTS5CP.js} +2 -2
  88. package/dist/{chunk-RE3OKSYF.cjs → chunk-HZCQO4JM.cjs} +6 -6
  89. package/dist/{chunk-NCUHGRTZ.js → chunk-I2O7TW6B.js} +12 -8
  90. package/dist/chunk-IHESJZSW.js +4490 -0
  91. package/dist/{chunk-7H5UNJZD.cjs → chunk-IRWWS72C.cjs} +64 -22
  92. package/dist/{chunk-EMO7HAKJ.cjs → chunk-IVIA7K75.cjs} +691 -133
  93. package/dist/chunk-IVY74O6C.js +247 -0
  94. package/dist/chunk-J32ZJZJH.js +554 -0
  95. package/dist/chunk-JD7CIZ33.js +1949 -0
  96. package/dist/{chunk-7X2IEJIE.cjs → chunk-JIYN45TV.cjs} +41 -42
  97. package/dist/{chunk-XDXZM3ZP.cjs → chunk-KHPCJRI3.cjs} +24 -21
  98. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  99. package/dist/chunk-KPJL34Y7.cjs +186 -0
  100. package/dist/{chunk-7KPI4EKH.cjs → chunk-KQTPCYTG.cjs} +130 -50
  101. package/dist/{chunk-F5LVGHNT.js → chunk-KX76JUQY.js} +3 -3
  102. package/dist/chunk-L4LFINPO.js +623 -0
  103. package/dist/{chunk-2UX5LRAP.cjs → chunk-L63H3SQ4.cjs} +46 -32
  104. package/dist/{chunk-NLPSZT4C.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-PQLGZKMC.cjs → chunk-MJVIRCUV.cjs} +31 -27
  109. package/dist/{chunk-AC4BSHFV.js → chunk-MSMIFMBL.js} +135 -18
  110. package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
  111. package/dist/{chunk-NRUB55IT.cjs → chunk-MXJ5SS53.cjs} +450 -32
  112. package/dist/chunk-MXWNGCRS.js +2176 -0
  113. package/dist/chunk-MYY4PMWX.cjs +264 -0
  114. package/dist/chunk-N75IH2HY.js +258 -0
  115. package/dist/chunk-NG77ATEW.cjs +778 -0
  116. package/dist/chunk-NW5G5FBQ.js +215 -0
  117. package/dist/{chunk-4FCZDTD5.js → chunk-OEFY723R.js} +29 -16
  118. package/dist/chunk-OEV5RMZO.cjs +3042 -0
  119. package/dist/{chunk-VSXOIUCF.cjs → chunk-OIQYIIO3.cjs} +7 -7
  120. package/dist/{chunk-32TWR3HE.js → chunk-OL46QLBJ.js} +3 -12
  121. package/dist/chunk-OPZ7XDDI.js +487 -0
  122. package/dist/chunk-OSYNRVOV.cjs +243 -0
  123. package/dist/{chunk-HUFNKFA6.js → chunk-P7YIA5LN.js} +93 -13
  124. package/dist/chunk-PGANYCAG.cjs +220 -0
  125. package/dist/{chunk-CO2VM2DK.js → chunk-QAVXL2IH.js} +62 -20
  126. package/dist/{chunk-BO2OKHIY.js → chunk-QCCBXSCE.js} +1640 -1311
  127. package/dist/{chunk-WYH4GVZ5.js → chunk-QPOQ7VPI.js} +16 -13
  128. package/dist/{chunk-V42NTCFH.js → chunk-QTPMJRGS.js} +2331 -17
  129. package/dist/{chunk-FEFHPUEM.cjs → chunk-QWNQ523V.cjs} +1705 -1382
  130. package/dist/{chunk-VK5AXKO3.js → chunk-R3IVNY6P.js} +166 -101
  131. package/dist/chunk-R75BSDH7.cjs +50 -0
  132. package/dist/{chunk-AIUXRS74.cjs → chunk-RMHC2VG7.cjs} +2358 -41
  133. package/dist/chunk-RUXGBKPS.cjs +4517 -0
  134. package/dist/{chunk-PLMYCCA4.js → chunk-S5IFXW6E.js} +113 -9
  135. package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
  136. package/dist/{chunk-SUCBB66F.js → chunk-SIEXCILW.js} +3 -3
  137. package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
  138. package/dist/{chunk-H6WMMLQK.cjs → chunk-T5J7ZKP3.cjs} +454 -61
  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-BU5ZAFMC.js → chunk-U4NBQJBY.js} +11 -13
  145. package/dist/{chunk-Y5MUAYTO.js → chunk-UD3DSHZM.js} +10 -13
  146. package/dist/chunk-UDMYRFDZ.js +3038 -0
  147. package/dist/{chunk-PPULB4GG.cjs → chunk-UOIGFQXC.cjs} +90 -68
  148. package/dist/{chunk-EPWRXL6S.js → chunk-URG2SJLK.js} +41 -42
  149. package/dist/{chunk-VJVCD5T5.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-4SMUJFHL.js → chunk-VMLKSV26.js} +9 -6
  153. package/dist/{chunk-HKCVM6OK.cjs → chunk-VSK7W3O5.cjs} +47 -27
  154. package/dist/chunk-VVKVQZI6.js +55 -0
  155. package/dist/{chunk-KDB6BUMB.js → chunk-W55Z7QIX.js} +172 -25
  156. package/dist/{chunk-BY3B7ZYV.cjs → chunk-W6P2GBHH.cjs} +3 -3
  157. package/dist/{chunk-PBA6NXCT.cjs → chunk-W6RW64BB.cjs} +11 -8
  158. package/dist/chunk-WDT3JTGM.cjs +483 -0
  159. package/dist/{chunk-26TLYBFD.js → chunk-WKX5AMOY.js} +3 -3
  160. package/dist/chunk-WNNE3PO3.js +34 -0
  161. package/dist/chunk-WRLUBRKS.cjs +1943 -0
  162. package/dist/chunk-WRNEH5MO.js +3169 -0
  163. package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
  164. package/dist/chunk-X3GJPRVK.cjs +3246 -0
  165. package/dist/{chunk-4KJ2R7VP.cjs → chunk-XFXGA5IW.cjs} +126 -22
  166. package/dist/{chunk-L3Z2HIWJ.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-KYM4XRFG.js → chunk-XMWZG36H.js} +4 -4
  170. package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
  171. package/dist/{chunk-ODGMVILH.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-CMYAWUX3.js → chunk-YIMN575O.js} +445 -53
  176. package/dist/chunk-YIVFJNYV.js +176 -0
  177. package/dist/{chunk-V2ILLPHK.cjs → chunk-YKGPCZEE.cjs} +10 -10
  178. package/dist/chunk-YQELFNJV.js +39 -0
  179. package/dist/chunk-YSCKYJOB.cjs +2196 -0
  180. package/dist/chunk-Z5XMPRNC.cjs +5390 -0
  181. package/dist/{chunk-3FYZOR7S.cjs → chunk-ZDSYWBIE.cjs} +18 -18
  182. package/dist/{chunk-CQDOF3G7.cjs → chunk-ZKSS47EV.cjs} +24 -19
  183. package/dist/chunk-ZUL5AVTX.cjs +1993 -0
  184. package/dist/chunk-ZXBZVXDW.js +5386 -0
  185. package/dist/{chunk-AW7WAELW.js → chunk-ZZ7RO2UQ.js} +314 -46
  186. package/dist/cli/holoscript-runner.cjs +203 -206
  187. package/dist/cli/holoscript-runner.js +147 -150
  188. package/dist/codebase/index.cjs +1 -1
  189. package/dist/codebase/index.d.ts +25 -0
  190. package/dist/codebase/index.js +1 -1
  191. package/dist/compiler/agent-inference.cjs +10 -8
  192. package/dist/compiler/agent-inference.js +6 -4
  193. package/dist/compiler/android-xr.cjs +12 -8
  194. package/dist/compiler/android-xr.js +10 -6
  195. package/dist/compiler/android.cjs +12 -9
  196. package/dist/compiler/android.js +10 -7
  197. package/dist/compiler/ar.cjs +9 -7
  198. package/dist/compiler/ar.js +7 -5
  199. package/dist/compiler/babylon.cjs +12 -9
  200. package/dist/compiler/babylon.js +11 -8
  201. package/dist/compiler/business-quest.cjs +43 -0
  202. package/dist/compiler/business-quest.js +4 -0
  203. package/dist/compiler/coco.cjs +1 -1
  204. package/dist/compiler/coco.js +1 -1
  205. package/dist/compiler/context.cjs +25 -0
  206. package/dist/compiler/context.d.ts +28 -0
  207. package/dist/compiler/context.js +8 -0
  208. package/dist/compiler/domain-block-utils.cjs +161 -151
  209. package/dist/compiler/domain-block-utils.js +7 -5
  210. package/dist/compiler/dtdl.cjs +10 -8
  211. package/dist/compiler/dtdl.js +7 -5
  212. package/dist/compiler/gltf-pipeline.cjs +9 -9
  213. package/dist/compiler/gltf-pipeline.js +2 -2
  214. package/dist/compiler/godot.cjs +9 -7
  215. package/dist/compiler/godot.js +8 -6
  216. package/dist/compiler/incremental.cjs +12 -8
  217. package/dist/compiler/incremental.js +7 -3
  218. package/dist/compiler/index.cjs +5152 -814
  219. package/dist/compiler/index.d.ts +404 -21
  220. package/dist/compiler/index.js +5063 -859
  221. package/dist/compiler/ios.cjs +11 -9
  222. package/dist/compiler/ios.js +9 -7
  223. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  224. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  225. package/dist/compiler/llm-provider-capabilities.js +8 -0
  226. package/dist/compiler/multi-layer.cjs +14 -17
  227. package/dist/compiler/multi-layer.js +13 -10
  228. package/dist/compiler/nodetoy.cjs +5 -5
  229. package/dist/compiler/nodetoy.js +2 -2
  230. package/dist/compiler/openxr.cjs +10 -7
  231. package/dist/compiler/openxr.js +9 -6
  232. package/dist/compiler/playcanvas.cjs +10 -8
  233. package/dist/compiler/playcanvas.js +9 -7
  234. package/dist/compiler/r3f.cjs +17 -14
  235. package/dist/compiler/r3f.d.ts +22 -0
  236. package/dist/compiler/r3f.js +12 -9
  237. package/dist/compiler/remotion.cjs +1 -1
  238. package/dist/compiler/remotion.js +1 -1
  239. package/dist/compiler/reproducibility.cjs +1 -1
  240. package/dist/compiler/reproducibility.js +1 -1
  241. package/dist/compiler/sdf.cjs +10 -8
  242. package/dist/compiler/sdf.js +8 -6
  243. package/dist/compiler/semantic-scene.cjs +7 -7
  244. package/dist/compiler/semantic-scene.js +2 -2
  245. package/dist/compiler/state.cjs +9 -6
  246. package/dist/compiler/state.js +7 -4
  247. package/dist/compiler/trait-composition.cjs +11 -8
  248. package/dist/compiler/trait-composition.js +7 -4
  249. package/dist/compiler/unity.cjs +10 -7
  250. package/dist/compiler/unity.js +9 -6
  251. package/dist/compiler/unreal.cjs +11 -8
  252. package/dist/compiler/unreal.js +9 -6
  253. package/dist/compiler/urdf.cjs +20 -14
  254. package/dist/compiler/urdf.js +8 -6
  255. package/dist/compiler/usd-physics.cjs +10 -8
  256. package/dist/compiler/usd-physics.js +7 -5
  257. package/dist/compiler/visionos.cjs +10 -7
  258. package/dist/compiler/visionos.js +9 -6
  259. package/dist/compiler/vrchat.cjs +10 -8
  260. package/dist/compiler/vrchat.js +8 -6
  261. package/dist/compiler/vrr.cjs +10 -8
  262. package/dist/compiler/vrr.js +8 -6
  263. package/dist/compiler/wasm.cjs +13 -11
  264. package/dist/compiler/wasm.js +8 -6
  265. package/dist/compiler/webgpu.cjs +9 -7
  266. package/dist/compiler/webgpu.js +8 -6
  267. package/dist/constants.d.ts +4 -0
  268. package/dist/coordinators/index.cjs +1266 -0
  269. package/dist/coordinators/index.d.ts +260 -0
  270. package/dist/coordinators/index.js +1259 -0
  271. package/dist/debugger.cjs +9 -7
  272. package/dist/debugger.js +7 -5
  273. package/dist/entries/interop.cjs +23 -21
  274. package/dist/entries/interop.d.ts +9 -0
  275. package/dist/entries/interop.js +5 -3
  276. package/dist/entries/scripting.cjs +18 -17
  277. package/dist/entries/scripting.d.ts +7 -0
  278. package/dist/entries/scripting.js +8 -7
  279. package/dist/hololand/index.cjs +146 -0
  280. package/dist/hololand/index.d.ts +70 -0
  281. package/dist/hololand/index.js +5 -0
  282. package/dist/index.cjs +21396 -39967
  283. package/dist/index.d.ts +1496 -40
  284. package/dist/index.js +21066 -40142
  285. package/dist/math/tropical-spmv.cjs +45 -0
  286. package/dist/math/tropical-spmv.js +4 -0
  287. package/dist/math/vec3.cjs +14 -14
  288. package/dist/math/vec3.js +2 -2
  289. package/dist/ml-dsa-FSKBTE3W.cjs +1265 -0
  290. package/dist/ml-dsa-Z7JDKW4L.js +1265 -0
  291. package/dist/paper-0c-spike/index.cjs +150 -0
  292. package/dist/paper-0c-spike/index.d.ts +29 -0
  293. package/dist/paper-0c-spike/index.js +141 -0
  294. package/dist/parser.cjs +45 -10
  295. package/dist/parser.d.ts +11 -0
  296. package/dist/parser.js +10 -7
  297. package/dist/{playwright-7DTEQCBD.cjs → playwright-3AT3AKTV.cjs} +1985 -1985
  298. package/dist/{playwright-BIZXMLD2.js → playwright-VZPDVUEQ.js} +3 -3
  299. package/dist/reconstruction/index.cjs +153 -0
  300. package/dist/reconstruction/index.d.ts +105 -0
  301. package/dist/reconstruction/index.js +8 -0
  302. package/dist/runtime.cjs +7 -5
  303. package/dist/runtime.js +6 -4
  304. package/dist/self-improvement/index.cjs +563 -0
  305. package/dist/self-improvement/index.d.ts +0 -48
  306. package/dist/self-improvement/index.js +545 -0
  307. package/dist/storage/index.cjs +10 -9
  308. package/dist/storage/index.d.ts +24 -0
  309. package/dist/storage/index.js +3 -2
  310. package/dist/testing.cjs +25 -0
  311. package/dist/testing.d.ts +70 -0
  312. package/dist/testing.js +4 -0
  313. package/dist/tools/index.d.ts +33 -0
  314. package/dist/traitDocs/traitDocs.cjs +33 -0
  315. package/dist/traitDocs/traitDocs.d.ts +69 -0
  316. package/dist/traitDocs/traitDocs.js +7 -0
  317. package/dist/traits/botanical-lotus.cjs +41 -0
  318. package/dist/traits/botanical-lotus.d.ts +172 -0
  319. package/dist/traits/botanical-lotus.js +4 -0
  320. package/dist/traits/engines/index.cjs +520 -0
  321. package/dist/traits/engines/index.d.ts +111 -0
  322. package/dist/traits/engines/index.js +380 -0
  323. package/dist/traits/index.cjs +14387 -4320
  324. package/dist/traits/index.d.ts +197 -0
  325. package/dist/traits/index.js +16455 -6958
  326. package/dist/traits/simulation-solver-factory.cjs +13 -0
  327. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  328. package/dist/traits/simulation-solver-factory.js +4 -0
  329. package/dist/traits/webcam-gaze.cjs +35 -0
  330. package/dist/traits/webcam-gaze.d.ts +17 -0
  331. package/dist/traits/webcam-gaze.js +4 -0
  332. package/dist/type-checker.cjs +6 -5
  333. package/dist/type-checker.js +4 -3
  334. package/dist/world/index.cjs +947 -0
  335. package/dist/world/index.d.ts +147 -0
  336. package/dist/world/index.js +939 -0
  337. package/dist/world-model/index.cjs +1446 -0
  338. package/dist/world-model/index.d.ts +119 -0
  339. package/dist/world-model/index.js +1414 -0
  340. package/dist/wot/index.cjs +7 -7
  341. package/dist/wot/index.js +2 -2
  342. package/package.json +150 -23
  343. package/dist/GLTFPipeline-3KLWWUQO.cjs +0 -34
  344. package/dist/GLTFPipeline-LYII2ZVQ.js +0 -13
  345. package/dist/chunk-3KEU5QYY.cjs +0 -175
  346. package/dist/chunk-6OQBLABR.js +0 -5240
  347. package/dist/chunk-6WNCRE6F.js +0 -126
  348. package/dist/chunk-C2QHVHZF.js +0 -4066
  349. package/dist/chunk-CN4NOESF.cjs +0 -416
  350. package/dist/chunk-DXVCEFZB.js +0 -2027
  351. package/dist/chunk-ENV7K6XA.js +0 -282
  352. package/dist/chunk-H7XMORZI.js +0 -2731
  353. package/dist/chunk-HAN4V3PF.cjs +0 -2037
  354. package/dist/chunk-HF4OFY25.cjs +0 -4097
  355. package/dist/chunk-LER4WXW5.cjs +0 -286
  356. package/dist/chunk-M6FU6S22.js +0 -2911
  357. package/dist/chunk-MWEFR6YQ.js +0 -1857
  358. package/dist/chunk-PJMOXFPR.cjs +0 -1861
  359. package/dist/chunk-QHVVVN47.cjs +0 -2033
  360. package/dist/chunk-QWKUKVRE.js +0 -2026
  361. package/dist/chunk-UITWA6DV.cjs +0 -2829
  362. package/dist/chunk-UQW6SLM5.js +0 -172
  363. package/dist/chunk-WUXIRGZP.cjs +0 -2915
  364. package/dist/chunk-X67XRI2T.js +0 -410
  365. package/dist/chunk-Y7VK5TH3.cjs +0 -129
  366. package/dist/chunk-YCMQQQ5U.cjs +0 -5244
  367. package/dist/post-quantum-JTTAAGO3.cjs +0 -6
  368. package/dist/post-quantum-RVPVDEPI.js +0 -4
@@ -1,22 +1,30 @@
1
1
  #!/usr/bin/env node
2
- import { generateProvenance, checkLicenseCompatibility, ethToWei, calculateRevenueDistribution, formatRevenueDistribution, PROTOCOL_CONSTANTS, CompositionTestRunner, registerStdlib } from '../chunk-AW7WAELW.js';
3
- import { AbsorbProcessor, ScriptTestRunner, HotReloadWatcher } from '../chunk-GC3YU46J.js';
4
- import { InteropContext } from '../chunk-FF3Q7ADR.js';
5
- import { parse } from '../chunk-CMYAWUX3.js';
6
- import '../chunk-DXVCEFZB.js';
7
- import '../chunk-H7XMORZI.js';
8
- import '../chunk-26TLYBFD.js';
9
- import '../chunk-SUCBB66F.js';
10
- import '../chunk-XNMEH2BI.js';
11
- import '../chunk-32TWR3HE.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';
12
15
  import 'dotenv/config';
13
16
  import * as fs from 'fs';
14
17
  import * as path from 'path';
15
18
  import * as readline from 'readline';
16
19
  import { spawn } from 'child_process';
17
20
  import { randomUUID } from 'crypto';
18
- import { createHeadlessRuntime, HEADLESS_PROFILE, getProfile } from '@holoscript/engine/runtime';
19
21
 
22
+ init_safeJsonParse();
23
+ var engineRuntimeModule;
24
+ async function loadEngineRuntime() {
25
+ engineRuntimeModule ?? (engineRuntimeModule = await import('@holoscript/engine/runtime'));
26
+ return engineRuntimeModule;
27
+ }
20
28
  function defaultModelForProvider(provider) {
21
29
  switch (provider) {
22
30
  case "xai":
@@ -27,7 +35,7 @@ function defaultModelForProvider(provider) {
27
35
  return "brittney-qwen-v23:latest";
28
36
  case "anthropic":
29
37
  default:
30
- return "claude-sonnet-4-20250514";
38
+ return "claude-sonnet-4-6";
31
39
  }
32
40
  }
33
41
  function defaultToolProfileForProvider(provider) {
@@ -206,151 +214,108 @@ function parseArgs(argv) {
206
214
  }
207
215
  return opts;
208
216
  }
209
- function extractChatText(data) {
210
- const d = data;
211
- return d?.content?.[0]?.text ?? d?.choices?.[0]?.message?.content ?? d?.message?.content ?? d?.response ?? "";
212
- }
213
- function extractTokenUsage(data) {
214
- const d = data;
215
- const inputTokens = d?.usage?.input_tokens ?? d?.usage?.prompt_tokens ?? d?.prompt_eval_count ?? 0;
216
- const outputTokens = d?.usage?.output_tokens ?? d?.usage?.completion_tokens ?? d?.eval_count ?? 0;
217
- return {
218
- inputTokens: Number.isFinite(inputTokens) ? Number(inputTokens) : 0,
219
- outputTokens: Number.isFinite(outputTokens) ? Number(outputTokens) : 0
220
- };
221
- }
222
- function createDaemonLLMProvider(opts) {
217
+ async function createDaemonLLMProvider(opts) {
218
+ const {
219
+ AnthropicAdapter,
220
+ XAIAdapter,
221
+ OpenAIAdapter,
222
+ LocalLLMAdapter
223
+ } = await import('@holoscript/llm-provider');
223
224
  if (opts.provider === "anthropic") {
225
+ const adapter2 = new AnthropicAdapter({
226
+ apiKey: process.env.ANTHROPIC_API_KEY || "",
227
+ defaultModel: opts.model
228
+ });
224
229
  return {
225
230
  chat: async ({ system, prompt, maxTokens }) => {
226
- const apiKey = process.env.ANTHROPIC_API_KEY;
227
- if (!apiKey) throw new Error("ANTHROPIC_API_KEY not set");
228
- const response = await fetch("https://api.anthropic.com/v1/messages", {
229
- method: "POST",
230
- headers: {
231
- "x-api-key": apiKey,
232
- "anthropic-version": "2023-06-01",
233
- "content-type": "application/json"
234
- },
235
- body: JSON.stringify({
236
- model: opts.model,
237
- max_tokens: maxTokens || 4096,
238
- system,
239
- messages: [{ role: "user", content: prompt }]
240
- })
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
241
238
  });
242
- if (!response.ok) {
243
- const body = await response.text().catch(() => "");
244
- throw new Error(`Anthropic API ${response.status}: ${body.slice(0, 200)}`);
245
- }
246
- const data = await response.json();
247
- const usage = extractTokenUsage(data);
248
239
  return {
249
- text: extractChatText(data),
250
- inputTokens: usage.inputTokens,
251
- outputTokens: usage.outputTokens
240
+ text: result.content,
241
+ inputTokens: result.usage?.promptTokens ?? 0,
242
+ outputTokens: result.usage?.completionTokens ?? 0
252
243
  };
253
244
  }
254
245
  };
255
246
  }
256
247
  if (opts.provider === "xai") {
248
+ const adapter2 = new XAIAdapter({
249
+ apiKey: process.env.XAI_API_KEY || "",
250
+ defaultModel: opts.model
251
+ });
257
252
  return {
258
253
  chat: async ({ system, prompt, maxTokens }) => {
259
- const apiKey = process.env.XAI_API_KEY;
260
- if (!apiKey) throw new Error("XAI_API_KEY not set");
261
- const response = await fetch("https://api.x.ai/v1/chat/completions", {
262
- method: "POST",
263
- headers: {
264
- Authorization: `Bearer ${apiKey}`,
265
- "content-type": "application/json"
266
- },
267
- body: JSON.stringify({
268
- model: opts.model,
269
- max_tokens: maxTokens || 4096,
270
- temperature: 0.2,
271
- messages: [
272
- { role: "system", content: system },
273
- { role: "user", content: prompt }
274
- ]
275
- })
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
276
261
  });
277
- if (!response.ok) {
278
- const body = await response.text().catch(() => "");
279
- throw new Error(`xAI API ${response.status}: ${body.slice(0, 200)}`);
280
- }
281
- const data = await response.json();
282
- const usage = extractTokenUsage(data);
283
262
  return {
284
- text: extractChatText(data),
285
- inputTokens: usage.inputTokens,
286
- outputTokens: usage.outputTokens
263
+ text: result.content,
264
+ inputTokens: result.usage?.promptTokens ?? 0,
265
+ outputTokens: result.usage?.completionTokens ?? 0
287
266
  };
288
267
  }
289
268
  };
290
269
  }
291
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
+ });
292
276
  return {
293
277
  chat: async ({ system, prompt, maxTokens }) => {
294
- const apiKey = process.env.OPENAI_API_KEY;
295
- if (!apiKey) throw new Error("OPENAI_API_KEY not set");
296
- const baseUrl = process.env.OPENAI_BASE_URL || "https://api.openai.com/v1";
297
- const response = await fetch(`${baseUrl}/chat/completions`, {
298
- method: "POST",
299
- headers: {
300
- Authorization: `Bearer ${apiKey}`,
301
- "content-type": "application/json"
302
- },
303
- body: JSON.stringify({
304
- model: opts.model,
305
- max_tokens: maxTokens || 4096,
306
- temperature: 0.2,
307
- messages: [
308
- { role: "system", content: system },
309
- { role: "user", content: prompt }
310
- ]
311
- })
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
312
285
  });
313
- if (!response.ok) {
314
- const body = await response.text().catch(() => "");
315
- throw new Error(`OpenAI API ${response.status}: ${body.slice(0, 200)}`);
316
- }
317
- const data = await response.json();
318
- const usage = extractTokenUsage(data);
319
286
  return {
320
- text: extractChatText(data),
321
- inputTokens: usage.inputTokens,
322
- outputTokens: usage.outputTokens
287
+ text: result.content,
288
+ inputTokens: result.usage?.promptTokens ?? 0,
289
+ outputTokens: result.usage?.completionTokens ?? 0
323
290
  };
324
291
  }
325
292
  };
326
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
+ });
327
305
  return {
328
306
  chat: async ({ system, prompt }) => {
329
- const baseUrl = process.env.OLLAMA_BASE_URL || process.env.OLLAMA_URL;
330
- 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");
331
- const response = await fetch(`${baseUrl}/api/generate`, {
332
- method: "POST",
333
- headers: { "content-type": "application/json" },
334
- body: JSON.stringify({
335
- model: opts.model,
336
- system,
337
- prompt,
338
- stream: false,
339
- options: {
340
- temperature: 0.2
341
- }
342
- })
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
343
314
  });
344
- if (!response.ok) {
345
- const body = await response.text().catch(() => "");
346
- throw new Error(`Ollama API ${response.status}: ${body.slice(0, 200)}`);
347
- }
348
- const data = await response.json();
349
- const usage = extractTokenUsage(data);
350
315
  return {
351
- text: extractChatText(data),
352
- inputTokens: usage.inputTokens,
353
- outputTokens: usage.outputTokens
316
+ text: result.content,
317
+ inputTokens: result.usage?.promptTokens ?? 0,
318
+ outputTokens: result.usage?.completionTokens ?? 0
354
319
  };
355
320
  }
356
321
  };
@@ -450,6 +415,33 @@ function runTicks(runtime, count) {
450
415
  runtime.tick();
451
416
  }
452
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
+ }
453
445
  async function runDaemon(runtime, opts) {
454
446
  const supportsEvents = typeof runtime.emit === "function";
455
447
  const supportsStats = typeof runtime.getStats === "function";
@@ -510,7 +502,7 @@ async function runDaemon(runtime, opts) {
510
502
  if (!raw) return;
511
503
  let command;
512
504
  try {
513
- command = JSON.parse(raw);
505
+ command = readJson(raw);
514
506
  } catch {
515
507
  send({ type: "daemon:error", error: "Invalid JSON command" });
516
508
  return;
@@ -534,14 +526,14 @@ async function runDaemon(runtime, opts) {
534
526
  }
535
527
  case "state:get": {
536
528
  const key = command?.key;
537
- const value = typeof key === "string" ? runtime.getState(key) : runtime.getAllState?.();
529
+ const value = getDaemonState(runtime, key);
538
530
  send({ type: "daemon:ok", op, key, value });
539
531
  break;
540
532
  }
541
533
  case "state:set": {
542
534
  const key = command?.key;
543
535
  if (typeof key === "string") {
544
- runtime.setState(key, command.value);
536
+ setDaemonState(runtime, key, command.value);
545
537
  send({ type: "daemon:ok", op, key });
546
538
  } else {
547
539
  send({ type: "daemon:error", op, error: "state:set requires string key" });
@@ -674,6 +666,7 @@ async function runScript(opts) {
674
666
  console.log(`[holoscript] Parsed ${ast.body?.length || 0} top-level nodes`);
675
667
  console.log(`[holoscript] File type: ${ext}`);
676
668
  }
669
+ const { createHeadlessRuntime, getProfile, HEADLESS_PROFILE } = await loadEngineRuntime();
677
670
  const profile = opts.profile === "headless" ? HEADLESS_PROFILE : getProfile(opts.profile);
678
671
  const runtime = createHeadlessRuntime(ast, {
679
672
  profile,
@@ -769,16 +762,18 @@ async function testScript(opts) {
769
762
  console.log(`[holoscript test] Running tests in ${path.basename(filePath)}`);
770
763
  const parseResult = parse(source);
771
764
  const ast = parseResult.ast;
765
+ const { createHeadlessRuntime, HEADLESS_PROFILE } = await loadEngineRuntime();
772
766
  const profile = HEADLESS_PROFILE;
773
767
  const runtime = createHeadlessRuntime(ast, { profile, tickRate: 10, debug: opts.debug });
774
768
  runtime.start();
775
- for (let i = 0; i < 50; i++) runtime.tick();
769
+ const runtimeAccess = runtime;
770
+ for (let i = 0; i < 50; i++) runtimeAccess.tick();
776
771
  const runner = new ScriptTestRunner({
777
772
  debug: opts.debug,
778
- runtimeState: runtime.getState()
773
+ runtimeState: runtimeAccess.getState()
779
774
  });
780
775
  const scriptResults = runner.runTestsFromSource(source, filePath);
781
- const runtimeState = runtime.getState();
776
+ const runtimeState = runtimeAccess.getState();
782
777
  const compositionState = Object.keys(runtimeState).length > 0 ? runtimeState : CompositionTestRunner.extractStateFromSource(source);
783
778
  const computedDefs = CompositionTestRunner.extractComputedFromSource(source);
784
779
  const compositionRunner = new CompositionTestRunner(compositionState, computedDefs, {
@@ -1303,7 +1298,7 @@ async function daemonScript(opts) {
1303
1298
  const lockData = { pid: process.pid, time: Date.now(), heartbeat: Date.now() };
1304
1299
  if (fs.existsSync(lockFile)) {
1305
1300
  try {
1306
- const existing = JSON.parse(fs.readFileSync(lockFile, "utf-8"));
1301
+ const existing = readJson(fs.readFileSync(lockFile, "utf-8"));
1307
1302
  const staleMs = 12e4;
1308
1303
  if (Date.now() - existing.heartbeat < staleMs) {
1309
1304
  console.error(
@@ -1413,7 +1408,7 @@ async function daemonScript(opts) {
1413
1408
  );
1414
1409
  }
1415
1410
  }
1416
- const llm = createDaemonLLMProvider(opts);
1411
+ const llm = await createDaemonLLMProvider(opts);
1417
1412
  const defaultFocusRotation = [
1418
1413
  "typefix",
1419
1414
  "coverage",
@@ -1472,14 +1467,14 @@ async function daemonScript(opts) {
1472
1467
  let daemonState = { ...daemonStateDefaults };
1473
1468
  if (fs.existsSync(stateFile)) {
1474
1469
  try {
1475
- daemonState = { ...daemonState, ...JSON.parse(fs.readFileSync(stateFile, "utf-8")) };
1470
+ daemonState = { ...daemonState, ...readJson(fs.readFileSync(stateFile, "utf-8")) };
1476
1471
  } catch {
1477
1472
  }
1478
1473
  }
1479
1474
  const fileStateFile = path.join(stateDir, "daemon-file-state.json");
1480
1475
  if (fs.existsSync(fileStateFile)) {
1481
1476
  try {
1482
- const fileState = JSON.parse(fs.readFileSync(fileStateFile, "utf-8"));
1477
+ const fileState = readJson(fs.readFileSync(fileStateFile, "utf-8"));
1483
1478
  config.committedFiles = fileState.committed || [];
1484
1479
  config.failedFiles = fileState.failures || {};
1485
1480
  } catch {
@@ -1498,6 +1493,7 @@ async function daemonScript(opts) {
1498
1493
  cleanup();
1499
1494
  process.exit(1);
1500
1495
  }
1496
+ const { createHeadlessRuntime, HEADLESS_PROFILE } = await loadEngineRuntime();
1501
1497
  let convergenceStreak = 0;
1502
1498
  const CONVERGENCE_THRESHOLD = 3;
1503
1499
  let cycle = 0;
@@ -1509,7 +1505,7 @@ async function daemonScript(opts) {
1509
1505
  let wisdomEntries = [];
1510
1506
  try {
1511
1507
  if (fs.existsSync(wisdomFile)) {
1512
- wisdomEntries = JSON.parse(fs.readFileSync(wisdomFile, "utf-8"));
1508
+ wisdomEntries = readJson(fs.readFileSync(wisdomFile, "utf-8"));
1513
1509
  }
1514
1510
  } catch {
1515
1511
  }
@@ -1540,7 +1536,7 @@ async function daemonScript(opts) {
1540
1536
  ...opts,
1541
1537
  provider: cycleProvider,
1542
1538
  model: cycleModel};
1543
- const cycleLlm = createDaemonLLMProvider(cycleOpts);
1539
+ const cycleLlm = await createDaemonLLMProvider(cycleOpts);
1544
1540
  config.provider = cycleProvider;
1545
1541
  config.model = cycleModel;
1546
1542
  config.toolProfile = cycleToolProfile;
@@ -1556,7 +1552,7 @@ async function daemonScript(opts) {
1556
1552
  [daemon] === Cycle ${cycle + 1}${opts.alwaysOn ? "" : `/${opts.cycles}`} | Focus: ${focus} ===`
1557
1553
  );
1558
1554
  }
1559
- const cycleAST = JSON.parse(JSON.stringify(compositionAST));
1555
+ const cycleAST = jsonClone(compositionAST);
1560
1556
  materializeTraits(cycleAST);
1561
1557
  const bbValues = {
1562
1558
  focus,
@@ -1830,8 +1826,8 @@ async function holoMeshDaemonScript(opts) {
1830
1826
  console.error(`Error: File not found: ${filePath}`);
1831
1827
  process.exit(1);
1832
1828
  }
1833
- if (!process.env.MCP_API_KEY) {
1834
- console.error("[holomesh-daemon] MCP_API_KEY environment variable is required");
1829
+ if (!process.env.HOLOSCRIPT_API_KEY) {
1830
+ console.error("[holomesh-daemon] HOLOSCRIPT_API_KEY environment variable is required");
1835
1831
  process.exit(1);
1836
1832
  }
1837
1833
  const rawSource = fs.readFileSync(filePath, "utf-8");
@@ -1852,7 +1848,7 @@ async function holoMeshDaemonScript(opts) {
1852
1848
  const lockData = { pid: process.pid, time: Date.now(), heartbeat: Date.now() };
1853
1849
  if (fs.existsSync(lockFile)) {
1854
1850
  try {
1855
- const existing = JSON.parse(fs.readFileSync(lockFile, "utf-8"));
1851
+ const existing = readJson(fs.readFileSync(lockFile, "utf-8"));
1856
1852
  if (Date.now() - existing.heartbeat < 12e4) {
1857
1853
  console.error(
1858
1854
  `[holomesh-daemon] Another daemon is running (PID ${existing.pid}). Remove ${lockFile} to force.`
@@ -1903,7 +1899,7 @@ async function holoMeshDaemonScript(opts) {
1903
1899
  }
1904
1900
  const meshConfig = {
1905
1901
  orchestratorUrl: process.env.MCP_ORCHESTRATOR_URL || "https://mcp-orchestrator-production-45f9.up.railway.app",
1906
- apiKey: process.env.MCP_API_KEY,
1902
+ apiKey: process.env.HOLOSCRIPT_API_KEY,
1907
1903
  workspace: process.env.HOLOMESH_WORKSPACE || "ai-ecosystem",
1908
1904
  agentName: process.env.HOLOMESH_AGENT_NAME || "holomesh-agent",
1909
1905
  discoveryIntervalMs: 5 * 60 * 1e3,
@@ -1931,13 +1927,14 @@ async function holoMeshDaemonScript(opts) {
1931
1927
  console.log(
1932
1928
  `[holomesh-daemon] ${Object.keys(actions).length} action handlers registered${v2Enabled ? ` (V2 P2P enabled, DID: ${localAgentDid})` : ""}${walletEnabled ? " (V3 Wallet enabled)" : ""}`
1933
1929
  );
1930
+ const { createHeadlessRuntime, HEADLESS_PROFILE } = await loadEngineRuntime();
1934
1931
  let cycle = 0;
1935
1932
  while (opts.alwaysOn || cycle < opts.cycles) {
1936
1933
  console.log(
1937
1934
  `
1938
1935
  [holomesh-daemon] === Cycle ${cycle + 1}${opts.alwaysOn ? "" : `/${opts.cycles}`} ===`
1939
1936
  );
1940
- const cycleAST = JSON.parse(JSON.stringify(compositionAST));
1937
+ const cycleAST = jsonClone(compositionAST);
1941
1938
  materializeTraits(cycleAST);
1942
1939
  const runtime = createHeadlessRuntime(cycleAST, {
1943
1940
  profile: HEADLESS_PROFILE,
@@ -2004,7 +2001,7 @@ async function daemonStatus(jsonOutput = false) {
2004
2001
  let lastHeartbeat = 0;
2005
2002
  if (fs.existsSync(lockFile)) {
2006
2003
  try {
2007
- const lock = JSON.parse(fs.readFileSync(lockFile, "utf-8"));
2004
+ const lock = readJson(fs.readFileSync(lockFile, "utf-8"));
2008
2005
  lockPid = lock.pid;
2009
2006
  lastHeartbeat = lock.heartbeat;
2010
2007
  isRunning = Date.now() - lastHeartbeat < 12e4;
@@ -2015,7 +2012,7 @@ async function daemonStatus(jsonOutput = false) {
2015
2012
  let ds = {};
2016
2013
  if (fs.existsSync(stateFile)) {
2017
2014
  try {
2018
- ds = JSON.parse(fs.readFileSync(stateFile, "utf-8"));
2015
+ ds = readJson(fs.readFileSync(stateFile, "utf-8"));
2019
2016
  } catch {
2020
2017
  }
2021
2018
  }
@@ -2026,7 +2023,7 @@ async function daemonStatus(jsonOutput = false) {
2026
2023
  };
2027
2024
  if (fs.existsSync(fileStateFile)) {
2028
2025
  try {
2029
- fileState = JSON.parse(fs.readFileSync(fileStateFile, "utf-8"));
2026
+ fileState = readJson(fs.readFileSync(fileStateFile, "utf-8"));
2030
2027
  } catch {
2031
2028
  }
2032
2029
  }
@@ -2034,7 +2031,7 @@ async function daemonStatus(jsonOutput = false) {
2034
2031
  let wisdomCount = 0;
2035
2032
  if (fs.existsSync(wisdomFile)) {
2036
2033
  try {
2037
- wisdomCount = JSON.parse(fs.readFileSync(wisdomFile, "utf-8")).length;
2034
+ wisdomCount = readJson(fs.readFileSync(wisdomFile, "utf-8")).length;
2038
2035
  } catch {
2039
2036
  }
2040
2037
  }
@@ -2042,7 +2039,7 @@ async function daemonStatus(jsonOutput = false) {
2042
2039
  let ledger = [];
2043
2040
  if (fs.existsSync(ledgerFile)) {
2044
2041
  try {
2045
- ledger = JSON.parse(fs.readFileSync(ledgerFile, "utf-8"));
2042
+ ledger = readJson(fs.readFileSync(ledgerFile, "utf-8"));
2046
2043
  } catch {
2047
2044
  }
2048
2045
  }
@@ -2054,7 +2051,7 @@ async function daemonStatus(jsonOutput = false) {
2054
2051
  const lines = fs.readFileSync(telemetryFile, "utf-8").split(/\r?\n/).map((line) => line.trim()).filter(Boolean);
2055
2052
  telemetryCount = lines.length;
2056
2053
  if (lines.length > 0) {
2057
- lastTelemetry = JSON.parse(lines[lines.length - 1]);
2054
+ lastTelemetry = readJson(lines[lines.length - 1]);
2058
2055
  }
2059
2056
  } catch {
2060
2057
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('../chunk-EGIZHYJP.cjs');
3
+ require('../chunk-HCCQLAA4.cjs');
4
4
  var crypto = require('crypto');
5
5
 
6
6
  var DEFAULT_CONFIG = {
@@ -0,0 +1,25 @@
1
+ // @holoscript/core/codebase — local dedup + god-file detection utilities
2
+ export declare class DedupFilter {
3
+ constructor(config?: { hashFn?: (item: unknown) => string; [key: string]: unknown });
4
+ add(item: unknown): boolean;
5
+ has(item: unknown): boolean;
6
+ report(): { duplicates: unknown[]; removals: unknown[] };
7
+ [key: string]: unknown;
8
+ }
9
+ export declare function createDedupFilter(config?: unknown): DedupFilter;
10
+ export declare class GodFileDetector {
11
+ constructor(thresholds?: unknown);
12
+ analyze(path: string, content: string): unknown;
13
+ [key: string]: unknown;
14
+ }
15
+ export declare function createGodFileDetector(thresholds?: unknown): GodFileDetector;
16
+ export type Dedupable = unknown;
17
+ export type DedupReport = { duplicates: unknown[]; removals: unknown[] };
18
+ export type DedupRemoval = unknown;
19
+ export type DedupConfig = unknown;
20
+ export type FileMetrics = unknown;
21
+ export type GodFileClassification = unknown;
22
+ export type GodFileReport = unknown;
23
+ export type VirtualSplitPlan = unknown;
24
+ export type SplitSegment = unknown;
25
+ export type GodFileThresholds = unknown;
@@ -1,4 +1,4 @@
1
- import '../chunk-32TWR3HE.js';
1
+ import '../chunk-OL46QLBJ.js';
2
2
  import { createHash } from 'crypto';
3
3
 
4
4
  var DEFAULT_CONFIG = {
@@ -2,28 +2,30 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkX4YVN7H3_cjs = require('../chunk-X4YVN7H3.cjs');
6
- require('../chunk-QHVVVN47.cjs');
7
- require('../chunk-AIUXRS74.cjs');
8
- require('../chunk-EGIZHYJP.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');
9
11
 
10
12
 
11
13
 
12
14
  Object.defineProperty(exports, "AgentInferenceCompiler", {
13
15
  enumerable: true,
14
- get: function () { return chunkX4YVN7H3_cjs.AgentInferenceCompiler; }
16
+ get: function () { return chunk6KMK2UXT_cjs.AgentInferenceCompiler; }
15
17
  });
16
18
  Object.defineProperty(exports, "createAgentInferenceCompiler", {
17
19
  enumerable: true,
18
- get: function () { return chunkX4YVN7H3_cjs.createAgentInferenceCompiler; }
20
+ get: function () { return chunk6KMK2UXT_cjs.createAgentInferenceCompiler; }
19
21
  });
20
22
  Object.defineProperty(exports, "createPythonAgentInferenceCompiler", {
21
23
  enumerable: true,
22
- get: function () { return chunkX4YVN7H3_cjs.createPythonAgentInferenceCompiler; }
24
+ get: function () { return chunk6KMK2UXT_cjs.createPythonAgentInferenceCompiler; }
23
25
  });
24
26
  Object.defineProperty(exports, "default", {
25
27
  enumerable: true,
26
- get: function () { return chunkX4YVN7H3_cjs.AgentInferenceExportTarget_default; }
28
+ get: function () { return chunk6KMK2UXT_cjs.AgentInferenceExportTarget_default; }
27
29
  });
28
30
  //# sourceMappingURL=agent-inference.cjs.map
29
31
  //# sourceMappingURL=agent-inference.cjs.map
@@ -1,6 +1,8 @@
1
- export { AgentInferenceCompiler, createAgentInferenceCompiler, createPythonAgentInferenceCompiler, AgentInferenceExportTarget_default as default } from '../chunk-CNVM7J3M.js';
2
- import '../chunk-QWKUKVRE.js';
3
- import '../chunk-V42NTCFH.js';
4
- import '../chunk-32TWR3HE.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';
5
7
  //# sourceMappingURL=agent-inference.js.map
6
8
  //# sourceMappingURL=agent-inference.js.map
@@ -1,20 +1,24 @@
1
1
  'use strict';
2
2
 
3
- var chunkPJMOXFPR_cjs = require('../chunk-PJMOXFPR.cjs');
4
- require('../chunk-HHS6FMOU.cjs');
5
- require('../chunk-QHVVVN47.cjs');
6
- require('../chunk-AIUXRS74.cjs');
7
- require('../chunk-EGIZHYJP.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');
8
12
 
9
- chunkPJMOXFPR_cjs.init_AndroidXRCompiler();
13
+ chunkY3MWXQSB_cjs.init_AndroidXRCompiler();
10
14
 
11
15
  Object.defineProperty(exports, "AndroidXRCompiler", {
12
16
  enumerable: true,
13
- get: function () { return chunkPJMOXFPR_cjs.AndroidXRCompiler; }
17
+ get: function () { return chunkY3MWXQSB_cjs.AndroidXRCompiler; }
14
18
  });
15
19
  Object.defineProperty(exports, "compileToAndroidXR", {
16
20
  enumerable: true,
17
- get: function () { return chunkPJMOXFPR_cjs.compileToAndroidXR; }
21
+ get: function () { return chunkY3MWXQSB_cjs.compileToAndroidXR; }
18
22
  });
19
23
  //# sourceMappingURL=android-xr.cjs.map
20
24
  //# sourceMappingURL=android-xr.cjs.map