@adaas/a-frame 0.1.1 → 0.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/.conf/tsconfig.browser.json +7 -1
- package/.conf/tsconfig.node.json +7 -1
- package/dist/browser/A-FrameBrowserStorageBlobs.context-CZTTvpn2.d.mts +53 -0
- package/dist/browser/A-FrameBrowserStorageBlobs.context-CaGTyatz.d.mts +40 -0
- package/dist/browser/A-FrameBrowserStorageBlobs.context-DjeEH8cn.d.mts +53 -0
- package/dist/browser/A-FrameBrowserStorageBlobs.context-vCsuTea9.d.mts +40 -0
- package/dist/browser/A-FrameBundle.types-LzfgdMiQ.d.mts +71 -0
- package/dist/browser/A-FrameChannel.component-4mTNctXL.d.mts +704 -0
- package/dist/browser/A-FrameChannel.types-BXEKJK9t.d.mts +205 -0
- package/dist/browser/A-FrameChannel.types-Ba3wgUZj.d.mts +199 -0
- package/dist/browser/A-FrameChannel.types-BfINhQZe.d.mts +145 -0
- package/dist/browser/A-FrameChannel.types-DfacgYL1.d.mts +199 -0
- package/dist/browser/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
- package/dist/browser/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
- package/dist/browser/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
- package/dist/browser/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
- package/dist/browser/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
- package/dist/browser/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
- package/dist/browser/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
- package/dist/browser/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
- package/dist/browser/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
- package/dist/browser/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
- package/dist/browser/A-FrameEnv.types-DnK-CYVk.d.mts +21 -0
- package/dist/browser/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
- package/dist/browser/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
- package/dist/browser/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
- package/dist/browser/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
- package/dist/browser/bundle.d.mts +6 -2
- package/dist/browser/bundle.mjs +1 -1
- package/dist/browser/bundle.mjs.map +1 -1
- package/dist/browser/channel.d.mts +51 -74
- package/dist/browser/channel.mjs +1 -2
- package/dist/browser/channel.mjs.map +1 -1
- package/dist/browser/chunk-2RNFZSBL.mjs +2 -0
- package/dist/browser/chunk-2RNFZSBL.mjs.map +1 -0
- package/dist/browser/chunk-46LRNZRG.mjs +2 -0
- package/dist/browser/chunk-46LRNZRG.mjs.map +1 -0
- package/dist/browser/chunk-52HFO3OY.mjs +2 -0
- package/dist/browser/chunk-52HFO3OY.mjs.map +1 -0
- package/dist/browser/chunk-643KGQKR.mjs +3 -0
- package/dist/browser/chunk-643KGQKR.mjs.map +1 -0
- package/dist/browser/chunk-66BBIZAM.mjs +3 -0
- package/dist/browser/chunk-66BBIZAM.mjs.map +1 -0
- package/dist/browser/chunk-6NPQURSO.mjs +2 -0
- package/dist/browser/chunk-6NPQURSO.mjs.map +1 -0
- package/dist/browser/chunk-6WAOMX7M.mjs +2 -0
- package/dist/browser/chunk-6WAOMX7M.mjs.map +1 -0
- package/dist/browser/chunk-77HU5SRQ.mjs +2 -0
- package/dist/browser/chunk-77HU5SRQ.mjs.map +1 -0
- package/dist/browser/chunk-AET6XULU.mjs +2 -0
- package/dist/browser/chunk-AET6XULU.mjs.map +1 -0
- package/dist/browser/chunk-BIBPE2GT.mjs +3 -0
- package/dist/browser/chunk-BIBPE2GT.mjs.map +1 -0
- package/dist/browser/chunk-CDJKU4DK.mjs +2 -0
- package/dist/browser/chunk-CDJKU4DK.mjs.map +1 -0
- package/dist/browser/chunk-CT67Y46H.mjs +3 -0
- package/dist/browser/chunk-CT67Y46H.mjs.map +1 -0
- package/dist/browser/chunk-EFC7OUNO.mjs +2 -0
- package/dist/browser/chunk-EFC7OUNO.mjs.map +1 -0
- package/dist/browser/chunk-EJIX7H7A.mjs +2 -0
- package/dist/browser/chunk-EJIX7H7A.mjs.map +1 -0
- package/dist/browser/chunk-FHJ5ATND.mjs +3 -0
- package/dist/browser/chunk-FHJ5ATND.mjs.map +1 -0
- package/dist/browser/chunk-FVH2EEVP.mjs +3 -0
- package/dist/browser/chunk-FVH2EEVP.mjs.map +1 -0
- package/dist/browser/chunk-G6ULYKSU.mjs +2 -0
- package/dist/browser/chunk-G6ULYKSU.mjs.map +1 -0
- package/dist/browser/chunk-G7MKGKG5.mjs +2 -0
- package/dist/browser/chunk-G7MKGKG5.mjs.map +1 -0
- package/dist/browser/chunk-GOMJPGVB.mjs +3 -0
- package/dist/browser/chunk-GOMJPGVB.mjs.map +1 -0
- package/dist/browser/chunk-INQV5UZA.mjs +2 -0
- package/dist/browser/chunk-INQV5UZA.mjs.map +1 -0
- package/dist/browser/chunk-INXPVBTZ.mjs +2 -0
- package/dist/browser/chunk-INXPVBTZ.mjs.map +1 -0
- package/dist/browser/chunk-KFMVTZ7T.mjs +2 -0
- package/dist/browser/chunk-KFMVTZ7T.mjs.map +1 -0
- package/dist/browser/chunk-LK6C7C3S.mjs +2 -0
- package/dist/browser/chunk-LK6C7C3S.mjs.map +1 -0
- package/dist/browser/chunk-LOGRQOWP.mjs +3 -0
- package/dist/browser/chunk-LOGRQOWP.mjs.map +1 -0
- package/dist/browser/chunk-LZACYSUC.mjs +3 -0
- package/dist/browser/chunk-LZACYSUC.mjs.map +1 -0
- package/dist/browser/chunk-NTOIVRX3.mjs +2 -0
- package/dist/browser/chunk-NTOIVRX3.mjs.map +1 -0
- package/dist/browser/chunk-OES2N3X7.mjs +3 -0
- package/dist/browser/chunk-OES2N3X7.mjs.map +1 -0
- package/dist/browser/chunk-OFKV5GNB.mjs +1 -1
- package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -1
- package/dist/browser/chunk-OVLM5A32.mjs +3 -0
- package/dist/browser/chunk-OVLM5A32.mjs.map +1 -0
- package/dist/browser/chunk-QATIN7CO.mjs +1 -1
- package/dist/browser/chunk-QATIN7CO.mjs.map +1 -1
- package/dist/browser/chunk-QOL7CAUZ.mjs +2 -0
- package/dist/browser/chunk-QOL7CAUZ.mjs.map +1 -0
- package/dist/browser/chunk-RCB3PX4V.mjs +2 -0
- package/dist/browser/chunk-RCB3PX4V.mjs.map +1 -0
- package/dist/browser/chunk-RWQSCROK.mjs +3 -0
- package/dist/browser/chunk-RWQSCROK.mjs.map +1 -0
- package/dist/browser/chunk-TIAUMK2X.mjs +2 -0
- package/dist/browser/chunk-TIAUMK2X.mjs.map +1 -0
- package/dist/browser/chunk-TQPC5MYM.mjs +3 -0
- package/dist/browser/chunk-TQPC5MYM.mjs.map +1 -0
- package/dist/browser/chunk-UNIKTCXL.mjs +3 -0
- package/dist/browser/chunk-UNIKTCXL.mjs.map +1 -0
- package/dist/browser/chunk-UULJJ5C5.mjs +3 -0
- package/dist/browser/chunk-UULJJ5C5.mjs.map +1 -0
- package/dist/browser/chunk-VSSANMPF.mjs +2 -0
- package/dist/browser/chunk-VSSANMPF.mjs.map +1 -0
- package/dist/browser/chunk-VW2BZYNY.mjs +2 -0
- package/dist/browser/chunk-VW2BZYNY.mjs.map +1 -0
- package/dist/browser/chunk-WAXBOWM6.mjs +3 -0
- package/dist/browser/chunk-WAXBOWM6.mjs.map +1 -0
- package/dist/browser/chunk-WXCQCHAX.mjs +2 -0
- package/dist/browser/chunk-WXCQCHAX.mjs.map +1 -0
- package/dist/browser/chunk-XKKBIIZG.mjs +3 -0
- package/dist/browser/chunk-XKKBIIZG.mjs.map +1 -0
- package/dist/browser/chunk-XR7FVA5M.mjs +3 -0
- package/dist/browser/chunk-XR7FVA5M.mjs.map +1 -0
- package/dist/browser/chunk-YQJFTBGV.mjs +1 -1
- package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -1
- package/dist/browser/chunk-YTAMZDWC.mjs +3 -0
- package/dist/browser/chunk-YTAMZDWC.mjs.map +1 -0
- package/dist/browser/chunk-ZEONOTRL.mjs +2 -0
- package/dist/browser/chunk-ZEONOTRL.mjs.map +1 -0
- package/dist/browser/completion.d.mts +10 -0
- package/dist/browser/completion.mjs +2 -0
- package/dist/browser/completion.mjs.map +1 -0
- package/dist/browser/core.d.mts +7 -6
- package/dist/browser/core.mjs +1 -1
- package/dist/browser/core.mjs.map +1 -1
- package/dist/browser/credentials.d.mts +74 -0
- package/dist/browser/credentials.mjs +2 -0
- package/dist/browser/credentials.mjs.map +1 -0
- package/dist/browser/definition.d.mts +3 -2
- package/dist/browser/definition.mjs +1 -1
- package/dist/browser/dynamic-content.d.mts +13 -0
- package/dist/browser/dynamic-content.mjs +2 -0
- package/dist/browser/dynamic-content.mjs.map +1 -0
- package/dist/browser/dynamic-feature.d.mts +66 -6
- package/dist/browser/dynamic-feature.mjs +3 -1
- package/dist/browser/dynamic-feature.mjs.map +1 -1
- package/dist/browser/dynamic-structure.d.mts +77 -3
- package/dist/browser/dynamic-structure.mjs +1 -1
- package/dist/browser/dynamic-structure.mjs.map +1 -1
- package/dist/browser/env.d.mts +16 -2
- package/dist/browser/env.mjs +1 -1
- package/dist/browser/frame-index.d.mts +70 -9
- package/dist/browser/frame-index.mjs +1 -1
- package/dist/browser/models.d.mts +64 -0
- package/dist/browser/models.mjs +2 -0
- package/dist/browser/models.mjs.map +1 -0
- package/dist/browser/namespace.d.mts +1 -1
- package/dist/browser/namespace.mjs +1 -1
- package/dist/browser/schema.d.mts +10 -0
- package/dist/browser/schema.mjs +2 -0
- package/dist/browser/schema.mjs.map +1 -0
- package/dist/browser/segment.d.mts +13 -0
- package/dist/browser/segment.mjs +2 -0
- package/dist/browser/segment.mjs.map +1 -0
- package/dist/browser/storage.d.mts +13 -7
- package/dist/browser/storage.mjs +1 -1
- package/dist/browser/vector.d.mts +7 -0
- package/dist/browser/vector.mjs +1 -1
- package/dist/cli.cjs +5593 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/node/A-FrameChannel.component--YErPxf4.d.mts +97 -0
- package/dist/node/A-FrameChannel.component-BjgqMh1B.d.ts +97 -0
- package/dist/node/A-FrameChannel.component-C0O3TaRD.d.ts +679 -0
- package/dist/node/A-FrameChannel.component-CgBZYBz0.d.mts +379 -0
- package/dist/node/A-FrameChannel.component-CkZserv3.d.ts +97 -0
- package/dist/node/A-FrameChannel.component-DMA-3sUB.d.mts +679 -0
- package/dist/node/A-FrameChannel.component-DYV8omYR.d.ts +379 -0
- package/dist/node/A-FrameChannel.component-DwgYNfFn.d.mts +97 -0
- package/dist/node/A-FrameChannel.types-B3_xWKEO.d.mts +151 -0
- package/dist/node/A-FrameChannel.types-BGcVXTqa.d.ts +205 -0
- package/dist/node/A-FrameChannel.types-Boi8QqDK.d.mts +205 -0
- package/dist/node/A-FrameChannel.types-BsE6bNky.d.mts +205 -0
- package/dist/node/A-FrameChannel.types-C-gxXl8m.d.ts +151 -0
- package/dist/node/A-FrameChannel.types-DD2B11rf.d.ts +205 -0
- package/dist/node/A-FrameChannel.types-DYMgRiCF.d.mts +205 -0
- package/dist/node/A-FrameChannel.types-DwyZRsOy.d.ts +205 -0
- package/dist/node/A-FrameCompletion.entity-Brx11JMp.d.ts +72 -0
- package/dist/node/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
- package/dist/node/A-FrameDefinition.entity-BIF0sclD.d.ts +370 -0
- package/dist/node/A-FrameDefinition.entity-Bt9ua6cn.d.ts +358 -0
- package/dist/node/A-FrameDefinition.entity-C0kzaGJ0.d.ts +143 -0
- package/dist/node/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
- package/dist/node/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
- package/dist/node/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
- package/dist/node/A-FrameDefinition.types-BA_pLGpo.d.ts +232 -0
- package/dist/node/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
- package/dist/node/A-FrameDynamicContentOperation.context-C_aH1gEn.d.ts +297 -0
- package/dist/node/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
- package/dist/node/A-FrameDynamicContentOperation.context-DRqH2c3o.d.ts +266 -0
- package/dist/node/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
- package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
- package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.ts +29 -0
- package/dist/node/A-FrameDynamicStructure.entity-BVCbolMd.d.ts +210 -0
- package/dist/node/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
- package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
- package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.ts +235 -0
- package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.mts +114 -0
- package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.ts +114 -0
- package/dist/node/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
- package/dist/node/A-FrameNamespace.entity-HDXcLGcS.d.ts +136 -0
- package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
- package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.ts +141 -0
- package/dist/node/A-FrameSegment.entity-C0izuOmC.d.ts +161 -0
- package/dist/node/A-FrameSegment.entity-CMCgFCWU.d.ts +146 -0
- package/dist/node/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
- package/dist/node/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
- package/dist/node/A-FrameStorage.component-BnNKzvpY.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-CDztogHV.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-CW0YgKDI.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-D4UEkIBx.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-DV_jwK6r.d.ts +107 -0
- package/dist/node/A-FrameStorage.component-Di4EvbtC.d.ts +107 -0
- package/dist/node/A-FrameStorage.component-emIH1a1M.d.ts +107 -0
- package/dist/node/A-FrameStorage.component-y-JPiIQ4.d.ts +107 -0
- package/dist/node/bundle.cjs +66 -21
- package/dist/node/bundle.cjs.map +1 -1
- package/dist/node/bundle.d.mts +88 -24
- package/dist/node/bundle.d.ts +88 -24
- package/dist/node/bundle.mjs +65 -20
- package/dist/node/bundle.mjs.map +1 -1
- package/dist/node/channel.cjs +33 -26
- package/dist/node/channel.d.mts +10 -6
- package/dist/node/channel.d.ts +10 -6
- package/dist/node/channel.mjs +13 -6
- package/dist/node/chunk-2HUSP34L.mjs +55 -0
- package/dist/node/chunk-2HUSP34L.mjs.map +1 -0
- package/dist/node/chunk-2KXGI2E5.cjs +474 -0
- package/dist/node/chunk-2KXGI2E5.cjs.map +1 -0
- package/dist/node/chunk-2OQMOIR5.mjs +170 -0
- package/dist/node/chunk-2OQMOIR5.mjs.map +1 -0
- package/dist/node/chunk-2UI7RJ4Q.mjs +207 -0
- package/dist/node/chunk-2UI7RJ4Q.mjs.map +1 -0
- package/dist/node/chunk-3SLICJ3L.cjs +265 -0
- package/dist/node/chunk-3SLICJ3L.cjs.map +1 -0
- package/dist/node/chunk-3ZDHQOIU.cjs +92 -0
- package/dist/node/chunk-3ZDHQOIU.cjs.map +1 -0
- package/dist/node/chunk-5BKCX2RO.mjs +1 -1
- package/dist/node/chunk-5BKCX2RO.mjs.map +1 -1
- package/dist/node/chunk-5NCGXLP2.mjs +6 -0
- package/dist/node/chunk-5NCGXLP2.mjs.map +1 -0
- package/dist/node/chunk-5OTXZ7BB.mjs +53 -0
- package/dist/node/chunk-5OTXZ7BB.mjs.map +1 -0
- package/dist/node/chunk-5PYIATGT.mjs +469 -0
- package/dist/node/chunk-5PYIATGT.mjs.map +1 -0
- package/dist/node/chunk-64QCZG53.cjs +57 -0
- package/dist/node/chunk-64QCZG53.cjs.map +1 -0
- package/dist/node/chunk-652OEICJ.cjs +4 -0
- package/dist/node/chunk-652OEICJ.cjs.map +1 -0
- package/dist/node/chunk-674ZX6XJ.mjs +187 -0
- package/dist/node/chunk-674ZX6XJ.mjs.map +1 -0
- package/dist/node/chunk-6ID2IXYX.mjs +6 -0
- package/dist/node/chunk-6ID2IXYX.mjs.map +1 -0
- package/dist/node/chunk-7EM3Q7HA.mjs +655 -0
- package/dist/node/chunk-7EM3Q7HA.mjs.map +1 -0
- package/dist/node/chunk-7MVVMISA.cjs +293 -0
- package/dist/node/chunk-7MVVMISA.cjs.map +1 -0
- package/dist/node/chunk-7NSLGCAZ.mjs +1395 -0
- package/dist/node/chunk-7NSLGCAZ.mjs.map +1 -0
- package/dist/node/chunk-7OLLATCC.mjs +1289 -0
- package/dist/node/chunk-7OLLATCC.mjs.map +1 -0
- package/dist/node/chunk-7SEZMRLI.cjs +183 -0
- package/dist/node/chunk-7SEZMRLI.cjs.map +1 -0
- package/dist/node/chunk-A4CVDMSV.mjs +608 -0
- package/dist/node/chunk-A4CVDMSV.mjs.map +1 -0
- package/dist/node/chunk-A7CJIUYY.cjs +4 -0
- package/dist/node/chunk-A7CJIUYY.cjs.map +1 -0
- package/dist/node/chunk-ALFFUJ2J.mjs +163 -0
- package/dist/node/chunk-ALFFUJ2J.mjs.map +1 -0
- package/dist/node/chunk-AMMQ76RJ.mjs +179 -0
- package/dist/node/chunk-AMMQ76RJ.mjs.map +1 -0
- package/dist/node/chunk-AUKWKGVA.cjs +688 -0
- package/dist/node/chunk-AUKWKGVA.cjs.map +1 -0
- package/dist/node/chunk-AY6UMDWD.cjs +270 -0
- package/dist/node/chunk-AY6UMDWD.cjs.map +1 -0
- package/dist/node/chunk-B7ZDJXD3.cjs +1 -1
- package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -1
- package/dist/node/chunk-BBYOL3LM.cjs +1308 -0
- package/dist/node/chunk-BBYOL3LM.cjs.map +1 -0
- package/dist/node/chunk-BINGAHFW.cjs +1308 -0
- package/dist/node/chunk-BINGAHFW.cjs.map +1 -0
- package/dist/node/chunk-BSBY37MG.cjs +55 -0
- package/dist/node/chunk-BSBY37MG.cjs.map +1 -0
- package/dist/node/chunk-BWX7HFTH.cjs +209 -0
- package/dist/node/chunk-BWX7HFTH.cjs.map +1 -0
- package/dist/node/chunk-C37B34MH.cjs +188 -0
- package/dist/node/chunk-C37B34MH.cjs.map +1 -0
- package/dist/node/chunk-C6BBKHQG.cjs +250 -0
- package/dist/node/chunk-C6BBKHQG.cjs.map +1 -0
- package/dist/node/chunk-CLCAS67N.cjs +8 -0
- package/dist/node/chunk-CLCAS67N.cjs.map +1 -0
- package/dist/node/chunk-CNU3CRTR.mjs +43 -0
- package/dist/node/chunk-CNU3CRTR.mjs.map +1 -0
- package/dist/node/chunk-CV5FPKU6.mjs +6 -0
- package/dist/node/chunk-CV5FPKU6.mjs.map +1 -0
- package/dist/node/chunk-CZYOAFIR.mjs +129 -0
- package/dist/node/chunk-CZYOAFIR.mjs.map +1 -0
- package/dist/node/chunk-D2HTYEJZ.cjs +209 -0
- package/dist/node/chunk-D2HTYEJZ.cjs.map +1 -0
- package/dist/node/chunk-EMLZZPOT.cjs +1446 -0
- package/dist/node/chunk-EMLZZPOT.cjs.map +1 -0
- package/dist/node/chunk-EOIXXXBV.cjs +55 -0
- package/dist/node/chunk-EOIXXXBV.cjs.map +1 -0
- package/dist/node/chunk-F4UCOZW5.mjs +1 -1
- package/dist/node/chunk-F4UCOZW5.mjs.map +1 -1
- package/dist/node/chunk-F64CK4NI.mjs +53 -0
- package/dist/node/chunk-F64CK4NI.mjs.map +1 -0
- package/dist/node/chunk-FAV62EUG.cjs +35 -0
- package/dist/node/chunk-FAV62EUG.cjs.map +1 -0
- package/dist/node/chunk-GHSPKZUN.mjs +529 -0
- package/dist/node/chunk-GHSPKZUN.mjs.map +1 -0
- package/dist/node/chunk-GRNVK7DW.mjs +97 -0
- package/dist/node/chunk-GRNVK7DW.mjs.map +1 -0
- package/dist/node/chunk-H5VGRPD5.cjs +8 -0
- package/dist/node/chunk-H5VGRPD5.cjs.map +1 -0
- package/dist/node/chunk-HAMDDCPS.cjs +8 -0
- package/dist/node/chunk-HAMDDCPS.cjs.map +1 -0
- package/dist/node/chunk-HAORARSB.cjs +75 -0
- package/dist/node/chunk-HAORARSB.cjs.map +1 -0
- package/dist/node/chunk-HELNAM5Y.cjs +8 -0
- package/dist/node/chunk-HELNAM5Y.cjs.map +1 -0
- package/dist/node/chunk-HET6L5PD.mjs +530 -0
- package/dist/node/chunk-HET6L5PD.mjs.map +1 -0
- package/dist/node/chunk-HI5SEX53.mjs +264 -0
- package/dist/node/chunk-HI5SEX53.mjs.map +1 -0
- package/dist/node/chunk-HZGFXE4Q.mjs +6 -0
- package/dist/node/chunk-HZGFXE4Q.mjs.map +1 -0
- package/dist/node/chunk-IAL2NK2V.mjs +73 -0
- package/dist/node/chunk-IAL2NK2V.mjs.map +1 -0
- package/dist/node/chunk-IHELFDCW.mjs +327 -0
- package/dist/node/chunk-IHELFDCW.mjs.map +1 -0
- package/dist/node/chunk-ILD6OSYW.mjs +966 -0
- package/dist/node/chunk-ILD6OSYW.mjs.map +1 -0
- package/dist/node/chunk-IP6DFAO7.mjs +264 -0
- package/dist/node/chunk-IP6DFAO7.mjs.map +1 -0
- package/dist/node/chunk-IYEDO7OQ.cjs +276 -0
- package/dist/node/chunk-IYEDO7OQ.cjs.map +1 -0
- package/dist/node/chunk-JFPGFPQD.mjs +1413 -0
- package/dist/node/chunk-JFPGFPQD.mjs.map +1 -0
- package/dist/node/chunk-JHZGTVYF.cjs +999 -0
- package/dist/node/chunk-JHZGTVYF.cjs.map +1 -0
- package/dist/node/chunk-JN3UJBUH.mjs +608 -0
- package/dist/node/chunk-JN3UJBUH.mjs.map +1 -0
- package/dist/node/chunk-JNPDXCCN.mjs +530 -0
- package/dist/node/chunk-JNPDXCCN.mjs.map +1 -0
- package/dist/node/chunk-JQBYDEMW.mjs +1 -1
- package/dist/node/chunk-JQBYDEMW.mjs.map +1 -1
- package/dist/node/chunk-JQJ7N4NL.cjs +267 -0
- package/dist/node/chunk-JQJ7N4NL.cjs.map +1 -0
- package/dist/node/chunk-K4AJBPPY.cjs +174 -0
- package/dist/node/chunk-K4AJBPPY.cjs.map +1 -0
- package/dist/node/chunk-K7SXPJPK.cjs +131 -0
- package/dist/node/chunk-K7SXPJPK.cjs.map +1 -0
- package/dist/node/chunk-KFW4GE7H.mjs +1289 -0
- package/dist/node/chunk-KFW4GE7H.mjs.map +1 -0
- package/dist/node/chunk-KKL2DF2D.cjs +518 -0
- package/dist/node/chunk-KKL2DF2D.cjs.map +1 -0
- package/dist/node/chunk-KKMKQGTR.cjs +620 -0
- package/dist/node/chunk-KKMKQGTR.cjs.map +1 -0
- package/dist/node/chunk-KNTO7FCZ.mjs +207 -0
- package/dist/node/chunk-KNTO7FCZ.mjs.map +1 -0
- package/dist/node/chunk-KTKVW3PH.mjs +286 -0
- package/dist/node/chunk-KTKVW3PH.mjs.map +1 -0
- package/dist/node/chunk-KZPSF32W.mjs +33 -0
- package/dist/node/chunk-KZPSF32W.mjs.map +1 -0
- package/dist/node/chunk-LWKFCMA7.mjs +129 -0
- package/dist/node/chunk-LWKFCMA7.mjs.map +1 -0
- package/dist/node/chunk-M2ZSE6YJ.mjs +512 -0
- package/dist/node/chunk-M2ZSE6YJ.mjs.map +1 -0
- package/dist/node/chunk-M6DJYGDO.cjs +167 -0
- package/dist/node/chunk-M6DJYGDO.cjs.map +1 -0
- package/dist/node/chunk-MAHKDTOQ.mjs +3 -0
- package/dist/node/chunk-MAHKDTOQ.mjs.map +1 -0
- package/dist/node/chunk-MM2R2OM6.cjs +541 -0
- package/dist/node/chunk-MM2R2OM6.cjs.map +1 -0
- package/dist/node/chunk-MSOD5UQH.cjs +45 -0
- package/dist/node/chunk-MSOD5UQH.cjs.map +1 -0
- package/dist/node/chunk-MVAWR76Q.cjs +276 -0
- package/dist/node/chunk-MVAWR76Q.cjs.map +1 -0
- package/dist/node/chunk-MXUO7OR5.cjs +97 -0
- package/dist/node/chunk-MXUO7OR5.cjs.map +1 -0
- package/dist/node/chunk-N4THTV6P.cjs +131 -0
- package/dist/node/chunk-N4THTV6P.cjs.map +1 -0
- package/dist/node/chunk-NIXKAQVP.cjs +1 -1
- package/dist/node/chunk-NIXKAQVP.cjs.map +1 -1
- package/dist/node/chunk-NUPXUUPM.cjs +1428 -0
- package/dist/node/chunk-NUPXUUPM.cjs.map +1 -0
- package/dist/node/chunk-NWOUVAIS.cjs +45 -0
- package/dist/node/chunk-NWOUVAIS.cjs.map +1 -0
- package/dist/node/chunk-OK7I5OQ3.mjs +89 -0
- package/dist/node/chunk-OK7I5OQ3.mjs.map +1 -0
- package/dist/node/chunk-OMGYXCFM.mjs +248 -0
- package/dist/node/chunk-OMGYXCFM.mjs.map +1 -0
- package/dist/node/chunk-OYZAQMKD.mjs +263 -0
- package/dist/node/chunk-OYZAQMKD.mjs.map +1 -0
- package/dist/node/chunk-P2LULMNL.cjs +189 -0
- package/dist/node/chunk-P2LULMNL.cjs.map +1 -0
- package/dist/node/chunk-PABEFHCO.mjs +63 -0
- package/dist/node/chunk-PABEFHCO.mjs.map +1 -0
- package/dist/node/chunk-Q5NYJQP2.cjs +8 -0
- package/dist/node/chunk-Q5NYJQP2.cjs.map +1 -0
- package/dist/node/chunk-QCEWWJ3N.cjs +65 -0
- package/dist/node/chunk-QCEWWJ3N.cjs.map +1 -0
- package/dist/node/chunk-QW4AZ3Z2.cjs +542 -0
- package/dist/node/chunk-QW4AZ3Z2.cjs.map +1 -0
- package/dist/node/chunk-RK5WSZ5J.mjs +43 -0
- package/dist/node/chunk-RK5WSZ5J.mjs.map +1 -0
- package/dist/node/chunk-RPHYBPXT.mjs +30 -0
- package/dist/node/chunk-RPHYBPXT.mjs.map +1 -0
- package/dist/node/chunk-RVXASBMQ.mjs +273 -0
- package/dist/node/chunk-RVXASBMQ.mjs.map +1 -0
- package/dist/node/chunk-RVZTZD32.mjs +187 -0
- package/dist/node/chunk-RVZTZD32.mjs.map +1 -0
- package/dist/node/chunk-RWLKISZQ.mjs +273 -0
- package/dist/node/chunk-RWLKISZQ.mjs.map +1 -0
- package/dist/node/chunk-SESXQJDD.cjs +999 -0
- package/dist/node/chunk-SESXQJDD.cjs.map +1 -0
- package/dist/node/chunk-SKIEPTFS.mjs +6 -0
- package/dist/node/chunk-SKIEPTFS.mjs.map +1 -0
- package/dist/node/chunk-SL7FT5R5.mjs +94 -0
- package/dist/node/chunk-SL7FT5R5.mjs.map +1 -0
- package/dist/node/chunk-SXHQW74T.mjs +43 -0
- package/dist/node/chunk-SXHQW74T.mjs.map +1 -0
- package/dist/node/chunk-TEJKDVNT.cjs +620 -0
- package/dist/node/chunk-TEJKDVNT.cjs.map +1 -0
- package/dist/node/chunk-TQS5WYND.cjs +352 -0
- package/dist/node/chunk-TQS5WYND.cjs.map +1 -0
- package/dist/node/chunk-UCAWV2IG.mjs +184 -0
- package/dist/node/chunk-UCAWV2IG.mjs.map +1 -0
- package/dist/node/chunk-UDUJDEAO.cjs +189 -0
- package/dist/node/chunk-UDUJDEAO.cjs.map +1 -0
- package/dist/node/chunk-VMJDL4SS.cjs +542 -0
- package/dist/node/chunk-VMJDL4SS.cjs.map +1 -0
- package/dist/node/chunk-VNOZTB3B.cjs +8 -0
- package/dist/node/chunk-VNOZTB3B.cjs.map +1 -0
- package/dist/node/chunk-VPMBZGYR.mjs +327 -0
- package/dist/node/chunk-VPMBZGYR.mjs.map +1 -0
- package/dist/node/chunk-WEPNBKOA.mjs +6 -0
- package/dist/node/chunk-WEPNBKOA.mjs.map +1 -0
- package/dist/node/chunk-WTBRJXFG.cjs +100 -0
- package/dist/node/chunk-WTBRJXFG.cjs.map +1 -0
- package/dist/node/chunk-WXCQCHAX.mjs +3 -0
- package/dist/node/chunk-WXCQCHAX.mjs.map +1 -0
- package/dist/node/chunk-X3TRPYGV.cjs +352 -0
- package/dist/node/chunk-X3TRPYGV.cjs.map +1 -0
- package/dist/node/chunk-XFUF7SDO.cjs +1 -1
- package/dist/node/chunk-XFUF7SDO.cjs.map +1 -1
- package/dist/node/chunk-XP2EPEBM.mjs +966 -0
- package/dist/node/chunk-XP2EPEBM.mjs.map +1 -0
- package/dist/node/chunk-XPIJ6BKP.cjs +45 -0
- package/dist/node/chunk-XPIJ6BKP.cjs.map +1 -0
- package/dist/node/chunk-YRVBMP7I.cjs +542 -0
- package/dist/node/chunk-YRVBMP7I.cjs.map +1 -0
- package/dist/node/chunk-ZIHSN5EE.mjs +530 -0
- package/dist/node/chunk-ZIHSN5EE.mjs.map +1 -0
- package/dist/node/chunk-ZNQMUU7I.cjs +32 -0
- package/dist/node/chunk-ZNQMUU7I.cjs.map +1 -0
- package/dist/node/completion.cjs +23 -0
- package/dist/node/completion.cjs.map +1 -0
- package/dist/node/completion.d.mts +10 -0
- package/dist/node/completion.d.ts +10 -0
- package/dist/node/completion.mjs +6 -0
- package/dist/node/completion.mjs.map +1 -0
- package/dist/node/core.cjs +67 -38
- package/dist/node/core.cjs.map +1 -1
- package/dist/node/core.d.mts +13 -8
- package/dist/node/core.d.ts +13 -8
- package/dist/node/core.mjs +58 -29
- package/dist/node/core.mjs.map +1 -1
- package/dist/node/credentials.cjs +17 -0
- package/dist/node/credentials.cjs.map +1 -0
- package/dist/node/credentials.d.mts +74 -0
- package/dist/node/credentials.d.ts +74 -0
- package/dist/node/credentials.mjs +4 -0
- package/dist/node/credentials.mjs.map +1 -0
- package/dist/node/definition.cjs +6 -4
- package/dist/node/definition.d.mts +3 -2
- package/dist/node/definition.d.ts +3 -2
- package/dist/node/definition.mjs +4 -2
- package/dist/node/dynamic-content.cjs +30 -0
- package/dist/node/dynamic-content.cjs.map +1 -0
- package/dist/node/dynamic-content.d.mts +13 -0
- package/dist/node/dynamic-content.d.ts +13 -0
- package/dist/node/dynamic-content.mjs +9 -0
- package/dist/node/dynamic-content.mjs.map +1 -0
- package/dist/node/dynamic-feature.cjs +41 -7
- package/dist/node/dynamic-feature.cjs.map +1 -1
- package/dist/node/dynamic-feature.d.mts +66 -6
- package/dist/node/dynamic-feature.d.ts +66 -6
- package/dist/node/dynamic-feature.mjs +16 -9
- package/dist/node/dynamic-feature.mjs.map +1 -1
- package/dist/node/dynamic-structure.cjs +45 -136
- package/dist/node/dynamic-structure.cjs.map +1 -1
- package/dist/node/dynamic-structure.d.mts +77 -3
- package/dist/node/dynamic-structure.d.ts +77 -3
- package/dist/node/dynamic-structure.mjs +16 -135
- package/dist/node/dynamic-structure.mjs.map +1 -1
- package/dist/node/env.cjs +3 -3
- package/dist/node/env.d.mts +26 -0
- package/dist/node/env.d.ts +26 -0
- package/dist/node/env.mjs +2 -2
- package/dist/node/frame-index.cjs +7 -4
- package/dist/node/frame-index.d.mts +70 -9
- package/dist/node/frame-index.d.ts +70 -9
- package/dist/node/frame-index.mjs +6 -3
- package/dist/node/logger.d.mts +4 -113
- package/dist/node/logger.d.ts +4 -113
- package/dist/node/models.cjs +14 -0
- package/dist/node/models.cjs.map +1 -0
- package/dist/node/models.d.mts +64 -0
- package/dist/node/models.d.ts +64 -0
- package/dist/node/models.mjs +5 -0
- package/dist/node/models.mjs.map +1 -0
- package/dist/node/namespace.cjs +7 -5
- package/dist/node/namespace.d.mts +1 -1
- package/dist/node/namespace.d.ts +1 -1
- package/dist/node/namespace.mjs +4 -2
- package/dist/node/schema.cjs +22 -0
- package/dist/node/schema.cjs.map +1 -0
- package/dist/node/schema.d.mts +10 -0
- package/dist/node/schema.d.ts +10 -0
- package/dist/node/schema.mjs +5 -0
- package/dist/node/schema.mjs.map +1 -0
- package/dist/node/segment.cjs +25 -0
- package/dist/node/segment.cjs.map +1 -0
- package/dist/node/segment.d.mts +13 -0
- package/dist/node/segment.d.ts +13 -0
- package/dist/node/segment.mjs +8 -0
- package/dist/node/segment.mjs.map +1 -0
- package/dist/node/storage.cjs +17 -14
- package/dist/node/storage.d.mts +18 -6
- package/dist/node/storage.d.ts +18 -6
- package/dist/node/storage.mjs +11 -8
- package/dist/node/vector.cjs +2 -2
- package/dist/node/vector.d.mts +7 -0
- package/dist/node/vector.d.ts +7 -0
- package/dist/node/vector.mjs +1 -1
- package/examples/article/main.ts +358 -0
- package/examples/components.ts +660 -0
- package/examples/feature/file-system.components.ts +211 -0
- package/examples/feature/main.ts +374 -0
- package/examples/interaction/main.ts +426 -0
- package/examples/logger.ts +126 -0
- package/examples/structure/main.ts +195 -0
- package/examples/structure/renderer.ts +296 -0
- package/examples/structure/server-app.components.ts +387 -0
- package/jest.config.browser.ts +9 -0
- package/jest.config.examples.ts +49 -0
- package/jest.config.integration.ts +38 -0
- package/jest.config.ts +56 -27
- package/jest.config.unit.ts +38 -0
- package/package.json +75 -7
- package/src/index.ts +13 -0
- package/src/lib/A-Frame/A-Frame.component.env-browser.ts +14 -3
- package/src/lib/A-Frame/A-Frame.component.env-node.ts +45 -15
- package/src/lib/A-Frame/A-Frame.context.ts +9 -8
- package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +4 -4
- package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -25
- package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +1 -1
- package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +54 -13
- package/src/lib/A-FrameBundle/index.browser.ts +1 -1
- package/src/lib/A-FrameBundle/index.ts +1 -1
- package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +18 -7
- package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +0 -2
- package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +14 -15
- package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +542 -7
- package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +2 -0
- package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +65 -1
- package/src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts +112 -0
- package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +1 -0
- package/src/lib/A-FrameChannel/index.browser.ts +5 -0
- package/src/lib/A-FrameCompletion/A-FrameCompletion.constants.ts +3 -0
- package/src/lib/A-FrameCompletion/A-FrameCompletion.entity.ts +128 -0
- package/src/lib/A-FrameCompletion/A-FrameCompletion.types.ts +40 -0
- package/src/lib/A-FrameCompletion/index.ts +3 -0
- package/src/lib/A-FrameCredentials/A-FrameCredentials.constants.ts +5 -0
- package/src/lib/A-FrameCredentials/A-FrameCredentials.entity.ts +120 -0
- package/src/lib/A-FrameCredentials/A-FrameCredentials.types.ts +39 -0
- package/src/lib/A-FrameCredentials/index.ts +3 -0
- package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +23 -1
- package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +34 -1
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts +5 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts +348 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts +10 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.types.ts +116 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts +288 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts +26 -0
- package/src/lib/A-FrameDynamicContent/index.ts +5 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.constants.ts +6 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +253 -4
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.error.ts +11 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +188 -4
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeatureOperation.context.ts +33 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapIndex.context.ts +99 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapper.component.ts +182 -0
- package/src/lib/A-FrameDynamicFeature/index.ts +6 -1
- package/src/lib/A-FrameDynamicPatch/index.ts +2 -0
- package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapIndex.context.ts +99 -0
- package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapper.component.ts +320 -0
- package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +2 -1
- package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +240 -128
- package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +183 -87
- package/src/lib/A-FrameDynamicStructure/index.ts +3 -0
- package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +5 -1
- package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +23 -1
- package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +12 -0
- package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +63 -13
- package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +53 -0
- package/src/lib/A-FrameModels/A-FrameModels.constants.ts +75 -0
- package/src/lib/A-FrameModels/index.ts +1 -0
- package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +10 -3
- package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +5 -0
- package/src/lib/A-FrameSchema/A-FrameSchema.constants.ts +4 -0
- package/src/lib/A-FrameSchema/A-FrameSchema.entity.ts +154 -0
- package/src/lib/A-FrameSchema/A-FrameSchema.types.ts +88 -0
- package/src/lib/A-FrameSchema/index.ts +3 -0
- package/src/lib/A-FrameSegment/A-FrameSegment.constants.ts +12 -0
- package/src/lib/A-FrameSegment/A-FrameSegment.entity.ts +221 -0
- package/src/lib/A-FrameSegment/A-FrameSegment.types.ts +91 -0
- package/src/lib/A-FrameSegment/index.ts +3 -0
- package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +10 -4
- package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +21 -0
- package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +39 -21
- package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +124 -42
- package/src/lib/A-FrameVector/A-FrameVector.entity.ts +24 -0
- package/tests/A-Frame.browser.test.ts +167 -57
- package/tests/A-FrameDynamicContent.browser.test.ts +74 -0
- package/tests/integration/A-Frame.integration.test.ts +272 -0
- package/tests/integration/A-FrameCompletion.integration.test.ts +88 -0
- package/tests/integration/A-FrameContentMapping.integration.test.ts +261 -0
- package/tests/integration/A-FrameDefinition.integration.test.ts +154 -0
- package/tests/integration/A-FrameDynamicContent.integration.test.ts +126 -0
- package/tests/integration/A-FrameDynamicFeature.integration.test.ts +337 -0
- package/tests/integration/A-FrameDynamicStructure.integration.test.ts +264 -0
- package/tests/integration/A-FrameNamespace.integration.test.ts +109 -0
- package/tests/integration/A-FrameSchema.integration.test.ts +74 -0
- package/tests/integration/A-FrameSegment.integration.test.ts +102 -0
- package/tests/integration/A-FrameStorage.integration.test.ts +598 -0
- package/tests/jest.setup.browser.ts +1 -1
- package/tests/jest.setup.ts +4 -0
- package/tests/jest.setup.unit.ts +30 -0
- package/tests/unit/A-FrameChannel.unit.test.ts +124 -0
- package/tests/unit/A-FrameCompletion.unit.test.ts +25 -0
- package/tests/unit/A-FrameDefinition.unit.test.ts +36 -0
- package/tests/unit/A-FrameDynamicContent.unit.test.ts +28 -0
- package/tests/unit/A-FrameNamespace.unit.test.ts +35 -0
- package/tests/unit/A-FrameSchema.unit.test.ts +31 -0
- package/tests/unit/A-FrameSegment.unit.test.ts +20 -0
- package/tests/unit/mocks/MockA_FrameChannel.ts +112 -0
- package/tsconfig.browser.json +2 -0
- package/tsconfig.json +6 -0
- package/tsup.config.ts +52 -0
- package/tests/A-Frame.test.ts +0 -98
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaas/a-frame",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "A-frame is index build engine for A-Concept ecosystem. It provides a way to build index structures for A-Concept basics",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"url": "git+https://github.com/ADAAS-org/adaas-a-frame.git"
|
|
17
17
|
},
|
|
18
18
|
"bin": {
|
|
19
|
-
"a-frame": "./dist/
|
|
19
|
+
"a-frame": "./dist/cli.cjs"
|
|
20
20
|
},
|
|
21
21
|
"exports": {
|
|
22
22
|
".": {
|
|
@@ -55,6 +55,15 @@
|
|
|
55
55
|
"import": "./dist/node/channel.mjs",
|
|
56
56
|
"require": "./dist/node/channel.cjs"
|
|
57
57
|
},
|
|
58
|
+
"./credentials": {
|
|
59
|
+
"browser": {
|
|
60
|
+
"types": "./dist/browser/credentials.d.mts",
|
|
61
|
+
"import": "./dist/browser/credentials.mjs"
|
|
62
|
+
},
|
|
63
|
+
"types": "./dist/node/credentials.d.ts",
|
|
64
|
+
"import": "./dist/node/credentials.mjs",
|
|
65
|
+
"require": "./dist/node/credentials.cjs"
|
|
66
|
+
},
|
|
58
67
|
"./crypto": {
|
|
59
68
|
"browser": {
|
|
60
69
|
"types": "./dist/browser/crypto.d.mts",
|
|
@@ -82,6 +91,15 @@
|
|
|
82
91
|
"import": "./dist/node/dynamic-feature.mjs",
|
|
83
92
|
"require": "./dist/node/dynamic-feature.cjs"
|
|
84
93
|
},
|
|
94
|
+
"./dynamic-content": {
|
|
95
|
+
"browser": {
|
|
96
|
+
"types": "./dist/browser/dynamic-content.d.mts",
|
|
97
|
+
"import": "./dist/browser/dynamic-content.mjs"
|
|
98
|
+
},
|
|
99
|
+
"types": "./dist/node/dynamic-content.d.ts",
|
|
100
|
+
"import": "./dist/node/dynamic-content.mjs",
|
|
101
|
+
"require": "./dist/node/dynamic-content.cjs"
|
|
102
|
+
},
|
|
85
103
|
"./dynamic-structure": {
|
|
86
104
|
"browser": {
|
|
87
105
|
"types": "./dist/browser/dynamic-structure.d.mts",
|
|
@@ -127,6 +145,24 @@
|
|
|
127
145
|
"import": "./dist/node/namespace.mjs",
|
|
128
146
|
"require": "./dist/node/namespace.cjs"
|
|
129
147
|
},
|
|
148
|
+
"./completion": {
|
|
149
|
+
"browser": {
|
|
150
|
+
"types": "./dist/browser/completion.d.mts",
|
|
151
|
+
"import": "./dist/browser/completion.mjs"
|
|
152
|
+
},
|
|
153
|
+
"types": "./dist/node/completion.d.ts",
|
|
154
|
+
"import": "./dist/node/completion.mjs",
|
|
155
|
+
"require": "./dist/node/completion.cjs"
|
|
156
|
+
},
|
|
157
|
+
"./segment": {
|
|
158
|
+
"browser": {
|
|
159
|
+
"types": "./dist/browser/segment.d.mts",
|
|
160
|
+
"import": "./dist/browser/segment.mjs"
|
|
161
|
+
},
|
|
162
|
+
"types": "./dist/node/segment.d.ts",
|
|
163
|
+
"import": "./dist/node/segment.mjs",
|
|
164
|
+
"require": "./dist/node/segment.cjs"
|
|
165
|
+
},
|
|
130
166
|
"./storage": {
|
|
131
167
|
"browser": {
|
|
132
168
|
"types": "./dist/browser/storage.d.mts",
|
|
@@ -144,6 +180,24 @@
|
|
|
144
180
|
"types": "./dist/node/vector.d.ts",
|
|
145
181
|
"import": "./dist/node/vector.mjs",
|
|
146
182
|
"require": "./dist/node/vector.cjs"
|
|
183
|
+
},
|
|
184
|
+
"./models": {
|
|
185
|
+
"browser": {
|
|
186
|
+
"types": "./dist/browser/models.d.mts",
|
|
187
|
+
"import": "./dist/browser/models.mjs"
|
|
188
|
+
},
|
|
189
|
+
"types": "./dist/node/models.d.ts",
|
|
190
|
+
"import": "./dist/node/models.mjs",
|
|
191
|
+
"require": "./dist/node/models.cjs"
|
|
192
|
+
},
|
|
193
|
+
"./schema": {
|
|
194
|
+
"browser": {
|
|
195
|
+
"types": "./dist/browser/schema.d.mts",
|
|
196
|
+
"import": "./dist/browser/schema.mjs"
|
|
197
|
+
},
|
|
198
|
+
"types": "./dist/node/schema.d.ts",
|
|
199
|
+
"import": "./dist/node/schema.mjs",
|
|
200
|
+
"require": "./dist/node/schema.cjs"
|
|
147
201
|
}
|
|
148
202
|
},
|
|
149
203
|
"keywords": [
|
|
@@ -170,20 +224,34 @@
|
|
|
170
224
|
"ext": "ts, js"
|
|
171
225
|
},
|
|
172
226
|
"scripts": {
|
|
173
|
-
"test": "jest --detectOpenHandles",
|
|
174
|
-
"test:
|
|
227
|
+
"test": "node --experimental-vm-modules node_modules/.bin/jest --detectOpenHandles",
|
|
228
|
+
"test:unit": "node --experimental-vm-modules node_modules/.bin/jest --config jest.config.unit.ts --detectOpenHandles",
|
|
229
|
+
"test:integration": "node --experimental-vm-modules node_modules/.bin/jest --config jest.config.integration.ts --detectOpenHandles",
|
|
230
|
+
"test:browser": "node --experimental-vm-modules node_modules/.bin/jest --config jest.config.browser.ts --detectOpenHandles",
|
|
231
|
+
"example:article": "node -r tsconfig-paths/register -r ts-node/register ./examples/article/main.ts",
|
|
232
|
+
"example:interaction": "node -r tsconfig-paths/register -r ts-node/register ./examples/interaction/main.ts",
|
|
233
|
+
"example:feature": "node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts",
|
|
234
|
+
"example:content-editor": "node -r tsconfig-paths/register -r ts-node/register ./examples/content-editor/server.ts",
|
|
235
|
+
"example:feature:backup": "node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts \"copy all .ts files to a backup folder and compress the result\"",
|
|
236
|
+
"example:feature:sync": "node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts \"scan two directories, find files that differ, and sync the newer versions to the target\"",
|
|
237
|
+
"example:feature:cleanup": "node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts \"find all log files older than 7 days and delete them\"",
|
|
238
|
+
"example:structure": "node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts",
|
|
239
|
+
"example:structure:saas": "node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts \"build a multi-tenant SaaS API with JWT auth and file uploads\"",
|
|
240
|
+
"example:structure:jobs": "node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts \"design a background job processing system with cron and email digests\"",
|
|
241
|
+
"example:structure:realtime": "node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts \"create a real-time notification service with WebSocket and rate limiting\"",
|
|
175
242
|
"start": "nodemon ./tests/example-usage.ts",
|
|
176
243
|
"start:test": "node -r tsconfig-paths/register -r ts-node/register ./index.ts",
|
|
177
|
-
"release": "npm run test && npm run build && git add . && git commit -m \"new version created :: $(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g')\" && npm version patch && npm publish --access public",
|
|
244
|
+
"release": "npm run test:unit && npm run build && git add . && git commit -m \"new version created :: $(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g')\" && npm version patch && npm publish --access public",
|
|
178
245
|
"version": "echo git add .",
|
|
179
246
|
"postversion": "git push --no-verify && git push --tags --no-verify && echo \"\n======Version Pushed Successfully=====\n\" ",
|
|
180
247
|
"echo-version": "echo $npm_package_version",
|
|
181
248
|
"build": "tsup --config tsup.config.ts"
|
|
182
249
|
},
|
|
183
|
-
"
|
|
184
|
-
"@adaas/a-concept": "^0.3.
|
|
250
|
+
"peerDependencies": {
|
|
251
|
+
"@adaas/a-concept": "^0.3.16"
|
|
185
252
|
},
|
|
186
253
|
"devDependencies": {
|
|
254
|
+
"@adaas/a-concept": "^0.3.16",
|
|
187
255
|
"@types/chai": "^4.3.14",
|
|
188
256
|
"@types/jest": "^29.5.12",
|
|
189
257
|
"@types/mocha": "^10.0.6",
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @adaas/a-frame — subpath-only public API.
|
|
3
|
+
*
|
|
4
|
+
* Import from named subpaths, not from this root entry:
|
|
5
|
+
* import { A_Frame } from '@adaas/a-frame/core';
|
|
6
|
+
* import { A_FrameChannel } from '@adaas/a-frame/channel';
|
|
7
|
+
* import { A_FrameDynamicFeature } from '@adaas/a-frame/dynamic-feature';
|
|
8
|
+
* import { A_FrameDynamicStructure,
|
|
9
|
+
* A_FrameDynamicPatch } from '@adaas/a-frame/dynamic-structure';
|
|
10
|
+
* // … see package.json "exports" for all available subpaths
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export {};
|
|
@@ -7,6 +7,7 @@ import { A_FrameIndex } from "../A-FrameIndex";
|
|
|
7
7
|
import { A_FrameContext } from "./A-Frame.context";
|
|
8
8
|
import { A_FrameLogger } from "../A-FrameLogger/A-FrameLogger.component.env-browser";
|
|
9
9
|
import { A_FrameEnv } from "../A-FrameEnv/A-FrameEnv.fragment.env-browser";
|
|
10
|
+
import { A_FrameBrowserChannel } from "../A-FrameChannel/A-FrameChannel.component.env-browser";
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
|
|
@@ -27,6 +28,7 @@ export class A_Frame extends A_FrameBase {
|
|
|
27
28
|
{ ctor: A_FrameStorageCodec, instance: new A_FrameStorageCodec() },
|
|
28
29
|
{ ctor: A_FrameBrowserStorageProvider, instance: A_FrameBrowserStorageProvider },
|
|
29
30
|
{ ctor: A_FrameLogger, instance: new A_FrameLogger() },
|
|
31
|
+
{ ctor: A_FrameBrowserChannel, instance: A_FrameBrowserChannel },
|
|
30
32
|
];
|
|
31
33
|
}
|
|
32
34
|
|
|
@@ -40,6 +42,14 @@ export class A_Frame extends A_FrameBase {
|
|
|
40
42
|
// every package dep that isn't already in scope.
|
|
41
43
|
this.package.forEach(({ ctor, instance }) => this.packDependency(scope, ctor, instance));
|
|
42
44
|
|
|
45
|
+
// Register the blobs singleton so it is always injectable via
|
|
46
|
+
// @A_Inject(A_FrameBrowserStorageBlobs). This must happen here
|
|
47
|
+
// (not in A_FrameBrowserStorageProvider.onLoad) because the concept
|
|
48
|
+
// only loads A_Frame as a component — the provider is only a DI token.
|
|
49
|
+
if (!scope.resolve(A_FrameBrowserStorageBlobs)) {
|
|
50
|
+
scope.register(A_FrameBrowserStorageBlobs.instance);
|
|
51
|
+
}
|
|
52
|
+
|
|
43
53
|
// A_FrameIndex needs to inherit the scope so its registry is visible
|
|
44
54
|
// to all later resolutions (entities query it during load).
|
|
45
55
|
if (!scope.resolve(A_FrameIndex)) {
|
|
@@ -67,10 +77,11 @@ export class A_Frame extends A_FrameBase {
|
|
|
67
77
|
@A_Inject(A_FrameLogger) logger: A_FrameLogger,
|
|
68
78
|
@A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,
|
|
69
79
|
) {
|
|
70
|
-
if (!context.encryptionKey) {
|
|
80
|
+
if (!context.encryptionKey && !blobs?.hasBundleData) {
|
|
71
81
|
logger.warn(
|
|
72
|
-
'A_Frame (browser): no encryption key
|
|
73
|
-
'
|
|
82
|
+
'A_Frame (browser): no encryption key and no pre-built bundle data. ' +
|
|
83
|
+
'Seed A_FrameBrowserStorageBlobs.fromBundle(bundle) before concept.load(), ' +
|
|
84
|
+
'or call A_FrameContext.setCredentials({...}) for live-session mode.'
|
|
74
85
|
);
|
|
75
86
|
return;
|
|
76
87
|
}
|
|
@@ -10,6 +10,9 @@ import { A_FrameEnv } from "../A-FrameEnv/A-FrameEnv.fragment.env-node";
|
|
|
10
10
|
import { A_FrameStorageCodec } from "../A-FrameStorage/A-FrameStorage.codec";
|
|
11
11
|
import { A_FrameCrypto } from "../A-FrameCrypto/A-FrameCrypto.component.env-node";
|
|
12
12
|
import { A_FrameLogger } from "../A-FrameLogger/A-FrameLogger.component.env-node";
|
|
13
|
+
import { A_FrameCredentials } from "../A-FrameCredentials/A-FrameCredentials.entity";
|
|
14
|
+
import { A_FrameComponentMapper } from "../A-FrameDynamicStructure/A-FrameComponentMapper.component";
|
|
15
|
+
import { A_FrameMethodMapper } from "../A-FrameDynamicFeature/A-FrameMethodMapper.component";
|
|
13
16
|
|
|
14
17
|
|
|
15
18
|
|
|
@@ -18,20 +21,24 @@ export class A_Frame extends A_FrameBase {
|
|
|
18
21
|
@A_Concept.Load()
|
|
19
22
|
async injectDependencies(
|
|
20
23
|
) {
|
|
24
|
+
const scope = A_Context.root;
|
|
21
25
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
if (!scope.resolve(A_FrameIndex)) {
|
|
27
|
+
const index = new A_FrameIndex();
|
|
28
|
+
index.inherit(scope);
|
|
29
|
+
scope.register(index);
|
|
30
|
+
}
|
|
25
31
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
this.packDependency(scope, A_FrameEnv, new A_FrameEnv());
|
|
33
|
+
this.packDependency(scope, A_FrameStorageCodec, new A_FrameStorageCodec());
|
|
34
|
+
this.packDependency(scope, A_FrameNodeStorage, A_FrameNodeStorage);
|
|
35
|
+
this.packDependency(scope, A_FrameChannel, A_FrameNodeChannel);
|
|
36
|
+
this.packDependency(scope, A_FrameCrypto, A_FrameCrypto);
|
|
37
|
+
this.packDependency(scope, A_FrameLogger, new A_FrameLogger());
|
|
38
|
+
this.packDependency(scope, A_Frame, A_Frame);
|
|
39
|
+
this.packDependency(scope, A_FrameContext, new A_FrameContext());
|
|
40
|
+
this.packDependency(scope, A_FrameComponentMapper, A_FrameComponentMapper);
|
|
41
|
+
this.packDependency(scope, A_FrameMethodMapper, A_FrameMethodMapper);
|
|
35
42
|
}
|
|
36
43
|
|
|
37
44
|
|
|
@@ -43,10 +50,31 @@ export class A_Frame extends A_FrameBase {
|
|
|
43
50
|
@A_Inject(A_FrameContext) context: A_FrameContext,
|
|
44
51
|
@A_Inject(A_FrameChannel) channel: A_FrameChannel,
|
|
45
52
|
@A_Inject(A_FrameEnv) env: A_FrameEnv,
|
|
53
|
+
@A_Inject(A_FrameLogger) logger: A_FrameLogger,
|
|
46
54
|
) {
|
|
47
|
-
// 1. Authenticate — required before any storage or embedding operations
|
|
48
|
-
|
|
49
|
-
context.
|
|
55
|
+
// 1. Authenticate — required before any storage or embedding operations.
|
|
56
|
+
// If the server is unreachable (e.g. CLI invoked before server is up),
|
|
57
|
+
// record the error in context and skip sync so the CLI can still run.
|
|
58
|
+
let credentialsRequest: Awaited<ReturnType<typeof channel.getCredentials>>;
|
|
59
|
+
try {
|
|
60
|
+
credentialsRequest = await channel.getCredentials();
|
|
61
|
+
} catch (err) {
|
|
62
|
+
logger.warn(
|
|
63
|
+
`A_Frame: could not reach the server to fetch credentials ` +
|
|
64
|
+
`(${err instanceof Error ? err.message : String(err)}). ` +
|
|
65
|
+
`Sync and embedding are disabled for this run.`
|
|
66
|
+
);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
context.setCredentials(credentialsRequest);
|
|
70
|
+
|
|
71
|
+
// Store credentials as a registered entity so they can be injected
|
|
72
|
+
// via @A_Inject(A_FrameCredentials) anywhere in the scope tree
|
|
73
|
+
if (credentialsRequest.response) {
|
|
74
|
+
const credentialsEntity = new A_FrameCredentials(credentialsRequest.response);
|
|
75
|
+
A_Context.root.register(credentialsEntity);
|
|
76
|
+
}
|
|
77
|
+
|
|
50
78
|
|
|
51
79
|
const definedNameSpaces = index.listNamespaces();
|
|
52
80
|
const definedDefinitions = index.listDefinitions();
|
|
@@ -54,6 +82,7 @@ export class A_Frame extends A_FrameBase {
|
|
|
54
82
|
// 2. Hydrate all from storage in parallel.
|
|
55
83
|
// Storage load only calls fromJSON when hash AND aFrameServerVersion match,
|
|
56
84
|
// so items with a stale/missing cache remain un-embedded (isEmbed === false).
|
|
85
|
+
|
|
57
86
|
await Promise.all([
|
|
58
87
|
...definedNameSpaces.map(ns => ns.load()),
|
|
59
88
|
...definedDefinitions.map(def => def.load()),
|
|
@@ -62,6 +91,7 @@ export class A_Frame extends A_FrameBase {
|
|
|
62
91
|
// 3. Skip embedding API calls entirely when sync is disabled
|
|
63
92
|
if (!env.A_FRAME_SYNC) return;
|
|
64
93
|
|
|
94
|
+
|
|
65
95
|
// 4. Re-embed and persist items whose cache is missing or stale
|
|
66
96
|
const namespacesNeedEmbed = definedNameSpaces.filter(ns => !ns.isEmbed
|
|
67
97
|
|| (ns.aFrameServerVersion !== context.serverVersion)
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { A_Fragment } from "@adaas/a-concept"
|
|
2
2
|
import { A_FrameChannelRequest } from "../A-FrameChannel/A-FrameChannelRequest.context";
|
|
3
3
|
import { A_Frame_CredentialResponse } from "../A-FrameChannel/A-FrameChannel.types";
|
|
4
|
+
import { A_FrameCredentials } from "../A-FrameCredentials/A-FrameCredentials.entity";
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
export class A_FrameContext extends A_Fragment {
|
|
7
8
|
|
|
8
|
-
private
|
|
9
|
+
private _credentials?: A_FrameCredentials;
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
constructor() {
|
|
@@ -14,27 +15,27 @@ export class A_FrameContext extends A_Fragment {
|
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
get encryptionKey(): string | undefined {
|
|
17
|
-
return this.
|
|
18
|
+
return this._credentials?.encryptionKey;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
get serverVersion(): string | undefined {
|
|
22
|
-
return this.
|
|
23
|
+
return this._credentials?.serverVersion;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
isAuthenticated(): boolean {
|
|
27
|
-
return !!this.
|
|
28
|
+
return !!this._credentials?.isAuthenticated;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
|
|
31
|
-
setCredentials(
|
|
32
|
-
if (
|
|
33
|
-
this.
|
|
32
|
+
setCredentials(credentialsRequest: A_FrameChannelRequest<A_Frame_CredentialResponse>) {
|
|
33
|
+
if (credentialsRequest.error || !credentialsRequest.response) {
|
|
34
|
+
this._credentials = undefined;
|
|
34
35
|
return;
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
this.
|
|
38
|
+
this._credentials = new A_FrameCredentials(credentialsRequest.response);
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
}
|
|
@@ -35,7 +35,7 @@ export function A_FrameDefineDecorator(
|
|
|
35
35
|
default:
|
|
36
36
|
throw new A_FrameError(
|
|
37
37
|
A_FrameError.InvalidTarget,
|
|
38
|
-
`@A_Frame.Define decorator cannot be applied to the target.`
|
|
38
|
+
`@A_Frame.Define decorator cannot be applied to the target : ${A_CommonHelper.getComponentName(target)}. It can only be applied to classes or methods inheriting from allowed base classes.`
|
|
39
39
|
);
|
|
40
40
|
}
|
|
41
41
|
const namespace = config.namespace
|
|
@@ -63,7 +63,7 @@ export function A_FrameDefineDecorator(
|
|
|
63
63
|
source: source,
|
|
64
64
|
metadata: config.metadata,
|
|
65
65
|
type: A_FrameTargetType.METHOD,
|
|
66
|
-
namespace: namespace
|
|
66
|
+
namespace: namespace,
|
|
67
67
|
}));
|
|
68
68
|
|
|
69
69
|
return descriptor;
|
|
@@ -73,7 +73,7 @@ export function A_FrameDefineDecorator(
|
|
|
73
73
|
if (!A_FrameTypeGuard.isAllowedTarget(target)) {
|
|
74
74
|
throw new A_FrameError(
|
|
75
75
|
A_FrameError.InvalidTarget,
|
|
76
|
-
`@A_Frame.${componentType} decorator can only be applied to allowed targets.`
|
|
76
|
+
`@A_Frame.${componentType} decorator cannot be applied to the target : ${A_CommonHelper.getComponentName(target)}. It can only be applied to allowed targets.`
|
|
77
77
|
);
|
|
78
78
|
}
|
|
79
79
|
|
|
@@ -92,7 +92,7 @@ export function A_FrameDefineDecorator(
|
|
|
92
92
|
source: source,
|
|
93
93
|
metadata: config.metadata,
|
|
94
94
|
type: componentType,
|
|
95
|
-
namespace: namespace
|
|
95
|
+
namespace: namespace,
|
|
96
96
|
}));
|
|
97
97
|
|
|
98
98
|
return target;
|
|
@@ -1,60 +1,129 @@
|
|
|
1
1
|
import * as fs from 'node:fs/promises';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import { A_Component } from '@adaas/a-concept';
|
|
4
|
-
import { A_FrameBundle } from './A-FrameBundle.types';
|
|
4
|
+
import { A_FrameBundle, A_FrameBundleDefinitionRecord, A_FrameBundleNamespaceRecord } from './A-FrameBundle.types';
|
|
5
5
|
import { A_FRAME_BUNDLE_VERSION } from './A-FrameBundle.constants';
|
|
6
6
|
import { A_FrameStorageCodec } from '../A-FrameStorage/A-FrameStorage.codec';
|
|
7
|
+
import { A_FrameCrypto } from '../A-FrameCrypto/A-FrameCrypto.component.env-node';
|
|
7
8
|
import * as pkg from '../../../package.json';
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
export interface A_FrameBundleBuilderOptions {
|
|
11
|
-
/**
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Source directory containing the encrypted `*.aframe` files (Node storage).
|
|
14
|
+
* Defaults to `.aframe/` in the current working directory.
|
|
15
|
+
*/
|
|
16
|
+
storageDir?: string;
|
|
13
17
|
/** Server version to embed in the bundle metadata. */
|
|
14
18
|
serverVersion: string;
|
|
19
|
+
/**
|
|
20
|
+
* AES-256-GCM encryption key used when the `.aframe` files were written.
|
|
21
|
+
* This is the `encryptionKey` returned by the A-Frame server credentials API.
|
|
22
|
+
* Required so the builder can decrypt the files and produce plain-JSON records.
|
|
23
|
+
*/
|
|
24
|
+
encryptionKey: string;
|
|
15
25
|
}
|
|
16
26
|
|
|
17
27
|
|
|
18
28
|
/**
|
|
19
29
|
* A_FrameBundleBuilder — Node-only build-time helper.
|
|
20
30
|
*
|
|
21
|
-
* Reads the encrypted `*.aframe` files produced by Node storage
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
31
|
+
* Reads the encrypted `*.aframe` files produced by Node storage, decrypts them
|
|
32
|
+
* with the provided key, and packages the decoded definition/namespace records
|
|
33
|
+
* into a single JSON artifact that ships with the browser bundle.
|
|
34
|
+
*
|
|
35
|
+
* The output bundle stores plain records (no encryption). The browser bootstrap
|
|
36
|
+
* seeds these directly into `A_FrameBrowserStorageBlobs` so that definitions
|
|
37
|
+
* load without any server connection or encryption key.
|
|
38
|
+
*
|
|
39
|
+
* Usage:
|
|
40
|
+
* ```ts
|
|
41
|
+
* import { A_FrameBundleBuilder } from '@adaas/a-frame/bundle';
|
|
42
|
+
*
|
|
43
|
+
* const builder = new A_FrameBundleBuilder();
|
|
44
|
+
* const bundle = await builder.build({
|
|
45
|
+
* storageDir: '.aframe',
|
|
46
|
+
* serverVersion: '1.0.0',
|
|
47
|
+
* encryptionKey: process.env.A_FRAME_ENCRYPTION_KEY!,
|
|
48
|
+
* });
|
|
49
|
+
* await builder.writeAuto(bundle, 'src/generated/a-frame-bundle.ts');
|
|
50
|
+
* ```
|
|
26
51
|
*/
|
|
27
52
|
export class A_FrameBundleBuilder extends A_Component {
|
|
28
53
|
|
|
29
|
-
|
|
54
|
+
private codec = new A_FrameStorageCodec();
|
|
55
|
+
|
|
56
|
+
/** Read, decrypt and decode all `.aframe` files from a storage directory. */
|
|
30
57
|
async build(opts: A_FrameBundleBuilderOptions): Promise<A_FrameBundle> {
|
|
31
|
-
const
|
|
32
|
-
const namespacesFile =
|
|
58
|
+
const storageDir = opts.storageDir ?? '.aframe';
|
|
59
|
+
const namespacesFile = this.codec.getNamespaceFileName(); // '.namespaces.aframe'
|
|
60
|
+
const defSuffix = `.definitions${A_FrameStorageCodec.fileExtension}`; // '.definitions.aframe'
|
|
33
61
|
|
|
34
62
|
let entries: string[];
|
|
35
63
|
try {
|
|
36
|
-
entries = await fs.readdir(
|
|
64
|
+
entries = await fs.readdir(storageDir);
|
|
37
65
|
} catch (err: any) {
|
|
38
66
|
if (err?.code === 'ENOENT') {
|
|
39
|
-
throw new Error(`A-Frame storage directory not found: ${
|
|
67
|
+
throw new Error(`A-Frame storage directory not found: ${path.resolve(storageDir)}`);
|
|
40
68
|
}
|
|
41
69
|
throw err;
|
|
42
70
|
}
|
|
43
71
|
|
|
44
|
-
|
|
72
|
+
// Accept both the namespace index and definition files
|
|
73
|
+
const aframeFiles = entries.filter(f => f === namespacesFile || f.endsWith(defSuffix));
|
|
45
74
|
|
|
46
|
-
|
|
47
|
-
const
|
|
75
|
+
const records: Record<string, A_FrameBundleDefinitionRecord[]> = {};
|
|
76
|
+
const namespaceRecords: A_FrameBundleNamespaceRecord[] = [];
|
|
48
77
|
|
|
49
78
|
for (const file of aframeFiles) {
|
|
50
|
-
const
|
|
51
|
-
|
|
79
|
+
const raw = await fs.readFile(path.join(storageDir, file));
|
|
80
|
+
let plain: Uint8Array;
|
|
81
|
+
try {
|
|
82
|
+
plain = await A_FrameCrypto.decryptBytes(new Uint8Array(raw), opts.encryptionKey);
|
|
83
|
+
} catch {
|
|
84
|
+
throw new Error(
|
|
85
|
+
`Failed to decrypt "${file}". Ensure encryptionKey matches the key used when the files were written.`
|
|
86
|
+
);
|
|
87
|
+
}
|
|
52
88
|
|
|
53
89
|
if (file === namespacesFile) {
|
|
54
|
-
|
|
90
|
+
const decoded = this.codec.decodeNamespacePayload(plain);
|
|
91
|
+
for (const r of decoded) {
|
|
92
|
+
namespaceRecords.push({
|
|
93
|
+
aseid: r.aseid,
|
|
94
|
+
hash: r.hash,
|
|
95
|
+
name: r.name,
|
|
96
|
+
description: r.description,
|
|
97
|
+
metadata: r.metadata,
|
|
98
|
+
embedding: Array.from(r.embedding ?? []),
|
|
99
|
+
embeddedAt: r.embeddedAt,
|
|
100
|
+
embeddingModel: r.embeddingModel,
|
|
101
|
+
credentialId: r.credentialId,
|
|
102
|
+
aFrameVersion: r.aFrameVersion,
|
|
103
|
+
aFrameServerVersion: r.aFrameServerVersion,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
55
106
|
} else {
|
|
56
|
-
|
|
57
|
-
|
|
107
|
+
// Strip '.definitions.aframe' suffix to recover the namespace id
|
|
108
|
+
const namespaceId = file.slice(0, -defSuffix.length);
|
|
109
|
+
const decoded = this.codec.decodePayload(plain);
|
|
110
|
+
records[namespaceId] = decoded.map(r => ({
|
|
111
|
+
aseid: r.aseid,
|
|
112
|
+
name: r.name,
|
|
113
|
+
hash: r.hash,
|
|
114
|
+
type: r.type,
|
|
115
|
+
source: r.source,
|
|
116
|
+
description: r.description,
|
|
117
|
+
metadata: r.metadata,
|
|
118
|
+
namespace: r.namespace,
|
|
119
|
+
embedding: Array.from(r.embedding ?? []),
|
|
120
|
+
date: r.date,
|
|
121
|
+
model: r.model,
|
|
122
|
+
credentialId: r.credentialId,
|
|
123
|
+
aFrameVersion: r.aFrameVersion,
|
|
124
|
+
aFrameServerVersion: r.aFrameServerVersion,
|
|
125
|
+
aFrameMeta: r.aFrameMeta,
|
|
126
|
+
}));
|
|
58
127
|
}
|
|
59
128
|
}
|
|
60
129
|
|
|
@@ -63,8 +132,8 @@ export class A_FrameBundleBuilder extends A_Component {
|
|
|
63
132
|
aFrameVersion: (pkg as any).version || '0.0.0',
|
|
64
133
|
serverVersion: opts.serverVersion,
|
|
65
134
|
builtAt: new Date().toISOString(),
|
|
66
|
-
|
|
67
|
-
|
|
135
|
+
records,
|
|
136
|
+
namespaceRecords,
|
|
68
137
|
};
|
|
69
138
|
}
|
|
70
139
|
|
|
@@ -76,12 +145,12 @@ export class A_FrameBundleBuilder extends A_Component {
|
|
|
76
145
|
|
|
77
146
|
/**
|
|
78
147
|
* Emit a TypeScript module that exports the bundle as a typed constant.
|
|
79
|
-
*
|
|
148
|
+
* Ideal for Vite/Webpack/esbuild projects that tree-shake TS imports.
|
|
80
149
|
*/
|
|
81
150
|
async writeTS(bundle: A_FrameBundle, outFile: string): Promise<void> {
|
|
82
151
|
const banner = '// AUTO-GENERATED by @adaas/a-frame — do not edit.\n';
|
|
83
152
|
const body =
|
|
84
|
-
`import type { A_FrameBundle } from '@adaas/a-frame';\n\n` +
|
|
153
|
+
`import type { A_FrameBundle } from '@adaas/a-frame/bundle';\n\n` +
|
|
85
154
|
`export const A_FRAME_BUNDLE: A_FrameBundle = ${JSON.stringify(bundle, null, 2)} as A_FrameBundle;\n`;
|
|
86
155
|
await fs.mkdir(path.dirname(path.resolve(outFile)), { recursive: true });
|
|
87
156
|
await fs.writeFile(outFile, banner + body);
|
|
@@ -93,3 +162,4 @@ export class A_FrameBundleBuilder extends A_Component {
|
|
|
93
162
|
return this.writeJSON(bundle, outFile);
|
|
94
163
|
}
|
|
95
164
|
}
|
|
165
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Current bundle format revision. Bumped on incompatible structural changes. */
|
|
2
|
-
export const A_FRAME_BUNDLE_VERSION =
|
|
2
|
+
export const A_FRAME_BUNDLE_VERSION = 2;
|
|
3
3
|
|
|
4
4
|
/** Default file name when none is provided to the CLI. */
|
|
5
5
|
export const A_FRAME_BUNDLE_DEFAULT_FILENAME = 'a-frame-bundle.json';
|
|
@@ -1,16 +1,58 @@
|
|
|
1
|
+
import type { A_FrameTargetType } from '../A-Frame/A-Frame.types';
|
|
2
|
+
import type { DefinitionExtractedMeta } from '../A-FrameDefinition/A-FrameDefinition.types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* JSON-serializable definition record (embedding stored as number[] instead of Float32Array).
|
|
6
|
+
*/
|
|
7
|
+
export interface A_FrameBundleDefinitionRecord {
|
|
8
|
+
aseid: string;
|
|
9
|
+
name: string;
|
|
10
|
+
hash: string;
|
|
11
|
+
type: A_FrameTargetType;
|
|
12
|
+
source?: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
metadata?: Record<string, unknown>;
|
|
15
|
+
namespace: string;
|
|
16
|
+
/** Float32 embedding serialized as a plain number array. */
|
|
17
|
+
embedding: number[];
|
|
18
|
+
date: string;
|
|
19
|
+
model: string;
|
|
20
|
+
credentialId: string;
|
|
21
|
+
aFrameVersion: string;
|
|
22
|
+
aFrameServerVersion: string;
|
|
23
|
+
aFrameMeta?: DefinitionExtractedMeta;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* JSON-serializable namespace record (embedding as number[]).
|
|
28
|
+
*/
|
|
29
|
+
export interface A_FrameBundleNamespaceRecord {
|
|
30
|
+
aseid: string;
|
|
31
|
+
hash: string;
|
|
32
|
+
name: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
metadata?: Record<string, unknown>;
|
|
35
|
+
/** Float32 embedding serialized as a plain number array. */
|
|
36
|
+
embedding: number[];
|
|
37
|
+
embeddedAt: number;
|
|
38
|
+
embeddingModel?: string;
|
|
39
|
+
credentialId?: string;
|
|
40
|
+
aFrameVersion?: string;
|
|
41
|
+
aFrameServerVersion?: string;
|
|
42
|
+
}
|
|
43
|
+
|
|
1
44
|
/**
|
|
2
45
|
* Serialized A-Frame bundle artifact.
|
|
3
46
|
*
|
|
4
|
-
* Built by `A_FrameBundleBuilder` from a Node storage directory at build time
|
|
5
|
-
*
|
|
6
|
-
*
|
|
47
|
+
* Built by `A_FrameBundleBuilder` from a Node storage directory at build time.
|
|
48
|
+
* Loaded by `A_FrameBrowserStorageBlobs.seedFromBundle()` at app startup in the
|
|
49
|
+
* browser — no server connection or encryption key required at runtime.
|
|
7
50
|
*
|
|
8
|
-
*
|
|
9
|
-
* browser
|
|
10
|
-
* authenticating against the A-Frame server with the user's token).
|
|
51
|
+
* The bundle stores decoded definition and namespace records in plain JSON so
|
|
52
|
+
* that the browser can hydrate embeddings without calling the A-Frame server.
|
|
11
53
|
*/
|
|
12
54
|
export interface A_FrameBundle {
|
|
13
|
-
/** Bundle format version. Currently
|
|
55
|
+
/** Bundle format version. Currently 2. */
|
|
14
56
|
bundleVersion: number;
|
|
15
57
|
/** A-Frame client library version that produced the bundle. */
|
|
16
58
|
aFrameVersion: string;
|
|
@@ -19,13 +61,12 @@ export interface A_FrameBundle {
|
|
|
19
61
|
/** Build timestamp (ISO 8601). */
|
|
20
62
|
builtAt: string;
|
|
21
63
|
/**
|
|
22
|
-
*
|
|
23
|
-
* `
|
|
64
|
+
* Decoded definition records grouped by namespace id.
|
|
65
|
+
* The `embedding` field contains the raw Float32 values as a plain number[].
|
|
24
66
|
*/
|
|
25
|
-
|
|
67
|
+
records: Record<string, A_FrameBundleDefinitionRecord[]>;
|
|
26
68
|
/**
|
|
27
|
-
*
|
|
28
|
-
* contents of the corresponding `<namespace>.aframe` file.
|
|
69
|
+
* Decoded namespace records (from `__namespaces.aframe`).
|
|
29
70
|
*/
|
|
30
|
-
|
|
71
|
+
namespaceRecords: A_FrameBundleNamespaceRecord[];
|
|
31
72
|
}
|