@holoscript/core 6.0.4 → 6.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -3
  3. package/bin/holoscript.cjs +3 -0
  4. package/dist/GLTFPipeline-SFIORFJU.js +16 -0
  5. package/dist/GLTFPipeline-VNNDPONV.cjs +37 -0
  6. package/dist/{HoloScriptPlusParser-BN6KVRCM.js → HoloScriptPlusParser-7FBIFUFC.js} +6 -5
  7. package/dist/{HoloScriptPlusParser-NC5FE6AL.cjs → HoloScriptPlusParser-A2W7OCN2.cjs} +17 -16
  8. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  9. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  10. package/dist/{USDZExporter-UWGWNMMD.cjs → USDZExporter-3FWJ25JI.cjs} +344 -16
  11. package/dist/{USDZExporter-NTMBNTDB.js → USDZExporter-D2HQLQYK.js} +344 -16
  12. package/dist/agents/index.cjs +19 -0
  13. package/dist/agents/index.d.ts +100 -0
  14. package/dist/agents/index.js +17 -0
  15. package/dist/chunk-22W6NGYN.js +725 -0
  16. package/dist/{chunk-5OEOHAAW.cjs → chunk-27MPVJVZ.cjs} +64 -28
  17. package/dist/{chunk-RVYPEYPX.js → chunk-2A7FURVO.js} +44 -8
  18. package/dist/{chunk-XCWFGZAA.js → chunk-2B7WVIDZ.js} +11 -8
  19. package/dist/{chunk-NDQNIJEH.js → chunk-2BSMSUCE.js} +250 -24
  20. package/dist/chunk-2HLIGOKU.cjs +5546 -0
  21. package/dist/{chunk-EONILVMF.js → chunk-2M2DPHKB.js} +4 -4
  22. package/dist/{chunk-G7CT3EMP.cjs → chunk-2YSNA2F2.cjs} +319 -47
  23. package/dist/{chunk-IWI6J7FX.js → chunk-33XCOVE3.js} +5 -5
  24. package/dist/chunk-3FOKASKO.cjs +348 -0
  25. package/dist/{chunk-DXJQDCFL.js → chunk-4C57PR42.js} +3 -3
  26. package/dist/{chunk-MPXBVFHQ.js → chunk-4N4SXXWF.js} +4 -3
  27. package/dist/chunk-4PDEPEQW.cjs +41 -0
  28. package/dist/chunk-4R6HPSHJ.js +2176 -0
  29. package/dist/chunk-4R6SBXDB.js +45 -0
  30. package/dist/chunk-4SY77NA4.cjs +413 -0
  31. package/dist/{chunk-YCXFCXDS.js → chunk-4UUKPCY4.js} +668 -110
  32. package/dist/{chunk-LGGRPKTV.cjs → chunk-52ULD552.cjs} +114 -35
  33. package/dist/{chunk-L4G4RLXX.js → chunk-5CKA5SXU.js} +438 -22
  34. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  35. package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
  36. package/dist/chunk-5N54COB6.cjs +327 -0
  37. package/dist/chunk-5S7RKFGR.cjs +446 -0
  38. package/dist/{chunk-KED34ILP.js → chunk-6ASWLXXN.js} +21 -9
  39. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  40. package/dist/{chunk-CAUCGUEA.cjs → chunk-6EX3I5P4.cjs} +6 -6
  41. package/dist/chunk-6FGQNDR4.js +5731 -0
  42. package/dist/{chunk-72EQECGT.cjs → chunk-6KMK2UXT.cjs} +122 -46
  43. package/dist/{chunk-G4VZTCIB.js → chunk-6L4VE27M.js} +33 -23
  44. package/dist/{chunk-ATSKSYVE.cjs → chunk-6S6TKNEA.cjs} +6478 -1738
  45. package/dist/chunk-77V4GTCA.js +596 -0
  46. package/dist/{chunk-ZP4D3CSX.cjs → chunk-7AD52FRS.cjs} +16 -16
  47. package/dist/chunk-A6KINLZJ.js +236 -0
  48. package/dist/chunk-AIA52I7T.cjs +543 -0
  49. package/dist/chunk-AIX25INK.cjs +602 -0
  50. package/dist/{chunk-B5TCIAPQ.cjs → chunk-AO4I2Z7M.cjs} +17 -18
  51. package/dist/{chunk-Q5SJOGHQ.cjs → chunk-BPICAGBV.cjs} +324 -199
  52. package/dist/chunk-BRQJKJGT.cjs +20 -0
  53. package/dist/{chunk-3FXV5S25.cjs → chunk-C37BHB7N.cjs} +6 -3
  54. package/dist/{chunk-XUTX5CBW.js → chunk-CBJY23VL.js} +3 -3
  55. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  56. package/dist/{chunk-XXINBTZK.cjs → chunk-DIL6DDDN.cjs} +101 -45
  57. package/dist/chunk-DMXC24WV.js +404 -0
  58. package/dist/{chunk-PMGODDJA.cjs → chunk-DTGBOSEM.cjs} +12 -12
  59. package/dist/chunk-E7JP3BS3.cjs +61 -0
  60. package/dist/{chunk-HJJLD366.js → chunk-EKBKLK7P.js} +3 -3
  61. package/dist/chunk-EKYL4PE3.cjs +404 -0
  62. package/dist/{chunk-UPJBDCVF.js → chunk-EMMC5CSQ.js} +12 -8
  63. package/dist/{chunk-GGHSW2NN.js → chunk-EOBB6A4B.js} +6389 -1718
  64. package/dist/chunk-EOFNVCM6.js +325 -0
  65. package/dist/{chunk-FHQVYCH2.js → chunk-ER4GATIU.js} +7 -7
  66. package/dist/{chunk-N5FTS757.cjs → chunk-EXKSFGSX.cjs} +7 -148
  67. package/dist/{chunk-LK5IAVH6.cjs → chunk-EXUP2BUM.cjs} +27 -27
  68. package/dist/chunk-FDSGHPAK.js +130 -0
  69. package/dist/chunk-FEWUHQNM.cjs +144 -0
  70. package/dist/{chunk-5TOFIR6L.js → chunk-FGGJQRLZ.js} +5 -142
  71. package/dist/chunk-FHP6LXJS.js +415 -0
  72. package/dist/{chunk-7LCYLPW2.cjs → chunk-FJPADH77.cjs} +7 -4
  73. package/dist/{chunk-T36DDXSF.js → chunk-FXKTYFYA.js} +150 -25
  74. package/dist/chunk-G2LS3RFO.js +623 -0
  75. package/dist/chunk-GCMWDSBZ.cjs +729 -0
  76. package/dist/chunk-GJNCFRJU.cjs +125 -0
  77. package/dist/{chunk-Q4QX3AET.cjs → chunk-GMP623FG.cjs} +16 -13
  78. package/dist/{chunk-XD6IYDUX.js → chunk-GN3KDX4W.js} +119 -43
  79. package/dist/{chunk-QLEAOI3Q.cjs → chunk-GQYKQSTC.cjs} +10 -10
  80. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  81. package/dist/chunk-GZG4KA4E.js +529 -0
  82. package/dist/{chunk-BND3ST2K.cjs → chunk-H3MGK7TX.cjs} +42 -32
  83. package/dist/{chunk-XRKWN5PL.cjs → chunk-H5DZIHJP.cjs} +14 -18
  84. package/dist/{chunk-Z34RLXRA.cjs → chunk-HANL7K2Q.cjs} +65 -50
  85. package/dist/{chunk-3SAK5KFL.cjs → chunk-HCCQLAA4.cjs} +2 -11
  86. package/dist/{chunk-LXJ4667L.cjs → chunk-HGVXZDSK.cjs} +108 -20
  87. package/dist/{chunk-3FJCK5XA.js → chunk-HRODTEEO.js} +30 -10
  88. package/dist/{chunk-HQUEA5R6.cjs → chunk-HZCQO4JM.cjs} +6 -6
  89. package/dist/{chunk-S565K7NK.js → chunk-I2O7TW6B.js} +12 -8
  90. package/dist/chunk-IHESJZSW.js +4490 -0
  91. package/dist/{chunk-FSF7EQVA.cjs → chunk-IRWWS72C.cjs} +63 -22
  92. package/dist/{chunk-5O6TQC6M.cjs → chunk-IVIA7K75.cjs} +689 -127
  93. package/dist/chunk-IVY74O6C.js +247 -0
  94. package/dist/chunk-J32ZJZJH.js +554 -0
  95. package/dist/chunk-J56PTA46.cjs +639 -0
  96. package/dist/chunk-JD7CIZ33.js +1949 -0
  97. package/dist/{chunk-T7LEXZUZ.cjs → chunk-JIYN45TV.cjs} +14 -15
  98. package/dist/{chunk-FFKU7BTK.cjs → chunk-KHPCJRI3.cjs} +24 -21
  99. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  100. package/dist/chunk-KPJL34Y7.cjs +186 -0
  101. package/dist/{chunk-HE7ULERA.cjs → chunk-KQTPCYTG.cjs} +128 -44
  102. package/dist/{chunk-OFKWH2IP.js → chunk-KX76JUQY.js} +3 -3
  103. package/dist/{chunk-33LSUQDD.cjs → chunk-L63H3SQ4.cjs} +43 -31
  104. package/dist/{chunk-K6EKD26I.js → chunk-LAOCQJ2M.js} +64 -8
  105. package/dist/chunk-LM2VU56C.cjs +37 -0
  106. package/dist/chunk-M56JSP4A.js +400 -0
  107. package/dist/chunk-MBOOR7X4.js +18 -0
  108. package/dist/{chunk-XWPNTWDN.cjs → chunk-MJVIRCUV.cjs} +31 -27
  109. package/dist/{chunk-SDAMZIRE.js → chunk-MSMIFMBL.js} +135 -18
  110. package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
  111. package/dist/{chunk-6UEHYZ7V.cjs → chunk-MXJ5SS53.cjs} +447 -31
  112. package/dist/chunk-MYY4PMWX.cjs +264 -0
  113. package/dist/chunk-N75IH2HY.js +258 -0
  114. package/dist/{chunk-GVUR45UF.cjs → chunk-NG77ATEW.cjs} +7 -6
  115. package/dist/chunk-NW5G5FBQ.js +215 -0
  116. package/dist/{chunk-E3FWRT3Z.js → chunk-OEFY723R.js} +28 -13
  117. package/dist/chunk-OEV5RMZO.cjs +3042 -0
  118. package/dist/{chunk-X4ZF6CNE.cjs → chunk-OIQYIIO3.cjs} +7 -7
  119. package/dist/{chunk-2CWOLHTE.js → chunk-OL46QLBJ.js} +3 -11
  120. package/dist/chunk-OPZ7XDDI.js +487 -0
  121. package/dist/chunk-OSYNRVOV.cjs +243 -0
  122. package/dist/{chunk-TEWCN33Y.js → chunk-P7YIA5LN.js} +91 -7
  123. package/dist/chunk-PGANYCAG.cjs +220 -0
  124. package/dist/{chunk-CS2EMTGF.js → chunk-QAVXL2IH.js} +62 -21
  125. package/dist/{chunk-T4NKMBDL.js → chunk-QCCBXSCE.js} +1666 -756
  126. package/dist/{chunk-F4IULT7N.js → chunk-QPOQ7VPI.js} +16 -13
  127. package/dist/{chunk-6XSERL6L.js → chunk-QTPMJRGS.js} +3108 -2827
  128. package/dist/{chunk-F3HH56EB.cjs → chunk-QWNQ523V.cjs} +1730 -823
  129. package/dist/{chunk-R7MA7QWV.js → chunk-R3IVNY6P.js} +102 -23
  130. package/dist/chunk-R75BSDH7.cjs +50 -0
  131. package/dist/chunk-RAXUF5DF.cjs +2196 -0
  132. package/dist/{chunk-BF2235SI.cjs → chunk-RMHC2VG7.cjs} +2876 -2592
  133. package/dist/chunk-RUXGBKPS.cjs +4517 -0
  134. package/dist/{chunk-UERJ3YJV.js → chunk-S5IFXW6E.js} +113 -9
  135. package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
  136. package/dist/{chunk-WB4Z63GG.js → chunk-SIEXCILW.js} +3 -3
  137. package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
  138. package/dist/{chunk-LZ266PCM.cjs → chunk-T5J7ZKP3.cjs} +446 -60
  139. package/dist/chunk-TDCNJHWO.js +341 -0
  140. package/dist/{chunk-IHOUYQIA.js → chunk-TG7O4WBC.js} +5 -5
  141. package/dist/chunk-THCK6ECW.js +2085 -0
  142. package/dist/chunk-TJHVSBP2.js +439 -0
  143. package/dist/chunk-TK74TR4H.js +5541 -0
  144. package/dist/{chunk-CDPGV4DN.js → chunk-U4NBQJBY.js} +14 -15
  145. package/dist/{chunk-NOZZ46QU.js → chunk-UD3DSHZM.js} +10 -14
  146. package/dist/chunk-UDMYRFDZ.js +3038 -0
  147. package/dist/{chunk-WDW67DZB.cjs → chunk-UOIGFQXC.cjs} +90 -68
  148. package/dist/{chunk-BU7VWW2K.js → chunk-URG2SJLK.js} +14 -15
  149. package/dist/{chunk-EQV4R3EV.cjs → chunk-V73NPPTM.cjs} +152 -35
  150. package/dist/chunk-VECQYRXL.js +474 -0
  151. package/dist/chunk-VEXPG4WN.js +1989 -0
  152. package/dist/{chunk-LDP5OK6G.js → chunk-VMLKSV26.js} +5 -5
  153. package/dist/{chunk-5BGSECRJ.cjs → chunk-VSK7W3O5.cjs} +47 -27
  154. package/dist/chunk-VVKVQZI6.js +55 -0
  155. package/dist/{chunk-YQK5JNFK.js → chunk-W55Z7QIX.js} +103 -15
  156. package/dist/{chunk-KSGXLT74.cjs → chunk-W6P2GBHH.cjs} +3 -3
  157. package/dist/{chunk-IBDG74G2.cjs → chunk-W6RW64BB.cjs} +7 -7
  158. package/dist/chunk-WDT3JTGM.cjs +483 -0
  159. package/dist/{chunk-HPS76H7Q.js → chunk-WKX5AMOY.js} +3 -3
  160. package/dist/chunk-WNNE3PO3.js +34 -0
  161. package/dist/{chunk-XG23EUQX.cjs → chunk-WRLUBRKS.cjs} +538 -312
  162. package/dist/{chunk-IFNQFCTM.js → chunk-WRNEH5MO.js} +79 -8
  163. package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
  164. package/dist/{chunk-KCQ5NDYC.cjs → chunk-X3GJPRVK.cjs} +154 -80
  165. package/dist/{chunk-7AGYRWKW.cjs → chunk-XFXGA5IW.cjs} +126 -22
  166. package/dist/{chunk-TQSZUOW5.cjs → chunk-XHIV6326.cjs} +4 -4
  167. package/dist/chunk-XJAN7CZG.cjs +432 -0
  168. package/dist/chunk-XL6INWKT.js +121 -0
  169. package/dist/{chunk-E3UALNFA.js → chunk-XMWZG36H.js} +4 -4
  170. package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
  171. package/dist/{chunk-H5Z7NASB.js → chunk-XT6JY5W5.js} +25 -3
  172. package/dist/chunk-XXZJEFKW.cjs +490 -0
  173. package/dist/chunk-Y3MWXQSB.cjs +5737 -0
  174. package/dist/chunk-YF2I3MV3.js +46 -0
  175. package/dist/{chunk-V3NN3HPP.js → chunk-YIMN575O.js} +437 -52
  176. package/dist/chunk-YIVFJNYV.js +176 -0
  177. package/dist/{chunk-MD6KDHVE.cjs → chunk-YKGPCZEE.cjs} +10 -10
  178. package/dist/chunk-YQELFNJV.js +39 -0
  179. package/dist/chunk-Z5XMPRNC.cjs +5390 -0
  180. package/dist/{chunk-3FYZOR7S.cjs → chunk-ZDSYWBIE.cjs} +18 -18
  181. package/dist/{chunk-6TZPZCOJ.cjs → chunk-ZKSS47EV.cjs} +24 -19
  182. package/dist/chunk-ZUL5AVTX.cjs +1993 -0
  183. package/dist/chunk-ZXBZVXDW.js +5386 -0
  184. package/dist/{chunk-DMG7C4H2.js → chunk-ZZ7RO2UQ.js} +312 -44
  185. package/dist/cli/holoscript-runner.cjs +200 -204
  186. package/dist/cli/holoscript-runner.js +144 -148
  187. package/dist/codebase/index.cjs +1 -1
  188. package/dist/codebase/index.js +1 -1
  189. package/dist/compiler/agent-inference.cjs +10 -7
  190. package/dist/compiler/agent-inference.js +6 -3
  191. package/dist/compiler/android-xr.cjs +12 -7
  192. package/dist/compiler/android-xr.js +10 -5
  193. package/dist/compiler/android.cjs +12 -8
  194. package/dist/compiler/android.js +10 -6
  195. package/dist/compiler/ar.cjs +9 -6
  196. package/dist/compiler/ar.js +7 -4
  197. package/dist/compiler/babylon.cjs +12 -8
  198. package/dist/compiler/babylon.js +11 -7
  199. package/dist/compiler/business-quest.cjs +43 -0
  200. package/dist/compiler/business-quest.js +4 -0
  201. package/dist/compiler/coco.cjs +1 -1
  202. package/dist/compiler/coco.js +1 -1
  203. package/dist/compiler/context.cjs +25 -0
  204. package/dist/compiler/context.d.ts +28 -0
  205. package/dist/compiler/context.js +8 -0
  206. package/dist/compiler/domain-block-utils.cjs +155 -152
  207. package/dist/compiler/domain-block-utils.js +7 -4
  208. package/dist/compiler/dtdl.cjs +10 -7
  209. package/dist/compiler/dtdl.js +7 -4
  210. package/dist/compiler/gltf-pipeline.cjs +9 -9
  211. package/dist/compiler/gltf-pipeline.js +2 -2
  212. package/dist/compiler/godot.cjs +9 -6
  213. package/dist/compiler/godot.js +8 -5
  214. package/dist/compiler/incremental.cjs +12 -7
  215. package/dist/compiler/incremental.js +7 -2
  216. package/dist/compiler/index.cjs +3550 -268
  217. package/dist/compiler/index.d.ts +404 -21
  218. package/dist/compiler/index.js +3280 -138
  219. package/dist/compiler/ios.cjs +11 -8
  220. package/dist/compiler/ios.js +9 -6
  221. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  222. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  223. package/dist/compiler/llm-provider-capabilities.js +8 -0
  224. package/dist/compiler/multi-layer.cjs +14 -10
  225. package/dist/compiler/multi-layer.js +13 -9
  226. package/dist/compiler/nodetoy.cjs +5 -5
  227. package/dist/compiler/nodetoy.js +2 -2
  228. package/dist/compiler/openxr.cjs +10 -6
  229. package/dist/compiler/openxr.js +9 -5
  230. package/dist/compiler/playcanvas.cjs +10 -7
  231. package/dist/compiler/playcanvas.js +9 -6
  232. package/dist/compiler/r3f.cjs +17 -13
  233. package/dist/compiler/r3f.d.ts +22 -0
  234. package/dist/compiler/r3f.js +12 -8
  235. package/dist/compiler/remotion.cjs +1 -1
  236. package/dist/compiler/remotion.js +1 -1
  237. package/dist/compiler/reproducibility.cjs +1 -1
  238. package/dist/compiler/reproducibility.js +1 -1
  239. package/dist/compiler/sdf.cjs +10 -7
  240. package/dist/compiler/sdf.js +8 -5
  241. package/dist/compiler/semantic-scene.cjs +1 -1
  242. package/dist/compiler/semantic-scene.js +1 -1
  243. package/dist/compiler/state.cjs +9 -5
  244. package/dist/compiler/state.js +7 -3
  245. package/dist/compiler/trait-composition.cjs +11 -7
  246. package/dist/compiler/trait-composition.js +7 -3
  247. package/dist/compiler/unity.cjs +10 -6
  248. package/dist/compiler/unity.js +9 -5
  249. package/dist/compiler/unreal.cjs +11 -7
  250. package/dist/compiler/unreal.js +9 -5
  251. package/dist/compiler/urdf.cjs +20 -13
  252. package/dist/compiler/urdf.js +8 -5
  253. package/dist/compiler/usd-physics.cjs +10 -7
  254. package/dist/compiler/usd-physics.js +7 -4
  255. package/dist/compiler/visionos.cjs +10 -6
  256. package/dist/compiler/visionos.js +9 -5
  257. package/dist/compiler/vrchat.cjs +10 -7
  258. package/dist/compiler/vrchat.js +8 -5
  259. package/dist/compiler/vrr.cjs +10 -7
  260. package/dist/compiler/vrr.js +8 -5
  261. package/dist/compiler/wasm.cjs +13 -10
  262. package/dist/compiler/wasm.js +8 -5
  263. package/dist/compiler/webgpu.cjs +9 -6
  264. package/dist/compiler/webgpu.js +8 -5
  265. package/dist/constants.d.ts +3 -2
  266. package/dist/coordinators/index.cjs +1266 -0
  267. package/dist/coordinators/index.d.ts +260 -0
  268. package/dist/coordinators/index.js +1259 -0
  269. package/dist/debugger.cjs +9 -7
  270. package/dist/debugger.js +7 -5
  271. package/dist/entries/interop.cjs +23 -21
  272. package/dist/entries/interop.js +5 -3
  273. package/dist/entries/scripting.cjs +18 -18
  274. package/dist/entries/scripting.js +8 -8
  275. package/dist/hololand/index.cjs +146 -0
  276. package/dist/hololand/index.d.ts +70 -0
  277. package/dist/hololand/index.js +5 -0
  278. package/dist/index.cjs +20332 -18121
  279. package/dist/index.d.ts +1477 -40
  280. package/dist/index.js +19451 -17638
  281. package/dist/math/tropical-spmv.cjs +45 -0
  282. package/dist/math/tropical-spmv.js +4 -0
  283. package/dist/math/vec3.cjs +14 -14
  284. package/dist/math/vec3.js +2 -2
  285. package/dist/{ml-dsa-PHCWUBPX.cjs → ml-dsa-FSKBTE3W.cjs} +177 -90
  286. package/dist/{ml-dsa-WYLJHJO6.js → ml-dsa-Z7JDKW4L.js} +158 -71
  287. package/dist/paper-0c-spike/index.cjs +150 -0
  288. package/dist/paper-0c-spike/index.d.ts +29 -0
  289. package/dist/paper-0c-spike/index.js +141 -0
  290. package/dist/parser.cjs +45 -11
  291. package/dist/parser.d.ts +11 -0
  292. package/dist/parser.js +10 -8
  293. package/dist/{playwright-RL6GY4F7.cjs → playwright-3AT3AKTV.cjs} +1985 -1985
  294. package/dist/{playwright-5OSAPTNH.js → playwright-VZPDVUEQ.js} +3 -3
  295. package/dist/reconstruction/index.cjs +153 -0
  296. package/dist/reconstruction/index.d.ts +105 -0
  297. package/dist/reconstruction/index.js +8 -0
  298. package/dist/runtime.cjs +7 -5
  299. package/dist/runtime.js +6 -4
  300. package/dist/self-improvement/index.cjs +563 -0
  301. package/dist/self-improvement/index.js +545 -0
  302. package/dist/storage/index.cjs +10 -9
  303. package/dist/storage/index.js +3 -2
  304. package/dist/testing.cjs +25 -0
  305. package/dist/testing.d.ts +70 -0
  306. package/dist/testing.js +4 -0
  307. package/dist/tools/index.d.ts +22 -1
  308. package/dist/traitDocs/traitDocs.cjs +33 -0
  309. package/dist/traitDocs/traitDocs.d.ts +69 -0
  310. package/dist/traitDocs/traitDocs.js +7 -0
  311. package/dist/traits/botanical-lotus.cjs +41 -0
  312. package/dist/traits/botanical-lotus.d.ts +172 -0
  313. package/dist/traits/botanical-lotus.js +4 -0
  314. package/dist/traits/engines/index.cjs +520 -0
  315. package/dist/traits/engines/index.js +380 -0
  316. package/dist/traits/index.cjs +17630 -7881
  317. package/dist/traits/index.d.ts +197 -0
  318. package/dist/traits/index.js +16573 -7193
  319. package/dist/traits/simulation-solver-factory.cjs +13 -0
  320. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  321. package/dist/traits/simulation-solver-factory.js +4 -0
  322. package/dist/traits/webcam-gaze.cjs +35 -0
  323. package/dist/traits/webcam-gaze.d.ts +17 -0
  324. package/dist/traits/webcam-gaze.js +4 -0
  325. package/dist/type-checker.cjs +6 -5
  326. package/dist/type-checker.js +4 -3
  327. package/dist/world/index.cjs +947 -0
  328. package/dist/world/index.d.ts +147 -0
  329. package/dist/world/index.js +939 -0
  330. package/dist/world-model/index.cjs +1446 -0
  331. package/dist/world-model/index.d.ts +119 -0
  332. package/dist/world-model/index.js +1414 -0
  333. package/dist/wot/index.cjs +29 -0
  334. package/dist/wot/index.js +4 -0
  335. package/package.json +153 -61
  336. package/dist/GLTFPipeline-DEN36VNK.js +0 -12
  337. package/dist/GLTFPipeline-YPCAK236.cjs +0 -33
  338. package/dist/chunk-4XSNJCLC.cjs +0 -1859
  339. package/dist/chunk-A7PIMZGU.js +0 -263
  340. package/dist/chunk-BWFJEM5A.js +0 -5419
  341. package/dist/chunk-CBJSLA2E.cjs +0 -5423
  342. package/dist/chunk-K3JDKWGI.cjs +0 -270
  343. package/dist/chunk-LSW7P7ML.js +0 -3675
  344. package/dist/chunk-MEASWI2Y.js +0 -126
  345. package/dist/chunk-NCUKG4SK.cjs +0 -3075
  346. package/dist/chunk-Q5JT3YML.cjs +0 -129
  347. package/dist/chunk-QGKNANZ3.js +0 -3071
  348. package/dist/chunk-S2N5TNMA.js +0 -1855
  349. package/dist/chunk-TSH3MSQU.cjs +0 -129
  350. package/dist/chunk-WGMEAYBG.js +0 -126
  351. package/dist/chunk-X6SEAXAX.cjs +0 -3681
