@holoscript/core 6.0.4 → 6.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -3
  3. package/bin/holoscript.cjs +3 -0
  4. package/dist/GLTFPipeline-SFIORFJU.js +16 -0
  5. package/dist/GLTFPipeline-VNNDPONV.cjs +37 -0
  6. package/dist/{HoloScriptPlusParser-BN6KVRCM.js → HoloScriptPlusParser-7FBIFUFC.js} +6 -5
  7. package/dist/{HoloScriptPlusParser-NC5FE6AL.cjs → HoloScriptPlusParser-A2W7OCN2.cjs} +17 -16
  8. package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
  9. package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
  10. package/dist/{USDZExporter-UWGWNMMD.cjs → USDZExporter-3FWJ25JI.cjs} +344 -16
  11. package/dist/{USDZExporter-NTMBNTDB.js → USDZExporter-D2HQLQYK.js} +344 -16
  12. package/dist/agents/index.cjs +19 -0
  13. package/dist/agents/index.d.ts +100 -0
  14. package/dist/agents/index.js +17 -0
  15. package/dist/chunk-22W6NGYN.js +725 -0
  16. package/dist/{chunk-5OEOHAAW.cjs → chunk-27MPVJVZ.cjs} +64 -28
  17. package/dist/{chunk-RVYPEYPX.js → chunk-2A7FURVO.js} +44 -8
  18. package/dist/{chunk-XCWFGZAA.js → chunk-2B7WVIDZ.js} +11 -8
  19. package/dist/{chunk-NDQNIJEH.js → chunk-2BSMSUCE.js} +250 -24
  20. package/dist/chunk-2HLIGOKU.cjs +5546 -0
  21. package/dist/{chunk-EONILVMF.js → chunk-2M2DPHKB.js} +4 -4
  22. package/dist/{chunk-G7CT3EMP.cjs → chunk-2YSNA2F2.cjs} +319 -47
  23. package/dist/{chunk-IWI6J7FX.js → chunk-33XCOVE3.js} +5 -5
  24. package/dist/chunk-3FOKASKO.cjs +348 -0
  25. package/dist/{chunk-DXJQDCFL.js → chunk-4C57PR42.js} +3 -3
  26. package/dist/{chunk-MPXBVFHQ.js → chunk-4N4SXXWF.js} +4 -3
  27. package/dist/chunk-4PDEPEQW.cjs +41 -0
  28. package/dist/chunk-4R6HPSHJ.js +2176 -0
  29. package/dist/chunk-4R6SBXDB.js +45 -0
  30. package/dist/chunk-4SY77NA4.cjs +413 -0
  31. package/dist/{chunk-YCXFCXDS.js → chunk-4UUKPCY4.js} +668 -110
  32. package/dist/{chunk-LGGRPKTV.cjs → chunk-52ULD552.cjs} +114 -35
  33. package/dist/{chunk-L4G4RLXX.js → chunk-5CKA5SXU.js} +438 -22
  34. package/dist/chunk-5FSKKMR7.cjs +2092 -0
  35. package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
  36. package/dist/chunk-5N54COB6.cjs +327 -0
  37. package/dist/chunk-5S7RKFGR.cjs +446 -0
  38. package/dist/{chunk-KED34ILP.js → chunk-6ASWLXXN.js} +21 -9
  39. package/dist/chunk-6CTRH7HT.cjs +1985 -0
  40. package/dist/{chunk-CAUCGUEA.cjs → chunk-6EX3I5P4.cjs} +6 -6
  41. package/dist/chunk-6FGQNDR4.js +5731 -0
  42. package/dist/{chunk-72EQECGT.cjs → chunk-6KMK2UXT.cjs} +122 -46
  43. package/dist/{chunk-G4VZTCIB.js → chunk-6L4VE27M.js} +33 -23
  44. package/dist/{chunk-ATSKSYVE.cjs → chunk-6S6TKNEA.cjs} +6478 -1738
  45. package/dist/chunk-77V4GTCA.js +596 -0
  46. package/dist/{chunk-ZP4D3CSX.cjs → chunk-7AD52FRS.cjs} +16 -16
  47. package/dist/chunk-A6KINLZJ.js +236 -0
  48. package/dist/chunk-AIA52I7T.cjs +543 -0
  49. package/dist/chunk-AIX25INK.cjs +602 -0
  50. package/dist/{chunk-B5TCIAPQ.cjs → chunk-AO4I2Z7M.cjs} +17 -18
  51. package/dist/{chunk-Q5SJOGHQ.cjs → chunk-BPICAGBV.cjs} +324 -199
  52. package/dist/chunk-BRQJKJGT.cjs +20 -0
  53. package/dist/{chunk-3FXV5S25.cjs → chunk-C37BHB7N.cjs} +6 -3
  54. package/dist/{chunk-XUTX5CBW.js → chunk-CBJY23VL.js} +3 -3
  55. package/dist/chunk-CIWWXYHZ.cjs +50 -0
  56. package/dist/{chunk-XXINBTZK.cjs → chunk-DIL6DDDN.cjs} +101 -45
  57. package/dist/chunk-DMXC24WV.js +404 -0
  58. package/dist/{chunk-PMGODDJA.cjs → chunk-DTGBOSEM.cjs} +12 -12
  59. package/dist/chunk-E7JP3BS3.cjs +61 -0
  60. package/dist/{chunk-HJJLD366.js → chunk-EKBKLK7P.js} +3 -3
  61. package/dist/chunk-EKYL4PE3.cjs +404 -0
  62. package/dist/{chunk-UPJBDCVF.js → chunk-EMMC5CSQ.js} +12 -8
  63. package/dist/{chunk-GGHSW2NN.js → chunk-EOBB6A4B.js} +6389 -1718
  64. package/dist/chunk-EOFNVCM6.js +325 -0
  65. package/dist/{chunk-FHQVYCH2.js → chunk-ER4GATIU.js} +7 -7
  66. package/dist/{chunk-N5FTS757.cjs → chunk-EXKSFGSX.cjs} +7 -148
  67. package/dist/{chunk-LK5IAVH6.cjs → chunk-EXUP2BUM.cjs} +27 -27
  68. package/dist/chunk-FDSGHPAK.js +130 -0
  69. package/dist/chunk-FEWUHQNM.cjs +144 -0
  70. package/dist/{chunk-5TOFIR6L.js → chunk-FGGJQRLZ.js} +5 -142
  71. package/dist/chunk-FHP6LXJS.js +415 -0
  72. package/dist/{chunk-7LCYLPW2.cjs → chunk-FJPADH77.cjs} +7 -4
  73. package/dist/{chunk-T36DDXSF.js → chunk-FXKTYFYA.js} +150 -25
  74. package/dist/chunk-G2LS3RFO.js +623 -0
  75. package/dist/chunk-GCMWDSBZ.cjs +729 -0
  76. package/dist/chunk-GJNCFRJU.cjs +125 -0
  77. package/dist/{chunk-Q4QX3AET.cjs → chunk-GMP623FG.cjs} +16 -13
  78. package/dist/{chunk-XD6IYDUX.js → chunk-GN3KDX4W.js} +119 -43
  79. package/dist/{chunk-QLEAOI3Q.cjs → chunk-GQYKQSTC.cjs} +10 -10
  80. package/dist/chunk-GTU2Z2WW.cjs +262 -0
  81. package/dist/chunk-GZG4KA4E.js +529 -0
  82. package/dist/{chunk-BND3ST2K.cjs → chunk-H3MGK7TX.cjs} +42 -32
  83. package/dist/{chunk-XRKWN5PL.cjs → chunk-H5DZIHJP.cjs} +14 -18
  84. package/dist/{chunk-Z34RLXRA.cjs → chunk-HANL7K2Q.cjs} +65 -50
  85. package/dist/{chunk-3SAK5KFL.cjs → chunk-HCCQLAA4.cjs} +2 -11
  86. package/dist/{chunk-LXJ4667L.cjs → chunk-HGVXZDSK.cjs} +108 -20
  87. package/dist/{chunk-3FJCK5XA.js → chunk-HRODTEEO.js} +30 -10
  88. package/dist/{chunk-HQUEA5R6.cjs → chunk-HZCQO4JM.cjs} +6 -6
  89. package/dist/{chunk-S565K7NK.js → chunk-I2O7TW6B.js} +12 -8
  90. package/dist/chunk-IHESJZSW.js +4490 -0
  91. package/dist/{chunk-FSF7EQVA.cjs → chunk-IRWWS72C.cjs} +63 -22
  92. package/dist/{chunk-5O6TQC6M.cjs → chunk-IVIA7K75.cjs} +689 -127
  93. package/dist/chunk-IVY74O6C.js +247 -0
  94. package/dist/chunk-J32ZJZJH.js +554 -0
  95. package/dist/chunk-J56PTA46.cjs +639 -0
  96. package/dist/chunk-JD7CIZ33.js +1949 -0
  97. package/dist/{chunk-T7LEXZUZ.cjs → chunk-JIYN45TV.cjs} +14 -15
  98. package/dist/{chunk-FFKU7BTK.cjs → chunk-KHPCJRI3.cjs} +24 -21
  99. package/dist/chunk-KKFZ3B6J.cjs +557 -0
  100. package/dist/chunk-KPJL34Y7.cjs +186 -0
  101. package/dist/{chunk-HE7ULERA.cjs → chunk-KQTPCYTG.cjs} +128 -44
  102. package/dist/{chunk-OFKWH2IP.js → chunk-KX76JUQY.js} +3 -3
  103. package/dist/{chunk-33LSUQDD.cjs → chunk-L63H3SQ4.cjs} +43 -31
  104. package/dist/{chunk-K6EKD26I.js → chunk-LAOCQJ2M.js} +64 -8
  105. package/dist/chunk-LM2VU56C.cjs +37 -0
  106. package/dist/chunk-M56JSP4A.js +400 -0
  107. package/dist/chunk-MBOOR7X4.js +18 -0
  108. package/dist/{chunk-XWPNTWDN.cjs → chunk-MJVIRCUV.cjs} +31 -27
  109. package/dist/{chunk-SDAMZIRE.js → chunk-MSMIFMBL.js} +135 -18
  110. package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
  111. package/dist/{chunk-6UEHYZ7V.cjs → chunk-MXJ5SS53.cjs} +447 -31
  112. package/dist/chunk-MYY4PMWX.cjs +264 -0
  113. package/dist/chunk-N75IH2HY.js +258 -0
  114. package/dist/{chunk-GVUR45UF.cjs → chunk-NG77ATEW.cjs} +7 -6
  115. package/dist/chunk-NW5G5FBQ.js +215 -0
  116. package/dist/{chunk-E3FWRT3Z.js → chunk-OEFY723R.js} +28 -13
  117. package/dist/chunk-OEV5RMZO.cjs +3042 -0
  118. package/dist/{chunk-X4ZF6CNE.cjs → chunk-OIQYIIO3.cjs} +7 -7
  119. package/dist/{chunk-2CWOLHTE.js → chunk-OL46QLBJ.js} +3 -11
  120. package/dist/chunk-OPZ7XDDI.js +487 -0
  121. package/dist/chunk-OSYNRVOV.cjs +243 -0
  122. package/dist/{chunk-TEWCN33Y.js → chunk-P7YIA5LN.js} +91 -7
  123. package/dist/chunk-PGANYCAG.cjs +220 -0
  124. package/dist/{chunk-CS2EMTGF.js → chunk-QAVXL2IH.js} +62 -21
  125. package/dist/{chunk-T4NKMBDL.js → chunk-QCCBXSCE.js} +1666 -756
  126. package/dist/{chunk-F4IULT7N.js → chunk-QPOQ7VPI.js} +16 -13
  127. package/dist/{chunk-6XSERL6L.js → chunk-QTPMJRGS.js} +3108 -2827
  128. package/dist/{chunk-F3HH56EB.cjs → chunk-QWNQ523V.cjs} +1730 -823
  129. package/dist/{chunk-R7MA7QWV.js → chunk-R3IVNY6P.js} +102 -23
  130. package/dist/chunk-R75BSDH7.cjs +50 -0
  131. package/dist/chunk-RAXUF5DF.cjs +2196 -0
  132. package/dist/{chunk-BF2235SI.cjs → chunk-RMHC2VG7.cjs} +2876 -2592
  133. package/dist/chunk-RUXGBKPS.cjs +4517 -0
  134. package/dist/{chunk-UERJ3YJV.js → chunk-S5IFXW6E.js} +113 -9
  135. package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
  136. package/dist/{chunk-WB4Z63GG.js → chunk-SIEXCILW.js} +3 -3
  137. package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
  138. package/dist/{chunk-LZ266PCM.cjs → chunk-T5J7ZKP3.cjs} +446 -60
  139. package/dist/chunk-TDCNJHWO.js +341 -0
  140. package/dist/{chunk-IHOUYQIA.js → chunk-TG7O4WBC.js} +5 -5
  141. package/dist/chunk-THCK6ECW.js +2085 -0
  142. package/dist/chunk-TJHVSBP2.js +439 -0
  143. package/dist/chunk-TK74TR4H.js +5541 -0
  144. package/dist/{chunk-CDPGV4DN.js → chunk-U4NBQJBY.js} +14 -15
  145. package/dist/{chunk-NOZZ46QU.js → chunk-UD3DSHZM.js} +10 -14
  146. package/dist/chunk-UDMYRFDZ.js +3038 -0
  147. package/dist/{chunk-WDW67DZB.cjs → chunk-UOIGFQXC.cjs} +90 -68
  148. package/dist/{chunk-BU7VWW2K.js → chunk-URG2SJLK.js} +14 -15
  149. package/dist/{chunk-EQV4R3EV.cjs → chunk-V73NPPTM.cjs} +152 -35
  150. package/dist/chunk-VECQYRXL.js +474 -0
  151. package/dist/chunk-VEXPG4WN.js +1989 -0
  152. package/dist/{chunk-LDP5OK6G.js → chunk-VMLKSV26.js} +5 -5
  153. package/dist/{chunk-5BGSECRJ.cjs → chunk-VSK7W3O5.cjs} +47 -27
  154. package/dist/chunk-VVKVQZI6.js +55 -0
  155. package/dist/{chunk-YQK5JNFK.js → chunk-W55Z7QIX.js} +103 -15
  156. package/dist/{chunk-KSGXLT74.cjs → chunk-W6P2GBHH.cjs} +3 -3
  157. package/dist/{chunk-IBDG74G2.cjs → chunk-W6RW64BB.cjs} +7 -7
  158. package/dist/chunk-WDT3JTGM.cjs +483 -0
  159. package/dist/{chunk-HPS76H7Q.js → chunk-WKX5AMOY.js} +3 -3
  160. package/dist/chunk-WNNE3PO3.js +34 -0
  161. package/dist/{chunk-XG23EUQX.cjs → chunk-WRLUBRKS.cjs} +538 -312
  162. package/dist/{chunk-IFNQFCTM.js → chunk-WRNEH5MO.js} +79 -8
  163. package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
  164. package/dist/{chunk-KCQ5NDYC.cjs → chunk-X3GJPRVK.cjs} +154 -80
  165. package/dist/{chunk-7AGYRWKW.cjs → chunk-XFXGA5IW.cjs} +126 -22
  166. package/dist/{chunk-TQSZUOW5.cjs → chunk-XHIV6326.cjs} +4 -4
  167. package/dist/chunk-XJAN7CZG.cjs +432 -0
  168. package/dist/chunk-XL6INWKT.js +121 -0
  169. package/dist/{chunk-E3UALNFA.js → chunk-XMWZG36H.js} +4 -4
  170. package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
  171. package/dist/{chunk-H5Z7NASB.js → chunk-XT6JY5W5.js} +25 -3
  172. package/dist/chunk-XXZJEFKW.cjs +490 -0
  173. package/dist/chunk-Y3MWXQSB.cjs +5737 -0
  174. package/dist/chunk-YF2I3MV3.js +46 -0
  175. package/dist/{chunk-V3NN3HPP.js → chunk-YIMN575O.js} +437 -52
  176. package/dist/chunk-YIVFJNYV.js +176 -0
  177. package/dist/{chunk-MD6KDHVE.cjs → chunk-YKGPCZEE.cjs} +10 -10
  178. package/dist/chunk-YQELFNJV.js +39 -0
  179. package/dist/chunk-Z5XMPRNC.cjs +5390 -0
  180. package/dist/{chunk-3FYZOR7S.cjs → chunk-ZDSYWBIE.cjs} +18 -18
  181. package/dist/{chunk-6TZPZCOJ.cjs → chunk-ZKSS47EV.cjs} +24 -19
  182. package/dist/chunk-ZUL5AVTX.cjs +1993 -0
  183. package/dist/chunk-ZXBZVXDW.js +5386 -0
  184. package/dist/{chunk-DMG7C4H2.js → chunk-ZZ7RO2UQ.js} +312 -44
  185. package/dist/cli/holoscript-runner.cjs +200 -204
  186. package/dist/cli/holoscript-runner.js +144 -148
  187. package/dist/codebase/index.cjs +1 -1
  188. package/dist/codebase/index.js +1 -1
  189. package/dist/compiler/agent-inference.cjs +10 -7
  190. package/dist/compiler/agent-inference.js +6 -3
  191. package/dist/compiler/android-xr.cjs +12 -7
  192. package/dist/compiler/android-xr.js +10 -5
  193. package/dist/compiler/android.cjs +12 -8
  194. package/dist/compiler/android.js +10 -6
  195. package/dist/compiler/ar.cjs +9 -6
  196. package/dist/compiler/ar.js +7 -4
  197. package/dist/compiler/babylon.cjs +12 -8
  198. package/dist/compiler/babylon.js +11 -7
  199. package/dist/compiler/business-quest.cjs +43 -0
  200. package/dist/compiler/business-quest.js +4 -0
  201. package/dist/compiler/coco.cjs +1 -1
  202. package/dist/compiler/coco.js +1 -1
  203. package/dist/compiler/context.cjs +25 -0
  204. package/dist/compiler/context.d.ts +28 -0
  205. package/dist/compiler/context.js +8 -0
  206. package/dist/compiler/domain-block-utils.cjs +155 -152
  207. package/dist/compiler/domain-block-utils.js +7 -4
  208. package/dist/compiler/dtdl.cjs +10 -7
  209. package/dist/compiler/dtdl.js +7 -4
  210. package/dist/compiler/gltf-pipeline.cjs +9 -9
  211. package/dist/compiler/gltf-pipeline.js +2 -2
  212. package/dist/compiler/godot.cjs +9 -6
  213. package/dist/compiler/godot.js +8 -5
  214. package/dist/compiler/incremental.cjs +12 -7
  215. package/dist/compiler/incremental.js +7 -2
  216. package/dist/compiler/index.cjs +3550 -268
  217. package/dist/compiler/index.d.ts +404 -21
  218. package/dist/compiler/index.js +3280 -138
  219. package/dist/compiler/ios.cjs +11 -8
  220. package/dist/compiler/ios.js +9 -6
  221. package/dist/compiler/llm-provider-capabilities.cjs +25 -0
  222. package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
  223. package/dist/compiler/llm-provider-capabilities.js +8 -0
  224. package/dist/compiler/multi-layer.cjs +14 -10
  225. package/dist/compiler/multi-layer.js +13 -9
  226. package/dist/compiler/nodetoy.cjs +5 -5
  227. package/dist/compiler/nodetoy.js +2 -2
  228. package/dist/compiler/openxr.cjs +10 -6
  229. package/dist/compiler/openxr.js +9 -5
  230. package/dist/compiler/playcanvas.cjs +10 -7
  231. package/dist/compiler/playcanvas.js +9 -6
  232. package/dist/compiler/r3f.cjs +17 -13
  233. package/dist/compiler/r3f.d.ts +22 -0
  234. package/dist/compiler/r3f.js +12 -8
  235. package/dist/compiler/remotion.cjs +1 -1
  236. package/dist/compiler/remotion.js +1 -1
  237. package/dist/compiler/reproducibility.cjs +1 -1
  238. package/dist/compiler/reproducibility.js +1 -1
  239. package/dist/compiler/sdf.cjs +10 -7
  240. package/dist/compiler/sdf.js +8 -5
  241. package/dist/compiler/semantic-scene.cjs +1 -1
  242. package/dist/compiler/semantic-scene.js +1 -1
  243. package/dist/compiler/state.cjs +9 -5
  244. package/dist/compiler/state.js +7 -3
  245. package/dist/compiler/trait-composition.cjs +11 -7
  246. package/dist/compiler/trait-composition.js +7 -3
  247. package/dist/compiler/unity.cjs +10 -6
  248. package/dist/compiler/unity.js +9 -5
  249. package/dist/compiler/unreal.cjs +11 -7
  250. package/dist/compiler/unreal.js +9 -5
  251. package/dist/compiler/urdf.cjs +20 -13
  252. package/dist/compiler/urdf.js +8 -5
  253. package/dist/compiler/usd-physics.cjs +10 -7
  254. package/dist/compiler/usd-physics.js +7 -4
  255. package/dist/compiler/visionos.cjs +10 -6
  256. package/dist/compiler/visionos.js +9 -5
  257. package/dist/compiler/vrchat.cjs +10 -7
  258. package/dist/compiler/vrchat.js +8 -5
  259. package/dist/compiler/vrr.cjs +10 -7
  260. package/dist/compiler/vrr.js +8 -5
  261. package/dist/compiler/wasm.cjs +13 -10
  262. package/dist/compiler/wasm.js +8 -5
  263. package/dist/compiler/webgpu.cjs +9 -6
  264. package/dist/compiler/webgpu.js +8 -5
  265. package/dist/constants.d.ts +3 -2
  266. package/dist/coordinators/index.cjs +1266 -0
  267. package/dist/coordinators/index.d.ts +260 -0
  268. package/dist/coordinators/index.js +1259 -0
  269. package/dist/debugger.cjs +9 -7
  270. package/dist/debugger.js +7 -5
  271. package/dist/entries/interop.cjs +23 -21
  272. package/dist/entries/interop.js +5 -3
  273. package/dist/entries/scripting.cjs +18 -18
  274. package/dist/entries/scripting.js +8 -8
  275. package/dist/hololand/index.cjs +146 -0
  276. package/dist/hololand/index.d.ts +70 -0
  277. package/dist/hololand/index.js +5 -0
  278. package/dist/index.cjs +20332 -18121
  279. package/dist/index.d.ts +1477 -40
  280. package/dist/index.js +19451 -17638
  281. package/dist/math/tropical-spmv.cjs +45 -0
  282. package/dist/math/tropical-spmv.js +4 -0
  283. package/dist/math/vec3.cjs +14 -14
  284. package/dist/math/vec3.js +2 -2
  285. package/dist/{ml-dsa-PHCWUBPX.cjs → ml-dsa-FSKBTE3W.cjs} +177 -90
  286. package/dist/{ml-dsa-WYLJHJO6.js → ml-dsa-Z7JDKW4L.js} +158 -71
  287. package/dist/paper-0c-spike/index.cjs +150 -0
  288. package/dist/paper-0c-spike/index.d.ts +29 -0
  289. package/dist/paper-0c-spike/index.js +141 -0
  290. package/dist/parser.cjs +45 -11
  291. package/dist/parser.d.ts +11 -0
  292. package/dist/parser.js +10 -8
  293. package/dist/{playwright-RL6GY4F7.cjs → playwright-3AT3AKTV.cjs} +1985 -1985
  294. package/dist/{playwright-5OSAPTNH.js → playwright-VZPDVUEQ.js} +3 -3
  295. package/dist/reconstruction/index.cjs +153 -0
  296. package/dist/reconstruction/index.d.ts +105 -0
  297. package/dist/reconstruction/index.js +8 -0
  298. package/dist/runtime.cjs +7 -5
  299. package/dist/runtime.js +6 -4
  300. package/dist/self-improvement/index.cjs +563 -0
  301. package/dist/self-improvement/index.js +545 -0
  302. package/dist/storage/index.cjs +10 -9
  303. package/dist/storage/index.js +3 -2
  304. package/dist/testing.cjs +25 -0
  305. package/dist/testing.d.ts +70 -0
  306. package/dist/testing.js +4 -0
  307. package/dist/tools/index.d.ts +22 -1
  308. package/dist/traitDocs/traitDocs.cjs +33 -0
  309. package/dist/traitDocs/traitDocs.d.ts +69 -0
  310. package/dist/traitDocs/traitDocs.js +7 -0
  311. package/dist/traits/botanical-lotus.cjs +41 -0
  312. package/dist/traits/botanical-lotus.d.ts +172 -0
  313. package/dist/traits/botanical-lotus.js +4 -0
  314. package/dist/traits/engines/index.cjs +520 -0
  315. package/dist/traits/engines/index.js +380 -0
  316. package/dist/traits/index.cjs +17630 -7881
  317. package/dist/traits/index.d.ts +197 -0
  318. package/dist/traits/index.js +16573 -7193
  319. package/dist/traits/simulation-solver-factory.cjs +13 -0
  320. package/dist/traits/simulation-solver-factory.d.ts +23 -0
  321. package/dist/traits/simulation-solver-factory.js +4 -0
  322. package/dist/traits/webcam-gaze.cjs +35 -0
  323. package/dist/traits/webcam-gaze.d.ts +17 -0
  324. package/dist/traits/webcam-gaze.js +4 -0
  325. package/dist/type-checker.cjs +6 -5
  326. package/dist/type-checker.js +4 -3
  327. package/dist/world/index.cjs +947 -0
  328. package/dist/world/index.d.ts +147 -0
  329. package/dist/world/index.js +939 -0
  330. package/dist/world-model/index.cjs +1446 -0
  331. package/dist/world-model/index.d.ts +119 -0
  332. package/dist/world-model/index.js +1414 -0
  333. package/dist/wot/index.cjs +29 -0
  334. package/dist/wot/index.js +4 -0
  335. package/package.json +153 -61
  336. package/dist/GLTFPipeline-DEN36VNK.js +0 -12
  337. package/dist/GLTFPipeline-YPCAK236.cjs +0 -33
  338. package/dist/chunk-4XSNJCLC.cjs +0 -1859
  339. package/dist/chunk-A7PIMZGU.js +0 -263
  340. package/dist/chunk-BWFJEM5A.js +0 -5419
  341. package/dist/chunk-CBJSLA2E.cjs +0 -5423
  342. package/dist/chunk-K3JDKWGI.cjs +0 -270
  343. package/dist/chunk-LSW7P7ML.js +0 -3675
  344. package/dist/chunk-MEASWI2Y.js +0 -126
  345. package/dist/chunk-NCUKG4SK.cjs +0 -3075
  346. package/dist/chunk-Q5JT3YML.cjs +0 -129
  347. package/dist/chunk-QGKNANZ3.js +0 -3071
  348. package/dist/chunk-S2N5TNMA.js +0 -1855
  349. package/dist/chunk-TSH3MSQU.cjs +0 -129
  350. package/dist/chunk-WGMEAYBG.js +0 -126
  351. package/dist/chunk-X6SEAXAX.cjs +0 -3681
