@holoscript/core 7.0.0 → 8.0.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 (350) hide show
  1. package/README.md +4 -4
  2. package/bin/holoscript.cjs +3 -0
  3. package/dist/GLTFPipeline-N6B6PJ6G.cjs +38 -0
  4. package/dist/GLTFPipeline-P3WMNYCN.js +17 -0
  5. package/dist/HoloScriptPlusParser-7FBIFUFC.js +693 -0
  6. package/dist/HoloScriptPlusParser-A2W7OCN2.cjs +698 -0
  7. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  8. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  9. package/dist/HoloScriptRuntime-CBYJX3LZ.js +10 -0
  10. package/dist/HoloScriptRuntime-VJ374RER.cjs +19 -0
  11. package/dist/USDZExporter-3FWJ25JI.cjs +1037 -0
  12. package/dist/USDZExporter-D2HQLQYK.js +1035 -0
  13. package/dist/agents/index.cjs +19 -0
  14. package/dist/agents/index.d.ts +100 -0
  15. package/dist/agents/index.js +17 -0
  16. package/dist/chunk-2BSMSUCE.js +1941 -0
  17. package/dist/chunk-2IWC4FP7.cjs +1189 -0
  18. package/dist/chunk-2M2DPHKB.js +762 -0
  19. package/dist/chunk-2X7NGX3M.js +2426 -0
  20. package/dist/chunk-2YSNA2F2.cjs +1274 -0
  21. package/dist/chunk-3FOKASKO.cjs +348 -0
  22. package/dist/chunk-3WZEJHUQ.cjs +116 -0
  23. package/dist/chunk-4C57PR42.js +468 -0
  24. package/dist/chunk-4GU5GCIY.js +1384 -0
  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-4SDKXQ4C.js +811 -0
  29. package/dist/chunk-4V2E7U7Q.cjs +2015 -0
  30. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  31. package/dist/chunk-5GLCTO44.js +161 -0
  32. package/dist/chunk-5H2G27PK.cjs +627 -0
  33. package/dist/chunk-5JEU52DW.js +382 -0
  34. package/dist/chunk-5NWINHR5.cjs +689 -0
  35. package/dist/chunk-5S7RKFGR.cjs +446 -0
  36. package/dist/chunk-5WUNN6ZN.cjs +428 -0
  37. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  38. package/dist/chunk-6EX3I5P4.cjs +130 -0
  39. package/dist/chunk-6Q7RC2MK.cjs +1418 -0
  40. package/dist/chunk-7H33U5SM.cjs +413 -0
  41. package/dist/chunk-7M3PNU2M.cjs +672 -0
  42. package/dist/chunk-7T25IEZ2.js +449 -0
  43. package/dist/chunk-7V4JI5TB.cjs +6947 -0
  44. package/dist/chunk-A6KINLZJ.js +236 -0
  45. package/dist/chunk-ADADVMXY.js +404 -0
  46. package/dist/chunk-AIA52I7T.cjs +543 -0
  47. package/dist/chunk-ALC6K7GL.cjs +4402 -0
  48. package/dist/chunk-ANXZFVY2.js +113 -0
  49. package/dist/chunk-AOVGZ25K.cjs +56583 -0
  50. package/dist/chunk-AVJHHUC5.cjs +718 -0
  51. package/dist/chunk-BGY3SDG3.js +4396 -0
  52. package/dist/chunk-BOVPWH4H.js +3857 -0
  53. package/dist/chunk-BRQJKJGT.cjs +20 -0
  54. package/dist/chunk-C37BHB7N.cjs +636 -0
  55. package/dist/chunk-CBJY23VL.js +126 -0
  56. package/dist/chunk-CCATWPXM.js +778 -0
  57. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  58. package/dist/chunk-CMT5NMMS.js +669 -0
  59. package/dist/chunk-CR4FMIWL.cjs +1049 -0
  60. package/dist/chunk-CR7XRXRN.cjs +639 -0
  61. package/dist/chunk-CSD27UNQ.js +2176 -0
  62. package/dist/chunk-D3STJ56J.js +714 -0
  63. package/dist/chunk-DAJXW4KX.js +725 -0
  64. package/dist/chunk-DHO2YRIM.js +756 -0
  65. package/dist/chunk-DTGBOSEM.cjs +319 -0
  66. package/dist/chunk-E6XXE66V.js +2252 -0
  67. package/dist/chunk-E7JP3BS3.cjs +61 -0
  68. package/dist/chunk-EKBKLK7P.js +1169 -0
  69. package/dist/chunk-EKYL4PE3.cjs +404 -0
  70. package/dist/chunk-EXKSFGSX.cjs +274 -0
  71. package/dist/chunk-EXUP2BUM.cjs +1173 -0
  72. package/dist/chunk-FDSGHPAK.js +130 -0
  73. package/dist/chunk-FEWUHQNM.cjs +144 -0
  74. package/dist/chunk-FFAOS5HQ.js +70 -0
  75. package/dist/chunk-FGGJQRLZ.js +270 -0
  76. package/dist/chunk-FHP6LXJS.js +415 -0
  77. package/dist/chunk-FJPADH77.cjs +666 -0
  78. package/dist/chunk-FL33V6U7.js +421 -0
  79. package/dist/chunk-FYSPZT4V.cjs +169 -0
  80. package/dist/chunk-GIOYPNTH.js +5575 -0
  81. package/dist/chunk-GJNCFRJU.cjs +125 -0
  82. package/dist/chunk-GMP623FG.cjs +1508 -0
  83. package/dist/chunk-GQHQOPXZ.cjs +5580 -0
  84. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  85. package/dist/chunk-GYZE55MO.js +2007 -0
  86. package/dist/chunk-GZG4KA4E.js +529 -0
  87. package/dist/chunk-H652NHX5.js +600 -0
  88. package/dist/chunk-HCCQLAA4.cjs +74 -0
  89. package/dist/chunk-HKEXJUWS.cjs +4007 -0
  90. package/dist/chunk-HNDK4IQU.cjs +5737 -0
  91. package/dist/chunk-HR2OSYVQ.js +56165 -0
  92. package/dist/chunk-HYNTS5CP.js +422 -0
  93. package/dist/chunk-I6XZ5DZF.cjs +488 -0
  94. package/dist/chunk-ILRBGFVD.cjs +72 -0
  95. package/dist/chunk-IUDGEUDO.cjs +1409 -0
  96. package/dist/chunk-IUTY5WQ2.cjs +424 -0
  97. package/dist/chunk-IVY74O6C.js +247 -0
  98. package/dist/chunk-IWC5DM2M.cjs +611 -0
  99. package/dist/chunk-J32ZJZJH.js +554 -0
  100. package/dist/chunk-J52VSAQ7.js +6884 -0
  101. package/dist/chunk-J6M4FPK5.js +421 -0
  102. package/dist/chunk-J7XZV333.js +844 -0
  103. package/dist/chunk-JBNDTXXV.cjs +2433 -0
  104. package/dist/chunk-JC5YBPSF.cjs +984 -0
  105. package/dist/chunk-JD7CIZ33.js +1949 -0
  106. package/dist/chunk-JIBL5LRK.js +4287 -0
  107. package/dist/chunk-JIYN45TV.cjs +2525 -0
  108. package/dist/chunk-K574J76X.cjs +457 -0
  109. package/dist/chunk-KHDZJE5D.cjs +2196 -0
  110. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  111. package/dist/chunk-KKP7JKN4.cjs +6002 -0
  112. package/dist/chunk-KPJL34Y7.cjs +186 -0
  113. package/dist/chunk-KQCN6AKJ.cjs +3042 -0
  114. package/dist/chunk-L5LKKENW.cjs +424 -0
  115. package/dist/chunk-LHAXPADA.js +882 -0
  116. package/dist/chunk-LM2VU56C.cjs +37 -0
  117. package/dist/chunk-M56JSP4A.js +400 -0
  118. package/dist/chunk-MBOOR7X4.js +18 -0
  119. package/dist/chunk-MQWAT42R.cjs +4310 -0
  120. package/dist/chunk-MXFUTKCO.js +56 -0
  121. package/dist/chunk-MYY4PMWX.cjs +264 -0
  122. package/dist/chunk-N75IH2HY.js +258 -0
  123. package/dist/chunk-NCWCUZNS.cjs +72 -0
  124. package/dist/chunk-NG77ATEW.cjs +778 -0
  125. package/dist/chunk-NW5G5FBQ.js +215 -0
  126. package/dist/chunk-OBIYPYYS.cjs +1993 -0
  127. package/dist/chunk-OH2FAIVU.js +608 -0
  128. package/dist/chunk-OIQYIIO3.cjs +473 -0
  129. package/dist/chunk-OL46QLBJ.js +61 -0
  130. package/dist/chunk-OMXII44L.js +5386 -0
  131. package/dist/chunk-OSYNRVOV.cjs +243 -0
  132. package/dist/chunk-PGANYCAG.cjs +220 -0
  133. package/dist/chunk-PHENW4MQ.js +65 -0
  134. package/dist/chunk-PY37LNDP.js +686 -0
  135. package/dist/chunk-Q56TT7IL.js +483 -0
  136. package/dist/chunk-QD32ADK6.js +1046 -0
  137. package/dist/chunk-QPOQ7VPI.js +1491 -0
  138. package/dist/chunk-QPSKHBJP.js +5963 -0
  139. package/dist/chunk-QXH7QDSZ.js +1989 -0
  140. package/dist/chunk-R24NNAEG.js +1399 -0
  141. package/dist/chunk-R75BSDH7.cjs +50 -0
  142. package/dist/chunk-RARB3MBR.js +207 -0
  143. package/dist/chunk-ROHLEP2W.cjs +847 -0
  144. package/dist/chunk-S3MDHNKB.cjs +490 -0
  145. package/dist/chunk-S6YWHCKV.cjs +410 -0
  146. package/dist/chunk-SIEXCILW.js +229 -0
  147. package/dist/chunk-SLU6UPJI.cjs +410 -0
  148. package/dist/chunk-SMIWS6DE.cjs +212 -0
  149. package/dist/chunk-T5J7ZKP3.cjs +4885 -0
  150. package/dist/chunk-TDCNJHWO.js +341 -0
  151. package/dist/chunk-TG7O4WBC.js +406 -0
  152. package/dist/chunk-THCK6ECW.js +2085 -0
  153. package/dist/chunk-TJHVSBP2.js +439 -0
  154. package/dist/chunk-TVHSPJ4N.cjs +606 -0
  155. package/dist/chunk-TWUXUCEW.cjs +781 -0
  156. package/dist/chunk-U44IKGG7.cjs +5390 -0
  157. package/dist/chunk-UFZZ7TSN.cjs +886 -0
  158. package/dist/chunk-UJXISJBN.js +487 -0
  159. package/dist/chunk-UOIGFQXC.cjs +9750 -0
  160. package/dist/chunk-URG2SJLK.js +2521 -0
  161. package/dist/chunk-UWJHCOH2.js +623 -0
  162. package/dist/chunk-V6MKC2FZ.js +979 -0
  163. package/dist/chunk-VJ3L7CHT.cjs +169 -0
  164. package/dist/chunk-VMLKSV26.js +1216 -0
  165. package/dist/chunk-VVKVQZI6.js +55 -0
  166. package/dist/chunk-W6RW64BB.cjs +1219 -0
  167. package/dist/chunk-WKX5AMOY.js +309 -0
  168. package/dist/chunk-WNNE3PO3.js +34 -0
  169. package/dist/chunk-WRKUDAZJ.js +3038 -0
  170. package/dist/chunk-WRLUBRKS.cjs +1943 -0
  171. package/dist/chunk-WRNEH5MO.js +3169 -0
  172. package/dist/chunk-WRWEX5ZF.js +658 -0
  173. package/dist/chunk-X3GJPRVK.cjs +3246 -0
  174. package/dist/chunk-X3UVCWNL.cjs +2257 -0
  175. package/dist/chunk-XB274MW5.cjs +814 -0
  176. package/dist/chunk-XHIV6326.cjs +793 -0
  177. package/dist/chunk-XIVIE43A.cjs +729 -0
  178. package/dist/chunk-XJAN7CZG.cjs +432 -0
  179. package/dist/chunk-XKTPFXGA.js +164 -0
  180. package/dist/chunk-XL6INWKT.js +121 -0
  181. package/dist/chunk-XSFNHP2E.js +632 -0
  182. package/dist/chunk-XT6JY5W5.js +9684 -0
  183. package/dist/chunk-XUILI4KB.cjs +430 -0
  184. package/dist/chunk-YF2I3MV3.js +46 -0
  185. package/dist/chunk-YIMN575O.js +4847 -0
  186. package/dist/chunk-YIVFJNYV.js +176 -0
  187. package/dist/chunk-YKGPCZEE.cjs +237 -0
  188. package/dist/chunk-YN2YWTXW.js +5731 -0
  189. package/dist/chunk-YN6V7R3L.cjs +327 -0
  190. package/dist/chunk-YQELFNJV.js +39 -0
  191. package/dist/chunk-YVD3CSO3.js +1183 -0
  192. package/dist/chunk-YVOAF4ML.js +623 -0
  193. package/dist/chunk-YWOBW2PV.cjs +759 -0
  194. package/dist/chunk-YYXH45E2.js +426 -0
  195. package/dist/chunk-ZDSYWBIE.cjs +69 -0
  196. package/dist/chunk-ZU7NIRT6.js +325 -0
  197. package/dist/chunk-ZZ7RO2UQ.js +1243 -0
  198. package/dist/cli/holoscript-runner.cjs +2255 -0
  199. package/dist/cli/holoscript-runner.js +2230 -0
  200. package/dist/codebase/index.cjs +336 -0
  201. package/dist/codebase/index.js +331 -0
  202. package/dist/compiler/agent-inference.cjs +31 -0
  203. package/dist/compiler/agent-inference.js +8 -0
  204. package/dist/compiler/android-xr.cjs +24 -0
  205. package/dist/compiler/android-xr.js +14 -0
  206. package/dist/compiler/android.cjs +24 -0
  207. package/dist/compiler/android.js +14 -0
  208. package/dist/compiler/ar.cjs +23 -0
  209. package/dist/compiler/ar.js +11 -0
  210. package/dist/compiler/babylon.cjs +21 -0
  211. package/dist/compiler/babylon.js +15 -0
  212. package/dist/compiler/business-quest.cjs +43 -0
  213. package/dist/compiler/business-quest.js +4 -0
  214. package/dist/compiler/coco.cjs +27 -0
  215. package/dist/compiler/coco.js +4 -0
  216. package/dist/compiler/context.cjs +25 -0
  217. package/dist/compiler/context.d.ts +28 -0
  218. package/dist/compiler/context.js +8 -0
  219. package/dist/compiler/domain-block-utils.cjs +609 -0
  220. package/dist/compiler/domain-block-utils.js +11 -0
  221. package/dist/compiler/dtdl.cjs +27 -0
  222. package/dist/compiler/dtdl.js +11 -0
  223. package/dist/compiler/gltf-pipeline.cjs +39 -0
  224. package/dist/compiler/gltf-pipeline.js +4 -0
  225. package/dist/compiler/godot.cjs +18 -0
  226. package/dist/compiler/godot.js +12 -0
  227. package/dist/compiler/incremental.cjs +34 -0
  228. package/dist/compiler/incremental.js +9 -0
  229. package/dist/compiler/index.cjs +5408 -0
  230. package/dist/compiler/index.d.ts +334 -21
  231. package/dist/compiler/index.js +5069 -0
  232. package/dist/compiler/ios.cjs +23 -0
  233. package/dist/compiler/ios.js +13 -0
  234. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  235. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  236. package/dist/compiler/llm-provider-capabilities.js +8 -0
  237. package/dist/compiler/multi-layer.cjs +24 -0
  238. package/dist/compiler/multi-layer.js +15 -0
  239. package/dist/compiler/nodetoy.cjs +23 -0
  240. package/dist/compiler/nodetoy.d.ts +69 -0
  241. package/dist/compiler/nodetoy.js +4 -0
  242. package/dist/compiler/openxr.cjs +19 -0
  243. package/dist/compiler/openxr.js +13 -0
  244. package/dist/compiler/playcanvas.cjs +19 -0
  245. package/dist/compiler/playcanvas.js +13 -0
  246. package/dist/compiler/r3f.cjs +39 -0
  247. package/dist/compiler/r3f.d.ts +22 -0
  248. package/dist/compiler/r3f.js +17 -0
  249. package/dist/compiler/remotion.cjs +23 -0
  250. package/dist/compiler/remotion.js +4 -0
  251. package/dist/compiler/reproducibility.cjs +39 -0
  252. package/dist/compiler/reproducibility.js +4 -0
  253. package/dist/compiler/sdf.cjs +24 -0
  254. package/dist/compiler/sdf.js +12 -0
  255. package/dist/compiler/semantic-scene.cjs +31 -0
  256. package/dist/compiler/semantic-scene.js +4 -0
  257. package/dist/compiler/state.cjs +21 -0
  258. package/dist/compiler/state.js +11 -0
  259. package/dist/compiler/trait-composition.cjs +30 -0
  260. package/dist/compiler/trait-composition.js +9 -0
  261. package/dist/compiler/unity.cjs +19 -0
  262. package/dist/compiler/unity.js +13 -0
  263. package/dist/compiler/unreal.cjs +23 -0
  264. package/dist/compiler/unreal.js +13 -0
  265. package/dist/compiler/urdf.cjs +52 -0
  266. package/dist/compiler/urdf.js +12 -0
  267. package/dist/compiler/usd-physics.cjs +26 -0
  268. package/dist/compiler/usd-physics.js +9 -0
  269. package/dist/compiler/visionos.cjs +19 -0
  270. package/dist/compiler/visionos.js +13 -0
  271. package/dist/compiler/vrchat.cjs +22 -0
  272. package/dist/compiler/vrchat.js +12 -0
  273. package/dist/compiler/vrr.cjs +24 -0
  274. package/dist/compiler/vrr.js +12 -0
  275. package/dist/compiler/wasm.cjs +36 -0
  276. package/dist/compiler/wasm.js +12 -0
  277. package/dist/compiler/webgpu.cjs +18 -0
  278. package/dist/compiler/webgpu.js +12 -0
  279. package/dist/coordinators/index.cjs +1266 -0
  280. package/dist/coordinators/index.d.ts +72 -1
  281. package/dist/coordinators/index.js +1259 -0
  282. package/dist/debugger.cjs +24 -0
  283. package/dist/debugger.js +11 -0
  284. package/dist/dist-ACXG6IH5.cjs +3113 -0
  285. package/dist/dist-VD4L6V7Q.js +3076 -0
  286. package/dist/entries/interop.cjs +64 -0
  287. package/dist/entries/interop.js +7 -0
  288. package/dist/entries/scripting.cjs +55 -0
  289. package/dist/entries/scripting.js +10 -0
  290. package/dist/hololand/index.cjs +146 -0
  291. package/dist/hololand/index.d.ts +70 -0
  292. package/dist/hololand/index.js +5 -0
  293. package/dist/index.cjs +44660 -0
  294. package/dist/index.d.ts +978 -21
  295. package/dist/index.js +41422 -0
  296. package/dist/math/tropical-spmv.cjs +45 -0
  297. package/dist/math/tropical-spmv.js +4 -0
  298. package/dist/math/vec3.cjs +57 -0
  299. package/dist/math/vec3.js +4 -0
  300. package/dist/ml-dsa-FSKBTE3W.cjs +1265 -0
  301. package/dist/ml-dsa-Z7JDKW4L.js +1265 -0
  302. package/dist/paper-0c-spike/index.cjs +150 -0
  303. package/dist/paper-0c-spike/index.js +141 -0
  304. package/dist/parser.cjs +61 -0
  305. package/dist/parser.d.ts +11 -0
  306. package/dist/parser.js +12 -0
  307. package/dist/playwright-3AT3AKTV.cjs +98673 -0
  308. package/dist/playwright-VZPDVUEQ.js +98660 -0
  309. package/dist/reconstruction/index.cjs +153 -0
  310. package/dist/reconstruction/index.d.ts +29 -2
  311. package/dist/reconstruction/index.js +8 -0
  312. package/dist/runtime.cjs +316 -0
  313. package/dist/runtime.d.ts +61 -0
  314. package/dist/runtime.js +31 -0
  315. package/dist/self-improvement/index.cjs +563 -0
  316. package/dist/self-improvement/index.js +545 -0
  317. package/dist/src-4ROC227P.cjs +2094 -0
  318. package/dist/src-HCCCSYP7.js +2073 -0
  319. package/dist/storage/index.cjs +38 -0
  320. package/dist/storage/index.js +5 -0
  321. package/dist/testing.cjs +25 -0
  322. package/dist/testing.d.ts +70 -0
  323. package/dist/testing.js +4 -0
  324. package/dist/traitDocs/traitDocs.cjs +33 -0
  325. package/dist/traitDocs/traitDocs.js +7 -0
  326. package/dist/traits/botanical-lotus.cjs +177 -0
  327. package/dist/traits/botanical-lotus.d.ts +502 -0
  328. package/dist/traits/botanical-lotus.js +7 -0
  329. package/dist/traits/engines/index.cjs +520 -0
  330. package/dist/traits/engines/index.js +380 -0
  331. package/dist/traits/index.cjs +24548 -0
  332. package/dist/traits/index.d.ts +171 -35
  333. package/dist/traits/index.js +21638 -0
  334. package/dist/traits/simulation-solver-factory.cjs +13 -0
  335. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  336. package/dist/traits/simulation-solver-factory.js +4 -0
  337. package/dist/traits/webcam-gaze.cjs +35 -0
  338. package/dist/traits/webcam-gaze.d.ts +17 -0
  339. package/dist/traits/webcam-gaze.js +4 -0
  340. package/dist/type-checker.cjs +19 -0
  341. package/dist/type-checker.js +6 -0
  342. package/dist/world/index.cjs +947 -0
  343. package/dist/world/index.d.ts +147 -0
  344. package/dist/world/index.js +939 -0
  345. package/dist/world-model/index.cjs +1446 -0
  346. package/dist/world-model/index.d.ts +119 -0
  347. package/dist/world-model/index.js +1414 -0
  348. package/dist/wot/index.cjs +29 -0
  349. package/dist/wot/index.js +4 -0
  350. package/package.json +93 -49