@@ -0,0 +1,325 @@
1
+ import { init_CompilerBase, CompilerBase } from './chunk-QTPMJRGS.js';
2
+
3
+ // src/compiler/QuantumCircuitCompiler.ts
4
+ init_CompilerBase();
5
+ function qubitsForMolecule(atoms) {
6
+ const orbitalCount = atoms.reduce((sum, a) => {
7
+ if (a.symbol === "H") return sum + 1;
8
+ if (["C", "N", "O", "F"].includes(a.symbol)) return sum + 5;
9
+ return sum + 9;
10
+ }, 0);
11
+ return orbitalCount * 2;
12
+ }
13
+ function extractNumber(config, key) {
14
+ const entry = config[key];
15
+ if (!entry) return void 0;
16
+ const v = entry.value;
17
+ if (typeof v === "number") return v;
18
+ if (typeof v === "string") {
19
+ const n = parseFloat(v);
20
+ return isNaN(n) ? void 0 : n;
21
+ }
22
+ return void 0;
23
+ }
24
+ function extractAtoms(config) {
25
+ const entry = config["molecule"] ?? config["atoms"];
26
+ if (!entry) return void 0;
27
+ let raw = entry.value;
28
+ if (typeof raw === "string") {
29
+ try {
30
+ raw = JSON.parse(raw);
31
+ } catch {
32
+ return void 0;
33
+ }
34
+ }
35
+ if (!Array.isArray(raw)) return void 0;
36
+ return raw.filter(
37
+ (a) => typeof a === "object" && a !== null && typeof a["symbol"] === "string"
38
+ );
39
+ }
40
+ function extractWeightMatrix(config) {
41
+ const entry = config["weightMatrix"] ?? config["weight_matrix"] ?? config["adjacency"];
42
+ if (!entry) return void 0;
43
+ let raw = entry.value;
44
+ if (typeof raw === "string") {
45
+ try {
46
+ raw = JSON.parse(raw);
47
+ } catch {
48
+ return void 0;
49
+ }
50
+ }
51
+ if (!Array.isArray(raw)) return void 0;
52
+ if (!raw.every((row) => Array.isArray(row))) return void 0;
53
+ return raw;
54
+ }
55
+ function generateVQECircuit(atoms, moleculeName, ansatzLayers, initialParams) {
56
+ const warnings = [];
57
+ let numQubits = qubitsForMolecule(atoms);
58
+ if (numQubits > 50) {
59
+ warnings.push(
60
+ `Molecule requires ${numQubits} qubits which exceeds the 50-qubit cap. Clamping to 50. Use classical QM for larger systems.`
61
+ );
62
+ numQubits = 50;
63
+ }
64
+ if (numQubits > 20) {
65
+ warnings.push(
66
+ `Circuit uses ${numQubits} qubits \u2014 near-term hardware is limited to ~20 qubits without error correction. Consider a smaller basis set.`
67
+ );
68
+ }
69
+ const n = numQubits;
70
+ const totalParams = ansatzLayers * n;
71
+ const paramNames = [];
72
+ for (let i = 0; i < totalParams; i++) {
73
+ paramNames.push(`theta_${i}`);
74
+ }
75
+ const lines = [];
76
+ lines.push("OPENQASM 3.0;");
77
+ lines.push('include "stdgates.inc";');
78
+ lines.push(`// Hardware-efficient ansatz for ${moleculeName} (${n} qubits, sto-3g)`);
79
+ lines.push("// Generated by HoloScript QuantumCircuitCompiler");
80
+ lines.push(`qubit[${n}] q;`);
81
+ lines.push(`bit[${n}] c;`);
82
+ lines.push(`// Parameters: bindable by optimizer (initial values are defaults)`);
83
+ for (let i = 0; i < totalParams; i++) {
84
+ const defaultVal = initialParams?.[i] ?? 0.1;
85
+ lines.push(`input float theta_${i}; // default=${defaultVal}`);
86
+ }
87
+ let paramIdx = 0;
88
+ for (let layer = 0; layer < ansatzLayers; layer++) {
89
+ lines.push(`// Layer ${layer}: Ry rotations (\u03B8[${paramIdx}..${paramIdx + n - 1}] optimised by VQE)`);
90
+ for (let i = 0; i < n; i++) {
91
+ lines.push(`ry(theta_${paramIdx}) q[${i}];`);
92
+ paramIdx++;
93
+ }
94
+ if (layer < ansatzLayers - 1 || n > 1) {
95
+ lines.push(`// Entanglement: linear CNOT chain`);
96
+ for (let i = 0; i < n - 1; i++) {
97
+ lines.push(`cx q[${i}], q[${i + 1}];`);
98
+ }
99
+ }
100
+ }
101
+ lines.push("// Measurement");
102
+ lines.push("c = measure q;");
103
+ const estimatedDepth = ansatzLayers * 2 + 1;
104
+ return { qasm: lines.join("\n"), numQubits: n, estimatedDepth, warnings, paramNames };
105
+ }
106
+ function generateQAOACircuit(weightMatrix, p, initialGamma, initialBeta) {
107
+ const warnings = [];
108
+ let n = weightMatrix.length;
109
+ if (n > 100) {
110
+ warnings.push(
111
+ `Graph has ${n} nodes which exceeds the 100-qubit cap. Clamping to 100. Use classical solvers for larger instances.`
112
+ );
113
+ n = 100;
114
+ weightMatrix = weightMatrix.slice(0, 100).map((row) => row.slice(0, 100));
115
+ }
116
+ if (n > 50) {
117
+ warnings.push(
118
+ `Circuit uses ${n} qubits \u2014 near-term hardware handles ~50 qubits without error correction.`
119
+ );
120
+ }
121
+ const defaultGamma = initialGamma ?? 0.5;
122
+ const defaultBeta = initialBeta ?? 0.5;
123
+ const paramNames = [];
124
+ for (let round = 0; round < p; round++) {
125
+ paramNames.push(`gamma_${round}`);
126
+ paramNames.push(`beta_${round}`);
127
+ }
128
+ const lines = [];
129
+ lines.push("OPENQASM 3.0;");
130
+ lines.push('include "stdgates.inc";');
131
+ lines.push(`// QAOA Max-Cut circuit for ${n}-node graph (p=${p})`);
132
+ lines.push("// Generated by HoloScript QuantumCircuitCompiler");
133
+ lines.push(`qubit[${n}] q;`);
134
+ lines.push(`bit[${n}] c;`);
135
+ lines.push("// Parameters: bindable by optimizer (initial values are defaults)");
136
+ for (let round = 0; round < p; round++) {
137
+ lines.push(`input float gamma_${round}; // default=${defaultGamma}`);
138
+ lines.push(`input float beta_${round}; // default=${defaultBeta}`);
139
+ }
140
+ lines.push("// Initial superposition");
141
+ for (let i = 0; i < n; i++) {
142
+ lines.push(`h q[${i}];`);
143
+ }
144
+ for (let round = 0; round < p; round++) {
145
+ lines.push(`// Problem unitary \u2014 round ${round + 1} (gamma=gamma_${round})`);
146
+ for (let i = 0; i < n; i++) {
147
+ for (let j = i + 1; j < n; j++) {
148
+ const w = weightMatrix[i]?.[j] ?? 0;
149
+ if (w !== 0) {
150
+ lines.push(`// Edge (${i},${j}) weight=${w}: rzz(2.0*gamma_${round}*${w.toFixed(4)})`);
151
+ lines.push(`cx q[${i}], q[${j}];`);
152
+ lines.push(`rz(2.0 * gamma_${round} * ${w.toFixed(4)}) q[${j}];`);
153
+ lines.push(`cx q[${i}], q[${j}];`);
154
+ }
155
+ }
156
+ }
157
+ lines.push(`// Mixer unitary \u2014 round ${round + 1} (beta=beta_${round})`);
158
+ for (let i = 0; i < n; i++) {
159
+ lines.push(`rx(2.0 * beta_${round}) q[${i}];`);
160
+ }
161
+ }
162
+ lines.push("// Measurement");
163
+ lines.push("c = measure q;");
164
+ const edgeCount = weightMatrix.flat().filter((w) => w !== 0).length / 2;
165
+ const estimatedDepth = 1 + p * (Math.ceil(edgeCount * 3) + 1) + 1;
166
+ return { qasm: lines.join("\n"), numQubits: n, estimatedDepth, warnings, paramNames };
167
+ }
168
+ function generateStubCircuit() {
169
+ const qasm = [
170
+ "OPENQASM 3.0;",
171
+ 'include "stdgates.inc";',
172
+ "// Stub circuit: no @quantumCircuit trait found in composition",
173
+ "// Generated by HoloScript QuantumCircuitCompiler",
174
+ "qubit[1] q;",
175
+ "bit[1] c;",
176
+ "h q[0];",
177
+ "c = measure q;"
178
+ ].join("\n");
179
+ return {
180
+ qasm,
181
+ warnings: [
182
+ "No @quantumCircuit (or @quantum_circuit) trait found in the composition. A stub 1-qubit circuit has been emitted. Add a @quantumCircuit trait with `molecule` or `weightMatrix` params to generate a real circuit."
183
+ ]
184
+ };
185
+ }
186
+ var QuantumCircuitCompiler = class extends CompilerBase {
187
+ constructor() {
188
+ super(...arguments);
189
+ this.compilerName = "QuantumCircuitCompiler";
190
+ }
191
+ /**
192
+ * Compile a HoloScript composition to an OpenQASM 3.0 circuit.
193
+ *
194
+ * The method scans `composition.objects` for the first object that carries a
195
+ * `@quantumCircuit` or `@quantum_circuit` trait. Trait params drive the type:
196
+ * - `molecule` (or `atoms`) → VQE hardware-efficient ansatz
197
+ * - `weightMatrix` / `weight_matrix` / `adjacency` / `numNodes` → QAOA Max-Cut
198
+ * - none of the above → stub 1-qubit circuit with a warning
199
+ *
200
+ * @param composition - Parsed HoloScript AST
201
+ * @param agentToken - JWT RBAC token or UCAN CapabilityTokenCredential (optional)
202
+ * @param outputPath - Optional path for output-scope RBAC check
203
+ * @param _sceneGraph - Unused (reserved for future scene-graph hints)
204
+ * @returns {@link QASMOutput}
205
+ */
206
+ compile(composition, agentToken, outputPath, _sceneGraph) {
207
+ this.validateCompilerAccess(agentToken, outputPath);
208
+ const quantum = this.findQuantumTrait(composition.objects ?? []);
209
+ if (!quantum) {
210
+ const { qasm: qasm2, warnings: warnings2 } = generateStubCircuit();
211
+ return {
212
+ qasm: qasm2,
213
+ numQubits: 1,
214
+ numClbits: 1,
215
+ estimatedDepth: 2,
216
+ circuitType: "custom",
217
+ recommendedBackend: "aer",
218
+ warnings: warnings2
219
+ };
220
+ }
221
+ const { trait } = quantum;
222
+ const cfg = trait.config;
223
+ const atoms = extractAtoms(cfg);
224
+ const weightMatrix = extractWeightMatrix(cfg);
225
+ const numNodes = extractNumber(cfg, "numNodes") ?? extractNumber(cfg, "num_nodes");
226
+ if (atoms && atoms.length > 0) {
227
+ return this.buildVQEOutput(atoms, cfg);
228
+ }
229
+ if (weightMatrix) {
230
+ return this.buildQAOAOutput(weightMatrix, cfg);
231
+ }
232
+ if (numNodes !== void 0 && numNodes > 0) {
233
+ const n = Math.min(Math.round(numNodes), 100);
234
+ const matrix = Array.from(
235
+ { length: n },
236
+ (_, i) => Array.from({ length: n }, (_2, j) => i !== j ? 1 : 0)
237
+ );
238
+ return this.buildQAOAOutput(matrix, cfg);
239
+ }
240
+ const { qasm, warnings } = generateStubCircuit();
241
+ warnings.unshift(
242
+ "@quantumCircuit trait found but neither `molecule`/`atoms` nor `weightMatrix`/`numNodes` params are present. Add params to generate a circuit."
243
+ );
244
+ return {
245
+ qasm,
246
+ numQubits: 1,
247
+ numClbits: 1,
248
+ estimatedDepth: 2,
249
+ circuitType: "custom",
250
+ recommendedBackend: "aer",
251
+ warnings
252
+ };
253
+ }
254
+ // ---------------------------------------------------------------------------
255
+ // Private helpers
256
+ // ---------------------------------------------------------------------------
257
+ /**
258
+ * Walk `objects` (and their children) recursively, returning the first object
259
+ * that has a `@quantumCircuit` or `@quantum_circuit` trait, plus the trait.
260
+ */
261
+ findQuantumTrait(objects) {
262
+ for (const obj of objects) {
263
+ for (const trait of obj.traits ?? []) {
264
+ if (trait.name === "quantumCircuit" || trait.name === "quantum_circuit") {
265
+ return { obj, trait };
266
+ }
267
+ }
268
+ if (obj.children && obj.children.length > 0) {
269
+ const found = this.findQuantumTrait(obj.children);
270
+ if (found) return found;
271
+ }
272
+ }
273
+ return void 0;
274
+ }
275
+ /** Build a {@link QASMOutput} for a VQE circuit. */
276
+ buildVQEOutput(atoms, cfg) {
277
+ const moleculeName = (extractNumber(cfg, "moleculeName") !== void 0 ? void 0 : cfg["moleculeName"]?.value) ?? atoms.map((a) => a.symbol).join("") ?? "molecule";
278
+ const ansatzLayers = Math.max(1, Math.round(extractNumber(cfg, "ansatzLayers") ?? extractNumber(cfg, "ansatz_layers") ?? 2));
279
+ const initialParams = cfg["initialParams"]?.value ?? cfg["initial_params"]?.value ?? void 0;
280
+ const { qasm, numQubits, estimatedDepth, warnings, paramNames } = generateVQECircuit(
281
+ atoms,
282
+ moleculeName,
283
+ ansatzLayers,
284
+ initialParams
285
+ );
286
+ return {
287
+ qasm,
288
+ numQubits,
289
+ numClbits: numQubits,
290
+ estimatedDepth,
291
+ circuitType: "vqe",
292
+ molecule: { atoms },
293
+ recommendedBackend: numQubits <= 20 ? "aer" : "ibm-quantum",
294
+ warnings,
295
+ paramNames
296
+ };
297
+ }
298
+ /** Build a {@link QASMOutput} for a QAOA circuit. */
299
+ buildQAOAOutput(weightMatrix, cfg) {
300
+ const p = Math.max(1, Math.round(extractNumber(cfg, "p") ?? 1));
301
+ const initialGamma = extractNumber(cfg, "gamma") ?? extractNumber(cfg, "initial_gamma");
302
+ const initialBeta = extractNumber(cfg, "beta") ?? extractNumber(cfg, "initial_beta");
303
+ const { qasm, numQubits, estimatedDepth, warnings, paramNames } = generateQAOACircuit(
304
+ weightMatrix,
305
+ p,
306
+ initialGamma,
307
+ initialBeta
308
+ );
309
+ return {
310
+ qasm,
311
+ numQubits,
312
+ numClbits: numQubits,
313
+ estimatedDepth,
314
+ circuitType: "qaoa",
315
+ weightMatrix,
316
+ recommendedBackend: numQubits <= 50 ? "aer" : "ibm-quantum",
317
+ warnings,
318
+ paramNames
319
+ };
320
+ }
321
+ };
322
+
323
+ export { QuantumCircuitCompiler };
324
+ //# sourceMappingURL=chunk-EOFNVCM6.js.map
325
+ //# sourceMappingURL=chunk-EOFNVCM6.js.map
@@ -1,8 +1,8 @@
1
- import { init_ARCompiler, ARCompiler } from './chunk-MEASWI2Y.js';
2
- import { init_BabylonCompiler, BabylonCompiler } from './chunk-KED34ILP.js';
3
- import { init_VRRCompiler, VRRCompiler } from './chunk-R7MA7QWV.js';
4
- import { init_CompilerBase, CompilerBase } from './chunk-6XSERL6L.js';
5
- import { ANSCapabilityPath } from '@holoscript/platform';
1
+ import { init_VRRCompiler, VRRCompiler } from './chunk-R3IVNY6P.js';
2
+ import { init_ARCompiler, ARCompiler } from './chunk-OPZ7XDDI.js';
3
+ import { init_BabylonCompiler, BabylonCompiler } from './chunk-6ASWLXXN.js';
4
+ import { init_CompilerBase, CompilerBase } from './chunk-QTPMJRGS.js';
5
+ import { ANSCapabilityPath } from '@holoscript/core-types/ans';
6
6
 