@@ -1,7 +1,6 @@
1
+ import { init_safeJsonParse, readJson } from './chunk-VVKVQZI6.js';
1
2
  import path from 'path';
2
- import { createHash } from 'crypto';
3
3
 
4
- // src/stdlib/StdlibActions.ts
5
4
  var DEFAULT_STDLIB_POLICY = {
6
5
  allowedPaths: ["compositions", "data", "src", "packages"],
7
6
  maxFileBytes: 2 * 1024 * 1024,
@@ -15,6 +14,15 @@ var DEFAULT_STDLIB_POLICY = {
15
14
  allowMediaDecode: false,
16
15
  allowDepthInference: false,
17
16
  allowGpuCompute: false,
17
+ allowDeviceProbe: false,
18
+ allowedDeviceScopes: [],
19
+ deviceProbeTimeoutMs: 1e4,
20
+ allowDeviceRead: false,
21
+ allowDevicePair: false,
22
+ allowDeviceCommand: false,
23
+ allowHaptic: false,
24
+ allowXrSession: false,
25
+ allowSensorRead: false,
18
26
  maxGifFrames: 500,
19
27
  maxVideoDurationSec: 300,
20
28
  maxMediaResolution: 4096
@@ -203,6 +211,182 @@ function createStdlibActions(options) {
203
211
  return result.code === 0;
204
212
  },
205
213
  // ── Network ───────────────────────────────────────────────────────────
214
+ // ── Media Decode ──────────────────────────────────────────────────────
215
+ media_decode: async (params, bb) => {
216
+ const prefix = resolveInto(params, "media_decode");
217
+ if (!policy.allowMediaDecode) {
218
+ bb[`${prefix}_error`] = "media_decode is disabled by policy (allowMediaDecode=false)";
219
+ return false;
220
+ }
221
+ if (!caps?.media?.decodeFrames) {
222
+ bb[`${prefix}_error`] = "media.decodeFrames capability not available";
223
+ return false;
224
+ }
225
+ const source = params.source;
226
+ if (typeof source !== "string" && !(source instanceof ArrayBuffer)) {
227
+ bb[`${prefix}_error`] = "source (URL string or ArrayBuffer) is required";
228
+ return false;
229
+ }
230
+ const maxFrames = typeof params.maxFrames === "number" ? Math.min(params.maxFrames, policy.maxGifFrames ?? 500) : policy.maxGifFrames ?? 500;
231
+ const mediaType = params.type === "video" ? "video" : "gif";
232
+ try {
233
+ const frames = await caps.media.decodeFrames(source, {
234
+ maxFrames,
235
+ type: mediaType
236
+ });
237
+ bb[`${prefix}_frames`] = frames;
238
+ bb[`${prefix}_count`] = frames.length;
239
+ log(`media_decode: decoded ${frames.length} frames (type=${mediaType})`);
240
+ return true;
241
+ } catch (error) {
242
+ bb[`${prefix}_error`] = error.message;
243
+ return false;
244
+ }
245
+ },
246
+ // ── Depth Inference ───────────────────────────────────────────────────
247
+ depth_inference: async (params, bb) => {
248
+ const prefix = resolveInto(params, "depth_inference");
249
+ if (!policy.allowDepthInference) {
250
+ bb[`${prefix}_error`] = "depth_inference is disabled by policy (allowDepthInference=false)";
251
+ return false;
252
+ }
253
+ if (!caps?.depthInference?.estimateDepth) {
254
+ bb[`${prefix}_error`] = "depthInference.estimateDepth capability not available";
255
+ return false;
256
+ }
257
+ const source = params.source;
258
+ if (typeof source !== "string" && !(source instanceof ArrayBuffer)) {
259
+ bb[`${prefix}_error`] = "source (image URL string or ArrayBuffer) is required";
260
+ return false;
261
+ }
262
+ const maxRes = policy.maxMediaResolution ?? 4096;
263
+ const width = typeof params.width === "number" ? Math.min(params.width, maxRes) : void 0;
264
+ const height = typeof params.height === "number" ? Math.min(params.height, maxRes) : void 0;
265
+ const modelId = typeof params.modelId === "string" ? params.modelId : void 0;
266
+ try {
267
+ const depthMap = await caps.depthInference.estimateDepth(source, {
268
+ width,
269
+ height,
270
+ modelId
271
+ });
272
+ bb[`${prefix}_data`] = depthMap.data;
273
+ bb[`${prefix}_width`] = depthMap.width;
274
+ bb[`${prefix}_height`] = depthMap.height;
275
+ bb[`${prefix}_backend`] = depthMap.backend;
276
+ bb[`${prefix}_inferenceMs`] = depthMap.inferenceMs;
277
+ log(
278
+ `depth_inference: ${depthMap.width}\xD7${depthMap.height} via ${depthMap.backend} (${depthMap.inferenceMs}ms)`
279
+ );
280
+ return true;
281
+ } catch (error) {
282
+ bb[`${prefix}_error`] = error.message;
283
+ return false;
284
+ }
285
+ },
286
+ // ── GPU Compute ───────────────────────────────────────────────────────
287
+ gpu_compute: async (params, bb) => {
288
+ const prefix = resolveInto(params, "gpu_compute");
289
+ if (!policy.allowGpuCompute) {
290
+ bb[`${prefix}_error`] = "gpu_compute is disabled by policy (allowGpuCompute=false)";
291
+ return false;
292
+ }
293
+ if (!caps?.gpuCompute?.dispatch) {
294
+ bb[`${prefix}_error`] = "gpuCompute.dispatch capability not available";
295
+ return false;
296
+ }
297
+ const shader = typeof params.shader === "string" ? params.shader.trim() : "";
298
+ if (!shader) {
299
+ bb[`${prefix}_error`] = "shader (WGSL source) is required";
300
+ return false;
301
+ }
302
+ const inputs = {};
303
+ if (typeof params.inputs === "object" && params.inputs !== null) {
304
+ for (const [k, v] of Object.entries(params.inputs)) {
305
+ if (v instanceof ArrayBuffer) inputs[k] = v;
306
+ }
307
+ }
308
+ const rawWg = params.workgroups;
309
+ const workgroups = Array.isArray(rawWg) ? [rawWg[0], rawWg[1], rawWg[2]] : [1];
310
+ try {
311
+ const result = await caps.gpuCompute.dispatch(shader, inputs, workgroups);
312
+ bb[`${prefix}_outputs`] = result.outputs;
313
+ bb[`${prefix}_dispatchMs`] = result.dispatchMs;
314
+ log(`gpu_compute: dispatch completed in ${result.dispatchMs}ms`);
315
+ return true;
316
+ } catch (error) {
317
+ bb[`${prefix}_error`] = error.message;
318
+ return false;
319
+ }
320
+ },
321
+ // ── Target Device Probe ───────────────────────────────────────────────
322
+ device_probe: async (params, bb) => {
323
+ const prefix = resolveInto(params, "device_probe");
324
+ if (!policy.allowDeviceProbe) {
325
+ bb[`${prefix}_error`] = "device_probe is disabled by policy (allowDeviceProbe=false)";
326
+ return false;
327
+ }
328
+ const scope = typeof params.scope === "string" ? params.scope.trim() : "";
329
+ if (!scope) {
330
+ bb[`${prefix}_error`] = "scope is required";
331
+ return false;
332
+ }
333
+ const allowedScopes = policy.allowedDeviceScopes ?? [];
334
+ if (!allowedScopes.includes(scope)) {
335
+ bb[`${prefix}_error`] = `device scope "${scope}" is not allowlisted`;
336
+ bb[`${prefix}_denial_receipt`] = {
337
+ scope,
338
+ reason: "scope_not_allowlisted",
339
+ policy: "allowedDeviceScopes",
340
+ deniedAt: (/* @__PURE__ */ new Date()).toISOString()
341
+ };
342
+ return false;
343
+ }
344
+ const scopeGateMap = {
345
+ allowDeviceRead: policy.allowDeviceRead,
346
+ allowDevicePair: policy.allowDevicePair,
347
+ allowDeviceCommand: policy.allowDeviceCommand,
348
+ allowHaptic: policy.allowHaptic,
349
+ allowXrSession: policy.allowXrSession,
350
+ allowSensorRead: policy.allowSensorRead
351
+ };
352
+ if (scope in scopeGateMap && scopeGateMap[scope] === false) {
353
+ bb[`${prefix}_error`] = `device scope "${scope}" is denied by policy (${scope}=false)`;
354
+ bb[`${prefix}_denial_receipt`] = {
355
+ scope,
356
+ reason: "scope_gate_denied",
357
+ policy: scope,
358
+ deniedAt: (/* @__PURE__ */ new Date()).toISOString()
359
+ };
360
+ return false;
361
+ }
362
+ if (!caps?.deviceProbe?.probe || !caps.deviceProbe.available) {
363
+ bb[`${prefix}_error`] = "deviceProbe capability not available";
364
+ return false;
365
+ }
366
+ const timeoutPolicyMs = policy.deviceProbeTimeoutMs ?? 1e4;
367
+ const timeoutMs = typeof params.timeoutMs === "number" && Number.isFinite(params.timeoutMs) ? Math.max(250, Math.min(timeoutPolicyMs, Math.floor(params.timeoutMs))) : timeoutPolicyMs;
368
+ try {
369
+ const result = await caps.deviceProbe.probe({
370
+ scope,
371
+ targetId: typeof params.targetId === "string" ? params.targetId : void 0,
372
+ targetKind: typeof params.targetKind === "string" ? params.targetKind : void 0,
373
+ timeoutMs,
374
+ metadata: typeof params.metadata === "object" && params.metadata !== null ? params.metadata : void 0
375
+ });
376
+ bb[`${prefix}_ok`] = result.ok;
377
+ bb[`${prefix}_status`] = result.status;
378
+ bb[`${prefix}_deviceId`] = result.deviceId;
379
+ bb[`${prefix}_targetKind`] = result.targetKind;
380
+ bb[`${prefix}_detail`] = result.detail;
381
+ bb[`${prefix}_metrics`] = result.metrics;
382
+ bb[`${prefix}_receipt`] = result.receipt;
383
+ log(`device_probe: ${scope} \u2192 ${result.status}`);
384
+ return result.ok;
385
+ } catch (error) {
386
+ bb[`${prefix}_error`] = error.message;
387
+ return false;
388
+ }
389
+ },
206
390
  net_fetch: async (params, bb) => {
207
391
  const prefix = resolveInto(params, "net_fetch");
208
392
  const url = typeof params.url === "string" ? params.url.trim() : "";
@@ -270,7 +454,129 @@ function registerStdlib(runtime, options) {
270
454
  }
271
455
  }
272
456
 
457
+ // src/stdlib/PermissionScopePolicy.ts
458
+ function normalizePermissionScopeName(scope) {
459
+ return scope.trim().toLowerCase();
460
+ }
461
+ function isValidPermissionScopeName(scope) {
462
+ if (typeof scope !== "string") return false;
463
+ const normalized = normalizePermissionScopeName(scope);
464
+ return normalized.length > 0 && !/[\u0000-\u001f\s]/.test(normalized);
465
+ }
466
+ function normalizedScopeNames(scopes) {
467
+ return new Set(
468
+ scopes.map((scope) => normalizePermissionScopeName(scope.scope)).filter((scope) => scope.length > 0)
469
+ );
470
+ }
471
+ function invalidScopeNames(scopes) {
472
+ return scopes.map((scope) => scope.scope).filter((scope) => !isValidPermissionScopeName(scope));
473
+ }
474
+ function invalidNeverScopeNames(neverScopes) {
475
+ return neverScopes.filter((scope) => !isValidPermissionScopeName(scope));
476
+ }
477
+ function forbiddenScopeReason(scope, neverScopes) {
478
+ const normalized = normalizePermissionScopeName(scope);
479
+ const explicitNever = neverScopes.map(normalizePermissionScopeName);
480
+ if (explicitNever.includes(normalized)) return "is listed in neverScopes";
481
+ if (normalized === "*" || normalized.includes("*")) return "uses a wildcard";
482
+ if (/\b(admin|billing|owner|delete|full_access|write_all|manage_all)\b/.test(normalized)) {
483
+ return "requests broad administrative authority";
484
+ }
485
+ return void 0;
486
+ }
487
+ function evaluateStdlibPermissionScopePolicy(scope, neverScopes = []) {
488
+ const normalizedScope = normalizePermissionScopeName(scope);
489
+ const reason = isValidPermissionScopeName(scope) ? forbiddenScopeReason(scope, neverScopes) : "is empty or contains whitespace/control characters";
490
+ return {
491
+ scope,
492
+ normalizedScope,
493
+ allowed: !reason,
494
+ ...reason ? { reason } : {}
495
+ };
496
+ }
497
+ function findMissingRequiredPermissionScopes(requiredScopes, candidateScopes) {
498
+ const candidateNames = normalizedScopeNames(candidateScopes);
499
+ return requiredScopes.filter((scope) => scope.required === true).map((scope) => scope.scope).filter((scope) => !candidateNames.has(normalizePermissionScopeName(scope)));
500
+ }
501
+ function findExtraPermissionScopes(grantedScopes, minimumRequiredScopes) {
502
+ const minimumNames = normalizedScopeNames(minimumRequiredScopes);
503
+ return grantedScopes.map((scope) => scope.scope).filter((scope) => !minimumNames.has(normalizePermissionScopeName(scope)));
504
+ }
505
+ function buildStdlibPermissionScopeDiff(input) {
506
+ const requested = input.requestedScopes ?? [];
507
+ const minimum = input.minimumRequiredScopes ?? [];
508
+ const granted = input.grantedScopes ?? [];
509
+ const neverScopes = input.neverScopes ?? [];
510
+ const invalidRequestedScopes = invalidScopeNames(requested);
511
+ const invalidMinimumRequiredScopes = invalidScopeNames(minimum);
512
+ const invalidGrantedScopes = invalidScopeNames(granted);
513
+ const invalidNeverScopes = invalidNeverScopeNames(neverScopes);
514
+ const missingRequestedRequiredScopes = findMissingRequiredPermissionScopes(minimum, requested);
515
+ const missingGrantedRequiredScopes = findMissingRequiredPermissionScopes(minimum, granted);
516
+ const extraGrantedScopes = findExtraPermissionScopes(granted, minimum);
517
+ const forbiddenRequestedScopes = requested.map((scope) => evaluateStdlibPermissionScopePolicy(scope.scope, neverScopes)).filter((scope) => !scope.allowed);
518
+ const forbiddenGrantedScopes = granted.map((scope) => evaluateStdlibPermissionScopePolicy(scope.scope, neverScopes)).filter((scope) => !scope.allowed);
519
+ const policyInputValid = invalidRequestedScopes.length === 0 && invalidMinimumRequiredScopes.length === 0 && invalidGrantedScopes.length === 0 && invalidNeverScopes.length === 0;
520
+ return {
521
+ requestedScopes: requested.map((scope) => scope.scope),
522
+ minimumRequiredScopes: minimum.map((scope) => scope.scope),
523
+ grantedScopes: granted.map((scope) => scope.scope),
524
+ invalidRequestedScopes,
525
+ invalidMinimumRequiredScopes,
526
+ invalidGrantedScopes,
527
+ invalidNeverScopes,
528
+ missingRequestedRequiredScopes,
529
+ missingGrantedRequiredScopes,
530
+ extraGrantedScopes,
531
+ forbiddenRequestedScopes,
532
+ forbiddenGrantedScopes,
533
+ minimumScopeSatisfied: policyInputValid && missingRequestedRequiredScopes.length === 0 && missingGrantedRequiredScopes.length === 0 && forbiddenRequestedScopes.length === 0 && forbiddenGrantedScopes.length === 0,
534
+ excessScopesAbsent: extraGrantedScopes.length === 0,
535
+ policyInputValid
536
+ };
537
+ }
538
+ function redactStdlibPermissionPreview(value) {
539
+ const original = value ?? "";
540
+ let preview = original;
541
+ let absolutePathRedacted = false;
542
+ let credentialMaterialRedacted = false;
543
+ preview = preview.replace(
544
+ /(^|[\s"'`=])(?:[A-Za-z]:[\\/]|\/(?!\/)[^\s"'`]+)/g,
545
+ (match, prefix) => {
546
+ absolutePathRedacted = true;
547
+ return `${prefix}<absolute-path-redacted>`;
548
+ }
549
+ );
550
+ preview = preview.replace(
551
+ /\b(access_token|refresh_token|id_token|client_secret|authorization|cookie|code)=([^&\s]+)/gi,
552
+ (_match, key, secret) => {
553
+ if (secret === "<redacted>") return `${key}=<redacted>`;
554
+ credentialMaterialRedacted = true;
555
+ return `${key}=<redacted>`;
556
+ }
557
+ );
558
+ preview = preview.replace(
559
+ /\bBearer\s+([A-Za-z0-9._~+/=-]+|<redacted>)/gi,
560
+ (_match, secret) => {
561
+ if (secret === "<redacted>") return "Bearer <redacted>";
562
+ credentialMaterialRedacted = true;
563
+ return "Bearer <redacted>";
564
+ }
565
+ );
566
+ return {
567
+ preview,
568
+ redacted: preview !== original,
569
+ absolutePathRedacted,
570
+ credentialMaterialRedacted
571
+ };
572
+ }
573
+ function stdlibPermissionPreviewHasPublicLeak(value) {
574
+ const redaction = redactStdlibPermissionPreview(value);
575
+ return redaction.absolutePathRedacted || redaction.credentialMaterialRedacted;
576
+ }
577
+
273
578
  // src/traits/TestTrait.ts
579
+ init_safeJsonParse();
274
580
  var CompositionTestRunner = class {
275
581
  constructor(initialState, computedDefs = [], config = {}) {
276
582
  this.initialState = { ...initialState };
@@ -612,7 +918,7 @@ function parseNestedBlock(body) {
612
918
  }
613
919
  const arrStr = body.substring(arrStart, i).trim();
614
920
  try {
615
- result[key] = JSON.parse(arrStr);
921
+ result[key] = readJson(arrStr);
616
922
  } catch {
617
923
  result[key] = arrStr;
618
924
  }
@@ -683,44 +989,6 @@ var testHandler = {
683
989
  }
684
990
  }
685
991
  };
686
- function computeContentHash(source) {
687
- const normalized = source.replace(/\r\n/g, "\n");
688
- return createHash("sha256").update(normalized, "utf8").digest("hex");
689
- }
690
- function classifyPublishMode(ast) {
691
- const imports = ast?.imports ?? ast?.ast?.imports ?? [];
692
- const hasImports = Array.isArray(imports) && imports.length > 0;
693
- if (!hasImports) return "original";
694
- const body = ast?.body ?? ast?.ast?.body ?? [];
695
- const hasOwnContent = Array.isArray(body) && body.some(
696
- (node) => node.type === "composition" || node.type === "ObjectDeclaration" || node.type === "scene" || node.type === "object" || node.type === "character" || node.type === "environment"
697
- );
698
- if (hasOwnContent) return "remix";
699
- return "curated";
700
- }
701
- function extractImports(ast) {
702
- const imports = ast?.imports ?? ast?.ast?.imports ?? [];
703
- if (!Array.isArray(imports)) return [];
704
- return imports.map((imp) => ({
705
- // @ts-expect-error
706
- path: imp.path ?? imp.source ?? "",
707
- // @ts-expect-error
708
- hash: imp.hash,
709
- // @ts-expect-error
710
- author: imp.author
711
- })).filter((imp) => imp.path.length > 0);
712
- }
713
- function generateProvenance(source, ast, options) {
714
- return {
715
- author: options.author,
716
- created: options.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
717
- hash: computeContentHash(source),
718
- license: options.license,
719
- version: 1,
720
- publishMode: classifyPublishMode(ast),
721
- imports: extractImports(ast)
722
- };
723
- }
724
992
 
725
993
  // src/deploy/license-checker.ts
726
994
  var RESTRICTIVENESS = {
@@ -970,6 +1238,6 @@ function weiToEth(wei) {
970
1238
  return `${whole}.${fraction}`;
971
1239
  }
972
1240
 
973
- export { CompositionTestRunner, DEFAULT_STDLIB_POLICY, PROTOCOL_CONSTANTS, TEST_TRAIT, calculateRevenueDistribution, checkLicenseCompatibility, classifyPublishMode, computeContentHash, createStdlibActions, ethToWei, extractImports, formatRevenueDistribution, generateProvenance, isPathAllowed, parseHostFromUrl, registerStdlib, resolveImportChain, resolveRepoRelativePath, testHandler, toStringArray, truncateText, weiToEth };
974
- //# sourceMappingURL=chunk-DMG7C4H2.js.map
975
- //# sourceMappingURL=chunk-DMG7C4H2.js.map
1241
+ export { CompositionTestRunner, DEFAULT_STDLIB_POLICY, PROTOCOL_CONSTANTS, TEST_TRAIT, buildStdlibPermissionScopeDiff, calculateRevenueDistribution, checkLicenseCompatibility, createStdlibActions, ethToWei, evaluateStdlibPermissionScopePolicy, findExtraPermissionScopes, findMissingRequiredPermissionScopes, formatRevenueDistribution, isPathAllowed, isValidPermissionScopeName, normalizePermissionScopeName, parseHostFromUrl, redactStdlibPermissionPreview, registerStdlib, resolveImportChain, resolveRepoRelativePath, stdlibPermissionPreviewHasPublicLeak, testHandler, toStringArray, truncateText, weiToEth };
1242
+ //# sourceMappingURL=chunk-ZZ7RO2UQ.js.map
1243
+ //# sourceMappingURL=chunk-ZZ7RO2UQ.js.map