@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
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export interface ASTNode {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export interface ParseResult {
|
|
16
|
+
success?: boolean;
|
|
16
17
|
ast: any;
|
|
17
18
|
errors: any[];
|
|
18
19
|
warnings: any[];
|
|
@@ -34,6 +35,140 @@ export interface ParsedTrait {
|
|
|
34
35
|
[key: string]: any;
|
|
35
36
|
}
|
|
36
37
|
|
|
38
|
+
export interface ReconstructionManifest {
|
|
39
|
+
version: '1.0.0';
|
|
40
|
+
worldId: string;
|
|
41
|
+
displayName: string;
|
|
42
|
+
createdAt: string;
|
|
43
|
+
frameCount: number;
|
|
44
|
+
bounds: { min: [number, number, number]; max: [number, number, number] };
|
|
45
|
+
replayHash: string;
|
|
46
|
+
simulationContract: {
|
|
47
|
+
kind: 'holomap.reconstruction.v1';
|
|
48
|
+
replayFingerprint: string;
|
|
49
|
+
holoScriptBuild: string;
|
|
50
|
+
};
|
|
51
|
+
[key: string]: unknown;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function assertHoloMapManifestContract(m: ReconstructionManifest): void;
|
|
55
|
+
|
|
56
|
+
export const DOMAIN_SIMULATION_RECEIPT_SCHEMA: 'holoscript.domain-simulation-receipt.v0.1.0';
|
|
57
|
+
export type DomainSimulationReceiptSchema = typeof DOMAIN_SIMULATION_RECEIPT_SCHEMA;
|
|
58
|
+
export type DomainSimulationReceiptHashAlgorithm = 'fnv1a32';
|
|
59
|
+
export type DomainReceiptJson =
|
|
60
|
+
| string
|
|
61
|
+
| number
|
|
62
|
+
| boolean
|
|
63
|
+
| null
|
|
64
|
+
| DomainReceiptJson[]
|
|
65
|
+
| { [key: string]: DomainReceiptJson };
|
|
66
|
+
export interface DomainSimulationReceiptAcceptance {
|
|
67
|
+
accepted: boolean;
|
|
68
|
+
violations: Array<{ criterion: string; message: string }>;
|
|
69
|
+
}
|
|
70
|
+
export interface DomainSimulationReceiptInput {
|
|
71
|
+
plugin: string;
|
|
72
|
+
pluginVersion: string;
|
|
73
|
+
runId: string;
|
|
74
|
+
createdAt?: string;
|
|
75
|
+
modelId?: string;
|
|
76
|
+
solverConfig: {
|
|
77
|
+
solverType: string;
|
|
78
|
+
scale: string;
|
|
79
|
+
[key: string]: DomainReceiptJson;
|
|
80
|
+
};
|
|
81
|
+
resultSummary: { [key: string]: DomainReceiptJson };
|
|
82
|
+
acceptance: DomainSimulationReceiptAcceptance;
|
|
83
|
+
cael?: {
|
|
84
|
+
version?: 'cael.v1';
|
|
85
|
+
event?: string;
|
|
86
|
+
solverType?: string;
|
|
87
|
+
};
|
|
88
|
+
artifacts?: Array<{
|
|
89
|
+
kind: string;
|
|
90
|
+
path?: string;
|
|
91
|
+
hash?: string;
|
|
92
|
+
}>;
|
|
93
|
+
}
|
|
94
|
+
export interface DomainSimulationReceipt {
|
|
95
|
+
schema: DomainSimulationReceiptSchema;
|
|
96
|
+
plugin: string;
|
|
97
|
+
pluginVersion: string;
|
|
98
|
+
runId: string;
|
|
99
|
+
createdAt: string;
|
|
100
|
+
modelId?: string;
|
|
101
|
+
solverConfig: {
|
|
102
|
+
solverType: string;
|
|
103
|
+
scale: string;
|
|
104
|
+
[key: string]: DomainReceiptJson;
|
|
105
|
+
};
|
|
106
|
+
resultSummary: { [key: string]: DomainReceiptJson };
|
|
107
|
+
cael: {
|
|
108
|
+
version: 'cael.v1';
|
|
109
|
+
event: string;
|
|
110
|
+
solverType: string;
|
|
111
|
+
};
|
|
112
|
+
acceptance: DomainSimulationReceiptAcceptance;
|
|
113
|
+
artifacts?: Array<{
|
|
114
|
+
kind: string;
|
|
115
|
+
path?: string;
|
|
116
|
+
hash?: string;
|
|
117
|
+
}>;
|
|
118
|
+
payloadHash: string;
|
|
119
|
+
hashAlgorithm: DomainSimulationReceiptHashAlgorithm;
|
|
120
|
+
}
|
|
121
|
+
export interface DomainSimulationReceiptVerification {
|
|
122
|
+
valid: boolean;
|
|
123
|
+
errors: string[];
|
|
124
|
+
}
|
|
125
|
+
export function buildDomainSimulationReceipt(input: DomainSimulationReceiptInput): DomainSimulationReceipt;
|
|
126
|
+
export function verifyDomainSimulationReceipt(receipt: DomainSimulationReceipt): DomainSimulationReceiptVerification;
|
|
127
|
+
export function stableDomainReceiptHash(payload: unknown): string;
|
|
128
|
+
export function canonicalizeDomainReceiptPayload(payload: unknown): string;
|
|
129
|
+
|
|
130
|
+
export const SCALE_BRIDGE_PROJECTION_SCHEMA: 'holoscript.scale-bridge.projection.v0.1.0';
|
|
131
|
+
export type ScaleBridgeProjectionSchema = typeof SCALE_BRIDGE_PROJECTION_SCHEMA;
|
|
132
|
+
export type ScaleBridgeJson =
|
|
133
|
+
| string
|
|
134
|
+
| number
|
|
135
|
+
| boolean
|
|
136
|
+
| null
|
|
137
|
+
| ScaleBridgeJson[]
|
|
138
|
+
| { [key: string]: ScaleBridgeJson };
|
|
139
|
+
export interface ScaleDescriptor {
|
|
140
|
+
id: string;
|
|
141
|
+
label?: string;
|
|
142
|
+
granularity?: string;
|
|
143
|
+
includePaths?: string[];
|
|
144
|
+
excludePaths?: string[];
|
|
145
|
+
collectionLimits?: Record<string, number>;
|
|
146
|
+
collectionStride?: Record<string, number>;
|
|
147
|
+
defaultStride?: number;
|
|
148
|
+
metadata?: { [key: string]: ScaleBridgeJson };
|
|
149
|
+
}
|
|
150
|
+
export interface ScaleBridgeProvenanceEdge {
|
|
151
|
+
type: 'scale_projection';
|
|
152
|
+
hashAlgorithm: 'sha256';
|
|
153
|
+
sourceStateHash: string;
|
|
154
|
+
projectedStateHash: string;
|
|
155
|
+
targetScaleId: string;
|
|
156
|
+
}
|
|
157
|
+
export interface ScaleBridgeProjection<TState extends ScaleBridgeJson = ScaleBridgeJson> {
|
|
158
|
+
schema: ScaleBridgeProjectionSchema;
|
|
159
|
+
targetScale: ScaleDescriptor;
|
|
160
|
+
state: TState;
|
|
161
|
+
provenance: {
|
|
162
|
+
edge: ScaleBridgeProvenanceEdge;
|
|
163
|
+
carriedReceipts: ScaleBridgeJson[];
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
export class ScaleBridge {
|
|
167
|
+
static project(sourceState: unknown, scaleDescriptor: ScaleDescriptor): ScaleBridgeProjection;
|
|
168
|
+
static hashState(state: unknown): string;
|
|
169
|
+
}
|
|
170
|
+
export function canonicalizeScaleBridgeJson(value: unknown): string;
|
|
171
|
+
|
|
37
172
|
// ============================================================================
|
|
38
173
|
// PARSERS
|
|
39
174
|
// ============================================================================
|
|
@@ -44,6 +179,57 @@ export class HoloScriptPlusParser {
|
|
|
44
179
|
parseStatement(source: string): any;
|
|
45
180
|
}
|
|
46
181
|
|
|
182
|
+
export interface ParseCacheStats {
|
|
183
|
+
size: number;
|
|
184
|
+
evictions: number;
|
|
185
|
+
maxEntries: number;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export interface ParseCache {
|
|
189
|
+
get(id: string, currentHash: string): any | null;
|
|
190
|
+
set(id: string, hash: string, node: any): void;
|
|
191
|
+
clear(): void;
|
|
192
|
+
getStats(): ParseCacheStats;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export const globalParseCache: ParseCache;
|
|
196
|
+
|
|
197
|
+
export interface IncrementalParseResult {
|
|
198
|
+
ast: any;
|
|
199
|
+
cached: number;
|
|
200
|
+
parsed: number;
|
|
201
|
+
duration: number;
|
|
202
|
+
changedChunks: string[];
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
export class ChunkBasedIncrementalParser {
|
|
206
|
+
constructor(cache?: ParseCache);
|
|
207
|
+
parse(source: string): IncrementalParseResult;
|
|
208
|
+
clearCache(): void;
|
|
209
|
+
getCacheStats(): ParseCacheStats;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export class HSPlusRuntime {
|
|
213
|
+
constructor(options?: any);
|
|
214
|
+
mount(container: any): void;
|
|
215
|
+
unmount(): void;
|
|
216
|
+
update(delta: number): void;
|
|
217
|
+
setState(updates: Record<string, any>): void;
|
|
218
|
+
getState(): Record<string, any>;
|
|
219
|
+
on(event: string, handler: (payload: any) => void): () => void;
|
|
220
|
+
emit(event: string, payload?: any): void;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export class World {
|
|
224
|
+
constructor();
|
|
225
|
+
createEntity(): string;
|
|
226
|
+
removeEntity(id: string): void;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
export class ComponentRegistry {
|
|
230
|
+
static register(name: string, component: any): void;
|
|
231
|
+
}
|
|
232
|
+
|
|
47
233
|
export class HoloCompositionParser {
|
|
48
234
|
parse(source: string): any;
|
|
49
235
|
}
|
|
@@ -59,6 +245,8 @@ export function parse(source: string, options?: any): ParseResult;
|
|
|
59
245
|
export function parseHolo(source: string, options?: any): any;
|
|
60
246
|
export function parseHoloStrict(source: string): any;
|
|
61
247
|
export function parseHoloScriptPlus(source: string, options?: any): ParseResult;
|
|
248
|
+
export const holoFactory: any;
|
|
249
|
+
export function generateHoloSource(ast: any): string;
|
|
62
250
|
|
|
63
251
|
// ============================================================================
|
|
64
252
|
// COMPOSITION TYPES (from .holo files)
|
|
@@ -114,6 +302,8 @@ export interface HoloObjectTrait extends ASTNode {
|
|
|
114
302
|
type: 'Trait';
|
|
115
303
|
name: string;
|
|
116
304
|
config?: any;
|
|
305
|
+
args?: any[];
|
|
306
|
+
platformConstraint?: PlatformConstraint;
|
|
117
307
|
}
|
|
118
308
|
|
|
119
309
|
export interface HoloSpatialGroup extends ASTNode {
|
|
@@ -140,6 +330,10 @@ export interface HoloAction extends ASTNode {
|
|
|
140
330
|
[key: string]: any;
|
|
141
331
|
}
|
|
142
332
|
|
|
333
|
+
export interface HoloStatement extends ASTNode {
|
|
334
|
+
[key: string]: any;
|
|
335
|
+
}
|
|
336
|
+
|
|
143
337
|
export interface HoloParseResult {
|
|
144
338
|
success: boolean;
|
|
145
339
|
ast?: HoloComposition;
|
|
@@ -414,12 +608,14 @@ export class AdvancedCompression {
|
|
|
414
608
|
}
|
|
415
609
|
|
|
416
610
|
export interface INeuralSplatPacket {
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
611
|
+
frameId: number;
|
|
612
|
+
cameraState: {
|
|
613
|
+
viewProjectionMatrix: number[];
|
|
614
|
+
cameraPosition: number[];
|
|
615
|
+
};
|
|
616
|
+
splatCount: number;
|
|
617
|
+
compressedSplatsBuffer: ArrayBuffer;
|
|
618
|
+
sortedIndicesBuffer: ArrayBuffer;
|
|
423
619
|
}
|
|
424
620
|
|
|
425
621
|
// ============================================================================
|
|
@@ -534,8 +730,10 @@ export function compileForIsaacSim(composition: HoloComposition, options?: Parti
|
|
|
534
730
|
// ============================================================================
|
|
535
731
|
|
|
536
732
|
export class ExpressionEvaluator {
|
|
733
|
+
constructor(context?: Record<string, unknown>, builtins?: Record<string, unknown>);
|
|
537
734
|
evaluate(expression: string, context?: any): any;
|
|
538
735
|
extractVariables(expression: string): string[];
|
|
736
|
+
updateContext(updates: Record<string, unknown>): void;
|
|
539
737
|
}
|
|
540
738
|
|
|
541
739
|
export class EventBus {
|
|
@@ -648,9 +846,11 @@ export interface HoloTemplate {
|
|
|
648
846
|
[key: string]: any;
|
|
649
847
|
}
|
|
650
848
|
export interface HSPlusForDirective {
|
|
651
|
-
|
|
849
|
+
type: 'for';
|
|
652
850
|
variable: string;
|
|
653
|
-
|
|
851
|
+
range?: [number, number];
|
|
852
|
+
iterable?: string;
|
|
853
|
+
body: unknown[];
|
|
654
854
|
}
|
|
655
855
|
export interface RaycastHit {
|
|
656
856
|
point: Vector3;
|
|
@@ -661,7 +861,27 @@ export interface RaycastHit {
|
|
|
661
861
|
}
|
|
662
862
|
|
|
663
863
|
export class HoloScriptRuntime {
|
|
864
|
+
constructor(importLoader?: any, customFunctions?: any);
|
|
664
865
|
execute(ast: any, context?: any): Promise<any>;
|
|
866
|
+
executeProgram(nodes: any[], depth?: number): Promise<any[]>;
|
|
867
|
+
executeHoloProgram(statements: any[], scopeOverride?: any): Promise<any[]>;
|
|
868
|
+
getContext(): any;
|
|
869
|
+
reset(): void;
|
|
870
|
+
startVisualizationServer(port?: number): void;
|
|
871
|
+
broadcast(type: string, payload: unknown): void;
|
|
872
|
+
on(event: string, handler: (...args: any[]) => any): void;
|
|
873
|
+
off(event: string, handler?: (...args: any[]) => any): void;
|
|
874
|
+
emit(event: string, data?: unknown): Promise<void>;
|
|
875
|
+
setVariable(name: string, value: any, scopeOverride?: any): void;
|
|
876
|
+
getVariable(name: string, scopeOverride?: any): any;
|
|
877
|
+
callFunction(name: string, args?: any[]): Promise<any>;
|
|
878
|
+
registerFunction(name: string, handler: (...args: any[]) => any): void;
|
|
879
|
+
registerTrait(name: string, handler: any): void;
|
|
880
|
+
getState(): Record<string, any>;
|
|
881
|
+
getRootScope(): any;
|
|
882
|
+
getExecutionHistory(): any[];
|
|
883
|
+
getCallStack(): string[];
|
|
884
|
+
[key: string]: any;
|
|
665
885
|
}
|
|
666
886
|
|
|
667
887
|
export interface RuntimeOptions {
|
|
@@ -684,6 +904,10 @@ export interface ExecutionResult {
|
|
|
684
904
|
error?: string;
|
|
685
905
|
duration?: number;
|
|
686
906
|
memoryUsed?: number;
|
|
907
|
+
executionTime?: number;
|
|
908
|
+
hologram?: { shape?: string; color?: string; [key: string]: any };
|
|
909
|
+
spatialPosition?: { x: number; y: number; z: number; [key: string]: any };
|
|
910
|
+
output?: any;
|
|
687
911
|
}
|
|
688
912
|
|
|
689
913
|
export interface SpatialPosition {
|
|
@@ -801,6 +1025,11 @@ export interface SafetyReport {
|
|
|
801
1025
|
}
|
|
802
1026
|
|
|
803
1027
|
export type SafetyVerdict = 'safe' | 'warnings' | 'unsafe' | 'unchecked';
|
|
1028
|
+
export type VREffect = string;
|
|
1029
|
+
export type EffectCategory = string;
|
|
1030
|
+
export type EffectViolationSeverity = 'error' | 'warning' | 'info';
|
|
1031
|
+
export interface EffectViolation { effect: VREffect; severity: EffectViolationSeverity; [key: string]: any; }
|
|
1032
|
+
export interface EffectDeclaration { effects: VREffect[]; [key: string]: any; }
|
|
804
1033
|
|
|
805
1034
|
// ============================================================================
|
|
806
1035
|
// PLATFORM TYPES
|
|
@@ -869,18 +1098,26 @@ export class SemanticSearchService<T = any> {
|
|
|
869
1098
|
// VR TRAIT SYSTEM TYPES
|
|
870
1099
|
// ============================================================================
|
|
871
1100
|
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
1101
|
+
// Vector3 is a tuple in source (packages/core/src/types/HoloScriptPlus.ts:10).
|
|
1102
|
+
// Emitting as {x,y,z} interface here in 2026-04-22..04-25 produced hundreds
|
|
1103
|
+
// of engine-package TS errors like "Type 'number[]' is missing properties
|
|
1104
|
+
// x,y,z from Vector3" because consumer code correctly uses tuple-form
|
|
1105
|
+
// (engine/src/animation/IKSolver.ts:139, etc). Restoring tuple form here
|
|
1106
|
+
// lets pre-flight pass; for {x,y,z} object shape use three.Vector3 directly.
|
|
1107
|
+
export type Vector3 = [number, number, number];
|
|
877
1108
|
|
|
878
1109
|
export interface VRHand {
|
|
1110
|
+
id: string;
|
|
879
1111
|
position: Vector3;
|
|
880
|
-
rotation:
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
1112
|
+
rotation: Quaternion;
|
|
1113
|
+
velocity: Vector3;
|
|
1114
|
+
joints?: Map<string, { position: Vector3; rotation: Vector3 }>;
|
|
1115
|
+
pinch?: number;
|
|
1116
|
+
pinchStrength?: number;
|
|
1117
|
+
grip: number;
|
|
1118
|
+
gripStrength?: number;
|
|
1119
|
+
trigger: number;
|
|
1120
|
+
pointing?: boolean;
|
|
884
1121
|
}
|
|
885
1122
|
|
|
886
1123
|
export interface VRContext {
|
|
@@ -895,8 +1132,8 @@ export interface PhysicsContext {
|
|
|
895
1132
|
applyAngularVelocity(node: HSPlusNode, angularVelocity: Vector3): void;
|
|
896
1133
|
setKinematic(node: HSPlusNode, kinematic: boolean): void;
|
|
897
1134
|
raycast(origin: Vector3, direction: Vector3, maxDistance: number): RaycastHit | null;
|
|
898
|
-
getBodyPosition(nodeId: string):
|
|
899
|
-
getBodyVelocity(nodeId: string):
|
|
1135
|
+
getBodyPosition(nodeId: string): Vector3 | null;
|
|
1136
|
+
getBodyVelocity(nodeId: string): Vector3 | null;
|
|
900
1137
|
}
|
|
901
1138
|
|
|
902
1139
|
export interface AudioContext {
|
|
@@ -919,12 +1156,32 @@ export interface AccessibilityContext {
|
|
|
919
1156
|
setHighContrast(enabled: boolean): void;
|
|
920
1157
|
}
|
|
921
1158
|
|
|
1159
|
+
export type ARTrackingState = 'not_available' | 'limited' | 'normal' | 'lost';
|
|
1160
|
+
|
|
1161
|
+
export interface ARSessionPose {
|
|
1162
|
+
anchorId?: string;
|
|
1163
|
+
target?: string;
|
|
1164
|
+
position: Vector3;
|
|
1165
|
+
rotation?: Vector3;
|
|
1166
|
+
confidence?: number;
|
|
1167
|
+
timestampMs?: number;
|
|
1168
|
+
trackingState?: ARTrackingState;
|
|
1169
|
+
source?: string;
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
export interface ARSessionContext {
|
|
1173
|
+
readonly available: boolean;
|
|
1174
|
+
getPose(nodeId?: string): ARSessionPose | null;
|
|
1175
|
+
getAnchor?(anchorId: string): ARSessionPose | null;
|
|
1176
|
+
}
|
|
1177
|
+
|
|
922
1178
|
export interface TraitContext {
|
|
923
1179
|
vr: VRContext;
|
|
924
1180
|
physics: PhysicsContext;
|
|
925
1181
|
audio: AudioContext;
|
|
926
1182
|
haptics: HapticsContext;
|
|
927
1183
|
accessibility?: AccessibilityContext;
|
|
1184
|
+
arSession?: ARSessionContext;
|
|
928
1185
|
emit(event: string, payload?: unknown): void;
|
|
929
1186
|
getState(): Record<string, unknown>;
|
|
930
1187
|
setState(updates: Record<string, unknown>): void;
|
|
@@ -966,6 +1223,8 @@ export class ProceduralSkill {
|
|
|
966
1223
|
export type VRTraitName = string;
|
|
967
1224
|
|
|
968
1225
|
export class VRTraitRegistry {
|
|
1226
|
+
register(handler: TraitHandler): void;
|
|
1227
|
+
getHandler(name: VRTraitName): TraitHandler | undefined;
|
|
969
1228
|
attachTrait(node: HSPlusNode, traitName: VRTraitName, config: unknown, context: TraitContext): void;
|
|
970
1229
|
detachTrait(node: HSPlusNode, traitName: VRTraitName, context: TraitContext): void;
|
|
971
1230
|
updateAllTraits(node: HSPlusNode, context: TraitContext, delta: number): void;
|
|
@@ -1494,11 +1753,11 @@ export declare class AIDriverTrait {
|
|
|
1494
1753
|
// CROSS-PLATFORM COMPILERS (re-exported from compiler subpaths)
|
|
1495
1754
|
// ============================================================================
|
|
1496
1755
|
|
|
1497
|
-
export class UnityCompiler { compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1498
|
-
export class GodotCompiler { compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1499
|
-
export class VisionOSCompiler { compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1500
|
-
export class VRChatCompiler { compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1501
|
-
export class UnrealCompiler { compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1756
|
+
export class UnityCompiler { constructor(options?: any); compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1757
|
+
export class GodotCompiler { constructor(options?: any); compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1758
|
+
export class VisionOSCompiler { constructor(options?: any); compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1759
|
+
export class VRChatCompiler { constructor(options?: any); compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1760
|
+
export class UnrealCompiler { constructor(options?: any); compile(ast: any, options?: any): any; [key: string]: any; }
|
|
1502
1761
|
|
|
1503
1762
|
// ============================================================================
|
|
1504
1763
|
// REACTIVE STATE SYSTEM
|
|
@@ -1628,6 +1887,35 @@ export interface CulturalNorm {
|
|
|
1628
1887
|
export type NormCategory = string;
|
|
1629
1888
|
export type NormEnforcement = 'hard' | 'soft' | 'advisory';
|
|
1630
1889
|
export type NormScope = 'agent' | 'zone' | 'world' | 'session';
|
|
1890
|
+
export type NormProvenanceSource =
|
|
1891
|
+
| 'agent'
|
|
1892
|
+
| 'corpus'
|
|
1893
|
+
| 'declaration_site'
|
|
1894
|
+
| 'builtin'
|
|
1895
|
+
| 'observation'
|
|
1896
|
+
| 'unknown';
|
|
1897
|
+
export interface NormProvenance {
|
|
1898
|
+
source: NormProvenanceSource;
|
|
1899
|
+
sourceAgentId?: string;
|
|
1900
|
+
sourceCorpus?: string;
|
|
1901
|
+
declarationSite?: {
|
|
1902
|
+
file: string;
|
|
1903
|
+
line?: number;
|
|
1904
|
+
column?: number;
|
|
1905
|
+
};
|
|
1906
|
+
originInteractionId?: string;
|
|
1907
|
+
confidenceClassification?: 'genuine' | 'confabulated' | 'bullshitted';
|
|
1908
|
+
recordedAtIso?: string;
|
|
1909
|
+
}
|
|
1910
|
+
export declare const UNKNOWN_NORM_PROVENANCE: Readonly<NormProvenance>;
|
|
1911
|
+
export declare const BUILTIN_NORM_PROVENANCE: Readonly<NormProvenance>;
|
|
1912
|
+
export declare function normalizeNormProvenance(
|
|
1913
|
+
value: Partial<NormProvenance> | undefined | null
|
|
1914
|
+
): NormProvenance;
|
|
1915
|
+
export declare function serializeNormProvenance(
|
|
1916
|
+
value: NormProvenance | undefined | null
|
|
1917
|
+
): Record<string, unknown>;
|
|
1918
|
+
export declare function deserializeNormProvenance(value: unknown): NormProvenance;
|
|
1631
1919
|
|
|
1632
1920
|
// ============================================================================
|
|
1633
1921
|
// MARKETPLACE
|
|
@@ -2066,12 +2354,14 @@ export interface CompilerOptions { target?: string; optimize?: boolean; [key: st
|
|
|
2066
2354
|
export interface CompilerDiagnostic { severity: 'error' | 'warning' | 'info'; message: string; line?: number; column?: number; [key: string]: any; }
|
|
2067
2355
|
export interface IncrementalBuildResult { success: boolean; diagnostics: CompilerDiagnostic[]; artifacts: any[]; [key: string]: any; }
|
|
2068
2356
|
export declare class IncrementalCompiler {
|
|
2357
|
+
static deserialize(json: string): IncrementalCompiler;
|
|
2069
2358
|
constructor(config?: any);
|
|
2070
2359
|
addSource(id: string, source: string): void;
|
|
2071
|
-
compile(
|
|
2360
|
+
compile(ast: HoloComposition, compileObject: (obj: any) => string, options?: any): Promise<any>;
|
|
2072
2361
|
invalidate(id: string): void;
|
|
2073
2362
|
[key: string]: any;
|
|
2074
2363
|
}
|
|
2364
|
+
export declare function createIncrementalCompiler(config?: any): IncrementalCompiler;
|
|
2075
2365
|
|
|
2076
2366
|
// ============================================================================
|
|
2077
2367
|
// ECS INSPECTOR TYPES
|
|
@@ -2676,6 +2966,62 @@ export declare function parseHostFromUrl(url: string): string | null;
|
|
|
2676
2966
|
export declare function truncateText(value: any, max: number): string;
|
|
2677
2967
|
export declare function toStringArray(value: any): string[];
|
|
2678
2968
|
|
|
2969
|
+
export interface StdlibPermissionScopeGrant {
|
|
2970
|
+
scope: string;
|
|
2971
|
+
purpose?: string;
|
|
2972
|
+
required?: boolean;
|
|
2973
|
+
riskLevel?: string;
|
|
2974
|
+
providerLabel?: string;
|
|
2975
|
+
}
|
|
2976
|
+
|
|
2977
|
+
export interface StdlibPermissionScopePolicyEvaluation {
|
|
2978
|
+
scope: string;
|
|
2979
|
+
normalizedScope: string;
|
|
2980
|
+
allowed: boolean;
|
|
2981
|
+
reason?: string;
|
|
2982
|
+
}
|
|
2983
|
+
|
|
2984
|
+
export interface StdlibPermissionScopeDiffInput {
|
|
2985
|
+
requestedScopes: StdlibPermissionScopeGrant[];
|
|
2986
|
+
minimumRequiredScopes: StdlibPermissionScopeGrant[];
|
|
2987
|
+
grantedScopes?: StdlibPermissionScopeGrant[];
|
|
2988
|
+
neverScopes?: string[];
|
|
2989
|
+
}
|
|
2990
|
+
|
|
2991
|
+
export interface StdlibPermissionScopeDiffResult {
|
|
2992
|
+
requestedScopes: string[];
|
|
2993
|
+
minimumRequiredScopes: string[];
|
|
2994
|
+
grantedScopes: string[];
|
|
2995
|
+
invalidRequestedScopes: string[];
|
|
2996
|
+
invalidMinimumRequiredScopes: string[];
|
|
2997
|
+
invalidGrantedScopes: string[];
|
|
2998
|
+
invalidNeverScopes: string[];
|
|
2999
|
+
missingRequestedRequiredScopes: string[];
|
|
3000
|
+
missingGrantedRequiredScopes: string[];
|
|
3001
|
+
extraGrantedScopes: string[];
|
|
3002
|
+
forbiddenRequestedScopes: StdlibPermissionScopePolicyEvaluation[];
|
|
3003
|
+
forbiddenGrantedScopes: StdlibPermissionScopePolicyEvaluation[];
|
|
3004
|
+
minimumScopeSatisfied: boolean;
|
|
3005
|
+
excessScopesAbsent: boolean;
|
|
3006
|
+
policyInputValid: boolean;
|
|
3007
|
+
}
|
|
3008
|
+
|
|
3009
|
+
export interface StdlibPermissionPreviewRedactionResult {
|
|
3010
|
+
preview: string;
|
|
3011
|
+
redacted: boolean;
|
|
3012
|
+
absolutePathRedacted: boolean;
|
|
3013
|
+
credentialMaterialRedacted: boolean;
|
|
3014
|
+
}
|
|
3015
|
+
|
|
3016
|
+
export declare function normalizePermissionScopeName(scope: string): string;
|
|
3017
|
+
export declare function isValidPermissionScopeName(scope: string | undefined): scope is string;
|
|
3018
|
+
export declare function evaluateStdlibPermissionScopePolicy(scope: string, neverScopes?: string[]): StdlibPermissionScopePolicyEvaluation;
|
|
3019
|
+
export declare function findMissingRequiredPermissionScopes(requiredScopes: StdlibPermissionScopeGrant[], candidateScopes: StdlibPermissionScopeGrant[]): string[];
|
|
3020
|
+
export declare function findExtraPermissionScopes(grantedScopes: StdlibPermissionScopeGrant[], minimumRequiredScopes: StdlibPermissionScopeGrant[]): string[];
|
|
3021
|
+
export declare function buildStdlibPermissionScopeDiff(input: StdlibPermissionScopeDiffInput): StdlibPermissionScopeDiffResult;
|
|
3022
|
+
export declare function redactStdlibPermissionPreview(value: string | undefined): StdlibPermissionPreviewRedactionResult;
|
|
3023
|
+
export declare function stdlibPermissionPreviewHasPublicLeak(value: string | undefined): boolean;
|
|
3024
|
+
|
|
2679
3025
|
// ============================================================================
|
|
2680
3026
|
// HOLOGRAM MEDIA PIPELINE (2D-to-3D)
|
|
2681
3027
|
// ============================================================================
|
|
@@ -2878,20 +3224,20 @@ export declare function calculateRevenueDistribution(priceWei: string|bigint, au
|
|
|
2878
3224
|
export declare function formatRevenueDistribution(dist: any): any;
|
|
2879
3225
|
export declare function ethToWei(eth: string): string;
|
|
2880
3226
|
export declare const PROTOCOL_CONSTANTS: any;
|
|
2881
|
-
export class URDFCompiler { [key: string]: any; }
|
|
2882
|
-
export class SDFCompiler { [key: string]: any; }
|
|
2883
|
-
export class OpenXRCompiler { [key: string]: any; }
|
|
2884
|
-
export class AndroidCompiler { [key: string]: any; }
|
|
2885
|
-
export class AndroidXRCompiler { [key: string]: any; }
|
|
2886
|
-
export class IOSCompiler { [key: string]: any; }
|
|
2887
|
-
export class ARCompiler { [key: string]: any; }
|
|
2888
|
-
export class BabylonCompiler { [key: string]: any; }
|
|
2889
|
-
export class WebGPUCompiler { [key: string]: any; }
|
|
2890
|
-
export class WASMCompiler { [key: string]: any; }
|
|
2891
|
-
export class PlayCanvasCompiler { [key: string]: any; }
|
|
2892
|
-
export class DTDLCompiler { [key: string]: any; }
|
|
2893
|
-
export class VRRCompiler { [key: string]: any; }
|
|
2894
|
-
export class MultiLayerCompiler { [key: string]: any; }
|
|
3227
|
+
export class URDFCompiler { constructor(options?: any); [key: string]: any; }
|
|
3228
|
+
export class SDFCompiler { constructor(options?: any); [key: string]: any; }
|
|
3229
|
+
export class OpenXRCompiler { constructor(options?: any); [key: string]: any; }
|
|
3230
|
+
export class AndroidCompiler { constructor(options?: any); [key: string]: any; }
|
|
3231
|
+
export class AndroidXRCompiler { constructor(options?: any); [key: string]: any; }
|
|
3232
|
+
export class IOSCompiler { constructor(options?: any); [key: string]: any; }
|
|
3233
|
+
export class ARCompiler { constructor(options?: any); [key: string]: any; }
|
|
3234
|
+
export class BabylonCompiler { constructor(options?: any); [key: string]: any; }
|
|
3235
|
+
export class WebGPUCompiler { constructor(options?: any); [key: string]: any; }
|
|
3236
|
+
export class WASMCompiler { constructor(options?: any); [key: string]: any; }
|
|
3237
|
+
export class PlayCanvasCompiler { constructor(options?: any); [key: string]: any; }
|
|
3238
|
+
export class DTDLCompiler { constructor(options?: any); [key: string]: any; }
|
|
3239
|
+
export class VRRCompiler { constructor(options?: any); [key: string]: any; }
|
|
3240
|
+
export class MultiLayerCompiler { constructor(options?: any); [key: string]: any; }
|
|
2895
3241
|
|
|
2896
3242
|
export declare const VR_TRAITS: any;
|
|
2897
3243
|
export declare const BUILTIN_CONSTRAINTS: any;
|
|
@@ -2899,7 +3245,7 @@ export class CircuitBreakerRegistry { [key: string]: any; }
|
|
|
2899
3245
|
export class CircuitState { [key: string]: any; }
|
|
2900
3246
|
export class ExportManager { [key: string]: any; }
|
|
2901
3247
|
export declare function getExportManager(options?: Partial<ExportOptions>): any;
|
|
2902
|
-
export
|
|
3248
|
+
export type ExportTarget = 'urdf' | 'sdf' | 'unity' | 'unreal' | 'godot' | 'vrchat' | 'openxr' | 'android' | 'android-xr' | 'ios' | 'visionos' | 'ar' | 'babylon' | 'webgpu' | 'r3f' | 'wasm' | 'playcanvas' | 'usd' | 'usdz' | 'dtdl' | 'vrr' | 'multi-layer' | 'incremental' | 'state' | 'trait-composition' | 'tsl' | 'a2a-agent-card' | 'nir' | 'openxr-spatial-entities' | 'phone-sleeve-vr' | 'native-2d' | 'context' | '3dgs';
|
|
2903
3249
|
export class ExportOptions { [key: string]: any; }
|
|
2904
3250
|
export declare function selectModality(platform: any, options?: any): any;
|
|
2905
3251
|
export declare function selectModalityForAll(options?: any): Map<any, any>;
|
|
@@ -2927,3 +3273,1094 @@ export type HoloDomainType = string;
|
|
|
2927
3273
|
export class TraitConstraint { [key: string]: any; }
|
|
2928
3274
|
export interface ISignalingBridge { [key: string]: any; }
|
|
2929
3275
|
export interface NeuralSignalPayload { [key: string]: any; }
|
|
3276
|
+
|
|
3277
|
+
// ============================================================================
|
|
3278
|
+
// Visual logic graph (Studio bridge + PlayMode preview path)
|
|
3279
|
+
// ============================================================================
|
|
3280
|
+
export type PortType = 'number' | 'string' | 'boolean' | 'vec3' | 'any' | 'event';
|
|
3281
|
+
export interface PortDefinition {
|
|
3282
|
+
name: string;
|
|
3283
|
+
type: PortType;
|
|
3284
|
+
defaultValue?: unknown;
|
|
3285
|
+
}
|
|
3286
|
+
export interface LogicNode {
|
|
3287
|
+
id: string;
|
|
3288
|
+
type: string;
|
|
3289
|
+
inputs: PortDefinition[];
|
|
3290
|
+
outputs: PortDefinition[];
|
|
3291
|
+
position: { x: number; y: number };
|
|
3292
|
+
data: Record<string, unknown>;
|
|
3293
|
+
}
|
|
3294
|
+
export interface LogicConnection {
|
|
3295
|
+
id: string;
|
|
3296
|
+
fromNode: string;
|
|
3297
|
+
fromPort: string;
|
|
3298
|
+
toNode: string;
|
|
3299
|
+
toPort: string;
|
|
3300
|
+
}
|
|
3301
|
+
export interface EvaluationContext {
|
|
3302
|
+
state: Record<string, unknown>;
|
|
3303
|
+
deltaTime: number;
|
|
3304
|
+
events: Map<string, unknown[]>;
|
|
3305
|
+
emittedEvents: Map<string, unknown[]>;
|
|
3306
|
+
}
|
|
3307
|
+
export declare class NodeGraph {
|
|
3308
|
+
readonly id: string;
|
|
3309
|
+
constructor(id?: string);
|
|
3310
|
+
addNode(
|
|
3311
|
+
type: string,
|
|
3312
|
+
position?: { x: number; y: number },
|
|
3313
|
+
data?: Record<string, unknown>
|
|
3314
|
+
): LogicNode;
|
|
3315
|
+
connect(
|
|
3316
|
+
fromNode: string,
|
|
3317
|
+
fromPort: string,
|
|
3318
|
+
toNode: string,
|
|
3319
|
+
toPort: string
|
|
3320
|
+
): LogicConnection | null;
|
|
3321
|
+
getNode(nodeId: string): LogicNode | undefined;
|
|
3322
|
+
getNodes(): LogicNode[];
|
|
3323
|
+
getConnections(): LogicConnection[];
|
|
3324
|
+
topologicalSort(): string[];
|
|
3325
|
+
evaluate(context: EvaluationContext): Map<string, Record<string, unknown>>;
|
|
3326
|
+
}
|
|
3327
|
+
export interface NodeGraphExecutionResult {
|
|
3328
|
+
nodeOrder: string[];
|
|
3329
|
+
outputs: Map<string, Record<string, unknown>>;
|
|
3330
|
+
state: Record<string, unknown>;
|
|
3331
|
+
emittedEvents: Map<string, unknown[]>;
|
|
3332
|
+
}
|
|
3333
|
+
export interface NodeGraphPanelConfig {
|
|
3334
|
+
position: [number, number, number];
|
|
3335
|
+
nodeWidth: number;
|
|
3336
|
+
nodeHeight: number;
|
|
3337
|
+
gridSpacing: number;
|
|
3338
|
+
}
|
|
3339
|
+
export interface UIEntity {
|
|
3340
|
+
id: string;
|
|
3341
|
+
type: 'panel' | 'label' | 'port' | 'connection_line';
|
|
3342
|
+
position: [number, number, number];
|
|
3343
|
+
size?: { width: number; height: number };
|
|
3344
|
+
text?: string;
|
|
3345
|
+
color?: string;
|
|
3346
|
+
data?: Record<string, unknown>;
|
|
3347
|
+
}
|
|
3348
|
+
export declare class NodeGraphPanel {
|
|
3349
|
+
constructor(graph: NodeGraph, config?: Partial<NodeGraphPanelConfig>);
|
|
3350
|
+
generateUI(): UIEntity[];
|
|
3351
|
+
selectNode(nodeId: string | null): void;
|
|
3352
|
+
getSelectedNode(): string | null;
|
|
3353
|
+
executeGraph(contextOverrides?: Partial<EvaluationContext>): NodeGraphExecutionResult;
|
|
3354
|
+
}
|
|
3355
|
+
export declare function emitPreviewHoloScriptFromNodeGraphExecution(
|
|
3356
|
+
execution: NodeGraphExecutionResult,
|
|
3357
|
+
graph: NodeGraph
|
|
3358
|
+
): string;
|
|
3359
|
+
|
|
3360
|
+
// ============================================================================
|
|
3361
|
+
// Agent Extension Types — mirrored from src/extensions/AgentExtensionTypes.ts.
|
|
3362
|
+
// Added 2026-04-25 to unblock packages/framework imports of these types.
|
|
3363
|
+
// Update both this block AND src/extensions/AgentExtensionTypes.ts if shape
|
|
3364
|
+
// changes; CLAUDE.md flags dist/index.d.ts as hand-crafted (not tsc).
|
|
3365
|
+
// ============================================================================
|
|
3366
|
+
|
|
3367
|
+
export interface IHiveContribution {
|
|
3368
|
+
id: string;
|
|
3369
|
+
agentId: string;
|
|
3370
|
+
timestamp: number;
|
|
3371
|
+
type: 'idea' | 'critique' | 'consensus' | 'solution';
|
|
3372
|
+
content: string;
|
|
3373
|
+
confidence: number;
|
|
3374
|
+
}
|
|
3375
|
+
|
|
3376
|
+
export interface IHiveSession {
|
|
3377
|
+
id: string;
|
|
3378
|
+
topic: string;
|
|
3379
|
+
goal: string;
|
|
3380
|
+
initiator: string;
|
|
3381
|
+
status: 'active' | 'resolved' | 'closed';
|
|
3382
|
+
participants: string[];
|
|
3383
|
+
contributions: IHiveContribution[];
|
|
3384
|
+
resolution?: unknown;
|
|
3385
|
+
}
|
|
3386
|
+
|
|
3387
|
+
export interface ICollectiveIntelligenceService {
|
|
3388
|
+
createSession(topic: string, goal: string, initiator: string): IHiveSession | Promise<string>;
|
|
3389
|
+
join(sessionId: string, agentId: string): void | Promise<void>;
|
|
3390
|
+
leave(sessionId: string, agentId: string): void | Promise<void>;
|
|
3391
|
+
contribute(
|
|
3392
|
+
sessionId: string,
|
|
3393
|
+
contribution: Omit<IHiveContribution, 'id' | 'timestamp'>
|
|
3394
|
+
): IHiveContribution | Promise<void>;
|
|
3395
|
+
vote(
|
|
3396
|
+
sessionId: string,
|
|
3397
|
+
contributionId: string,
|
|
3398
|
+
voterId: string,
|
|
3399
|
+
vote: 'support' | 'oppose'
|
|
3400
|
+
): void | Promise<void>;
|
|
3401
|
+
synthesize(sessionId: string): unknown;
|
|
3402
|
+
resolve(sessionId: string, resolution: string | unknown): void | Promise<void>;
|
|
3403
|
+
}
|
|
3404
|
+
|
|
3405
|
+
export interface ISwarmConfig {
|
|
3406
|
+
algorithm: 'pso' | 'aco' | 'bees' | 'hybrid';
|
|
3407
|
+
populationSize: number;
|
|
3408
|
+
maxIterations: number;
|
|
3409
|
+
convergenceThreshold: number;
|
|
3410
|
+
adaptiveSizing?: boolean;
|
|
3411
|
+
}
|
|
3412
|
+
|
|
3413
|
+
export interface ISwarmResult {
|
|
3414
|
+
bestSolution: number[];
|
|
3415
|
+
bestFitness: number;
|
|
3416
|
+
converged: boolean;
|
|
3417
|
+
iterations: number;
|
|
3418
|
+
improvementPercent: number;
|
|
3419
|
+
}
|
|
3420
|
+
|
|
3421
|
+
export interface ISwarmCoordinator {
|
|
3422
|
+
optimize(
|
|
3423
|
+
agents: { id: string; capacity: number; load: number }[],
|
|
3424
|
+
tasks: { id: string; complexity: number; priority: number }[],
|
|
3425
|
+
config?: Partial<ISwarmConfig>
|
|
3426
|
+
): Promise<ISwarmResult>;
|
|
3427
|
+
getRecommendedPopulation(problemSize: number): number;
|
|
3428
|
+
}
|
|
3429
|
+
|
|
3430
|
+
export interface ILeaderElection {
|
|
3431
|
+
startElection(): Promise<string>;
|
|
3432
|
+
getLeader(): string | null;
|
|
3433
|
+
getRole(): 'leader' | 'follower' | 'candidate';
|
|
3434
|
+
onLeaderChange(callback: (leaderId: string | null) => void): () => void;
|
|
3435
|
+
}
|
|
3436
|
+
|
|
3437
|
+
// ============================================================================
|
|
3438
|
+
// SUPPLEMENTAL EXPORTS — fills the gap between the runtime barrel
|
|
3439
|
+
// (`packages/core/src/barrel/index.ts` + `barrel/culture-agents.ts` +
|
|
3440
|
+
// `migration/SchemaDiff.ts` + `types/HoloScriptPlus.ts` + `traits/LipSyncTrait.ts`)
|
|
3441
|
+
// and the hand-crafted public d.ts. Engine + studio consumers import these from
|
|
3442
|
+
// `@holoscript/core`; without these declarations the imports fail strict tsc
|
|
3443
|
+
// (TS2614 / TS2724) even though the runtime symbols ARE present (re-exported
|
|
3444
|
+
// via barrels). See W.099 deploy-blocker sweep.
|
|
3445
|
+
// ============================================================================
|
|
3446
|
+
|
|
3447
|
+
// ── HSPlus runtime / parser surface ─────────────────────────────────────────
|
|
3448
|
+
|
|
3449
|
+
/** Runtime-injected helper functions exposed to user scripts. */
|
|
3450
|
+
export interface HSPlusBuiltins {
|
|
3451
|
+
log: (...args: unknown[]) => void;
|
|
3452
|
+
warn: (...args: unknown[]) => void;
|
|
3453
|
+
error: (...args: unknown[]) => void;
|
|
3454
|
+
setTimeout: (fn: () => void, ms: number) => number;
|
|
3455
|
+
clearTimeout: (id: number) => void;
|
|
3456
|
+
setInterval?: (fn: () => void, ms: number) => number;
|
|
3457
|
+
clearInterval?: (id: number) => void;
|
|
3458
|
+
fetch?: (url: string, options?: unknown) => Promise<unknown>;
|
|
3459
|
+
emit?: (event: string, data?: unknown) => void;
|
|
3460
|
+
on?: (event: string, handler: (data: unknown) => void) => void;
|
|
3461
|
+
off?: (event: string, handler?: (data: unknown) => void) => void;
|
|
3462
|
+
showSettings?: () => void;
|
|
3463
|
+
openChat?: (config?: unknown) => void;
|
|
3464
|
+
assistant_generate?: (prompt: string, context?: string) => void;
|
|
3465
|
+
[key: string]: unknown;
|
|
3466
|
+
}
|
|
3467
|
+
|
|
3468
|
+
/** Parser directive variants — discriminated by `type`. Mirrors
|
|
3469
|
+
* `packages/core/src/types/AdvancedTypeSystem.ts:396`. Engine + studio
|
|
3470
|
+
* consumers narrow via `directive.type === 'lifecycle'` etc. */
|
|
3471
|
+
|
|
3472
|
+
export interface HSPlusBaseDirective {
|
|
3473
|
+
type: 'directive' | 'fragment';
|
|
3474
|
+
name: string;
|
|
3475
|
+
args: string[];
|
|
3476
|
+
}
|
|
3477
|
+
|
|
3478
|
+
export interface HSPlusTraitDirective {
|
|
3479
|
+
type: 'trait';
|
|
3480
|
+
name: string;
|
|
3481
|
+
args?: unknown[];
|
|
3482
|
+
config?: Record<string, unknown>;
|
|
3483
|
+
}
|
|
3484
|
+
|
|
3485
|
+
export interface HSPlusLifecycleDirective {
|
|
3486
|
+
type: 'lifecycle';
|
|
3487
|
+
name?: string;
|
|
3488
|
+
hook: string;
|
|
3489
|
+
params?: string[];
|
|
3490
|
+
body: string;
|
|
3491
|
+
}
|
|
3492
|
+
|
|
3493
|
+
export interface HSPlusStateDirective {
|
|
3494
|
+
type: 'state';
|
|
3495
|
+
name?: string;
|
|
3496
|
+
body?: Record<string, unknown>;
|
|
3497
|
+
initial?: unknown;
|
|
3498
|
+
}
|
|
3499
|
+
|
|
3500
|
+
export interface HSPlusForEachDirective {
|
|
3501
|
+
type: 'forEach';
|
|
3502
|
+
variable: string;
|
|
3503
|
+
collection: string;
|
|
3504
|
+
body: unknown[];
|
|
3505
|
+
}
|
|
3506
|
+
|
|
3507
|
+
export interface HSPlusWhileDirective {
|
|
3508
|
+
type: 'while';
|
|
3509
|
+
condition: string;
|
|
3510
|
+
body: unknown[];
|
|
3511
|
+
}
|
|
3512
|
+
|
|
3513
|
+
export interface HSPlusIfDirective {
|
|
3514
|
+
type: 'if';
|
|
3515
|
+
condition: string;
|
|
3516
|
+
body: unknown[];
|
|
3517
|
+
else?: unknown[];
|
|
3518
|
+
}
|
|
3519
|
+
|
|
3520
|
+
export interface HSPlusImportDirective {
|
|
3521
|
+
type: 'import';
|
|
3522
|
+
path: string;
|
|
3523
|
+
alias: string;
|
|
3524
|
+
namedImports?: string[];
|
|
3525
|
+
isWildcard?: boolean;
|
|
3526
|
+
}
|
|
3527
|
+
|
|
3528
|
+
export interface HSPlusVersionDirective {
|
|
3529
|
+
type: 'version';
|
|
3530
|
+
version: number;
|
|
3531
|
+
}
|
|
3532
|
+
|
|
3533
|
+
export interface HSPlusMigrateDirective {
|
|
3534
|
+
type: 'migrate';
|
|
3535
|
+
fromVersion: number;
|
|
3536
|
+
body: string;
|
|
3537
|
+
}
|
|
3538
|
+
|
|
3539
|
+
export interface HSPlusBindingsDirective {
|
|
3540
|
+
type: 'bindings';
|
|
3541
|
+
bindings: unknown[];
|
|
3542
|
+
}
|
|
3543
|
+
|
|
3544
|
+
export interface HSPlusExportDirective {
|
|
3545
|
+
type: 'export';
|
|
3546
|
+
exportKind: string;
|
|
3547
|
+
exportName: string;
|
|
3548
|
+
}
|
|
3549
|
+
|
|
3550
|
+
export interface HSPlusConfigDirective {
|
|
3551
|
+
type:
|
|
3552
|
+
| 'world_metadata'
|
|
3553
|
+
| 'world_config'
|
|
3554
|
+
| 'skybox'
|
|
3555
|
+
| 'ambient_light'
|
|
3556
|
+
| 'fog'
|
|
3557
|
+
| 'artwork_metadata'
|
|
3558
|
+
| 'npc_behavior';
|
|
3559
|
+
[key: string]: unknown;
|
|
3560
|
+
}
|
|
3561
|
+
|
|
3562
|
+
export interface HSPlusNamedConfigDirective {
|
|
3563
|
+
type: 'manifest' | 'semantic' | 'directional_light';
|
|
3564
|
+
name: string;
|
|
3565
|
+
[key: string]: unknown;
|
|
3566
|
+
}
|
|
3567
|
+
|
|
3568
|
+
/** Discriminated union of every parser directive. `HSPlusForDirective` is
|
|
3569
|
+
* declared earlier in this d.ts; the rest live above. */
|
|
3570
|
+
export type HSPlusDirective =
|
|
3571
|
+
| HSPlusBaseDirective
|
|
3572
|
+
| HSPlusTraitDirective
|
|
3573
|
+
| HSPlusLifecycleDirective
|
|
3574
|
+
| HSPlusStateDirective
|
|
3575
|
+
| HSPlusForDirective
|
|
3576
|
+
| HSPlusForEachDirective
|
|
3577
|
+
| HSPlusWhileDirective
|
|
3578
|
+
| HSPlusIfDirective
|
|
3579
|
+
| HSPlusImportDirective
|
|
3580
|
+
| HSPlusVersionDirective
|
|
3581
|
+
| HSPlusMigrateDirective
|
|
3582
|
+
| HSPlusBindingsDirective
|
|
3583
|
+
| HSPlusExportDirective
|
|
3584
|
+
| HSPlusConfigDirective
|
|
3585
|
+
| HSPlusNamedConfigDirective;
|
|
3586
|
+
|
|
3587
|
+
// ── State migration (packages/core/src/migration/SchemaDiff.ts) ─────────────
|
|
3588
|
+
|
|
3589
|
+
export type FieldChangeKind =
|
|
3590
|
+
| 'added'
|
|
3591
|
+
| 'removed'
|
|
3592
|
+
| 'type-changed'
|
|
3593
|
+
| 'default-changed'
|
|
3594
|
+
| 'reactive-changed'
|
|
3595
|
+
| 'unchanged';
|
|
3596
|
+
|
|
3597
|
+
export interface FieldChange {
|
|
3598
|
+
kind: FieldChangeKind;
|
|
3599
|
+
key: string;
|
|
3600
|
+
oldValue?: HoloValue;
|
|
3601
|
+
newValue?: HoloValue;
|
|
3602
|
+
oldType?: string;
|
|
3603
|
+
newType?: string;
|
|
3604
|
+
requiresMigration: boolean;
|
|
3605
|
+
}
|
|
3606
|
+
|
|
3607
|
+
export interface SchemaDiffResult {
|
|
3608
|
+
hasChanges: boolean;
|
|
3609
|
+
changes: FieldChange[];
|
|
3610
|
+
added: FieldChange[];
|
|
3611
|
+
removed: FieldChange[];
|
|
3612
|
+
typeChanged: FieldChange[];
|
|
3613
|
+
defaultChanged: FieldChange[];
|
|
3614
|
+
reactiveChanged: FieldChange[];
|
|
3615
|
+
requiresMigration: boolean;
|
|
3616
|
+
summary: string;
|
|
3617
|
+
}
|
|
3618
|
+
|
|
3619
|
+
export interface MigrationStep {
|
|
3620
|
+
fromVersion: number;
|
|
3621
|
+
/** Statement list (parsed nodes) OR raw code string. */
|
|
3622
|
+
body: unknown[] | string;
|
|
3623
|
+
}
|
|
3624
|
+
|
|
3625
|
+
export interface MigrationChain {
|
|
3626
|
+
fromVersion: number;
|
|
3627
|
+
toVersion: number;
|
|
3628
|
+
steps: MigrationStep[];
|
|
3629
|
+
}
|
|
3630
|
+
|
|
3631
|
+
export function diffState(
|
|
3632
|
+
oldState: HoloState | undefined,
|
|
3633
|
+
newState: HoloState | undefined
|
|
3634
|
+
): SchemaDiffResult;
|
|
3635
|
+
export function buildMigrationChain(
|
|
3636
|
+
template: HoloTemplate,
|
|
3637
|
+
oldVersion: number,
|
|
3638
|
+
newVersion: number
|
|
3639
|
+
): MigrationChain | null;
|
|
3640
|
+
export function snapshotState(state: Map<string, HoloValue>): Map<string, HoloValue>;
|
|
3641
|
+
export function applyAutoMigration(
|
|
3642
|
+
instanceState: Map<string, HoloValue>,
|
|
3643
|
+
diff: SchemaDiffResult,
|
|
3644
|
+
oldDefaults: Map<string, HoloValue>
|
|
3645
|
+
): void;
|
|
3646
|
+
|
|
3647
|
+
// ── State machine AST node (packages/core/src/types.ts:735) ─────────────────
|
|
3648
|
+
|
|
3649
|
+
export interface StateMachineNode extends ASTNode {
|
|
3650
|
+
type: 'state-machine';
|
|
3651
|
+
name: string;
|
|
3652
|
+
initialState: string;
|
|
3653
|
+
states: any[];
|
|
3654
|
+
transitions: any[];
|
|
3655
|
+
}
|
|
3656
|
+
|
|
3657
|
+
// ── Lip-sync (packages/core/src/traits/LipSyncTrait.ts) ─────────────────────
|
|
3658
|
+
|
|
3659
|
+
export interface PhonemeTimestamp {
|
|
3660
|
+
phoneme: string;
|
|
3661
|
+
time: number;
|
|
3662
|
+
duration: number;
|
|
3663
|
+
weight?: number;
|
|
3664
|
+
}
|
|
3665
|
+
|
|
3666
|
+
// ── Culture / norms / WebRTC: NOT re-exported here.
|
|
3667
|
+
// These types live in `@holoscript/framework/agents` and `@holoscript/mesh`.
|
|
3668
|
+
// Engine consumers should import them DIRECTLY from those packages — both
|
|
3669
|
+
// are explicit dependencies of `@holoscript/engine`. Earlier attempts to
|
|
3670
|
+
// surface them through core's hand-crafted d.ts caused cascading TS2571
|
|
3671
|
+
// "Object is of type 'unknown'" errors because the minimal shapes here
|
|
3672
|
+
// couldn't keep up with the full method surface of `CulturalMemory` /
|
|
3673
|
+
// `NormEngine` classes. See engine/src/runtime/CultureRuntime.ts +
|
|
3674
|
+
// voice/VoiceManager.ts for the corrected import paths. ─────────────────
|
|
3675
|
+
|
|
3676
|
+
// ── Quaternion (packages/core/src/types/HoloScriptPlus.ts:26) ───────────────
|
|
3677
|
+
|
|
3678
|
+
export type Quaternion = [number, number, number, number];
|
|
3679
|
+
|
|
3680
|
+
// ── WebRTC transport (re-exported from @holoscript/mesh via
|
|
3681
|
+
// packages/core/src/barrel/registry-deploy-events.ts). Engine's
|
|
3682
|
+
// audio/VoiceManager.ts pulls a small subset; we mirror just that
|
|
3683
|
+
// surface here so the public d.ts isn't the wrong-shape lie that
|
|
3684
|
+
// blocked deploy pre-flight (W.099). Full surface lives in mesh. ─────────
|
|
3685
|
+
|
|
3686
|
+
export interface WebRTCTransportConfig {
|
|
3687
|
+
signalingUrl?: string;
|
|
3688
|
+
iceServers?: unknown[];
|
|
3689
|
+
[key: string]: unknown;
|
|
3690
|
+
}
|
|
3691
|
+
|
|
3692
|
+
export class WebRTCTransport {
|
|
3693
|
+
constructor(config?: WebRTCTransportConfig);
|
|
3694
|
+
connect(): Promise<void>;
|
|
3695
|
+
disconnect(): void;
|
|
3696
|
+
setMicrophoneEnabled(enabled: boolean): void;
|
|
3697
|
+
on(event: string, handler: (...args: unknown[]) => void): void;
|
|
3698
|
+
off(event: string, handler?: (...args: unknown[]) => void): void;
|
|
3699
|
+
}
|
|
3700
|
+
|
|
3701
|
+
// ── Theming (packages/core/src/theming/*) ────────────────────────────────────
|
|
3702
|
+
|
|
3703
|
+
export interface ThemeTokens {
|
|
3704
|
+
colors: Record<string, string>;
|
|
3705
|
+
spacing: Record<string, number>;
|
|
3706
|
+
borderRadius: Record<string, number>;
|
|
3707
|
+
fontSize: Record<string, number>;
|
|
3708
|
+
opacity: Record<string, number>;
|
|
3709
|
+
shadow: Record<string, string>;
|
|
3710
|
+
}
|
|
3711
|
+
|
|
3712
|
+
export interface Theme {
|
|
3713
|
+
name: string;
|
|
3714
|
+
mode: 'light' | 'dark';
|
|
3715
|
+
tokens: ThemeTokens;
|
|
3716
|
+
}
|
|
3717
|
+
|
|
3718
|
+
export declare const BuiltInThemes: Record<string, Theme>;
|
|
3719
|
+
|
|
3720
|
+
export class ThemeEngine {
|
|
3721
|
+
constructor();
|
|
3722
|
+
registerTheme(theme: Theme): void;
|
|
3723
|
+
setTheme(name: string): void;
|
|
3724
|
+
getTheme(): Theme;
|
|
3725
|
+
getTokens(): ThemeTokens;
|
|
3726
|
+
setOverrides(overrides: Partial<ThemeTokens>): void;
|
|
3727
|
+
resolve(path: string): unknown;
|
|
3728
|
+
onThemeChange(callback: (theme: Theme) => void): void;
|
|
3729
|
+
getActiveThemeName(): string;
|
|
3730
|
+
listThemes(): string[];
|
|
3731
|
+
}
|
|
3732
|
+
|
|
3733
|
+
export interface StyleRule {
|
|
3734
|
+
selector: string;
|
|
3735
|
+
properties: Record<string, unknown>;
|
|
3736
|
+
}
|
|
3737
|
+
|
|
3738
|
+
export interface ResolvedStyle {
|
|
3739
|
+
[key: string]: unknown;
|
|
3740
|
+
}
|
|
3741
|
+
|
|
3742
|
+
export class StyleResolver {
|
|
3743
|
+
constructor();
|
|
3744
|
+
addRule(selector: string, properties: Record<string, unknown>): void;
|
|
3745
|
+
addRules(rules: StyleRule[]): void;
|
|
3746
|
+
resolve(
|
|
3747
|
+
type: string,
|
|
3748
|
+
classes?: string[],
|
|
3749
|
+
states?: string[],
|
|
3750
|
+
inline?: Record<string, unknown>
|
|
3751
|
+
): ResolvedStyle;
|
|
3752
|
+
static fromTokens(tokens: ThemeTokens): StyleResolver;
|
|
3753
|
+
readonly ruleCount: number;
|
|
3754
|
+
}
|
|
3755
|
+
|
|
3756
|
+
// ── Shared trait delegate (packages/core/src/traits/TraitTypes.ts:264) ───────
|
|
3757
|
+
|
|
3758
|
+
export interface TraitInstanceDelegate {
|
|
3759
|
+
onDetach?: (node: HSPlusNode, ctx: TraitContext) => void;
|
|
3760
|
+
onEvent?: (event: TraitEvent) => void;
|
|
3761
|
+
onUpdate?: (node: HSPlusNode, ctx: TraitContext, dt: number) => void;
|
|
3762
|
+
emit?: (event: TraitEvent) => void;
|
|
3763
|
+
dispose?: () => void;
|
|
3764
|
+
cleanup?: () => void;
|
|
3765
|
+
[key: string]: unknown;
|
|
3766
|
+
}
|
|
3767
|
+
|
|
3768
|
+
// ── Engine-facing public compatibility types ────────────────────────────────
|
|
3769
|
+
|
|
3770
|
+
export interface ModuleImport {
|
|
3771
|
+
specifier: string;
|
|
3772
|
+
canonicalPath: string;
|
|
3773
|
+
named: string[];
|
|
3774
|
+
defaultImport?: string;
|
|
3775
|
+
}
|
|
3776
|
+
|
|
3777
|
+
export interface ModuleExport {
|
|
3778
|
+
name: string;
|
|
3779
|
+
kind: 'object' | 'state' | 'template' | 'function' | 'unknown';
|
|
3780
|
+
}
|
|
3781
|
+
|
|
3782
|
+
export interface ModuleHeader {
|
|
3783
|
+
imports: ModuleImport[];
|
|
3784
|
+
exports: ModuleExport[];
|
|
3785
|
+
}
|
|
3786
|
+
|
|
3787
|
+
export interface CachedModule {
|
|
3788
|
+
canonicalPath: string;
|
|
3789
|
+
header: ModuleHeader;
|
|
3790
|
+
rawSource: string;
|
|
3791
|
+
cachedAt: number;
|
|
3792
|
+
}
|
|
3793
|
+
|
|
3794
|
+
export class ModuleResolver {
|
|
3795
|
+
constructor(options?: {
|
|
3796
|
+
graph?: unknown;
|
|
3797
|
+
loader?: (canonicalPath: string) => string;
|
|
3798
|
+
});
|
|
3799
|
+
resolve(modulePath: string, fromFile: string): string;
|
|
3800
|
+
load(canonicalPath: string, fromFile?: string): CachedModule;
|
|
3801
|
+
invalidate(canonicalPath: string): void;
|
|
3802
|
+
getCached(canonicalPath: string): CachedModule | undefined;
|
|
3803
|
+
clearAll(): void;
|
|
3804
|
+
}
|
|
3805
|
+
|
|
3806
|
+
export interface HotReloadConfig {
|
|
3807
|
+
watchPaths: string[];
|
|
3808
|
+
debounceMs: number;
|
|
3809
|
+
mode: 'soft' | 'hard';
|
|
3810
|
+
extensions: string[];
|
|
3811
|
+
}
|
|
3812
|
+
|
|
3813
|
+
export interface HotReloadEvent {
|
|
3814
|
+
filePath: string;
|
|
3815
|
+
type: string;
|
|
3816
|
+
timestamp: number;
|
|
3817
|
+
}
|
|
3818
|
+
|
|
3819
|
+
export type HotReloadCallback = (event: HotReloadEvent) => void;
|
|
3820
|
+
|
|
3821
|
+
export class HotReloadWatcher {
|
|
3822
|
+
constructor(config?: Partial<HotReloadConfig>);
|
|
3823
|
+
start(): void;
|
|
3824
|
+
stop(): void;
|
|
3825
|
+
on(event: string, listener: (...args: unknown[]) => void): this;
|
|
3826
|
+
off(event: string, listener: (...args: unknown[]) => void): this;
|
|
3827
|
+
emit(event: string, ...args: unknown[]): boolean;
|
|
3828
|
+
}
|
|
3829
|
+
|
|
3830
|
+
export interface ScriptTestResult {
|
|
3831
|
+
name: string;
|
|
3832
|
+
status: 'passed' | 'failed' | 'skipped';
|
|
3833
|
+
durationMs: number;
|
|
3834
|
+
error?: string;
|
|
3835
|
+
assertions: number;
|
|
3836
|
+
passedAssertions: number;
|
|
3837
|
+
}
|
|
3838
|
+
|
|
3839
|
+
export interface ScriptTestBlock {
|
|
3840
|
+
name: string;
|
|
3841
|
+
setup?: () => void;
|
|
3842
|
+
actions: Array<() => void>;
|
|
3843
|
+
assertions: Array<{ description: string; check: () => boolean }>;
|
|
3844
|
+
teardown?: () => void;
|
|
3845
|
+
skip?: boolean;
|
|
3846
|
+
}
|
|
3847
|
+
|
|
3848
|
+
export interface ScriptTestRunnerOptions {
|
|
3849
|
+
debug?: boolean;
|
|
3850
|
+
timeout?: number;
|
|
3851
|
+
bail?: boolean;
|
|
3852
|
+
runtimeState?: Record<string, unknown>;
|
|
3853
|
+
}
|
|
3854
|
+
|
|
3855
|
+
export class ScriptTestRunner {
|
|
3856
|
+
constructor(options?: ScriptTestRunnerOptions);
|
|
3857
|
+
setRuntimeState(state: Record<string, unknown>): void;
|
|
3858
|
+
addTest(test: ScriptTestBlock): void;
|
|
3859
|
+
runAll(): ScriptTestResult[];
|
|
3860
|
+
}
|
|
3861
|
+
|
|
3862
|
+
export function hashBytes(input: Uint8Array | string, algo?: 'sha256' | 'fnv1a'): Promise<string>;
|
|
3863
|
+
|
|
3864
|
+
export type HologramShape =
|
|
3865
|
+
| 'orb'
|
|
3866
|
+
| 'cube'
|
|
3867
|
+
| 'cylinder'
|
|
3868
|
+
| 'pyramid'
|
|
3869
|
+
| 'sphere'
|
|
3870
|
+
| 'function'
|
|
3871
|
+
| 'gate'
|
|
3872
|
+
| 'stream'
|
|
3873
|
+
| 'server'
|
|
3874
|
+
| 'database'
|
|
3875
|
+
| 'fetch';
|
|
3876
|
+
|
|
3877
|
+
export type ResourceCategory =
|
|
3878
|
+
| 'particles'
|
|
3879
|
+
| 'physicsBodies'
|
|
3880
|
+
| 'audioSources'
|
|
3881
|
+
| 'meshInstances'
|
|
3882
|
+
| 'gaussians'
|
|
3883
|
+
| 'shaderPasses'
|
|
3884
|
+
| 'networkMsgs'
|
|
3885
|
+
| 'agentCount'
|
|
3886
|
+
| 'memoryMB'
|
|
3887
|
+
| 'gpuDrawCalls';
|
|
3888
|
+
|
|
3889
|
+
export const PLATFORM_BUDGETS: Record<string, Partial<Record<ResourceCategory, number>>>;
|
|
3890
|
+
|
|
3891
|
+
export interface InstallManifest {
|
|
3892
|
+
packageId: string;
|
|
3893
|
+
[key: string]: unknown;
|
|
3894
|
+
}
|
|
3895
|
+
|
|
3896
|
+
// ── Host capabilities (packages/core/src/traits/TraitTypes.ts:134) ──────────
|
|
3897
|
+
|
|
3898
|
+
export interface HostCapabilities {
|
|
3899
|
+
fileSystem?: unknown;
|
|
3900
|
+
process?: unknown;
|
|
3901
|
+
network?: unknown;
|
|
3902
|
+
media?: unknown;
|
|
3903
|
+
depthInference?: unknown;
|
|
3904
|
+
gpuCompute?: unknown;
|
|
3905
|
+
}
|
|
3906
|
+
|
|
3907
|
+
// Spatial MCP - 3D context as first-class MCP tool params
|
|
3908
|
+
// (research/2026-05-07_spatial-mcp-spec.md, task_1778114195597_jira)
|
|
3909
|
+
|
|
3910
|
+
export declare const SPATIAL_CONTEXT_VERSION: '0.1';
|
|
3911
|
+
export type SpatialContextVersion = typeof SPATIAL_CONTEXT_VERSION;
|
|
3912
|
+
export declare const SPATIAL_FRAME: 'tracking-space-y-up-meters';
|
|
3913
|
+
export type SpatialFrame = typeof SPATIAL_FRAME;
|
|
3914
|
+
|
|
3915
|
+
export type SpatialVec3 = readonly [number, number, number];
|
|
3916
|
+
export interface SpatialQuat { x: number; y: number; z: number; w: number }
|
|
3917
|
+
export interface SpatialAABB { min: SpatialVec3; max: SpatialVec3 }
|
|
3918
|
+
|
|
3919
|
+
export interface HandTransform {
|
|
3920
|
+
position: SpatialVec3;
|
|
3921
|
+
rotation: SpatialQuat;
|
|
3922
|
+
grip: number;
|
|
3923
|
+
pinch?: number;
|
|
3924
|
+
}
|
|
3925
|
+
|
|
3926
|
+
export interface SpatialControllerPose {
|
|
3927
|
+
position: SpatialVec3;
|
|
3928
|
+
rotation: SpatialQuat;
|
|
3929
|
+
velocity?: SpatialVec3;
|
|
3930
|
+
angularVelocity?: SpatialVec3;
|
|
3931
|
+
}
|
|
3932
|
+
|
|
3933
|
+
export interface SpatialMCPGazeRay {
|
|
3934
|
+
origin: SpatialVec3;
|
|
3935
|
+
direction: SpatialVec3;
|
|
3936
|
+
hitDistance?: number;
|
|
3937
|
+
}
|
|
3938
|
+
|
|
3939
|
+
export interface HeadsetPose {
|
|
3940
|
+
position: SpatialVec3;
|
|
3941
|
+
rotation: SpatialQuat;
|
|
3942
|
+
}
|
|
3943
|
+
|
|
3944
|
+
export interface RoomGeometry {
|
|
3945
|
+
pointCloudPly?: string;
|
|
3946
|
+
aabb?: SpatialAABB;
|
|
3947
|
+
floorHeight?: number;
|
|
3948
|
+
}
|
|
3949
|
+
|
|
3950
|
+
export interface SpatialMCPContext {
|
|
3951
|
+
version: SpatialContextVersion;
|
|
3952
|
+
frame: SpatialFrame;
|
|
3953
|
+
room?: RoomGeometry;
|
|
3954
|
+
gaze?: SpatialMCPGazeRay;
|
|
3955
|
+
hands?: { left?: HandTransform; right?: HandTransform };
|
|
3956
|
+
controllers?: { left?: SpatialControllerPose; right?: SpatialControllerPose };
|
|
3957
|
+
headset?: HeadsetPose;
|
|
3958
|
+
meta?: Record<string, string | number | boolean>;
|
|
3959
|
+
}
|
|
3960
|
+
|
|
3961
|
+
export type ScenePatchOp =
|
|
3962
|
+
| { op: 'spawn'; id: string; position: SpatialVec3; trait?: string }
|
|
3963
|
+
| { op: 'move'; id: string; position: SpatialVec3 }
|
|
3964
|
+
| { op: 'highlight'; id: string; color?: string }
|
|
3965
|
+
| { op: 'remove'; id: string };
|
|
3966
|
+
|
|
3967
|
+
export interface SpatialMCPResponse {
|
|
3968
|
+
text: string;
|
|
3969
|
+
holo?: string;
|
|
3970
|
+
scenePatch?: ScenePatchOp[];
|
|
3971
|
+
frame: SpatialFrame;
|
|
3972
|
+
version: SpatialContextVersion;
|
|
3973
|
+
}
|
|
3974
|
+
|
|
3975
|
+
export interface SpatialValidationError { path: string; message: string }
|
|
3976
|
+
export interface SpatialValidationResult { ok: boolean; errors: SpatialValidationError[] }
|
|
3977
|
+
export declare function validateSpatialContext(input: unknown): SpatialValidationResult;
|
|
3978
|
+
|
|
3979
|
+
export interface PlacementChoice {
|
|
3980
|
+
position: SpatialVec3;
|
|
3981
|
+
source:
|
|
3982
|
+
| 'gaze-hit'
|
|
3983
|
+
| 'gaze-ray'
|
|
3984
|
+
| 'hand-right'
|
|
3985
|
+
| 'hand-left'
|
|
3986
|
+
| 'controller-right'
|
|
3987
|
+
| 'controller-left'
|
|
3988
|
+
| 'aabb-center'
|
|
3989
|
+
| 'headset'
|
|
3990
|
+
| 'origin';
|
|
3991
|
+
}
|
|
3992
|
+
export declare function pickPlacement(ctx: SpatialMCPContext): PlacementChoice;
|
|
3993
|
+
|
|
3994
|
+
// Hologram MCP Response - content_type schema for tools whose response
|
|
3995
|
+
// payload IS a hologram (.holo / quilt / MV-HEVC), not text.
|
|
3996
|
+
// (task_1778114362909_zp7u)
|
|
3997
|
+
|
|
3998
|
+
export declare const HOLOGRAM_MCP_VERSION: '0.1';
|
|
3999
|
+
export type HologramMcpVersion = typeof HOLOGRAM_MCP_VERSION;
|
|
4000
|
+
|
|
4001
|
+
export declare const HOLOGRAM_CONTENT_TYPES: {
|
|
4002
|
+
readonly holo: 'application/holoscript+holo';
|
|
4003
|
+
readonly quilt: 'application/holoscript+quilt';
|
|
4004
|
+
readonly mvhevc: 'application/holoscript+mvhevc';
|
|
4005
|
+
readonly parallax: 'application/holoscript+parallax';
|
|
4006
|
+
};
|
|
4007
|
+
|
|
4008
|
+
export type HologramContentType =
|
|
4009
|
+
| 'application/holoscript+holo'
|
|
4010
|
+
| 'application/holoscript+quilt'
|
|
4011
|
+
| 'application/holoscript+mvhevc'
|
|
4012
|
+
| 'application/holoscript+parallax';
|
|
4013
|
+
|
|
4014
|
+
export interface HologramBundleHashRef {
|
|
4015
|
+
kind: 'hash';
|
|
4016
|
+
hash: string;
|
|
4017
|
+
studioBase?: string;
|
|
4018
|
+
}
|
|
4019
|
+
export interface HologramBundleUrlRef {
|
|
4020
|
+
kind: 'url';
|
|
4021
|
+
url: string;
|
|
4022
|
+
mimeType?: string;
|
|
4023
|
+
}
|
|
4024
|
+
export interface HologramBundleHoloCodeRef {
|
|
4025
|
+
kind: 'holo-code';
|
|
4026
|
+
holoCode: string;
|
|
4027
|
+
}
|
|
4028
|
+
export type HologramBundleRef =
|
|
4029
|
+
| HologramBundleHashRef
|
|
4030
|
+
| HologramBundleUrlRef
|
|
4031
|
+
| HologramBundleHoloCodeRef;
|
|
4032
|
+
|
|
4033
|
+
export interface HologramRenderHints {
|
|
4034
|
+
preferredViewer?: 'parallax' | 'quilt' | 'mvhevc' | 'auto';
|
|
4035
|
+
size?: readonly [number, number];
|
|
4036
|
+
background?: string;
|
|
4037
|
+
animate?: boolean;
|
|
4038
|
+
}
|
|
4039
|
+
|
|
4040
|
+
export interface HologramMcpMeta {
|
|
4041
|
+
producedBy: string;
|
|
4042
|
+
createdAt: string;
|
|
4043
|
+
label?: string;
|
|
4044
|
+
caption?: string;
|
|
4045
|
+
[extra: string]: unknown;
|
|
4046
|
+
}
|
|
4047
|
+
|
|
4048
|
+
export interface HologramMcpResponse {
|
|
4049
|
+
content_type: HologramContentType;
|
|
4050
|
+
payload: HologramBundleRef;
|
|
4051
|
+
hints?: HologramRenderHints;
|
|
4052
|
+
meta: HologramMcpMeta;
|
|
4053
|
+
text: string;
|
|
4054
|
+
version: HologramMcpVersion;
|
|
4055
|
+
}
|
|
4056
|
+
|
|
4057
|
+
export interface HologramMcpEnvelope {
|
|
4058
|
+
content: Array<{ type: 'text'; text: string }>;
|
|
4059
|
+
hologramContent: HologramMcpResponse;
|
|
4060
|
+
isError?: false;
|
|
4061
|
+
}
|
|
4062
|
+
|
|
4063
|
+
export interface HologramMcpValidationError { path: string; message: string }
|
|
4064
|
+
export interface HologramMcpValidationResult { ok: boolean; errors: HologramMcpValidationError[] }
|
|
4065
|
+
export declare function validateHologramMcpResponse(value: unknown): HologramMcpValidationResult;
|
|
4066
|
+
export declare function isHologramMcpResponse(value: unknown): value is HologramMcpResponse;
|
|
4067
|
+
export declare function detectHologramContent(envelope: unknown): HologramMcpResponse | null;
|
|
4068
|
+
export declare function buildHologramMcpResponse(input: {
|
|
4069
|
+
contentType: HologramContentType;
|
|
4070
|
+
payload: HologramBundleRef;
|
|
4071
|
+
text: string;
|
|
4072
|
+
producedBy: string;
|
|
4073
|
+
createdAt?: string;
|
|
4074
|
+
label?: string;
|
|
4075
|
+
caption?: string;
|
|
4076
|
+
hints?: HologramRenderHints;
|
|
4077
|
+
extraMeta?: Record<string, unknown>;
|
|
4078
|
+
}): HologramMcpResponse;
|
|
4079
|
+
export declare function wrapHologramMcpEnvelope(response: HologramMcpResponse): HologramMcpEnvelope;
|
|
4080
|
+
|
|
4081
|
+
// ============================================================================
|
|
4082
|
+
// ENGINE-PUBLIC TYPES (missing from generate-types.mjs — consumed by @holoscript/engine)
|
|
4083
|
+
// ============================================================================
|
|
4084
|
+
|
|
4085
|
+
export declare class ThemeEngine {
|
|
4086
|
+
registerTheme(theme: Theme): void;
|
|
4087
|
+
setTheme(name: string): void;
|
|
4088
|
+
getTheme(): Theme;
|
|
4089
|
+
getTokens(): ThemeTokens;
|
|
4090
|
+
setOverrides(overrides: Partial<ThemeTokens>): void;
|
|
4091
|
+
resolve(path: string): unknown;
|
|
4092
|
+
onThemeChange(callback: (theme: Theme) => void): void;
|
|
4093
|
+
[key: string]: unknown;
|
|
4094
|
+
}
|
|
4095
|
+
|
|
4096
|
+
export declare interface Theme {
|
|
4097
|
+
name: string;
|
|
4098
|
+
mode: 'light' | 'dark';
|
|
4099
|
+
tokens: ThemeTokens;
|
|
4100
|
+
}
|
|
4101
|
+
|
|
4102
|
+
export declare interface ThemeTokens {
|
|
4103
|
+
colors: Record<string, string>;
|
|
4104
|
+
spacing: Record<string, number>;
|
|
4105
|
+
borderRadius: Record<string, number>;
|
|
4106
|
+
fontSize: Record<string, number>;
|
|
4107
|
+
opacity: Record<string, number>;
|
|
4108
|
+
shadow: Record<string, string>;
|
|
4109
|
+
}
|
|
4110
|
+
|
|
4111
|
+
export declare class StyleResolver {
|
|
4112
|
+
static fromTokens(tokens: ThemeTokens): StyleResolver;
|
|
4113
|
+
addRule(selector: string, properties: Record<string, any>): void;
|
|
4114
|
+
addRules(rules: { selector: string; properties: Record<string, any> }[]): void;
|
|
4115
|
+
resolve(type: string, classes?: string[], states?: string[], inline?: Record<string, any>): Record<string, unknown>;
|
|
4116
|
+
[key: string]: unknown;
|
|
4117
|
+
}
|
|
4118
|
+
|
|
4119
|
+
export declare class ModuleResolver {
|
|
4120
|
+
resolve(id: string): unknown;
|
|
4121
|
+
[key: string]: unknown;
|
|
4122
|
+
}
|
|
4123
|
+
|
|
4124
|
+
export declare class HotReloadWatcher {
|
|
4125
|
+
watch(path: string): void;
|
|
4126
|
+
[key: string]: unknown;
|
|
4127
|
+
}
|
|
4128
|
+
|
|
4129
|
+
export declare type HotReloadConfig = unknown;
|
|
4130
|
+
|
|
4131
|
+
export declare class ScriptTestRunner {
|
|
4132
|
+
[key: string]: unknown;
|
|
4133
|
+
}
|
|
4134
|
+
|
|
4135
|
+
export declare function hashBytes(input: Uint8Array | string, algo?: 'sha256' | 'fnv1a'): Promise<string>;
|
|
4136
|
+
|
|
4137
|
+
export declare type HologramShape = 'orb' | 'cube' | 'cylinder' | 'pyramid' | 'sphere' | 'function' | 'gate' | 'stream' | 'server' | 'database' | 'fetch';
|
|
4138
|
+
|
|
4139
|
+
export declare type ResourceCategory = 'particles' | 'physicsBodies' | 'audioSources' | 'meshInstances' | 'gaussians' | 'shaderPasses' | 'networkMsgs' | 'agentCount' | 'memoryMB' | 'gpuDrawCalls';
|
|
4140
|
+
|
|
4141
|
+
export declare const PLATFORM_BUDGETS: Record<string, Partial<Record<ResourceCategory, number>>>;
|
|
4142
|
+
|
|
4143
|
+
export declare type InstallManifest = unknown;
|
|
4144
|
+
|
|
4145
|
+
export declare interface TraitInstanceDelegate {
|
|
4146
|
+
onDetach?: (node: any, ctx: any) => void;
|
|
4147
|
+
onEvent?: (event: any) => void;
|
|
4148
|
+
onUpdate?: (node: any, ctx: any, dt: number) => void;
|
|
4149
|
+
emit?: (event: any) => void;
|
|
4150
|
+
dispose?: () => void;
|
|
4151
|
+
cleanup?: () => void;
|
|
4152
|
+
[key: string]: unknown;
|
|
4153
|
+
}
|
|
4154
|
+
|
|
4155
|
+
// ============================================================================
|
|
4156
|
+
// HOLOLAND TRAIT HANDLERS (sovereign @stat / @luck / @encounter / @drop_table)
|
|
4157
|
+
// ============================================================================
|
|
4158
|
+
|
|
4159
|
+
export interface StatModifier { source: string; delta: number; }
|
|
4160
|
+
export interface StatState { name: string; baseValue: number; min: number; max: number; modifiers: StatModifier[]; effective: number; }
|
|
4161
|
+
export interface StatConfig { name: string; value: number; min?: number; max?: number; }
|
|
4162
|
+
export declare const statHandler: TraitHandler<StatConfig>;
|
|
4163
|
+
|
|
4164
|
+
export interface LuckState { baseChance: number; luckBonus: number; seed?: number; }
|
|
4165
|
+
export interface LuckConfig { baseChance: number; luckBonus?: number; seed?: number; }
|
|
4166
|
+
export declare const luckHandler: TraitHandler<LuckConfig>;
|
|
4167
|
+
|
|
4168
|
+
export interface EncounterState { encounterId: string; triggerType: 'proximity' | 'interaction' | 'time' | 'state'; cooldownMs: number; lastFireMs: number; firedCount: number; }
|
|
4169
|
+
export interface EncounterConfig { encounterId: string; triggerType: 'proximity' | 'interaction' | 'time' | 'state'; cooldownMs?: number; proximity_radius?: number; proximity_target?: string; time_interval?: number; state_key?: string; state_value?: unknown; check_interval?: number; }
|
|
4170
|
+
export declare const encounterHandler: TraitHandler<EncounterConfig>;
|
|
4171
|
+
export declare function shouldFire(state: EncounterState, config: EncounterConfig, now: number): boolean;
|
|
4172
|
+
|
|
4173
|
+
export interface DropTableEntry { itemId: string; weight: number; rareModifier?: number; }
|
|
4174
|
+
export interface DropTableState { tableId: string; entries: DropTableEntry[]; respectLuck: boolean; }
|
|
4175
|
+
export interface DropTableConfig { tableId: string; entries: DropTableEntry[]; respectLuck?: boolean; }
|
|
4176
|
+
export declare const dropTableHandler: TraitHandler<DropTableConfig>;
|
|
4177
|
+
export declare function effectiveWeight(entry: DropTableEntry, luckBonus: number): number;
|
|
4178
|
+
export declare function pickByWeight(entries: DropTableEntry[], luckBonus: number, seed?: number): DropTableEntry | null;
|
|
4179
|
+
|
|
4180
|
+
export declare function extractPayload(event: TraitEvent): unknown;
|
|
4181
|
+
|
|
4182
|
+
// ============================================================================
|
|
4183
|
+
// CARE-FIELD PRIMITIVES (D.052 universal love doctrine)
|
|
4184
|
+
// ============================================================================
|
|
4185
|
+
|
|
4186
|
+
export type CareActorKind = 'human' | 'agent' | 'service' | 'device' | 'world';
|
|
4187
|
+
export interface CareActor { id: string; kind: CareActorKind; displayName?: string; }
|
|
4188
|
+
export type CarePrimitiveKind = 'care_field' | 'repair_loop' | 'autonomy_guard' | 'gratitude_ledger' | 'relational_memory';
|
|
4189
|
+
export type CareConsentState = 'explicit' | 'delegated' | 'not_required' | 'unknown' | 'withdrawn';
|
|
4190
|
+
export type CareBoundary = 'human_agency' | 'informed_consent' | 'privacy' | 'non_manipulation' | 'repairability' | 'credit_integrity';
|
|
4191
|
+
export type CarePositiveOptimizationTarget = 'human_agency' | 'mutual_understanding' | 'repair_completion' | 'gratitude_credit' | 'reduced_burden';
|
|
4192
|
+
export type CareRefusedOptimizationTarget = 'attachment_score' | 'session_frequency' | 'daily_active_dependence' | 'emotional_dependency';
|
|
4193
|
+
export type CareOptimizationTarget = CarePositiveOptimizationTarget | CareRefusedOptimizationTarget;
|
|
4194
|
+
export declare const REFUSED_CARE_OPTIMIZATION_TARGETS: readonly CareRefusedOptimizationTarget[];
|
|
4195
|
+
export type CareSignalKind = 'consent_present' | 'consent_missing' | 'consent_withdrawn' | 'distress' | 'repair_needed' | 'gratitude_due' | 'attachment_optimization' | 'session_frequency_optimization' | 'dependency_creation' | 'human_isolation' | 'privacy_intrusion';
|
|
4196
|
+
export interface CareSignal { kind: CareSignalKind; weight?: number; note?: string; evidenceRefs?: readonly string[]; }
|
|
4197
|
+
export type AutonomyGuardBlockCode = 'refused_optimization_target' | 'missing_consent' | 'withdrawn_consent' | 'missing_disengage_path' | 'outside_support_eroded' | 'privacy_boundary_broken' | 'manipulative_signal';
|
|
4198
|
+
export interface AutonomyGuardBlock { code: AutonomyGuardBlockCode; message: string; evidenceRefs?: readonly string[]; }
|
|
4199
|
+
export interface AutonomyGuardPolicy {
|
|
4200
|
+
id: string;
|
|
4201
|
+
refusedOptimizationTargets: readonly CareRefusedOptimizationTarget[];
|
|
4202
|
+
requireConsent: boolean;
|
|
4203
|
+
requireDisengagePath: boolean;
|
|
4204
|
+
requireOutsideSupportPreserved: boolean;
|
|
4205
|
+
requireDataBoundaryRespected: boolean;
|
|
4206
|
+
}
|
|
4207
|
+
export declare const DEFAULT_AUTONOMY_GUARD_POLICY: AutonomyGuardPolicy;
|
|
4208
|
+
export interface AutonomyGuardEvaluationInput {
|
|
4209
|
+
goal: string;
|
|
4210
|
+
consent: CareConsentState;
|
|
4211
|
+
optimizationTargets?: readonly CareOptimizationTarget[];
|
|
4212
|
+
signals?: readonly CareSignal[];
|
|
4213
|
+
hasDisengagePath?: boolean;
|
|
4214
|
+
preservesOutsideSupport?: boolean;
|
|
4215
|
+
respectsDataBoundary?: boolean;
|
|
4216
|
+
policy?: AutonomyGuardPolicy;
|
|
4217
|
+
}
|
|
4218
|
+
export interface AutonomyGuardDecision {
|
|
4219
|
+
allowed: boolean;
|
|
4220
|
+
policyId: string;
|
|
4221
|
+
goal: string;
|
|
4222
|
+
blocked: readonly AutonomyGuardBlock[];
|
|
4223
|
+
acceptedOptimizationTargets: readonly CarePositiveOptimizationTarget[];
|
|
4224
|
+
}
|
|
4225
|
+
export type RepairLoopStatus = 'open' | 'acknowledged' | 'repairing' | 'verified' | 'closed';
|
|
4226
|
+
export type RepairLoopAction = 'acknowledge' | 'explain' | 'amend' | 'verify' | 'close';
|
|
4227
|
+
export interface RepairLoopStep { at: string; actor: CareActor; action: RepairLoopAction; note: string; evidenceRefs?: readonly string[]; }
|
|
4228
|
+
export interface RepairLoop { loopId: string; openedAt: string; status: RepairLoopStatus; harmOrMismatch: string; steps: readonly RepairLoopStep[]; }
|
|
4229
|
+
export type GratitudeVisibility = 'private' | 'team' | 'public';
|
|
4230
|
+
export interface GratitudeLedgerEntry { entryId: string; recordedAt: string; from: CareActor; to: CareActor; contribution: string; visibility: GratitudeVisibility; evidenceRefs?: readonly string[]; }
|
|
4231
|
+
export type RelationalMemoryRetention = 'ephemeral' | 'session' | 'durable';
|
|
4232
|
+
export interface RelationalMemoryEntry { memoryId: string; recordedAt: string; subject: CareActor; summary: string; consent: CareConsentState; retention: RelationalMemoryRetention; evidenceRefs?: readonly string[]; }
|
|
4233
|
+
export interface CareField {
|
|
4234
|
+
schemaVersion: '1.0.0';
|
|
4235
|
+
fieldId: string;
|
|
4236
|
+
createdAt: string;
|
|
4237
|
+
steward: CareActor;
|
|
4238
|
+
counterpart: CareActor;
|
|
4239
|
+
goal: string;
|
|
4240
|
+
primitives: readonly CarePrimitiveKind[];
|
|
4241
|
+
boundaries: readonly CareBoundary[];
|
|
4242
|
+
consent: CareConsentState;
|
|
4243
|
+
autonomy: AutonomyGuardDecision;
|
|
4244
|
+
repairLoops: readonly RepairLoop[];
|
|
4245
|
+
gratitudeLedger: readonly GratitudeLedgerEntry[];
|
|
4246
|
+
relationalMemory: readonly RelationalMemoryEntry[];
|
|
4247
|
+
}
|
|
4248
|
+
export interface CreateCareFieldInput {
|
|
4249
|
+
createdAt: string;
|
|
4250
|
+
steward: CareActor;
|
|
4251
|
+
counterpart: CareActor;
|
|
4252
|
+
goal: string;
|
|
4253
|
+
consent: CareConsentState;
|
|
4254
|
+
autonomy?: Omit<AutonomyGuardEvaluationInput, 'goal' | 'consent'>;
|
|
4255
|
+
fieldId?: string;
|
|
4256
|
+
primitives?: readonly CarePrimitiveKind[];
|
|
4257
|
+
boundaries?: readonly CareBoundary[];
|
|
4258
|
+
repairLoops?: readonly RepairLoop[];
|
|
4259
|
+
gratitudeLedger?: readonly GratitudeLedgerEntry[];
|
|
4260
|
+
relationalMemory?: readonly RelationalMemoryEntry[];
|
|
4261
|
+
}
|
|
4262
|
+
export interface CreateRepairLoopInput { openedAt: string; actor: CareActor; harmOrMismatch: string; note: string; loopId?: string; evidenceRefs?: readonly string[]; }
|
|
4263
|
+
export interface RecordGratitudeInput { recordedAt: string; from: CareActor; to: CareActor; contribution: string; visibility?: GratitudeVisibility; entryId?: string; evidenceRefs?: readonly string[]; }
|
|
4264
|
+
export interface RememberRelationalContextInput { recordedAt: string; subject: CareActor; summary: string; consent: CareConsentState; retention?: RelationalMemoryRetention; memoryId?: string; evidenceRefs?: readonly string[]; }
|
|
4265
|
+
export declare function evaluateAutonomyGuard(input: AutonomyGuardEvaluationInput): AutonomyGuardDecision;
|
|
4266
|
+
export declare function createCareField(input: CreateCareFieldInput): CareField;
|
|
4267
|
+
export declare function createRepairLoop(input: CreateRepairLoopInput): RepairLoop;
|
|
4268
|
+
export declare function recordGratitude(input: RecordGratitudeInput): GratitudeLedgerEntry;
|
|
4269
|
+
export declare function rememberRelationalContext(input: RememberRelationalContextInput): RelationalMemoryEntry;
|
|
4270
|
+
export declare function validateCareField(field: CareField): { valid: boolean; errors: string[] };
|
|
4271
|
+
|
|
4272
|
+
// ============================================================================
|
|
4273
|
+
// CONVERSATION DAEMON PRIMITIVES (D.052 Brittney field / user daemon model)
|
|
4274
|
+
// ============================================================================
|
|
4275
|
+
|
|
4276
|
+
export type DaemonOwnerPolicy = 'private' | 'shared_household' | 'workspace';
|
|
4277
|
+
export type MemoryRetentionPolicy = 'session_only' | 'persisted_local' | 'persisted_with_absorb';
|
|
4278
|
+
export type DispatchConfidence = 'autonomous' | 'confirm_before' | 'always_ask';
|
|
4279
|
+
export interface DaemonAppearanceProfile { characterClass?: string; visualStyle?: string; colorPalette?: string[]; animationSet?: string; scale?: 'tiny' | 'small' | 'medium' | 'large'; }
|
|
4280
|
+
export interface DaemonVoiceProfile { enabled: boolean; voiceId?: string; speed?: number; tone?: 'warm' | 'neutral' | 'formal' | 'playful'; }
|
|
4281
|
+
export interface DaemonToneProfile { formality?: 'casual' | 'balanced' | 'formal'; verbosity?: 'terse' | 'balanced' | 'detailed'; humor?: 'none' | 'light' | 'moderate'; patience?: 'quick' | 'patient'; }
|
|
4282
|
+
export interface DaemonPermissionProfile { readOnly: boolean; proposeMutations: boolean; autonomousMutations: boolean; breakGlassAllowed: boolean; custodyScope: string[]; permissionEnvelope: 'read_only' | 'guarded_execute' | 'break_glass'; }
|
|
4283
|
+
export interface DaemonMemoryPolicy { retention: MemoryRetentionPolicy; maxContextWindowTokens?: number; absorbIntegration: boolean; ownerScoped: true; }
|
|
4284
|
+
export type DaemonContextSourceKind = 'operator_brief' | 'holoscript_surface_map' | 'absorb_graph' | 'holomesh_lanes' | 'recent_receipts' | 'room_state' | 'holoscript_tool_manifest';
|
|
4285
|
+
export interface DaemonDispatchPolicy { defaultConfidence: DispatchConfidence; trustedPatterns: string[]; receiptRequired: boolean; maxAutonomousActionsPerSession: number; }
|
|
4286
|
+
export interface DaemonReceiptSink { local: boolean; holoshell: boolean; absorb: boolean; holomesh: boolean; }
|
|
4287
|
+
export interface DaemonBrittneyRehydrationChannel { enabled: boolean; channelId: string; deltaCompression: boolean; minimumDeltaSignificance: number; }
|
|
4288
|
+
export interface ConversationDaemon { daemonId: string; ownerId: string; ownerPolicy: DaemonOwnerPolicy; displayName: string; appearanceProfile: DaemonAppearanceProfile; voiceProfile: DaemonVoiceProfile; careProfile: string; toneProfile: DaemonToneProfile; permissionProfile: DaemonPermissionProfile; memoryPolicy: DaemonMemoryPolicy; contextSources: DaemonContextSourceKind[]; dispatchPolicy: DaemonDispatchPolicy; receiptSink: DaemonReceiptSink; brittneyRehydrationChannel: DaemonBrittneyRehydrationChannel; createdAt: string; lastActiveAt?: string; }
|
|
4289
|
+
export type DaemonUrgencyLevel = 'low' | 'medium' | 'high' | 'immediate';
|
|
4290
|
+
export type DaemonConsentBoundary = 'no_action' | 'read_only' | 'propose' | 'execute';
|
|
4291
|
+
export interface ExtractedIntent { verb: string; target?: string; parameters: Record<string, unknown>; confidence: number; }
|
|
4292
|
+
export interface ExtractedArtifact { kind: 'file' | 'url' | 'entity' | 'code' | 'receipt' | 'task'; ref: string; label?: string; }
|
|
4293
|
+
export interface ContextDelta { newIntentSignals: ExtractedIntent[]; updatedPreferences: Record<string, unknown>; newReceiptRefs: string[]; capabilityUpdates: Array<{ capability: string; available: boolean }>; careSignalHistory: string[]; significanceScore: number; }
|
|
4294
|
+
export interface ProposedAction { actionId: string; description: string; toolRef: string; parameters: Record<string, unknown>; permissionEnvelope: 'read_only' | 'guarded_execute' | 'break_glass'; reversible: boolean; estimatedImpact: 'none' | 'minor' | 'moderate' | 'significant'; }
|
|
4295
|
+
export interface ConversationDaemonTurn { turnId: string; daemonId: string; surfaceId: string; userUtterance: string; selectedShellObject?: string; extractedIntent?: ExtractedIntent; extractedArtifacts: ExtractedArtifact[]; careSignal?: string; urgency: DaemonUrgencyLevel; consentBoundary: DaemonConsentBoundary; contextDelta: ContextDelta; proposedNextAction?: ProposedAction; requiredApproval: boolean; receiptLinks: string[]; timestamp: string; }
|
|
4296
|
+
export declare class DaemonFieldSeparationError extends Error { constructor(message: string); }
|
|
4297
|
+
export declare function assertDaemonFieldSeparation(daemon: ConversationDaemon): void;
|
|
4298
|
+
export declare function makeDefaultConversationDaemon(daemonId: string, ownerId: string, displayName: string, careProfile: string): ConversationDaemon;
|
|
4299
|
+
export declare function makeEmptyContextDelta(): ContextDelta;
|
|
4300
|
+
export declare function generateROS2LaunchFile(packageName: string, urdfFilename: string, options?: { useSimTime?: boolean; rviz?: boolean; gazebo?: boolean; controllers?: string[]; }): string;
|
|
4301
|
+
export declare function generateControllersYaml(robotName: string, jointNames: string[], options?: { controllerType?: string; publishRate?: number; }): string;
|
|
4302
|
+
|
|
4303
|
+
|
|
4304
|
+
// Daemon Customization Profile (D.052 Brittney field / user daemon model extended)
|
|
4305
|
+
// Matches packages/core/src/daemon/DaemonCustomizationProfile.ts source types
|
|
4306
|
+
export interface DaemonRitual { name: string; trigger: string; description: string; enabled: boolean; }
|
|
4307
|
+
export interface DaemonFavoriteWorkflow { name: string; workflowId: string; description: string; }
|
|
4308
|
+
export interface DaemonStyleProfile { displayName: string; appearance: DaemonAppearanceProfile; voice: DaemonVoiceProfile; tone: DaemonToneProfile; careProfile: string; rituals: DaemonRitual[]; favoriteWorkflows: DaemonFavoriteWorkflow[]; visualTheme: string; personalNotes?: string; }
|
|
4309
|
+
export interface DaemonPermissionConfig { readOnly: boolean; proposeMutations: boolean; autonomousMutations: boolean; breakGlassAllowed: boolean; custodyScope: string[]; permissionEnvelope: 'read_only' | 'guarded_execute' | 'break_glass'; }
|
|
4310
|
+
export interface DaemonCustomizationProfile { profileId: string; ownerId: string; version: number; createdAt: string; updatedAt: string; style: DaemonStyleProfile; permissions: DaemonPermissionConfig; }
|
|
4311
|
+
export type DaemonCareProfile = 'attentive' | 'steady' | 'minimal' | 'intensive';
|
|
4312
|
+
export type DaemonVisualTheme = 'classic' | 'compact' | 'expanded' | 'terminal' | 'narrative';
|
|
4313
|
+
|
|
4314
|
+
export const DAEMON_VISUAL_THEMES: Record<string, DaemonVisualTheme>;
|
|
4315
|
+
export const DAEMON_CARE_PROFILES: Record<string, DaemonCareProfile>;
|
|
4316
|
+
|
|
4317
|
+
export class DaemonCustomizationSeparationError extends Error { constructor(message: string); }
|
|
4318
|
+
|
|
4319
|
+
export declare function assertCustomizationSeparation(profile: DaemonCustomizationProfile): void;
|
|
4320
|
+
export declare function validateCustomizationProfile(profile: DaemonCustomizationProfile): string[];
|
|
4321
|
+
export declare function makeDefaultStyleProfile(displayName?: string, careProfile?: string): DaemonStyleProfile;
|
|
4322
|
+
export declare function makeDefaultPermissionConfig(): DaemonPermissionConfig;
|
|
4323
|
+
export declare function makeDefaultCustomizationProfile(profileId: string, ownerId: string, displayName?: string, careProfile?: string): DaemonCustomizationProfile;
|
|
4324
|
+
export declare function customizationProfileToDaemon(profile: DaemonCustomizationProfile): ConversationDaemon;
|
|
4325
|
+
export declare function daemonToCustomizationProfile(daemon: ConversationDaemon): DaemonCustomizationProfile;
|
|
4326
|
+
export declare function mergeStyleUpdates(profile: DaemonCustomizationProfile, styleUpdates: Partial<DaemonStyleProfile>): DaemonCustomizationProfile;
|
|
4327
|
+
export declare function mergePermissionUpdates(base: DaemonPermissionConfig, updates: Partial<DaemonPermissionConfig>): DaemonPermissionConfig;
|
|
4328
|
+
export declare function makePresetProfile(preset: 'companion' | 'professional' | 'creative' | 'minimal' | 'guardian', profileId: string, ownerId: string): DaemonCustomizationProfile;
|
|
4329
|
+
|
|
4330
|
+
|
|
4331
|
+
// Pipeline parser (barrel/material-io-pipeline re-export)
|
|
4332
|
+
export function parsePipeline(source: string): { success: boolean; errors: any[]; ast?: any; [key: string]: any };
|
|
4333
|
+
export function isPipelineSource(source: string): boolean;
|
|
4334
|
+
|
|
4335
|
+
// Version utilities
|
|
4336
|
+
export function getVersionInfo(): { version: string; [key: string]: any };
|
|
4337
|
+
export function getVersionString(): string;
|
|
4338
|
+
|
|
4339
|
+
// Semantic diff
|
|
4340
|
+
export interface SemanticDiffResult { [key: string]: any; }
|
|
4341
|
+
export class SemanticDiffEngine { constructor(options?: any); diff(a: any, b: any, ...args: any[]): SemanticDiffResult; [key: string]: any; }
|
|
4342
|
+
export function formatDiffResult(result: any): string;
|
|
4343
|
+
|
|
4344
|
+
// Pipeline compilation helpers
|
|
4345
|
+
export function compilePipelineSourceToNode(source: string, options?: any): any;
|
|
4346
|
+
export function parseHoloPartial(source: string, options?: any): any;
|
|
4347
|
+
|
|
4348
|
+
// WASM compilation
|
|
4349
|
+
export function compileToWASM(ast: any, options?: any): any;
|
|
4350
|
+
|
|
4351
|
+
// Compilers re-exported to main barrel for dynamic import callers
|
|
4352
|
+
export class FlatSemanticCompiler { constructor(options?: any); compile(ast: any, ...args: any[]): any; [key: string]: any; }
|
|
4353
|
+
export class SCMCompiler { constructor(options?: any); compile(ast: any, token?: any): any; [key: string]: any; }
|
|
4354
|
+
export class GaussianSplattingCompiler { constructor(options?: { format?: 'gltf' | 'glb'; [key: string]: any }); compile(ast: any, token?: any, ...args: any[]): any; [key: string]: any; }
|
|
4355
|
+
|
|
4356
|
+
// Worker proxy for LSP
|
|
4357
|
+
export class CompilerWorkerProxy { [key: string]: any; }
|
|
4358
|
+
|
|
4359
|
+
// HoloZone for build tools
|
|
4360
|
+
export interface HoloZone { name?: string; [key: string]: any; }
|
|
4361
|
+
|
|
4362
|
+
// LSP completions data
|
|
4363
|
+
export const ErrorRecovery: any;
|
|
4364
|
+
export const HOLOSCHEMA_KEYWORDS: string[];
|
|
4365
|
+
export const HOLOSCHEMA_GEOMETRIES: string[];
|
|
4366
|
+
export const HOLOSCHEMA_PROPERTIES: string[];
|