7
7
  // src/compiler/MultiLayerCompiler.ts
8
8
  init_VRRCompiler();
@@ -66,5 +66,5 @@ var MultiLayerCompiler = class extends CompilerBase {
66
66
  };
67
67
 
68
68
  export { MultiLayerCompiler };
69
- //# sourceMappingURL=chunk-FHQVYCH2.js.map
70
- //# sourceMappingURL=chunk-FHQVYCH2.js.map
69
+ //# sourceMappingURL=chunk-ER4GATIU.js.map
70
+ //# sourceMappingURL=chunk-ER4GATIU.js.map
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var chunkOSYNRVOV_cjs = require('./chunk-OSYNRVOV.cjs');
4
+
3
5
  // src/interop/InteropBindingGenerator.ts
4
6
  var InteropBindingGenerator = class {
5
7
  /**
@@ -186,149 +188,10 @@ var InteropBindingGenerator = class {
186
188
  }
187
189
  };
188
190
 
189
- // src/resilience/ResiliencePatterns.ts
190
- var CircuitBreakerState = /* @__PURE__ */ ((CircuitBreakerState2) => {
191
- CircuitBreakerState2["CLOSED"] = "CLOSED";
192
- CircuitBreakerState2["OPEN"] = "OPEN";
193
- CircuitBreakerState2["HALF_OPEN"] = "HALF_OPEN";
194
- return CircuitBreakerState2;
195
- })(CircuitBreakerState || {});
196
- var CircuitBreaker = class {
197
- constructor(config = {}) {
198
- this.state = "CLOSED" /* CLOSED */;
199
- this.failureCount = 0;
200
- this.successCount = 0;
201
- this.lastFailureTime = null;
202
- this.failures = [];
203
- this.config = {
204
- failureThreshold: 5,
205
- successThreshold: 2,
206
- resetTimeoutMs: 6e4,
207
- // 1 minute
208
- windowMs: 3e4,
209
- // 30 seconds
210
- isRetryable: (err) => err instanceof Error,
211
- ...config
212
- };
213
- }
214
- /**
215
- * Execute function with circuit breaker protection
216
- */
217
- async execute(fn) {
218
- if (this.state === "OPEN" /* OPEN */) {
219
- if (Date.now() - (this.lastFailureTime || 0) > this.config.resetTimeoutMs) {
220
- this.state = "HALF_OPEN" /* HALF_OPEN */;
221
- this.successCount = 0;
222
- } else {
223
- throw new Error(`Circuit breaker is OPEN. Retry after ${this.config.resetTimeoutMs}ms`);
224
- }
225
- }
226
- try {
227
- const result = await fn();
228
- this.onSuccess();
229
- return result;
230
- } catch (error) {
231
- this.onFailure(error);
232
- throw error;
233
- }
234
- }
235
- onSuccess() {
236
- this.failureCount = 0;
237
- this.failures = this.failures.filter((f) => Date.now() - f.timestamp < this.config.windowMs);
238
- if (this.state === "HALF_OPEN" /* HALF_OPEN */) {
239
- this.successCount++;
240
- if (this.successCount >= this.config.successThreshold) {
241
- this.state = "CLOSED" /* CLOSED */;
242
- }
243
- }
244
- }
245
- onFailure(error) {
246
- this.lastFailureTime = Date.now();
247
- this.failureCount++;
248
- this.failures.push({ timestamp: Date.now(), error });
249
- this.failures = this.failures.filter((f) => Date.now() - f.timestamp < this.config.windowMs);
250
- if (this.state === "HALF_OPEN" /* HALF_OPEN */) {
251
- this.state = "OPEN" /* OPEN */;
252
- } else if (this.failureCount >= this.config.failureThreshold) {
253
- this.state = "OPEN" /* OPEN */;
254
- console.error(`Circuit breaker OPEN after ${this.failureCount} failures: ${error.message}`);
255
- }
256
- }
257
- get currentState() {
258
- return this.state;
259
- }
260
- /**
261
- * Get current circuit breaker state (accessor method)
262
- */
263
- getState() {
264
- if (this.state === "OPEN" /* OPEN */ && Date.now() - (this.lastFailureTime || 0) > this.config.resetTimeoutMs) {
265
- return "HALF_OPEN" /* HALF_OPEN */;
266
- }
267
- return this.state;
268
- }
269
- /**
270
- * Get circuit breaker metrics
271
- */
272
- getMetrics() {
273
- return {
274
- state: this.state,
275
- totalFailures: this.failureCount,
276
- totalSuccesses: this.successCount,
277
- lastFailureTime: this.lastFailureTime,
278
- totalRequests: this.failureCount + this.successCount
279
- };
280
- }
281
- };
282
- async function retryWithBackoff(fn, config = {}) {
283
- const cfg = {
284
- maxAttempts: 3,
285
- initialBackoffMs: 100,
286
- maxBackoffMs: 1e4,
287
- multiplier: 2,
288
- jitter: true,
289
- isRetryable: (err, attempt) => attempt < cfg.maxAttempts,
290
- ...config
291
- };
292
- let lastError = null;
293
- for (let attempt = 1; attempt <= cfg.maxAttempts; attempt++) {
294
- try {
295
- return await fn();
296
- } catch (error) {
297
- lastError = error;
298
- if (!cfg.isRetryable(lastError, attempt)) {
299
- throw lastError;
300
- }
301
- if (attempt < cfg.maxAttempts) {
302
- const backoff = Math.min(
303
- cfg.initialBackoffMs * Math.pow(cfg.multiplier, attempt - 1),
304
- cfg.maxBackoffMs
305
- );
306
- const jitteredBackoff = cfg.jitter ? backoff * (0.5 + Math.random() * 0.5) : backoff;
307
- console.warn(
308
- `Attempt ${attempt} failed: ${lastError.message}. Retrying in ${Math.round(jitteredBackoff)}ms`
309
- );
310
- await sleep(jitteredBackoff);
311
- }
312
- }
313
- }
314
- throw lastError || new Error("Max retry attempts exceeded");
315
- }
316
- function sleep(ms) {
317
- return new Promise((resolve) => setTimeout(resolve, ms));
318
- }
319
- async function withTimeout(promise, timeoutMs) {
320
- return Promise.race([
321
- promise,
322
- new Promise(
323
- (_, reject) => setTimeout(() => reject(new Error(`Operation timeout after ${timeoutMs}ms`)), timeoutMs)
324
- )
325
- ]);
326
- }
327
-
328
191
  // src/mcp/MCPCircuitBreaker.ts
329
192
  var MCPCircuitBreaker = class {
330
193
  constructor(config = {}) {
331
- this.breaker = new CircuitBreaker({
194
+ this.breaker = new chunkOSYNRVOV_cjs.CircuitBreaker({
332
195
  failureThreshold: config.failureThreshold ?? 5,
333
196
  successThreshold: config.successThreshold ?? 2,
334
197
  resetTimeoutMs: config.resetTimeoutMs ?? 3e4,
@@ -342,9 +205,9 @@ var MCPCircuitBreaker = class {
342
205
  async callTool(tool, args, timeoutMs = 15e3) {
343
206
  try {
344
207
  const result = await this.breaker.execute(async () => {
345
- return retryWithBackoff(
208
+ return chunkOSYNRVOV_cjs.retryWithBackoff(
346
209
  async () => {
347
- const response = await withTimeout(
210
+ const response = await chunkOSYNRVOV_cjs.withTimeout(
348
211
  fetch(`${this.baseUrl}/api/mcp/tools/${tool}`, {
349
212
  method: "POST",
350
213
  headers: { "Content-Type": "application/json" },
@@ -404,12 +267,8 @@ function getMCPCircuitBreaker(config) {
404
267
  return defaultInstance;
405
268
  }
406
269
 
407
- exports.CircuitBreaker = CircuitBreaker;
408
- exports.CircuitBreakerState = CircuitBreakerState;
409
270
  exports.InteropBindingGenerator = InteropBindingGenerator;
410
271
  exports.MCPCircuitBreaker = MCPCircuitBreaker;
411
272
  exports.getMCPCircuitBreaker = getMCPCircuitBreaker;
412
- exports.retryWithBackoff = retryWithBackoff;
413
- exports.withTimeout = withTimeout;
414
- //# sourceMappingURL=chunk-N5FTS757.cjs.map
415
- //# sourceMappingURL=chunk-N5FTS757.cjs.map
273
+ //# sourceMappingURL=chunk-EXKSFGSX.cjs.map
274
+ //# sourceMappingURL=chunk-EXKSFGSX.cjs.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk3FYZOR7S_cjs = require('./chunk-3FYZOR7S.cjs');
3
+ var chunkZDSYWBIE_cjs = require('./chunk-ZDSYWBIE.cjs');
4
4
 
5
5
  // src/compiler/ProceduralGeometry.ts
6
6
  var LOD_PRESETS = {
@@ -313,36 +313,36 @@ function generateSplineGeometry(points, radii, radialSegments = 32, lengthSteps
313
313
  const v = ring / (totalRings - 1);
314
314
  let tangent;
315
315
  if (ring === 0) {
316
- tangent = chunk3FYZOR7S_cjs.vec3SubArray(pathPoints[1], pathPoints[0]);
316
+ tangent = chunkZDSYWBIE_cjs.vec3SubArray(pathPoints[1], pathPoints[0]);
317
317
  } else if (ring === totalRings - 1) {
318
- tangent = chunk3FYZOR7S_cjs.vec3SubArray(pathPoints[totalRings - 1], pathPoints[totalRings - 2]);
318
+ tangent = chunkZDSYWBIE_cjs.vec3SubArray(pathPoints[totalRings - 1], pathPoints[totalRings - 2]);
319
319
  } else {
320
- tangent = chunk3FYZOR7S_cjs.vec3SubArray(pathPoints[ring + 1], pathPoints[ring - 1]);
320
+ tangent = chunkZDSYWBIE_cjs.vec3SubArray(pathPoints[ring + 1], pathPoints[ring - 1]);
321
321
  }
322
- chunk3FYZOR7S_cjs.vec3NormalizeInPlace(tangent);
322
+ chunkZDSYWBIE_cjs.vec3NormalizeInPlace(tangent);
323
323
  let normal;
324
324
  let binormal;
325
325
  if (ring === 0) {
326
326
  if (Math.abs(tangent[0]) < 0.9) {
327
- normal = chunk3FYZOR7S_cjs.vec3CrossArray(tangent, [1, 0, 0]);
327
+ normal = chunkZDSYWBIE_cjs.vec3CrossArray(tangent, [1, 0, 0]);
328
328
  } else {
329
- normal = chunk3FYZOR7S_cjs.vec3CrossArray(tangent, [0, 1, 0]);
329
+ normal = chunkZDSYWBIE_cjs.vec3CrossArray(tangent, [0, 1, 0]);
330
330
  }
331
- chunk3FYZOR7S_cjs.vec3NormalizeInPlace(normal);
332
- binormal = chunk3FYZOR7S_cjs.vec3CrossArray(tangent, normal);
333
- chunk3FYZOR7S_cjs.vec3NormalizeInPlace(binormal);
331
+ chunkZDSYWBIE_cjs.vec3NormalizeInPlace(normal);
332
+ binormal = chunkZDSYWBIE_cjs.vec3CrossArray(tangent, normal);
333
+ chunkZDSYWBIE_cjs.vec3NormalizeInPlace(binormal);
334
334
  } else {
335
- normal = chunk3FYZOR7S_cjs.vec3SubArray(
335
+ normal = chunkZDSYWBIE_cjs.vec3SubArray(
336
336
  prevNormal,
337
- chunk3FYZOR7S_cjs.vec3ScaleArray(
337
+ chunkZDSYWBIE_cjs.vec3ScaleArray(
338
338
  tangent,
339
339
  prevNormal[0] * tangent[0] + prevNormal[1] * tangent[1] + prevNormal[2] * tangent[2]
340
340
  )
341
341
  );
342
- const nLen = chunk3FYZOR7S_cjs.vec3NormalizeInPlace(normal);
342
+ const nLen = chunkZDSYWBIE_cjs.vec3NormalizeInPlace(normal);
343
343
  if (nLen < 1e-6) normal = [...prevNormal];
344
- binormal = chunk3FYZOR7S_cjs.vec3CrossArray(tangent, normal);
345
- chunk3FYZOR7S_cjs.vec3NormalizeInPlace(binormal);
344
+ binormal = chunkZDSYWBIE_cjs.vec3CrossArray(tangent, normal);
345
+ chunkZDSYWBIE_cjs.vec3NormalizeInPlace(binormal);
346
346
  }
347
347
  prevNormal = normal;
348
348
  for (let i = 0; i <= radialSegments; i++) {
@@ -369,8 +369,8 @@ function generateSplineGeometry(points, radii, radialSegments = 32, lengthSteps
369
369
  }
370
370
  const startCenter = positions.length / 3;
371
371
  const sp = pathPoints[0];
372
- const startTangent = chunk3FYZOR7S_cjs.vec3SubArray(pathPoints[1], pathPoints[0]);
373
- chunk3FYZOR7S_cjs.vec3NormalizeInPlace(startTangent);
372
+ const startTangent = chunkZDSYWBIE_cjs.vec3SubArray(pathPoints[1], pathPoints[0]);
373
+ chunkZDSYWBIE_cjs.vec3NormalizeInPlace(startTangent);
374
374
  positions.push(sp[0], sp[1], sp[2]);
375
375
  normals.push(-startTangent[0], -startTangent[1], -startTangent[2]);
376
376
  uvs.push(0.5, 0);
@@ -379,8 +379,8 @@ function generateSplineGeometry(points, radii, radialSegments = 32, lengthSteps
379
379
  }
380
380
  const endCenter = positions.length / 3;
381
381
  const ep = pathPoints[totalRings - 1];
382
- const endTangent = chunk3FYZOR7S_cjs.vec3SubArray(pathPoints[totalRings - 1], pathPoints[totalRings - 2]);
383
- chunk3FYZOR7S_cjs.vec3NormalizeInPlace(endTangent);
382
+ const endTangent = chunkZDSYWBIE_cjs.vec3SubArray(pathPoints[totalRings - 1], pathPoints[totalRings - 2]);
383
+ chunkZDSYWBIE_cjs.vec3NormalizeInPlace(endTangent);
384
384
  positions.push(ep[0], ep[1], ep[2]);
385
385
  normals.push(endTangent[0], endTangent[1], endTangent[2]);
386
386
  uvs.push(0.5, 1);
@@ -981,7 +981,7 @@ function generateHullGeometry(blobs, resolution = 24, threshold = 1, lod) {
981
981
  const gradEps = Math.min(dx, dy, dz) * 0.5;
982
982
  const grad = evalGradient(x, y, z, gradEps);
983
983
  const n = [-grad[0], -grad[1], -grad[2]];
984
- chunk3FYZOR7S_cjs.vec3NormalizeInPlace(n);
984
+ chunkZDSYWBIE_cjs.vec3NormalizeInPlace(n);
985
985
  const vertIdx = positions.length / 3;
986
986
  positions.push(x, y, z);
987
987
  normals.push(n[0], n[1], n[2]);
@@ -1094,14 +1094,14 @@ function generateMembraneGeometry(anchors, subdivisions = 8, bulge = 0.15, lod)
1094
1094
  for (let i = 0; i < anchors.length; i++) {
1095
1095
  const a = anchors[i];
1096
1096
  const b = anchors[(i + 1) % anchors.length];
1097
- const ca = chunk3FYZOR7S_cjs.vec3SubArray(a, center);
1098
- const cb = chunk3FYZOR7S_cjs.vec3SubArray(b, center);
1099
- const cross = chunk3FYZOR7S_cjs.vec3CrossArray(ca, cb);
1097
+ const ca = chunkZDSYWBIE_cjs.vec3SubArray(a, center);
1098
+ const cb = chunkZDSYWBIE_cjs.vec3SubArray(b, center);
1099
+ const cross = chunkZDSYWBIE_cjs.vec3CrossArray(ca, cb);
1100
1100
  memNormal[0] += cross[0];
1101
1101
  memNormal[1] += cross[1];
1102
1102
  memNormal[2] += cross[2];
1103
1103
  }
1104
- chunk3FYZOR7S_cjs.vec3NormalizeInPlace(memNormal);
1104
+ chunkZDSYWBIE_cjs.vec3NormalizeInPlace(memNormal);
1105
1105
  const numAnchors = anchors.length;
1106
1106
  const centerIdx = 0;
1107
1107
  positions.push(
@@ -1133,7 +1133,7 @@ function generateMembraneGeometry(anchors, subdivisions = 8, bulge = 0.15, lod)
1133
1133
  memNormal[1] + dy * bulge * 0.5,
1134
1134
  memNormal[2] + dz * bulge * 0.5
1135
1135
  ];
1136
- chunk3FYZOR7S_cjs.vec3NormalizeInPlace(n);
1136
+ chunkZDSYWBIE_cjs.vec3NormalizeInPlace(n);
1137
1137
  normals.push(n[0], n[1], n[2]);
1138
1138
  const angle = seg / numAnchors * Math.PI * 2;
1139
1139
  uvs.push(0.5 + t * 0.5 * Math.cos(angle), 0.5 + t * 0.5 * Math.sin(angle));
@@ -1169,5 +1169,5 @@ function generateMembraneGeometry(anchors, subdivisions = 8, bulge = 0.15, lod)
1169
1169
  exports.generateHullGeometry = generateHullGeometry;
1170
1170
  exports.generateMembraneGeometry = generateMembraneGeometry;
1171
1171
  exports.generateSplineGeometry = generateSplineGeometry;
1172
- //# sourceMappingURL=chunk-LK5IAVH6.cjs.map
1173
- //# sourceMappingURL=chunk-LK5IAVH6.cjs.map
1172
+ //# sourceMappingURL=chunk-EXUP2BUM.cjs.map
1173
+ //# sourceMappingURL=chunk-EXUP2BUM.cjs.map