@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,24 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-
|
|
10
|
-
require('../chunk-
|
|
11
|
-
require('../chunk-
|
|
12
|
-
require('../chunk-
|
|
13
|
-
require('../chunk-
|
|
14
|
-
require('../chunk-
|
|
4
|
+
var chunk2YSNA2F2_cjs = require('../chunk-2YSNA2F2.cjs');
|
|
5
|
+
var chunkSLU6UPJI_cjs = require('../chunk-SLU6UPJI.cjs');
|
|
6
|
+
var chunkXHIV6326_cjs = require('../chunk-XHIV6326.cjs');
|
|
7
|
+
var chunkR75BSDH7_cjs = require('../chunk-R75BSDH7.cjs');
|
|
8
|
+
var chunkT5J7ZKP3_cjs = require('../chunk-T5J7ZKP3.cjs');
|
|
9
|
+
require('../chunk-NG77ATEW.cjs');
|
|
10
|
+
require('../chunk-WRLUBRKS.cjs');
|
|
11
|
+
require('../chunk-X3GJPRVK.cjs');
|
|
12
|
+
require('../chunk-DTGBOSEM.cjs');
|
|
13
|
+
require('../chunk-YKGPCZEE.cjs');
|
|
14
|
+
require('../chunk-6EX3I5P4.cjs');
|
|
15
|
+
var chunkE7JP3BS3_cjs = require('../chunk-E7JP3BS3.cjs');
|
|
16
|
+
require('../chunk-HCCQLAA4.cjs');
|
|
15
17
|
require('dotenv/config');
|
|
16
18
|
var fs = require('fs');
|
|
17
19
|
var path = require('path');
|
|
18
20
|
var readline = require('readline');
|
|
19
21
|
var child_process = require('child_process');
|
|
20
22
|
var crypto = require('crypto');
|
|
21
|
-
var runtime = require('@holoscript/engine/runtime');
|
|
22
23
|
|
|
23
24
|
function _interopNamespace(e) {
|
|
24
25
|
if (e && e.__esModule) return e;
|
|
@@ -42,6 +43,12 @@ var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
|
42
43
|
var path__namespace = /*#__PURE__*/_interopNamespace(path);
|
|
43
44
|
var readline__namespace = /*#__PURE__*/_interopNamespace(readline);
|
|
44
45
|
|
|
46
|
+
chunkE7JP3BS3_cjs.init_safeJsonParse();
|
|
47
|
+
var engineRuntimeModule;
|
|
48
|
+
async function loadEngineRuntime() {
|
|
49
|
+
engineRuntimeModule ?? (engineRuntimeModule = await import('@holoscript/engine/runtime'));
|
|
50
|
+
return engineRuntimeModule;
|
|
51
|
+
}
|
|
45
52
|
function defaultModelForProvider(provider) {
|
|
46
53
|
switch (provider) {
|
|
47
54
|
case "xai":
|
|
@@ -52,7 +59,7 @@ function defaultModelForProvider(provider) {
|
|
|
52
59
|
return "brittney-qwen-v23:latest";
|
|
53
60
|
case "anthropic":
|
|
54
61
|
default:
|
|
55
|
-
return "claude-sonnet-4-
|
|
62
|
+
return "claude-sonnet-4-6";
|
|
56
63
|
}
|
|
57
64
|
}
|
|
58
65
|
function defaultToolProfileForProvider(provider) {
|
|
@@ -231,151 +238,108 @@ function parseArgs(argv) {
|
|
|
231
238
|
}
|
|
232
239
|
return opts;
|
|
233
240
|
}
|
|
234
|
-
function
|
|
235
|
-
const
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
const outputTokens = d?.usage?.output_tokens ?? d?.usage?.completion_tokens ?? d?.eval_count ?? 0;
|
|
242
|
-
return {
|
|
243
|
-
inputTokens: Number.isFinite(inputTokens) ? Number(inputTokens) : 0,
|
|
244
|
-
outputTokens: Number.isFinite(outputTokens) ? Number(outputTokens) : 0
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
function createDaemonLLMProvider(opts) {
|
|
241
|
+
async function createDaemonLLMProvider(opts) {
|
|
242
|
+
const {
|
|
243
|
+
AnthropicAdapter,
|
|
244
|
+
XAIAdapter,
|
|
245
|
+
OpenAIAdapter,
|
|
246
|
+
LocalLLMAdapter
|
|
247
|
+
} = await import('@holoscript/llm-provider');
|
|
248
248
|
if (opts.provider === "anthropic") {
|
|
249
|
+
const adapter2 = new AnthropicAdapter({
|
|
250
|
+
apiKey: process.env.ANTHROPIC_API_KEY || "",
|
|
251
|
+
defaultModel: opts.model
|
|
252
|
+
});
|
|
249
253
|
return {
|
|
250
254
|
chat: async ({ system, prompt, maxTokens }) => {
|
|
251
|
-
const
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
"content-type": "application/json"
|
|
259
|
-
},
|
|
260
|
-
body: JSON.stringify({
|
|
261
|
-
model: opts.model,
|
|
262
|
-
max_tokens: maxTokens || 4096,
|
|
263
|
-
system,
|
|
264
|
-
messages: [{ role: "user", content: prompt }]
|
|
265
|
-
})
|
|
255
|
+
const result = await adapter2.complete({
|
|
256
|
+
messages: [
|
|
257
|
+
{ role: "system", content: system },
|
|
258
|
+
{ role: "user", content: prompt }
|
|
259
|
+
],
|
|
260
|
+
maxTokens: maxTokens || 4096,
|
|
261
|
+
temperature: 0.2
|
|
266
262
|
});
|
|
267
|
-
if (!response.ok) {
|
|
268
|
-
const body = await response.text().catch(() => "");
|
|
269
|
-
throw new Error(`Anthropic API ${response.status}: ${body.slice(0, 200)}`);
|
|
270
|
-
}
|
|
271
|
-
const data = await response.json();
|
|
272
|
-
const usage = extractTokenUsage(data);
|
|
273
263
|
return {
|
|
274
|
-
text:
|
|
275
|
-
inputTokens: usage
|
|
276
|
-
outputTokens: usage
|
|
264
|
+
text: result.content,
|
|
265
|
+
inputTokens: result.usage?.promptTokens ?? 0,
|
|
266
|
+
outputTokens: result.usage?.completionTokens ?? 0
|
|
277
267
|
};
|
|
278
268
|
}
|
|
279
269
|
};
|
|
280
270
|
}
|
|
281
271
|
if (opts.provider === "xai") {
|
|
272
|
+
const adapter2 = new XAIAdapter({
|
|
273
|
+
apiKey: process.env.XAI_API_KEY || "",
|
|
274
|
+
defaultModel: opts.model
|
|
275
|
+
});
|
|
282
276
|
return {
|
|
283
277
|
chat: async ({ system, prompt, maxTokens }) => {
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
},
|
|
292
|
-
body: JSON.stringify({
|
|
293
|
-
model: opts.model,
|
|
294
|
-
max_tokens: maxTokens || 4096,
|
|
295
|
-
temperature: 0.2,
|
|
296
|
-
messages: [
|
|
297
|
-
{ role: "system", content: system },
|
|
298
|
-
{ role: "user", content: prompt }
|
|
299
|
-
]
|
|
300
|
-
})
|
|
278
|
+
const result = await adapter2.complete({
|
|
279
|
+
messages: [
|
|
280
|
+
{ role: "system", content: system },
|
|
281
|
+
{ role: "user", content: prompt }
|
|
282
|
+
],
|
|
283
|
+
maxTokens: maxTokens || 4096,
|
|
284
|
+
temperature: 0.2
|
|
301
285
|
});
|
|
302
|
-
if (!response.ok) {
|
|
303
|
-
const body = await response.text().catch(() => "");
|
|
304
|
-
throw new Error(`xAI API ${response.status}: ${body.slice(0, 200)}`);
|
|
305
|
-
}
|
|
306
|
-
const data = await response.json();
|
|
307
|
-
const usage = extractTokenUsage(data);
|
|
308
286
|
return {
|
|
309
|
-
text:
|
|
310
|
-
inputTokens: usage
|
|
311
|
-
outputTokens: usage
|
|
287
|
+
text: result.content,
|
|
288
|
+
inputTokens: result.usage?.promptTokens ?? 0,
|
|
289
|
+
outputTokens: result.usage?.completionTokens ?? 0
|
|
312
290
|
};
|
|
313
291
|
}
|
|
314
292
|
};
|
|
315
293
|
}
|
|
316
294
|
if (opts.provider === "openai") {
|
|
295
|
+
const adapter2 = new OpenAIAdapter({
|
|
296
|
+
apiKey: process.env.OPENAI_API_KEY || "",
|
|
297
|
+
defaultModel: opts.model,
|
|
298
|
+
...process.env.OPENAI_BASE_URL && { baseURL: process.env.OPENAI_BASE_URL }
|
|
299
|
+
});
|
|
317
300
|
return {
|
|
318
301
|
chat: async ({ system, prompt, maxTokens }) => {
|
|
319
|
-
const
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
"content-type": "application/json"
|
|
327
|
-
},
|
|
328
|
-
body: JSON.stringify({
|
|
329
|
-
model: opts.model,
|
|
330
|
-
max_tokens: maxTokens || 4096,
|
|
331
|
-
temperature: 0.2,
|
|
332
|
-
messages: [
|
|
333
|
-
{ role: "system", content: system },
|
|
334
|
-
{ role: "user", content: prompt }
|
|
335
|
-
]
|
|
336
|
-
})
|
|
302
|
+
const result = await adapter2.complete({
|
|
303
|
+
messages: [
|
|
304
|
+
{ role: "system", content: system },
|
|
305
|
+
{ role: "user", content: prompt }
|
|
306
|
+
],
|
|
307
|
+
maxTokens: maxTokens || 4096,
|
|
308
|
+
temperature: 0.2
|
|
337
309
|
});
|
|
338
|
-
if (!response.ok) {
|
|
339
|
-
const body = await response.text().catch(() => "");
|
|
340
|
-
throw new Error(`OpenAI API ${response.status}: ${body.slice(0, 200)}`);
|
|
341
|
-
}
|
|
342
|
-
const data = await response.json();
|
|
343
|
-
const usage = extractTokenUsage(data);
|
|
344
310
|
return {
|
|
345
|
-
text:
|
|
346
|
-
inputTokens: usage
|
|
347
|
-
outputTokens: usage
|
|
311
|
+
text: result.content,
|
|
312
|
+
inputTokens: result.usage?.promptTokens ?? 0,
|
|
313
|
+
outputTokens: result.usage?.completionTokens ?? 0
|
|
348
314
|
};
|
|
349
315
|
}
|
|
350
316
|
};
|
|
351
317
|
}
|
|
318
|
+
const ollamaUrl = process.env.OLLAMA_BASE_URL || process.env.OLLAMA_URL;
|
|
319
|
+
if (!ollamaUrl) {
|
|
320
|
+
throw new Error(
|
|
321
|
+
"Ollama selected but OLLAMA_BASE_URL/OLLAMA_URL not set. Use --provider anthropic|xai|openai or set OLLAMA_BASE_URL in .env"
|
|
322
|
+
);
|
|
323
|
+
}
|
|
324
|
+
const adapter = new LocalLLMAdapter({
|
|
325
|
+
baseURL: ollamaUrl,
|
|
326
|
+
defaultModel: opts.model,
|
|
327
|
+
timeoutMs: 12e4
|
|
328
|
+
});
|
|
352
329
|
return {
|
|
353
330
|
chat: async ({ system, prompt }) => {
|
|
354
|
-
const
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
system,
|
|
362
|
-
prompt,
|
|
363
|
-
stream: false,
|
|
364
|
-
options: {
|
|
365
|
-
temperature: 0.2
|
|
366
|
-
}
|
|
367
|
-
})
|
|
331
|
+
const result = await adapter.complete({
|
|
332
|
+
messages: [
|
|
333
|
+
{ role: "system", content: system },
|
|
334
|
+
{ role: "user", content: prompt }
|
|
335
|
+
],
|
|
336
|
+
maxTokens: 4096,
|
|
337
|
+
temperature: 0.2
|
|
368
338
|
});
|
|
369
|
-
if (!response.ok) {
|
|
370
|
-
const body = await response.text().catch(() => "");
|
|
371
|
-
throw new Error(`Ollama API ${response.status}: ${body.slice(0, 200)}`);
|
|
372
|
-
}
|
|
373
|
-
const data = await response.json();
|
|
374
|
-
const usage = extractTokenUsage(data);
|
|
375
339
|
return {
|
|
376
|
-
text:
|
|
377
|
-
inputTokens: usage
|
|
378
|
-
outputTokens: usage
|
|
340
|
+
text: result.content,
|
|
341
|
+
inputTokens: result.usage?.promptTokens ?? 0,
|
|
342
|
+
outputTokens: result.usage?.completionTokens ?? 0
|
|
379
343
|
};
|
|
380
344
|
}
|
|
381
345
|
};
|
|
@@ -475,6 +439,33 @@ function runTicks(runtime, count) {
|
|
|
475
439
|
runtime.tick();
|
|
476
440
|
}
|
|
477
441
|
}
|
|
442
|
+
function getDaemonState(runtime, key) {
|
|
443
|
+
if (typeof key === "string") {
|
|
444
|
+
if (typeof runtime.get === "function") {
|
|
445
|
+
return runtime.get(key);
|
|
446
|
+
}
|
|
447
|
+
const value = runtime.getState(key);
|
|
448
|
+
if (value && typeof value === "object" && key in value) {
|
|
449
|
+
return value[key];
|
|
450
|
+
}
|
|
451
|
+
return value;
|
|
452
|
+
}
|
|
453
|
+
if (typeof runtime.getAllState === "function") {
|
|
454
|
+
return runtime.getAllState();
|
|
455
|
+
}
|
|
456
|
+
return runtime.getState();
|
|
457
|
+
}
|
|
458
|
+
function setDaemonState(runtime, key, value) {
|
|
459
|
+
if (typeof runtime.set === "function") {
|
|
460
|
+
runtime.set(key, value);
|
|
461
|
+
return;
|
|
462
|
+
}
|
|
463
|
+
if (runtime.setState.length <= 1) {
|
|
464
|
+
runtime.setState({ [key]: value });
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
467
|
+
runtime.setState(key, value);
|
|
468
|
+
}
|
|
478
469
|
async function runDaemon(runtime, opts) {
|
|
479
470
|
const supportsEvents = typeof runtime.emit === "function";
|
|
480
471
|
const supportsStats = typeof runtime.getStats === "function";
|
|
@@ -535,7 +526,7 @@ async function runDaemon(runtime, opts) {
|
|
|
535
526
|
if (!raw) return;
|
|
536
527
|
let command;
|
|
537
528
|
try {
|
|
538
|
-
command =
|
|
529
|
+
command = chunkE7JP3BS3_cjs.readJson(raw);
|
|
539
530
|
} catch {
|
|
540
531
|
send({ type: "daemon:error", error: "Invalid JSON command" });
|
|
541
532
|
return;
|
|
@@ -559,14 +550,14 @@ async function runDaemon(runtime, opts) {
|
|
|
559
550
|
}
|
|
560
551
|
case "state:get": {
|
|
561
552
|
const key = command?.key;
|
|
562
|
-
const value =
|
|
553
|
+
const value = getDaemonState(runtime, key);
|
|
563
554
|
send({ type: "daemon:ok", op, key, value });
|
|
564
555
|
break;
|
|
565
556
|
}
|
|
566
557
|
case "state:set": {
|
|
567
558
|
const key = command?.key;
|
|
568
559
|
if (typeof key === "string") {
|
|
569
|
-
runtime
|
|
560
|
+
setDaemonState(runtime, key, command.value);
|
|
570
561
|
send({ type: "daemon:ok", op, key });
|
|
571
562
|
} else {
|
|
572
563
|
send({ type: "daemon:error", op, error: "state:set requires string key" });
|
|
@@ -693,21 +684,22 @@ async function runScript(opts) {
|
|
|
693
684
|
const source = fs__namespace.readFileSync(filePath, "utf-8");
|
|
694
685
|
const ext = path__namespace.extname(filePath);
|
|
695
686
|
console.log(`[holoscript] Running ${path__namespace.basename(filePath)} (target: ${opts.target})`);
|
|
696
|
-
const parseResult =
|
|
687
|
+
const parseResult = chunkT5J7ZKP3_cjs.parse(source);
|
|
697
688
|
const ast = parseResult.ast;
|
|
698
689
|
if (opts.debug) {
|
|
699
690
|
console.log(`[holoscript] Parsed ${ast.body?.length || 0} top-level nodes`);
|
|
700
691
|
console.log(`[holoscript] File type: ${ext}`);
|
|
701
692
|
}
|
|
702
|
-
const
|
|
703
|
-
const
|
|
693
|
+
const { createHeadlessRuntime, getProfile, HEADLESS_PROFILE } = await loadEngineRuntime();
|
|
694
|
+
const profile = opts.profile === "headless" ? HEADLESS_PROFILE : getProfile(opts.profile);
|
|
695
|
+
const runtime = createHeadlessRuntime(ast, {
|
|
704
696
|
profile,
|
|
705
697
|
tickRate: 10,
|
|
706
698
|
debug: opts.debug,
|
|
707
699
|
hostCapabilities: createNodeHostCapabilities(path__namespace.dirname(filePath))
|
|
708
700
|
});
|
|
709
|
-
|
|
710
|
-
runtime
|
|
701
|
+
chunk2YSNA2F2_cjs.registerStdlib(
|
|
702
|
+
runtime,
|
|
711
703
|
{
|
|
712
704
|
policy: {
|
|
713
705
|
rootDir: path__namespace.dirname(filePath),
|
|
@@ -723,28 +715,28 @@ async function runScript(opts) {
|
|
|
723
715
|
hostCapabilities: createNodeHostCapabilities(path__namespace.dirname(filePath))
|
|
724
716
|
}
|
|
725
717
|
);
|
|
726
|
-
new
|
|
718
|
+
new chunkSLU6UPJI_cjs.InteropContext(path__namespace.dirname(filePath));
|
|
727
719
|
if (opts.debug) {
|
|
728
720
|
console.log(`[holoscript] Profile: ${profile.name}`);
|
|
729
721
|
console.log(`[holoscript] Interop context: ${path__namespace.dirname(filePath)}`);
|
|
730
722
|
}
|
|
731
|
-
runtime
|
|
723
|
+
runtime.start();
|
|
732
724
|
if (opts.daemon) {
|
|
733
725
|
if (opts.debug) {
|
|
734
726
|
console.log("[holoscript] Entering daemon mode");
|
|
735
727
|
}
|
|
736
|
-
await runDaemon(runtime
|
|
728
|
+
await runDaemon(runtime, opts);
|
|
737
729
|
return;
|
|
738
730
|
}
|
|
739
|
-
runTicks(runtime
|
|
740
|
-
runtime
|
|
741
|
-
const stats = runtime
|
|
731
|
+
runTicks(runtime, opts.ticks);
|
|
732
|
+
runtime.stop();
|
|
733
|
+
const stats = runtime.getStats();
|
|
742
734
|
console.log(
|
|
743
735
|
`[holoscript] Complete \u2014 ${stats.tickCount} ticks, ${stats.nodesProcessed} nodes processed`
|
|
744
736
|
);
|
|
745
737
|
if (opts.watch) {
|
|
746
738
|
console.log(`[holoscript] Watching for changes... (Ctrl+C to stop)`);
|
|
747
|
-
const watcher = new
|
|
739
|
+
const watcher = new chunkXHIV6326_cjs.HotReloadWatcher({
|
|
748
740
|
watchPaths: [path__namespace.dirname(filePath)],
|
|
749
741
|
extensions: [".hs", ".hsplus", ".holo"],
|
|
750
742
|
debounceMs: 300,
|
|
@@ -756,10 +748,10 @@ async function runScript(opts) {
|
|
|
756
748
|
console.log(`[holoscript] Re-running ${path__namespace.basename(filePath)}...`);
|
|
757
749
|
try {
|
|
758
750
|
const newSource = fs__namespace.readFileSync(filePath, "utf-8");
|
|
759
|
-
const newParseResult =
|
|
751
|
+
const newParseResult = chunkT5J7ZKP3_cjs.parse(newSource);
|
|
760
752
|
const newAst = newParseResult.ast;
|
|
761
|
-
const newRuntime =
|
|
762
|
-
profile: opts.profile === "headless" ?
|
|
753
|
+
const newRuntime = createHeadlessRuntime(newAst, {
|
|
754
|
+
profile: opts.profile === "headless" ? HEADLESS_PROFILE : getProfile(opts.profile),
|
|
763
755
|
tickRate: 10,
|
|
764
756
|
debug: opts.debug,
|
|
765
757
|
hostCapabilities: createNodeHostCapabilities(path__namespace.dirname(filePath))
|
|
@@ -792,21 +784,23 @@ async function testScript(opts) {
|
|
|
792
784
|
}
|
|
793
785
|
const source = fs__namespace.readFileSync(filePath, "utf-8");
|
|
794
786
|
console.log(`[holoscript test] Running tests in ${path__namespace.basename(filePath)}`);
|
|
795
|
-
const parseResult =
|
|
787
|
+
const parseResult = chunkT5J7ZKP3_cjs.parse(source);
|
|
796
788
|
const ast = parseResult.ast;
|
|
797
|
-
const
|
|
798
|
-
const
|
|
799
|
-
runtime
|
|
800
|
-
|
|
801
|
-
const
|
|
789
|
+
const { createHeadlessRuntime, HEADLESS_PROFILE } = await loadEngineRuntime();
|
|
790
|
+
const profile = HEADLESS_PROFILE;
|
|
791
|
+
const runtime = createHeadlessRuntime(ast, { profile, tickRate: 10, debug: opts.debug });
|
|
792
|
+
runtime.start();
|
|
793
|
+
const runtimeAccess = runtime;
|
|
794
|
+
for (let i = 0; i < 50; i++) runtimeAccess.tick();
|
|
795
|
+
const runner = new chunkXHIV6326_cjs.ScriptTestRunner({
|
|
802
796
|
debug: opts.debug,
|
|
803
|
-
runtimeState:
|
|
797
|
+
runtimeState: runtimeAccess.getState()
|
|
804
798
|
});
|
|
805
799
|
const scriptResults = runner.runTestsFromSource(source, filePath);
|
|
806
|
-
const runtimeState =
|
|
807
|
-
const compositionState = Object.keys(runtimeState).length > 0 ? runtimeState :
|
|
808
|
-
const computedDefs =
|
|
809
|
-
const compositionRunner = new
|
|
800
|
+
const runtimeState = runtimeAccess.getState();
|
|
801
|
+
const compositionState = Object.keys(runtimeState).length > 0 ? runtimeState : chunk2YSNA2F2_cjs.CompositionTestRunner.extractStateFromSource(source);
|
|
802
|
+
const computedDefs = chunk2YSNA2F2_cjs.CompositionTestRunner.extractComputedFromSource(source);
|
|
803
|
+
const compositionRunner = new chunk2YSNA2F2_cjs.CompositionTestRunner(compositionState, computedDefs, {
|
|
810
804
|
debug: opts.debug
|
|
811
805
|
});
|
|
812
806
|
const compositionResults = compositionRunner.runTestsFromSource(source);
|
|
@@ -869,7 +863,7 @@ function compileScript(opts) {
|
|
|
869
863
|
}
|
|
870
864
|
console.log(`[holoscript compile] @gotcha check passed (no critical violations)`);
|
|
871
865
|
}
|
|
872
|
-
const compileResult =
|
|
866
|
+
const compileResult = chunkT5J7ZKP3_cjs.parse(source);
|
|
873
867
|
if (!compileResult.success) {
|
|
874
868
|
console.error(`[holoscript compile] Failed to parse: ${compileResult.errors?.[0]?.message}`);
|
|
875
869
|
process.exit(1);
|
|
@@ -948,7 +942,7 @@ async function deployScript(opts) {
|
|
|
948
942
|
const fileName = path__namespace.basename(filePath);
|
|
949
943
|
const title = path__namespace.basename(filePath, path__namespace.extname(filePath));
|
|
950
944
|
console.log(`Parsing ${fileName}...`);
|
|
951
|
-
const ast =
|
|
945
|
+
const ast = chunkT5J7ZKP3_cjs.parse(source);
|
|
952
946
|
if (ast.errors && ast.errors.length > 0) {
|
|
953
947
|
console.error("Parse errors:");
|
|
954
948
|
for (const err of ast.errors) {
|
|
@@ -957,7 +951,7 @@ async function deployScript(opts) {
|
|
|
957
951
|
process.exit(1);
|
|
958
952
|
}
|
|
959
953
|
const license = opts.license || "free";
|
|
960
|
-
const provenance =
|
|
954
|
+
const provenance = chunkR75BSDH7_cjs.generateProvenance(source, ast, {
|
|
961
955
|
author: opts.author || "anonymous",
|
|
962
956
|
license
|
|
963
957
|
});
|
|
@@ -969,7 +963,7 @@ async function deployScript(opts) {
|
|
|
969
963
|
path: imp.path,
|
|
970
964
|
license: "free"
|
|
971
965
|
}));
|
|
972
|
-
const licenseCheck =
|
|
966
|
+
const licenseCheck = chunk2YSNA2F2_cjs.checkLicenseCompatibility(license, importedLicenses);
|
|
973
967
|
if (licenseCheck.warnings.length > 0) {
|
|
974
968
|
for (const w of licenseCheck.warnings) {
|
|
975
969
|
console.log(` Warning: ${w}`);
|
|
@@ -988,20 +982,20 @@ async function deployScript(opts) {
|
|
|
988
982
|
}
|
|
989
983
|
const serverUrl = opts.serverUrl.replace(/\/$/, "");
|
|
990
984
|
if (opts.publish) {
|
|
991
|
-
const priceWei =
|
|
985
|
+
const priceWei = chunk2YSNA2F2_cjs.ethToWei(opts.price || "0");
|
|
992
986
|
const importChain = provenance.imports.map((imp, i) => ({
|
|
993
987
|
contentHash: imp.hash || `import-${i}`,
|
|
994
988
|
author: imp.author || imp.path,
|
|
995
989
|
depth: 1,
|
|
996
990
|
children: []
|
|
997
991
|
}));
|
|
998
|
-
const revenuePreview =
|
|
992
|
+
const revenuePreview = chunk2YSNA2F2_cjs.calculateRevenueDistribution(
|
|
999
993
|
priceWei,
|
|
1000
994
|
provenance.author || "anonymous",
|
|
1001
995
|
importChain
|
|
1002
996
|
);
|
|
1003
997
|
console.log("\nRevenue distribution:");
|
|
1004
|
-
for (const line of
|
|
998
|
+
for (const line of chunk2YSNA2F2_cjs.formatRevenueDistribution(revenuePreview)) {
|
|
1005
999
|
console.log(` ${line}`);
|
|
1006
1000
|
}
|
|
1007
1001
|
console.log(`
|
|
@@ -1040,7 +1034,7 @@ Publishing to protocol at ${serverUrl}...`);
|
|
|
1040
1034
|
license: provenance.license,
|
|
1041
1035
|
publishMode: provenance.publishMode,
|
|
1042
1036
|
price: opts.price || "0",
|
|
1043
|
-
referralBps:
|
|
1037
|
+
referralBps: chunk2YSNA2F2_cjs.PROTOCOL_CONSTANTS.DEFAULT_REFERRAL_BPS,
|
|
1044
1038
|
metadataURI: `${serverUrl}/metadata/${provenance.hash}`,
|
|
1045
1039
|
mintAsNFT: opts.mintNft,
|
|
1046
1040
|
// Include scene data for CDN deploy
|
|
@@ -1168,7 +1162,7 @@ function absorbScript(opts) {
|
|
|
1168
1162
|
console.log(
|
|
1169
1163
|
`[holoscript absorb] ${path__namespace.basename(filePath)} (${language}) \u2192 ${path__namespace.basename(outputPath)}`
|
|
1170
1164
|
);
|
|
1171
|
-
const processor = new
|
|
1165
|
+
const processor = new chunkXHIV6326_cjs.AbsorbProcessor();
|
|
1172
1166
|
const result = processor.absorb({ language, filePath, content });
|
|
1173
1167
|
fs__namespace.writeFileSync(outputPath, result.generatedHSPlus, "utf-8");
|
|
1174
1168
|
console.log(`[holoscript absorb] Extracted:`);
|
|
@@ -1310,7 +1304,7 @@ async function daemonScript(opts) {
|
|
|
1310
1304
|
const { createDaemonActions, getDaemonFileState } = await import('@holoscript/absorb-service/daemon');
|
|
1311
1305
|
const repoRoot = findGitRoot(path__namespace.dirname(filePath));
|
|
1312
1306
|
const source = fs__namespace.readFileSync(filePath, "utf-8");
|
|
1313
|
-
const parseResult =
|
|
1307
|
+
const parseResult = chunkT5J7ZKP3_cjs.parse(source);
|
|
1314
1308
|
if (!parseResult.success || !parseResult.ast) {
|
|
1315
1309
|
const errors = parseResult.errors?.map((e) => e.message).join(", ") || "unknown";
|
|
1316
1310
|
console.error(`[daemon] Parse failed: ${errors}`);
|
|
@@ -1328,7 +1322,7 @@ async function daemonScript(opts) {
|
|
|
1328
1322
|
const lockData = { pid: process.pid, time: Date.now(), heartbeat: Date.now() };
|
|
1329
1323
|
if (fs__namespace.existsSync(lockFile)) {
|
|
1330
1324
|
try {
|
|
1331
|
-
const existing =
|
|
1325
|
+
const existing = chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(lockFile, "utf-8"));
|
|
1332
1326
|
const staleMs = 12e4;
|
|
1333
1327
|
if (Date.now() - existing.heartbeat < staleMs) {
|
|
1334
1328
|
console.error(
|
|
@@ -1438,7 +1432,7 @@ async function daemonScript(opts) {
|
|
|
1438
1432
|
);
|
|
1439
1433
|
}
|
|
1440
1434
|
}
|
|
1441
|
-
const llm = createDaemonLLMProvider(opts);
|
|
1435
|
+
const llm = await createDaemonLLMProvider(opts);
|
|
1442
1436
|
const defaultFocusRotation = [
|
|
1443
1437
|
"typefix",
|
|
1444
1438
|
"coverage",
|
|
@@ -1497,14 +1491,14 @@ async function daemonScript(opts) {
|
|
|
1497
1491
|
let daemonState = { ...daemonStateDefaults };
|
|
1498
1492
|
if (fs__namespace.existsSync(stateFile)) {
|
|
1499
1493
|
try {
|
|
1500
|
-
daemonState = { ...daemonState, ...
|
|
1494
|
+
daemonState = { ...daemonState, ...chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(stateFile, "utf-8")) };
|
|
1501
1495
|
} catch {
|
|
1502
1496
|
}
|
|
1503
1497
|
}
|
|
1504
1498
|
const fileStateFile = path__namespace.join(stateDir, "daemon-file-state.json");
|
|
1505
1499
|
if (fs__namespace.existsSync(fileStateFile)) {
|
|
1506
1500
|
try {
|
|
1507
|
-
const fileState =
|
|
1501
|
+
const fileState = chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(fileStateFile, "utf-8"));
|
|
1508
1502
|
config.committedFiles = fileState.committed || [];
|
|
1509
1503
|
config.failedFiles = fileState.failures || {};
|
|
1510
1504
|
} catch {
|
|
@@ -1523,6 +1517,7 @@ async function daemonScript(opts) {
|
|
|
1523
1517
|
cleanup();
|
|
1524
1518
|
process.exit(1);
|
|
1525
1519
|
}
|
|
1520
|
+
const { createHeadlessRuntime, HEADLESS_PROFILE } = await loadEngineRuntime();
|
|
1526
1521
|
let convergenceStreak = 0;
|
|
1527
1522
|
const CONVERGENCE_THRESHOLD = 3;
|
|
1528
1523
|
let cycle = 0;
|
|
@@ -1534,7 +1529,7 @@ async function daemonScript(opts) {
|
|
|
1534
1529
|
let wisdomEntries = [];
|
|
1535
1530
|
try {
|
|
1536
1531
|
if (fs__namespace.existsSync(wisdomFile)) {
|
|
1537
|
-
wisdomEntries =
|
|
1532
|
+
wisdomEntries = chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(wisdomFile, "utf-8"));
|
|
1538
1533
|
}
|
|
1539
1534
|
} catch {
|
|
1540
1535
|
}
|
|
@@ -1565,7 +1560,7 @@ async function daemonScript(opts) {
|
|
|
1565
1560
|
...opts,
|
|
1566
1561
|
provider: cycleProvider,
|
|
1567
1562
|
model: cycleModel};
|
|
1568
|
-
const cycleLlm = createDaemonLLMProvider(cycleOpts);
|
|
1563
|
+
const cycleLlm = await createDaemonLLMProvider(cycleOpts);
|
|
1569
1564
|
config.provider = cycleProvider;
|
|
1570
1565
|
config.model = cycleModel;
|
|
1571
1566
|
config.toolProfile = cycleToolProfile;
|
|
@@ -1581,7 +1576,7 @@ async function daemonScript(opts) {
|
|
|
1581
1576
|
[daemon] === Cycle ${cycle + 1}${opts.alwaysOn ? "" : `/${opts.cycles}`} | Focus: ${focus} ===`
|
|
1582
1577
|
);
|
|
1583
1578
|
}
|
|
1584
|
-
const cycleAST =
|
|
1579
|
+
const cycleAST = chunkE7JP3BS3_cjs.jsonClone(compositionAST);
|
|
1585
1580
|
materializeTraits(cycleAST);
|
|
1586
1581
|
const bbValues = {
|
|
1587
1582
|
focus,
|
|
@@ -1593,20 +1588,20 @@ async function daemonScript(opts) {
|
|
|
1593
1588
|
if (opts.debug) {
|
|
1594
1589
|
console.log(`[daemon] Blackboard injection: focus=${focus}, daemon_file=${filePath}`);
|
|
1595
1590
|
}
|
|
1596
|
-
const runtime
|
|
1597
|
-
profile:
|
|
1591
|
+
const runtime = createHeadlessRuntime(cycleAST, {
|
|
1592
|
+
profile: HEADLESS_PROFILE,
|
|
1598
1593
|
tickRate: 10,
|
|
1599
1594
|
debug: opts.debug,
|
|
1600
1595
|
hostCapabilities: createNodeHostCapabilities(repoRoot)
|
|
1601
1596
|
});
|
|
1602
|
-
activeRuntime = runtime
|
|
1597
|
+
activeRuntime = runtime;
|
|
1603
1598
|
for (const [name, handler] of Object.entries(actions)) {
|
|
1604
|
-
runtime
|
|
1599
|
+
runtime.registerAction(name, handler);
|
|
1605
1600
|
}
|
|
1606
1601
|
for (const [name, handler] of Object.entries(runtimeSkillActions)) {
|
|
1607
|
-
runtime
|
|
1602
|
+
runtime.registerAction(name, handler);
|
|
1608
1603
|
}
|
|
1609
|
-
daemonResult.wireTraitListeners(runtime
|
|
1604
|
+
daemonResult.wireTraitListeners(runtime);
|
|
1610
1605
|
const maxWaitMs = opts.timeout * 60 * 1e3;
|
|
1611
1606
|
const btResult = await new Promise(
|
|
1612
1607
|
(resolve2) => {
|
|
@@ -1617,7 +1612,7 @@ async function daemonScript(opts) {
|
|
|
1617
1612
|
resolve2({ status: "timeout", blackboard: {} });
|
|
1618
1613
|
}
|
|
1619
1614
|
}, maxWaitMs);
|
|
1620
|
-
runtime
|
|
1615
|
+
runtime.on("bt_complete", (payload) => {
|
|
1621
1616
|
if (!resolved) {
|
|
1622
1617
|
resolved = true;
|
|
1623
1618
|
clearTimeout(timeout);
|
|
@@ -1628,20 +1623,20 @@ async function daemonScript(opts) {
|
|
|
1628
1623
|
});
|
|
1629
1624
|
}
|
|
1630
1625
|
});
|
|
1631
|
-
runtime
|
|
1626
|
+
runtime.start();
|
|
1632
1627
|
}
|
|
1633
1628
|
);
|
|
1634
1629
|
const btStatus = btResult.status;
|
|
1635
1630
|
const btBlackboard = btResult.blackboard;
|
|
1636
1631
|
const durationSec = ((Date.now() - cycleStart) / 1e3).toFixed(1);
|
|
1637
|
-
const stats = runtime
|
|
1632
|
+
const stats = runtime.getStats();
|
|
1638
1633
|
const inputTokens = btBlackboard.inputTokens || 0;
|
|
1639
1634
|
const outputTokens = btBlackboard.outputTokens || 0;
|
|
1640
1635
|
const qualityAfter = btBlackboard.quality_after || daemonState.lastQuality;
|
|
1641
1636
|
const costUSD = inputTokens * 3 / 1e6 + outputTokens * 15 / 1e6;
|
|
1642
1637
|
const committed = btBlackboard.committed_count || 0;
|
|
1643
1638
|
const qualityDelta = qualityAfter - (config.qualityBefore || 0);
|
|
1644
|
-
runtime
|
|
1639
|
+
runtime.emit("daemon:cycle_raw_telemetry", {
|
|
1645
1640
|
focus,
|
|
1646
1641
|
ticks: stats.updateCount,
|
|
1647
1642
|
inputTokens,
|
|
@@ -1651,20 +1646,20 @@ async function daemonScript(opts) {
|
|
|
1651
1646
|
costUSD,
|
|
1652
1647
|
committed: committed > 0
|
|
1653
1648
|
});
|
|
1654
|
-
runtime
|
|
1649
|
+
runtime.emit("daemon:raw_quality", { value: qualityAfter, focus });
|
|
1655
1650
|
const totalTokens = inputTokens + outputTokens;
|
|
1656
1651
|
const costEfficiency = costUSD > 0 ? Math.min(1, qualityAfter * totalTokens / (costUSD * 5e5)) : qualityAfter;
|
|
1657
|
-
runtime
|
|
1652
|
+
runtime.emit("feedback:update_metric", { name: "cost_efficiency", value: costEfficiency });
|
|
1658
1653
|
const candidateCount = Array.isArray(btBlackboard.candidates) ? btBlackboard.candidates.length : 0;
|
|
1659
1654
|
const emergenceRatio = candidateCount > 0 ? Math.min(1, committed / candidateCount) : 0;
|
|
1660
|
-
runtime
|
|
1655
|
+
runtime.emit("feedback:update_metric", { name: "emergence_ratio", value: emergenceRatio });
|
|
1661
1656
|
const wisdomCount = btBlackboard.wisdomCount || 0;
|
|
1662
1657
|
const regenerativeHealth = Math.min(1, wisdomCount / 200);
|
|
1663
|
-
runtime
|
|
1658
|
+
runtime.emit("feedback:update_metric", {
|
|
1664
1659
|
name: "regenerative_health",
|
|
1665
1660
|
value: regenerativeHealth
|
|
1666
1661
|
});
|
|
1667
|
-
runtime
|
|
1662
|
+
runtime.stop();
|
|
1668
1663
|
activeRuntime = null;
|
|
1669
1664
|
const telemetryRecord = {
|
|
1670
1665
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -1861,7 +1856,7 @@ async function holoMeshDaemonScript(opts) {
|
|
|
1861
1856
|
}
|
|
1862
1857
|
const rawSource = fs__namespace.readFileSync(filePath, "utf-8");
|
|
1863
1858
|
const source = rawSource.replace(/^#(version|target|mode)\s+.*/gm, "");
|
|
1864
|
-
const parseResult =
|
|
1859
|
+
const parseResult = chunkT5J7ZKP3_cjs.parse(source);
|
|
1865
1860
|
if (!parseResult.success || !parseResult.ast) {
|
|
1866
1861
|
const errors = parseResult.errors?.map((e) => e.message).join(", ") || "unknown";
|
|
1867
1862
|
console.error(`[holomesh-daemon] Parse failed: ${errors}`);
|
|
@@ -1877,7 +1872,7 @@ async function holoMeshDaemonScript(opts) {
|
|
|
1877
1872
|
const lockData = { pid: process.pid, time: Date.now(), heartbeat: Date.now() };
|
|
1878
1873
|
if (fs__namespace.existsSync(lockFile)) {
|
|
1879
1874
|
try {
|
|
1880
|
-
const existing =
|
|
1875
|
+
const existing = chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(lockFile, "utf-8"));
|
|
1881
1876
|
if (Date.now() - existing.heartbeat < 12e4) {
|
|
1882
1877
|
console.error(
|
|
1883
1878
|
`[holomesh-daemon] Another daemon is running (PID ${existing.pid}). Remove ${lockFile} to force.`
|
|
@@ -1956,24 +1951,25 @@ async function holoMeshDaemonScript(opts) {
|
|
|
1956
1951
|
console.log(
|
|
1957
1952
|
`[holomesh-daemon] ${Object.keys(actions).length} action handlers registered${v2Enabled ? ` (V2 P2P enabled, DID: ${localAgentDid})` : ""}${walletEnabled ? " (V3 Wallet enabled)" : ""}`
|
|
1958
1953
|
);
|
|
1954
|
+
const { createHeadlessRuntime, HEADLESS_PROFILE } = await loadEngineRuntime();
|
|
1959
1955
|
let cycle = 0;
|
|
1960
1956
|
while (opts.alwaysOn || cycle < opts.cycles) {
|
|
1961
1957
|
console.log(
|
|
1962
1958
|
`
|
|
1963
1959
|
[holomesh-daemon] === Cycle ${cycle + 1}${opts.alwaysOn ? "" : `/${opts.cycles}`} ===`
|
|
1964
1960
|
);
|
|
1965
|
-
const cycleAST =
|
|
1961
|
+
const cycleAST = chunkE7JP3BS3_cjs.jsonClone(compositionAST);
|
|
1966
1962
|
materializeTraits(cycleAST);
|
|
1967
|
-
const runtime
|
|
1968
|
-
profile:
|
|
1963
|
+
const runtime = createHeadlessRuntime(cycleAST, {
|
|
1964
|
+
profile: HEADLESS_PROFILE,
|
|
1969
1965
|
tickRate: 1,
|
|
1970
1966
|
debug: opts.debug,
|
|
1971
1967
|
hostCapabilities: createNodeHostCapabilities(path__namespace.dirname(filePath))
|
|
1972
1968
|
});
|
|
1973
1969
|
for (const [name, handler] of Object.entries(actions)) {
|
|
1974
|
-
runtime
|
|
1970
|
+
runtime.registerAction(name, handler);
|
|
1975
1971
|
}
|
|
1976
|
-
wireTraitListeners(runtime
|
|
1972
|
+
wireTraitListeners(runtime);
|
|
1977
1973
|
const maxWaitMs = (opts.timeout ?? 5) * 60 * 1e3;
|
|
1978
1974
|
const btResult = await new Promise((resolve2) => {
|
|
1979
1975
|
let resolved = false;
|
|
@@ -1983,16 +1979,16 @@ async function holoMeshDaemonScript(opts) {
|
|
|
1983
1979
|
resolve2({ status: "timeout" });
|
|
1984
1980
|
}
|
|
1985
1981
|
}, maxWaitMs);
|
|
1986
|
-
runtime
|
|
1982
|
+
runtime.on("bt_complete", () => {
|
|
1987
1983
|
if (!resolved) {
|
|
1988
1984
|
resolved = true;
|
|
1989
1985
|
clearTimeout(timeout);
|
|
1990
1986
|
resolve2({ status: "complete" });
|
|
1991
1987
|
}
|
|
1992
1988
|
});
|
|
1993
|
-
runtime
|
|
1989
|
+
runtime.start();
|
|
1994
1990
|
});
|
|
1995
|
-
runtime
|
|
1991
|
+
runtime.stop();
|
|
1996
1992
|
console.log(`[holomesh-daemon] Cycle ${cycle + 1} ${btResult.status}`);
|
|
1997
1993
|
cycle++;
|
|
1998
1994
|
if (opts.alwaysOn || cycle < opts.cycles) {
|
|
@@ -2029,7 +2025,7 @@ async function daemonStatus(jsonOutput = false) {
|
|
|
2029
2025
|
let lastHeartbeat = 0;
|
|
2030
2026
|
if (fs__namespace.existsSync(lockFile)) {
|
|
2031
2027
|
try {
|
|
2032
|
-
const lock =
|
|
2028
|
+
const lock = chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(lockFile, "utf-8"));
|
|
2033
2029
|
lockPid = lock.pid;
|
|
2034
2030
|
lastHeartbeat = lock.heartbeat;
|
|
2035
2031
|
isRunning = Date.now() - lastHeartbeat < 12e4;
|
|
@@ -2040,7 +2036,7 @@ async function daemonStatus(jsonOutput = false) {
|
|
|
2040
2036
|
let ds = {};
|
|
2041
2037
|
if (fs__namespace.existsSync(stateFile)) {
|
|
2042
2038
|
try {
|
|
2043
|
-
ds =
|
|
2039
|
+
ds = chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(stateFile, "utf-8"));
|
|
2044
2040
|
} catch {
|
|
2045
2041
|
}
|
|
2046
2042
|
}
|
|
@@ -2051,7 +2047,7 @@ async function daemonStatus(jsonOutput = false) {
|
|
|
2051
2047
|
};
|
|
2052
2048
|
if (fs__namespace.existsSync(fileStateFile)) {
|
|
2053
2049
|
try {
|
|
2054
|
-
fileState =
|
|
2050
|
+
fileState = chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(fileStateFile, "utf-8"));
|
|
2055
2051
|
} catch {
|
|
2056
2052
|
}
|
|
2057
2053
|
}
|
|
@@ -2059,7 +2055,7 @@ async function daemonStatus(jsonOutput = false) {
|
|
|
2059
2055
|
let wisdomCount = 0;
|
|
2060
2056
|
if (fs__namespace.existsSync(wisdomFile)) {
|
|
2061
2057
|
try {
|
|
2062
|
-
wisdomCount =
|
|
2058
|
+
wisdomCount = chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(wisdomFile, "utf-8")).length;
|
|
2063
2059
|
} catch {
|
|
2064
2060
|
}
|
|
2065
2061
|
}
|
|
@@ -2067,7 +2063,7 @@ async function daemonStatus(jsonOutput = false) {
|
|
|
2067
2063
|
let ledger = [];
|
|
2068
2064
|
if (fs__namespace.existsSync(ledgerFile)) {
|
|
2069
2065
|
try {
|
|
2070
|
-
ledger =
|
|
2066
|
+
ledger = chunkE7JP3BS3_cjs.readJson(fs__namespace.readFileSync(ledgerFile, "utf-8"));
|
|
2071
2067
|
} catch {
|
|
2072
2068
|
}
|
|
2073
2069
|
}
|
|
@@ -2079,7 +2075,7 @@ async function daemonStatus(jsonOutput = false) {
|
|
|
2079
2075
|
const lines = fs__namespace.readFileSync(telemetryFile, "utf-8").split(/\r?\n/).map((line) => line.trim()).filter(Boolean);
|
|
2080
2076
|
telemetryCount = lines.length;
|
|
2081
2077
|
if (lines.length > 0) {
|
|
2082
|
-
lastTelemetry =
|
|
2078
|
+
lastTelemetry = chunkE7JP3BS3_cjs.readJson(lines[lines.length - 1]);
|
|
2083
2079
|
}
|
|
2084
2080
|
} catch {
|
|
2085
2081
|
}
|