@@ -0,0 +1,382 @@
1
+ import { init_safeJsonParse, readJson } from './chunk-VVKVQZI6.js';
2
+ import * as path from 'path';
3
+ import * as fs from 'fs';
4
+
5
+ // src/interop/Interoperability.ts
6
+ init_safeJsonParse();
7
+ var ModuleResolver = class {
8
+ constructor(basePath = process.cwd()) {
9
+ this.cache = /* @__PURE__ */ new Map();
10
+ this.resolvedPaths = /* @__PURE__ */ new Map();
11
+ this.basePath = basePath;
12
+ }
13
+ /**
14
+ * Resolve module path
15
+ */
16
+ resolveModule(modulePath, fromPath) {
17
+ const cacheKey = `${modulePath}:${fromPath || "root"}`;
18
+ if (this.resolvedPaths.has(cacheKey)) {
19
+ return this.resolvedPaths.get(cacheKey);
20
+ }
21
+ const resolved = this.performResolve(modulePath, fromPath);
22
+ this.resolvedPaths.set(cacheKey, resolved);
23
+ return resolved;
24
+ }
25
+ /**
26
+ * Perform actual module resolution
27
+ */
28
+ performResolve(modulePath, fromPath) {
29
+ if (this.isBuiltinModule(modulePath)) {
30
+ return modulePath;
31
+ }
32
+ if (modulePath.startsWith(".")) {
33
+ const basePath = fromPath ? path.dirname(fromPath) : this.basePath;
34
+ const resolved = path.resolve(basePath, modulePath);
35
+ return this.findModuleFile(resolved);
36
+ }
37
+ if (modulePath.startsWith("@")) {
38
+ return this.resolveNodeModule(modulePath);
39
+ }
40
+ return this.resolveNodeModule(modulePath);
41
+ }
42
+ /**
43
+ * Check if built-in module
44
+ */
45
+ isBuiltinModule(modulePath) {
46
+ const builtins = ["fs", "path", "crypto", "util", "stream", "events"];
47
+ return builtins.includes(modulePath);
48
+ }
49
+ /**
50
+ * Resolve from node_modules
51
+ */
52
+ resolveNodeModule(modulePath) {
53
+ let current = this.basePath;
54
+ while (current !== path.dirname(current)) {
55
+ const nodeModulesPath = path.join(current, "node_modules", modulePath);
56
+ if (fs.existsSync(nodeModulesPath)) {
57
+ return nodeModulesPath;
58
+ }
59
+ const packageJsonPath = path.join(nodeModulesPath, "package.json");
60
+ if (fs.existsSync(packageJsonPath)) {
61
+ const packageJson = readJson(fs.readFileSync(packageJsonPath, "utf-8"));
62
+ return this.findModuleFile(path.join(nodeModulesPath, packageJson.main || "index.js"));
63
+ }
64
+ current = path.dirname(current);
65
+ }
66
+ throw new Error(`Module not found: ${modulePath}`);
67
+ }
68
+ /**
69
+ * Find module file with various extensions
70
+ */
71
+ findModuleFile(basePath) {
72
+ const extensions = [".ts", ".tsx", ".js", ".jsx", ".json"];
73
+ if (fs.existsSync(basePath)) {
74
+ return basePath;
75
+ }
76
+ for (const ext of extensions) {
77
+ const withExt = basePath + ext;
78
+ if (fs.existsSync(withExt)) {
79
+ return withExt;
80
+ }
81
+ }
82
+ const indexPath = path.join(basePath, "index");
83
+ for (const ext of extensions) {
84
+ const withExt = indexPath + ext;
85
+ if (fs.existsSync(withExt)) {
86
+ return withExt;
87
+ }
88
+ }
89
+ throw new Error(`Cannot resolve file: ${basePath}`);
90
+ }
91
+ /**
92
+ * Load module (with caching)
93
+ */
94
+ loadModule(modulePath, fromPath) {
95
+ const resolved = this.resolveModule(modulePath, fromPath);
96
+ const cacheKey = resolved;
97
+ if (this.cache.has(cacheKey)) {
98
+ return this.cache.get(cacheKey);
99
+ }
100
+ const module = {
101
+ path: resolved,
102
+ exports: {}
103
+ };
104
+ this.cache.set(cacheKey, module);
105
+ return module;
106
+ }
107
+ /**
108
+ * Clear cache
109
+ */
110
+ clearCache() {
111
+ this.cache.clear();
112
+ this.resolvedPaths.clear();
113
+ }
114
+ };
115
+ var ExportImportHandler = class {
116
+ constructor() {
117
+ this.exports = /* @__PURE__ */ new Map();
118
+ }
119
+ /**
120
+ * Define named export
121
+ */
122
+ defineExport(modulePath, name, value) {
123
+ if (!this.exports.has(modulePath)) {
124
+ this.exports.set(modulePath, /* @__PURE__ */ new Map());
125
+ }
126
+ this.exports.get(modulePath).set(name, value);
127
+ }
128
+ /**
129
+ * Get named export
130
+ */
131
+ getExport(modulePath, name) {
132
+ const moduleExports = this.exports.get(modulePath);
133
+ if (!moduleExports) {
134
+ throw new Error(`Module not found: ${modulePath}`);
135
+ }
136
+ if (!moduleExports.has(name)) {
137
+ throw new Error(`Named export '${name}' not found in ${modulePath}`);
138
+ }
139
+ return moduleExports.get(name);
140
+ }
141
+ /**
142
+ * Get all exports from module
143
+ */
144
+ getAllExports(modulePath) {
145
+ const moduleExports = this.exports.get(modulePath);
146
+ if (!moduleExports) {
147
+ return {};
148
+ }
149
+ const result = {};
150
+ for (const [name, value] of moduleExports) {
151
+ result[name] = value;
152
+ }
153
+ return result;
154
+ }
155
+ /**
156
+ * Check if export exists
157
+ */
158
+ hasExport(modulePath, name) {
159
+ return this.exports.has(modulePath) && this.exports.get(modulePath).has(name);
160
+ }
161
+ };
162
+ var AsyncFunctionHandler = class {
163
+ /**
164
+ * Wrap async function for HoloScript
165
+ */
166
+ wrapAsyncFunction(fn) {
167
+ return async (...args) => {
168
+ try {
169
+ return await fn(...args);
170
+ } catch (error) {
171
+ throw this.normalizeError(error);
172
+ }
173
+ };
174
+ }
175
+ /**
176
+ * Check if function is async
177
+ */
178
+ isAsync(fn) {
179
+ if (typeof fn !== "function") {
180
+ return false;
181
+ }
182
+ const fnStr = fn.toString().trim();
183
+ return fnStr.startsWith("async ") || fn.constructor.name === "AsyncFunction";
184
+ }
185
+ /**
186
+ * Convert callback to promise
187
+ */
188
+ callbackToPromise(fn) {
189
+ return new Promise((resolve2, reject) => {
190
+ fn((err, result) => {
191
+ if (err) {
192
+ reject(err);
193
+ } else {
194
+ resolve2(result);
195
+ }
196
+ });
197
+ });
198
+ }
199
+ /**
200
+ * Normalize error from async function
201
+ */
202
+ normalizeError(error) {
203
+ if (error instanceof Error) {
204
+ return error;
205
+ }
206
+ if (typeof error === "string") {
207
+ return new Error(error);
208
+ }
209
+ return new Error(JSON.stringify(error));
210
+ }
211
+ };
212
+ var ErrorBoundary = class {
213
+ constructor(onError) {
214
+ this.errors = [];
215
+ this.onError = onError;
216
+ }
217
+ /**
218
+ * Wrap function with error boundary
219
+ */
220
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
221
+ wrap(fn) {
222
+ return ((...args) => {
223
+ try {
224
+ const result = fn(...args);
225
+ if (result instanceof Promise) {
226
+ return result.catch((error) => {
227
+ this.handleError(error);
228
+ throw error;
229
+ });
230
+ }
231
+ return result;
232
+ } catch (error) {
233
+ this.handleError(error);
234
+ throw error;
235
+ }
236
+ });
237
+ }
238
+ /**
239
+ * Wrap async function with error boundary
240
+ */
241
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
242
+ wrapAsync(fn) {
243
+ return (async (...args) => {
244
+ try {
245
+ return await fn(...args);
246
+ } catch (error) {
247
+ this.handleError(error);
248
+ throw error;
249
+ }
250
+ });
251
+ }
252
+ /**
253
+ * Execute function in boundary
254
+ */
255
+ execute(fn) {
256
+ try {
257
+ return fn();
258
+ } catch (error) {
259
+ this.handleError(error);
260
+ throw error;
261
+ }
262
+ }
263
+ /**
264
+ * Execute async function in boundary
265
+ */
266
+ async executeAsync(fn) {
267
+ try {
268
+ return await fn();
269
+ } catch (error) {
270
+ this.handleError(error);
271
+ throw error;
272
+ }
273
+ }
274
+ /**
275
+ * Handle error
276
+ */
277
+ handleError(error) {
278
+ const normalized = this.normalizeError(error);
279
+ this.errors.push(normalized);
280
+ if (this.onError) {
281
+ this.onError(normalized);
282
+ }
283
+ }
284
+ /**
285
+ * Get errors
286
+ */
287
+ getErrors() {
288
+ return [...this.errors];
289
+ }
290
+ /**
291
+ * Clear errors
292
+ */
293
+ clearErrors() {
294
+ this.errors = [];
295
+ }
296
+ /**
297
+ * Normalize error
298
+ */
299
+ normalizeError(error) {
300
+ if (error instanceof Error) {
301
+ return error;
302
+ }
303
+ if (typeof error === "string") {
304
+ return new Error(error);
305
+ }
306
+ return new Error(JSON.stringify(error));
307
+ }
308
+ };
309
+ var TypeScriptTypeLoader = class {
310
+ /**
311
+ * Load types from TypeScript declaration file
312
+ */
313
+ loadTypes(_filePath) {
314
+ const types = /* @__PURE__ */ new Map();
315
+ return types;
316
+ }
317
+ /**
318
+ * Convert TypeScript type to HoloScript type
319
+ */
320
+ convertType(tsType) {
321
+ const mapping = {
322
+ string: "text",
323
+ number: "numeric",
324
+ boolean: "logical",
325
+ void: "void",
326
+ any: "dynamic",
327
+ unknown: "dynamic",
328
+ null: "null",
329
+ undefined: "void"
330
+ };
331
+ if (typeof tsType === "string") {
332
+ return mapping[tsType] || tsType;
333
+ }
334
+ if (Array.isArray(tsType)) {
335
+ return {
336
+ kind: "array",
337
+ elementType: this.convertType(tsType[0])
338
+ };
339
+ }
340
+ if (typeof tsType === "object") {
341
+ return {
342
+ kind: "object",
343
+ properties: Object.entries(tsType).reduce(
344
+ (acc, [key, val]) => {
345
+ acc[key] = this.convertType(val);
346
+ return acc;
347
+ },
348
+ {}
349
+ )
350
+ };
351
+ }
352
+ return tsType;
353
+ }
354
+ };
355
+ var InteropContext = class {
356
+ constructor(basePath) {
357
+ this.moduleResolver = new ModuleResolver(basePath);
358
+ this.exportImportHandler = new ExportImportHandler();
359
+ this.asyncHandler = new AsyncFunctionHandler();
360
+ this.errorBoundary = new ErrorBoundary();
361
+ this.typeLoader = new TypeScriptTypeLoader();
362
+ }
363
+ getModuleResolver() {
364
+ return this.moduleResolver;
365
+ }
366
+ getExportImportHandler() {
367
+ return this.exportImportHandler;
368
+ }
369
+ getAsyncHandler() {
370
+ return this.asyncHandler;
371
+ }
372
+ getErrorBoundary() {
373
+ return this.errorBoundary;
374
+ }
375
+ getTypeLoader() {
376
+ return this.typeLoader;
377
+ }
378
+ };
379
+
380
+ export { AsyncFunctionHandler, ErrorBoundary, ExportImportHandler, InteropContext, ModuleResolver, TypeScriptTypeLoader };
381
+ //# sourceMappingURL=chunk-5JEU52DW.js.map
382
+ //# sourceMappingURL=chunk-5JEU52DW.js.map