@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.
- package/LICENSE +21 -0
- package/README.md +3 -3
- package/bin/holoscript.cjs +3 -0
- package/dist/GLTFPipeline-SFIORFJU.js +16 -0
- package/dist/GLTFPipeline-VNNDPONV.cjs +37 -0
- package/dist/{HoloScriptPlusParser-BN6KVRCM.js → HoloScriptPlusParser-7FBIFUFC.js} +6 -5
- package/dist/{HoloScriptPlusParser-NC5FE6AL.cjs → HoloScriptPlusParser-A2W7OCN2.cjs} +17 -16
- package/dist/HoloScriptPlusParser-F2Z56FJR.js +10 -0
- package/dist/HoloScriptPlusParser-WKHRIH6T.cjs +27 -0
- package/dist/{USDZExporter-UWGWNMMD.cjs → USDZExporter-3FWJ25JI.cjs} +344 -16
- package/dist/{USDZExporter-NTMBNTDB.js → USDZExporter-D2HQLQYK.js} +344 -16
- package/dist/agents/index.cjs +19 -0
- package/dist/agents/index.d.ts +100 -0
- package/dist/agents/index.js +17 -0
- package/dist/chunk-22W6NGYN.js +725 -0
- package/dist/{chunk-5OEOHAAW.cjs → chunk-27MPVJVZ.cjs} +64 -28
- package/dist/{chunk-RVYPEYPX.js → chunk-2A7FURVO.js} +44 -8
- package/dist/{chunk-XCWFGZAA.js → chunk-2B7WVIDZ.js} +11 -8
- package/dist/{chunk-NDQNIJEH.js → chunk-2BSMSUCE.js} +250 -24
- package/dist/chunk-2HLIGOKU.cjs +5546 -0
- package/dist/{chunk-EONILVMF.js → chunk-2M2DPHKB.js} +4 -4
- package/dist/{chunk-G7CT3EMP.cjs → chunk-2YSNA2F2.cjs} +319 -47
- package/dist/{chunk-IWI6J7FX.js → chunk-33XCOVE3.js} +5 -5
- package/dist/chunk-3FOKASKO.cjs +348 -0
- package/dist/{chunk-DXJQDCFL.js → chunk-4C57PR42.js} +3 -3
- package/dist/{chunk-MPXBVFHQ.js → chunk-4N4SXXWF.js} +4 -3
- package/dist/chunk-4PDEPEQW.cjs +41 -0
- package/dist/chunk-4R6HPSHJ.js +2176 -0
- package/dist/chunk-4R6SBXDB.js +45 -0
- package/dist/chunk-4SY77NA4.cjs +413 -0
- package/dist/{chunk-YCXFCXDS.js → chunk-4UUKPCY4.js} +668 -110
- package/dist/{chunk-LGGRPKTV.cjs → chunk-52ULD552.cjs} +114 -35
- package/dist/{chunk-L4G4RLXX.js → chunk-5CKA5SXU.js} +438 -22
- package/dist/chunk-5FSKKMR7.cjs +2092 -0
- package/dist/{chunk-FF3Q7ADR.js → chunk-5JEU52DW.js} +5 -3
- package/dist/chunk-5N54COB6.cjs +327 -0
- package/dist/chunk-5S7RKFGR.cjs +446 -0
- package/dist/{chunk-KED34ILP.js → chunk-6ASWLXXN.js} +21 -9
- package/dist/chunk-6CTRH7HT.cjs +1985 -0
- package/dist/{chunk-CAUCGUEA.cjs → chunk-6EX3I5P4.cjs} +6 -6
- package/dist/chunk-6FGQNDR4.js +5731 -0
- package/dist/{chunk-72EQECGT.cjs → chunk-6KMK2UXT.cjs} +122 -46
- package/dist/{chunk-G4VZTCIB.js → chunk-6L4VE27M.js} +33 -23
- package/dist/{chunk-ATSKSYVE.cjs → chunk-6S6TKNEA.cjs} +6478 -1738
- package/dist/chunk-77V4GTCA.js +596 -0
- package/dist/{chunk-ZP4D3CSX.cjs → chunk-7AD52FRS.cjs} +16 -16
- package/dist/chunk-A6KINLZJ.js +236 -0
- package/dist/chunk-AIA52I7T.cjs +543 -0
- package/dist/chunk-AIX25INK.cjs +602 -0
- package/dist/{chunk-B5TCIAPQ.cjs → chunk-AO4I2Z7M.cjs} +17 -18
- package/dist/{chunk-Q5SJOGHQ.cjs → chunk-BPICAGBV.cjs} +324 -199
- package/dist/chunk-BRQJKJGT.cjs +20 -0
- package/dist/{chunk-3FXV5S25.cjs → chunk-C37BHB7N.cjs} +6 -3
- package/dist/{chunk-XUTX5CBW.js → chunk-CBJY23VL.js} +3 -3
- package/dist/chunk-CIWWXYHZ.cjs +50 -0
- package/dist/{chunk-XXINBTZK.cjs → chunk-DIL6DDDN.cjs} +101 -45
- package/dist/chunk-DMXC24WV.js +404 -0
- package/dist/{chunk-PMGODDJA.cjs → chunk-DTGBOSEM.cjs} +12 -12
- package/dist/chunk-E7JP3BS3.cjs +61 -0
- package/dist/{chunk-HJJLD366.js → chunk-EKBKLK7P.js} +3 -3
- package/dist/chunk-EKYL4PE3.cjs +404 -0
- package/dist/{chunk-UPJBDCVF.js → chunk-EMMC5CSQ.js} +12 -8
- package/dist/{chunk-GGHSW2NN.js → chunk-EOBB6A4B.js} +6389 -1718
- package/dist/chunk-EOFNVCM6.js +325 -0
- package/dist/{chunk-FHQVYCH2.js → chunk-ER4GATIU.js} +7 -7
- package/dist/{chunk-N5FTS757.cjs → chunk-EXKSFGSX.cjs} +7 -148
- package/dist/{chunk-LK5IAVH6.cjs → chunk-EXUP2BUM.cjs} +27 -27
- package/dist/chunk-FDSGHPAK.js +130 -0
- package/dist/chunk-FEWUHQNM.cjs +144 -0
- package/dist/{chunk-5TOFIR6L.js → chunk-FGGJQRLZ.js} +5 -142
- package/dist/chunk-FHP6LXJS.js +415 -0
- package/dist/{chunk-7LCYLPW2.cjs → chunk-FJPADH77.cjs} +7 -4
- package/dist/{chunk-T36DDXSF.js → chunk-FXKTYFYA.js} +150 -25
- package/dist/chunk-G2LS3RFO.js +623 -0
- package/dist/chunk-GCMWDSBZ.cjs +729 -0
- package/dist/chunk-GJNCFRJU.cjs +125 -0
- package/dist/{chunk-Q4QX3AET.cjs → chunk-GMP623FG.cjs} +16 -13
- package/dist/{chunk-XD6IYDUX.js → chunk-GN3KDX4W.js} +119 -43
- package/dist/{chunk-QLEAOI3Q.cjs → chunk-GQYKQSTC.cjs} +10 -10
- package/dist/chunk-GTU2Z2WW.cjs +262 -0
- package/dist/chunk-GZG4KA4E.js +529 -0
- package/dist/{chunk-BND3ST2K.cjs → chunk-H3MGK7TX.cjs} +42 -32
- package/dist/{chunk-XRKWN5PL.cjs → chunk-H5DZIHJP.cjs} +14 -18
- package/dist/{chunk-Z34RLXRA.cjs → chunk-HANL7K2Q.cjs} +65 -50
- package/dist/{chunk-3SAK5KFL.cjs → chunk-HCCQLAA4.cjs} +2 -11
- package/dist/{chunk-LXJ4667L.cjs → chunk-HGVXZDSK.cjs} +108 -20
- package/dist/{chunk-3FJCK5XA.js → chunk-HRODTEEO.js} +30 -10
- package/dist/{chunk-HQUEA5R6.cjs → chunk-HZCQO4JM.cjs} +6 -6
- package/dist/{chunk-S565K7NK.js → chunk-I2O7TW6B.js} +12 -8
- package/dist/chunk-IHESJZSW.js +4490 -0
- package/dist/{chunk-FSF7EQVA.cjs → chunk-IRWWS72C.cjs} +63 -22
- package/dist/{chunk-5O6TQC6M.cjs → chunk-IVIA7K75.cjs} +689 -127
- package/dist/chunk-IVY74O6C.js +247 -0
- package/dist/chunk-J32ZJZJH.js +554 -0
- package/dist/chunk-J56PTA46.cjs +639 -0
- package/dist/chunk-JD7CIZ33.js +1949 -0
- package/dist/{chunk-T7LEXZUZ.cjs → chunk-JIYN45TV.cjs} +14 -15
- package/dist/{chunk-FFKU7BTK.cjs → chunk-KHPCJRI3.cjs} +24 -21
- package/dist/chunk-KKFZ3B6J.cjs +557 -0
- package/dist/chunk-KPJL34Y7.cjs +186 -0
- package/dist/{chunk-HE7ULERA.cjs → chunk-KQTPCYTG.cjs} +128 -44
- package/dist/{chunk-OFKWH2IP.js → chunk-KX76JUQY.js} +3 -3
- package/dist/{chunk-33LSUQDD.cjs → chunk-L63H3SQ4.cjs} +43 -31
- package/dist/{chunk-K6EKD26I.js → chunk-LAOCQJ2M.js} +64 -8
- package/dist/chunk-LM2VU56C.cjs +37 -0
- package/dist/chunk-M56JSP4A.js +400 -0
- package/dist/chunk-MBOOR7X4.js +18 -0
- package/dist/{chunk-XWPNTWDN.cjs → chunk-MJVIRCUV.cjs} +31 -27
- package/dist/{chunk-SDAMZIRE.js → chunk-MSMIFMBL.js} +135 -18
- package/dist/{chunk-56IF4NTA.js → chunk-MXFUTKCO.js} +18 -18
- package/dist/{chunk-6UEHYZ7V.cjs → chunk-MXJ5SS53.cjs} +447 -31
- package/dist/chunk-MYY4PMWX.cjs +264 -0
- package/dist/chunk-N75IH2HY.js +258 -0
- package/dist/{chunk-GVUR45UF.cjs → chunk-NG77ATEW.cjs} +7 -6
- package/dist/chunk-NW5G5FBQ.js +215 -0
- package/dist/{chunk-E3FWRT3Z.js → chunk-OEFY723R.js} +28 -13
- package/dist/chunk-OEV5RMZO.cjs +3042 -0
- package/dist/{chunk-X4ZF6CNE.cjs → chunk-OIQYIIO3.cjs} +7 -7
- package/dist/{chunk-2CWOLHTE.js → chunk-OL46QLBJ.js} +3 -11
- package/dist/chunk-OPZ7XDDI.js +487 -0
- package/dist/chunk-OSYNRVOV.cjs +243 -0
- package/dist/{chunk-TEWCN33Y.js → chunk-P7YIA5LN.js} +91 -7
- package/dist/chunk-PGANYCAG.cjs +220 -0
- package/dist/{chunk-CS2EMTGF.js → chunk-QAVXL2IH.js} +62 -21
- package/dist/{chunk-T4NKMBDL.js → chunk-QCCBXSCE.js} +1666 -756
- package/dist/{chunk-F4IULT7N.js → chunk-QPOQ7VPI.js} +16 -13
- package/dist/{chunk-6XSERL6L.js → chunk-QTPMJRGS.js} +3108 -2827
- package/dist/{chunk-F3HH56EB.cjs → chunk-QWNQ523V.cjs} +1730 -823
- package/dist/{chunk-R7MA7QWV.js → chunk-R3IVNY6P.js} +102 -23
- package/dist/chunk-R75BSDH7.cjs +50 -0
- package/dist/chunk-RAXUF5DF.cjs +2196 -0
- package/dist/{chunk-BF2235SI.cjs → chunk-RMHC2VG7.cjs} +2876 -2592
- package/dist/chunk-RUXGBKPS.cjs +4517 -0
- package/dist/{chunk-UERJ3YJV.js → chunk-S5IFXW6E.js} +113 -9
- package/dist/{chunk-27LWW5FU.cjs → chunk-S6YWHCKV.cjs} +5 -5
- package/dist/{chunk-WB4Z63GG.js → chunk-SIEXCILW.js} +3 -3
- package/dist/{chunk-CLYEIWA5.cjs → chunk-SLU6UPJI.cjs} +5 -3
- package/dist/{chunk-LZ266PCM.cjs → chunk-T5J7ZKP3.cjs} +446 -60
- package/dist/chunk-TDCNJHWO.js +341 -0
- package/dist/{chunk-IHOUYQIA.js → chunk-TG7O4WBC.js} +5 -5
- package/dist/chunk-THCK6ECW.js +2085 -0
- package/dist/chunk-TJHVSBP2.js +439 -0
- package/dist/chunk-TK74TR4H.js +5541 -0
- package/dist/{chunk-CDPGV4DN.js → chunk-U4NBQJBY.js} +14 -15
- package/dist/{chunk-NOZZ46QU.js → chunk-UD3DSHZM.js} +10 -14
- package/dist/chunk-UDMYRFDZ.js +3038 -0
- package/dist/{chunk-WDW67DZB.cjs → chunk-UOIGFQXC.cjs} +90 -68
- package/dist/{chunk-BU7VWW2K.js → chunk-URG2SJLK.js} +14 -15
- package/dist/{chunk-EQV4R3EV.cjs → chunk-V73NPPTM.cjs} +152 -35
- package/dist/chunk-VECQYRXL.js +474 -0
- package/dist/chunk-VEXPG4WN.js +1989 -0
- package/dist/{chunk-LDP5OK6G.js → chunk-VMLKSV26.js} +5 -5
- package/dist/{chunk-5BGSECRJ.cjs → chunk-VSK7W3O5.cjs} +47 -27
- package/dist/chunk-VVKVQZI6.js +55 -0
- package/dist/{chunk-YQK5JNFK.js → chunk-W55Z7QIX.js} +103 -15
- package/dist/{chunk-KSGXLT74.cjs → chunk-W6P2GBHH.cjs} +3 -3
- package/dist/{chunk-IBDG74G2.cjs → chunk-W6RW64BB.cjs} +7 -7
- package/dist/chunk-WDT3JTGM.cjs +483 -0
- package/dist/{chunk-HPS76H7Q.js → chunk-WKX5AMOY.js} +3 -3
- package/dist/chunk-WNNE3PO3.js +34 -0
- package/dist/{chunk-XG23EUQX.cjs → chunk-WRLUBRKS.cjs} +538 -312
- package/dist/{chunk-IFNQFCTM.js → chunk-WRNEH5MO.js} +79 -8
- package/dist/{chunk-54FHG2MX.js → chunk-WRWEX5ZF.js} +7 -4
- package/dist/{chunk-KCQ5NDYC.cjs → chunk-X3GJPRVK.cjs} +154 -80
- package/dist/{chunk-7AGYRWKW.cjs → chunk-XFXGA5IW.cjs} +126 -22
- package/dist/{chunk-TQSZUOW5.cjs → chunk-XHIV6326.cjs} +4 -4
- package/dist/chunk-XJAN7CZG.cjs +432 -0
- package/dist/chunk-XL6INWKT.js +121 -0
- package/dist/{chunk-E3UALNFA.js → chunk-XMWZG36H.js} +4 -4
- package/dist/{chunk-BKIGPPVM.js → chunk-XSFNHP2E.js} +6 -3
- package/dist/{chunk-H5Z7NASB.js → chunk-XT6JY5W5.js} +25 -3
- package/dist/chunk-XXZJEFKW.cjs +490 -0
- package/dist/chunk-Y3MWXQSB.cjs +5737 -0
- package/dist/chunk-YF2I3MV3.js +46 -0
- package/dist/{chunk-V3NN3HPP.js → chunk-YIMN575O.js} +437 -52
- package/dist/chunk-YIVFJNYV.js +176 -0
- package/dist/{chunk-MD6KDHVE.cjs → chunk-YKGPCZEE.cjs} +10 -10
- package/dist/chunk-YQELFNJV.js +39 -0
- package/dist/chunk-Z5XMPRNC.cjs +5390 -0
- package/dist/{chunk-3FYZOR7S.cjs → chunk-ZDSYWBIE.cjs} +18 -18
- package/dist/{chunk-6TZPZCOJ.cjs → chunk-ZKSS47EV.cjs} +24 -19
- package/dist/chunk-ZUL5AVTX.cjs +1993 -0
- package/dist/chunk-ZXBZVXDW.js +5386 -0
- package/dist/{chunk-DMG7C4H2.js → chunk-ZZ7RO2UQ.js} +312 -44
- package/dist/cli/holoscript-runner.cjs +200 -204
- package/dist/cli/holoscript-runner.js +144 -148
- package/dist/codebase/index.cjs +1 -1
- package/dist/codebase/index.js +1 -1
- package/dist/compiler/agent-inference.cjs +10 -7
- package/dist/compiler/agent-inference.js +6 -3
- package/dist/compiler/android-xr.cjs +12 -7
- package/dist/compiler/android-xr.js +10 -5
- package/dist/compiler/android.cjs +12 -8
- package/dist/compiler/android.js +10 -6
- package/dist/compiler/ar.cjs +9 -6
- package/dist/compiler/ar.js +7 -4
- package/dist/compiler/babylon.cjs +12 -8
- package/dist/compiler/babylon.js +11 -7
- package/dist/compiler/business-quest.cjs +43 -0
- package/dist/compiler/business-quest.js +4 -0
- package/dist/compiler/coco.cjs +1 -1
- package/dist/compiler/coco.js +1 -1
- package/dist/compiler/context.cjs +25 -0
- package/dist/compiler/context.d.ts +28 -0
- package/dist/compiler/context.js +8 -0
- package/dist/compiler/domain-block-utils.cjs +155 -152
- package/dist/compiler/domain-block-utils.js +7 -4
- package/dist/compiler/dtdl.cjs +10 -7
- package/dist/compiler/dtdl.js +7 -4
- package/dist/compiler/gltf-pipeline.cjs +9 -9
- package/dist/compiler/gltf-pipeline.js +2 -2
- package/dist/compiler/godot.cjs +9 -6
- package/dist/compiler/godot.js +8 -5
- package/dist/compiler/incremental.cjs +12 -7
- package/dist/compiler/incremental.js +7 -2
- package/dist/compiler/index.cjs +3550 -268
- package/dist/compiler/index.d.ts +404 -21
- package/dist/compiler/index.js +3280 -138
- package/dist/compiler/ios.cjs +11 -8
- package/dist/compiler/ios.js +9 -6
- package/dist/compiler/llm-provider-capabilities.cjs +25 -0
- package/dist/compiler/llm-provider-capabilities.d.ts +43 -0
- package/dist/compiler/llm-provider-capabilities.js +8 -0
- package/dist/compiler/multi-layer.cjs +14 -10
- package/dist/compiler/multi-layer.js +13 -9
- package/dist/compiler/nodetoy.cjs +5 -5
- package/dist/compiler/nodetoy.js +2 -2
- package/dist/compiler/openxr.cjs +10 -6
- package/dist/compiler/openxr.js +9 -5
- package/dist/compiler/playcanvas.cjs +10 -7
- package/dist/compiler/playcanvas.js +9 -6
- package/dist/compiler/r3f.cjs +17 -13
- package/dist/compiler/r3f.d.ts +22 -0
- package/dist/compiler/r3f.js +12 -8
- package/dist/compiler/remotion.cjs +1 -1
- package/dist/compiler/remotion.js +1 -1
- package/dist/compiler/reproducibility.cjs +1 -1
- package/dist/compiler/reproducibility.js +1 -1
- package/dist/compiler/sdf.cjs +10 -7
- package/dist/compiler/sdf.js +8 -5
- package/dist/compiler/semantic-scene.cjs +1 -1
- package/dist/compiler/semantic-scene.js +1 -1
- package/dist/compiler/state.cjs +9 -5
- package/dist/compiler/state.js +7 -3
- package/dist/compiler/trait-composition.cjs +11 -7
- package/dist/compiler/trait-composition.js +7 -3
- package/dist/compiler/unity.cjs +10 -6
- package/dist/compiler/unity.js +9 -5
- package/dist/compiler/unreal.cjs +11 -7
- package/dist/compiler/unreal.js +9 -5
- package/dist/compiler/urdf.cjs +20 -13
- package/dist/compiler/urdf.js +8 -5
- package/dist/compiler/usd-physics.cjs +10 -7
- package/dist/compiler/usd-physics.js +7 -4
- package/dist/compiler/visionos.cjs +10 -6
- package/dist/compiler/visionos.js +9 -5
- package/dist/compiler/vrchat.cjs +10 -7
- package/dist/compiler/vrchat.js +8 -5
- package/dist/compiler/vrr.cjs +10 -7
- package/dist/compiler/vrr.js +8 -5
- package/dist/compiler/wasm.cjs +13 -10
- package/dist/compiler/wasm.js +8 -5
- package/dist/compiler/webgpu.cjs +9 -6
- package/dist/compiler/webgpu.js +8 -5
- package/dist/constants.d.ts +3 -2
- package/dist/coordinators/index.cjs +1266 -0
- package/dist/coordinators/index.d.ts +260 -0
- package/dist/coordinators/index.js +1259 -0
- package/dist/debugger.cjs +9 -7
- package/dist/debugger.js +7 -5
- package/dist/entries/interop.cjs +23 -21
- package/dist/entries/interop.js +5 -3
- package/dist/entries/scripting.cjs +18 -18
- package/dist/entries/scripting.js +8 -8
- package/dist/hololand/index.cjs +146 -0
- package/dist/hololand/index.d.ts +70 -0
- package/dist/hololand/index.js +5 -0
- package/dist/index.cjs +20332 -18121
- package/dist/index.d.ts +1477 -40
- package/dist/index.js +19451 -17638
- package/dist/math/tropical-spmv.cjs +45 -0
- package/dist/math/tropical-spmv.js +4 -0
- package/dist/math/vec3.cjs +14 -14
- package/dist/math/vec3.js +2 -2
- package/dist/{ml-dsa-PHCWUBPX.cjs → ml-dsa-FSKBTE3W.cjs} +177 -90
- package/dist/{ml-dsa-WYLJHJO6.js → ml-dsa-Z7JDKW4L.js} +158 -71
- package/dist/paper-0c-spike/index.cjs +150 -0
- package/dist/paper-0c-spike/index.d.ts +29 -0
- package/dist/paper-0c-spike/index.js +141 -0
- package/dist/parser.cjs +45 -11
- package/dist/parser.d.ts +11 -0
- package/dist/parser.js +10 -8
- package/dist/{playwright-RL6GY4F7.cjs → playwright-3AT3AKTV.cjs} +1985 -1985
- package/dist/{playwright-5OSAPTNH.js → playwright-VZPDVUEQ.js} +3 -3
- package/dist/reconstruction/index.cjs +153 -0
- package/dist/reconstruction/index.d.ts +105 -0
- package/dist/reconstruction/index.js +8 -0
- package/dist/runtime.cjs +7 -5
- package/dist/runtime.js +6 -4
- package/dist/self-improvement/index.cjs +563 -0
- package/dist/self-improvement/index.js +545 -0
- package/dist/storage/index.cjs +10 -9
- package/dist/storage/index.js +3 -2
- package/dist/testing.cjs +25 -0
- package/dist/testing.d.ts +70 -0
- package/dist/testing.js +4 -0
- package/dist/tools/index.d.ts +22 -1
- package/dist/traitDocs/traitDocs.cjs +33 -0
- package/dist/traitDocs/traitDocs.d.ts +69 -0
- package/dist/traitDocs/traitDocs.js +7 -0
- package/dist/traits/botanical-lotus.cjs +41 -0
- package/dist/traits/botanical-lotus.d.ts +172 -0
- package/dist/traits/botanical-lotus.js +4 -0
- package/dist/traits/engines/index.cjs +520 -0
- package/dist/traits/engines/index.js +380 -0
- package/dist/traits/index.cjs +17630 -7881
- package/dist/traits/index.d.ts +197 -0
- package/dist/traits/index.js +16573 -7193
- package/dist/traits/simulation-solver-factory.cjs +13 -0
- package/dist/traits/simulation-solver-factory.d.ts +23 -0
- package/dist/traits/simulation-solver-factory.js +4 -0
- package/dist/traits/webcam-gaze.cjs +35 -0
- package/dist/traits/webcam-gaze.d.ts +17 -0
- package/dist/traits/webcam-gaze.js +4 -0
- package/dist/type-checker.cjs +6 -5
- package/dist/type-checker.js +4 -3
- package/dist/world/index.cjs +947 -0
- package/dist/world/index.d.ts +147 -0
- package/dist/world/index.js +939 -0
- package/dist/world-model/index.cjs +1446 -0
- package/dist/world-model/index.d.ts +119 -0
- package/dist/world-model/index.js +1414 -0
- package/dist/wot/index.cjs +29 -0
- package/dist/wot/index.js +4 -0
- package/package.json +153 -61
- package/dist/GLTFPipeline-DEN36VNK.js +0 -12
- package/dist/GLTFPipeline-YPCAK236.cjs +0 -33
- package/dist/chunk-4XSNJCLC.cjs +0 -1859
- package/dist/chunk-A7PIMZGU.js +0 -263
- package/dist/chunk-BWFJEM5A.js +0 -5419
- package/dist/chunk-CBJSLA2E.cjs +0 -5423
- package/dist/chunk-K3JDKWGI.cjs +0 -270
- package/dist/chunk-LSW7P7ML.js +0 -3675
- package/dist/chunk-MEASWI2Y.js +0 -126
- package/dist/chunk-NCUKG4SK.cjs +0 -3075
- package/dist/chunk-Q5JT3YML.cjs +0 -129
- package/dist/chunk-QGKNANZ3.js +0 -3071
- package/dist/chunk-S2N5TNMA.js +0 -1855
- package/dist/chunk-TSH3MSQU.cjs +0 -129
- package/dist/chunk-WGMEAYBG.js +0 -126
- 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] =
|
|
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,
|
|
974
|
-
//# sourceMappingURL=chunk-
|
|
975
|
-
//# sourceMappingURL=chunk-
|
|
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
|