@adaas/a-frame 0.0.23 → 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-GOADBDTE.mjs +2 -0
- package/dist/browser/chunk-GOADBDTE.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 +3 -0
- package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -0
- 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 +8 -7
- 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 +33 -0
- package/dist/node/chunk-5BKCX2RO.mjs.map +1 -0
- 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-6KAGWGTE.mjs +529 -0
- package/dist/node/chunk-6KAGWGTE.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-F46TSY2K.cjs +541 -0
- package/dist/node/chunk-F46TSY2K.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-GRR6NNWY.cjs +688 -0
- package/dist/node/chunk-GRR6NNWY.cjs.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-OYC6L5NX.mjs +6 -0
- package/dist/node/chunk-OYC6L5NX.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-R2H234YO.cjs +8 -0
- package/dist/node/chunk-R2H234YO.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-SDKIJDMH.mjs +655 -0
- package/dist/node/chunk-SDKIJDMH.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 +35 -0
- package/dist/node/chunk-XFUF7SDO.cjs.map +1 -0
- 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 +69 -42
- package/dist/node/core.cjs.map +1 -1
- package/dist/node/core.d.mts +14 -9
- package/dist/node/core.d.ts +14 -9
- package/dist/node/core.mjs +60 -33
- 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 +19 -6
- package/src/lib/A-Frame/A-Frame.component.env-node.ts +48 -19
- 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 -96
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../package.json","../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts"],"names":["version","A_FrameEnv","A_Fragment"],"mappings":"0CAEE,IAAAA,EAAW,QCON,IAAMC,CAAAA,CAAN,cAAyBC,UAAkC,CAE9D,IAAI,aAAA,EAAgB,CAChB,OAAQ,MAAA,CAAe,aAAA,EAAiB,EAC5C,CAEA,IAAI,kBAAA,EAAqB,CACrB,OAAQ,MAAA,CAAe,oBAAsB,uBACjD,CAEA,IAAI,eAAA,EAAkB,CAClB,OAAWF,CACf,CAEA,IAAI,sBAAA,EAAyB,CACzB,OAAQ,MAAA,CAAe,sBAAA,EAA0B,EACrD,CAEA,IAAI,mBAAA,EAAsB,CACtB,OAAQ,MAAA,CAAe,mBAAA,EAAuB,YAClD,CACJ","file":"chunk-YQJFTBGV.mjs","sourcesContent":["{\n \"name\": \"@adaas/a-frame\",\n \"version\": \"0.1.0\",\n \"description\": \"A-frame is index build engine for A-Concept ecosystem. It provides a way to build index structures for A-Concept basics\",\n \"license\": \"Apache-2.0\",\n \"author\": {\n \"name\": \"ADAAS YAZILIM LİMİTED ŞİRKETİ\",\n \"email\": \"contact-us@adaas.org\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/ADAAS-org/adaas-a-frame/issues\"\n },\n \"homepage\": \"https://github.com/ADAAS-org/adaas-a-frame#readme\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/ADAAS-org/adaas-a-frame.git\"\n },\n \"bin\": {\n \"a-frame\": \"./dist/index.cjs\"\n },\n \"exports\": {\n \".\": {\n \"browser\": {\n \"types\": \"./dist/browser/index.d.mts\",\n \"import\": \"./dist/browser/index.mjs\"\n },\n \"types\": \"./dist/node/index.d.ts\",\n \"import\": \"./dist/node/index.mjs\",\n \"require\": \"./dist/node/index.cjs\"\n },\n \"./core\": {\n \"browser\": {\n \"types\": \"./dist/browser/core.d.mts\",\n \"import\": \"./dist/browser/core.mjs\"\n },\n \"types\": \"./dist/node/core.d.ts\",\n \"import\": \"./dist/node/core.mjs\",\n \"require\": \"./dist/node/core.cjs\"\n },\n \"./bundle\": {\n \"browser\": {\n \"types\": \"./dist/browser/bundle.d.mts\",\n \"import\": \"./dist/browser/bundle.mjs\"\n },\n \"types\": \"./dist/node/bundle.d.ts\",\n \"import\": \"./dist/node/bundle.mjs\",\n \"require\": \"./dist/node/bundle.cjs\"\n },\n \"./channel\": {\n \"browser\": {\n \"types\": \"./dist/browser/channel.d.mts\",\n \"import\": \"./dist/browser/channel.mjs\"\n },\n \"types\": \"./dist/node/channel.d.ts\",\n \"import\": \"./dist/node/channel.mjs\",\n \"require\": \"./dist/node/channel.cjs\"\n },\n \"./crypto\": {\n \"browser\": {\n \"types\": \"./dist/browser/crypto.d.mts\",\n \"import\": \"./dist/browser/crypto.mjs\"\n },\n \"types\": \"./dist/node/crypto.d.ts\",\n \"import\": \"./dist/node/crypto.mjs\",\n \"require\": \"./dist/node/crypto.cjs\"\n },\n \"./definition\": {\n \"browser\": {\n \"types\": \"./dist/browser/definition.d.mts\",\n \"import\": \"./dist/browser/definition.mjs\"\n },\n \"types\": \"./dist/node/definition.d.ts\",\n \"import\": \"./dist/node/definition.mjs\",\n \"require\": \"./dist/node/definition.cjs\"\n },\n \"./dynamic-feature\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-feature.d.mts\",\n \"import\": \"./dist/browser/dynamic-feature.mjs\"\n },\n \"types\": \"./dist/node/dynamic-feature.d.ts\",\n \"import\": \"./dist/node/dynamic-feature.mjs\",\n \"require\": \"./dist/node/dynamic-feature.cjs\"\n },\n \"./dynamic-structure\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-structure.d.mts\",\n \"import\": \"./dist/browser/dynamic-structure.mjs\"\n },\n \"types\": \"./dist/node/dynamic-structure.d.ts\",\n \"import\": \"./dist/node/dynamic-structure.mjs\",\n \"require\": \"./dist/node/dynamic-structure.cjs\"\n },\n \"./env\": {\n \"browser\": {\n \"types\": \"./dist/browser/env.d.mts\",\n \"import\": \"./dist/browser/env.mjs\"\n },\n \"types\": \"./dist/node/env.d.ts\",\n \"import\": \"./dist/node/env.mjs\",\n \"require\": \"./dist/node/env.cjs\"\n },\n \"./index\": {\n \"browser\": {\n \"types\": \"./dist/browser/frame-index.d.mts\",\n \"import\": \"./dist/browser/frame-index.mjs\"\n },\n \"types\": \"./dist/node/frame-index.d.ts\",\n \"import\": \"./dist/node/frame-index.mjs\",\n \"require\": \"./dist/node/frame-index.cjs\"\n },\n \"./logger\": {\n \"browser\": {\n \"types\": \"./dist/browser/logger.d.mts\",\n \"import\": \"./dist/browser/logger.mjs\"\n },\n \"types\": \"./dist/node/logger.d.ts\",\n \"import\": \"./dist/node/logger.mjs\",\n \"require\": \"./dist/node/logger.cjs\"\n },\n \"./namespace\": {\n \"browser\": {\n \"types\": \"./dist/browser/namespace.d.mts\",\n \"import\": \"./dist/browser/namespace.mjs\"\n },\n \"types\": \"./dist/node/namespace.d.ts\",\n \"import\": \"./dist/node/namespace.mjs\",\n \"require\": \"./dist/node/namespace.cjs\"\n },\n \"./storage\": {\n \"browser\": {\n \"types\": \"./dist/browser/storage.d.mts\",\n \"import\": \"./dist/browser/storage.mjs\"\n },\n \"types\": \"./dist/node/storage.d.ts\",\n \"import\": \"./dist/node/storage.mjs\",\n \"require\": \"./dist/node/storage.cjs\"\n },\n \"./vector\": {\n \"browser\": {\n \"types\": \"./dist/browser/vector.d.mts\",\n \"import\": \"./dist/browser/vector.mjs\"\n },\n \"types\": \"./dist/node/vector.d.ts\",\n \"import\": \"./dist/node/vector.mjs\",\n \"require\": \"./dist/node/vector.cjs\"\n }\n },\n \"keywords\": [\n \"adaas\",\n \"a-frame\",\n \"ai index\",\n \"embeddings\",\n \"a-concept\",\n \"rag\"\n ],\n \"sideEffects\": false,\n \"nodemonConfig\": {\n \"ignore\": [\n \"**/*.test.ts\",\n \"**/*.spec.ts\",\n \".git\",\n \"node_modules\"\n ],\n \"watch\": [\n \"src\",\n \"examples\"\n ],\n \"exec\": \"node -r tsconfig-paths/register -r ts-node/register \",\n \"ext\": \"ts, js\"\n },\n \"scripts\": {\n \"test\": \"jest --detectOpenHandles\",\n \"test:browser\": \"jest --config jest.config.browser.ts --detectOpenHandles\",\n \"start\": \"nodemon ./tests/example-usage.ts\",\n \"start:test\": \"node -r tsconfig-paths/register -r ts-node/register ./index.ts\",\n \"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\",\n \"version\": \"echo git add .\",\n \"postversion\": \"git push --no-verify && git push --tags --no-verify && echo \\\"\\n======Version Pushed Successfully=====\\n\\\" \",\n \"echo-version\": \"echo $npm_package_version\",\n \"build\": \"tsup --config tsup.config.ts\"\n },\n \"dependencies\": {\n \"@adaas/a-concept\": \"^0.3.15\"\n },\n \"devDependencies\": {\n \"@types/chai\": \"^4.3.14\",\n \"@types/jest\": \"^29.5.12\",\n \"@types/mocha\": \"^10.0.6\",\n \"@types/node\": \"^24.9.1\",\n \"chai\": \"^5.1.0\",\n \"dotenv\": \"^16.6.1\",\n \"jest\": \"^29.7.0\",\n \"jest-environment-jsdom\": \"^29.7.0\",\n \"mocha\": \"^10.4.0\",\n \"nodemon\": \"^3.1.4\",\n \"ts-jest\": \"^29.1.2\",\n \"ts-node\": \"^10.9.2\",\n \"tsconfig-paths\": \"^4.2.0\",\n \"tscpaths\": \"^0.0.9\",\n \"tsup\": \"^8.5.0\"\n },\n \"directories\": {\n \"doc\": \"docs\",\n \"test\": \"tests\"\n }\n}\n","import { A_Fragment } from \"@adaas/a-concept\";\nimport * as pkg from '../../../package.json';\nimport { IA_FrameEnv } from \"./A-FrameEnv.types\";\n\n\n\n/**\n * This class tailored from browser environment and it is used to get the env variables from the global scope and make them available for the A_FrameTask to use them in the task execution.\n */\nexport class A_FrameEnv extends A_Fragment implements IA_FrameEnv {\n\n get A_FRAME_TOKEN() {\n return (window as any).A_FRAME_TOKEN || '';\n }\n\n get A_FRAME_SERVER_URL() {\n return (window as any).A_FRAME_SERVER_URL || 'http://localhost:3000';\n }\n\n get A_FRAME_VERSION() {\n return pkg.version || '0.0.1';\n }\n\n get A_FRAME_SERVER_API_KEY() {\n return (window as any).A_FRAME_SERVER_API_KEY || '';\n }\n\n get A_FRAME_STORAGE_DIR() {\n return (window as any).A_FRAME_STORAGE_DIR || '.aframe';\n }\n}"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {a as a$2}from'./chunk-LK6C7C3S.mjs';import {c as c$1}from'./chunk-643KGQKR.mjs';import {a}from'./chunk-46LRNZRG.mjs';import {a as a$1}from'./chunk-G7MKGKG5.mjs';import {A_Error,A_Fragment,A_Entity,A_Context,A_Scope}from'@adaas/a-concept';var f={Generate:"_A_FRAME_DYNAMIC_CONTENT_GENERATE",Patch:"_A_FRAME_DYNAMIC_CONTENT_PATCH"};var p=class extends A_Fragment{constructor(e={}){super({name:"a-frame-dynamic-content-operation-context"});this._meta=new Map;this._meta.set("params",e);}get params(){return this._meta.get("params")}get(e){return this._meta.get(e)}set(e,t){this._meta.set(e,t);}};var c=class extends A_Error{};c.GenerationFailed="GenerationFailed",c.PatchFailed="PatchFailed",c.InvalidPatch="InvalidPatch",c.PieceNotFound="PieceNotFound";var m=class m extends A_Fragment{constructor(){super(...arguments);this._order=[];this._map=new Map;}get count(){return this._order.length}get size(){return this._order.length}add(...e){e.forEach(t=>{this._map.set(t.id,t),this._order.includes(t.id)||this._order.push(t.id);});}update(e){this._map.set(e.id,e),this._order.includes(e.id)||this._order.push(e.id);}remove(e){this._map.delete(e);let t=this._order.indexOf(e);t!==-1&&this._order.splice(t,1);}clear(){this._map.clear(),this._order=[];}insertBefore(e,t){this._map.set(t.id,t);let i=this._order.indexOf(e);i===-1?this._order.push(t.id):this._order.splice(i,0,t.id);}insertAfter(e,t){this._map.set(t.id,t);let i=this._order.indexOf(e);i===-1?this._order.push(t.id):this._order.splice(i+1,0,t.id);}replace(e,t){let i=this._order.indexOf(e);i!==-1&&(this._map.delete(e),this._map.set(t.id,t),this._order[i]=t.id);}moveTo(e,t){let i=this._order.indexOf(e);if(i===-1)return;this._order.splice(i,1);let r=Math.max(0,Math.min(t,this._order.length));this._order.splice(r,0,e);}moveBefore(e,t){let i=this._order.indexOf(e);if(i===-1)return;this._order.splice(i,1);let r=this._order.indexOf(t);this._order.splice(r===-1?0:r,0,e);}moveAfter(e,t){let i=this._order.indexOf(e);if(i===-1)return;this._order.splice(i,1);let r=this._order.indexOf(t);this._order.splice(r===-1?this._order.length:r+1,0,e);}applyOperation(e,t){switch(e.action){case "remove":{e.targetId&&this.remove(e.targetId);break}case "replace":{e.targetId&&t&&this.replace(e.targetId,t);break}case "add":{if(!t)break;!e.targetId||e.position==="append"?this.add(t):e.position==="before"?this.insertBefore(e.targetId,t):this.insertAfter(e.targetId,t);break}}}get(e){return this._map.get(e)}list(){return this._order.map(e=>this._map.get(e)).filter(e=>e!==void 0)}centroid(){let e=this.list().filter(r=>r.isEmbed&&r.vector);if(e.length===0)return null;let t=e[0].vector.length,i=new Float32Array(t);for(let r of e){let o=r.vector.values;for(let n=0;n<t;n++)i[n]+=o[n];}for(let r=0;r<t;r++)i[r]/=e.length;return new a(i)}search(e,t=m.PATCH_PIECE_LIMIT){let i=e.normalize();return this.list().filter(r=>r.isEmbed&&r.vector).map(r=>({segment:r,score:i.dot(r.vector.normalize())})).sort((r,o)=>o.score-r.score).slice(0,t)}searchByKeywords(e,t=m.PATCH_PIECE_LIMIT){let i=e.toLowerCase().split(/\W+/).filter(r=>r.length>3);return i.length===0?[]:this.list().map(r=>{let o=r.content.toLowerCase(),n=i.reduce((a,d)=>a+(o.includes(d)?1:0),0);return {segment:r,score:n}}).filter(r=>r.score>0).sort((r,o)=>o.score-r.score).slice(0,t)}selectForPatch(e,t,i=m.PATCH_PIECE_LIMIT){let r=this.list();if(r.length<=i)return r;if(e&&r.some(a=>a.isEmbed)){let a=this.search(e,i);if(a.length>0)return a.map(d=>d.segment)}let o=this.searchByKeywords(t,i);return o.length>0?o.map(n=>n.segment):r.slice(0,i)}cosineSimilarity(e,t){if(!t)return 0;let i=e.dot(t),r=e.magnitude()*t.magnitude();return r===0?0:i/r}};m.PATCH_PIECE_LIMIT=5;var h=m;var v=class extends A_Entity{static get concept(){return "a-frame"}get scope(){return this._scope||(this._scope=A_Context.allocate(this,new A_Scope({name:`${this.aseid.id}-scope`}))),this._scope}get index(){return this.scope.resolve(h)}fromNew(s){super.fromNew(s);let e=new h({name:`${this.aseid.id}`});this.scope.register(e),this.createdAt=Date.now(),this.prompt=s.prompt,this.model=s.options?.model||a$1.LYRA,this._system=s.options?.system,this._patchPieceLimit=s.options?.patchPieceLimit||h.PATCH_PIECE_LIMIT,this._history=[],this._version=0;}get segments(){return this.index.list()}get content(){return this.index.list().map(s=>s.content).join(`
|
|
2
|
+
`)}get text(){return this.content}get history(){return this._history}get version(){return this._version}get modelName(){return this.model}get systemPrompt(){return this._system}async generate(){let s=new p;this.scope.isInheritedFrom(A_Context.scope(this))||this.scope.inherit(A_Context.scope(this));let e=new A_Scope({name:"a-frame-dynamic-content-generate",fragments:[s]}).inherit(this.scope);try{await this.call(f.Generate,e),e.destroy();}catch(t){throw e.destroy(),new c({title:c.GenerationFailed,description:`Failed to generate content: ${t instanceof Error?t.message:String(t)}`})}}async patch(s){this.scope.isInheritedFrom(A_Context.scope(this))||this.scope.inherit(A_Context.scope(this));let e=new A_Scope({name:"a-frame-dynamic-content-patch"}).inherit(this.scope),t=new c$1({content:s,options:{task:"query"}});e.register(t),await t.embed();let i=this.index.selectForPatch(t.vector??null,s,this._patchPieceLimit),r=new p({instruction:s,segments:i});e.register(r);try{await this.call(f.Patch,e),e.destroy();}catch(o){throw e.destroy(),new c({title:c.PatchFailed,description:`Failed to patch content: ${o instanceof Error?o.message:String(o)}`})}}compareTo(s){let e=this.index.centroid(),t=s.index.centroid();return !e||!t?0:e.cosineSimilarity(t)}hydrateFromGeneration(s,e){s.forEach(t=>this.index.add(t)),this._history.push(new a$2({version:this._version,timestamp:Date.now(),reason:`Generated for: "${this.prompt}"`,encoded:Buffer.from(JSON.stringify(this.index.list())).toString("base64"),delta:this.index.size}));}hydrateFromPatch(s,e){let t=this.index.size,i=n=>n.toLowerCase().replace(/[^\w\s]/g,"").replace(/\s+/g," ").trim(),r=this.index.list().map(n=>i(n.content)),o=n=>{let a=i(n);return a.length<8?false:r.some(d=>d===a||d.includes(a))};for(let n of s.operations){if(!["add","replace","remove"].includes(n.action))continue;let a;if(n.segment){if((n.action==="add"||n.action==="replace")&&o(n.segment.content))continue;a=new c$1({content:n.segment.content,options:{task:"document"}}),n.segment.embedding?.length&&a.hydrateFromEmbedding(new Float32Array(n.segment.embedding));}n.action==="add"&&(new Set(["before","after","append",void 0]).has(n.position)||(n.position="append",n.targetId=void 0)),this.index.applyOperation(n,a);}this._version++,this._history.push(new a$2({version:this._version,timestamp:Date.now(),reason:s.patchSummary,encoded:Buffer.from(JSON.stringify(this.index.list())).toString("base64"),delta:this.index.size-t}));}toJSON(){return {...super.toJSON(),prompt:this.prompt,metadata:{model:this.model,createdAt:this.createdAt},history:this._history.map(s=>s.toJSON())}}};export{f as a,p as b,c,v as d};//# sourceMappingURL=chunk-YTAMZDWC.mjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-YTAMZDWC.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts","../../src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts","../../src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts","../../src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts","../../src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts"],"names":["A_FrameDynamicContentFeatures","A_FrameDynamicContentOperation","A_Fragment","params","key","value","A_FrameDynamicContentError","A_Error","_A_FrameDynamicContentIndex","segments","seg","segment","id","idx","targetId","targetIdx","pos","newPosition","from","clipped","to","op","s","embedded","dim","sum","vals","i","A_FrameVector","vector","topK","queryVec","a","b","instruction","keywords","w","lower","score","acc","kw","limit","all","results","r","kwResults","dot","mag","A_FrameDynamicContentIndex","A_FrameDynamicContent","A_Entity","A_Context","A_Scope","options","index","A_FRAME_MODELS","operation","executionScope","err","inputSegment","A_FrameSegment","targetSegments","other","centroidA","centroidB","meta","A_FrameDynamicPatch","patchResult","prevCount","normalize","existingNormalized","isNearDuplicate","newContent","norm","existing","item"],"mappings":"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","file":"chunk-YTAMZDWC.mjs","sourcesContent":["\nexport const A_FrameDynamicContentFeatures = {\n Generate: '_A_FRAME_DYNAMIC_CONTENT_GENERATE',\n Patch: '_A_FRAME_DYNAMIC_CONTENT_PATCH',\n} as const;\n","import { A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameDynamicContentOperation<\n _InputParams = any,\n> extends A_Fragment {\n\n protected _meta: Map<string, any> = new Map();\n\n constructor(params: _InputParams = {} as _InputParams) {\n super({ name: 'a-frame-dynamic-content-operation-context' });\n this._meta.set('params', params);\n }\n\n get params(): _InputParams {\n return this._meta.get('params');\n }\n\n get(key: string) {\n return this._meta.get(key);\n }\n\n set(key: string, value: any) {\n this._meta.set(key, value);\n }\n}\n","import { A_Error } from \"@adaas/a-concept\";\n\n\nexport class A_FrameDynamicContentError extends A_Error {\n\n static readonly GenerationFailed = 'GenerationFailed';\n static readonly PatchFailed = 'PatchFailed';\n static readonly InvalidPatch = 'InvalidPatch';\n static readonly PieceNotFound = 'PieceNotFound';\n}\n","import { A_Fragment } from \"@adaas/a-concept\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameContentPatchOperation } from \"./A-FrameDynamicContent.types\";\nimport { A_FrameSegment } from \"../A-FrameSegment\";\n\n\nexport interface A_FrameDynamicContentIndex_SearchResult {\n segment: A_FrameSegment;\n score: number;\n}\n\n\nexport class A_FrameDynamicContentIndex extends A_Fragment {\n\n /** Maximum segments forwarded to the server in a single patch request. */\n static readonly PATCH_PIECE_LIMIT = 5;\n\n /** Ordered list of segment IDs — defines the canonical reading order. */\n private _order: string[] = [];\n\n /** O(1) lookup by id. */\n private _map: Map<string, A_FrameSegment> = new Map();\n\n // ── Accessors ─────────────────────────────────────────────────────────────\n\n get count(): number {\n return this._order.length;\n }\n\n get size(): number {\n return this._order.length;\n }\n\n // ── Basic mutation ────────────────────────────────────────────────────────\n\n /** Append one or more segments to the end. */\n add(...segments: A_FrameSegment[]): void {\n segments.forEach(seg => {\n this._map.set(seg.id as string, seg);\n if (!this._order.includes(seg.id as string)) {\n this._order.push(seg.id as string);\n }\n });\n }\n\n /** Replace the content of an existing segment in-place (position unchanged). */\n update(segment: A_FrameSegment): void {\n this._map.set(segment.id, segment);\n if (!this._order.includes(segment.id)) {\n this._order.push(segment.id);\n }\n }\n\n /** Remove a segment by id. */\n remove(id: string): void {\n this._map.delete(id);\n const idx = this._order.indexOf(id);\n if (idx !== -1) this._order.splice(idx, 1);\n }\n\n /** Remove all segments. */\n clear(): void {\n this._map.clear();\n this._order = [];\n }\n\n // ── Positional insertion ──────────────────────────────────────────────────\n\n /** Insert `segment` immediately before the segment with `targetId`. */\n insertBefore(targetId: string, segment: A_FrameSegment): void {\n this._map.set(segment.id, segment);\n const targetIdx = this._order.indexOf(targetId);\n if (targetIdx === -1) {\n this._order.push(segment.id);\n } else {\n this._order.splice(targetIdx, 0, segment.id);\n }\n }\n\n /** Insert `segment` immediately after the segment with `targetId`. */\n insertAfter(targetId: string, segment: A_FrameSegment): void {\n this._map.set(segment.id, segment);\n const targetIdx = this._order.indexOf(targetId);\n if (targetIdx === -1) {\n this._order.push(segment.id);\n } else {\n this._order.splice(targetIdx + 1, 0, segment.id);\n }\n }\n\n /** Swap the content of `targetId` with `segment`, keeping the same position. */\n replace(targetId: string, segment: A_FrameSegment): void {\n const pos = this._order.indexOf(targetId);\n if (pos === -1) return;\n this._map.delete(targetId);\n this._map.set(segment.id, segment);\n this._order[pos] = segment.id;\n }\n\n // ── Position management ────────────────────────────────────────────────────\n\n /** Move the segment with `id` to absolute zero-based `newPosition`. */\n moveTo(id: string, newPosition: number): void {\n const from = this._order.indexOf(id);\n if (from === -1) return;\n this._order.splice(from, 1);\n const clipped = Math.max(0, Math.min(newPosition, this._order.length));\n this._order.splice(clipped, 0, id);\n }\n\n /** Move `id` to directly before `targetId`. */\n moveBefore(id: string, targetId: string): void {\n const from = this._order.indexOf(id);\n if (from === -1) return;\n this._order.splice(from, 1);\n const to = this._order.indexOf(targetId);\n this._order.splice(to === -1 ? 0 : to, 0, id);\n }\n\n /** Move `id` to directly after `targetId`. */\n moveAfter(id: string, targetId: string): void {\n const from = this._order.indexOf(id);\n if (from === -1) return;\n this._order.splice(from, 1);\n const to = this._order.indexOf(targetId);\n this._order.splice(to === -1 ? this._order.length : to + 1, 0, id);\n }\n\n // ── Patch operation dispatch ──────────────────────────────────────────────\n\n /**\n * Apply a single `A_FrameContentPatchOperation` to the index.\n * For `add` and `replace` the caller must supply the resolved `segment`.\n * For `remove` only the `op` is needed.\n */\n applyOperation(op: A_FrameContentPatchOperation, segment?: A_FrameSegment): void {\n switch (op.action) {\n case 'remove': {\n if (op.targetId) this.remove(op.targetId);\n break;\n }\n case 'replace': {\n if (op.targetId && segment) this.replace(op.targetId, segment);\n break;\n }\n case 'add': {\n if (!segment) break;\n if (!op.targetId || op.position === 'append') {\n this.add(segment);\n } else if (op.position === 'before') {\n this.insertBefore(op.targetId, segment);\n } else {\n // 'after' is the default\n this.insertAfter(op.targetId, segment);\n }\n break;\n }\n }\n }\n\n // ── Lookup ────────────────────────────────────────────────────────────────\n\n get(id: string): A_FrameSegment | undefined {\n return this._map.get(id);\n }\n\n /** Returns all segments in their current canonical order. */\n list(): A_FrameSegment[] {\n return this._order\n .map(id => this._map.get(id))\n .filter((s): s is A_FrameSegment => s !== undefined);\n }\n\n // ── Search ────────────────────────────────────────────────────────────────\n\n /**\n * Computes the centroid (element-wise mean) of all embedded segments.\n * Returns `null` when no segments have been embedded yet.\n * The centroid represents the overall semantic \"centre of gravity\" of this\n * content block and is used by `A_FrameDynamicContent.compareTo()` to\n * measure similarity between two content instances.\n */\n centroid(): A_FrameVector | null {\n const embedded = this.list().filter(s => s.isEmbed && s.vector);\n if (embedded.length === 0) return null;\n\n const dim = embedded[0].vector!.length;\n const sum = new Float32Array(dim);\n\n for (const seg of embedded) {\n const vals = seg.vector!.values;\n for (let i = 0; i < dim; i++) sum[i] += vals[i];\n }\n for (let i = 0; i < dim; i++) sum[i] /= embedded.length;\n\n return new A_FrameVector(sum);\n }\n\n /**\n * Rank all embedded segments by cosine similarity to the query vector.\n */\n search(\n vector: A_FrameVector,\n topK: number = A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT,\n ): A_FrameDynamicContentIndex_SearchResult[] {\n const queryVec = vector.normalize();\n\n return this.list()\n .filter(s => s.isEmbed && s.vector)\n .map(s => ({\n segment: s,\n score: queryVec.dot(s.vector!.normalize()),\n }))\n .sort((a, b) => b.score - a.score)\n .slice(0, topK);\n }\n\n /**\n * Rank segments by how many instruction keywords appear in their content.\n * Words shorter than 4 characters are ignored.\n */\n searchByKeywords(\n instruction: string,\n topK: number = A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT,\n ): A_FrameDynamicContentIndex_SearchResult[] {\n const keywords = instruction\n .toLowerCase()\n .split(/\\W+/)\n .filter(w => w.length > 3);\n\n if (keywords.length === 0) return [];\n\n return this.list()\n .map(segment => {\n const lower = segment.content.toLowerCase();\n const score = keywords.reduce(\n (acc, kw) => acc + (lower.includes(kw) ? 1 : 0),\n 0,\n );\n return { segment, score };\n })\n .filter(s => s.score > 0)\n .sort((a, b) => b.score - a.score)\n .slice(0, topK);\n }\n\n /**\n * Select at most `limit` segments most relevant to a patch instruction.\n *\n * Priority:\n * 1. Vector search — when `vector` is provided and segments carry embeddings.\n * 2. Keyword search — fallback when embeddings are absent or vector is null.\n * 3. Identity — first N segments when neither search finds candidates.\n */\n selectForPatch(\n vector: A_FrameVector | null,\n instruction: string,\n limit: number = A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT,\n ): A_FrameSegment[] {\n const all = this.list();\n if (all.length <= limit) return all;\n\n // 1. Vector search\n if (vector) {\n const hasEmbedded = all.some(s => s.isEmbed);\n if (hasEmbedded) {\n const results = this.search(vector, limit);\n if (results.length > 0) return results.map(r => r.segment);\n }\n }\n\n // 2. Keyword fallback\n const kwResults = this.searchByKeywords(instruction, limit);\n if (kwResults.length > 0) return kwResults.map(r => r.segment);\n\n // 3. Identity\n return all.slice(0, limit);\n }\n\n // ── Similarity helpers ────────────────────────────────────────────────────\n\n cosineSimilarity(a: A_FrameVector, b?: A_FrameVector): number {\n if (!b) return 0;\n const dot = a.dot(b);\n const mag = a.magnitude() * b.magnitude();\n return mag === 0 ? 0 : dot / mag;\n }\n}\n","import { A_Context, A_Entity, A_Scope } from \"@adaas/a-concept\";\nimport {\n A_FrameContentPatchResponse,\n A_FrameDynamicContent_Init,\n A_FrameDynamicContent_Serialized,\n} from \"./A-FrameDynamicContent.types\";\nimport { A_FrameDynamicContentFeatures } from \"./A-FrameDynamicContent.constants\";\nimport { A_FrameDynamicContentOperation } from \"./A-FrameDynamicContentOperation.context\";\nimport { A_FrameDynamicContentError } from \"./A-FrameDynamicContent.error\";\nimport { A_FrameDynamicPatch } from \"../A-FrameDynamicPatch/A-FrameDynamicPatch.entity\";\nimport { A_FrameDynamicContentIndex } from \"./A-FrameDynamicContentIndex.context\";\nimport { A_FrameSegment } from \"../A-FrameSegment\";\nimport { A_FRAME_MODELS } from \"../A-FrameModels/A-FrameModels.constants\";\n\n\nexport class A_FrameDynamicContent extends A_Entity<A_FrameDynamicContent_Init, A_FrameDynamicContent_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n // ── Identity ─────────────────────────────────────────────────────────────\n prompt!: string;\n createdAt!: number;\n\n // ── Config ───────────────────────────────────────────────────────────────\n private model!: string;\n private _system!: string | undefined;\n\n // ── State ────────────────────────────────────────────────────────────────\n private _history!: A_FrameDynamicPatch[];\n private _version!: number;\n private _patchPieceLimit!: number;\n\n // ── Initialisation ───────────────────────────────────────────────────────\n\n /**\n * The scope of the current Content stores all related data to it \n */\n protected _scope!: A_Scope\n\n /**\n * \n */\n get scope(): A_Scope {\n if (!this._scope) {\n this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));\n }\n\n return this._scope;\n }\n\n get index(): A_FrameDynamicContentIndex {\n const index = this.scope.resolve(A_FrameDynamicContentIndex)!;\n return index;\n }\n\n fromNew(options: A_FrameDynamicContent_Init) {\n\n super.fromNew(options);\n\n const index = new A_FrameDynamicContentIndex({ name: `${this.aseid.id}` });\n this.scope.register(index);\n\n this.createdAt = Date.now();\n\n this.prompt = options.prompt;\n this.model = options.options?.model || A_FRAME_MODELS.LYRA;\n this._system = options.options?.system;\n this._patchPieceLimit = options.options?.patchPieceLimit || A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT;\n\n this._history = [];\n this._version = 0;\n }\n\n // ── Accessors ────────────────────────────────────────────────────────────\n\n /** Ordered list of content pieces (output of the last generate or patch). */\n get segments(): ReadonlyArray<A_FrameSegment> {\n return this.index.list();\n }\n\n /** Full content reconstructed from all segments in index order. */\n get content(): string {\n return this.index.list()\n .map(s => s.content)\n .join('\\n');\n }\n\n /** Alias for `content` — kept for backward compatibility. */\n get text(): string {\n return this.content;\n }\n\n /** Immutable patch history. */\n get history(): ReadonlyArray<A_FrameDynamicPatch> {\n return this._history;\n }\n\n /** Current content version (increments with each patch). */\n get version(): number {\n return this._version;\n }\n\n /** The AI model name to use for generation / patching. */\n get modelName(): string {\n return this.model;\n }\n\n /** Optional system prompt forwarded to the AI for generation and patching. */\n get systemPrompt(): string | undefined {\n return this._system;\n }\n\n // ── Main pipeline ─────────────────────────────────────────────────────────\n\n /**\n * Generate content from the entity's prompt.\n * Populates `pieces` and creates the first history entry.\n */\n async generate(): Promise<void> {\n const operation = new A_FrameDynamicContentOperation();\n\n if (!this.scope.isInheritedFrom(A_Context.scope(this)))\n this.scope.inherit(A_Context.scope(this));\n\n const executionScope = new A_Scope({\n name: 'a-frame-dynamic-content-generate',\n fragments: [operation],\n }).inherit(this.scope);\n\n try {\n await this.call(A_FrameDynamicContentFeatures.Generate, executionScope);\n executionScope.destroy();\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameDynamicContentError({\n title: A_FrameDynamicContentError.GenerationFailed,\n description: `Failed to generate content: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n /**\n * Apply a natural-language patch instruction to the current pieces.\n * The server identifies which pieces to add, replace, or remove using\n * semantic search over piece embeddings.\n */\n async patch(instruction: string): Promise<void> {\n if (!this.scope.isInheritedFrom(A_Context.scope(this)))\n this.scope.inherit(A_Context.scope(this));\n\n const executionScope = new A_Scope({\n name: 'a-frame-dynamic-content-patch',\n }).inherit(this.scope);\n\n const inputSegment = new A_FrameSegment({\n content: instruction,\n options: { task: 'query' },\n });\n\n executionScope.register(inputSegment);\n\n await inputSegment.embed();\n\n const targetSegments = this.index.selectForPatch(inputSegment.vector ?? null, instruction, this._patchPieceLimit);\n\n const operation = new A_FrameDynamicContentOperation({\n instruction,\n segments: targetSegments\n });\n\n executionScope.register(operation);\n\n try {\n\n await this.call(A_FrameDynamicContentFeatures.Patch, executionScope);\n\n executionScope.destroy();\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameDynamicContentError({\n title: A_FrameDynamicContentError.PatchFailed,\n description: `Failed to patch content: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n // ── Comparison ────────────────────────────────────────────────────────────\n\n /**\n * Returns a cosine similarity score (0–1) between this content and `other`.\n *\n * The score is computed from the centroid of each content's embedded\n * segments — the element-wise mean of all segment vectors. Two contents\n * about the same topic should score close to 1; unrelated contents will\n * score near 0.\n *\n * Returns 0 if either content has no embedded segments.\n *\n * @example\n * const cats1 = new A_FrameDynamicContent({ prompt: 'Article about cats' });\n * const cats2 = new A_FrameDynamicContent({ prompt: 'Article about cats' });\n * const cars = new A_FrameDynamicContent({ prompt: 'Article about cars' });\n * // After generate() on all three:\n * cats1.compareTo(cats2); // ~0.92 — high\n * cats1.compareTo(cars); // ~0.45 — low\n */\n compareTo(other: A_FrameDynamicContent): number {\n const centroidA = this.index.centroid();\n const centroidB = other.index.centroid();\n if (!centroidA || !centroidB) return 0;\n return centroidA.cosineSimilarity(centroidB);\n }\n\n // ── Hydration ─────────────────────────────────────────────────────────────\n\n /**\n * Populate index from the segments created by the channel after a generate response.\n * Creates the first history entry.\n */\n hydrateFromGeneration(\n segments: A_FrameSegment[],\n meta: { model: string; serverVersion: string },\n ): void {\n\n segments.forEach(s => this.index.add(s));\n\n this._history.push(new A_FrameDynamicPatch({\n version: this._version,\n timestamp: Date.now(),\n reason: `Generated for: \"${this.prompt}\"`,\n encoded: Buffer.from(JSON.stringify(this.index.list())).toString('base64'),\n delta: this.index.size,\n }));\n }\n\n /**\n * Apply a patch diff returned by the server to the current piece list.\n * Increments the version and records a history entry.\n */\n hydrateFromPatch(\n patchResult: A_FrameContentPatchResponse,\n meta: { model: string; serverVersion: string },\n ): void {\n\n const prevCount = this.index.size;\n\n // Pre-compute normalized content set for near-duplicate detection.\n // Normalization: lowercase, strip punctuation, collapse whitespace.\n const normalize = (s: string): string =>\n s.toLowerCase().replace(/[^\\w\\s]/g, '').replace(/\\s+/g, ' ').trim();\n\n const existingNormalized = this.index.list().map(s => normalize(s.content));\n const isNearDuplicate = (newContent: string): boolean => {\n const norm = normalize(newContent);\n if (norm.length < 8) return false; // too short to matter\n return existingNormalized.some(existing =>\n existing === norm || // exact match\n existing.includes(norm) // new text is a strict substring of something existing\n // Note: do NOT check norm.includes(existing) — that would block \n // valid extensions where new content starts with an existing phrase.\n );\n };\n\n for (const op of patchResult.operations) {\n // Validate action\n if (!['add', 'replace', 'remove'].includes(op.action)) continue;\n\n let segment: A_FrameSegment | undefined;\n if (op.segment) {\n // Guard: LLM sometimes returns existing (or near-duplicate) content — skip those.\n const dup = (op.action === 'add' || op.action === 'replace') && isNearDuplicate(op.segment.content);\n if (dup) continue;\n\n segment = new A_FrameSegment({ content: op.segment.content, options: { task: 'document' } });\n if (op.segment.embedding?.length) {\n segment.hydrateFromEmbedding(new Float32Array(op.segment.embedding));\n }\n }\n\n // Validate position for 'add' operations — reject composite strings like \"before|after|append\"\n if (op.action === 'add') {\n const validPositions = new Set(['before', 'after', 'append', undefined]);\n if (!validPositions.has(op.position as any)) {\n // Malformed position — treat as append\n (op as any).position = 'append';\n (op as any).targetId = undefined;\n }\n }\n\n this.index.applyOperation(op, segment);\n }\n\n this._version++;\n\n this._history.push(new A_FrameDynamicPatch({\n version: this._version,\n timestamp: Date.now(),\n reason: patchResult.patchSummary,\n encoded: Buffer.from(JSON.stringify(this.index.list())).toString('base64'),\n delta: this.index.size - prevCount,\n }));\n }\n\n // ── Serialisation ──────────────────────────────────────────────────────────\n\n toJSON(): A_FrameDynamicContent_Serialized {\n return {\n ...super.toJSON(),\n prompt: this.prompt,\n metadata: {\n model: this.model,\n createdAt: this.createdAt,\n },\n history: this._history.map(item => item.toJSON()),\n };\n }\n\n}\n\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a,c}from'./chunk-CT67Y46H.mjs';import {A_Fragment,A_Scope,A_Context,ASEID}from'@adaas/a-concept';var u=class n extends A_Fragment{constructor(){if(n._instance)return n._instance;super({name:"A_FrameIndex"});this.definitions=new Map;this.namespaces=new Map;this.scope=new A_Scope({name:"A_FrameIndexScope"});}static get instance(){return n._instance||(n._instance=new n),n._instance}static get indexSize(){return n.instance.indexSize}static get scope(){return A_Context.scope(this)}static inherit(e){n.instance.inherit(e);}static addDefinition(e){n.instance.addDefinition(e);}static getDefinition(e){return n.instance.getDefinition(e)}static listDefinitions(e){return n.instance.listDefinitions(e)}static removeDefinition(e){n.instance.removeDefinition(e);}static addNamespace(e){n.instance.addNamespace(e);}static getDefaultNamespace(){return n.instance.getDefaultNamespace()}static getNamespace(e){return n.instance.getNamespace(e)}static listNamespaces(){return n.instance.listNamespaces()}static removeNamespace(e){n.instance.removeNamespace(e);}static search(e,t={}){return n.instance.search(e,t)}get indexSize(){return this.definitions.size}inherit(e){this.scope.inherit(e);}addDefinition(e){this.scope.register(e),this.namespaces.get(e.namespace.id)||this.addNamespace(e.namespace),this.definitions.set(e.id,e);}getDefinition(e){for(let t of this.definitions.values())if(t.name===e)return t}listDefinitions(e={}){let t=e.namespace?typeof e.namespace=="string"?ASEID.isASEID(e.namespace)?new ASEID(e.namespace).id:e.namespace:e.namespace.id:void 0,a=e.inherit?Array.isArray(e.inherit)?e.inherit:[e.inherit]:void 0;return [...this.definitions.values()].filter(i=>!(t&&i.namespace.name!==t||a&&!this.matchesInheritanceFilters(i,a)))}removeDefinition(e){this.scope.deregister(e);}addNamespace(e){this.scope.register(e),this.namespaces.set(e.id,e);}getNamespace(e){let t=typeof e=="string"?ASEID.isASEID(e)?new ASEID(e).id:e:e.id;return this.namespaces.get(t)}getDefaultNamespace(){let e=this.getNamespace(a);return e||(e=new c({name:a}),this.addNamespace(e)),e}listNamespaces(){return [...this.namespaces.values()]}removeNamespace(e){this.scope.deregister(e),this.namespaces.delete(e.id);}search(e,t={}){let{topK:a=10,namespace:i,minScore:s=0,inherit:c}=t,d=c?Array.isArray(c)?c:[c]:void 0;return [...this.definitions.values()].filter(r=>!(i&&r.namespace.id!==i||d&&!this.matchesInheritanceFilters(r,d))).map(r=>({record:r,score:this.cosineSimilarity(e,r.vector)})).filter(r=>r.score>=s).sort((r,m)=>m.score-r.score).slice(0,a).map(({record:r,score:m})=>({record:r,score:m}))}matchesInheritanceFilters(e,t){let a=this.scope.resolveConstructor(e.name);return a?t.some(i=>{let s=i.class;return i.strict?Object.getPrototypeOf(a)===s:A_Context.isIndexedInheritedFrom(a,s)}):false}cosineSimilarity(e,t){if(!t)return 0;let a=e.dot(t),i=e.magnitude()*t.magnitude();return i===0?0:a/i}euclideanDistance(e,t){this.assertSameLength(e,t);let a=0;for(let i=0;i<e.length;i++){let s=e.values[i]-t.values[i];a+=s*s;}return Math.sqrt(a)}nearest(e,t,a=1){return [...t].map(i=>({vector:i,score:this.cosineSimilarity(e,i)})).sort((i,s)=>s.score-i.score).slice(0,a).map(i=>i.vector)}rank(e,t){return t.map(a=>({vector:a,score:this.cosineSimilarity(e,a)})).sort((a,i)=>i.score-a.score)}assertSameLength(e,t){if(e.length!==t.length)throw new Error(`Embedding dimension mismatch: ${e.length} vs ${t.length}`)}};export{u as a};//# sourceMappingURL=chunk-ZEONOTRL.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-ZEONOTRL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-FrameIndex/A-FrameIndex.context.ts"],"names":["A_FrameIndex","_A_FrameIndex","A_Fragment","A_Scope","A_Context","scope","def","nameOrHash","filter","namespace","nameOrASEID","vector","options","name","namespaceName","ASEID","inheritFilters","r","targetKey","defaultNamespace","A_FRAME_DEFAULT_NAMESPACE_KEY","A_FrameNamespace","topK","minScore","inherit","s","a","b","score","filters","ctor","targetClass","dot","mag","sum","diff","query","vectors","limit","v"],"mappings":"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","file":"chunk-ZEONOTRL.mjs","sourcesContent":["import { A_Concept, A_Context, A_Dependency, A_Fragment, A_Scope, ASEID } from \"@adaas/a-concept\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameNamespace } from \"../A-FrameNamespace/A-FrameNamespace.entity\";\nimport { A_FrameDefinition_SearchResult, A_FrameInheritanceFilter, A_FrameListOptions, A_FrameSearchOptions } from \"./A-FrameIndex.types\";\nimport { A_FrameDefinition } from \"../A-FrameDefinition\";\nimport { A_FRAME_DEFAULT_NAMESPACE_KEY } from \"../A-FrameNamespace/A-FrameNamespace.constants\";\n\n\n\nexport class A_FrameIndex extends A_Fragment {\n\n private static _instance: A_FrameIndex;\n\n static get instance(): A_FrameIndex {\n if (!A_FrameIndex._instance) {\n A_FrameIndex._instance = new A_FrameIndex();\n }\n return A_FrameIndex._instance;\n }\n\n static get indexSize(): number {\n return A_FrameIndex.instance.indexSize;\n }\n\n\n static get scope(): A_Scope {\n return A_Context.scope(this);\n }\n\n // ------------------------------------------------------------------------------------\n // --------------------Static Access to Instance Methods-------------------------------\n // ------------------------------------------------------------------------------------\n static inherit(scope: A_Scope) {\n A_FrameIndex.instance.inherit(scope);\n }\n static addDefinition(def: A_FrameDefinition): void {\n A_FrameIndex.instance.addDefinition(def);\n }\n static getDefinition(nameOrHash: string): A_FrameDefinition | undefined {\n return A_FrameIndex.instance.getDefinition(nameOrHash);\n }\n static listDefinitions(filter: A_FrameListOptions): A_FrameDefinition[] {\n return A_FrameIndex.instance.listDefinitions(filter);\n }\n static removeDefinition(def: A_FrameDefinition): void {\n A_FrameIndex.instance.removeDefinition(def);\n }\n static addNamespace(namespace: A_FrameNamespace): void {\n A_FrameIndex.instance.addNamespace(namespace);\n }\n static getDefaultNamespace(): A_FrameNamespace {\n return A_FrameIndex.instance.getDefaultNamespace();\n }\n static getNamespace(nameOrASEID: string | ASEID): A_FrameNamespace | undefined {\n return A_FrameIndex.instance.getNamespace(nameOrASEID);\n }\n static listNamespaces(): A_FrameNamespace[] {\n return A_FrameIndex.instance.listNamespaces();\n }\n static removeNamespace(namespace: A_FrameNamespace): void {\n A_FrameIndex.instance.removeNamespace(namespace);\n }\n static search(\n vector: A_FrameVector,\n options: A_FrameSearchOptions = {},\n ): A_FrameDefinition_SearchResult[] {\n return A_FrameIndex.instance.search(vector, options);\n }\n\n // -------------------------------------------------------------------------------------\n // ------------------------------ Instance State --------------------------------------\n // -------------------------------------------------------------------------------------\n\n private definitions: Map<string, A_FrameDefinition> = new Map();\n\n private namespaces: Map<string, A_FrameNamespace> = new Map();\n\n private _index!: {\n\n namespaceToDefinitions: WeakMap<A_FrameNamespace, Set<A_FrameDefinition>>,\n\n definitionToNamespace: WeakMap<A_FrameDefinition, A_FrameNamespace>,\n };\n /**\n * Scope where all definitions and namespaces are registered as dependencies, allowing for lookup by ASEID or constructor reference.\n */\n private scope!: A_Scope\n\n\n constructor() {\n if (A_FrameIndex._instance)\n return A_FrameIndex._instance;\n\n super({ name: 'A_FrameIndex' });\n\n this.scope = new A_Scope({ name: 'A_FrameIndexScope' });\n }\n\n /** Number of loaded records */\n get indexSize(): number {\n return this.definitions.size;\n }\n\n\n // static searchByText(\n // query: string,\n // channel: A_FrameChannel,\n // options: A_FrameSearchOptions = {},\n // ): Promise<A_FrameDefinition_SearchResult[]> {\n // return A_FrameIndex.instance.searchByText(query, channel, options);\n // }\n\n\n // ------------------------------------------------------------------------------------\n // ------------------------------ Instance Methods ------------------------------------\n // ------------------------------------------------------------------------------------\n inherit(scope: A_Scope) {\n this.scope.inherit(scope);\n }\n\n addDefinition(def: A_FrameDefinition): void {\n this.scope.register(def);\n\n const existingNamespace = this.namespaces.get(def.namespace.id);\n if (!existingNamespace) {\n this.addNamespace(def.namespace);\n }\n\n this.definitions.set(def.id, def);\n }\n\n getDefinition(name: string): A_FrameDefinition | undefined {\n // Then try name lookup\n for (const def of this.definitions.values()) {\n if (def.name === name) {\n return def;\n }\n }\n\n return undefined;\n }\n\n listDefinitions(filter: A_FrameListOptions = {}): A_FrameDefinition[] {\n const namespaceName = filter.namespace\n ? typeof filter.namespace === 'string'\n ? ASEID.isASEID(filter.namespace)\n ? new ASEID(filter.namespace).id\n : filter.namespace\n : filter.namespace.id\n : undefined;\n\n const inheritFilters = filter.inherit\n ? Array.isArray(filter.inherit) ? filter.inherit : [filter.inherit]\n : undefined;\n\n return [...this.definitions.values()].filter(r => {\n if (namespaceName && r.namespace.name !== namespaceName) return false;\n if (inheritFilters && !this.matchesInheritanceFilters(r, inheritFilters)) return false;\n return true;\n });\n }\n\n removeDefinition(def: A_FrameDefinition): void {\n this.scope.deregister(def);\n }\n\n addNamespace(namespace: A_FrameNamespace): void {\n this.scope.register(namespace);\n\n this.namespaces.set(namespace.id, namespace);\n }\n\n getNamespace(nameOrASEID: string | ASEID): A_FrameNamespace | undefined {\n const targetKey = typeof nameOrASEID === 'string'\n ? ASEID.isASEID(nameOrASEID)\n ? new ASEID(nameOrASEID).id\n : nameOrASEID\n : nameOrASEID.id;\n\n return this.namespaces.get(targetKey);\n }\n\n getDefaultNamespace(): A_FrameNamespace {\n // Ensure default namespace always exists\n let defaultNamespace = this.getNamespace(A_FRAME_DEFAULT_NAMESPACE_KEY);\n if (!defaultNamespace) {\n defaultNamespace = new A_FrameNamespace({\n name: A_FRAME_DEFAULT_NAMESPACE_KEY,\n });\n this.addNamespace(defaultNamespace);\n }\n return defaultNamespace;\n }\n\n listNamespaces(): A_FrameNamespace[] {\n return [...this.namespaces.values()];\n }\n\n removeNamespace(namespace: A_FrameNamespace): void {\n this.scope.deregister(namespace);\n this.namespaces.delete(namespace.id);\n }\n\n\n /**\n * Search by a pre-computed embedding vector (cosine similarity).\n */\n search(\n vector: A_FrameVector,\n options: A_FrameSearchOptions = {},\n ): A_FrameDefinition_SearchResult[] {\n\n const { topK = 10, namespace, minScore = 0, inherit } = options;\n\n const inheritFilters = inherit\n ? Array.isArray(inherit) ? inherit : [inherit]\n : undefined;\n\n const pool = [...this.definitions.values()].filter(r => {\n if (namespace && r.namespace.id !== namespace) return false;\n if (inheritFilters && !this.matchesInheritanceFilters(r, inheritFilters)) return false;\n return true;\n });\n\n const scored = pool.map(r => ({\n record: r,\n score: this.cosineSimilarity(vector, r.vector),\n }));\n\n return scored\n .filter(s => s.score >= minScore)\n .sort((a, b) => b.score - a.score)\n .slice(0, topK)\n .map(({ record: r, score }) => ({\n record: r,\n score,\n }));\n }\n\n /**\n * Test whether a definition's resolved constructor satisfies at least one\n * of the provided inheritance filters (OR semantics).\n *\n * The constructor is resolved from the internal scope by the definition's\n * name using `scope.resolveConstructor(name)` — the same mechanism the\n * framework uses everywhere for class lookup.\n *\n * - `strict: false` (default) — any depth, using A_Context's O(1) indexed\n * inheritance map: `A_Context.isIndexedInheritedFrom(ctor, targetClass)`\n * - `strict: true` — direct child only:\n * `Object.getPrototypeOf(ctor) === targetClass`\n *\n * Definitions whose name cannot be resolved from the scope (e.g. restored\n * from storage without a live container) never match.\n */\n private matchesInheritanceFilters(\n def: A_FrameDefinition,\n filters: A_FrameInheritanceFilter[],\n ): boolean {\n const ctor = this.scope.resolveConstructor(def.name);\n if (!ctor) return false;\n\n return filters.some(filter => {\n const targetClass = filter.class;\n if (filter.strict) {\n // Direct child: the immediate prototype must be exactly targetClass\n return Object.getPrototypeOf(ctor) === targetClass;\n } else {\n // Any depth: use A_Context's indexed inheritance check (O(1))\n return A_Context.isIndexedInheritedFrom(ctor, targetClass);\n }\n });\n }\n\n // protected cosineSimilarity(vectorA: A_FrameVector, vectorB?: A_FrameVector): number {\n // const a = vectorA.values ?? new Float32Array();\n // const b = vectorB?.values ?? new Float32Array();\n\n // if (a.length !== b.length) {\n // throw new Error(`A_FrameIndex: dimension mismatch ${a.length} vs ${b.length}`);\n // }\n // let dot = 0, normA = 0, normB = 0;\n // for (let i = 0; i < a.length; i++) {\n // dot += a[i] * b[i];\n // normA += a[i] * a[i];\n // normB += b[i] * b[i];\n // }\n // const denom = Math.sqrt(normA) * Math.sqrt(normB);\n // return denom === 0 ? 0 : dot / denom;\n // }\n\n cosineSimilarity(\n a: A_FrameVector,\n b?: A_FrameVector\n ): number {\n if (!b) return 0\n\n const dot = a.dot(b)\n const mag = a.magnitude() * b.magnitude()\n return mag === 0 ? 0 : dot / mag\n }\n\n euclideanDistance(\n a: A_FrameVector,\n b: A_FrameVector\n ): number {\n this.assertSameLength(a, b)\n\n let sum = 0\n for (let i = 0; i < a.length; i++) {\n const diff = a.values[i] - b.values[i]\n sum += diff * diff\n }\n return Math.sqrt(sum)\n }\n\n nearest(\n query: A_FrameVector,\n vectors: readonly A_FrameVector[],\n limit = 1\n ): A_FrameVector[] {\n return [...vectors]\n .map(v => ({\n vector: v,\n score: this.cosineSimilarity(query, v),\n }))\n .sort((a, b) => b.score - a.score)\n .slice(0, limit)\n .map(r => r.vector)\n }\n\n rank(\n query: A_FrameVector,\n vectors: readonly A_FrameVector[]\n ): Array<{ vector: A_FrameVector; score: number }> {\n return vectors\n .map(v => ({\n vector: v,\n score: this.cosineSimilarity(query, v),\n }))\n .sort((a, b) => b.score - a.score)\n }\n\n private assertSameLength(\n a: A_FrameVector,\n b: A_FrameVector\n ) {\n if (a.length !== b.length) {\n throw new Error(\n `Embedding dimension mismatch: ${a.length} vs ${b.length}`\n )\n }\n }\n\n\n\n /**\n * Search by plain text — sends the query to the embed server via channel first.\n */\n // async searchByText(\n // query: string,\n // channel: A_FrameChannel,\n // options: A_FrameSearchOptions = {},\n // ): Promise<A_FrameDefinition_SearchResult[]> {\n // this.assertLoaded();\n // const resp = await channel.embed(query);\n // const queryEmbedding = new Float32Array(resp.data[0].embedding);\n // return this.search(queryEmbedding, options);\n // }\n\n}"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { A as A_FrameCompletion, a as A_FrameCompletionOptions, b as A_FrameCompletion_Init, c as A_FrameCompletion_Serialized } from './A-FrameCompletion.entity-Dzy9sIa8.mjs';
|
|
2
|
+
export { A_FRAME_MODELS } from './models.mjs';
|
|
3
|
+
import '@adaas/a-concept';
|
|
4
|
+
import './vector.mjs';
|
|
5
|
+
|
|
6
|
+
declare const A_FrameCompletionFeatures: {
|
|
7
|
+
readonly Generate: "_A_FRAME_COMPLETION_GENERATE";
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { A_FrameCompletionFeatures };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export{b as A_FrameCompletion,a as A_FrameCompletionFeatures}from'./chunk-6NPQURSO.mjs';import'./chunk-46LRNZRG.mjs';export{a as A_FRAME_MODELS}from'./chunk-G7MKGKG5.mjs';import'./chunk-DMGQW3AO.mjs';//# sourceMappingURL=completion.mjs.map
|
|
2
|
+
//# sourceMappingURL=completion.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"completion.mjs"}
|
package/dist/browser/core.d.mts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { A_Component, A_TYPES__Component_Constructor, A_TYPES__Fragment_Constructor, A_TYPES__A_DependencyInjectable, A_Scope, A_TYPES__Ctor, A_Error } from '@adaas/a-concept';
|
|
2
|
-
import { d as A_FrameDefineOptions, e as A_FrameNamespaceOptions, f as A_FrameDecoratorTarget, g as A_FrameDecoratorDescriptor } from './A-FrameDefinition.
|
|
3
|
-
export { h as A_FrameDecoratorMeta, i as A_FrameIndexMetaMethodMeta, j as A_FrameIndexMetaType, k as A_FrameMetaTarget, l as A_FrameNamespaceDecoratorDescriptor, m as A_FrameNamespaceDecoratorTarget, n as A_FrameOptions,
|
|
4
|
-
import { A as A_FrameContext, a as A_FrameBrowserStorageBlobs } from './A-FrameBrowserStorageBlobs.context-
|
|
2
|
+
import { d as A_FrameDefineOptions, e as A_FrameNamespaceOptions, f as A_FrameDecoratorTarget, g as A_FrameDecoratorDescriptor } from './A-FrameDefinition.types-BT02yAhQ.mjs';
|
|
3
|
+
export { h as A_FrameDecoratorMeta, i as A_FrameIndexMetaMethodMeta, j as A_FrameIndexMetaType, k as A_FrameMetaTarget, l as A_FrameNamespaceDecoratorDescriptor, m as A_FrameNamespaceDecoratorTarget, n as A_FrameOptions, c as A_FrameTargetType } from './A-FrameDefinition.types-BT02yAhQ.mjs';
|
|
4
|
+
import { A as A_FrameContext, a as A_FrameBrowserStorageBlobs } from './A-FrameBrowserStorageBlobs.context-DjeEH8cn.mjs';
|
|
5
5
|
import { A_FrameIndexTarget, A_FrameIndex } from './frame-index.mjs';
|
|
6
6
|
import { b as A_FrameLogger } from './A-FrameLogger.component.env-browser-BIPAP4oQ.mjs';
|
|
7
|
-
import './A-FrameNamespace.entity-
|
|
7
|
+
import './A-FrameNamespace.entity-BDg1FUgo.mjs';
|
|
8
8
|
import './vector.mjs';
|
|
9
|
-
import './A-FrameChannel.types-
|
|
10
|
-
import './A-FrameBundle.types-
|
|
9
|
+
import './A-FrameChannel.types-BXEKJK9t.mjs';
|
|
10
|
+
import './A-FrameBundle.types-LzfgdMiQ.mjs';
|
|
11
|
+
import './A-FrameDefinition.entity-yA0GsBoe.mjs';
|
|
11
12
|
|
|
12
13
|
declare class A_FrameBase extends A_Component {
|
|
13
14
|
/**
|
|
@@ -79,7 +80,7 @@ declare class A_Frame extends A_FrameBase {
|
|
|
79
80
|
ctor: A_TYPES__Component_Constructor<any> | A_TYPES__Fragment_Constructor<any>;
|
|
80
81
|
instance: any;
|
|
81
82
|
}>;
|
|
82
|
-
injectDependencies(
|
|
83
|
+
injectDependencies(): Promise<void>;
|
|
83
84
|
/**
|
|
84
85
|
* Hydrate all known namespaces and definitions from the in-memory bundle
|
|
85
86
|
* blobs. Read-only — never calls embed (no network in the browser).
|
package/dist/browser/core.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$2,f,g,h as h$1}from'./chunk-EFC7OUNO.mjs';export{a as A_FrameContext}from'./chunk-EFC7OUNO.mjs';import'./chunk-NTOIVRX3.mjs';import {h}from'./chunk-5TTVFB3G.mjs';import {a as a$4}from'./chunk-KFMVTZ7T.mjs';import {a as a$3}from'./chunk-RWQSCROK.mjs';import'./chunk-VSSANMPF.mjs';import'./chunk-INS7RO3B.mjs';import {a as a$1}from'./chunk-ZEONOTRL.mjs';import'./chunk-XR7FVA5M.mjs';import'./chunk-2RNFZSBL.mjs';import'./chunk-UULJJ5C5.mjs';import'./chunk-6WAOMX7M.mjs';import'./chunk-K4MZY4ME.mjs';import {c}from'./chunk-CT67Y46H.mjs';import'./chunk-6NPQURSO.mjs';import'./chunk-TQPC5MYM.mjs';import {b as b$1}from'./chunk-BIBPE2GT.mjs';import'./chunk-H6OZP4ZV.mjs';import'./chunk-WXCQCHAX.mjs';import'./chunk-46LRNZRG.mjs';import'./chunk-G7MKGKG5.mjs';import {a,b}from'./chunk-DMGQW3AO.mjs';import {A_Concept,A_Inject,A_Scope,A_Error,A_Context,A_Component,A_CommonHelper,A_TypeGuards}from'@adaas/a-concept';var k=(s=>(s.COMPONENT="component",s.ENTITY="entity",s.CONTAINER="container",s.FRAGMENT="fragment",s.METHOD="method",s))(k||{});var C=class{static isAllowedTarget(e){return A_TypeGuards.isEntityConstructor(e)||A_TypeGuards.isComponentConstructor(e)||A_TypeGuards.isContainerConstructor(e)||A_TypeGuards.isFragmentConstructor(e)||A_TypeGuards.isComponentInstance(e)||A_TypeGuards.isContainerInstance(e)||A_TypeGuards.isEntityInstance(e)||A_TypeGuards.isFragmentInstance(e)}static getTargetName(e){return A_CommonHelper.getComponentName(e)}static getTargetConstructor(e){return typeof e=="function"?e:e.constructor}};var t=class extends A_Error{};t.InvalidTarget="A-Frame Index Invalid Target Error",t.InvalidConfiguration="A-Frame Index Invalid Configuration Error",t.IndexDefinitionError="A-Frame Index Definition Error",t.IndexMetadataError="A-Frame Index Metadata Error",t.IndexRegistryError="A-Frame Index Registry Error",t.IndexComponentNotFoundError="A-Frame Index Component Not Found Error";function M(r){return function(e,o,n){let a;switch(true){case(!!o&&!!n):a="method";break;case(A_TypeGuards.isComponentConstructor(e)||A_TypeGuards.isComponentInstance(e)):a="component";break;case(A_TypeGuards.isContainerConstructor(e)||A_TypeGuards.isContainerInstance(e)):a="container";break;case(A_TypeGuards.isEntityConstructor(e)||A_TypeGuards.isEntityInstance(e)):a="entity";break;case(A_TypeGuards.isFragmentConstructor(e)||A_TypeGuards.isFragmentInstance(e)):a="fragment";break;default:throw new t(t.InvalidTarget,`@A_Frame.Define decorator cannot be applied to the target : ${A_CommonHelper.getComponentName(e)}. It can only be applied to classes or methods inheriting from allowed base classes.`)}let s=r.namespace?r.namespace instanceof c?r.namespace:a$1.getNamespace(r.namespace)||new c({name:r.namespace}):a$1.getDefaultNamespace();if(o&&n){let m=e.constructor,v=String(o),O=n.value.toString();return a$1.addDefinition(new b$1({name:v,dependency:m.name,description:r.description,source:O,metadata:r.metadata,type:"method",namespace:s})),n}if(!C.isAllowedTarget(e))throw new t(t.InvalidTarget,`@A_Frame.${a} decorator cannot be applied to the target : ${A_CommonHelper.getComponentName(e)}. It can only be applied to allowed targets.`);let F=A_CommonHelper.getComponentName(e),T=C.getTargetConstructor(e),y=e.toString();return a$1.addDefinition(new b$1({name:F,description:r.description,dependency:T.name,source:y,metadata:r.metadata,type:a,namespace:s})),e}}function Y(r={}){return function(e,o,n){if(!r.name)throw new t(t.InvalidConfiguration,"@A_Frame.Namespace decorator requires a name in the configuration.");let a=new c({name:r.name,description:r.description});a$1.addNamespace(a);}}var E=class extends A_Component{static Define(e){return M(e)}static NameSpace(e){return Y(e)}get package(){return []}packDependency(e,o,n){e.resolve(o)||e.register(n);}};var A=class extends E{get package(){return [{ctor:a$2,instance:new a$2},{ctor:a$3,instance:new a$3},{ctor:g,instance:new g},{ctor:h$1,instance:h$1},{ctor:h,instance:new h},{ctor:a$4,instance:a$4}]}async injectDependencies(){let e=A_Context.root;if(this.package.forEach(({ctor:o,instance:n})=>this.packDependency(e,o,n)),e.resolve(f)||e.register(f.instance),!e.resolve(a$1)){let o=new a$1;o.inherit(e),e.register(o);}}async load(e,o,n,a,s){if(!n.encryptionKey&&!s?.hasBundleData){a.warn("A_Frame (browser): no encryption key and no pre-built bundle data. Seed A_FrameBrowserStorageBlobs.fromBundle(bundle) before concept.load(), or call A_FrameContext.setCredentials({...}) for live-session mode.");return}s.bundleMeta&&n.serverVersion&&s.bundleMeta.serverVersion!==n.serverVersion&&a.warn(`A_Frame bundle was built against server v${s.bundleMeta.serverVersion} but the current credentials report v${n.serverVersion}. Hydration may skip records \u2014 rebuild the bundle.`);let F=o.listNamespaces(),T=o.listDefinitions();await Promise.all([...F.map(m=>Promise.resolve(m.load()).catch(()=>{})),...T.map(m=>Promise.resolve(m.load()).catch(()=>{}))]);let y=F.filter(m=>!m.isEmbed).length+T.filter(m=>!m.isEmbed).length;y>0&&a.warn(`${y} A-Frame entit${y===1?"y":"ies"} could not be hydrated from the bundle. Rebuild the bundle on the Node side to include them.`);}async build(e){}async start(e){}};a([A_Concept.Load()],A.prototype,"injectDependencies",1),a([A_Concept.Load(),b(0,A_Inject(A_Scope)),b(1,A_Inject(a$1)),b(2,A_Inject(a$2)),b(3,A_Inject(h)),b(4,A_Inject(f))],A.prototype,"load",1),a([A_Concept.Build(),b(0,A_Inject(A_Scope))],A.prototype,"build",1),a([A_Concept.Start(),b(0,A_Inject(A_Scope))],A.prototype,"start",1);export{A as A_Frame,E as A_FrameBase,M as A_FrameDefineDecorator,t as A_FrameError,Y as A_FrameNamespaceDecorator,k as A_FrameTargetType,C as A_FrameTypeGuard};//# sourceMappingURL=core.mjs.map
|
|
2
2
|
//# sourceMappingURL=core.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/A-Frame/A-Frame.types.ts","../../src/lib/A-Frame/A-Frame.guard.ts","../../src/lib/A-Frame/A-Frame.error.ts","../../src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts","../../src/lib/A-Frame/decorators/A-FrameNamespace.decorator.ts","../../src/lib/A-Frame/A-Frame.component.ts","../../src/lib/A-Frame/A-Frame.component.env-browser.ts"],"names":["A_FrameTargetType","A_FrameTypeGuard","target","A_TypeGuards","A_CommonHelper","A_FrameError","A_Error","A_FrameDefineDecorator","config","propertyKey","descriptor","componentType","namespace","A_FrameNamespace","A_FrameIndex","targetClass","methodName","source","A_FrameDefinition","componentName","A_FrameNamespaceDecorator","A_FrameBase","A_Component","options","scope","def","A_Frame","A_FrameContext","A_FrameEnv","A_FrameStorageCodec","A_FrameBrowserStorageProvider","A_FrameLogger","ctor","instance","index","context","logger","blobs","namespaces","definitions","ns","unloaded","__decorateClass","A_Concept","__decorateParam","A_Inject","A_Scope","A_FrameBrowserStorageBlobs"],"mappings":"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","file":"core.mjs","sourcesContent":["import { A_Component, A_Container, A_Entity, A_Fragment, A_TYPES__Component_Constructor, A_TYPES__Container_Constructor, A_TYPES__Entity_Constructor, A_TYPES__Fragment_Constructor, A_TYPES__Required } from \"@adaas/a-concept\"\nimport { A_FrameNamespace } from \"../A-FrameNamespace\"\n\n\nexport type A_FrameOptions = {\n namespace?: string\n description?: string\n}\n\n\nexport type A_FrameDefineOptions<T extends Record<string, any> = Record<string, any>> = {\n /**\n * The description of the Method or Class to be indexed. Uses for the better explanation and retrieval strategy \n */\n description?: string,\n /**\n * Define Namespace to separate and group together related components, entities and containers.\n * \n * [!] Namespace is a hard separation between groups.\n */\n namespace?: string | A_FrameNamespace\n /***\n * Optional parameters that can be used to store any additional information about the component, entity or container.\n * This information can be used for the better retrieval strategy or for the better explanation of the component, entity or container.\n */\n metadata?: T,\n /**\n * Can add a custom way of explaining the component, entity or container, so it can be used in the better retrieval strategy.\n */\n examples?: string[]\n}\n\n\nexport type A_FrameMetaTarget = A_TYPES__Container_Constructor\n | A_TYPES__Entity_Constructor\n | A_TYPES__Component_Constructor\n | A_TYPES__Fragment_Constructor\n\n\n// ===========================================================================\n// --------------------------- Decorator Types -------------------------------\n// ===========================================================================\n// ---------------------------------------------------------------------------\n// -------------------- A-Frame Index Decorator Types-------------------------\n// ---------------------------------------------------------------------------\n/**\n * Indicates a type of Feature Define decorator\n */\nexport type A_FrameDecoratorDescriptor =\n TypedPropertyDescriptor<(...args: any[]) => any>\n | TypedPropertyDescriptor<(...args: any[]) => any>\n | TypedPropertyDescriptor<(...args: any[]) => Promise<any>>\n | TypedPropertyDescriptor<(...args: any[]) => Promise<any>>\n\n\n/**\n * Describes a target where Feature Define decorator can be applied\n * \n * [!] The feature can be defined on Container, Entity, Component or Command\n */\nexport type A_FrameDecoratorTarget = A_FrameMetaTarget\n | A_Component\n | A_Container\n | A_Entity\n | A_Fragment\n/**\n * Targets types that can be indexed\n */\nexport enum A_FrameTargetType {\n COMPONENT = 'component',\n ENTITY = 'entity',\n CONTAINER = 'container',\n FRAGMENT = 'fragment',\n METHOD = 'method'\n}\n\n/**\n * A type of Meta information stored by Index decorator\n * This information is used by A-Context to build a proper index structure\n */\nexport type A_FrameDecoratorMeta = {\n /**\n * Component name\n */\n name: string,\n /**\n * Component description\n */\n description?: string,\n /**\n * Type of the component\n */\n type: A_FrameTargetType,\n /**\n * Namespace for the component\n */\n namespace?: string | A_FrameNamespace\n /**\n * Constructor reference\n */\n constructor: A_FrameDecoratorTarget\n}\n\n\n// ---------------------------------------------------------------------------\n// -------------------- A-Frame Index Decorator Types-------------------------\n// ---------------------------------------------------------------------------\n/**\n * Indicates a type of Feature Define decorator\n */\nexport type A_FrameNamespaceDecoratorDescriptor =\n TypedPropertyDescriptor<(...args: any[]) => any>\n | TypedPropertyDescriptor<(...args: any[]) => any>\n | TypedPropertyDescriptor<(...args: any[]) => Promise<any>>\n | TypedPropertyDescriptor<(...args: any[]) => Promise<any>>\n\n\n/**\n * Describes a target where Feature Define decorator can be applied\n * \n * [!] The feature can be defined on Container, Entity, Component or Command\n */\nexport type A_FrameNamespaceDecoratorTarget = A_Container\n | A_Entity\n | A_Component\n | A_Fragment\n | A_TYPES__Fragment_Constructor\n | A_TYPES__Component_Constructor\n | A_TYPES__Container_Constructor\n | A_TYPES__Entity_Constructor\n\n\n\n\n// ---------------------------------------------------------------------------\n// ------------- A-Frame Index Configurations Meta Types----------------------\n// ---------------------------------------------------------------------------\n\n\nexport type A_FrameIndexMetaType = {\n namespaces: string,\n descriptions: string,\n type: string,\n name: string,\n methods: Map<string, A_FrameIndexMetaMethodMeta>\n}\n\n\nexport type A_FrameIndexMetaMethodMeta = {\n name: string,\n description?: string,\n methodName: string\n}\n\n\n\n\nexport type A_FrameNamespaceOptions = {\n /**\n * Must have UNIQUE name of the Namespace. This is used for the indexing and retrieval strategy. It should be descriptive and concise.\n */\n name: string,\n /**\n * The description of the Namespace to be indexed. Uses for the better explanation and retrieval strategy\n */\n description?: string,\n}","import { A_CommonHelper, A_TypeGuards } from \"@adaas/a-concept\";\nimport { A_FrameDecoratorTarget, A_FrameMetaTarget } from \"./A-Frame.types\";\nimport { A_FrameIndexTarget } from \"../A-FrameIndex/A-FrameIndex.types\";\n\n\n\nexport class A_FrameTypeGuard {\n /**\n * Determines if the target is an allowed type for indexing\n * \n * @param target \n * @returns \n */\n static isAllowedTarget(target: any): target is A_FrameDecoratorTarget {\n return A_TypeGuards.isEntityConstructor(target)\n || A_TypeGuards.isComponentConstructor(target)\n || A_TypeGuards.isContainerConstructor(target)\n || A_TypeGuards.isFragmentConstructor(target)\n || A_TypeGuards.isComponentInstance(target)\n || A_TypeGuards.isContainerInstance(target)\n || A_TypeGuards.isEntityInstance(target)\n || A_TypeGuards.isFragmentInstance(target);\n }\n\n\n\n static getTargetName(target: A_FrameDecoratorTarget): string {\n return A_CommonHelper.getComponentName(target);\n }\n\n\n static getTargetConstructor(target: A_FrameDecoratorTarget): A_FrameIndexTarget {\n return typeof target === 'function' ? target : target.constructor as A_FrameIndexTarget;\n }\n\n\n}","import { A_Error } from \"@adaas/a-concept\";\n\n\nexport class A_FrameError extends A_Error {\n\n static readonly InvalidTarget = 'A-Frame Index Invalid Target Error';\n\n static readonly InvalidConfiguration = 'A-Frame Index Invalid Configuration Error';\n\n static readonly IndexDefinitionError = 'A-Frame Index Definition Error';\n static readonly IndexMetadataError = 'A-Frame Index Metadata Error';\n static readonly IndexRegistryError = 'A-Frame Index Registry Error';\n static readonly IndexComponentNotFoundError = 'A-Frame Index Component Not Found Error';\n}","import { A_CommonHelper, A_Context, A_Meta, A_TypeGuards } from \"@adaas/a-concept\";\nimport { A_FrameDecoratorTarget, A_FrameTargetType, A_FrameDecoratorDescriptor, A_FrameMetaTarget, A_FrameDefineOptions } from \"../A-Frame.types\";\nimport { A_FrameTypeGuard } from \"../A-Frame.guard\";\nimport { A_FrameError } from \"../A-Frame.error\";\nimport { A_FrameIndex } from \"@adaas/a-frame/index\";\nimport { A_FrameDefinition } from \"@adaas/a-frame/definition\";\nimport { A_FrameNamespace } from \"@adaas/a-frame/namespace\";\n\nexport function A_FrameDefineDecorator(\n config: A_FrameDefineOptions\n) {\n return function (\n target: A_FrameDecoratorTarget,\n propertyKey?: string | symbol,\n descriptor?: A_FrameDecoratorDescriptor\n ): any {\n let componentType: A_FrameTargetType;\n\n switch (true) {\n case !!propertyKey && !!descriptor:\n componentType = A_FrameTargetType.METHOD;\n break;\n case A_TypeGuards.isComponentConstructor(target) || A_TypeGuards.isComponentInstance(target):\n componentType = A_FrameTargetType.COMPONENT;\n break;\n case A_TypeGuards.isContainerConstructor(target) || A_TypeGuards.isContainerInstance(target):\n componentType = A_FrameTargetType.CONTAINER;\n break;\n case A_TypeGuards.isEntityConstructor(target) || A_TypeGuards.isEntityInstance(target):\n componentType = A_FrameTargetType.ENTITY;\n break;\n case A_TypeGuards.isFragmentConstructor(target) || A_TypeGuards.isFragmentInstance(target):\n componentType = A_FrameTargetType.FRAGMENT;\n break;\n default:\n throw new A_FrameError(\n A_FrameError.InvalidTarget,\n `@A_Frame.Define decorator cannot be applied to the target.`\n );\n }\n const namespace = config.namespace\n ? config.namespace instanceof A_FrameNamespace\n ? config.namespace\n : A_FrameIndex.getNamespace(config.namespace) || new A_FrameNamespace({\n name: config.namespace,\n })\n : A_FrameIndex.getDefaultNamespace();\n\n\n // Handle method decorator case\n if (!!propertyKey && !!descriptor) {\n // For methods, target is the class prototype\n const targetClass = target.constructor as A_FrameMetaTarget;\n const methodName = String(propertyKey);\n\n const source = (descriptor.value as Function).toString();\n\n // Add to methods array\n A_FrameIndex.addDefinition(new A_FrameDefinition({\n name: methodName,\n dependency: targetClass.name,\n description: config.description,\n source: source,\n metadata: config.metadata,\n type: A_FrameTargetType.METHOD,\n namespace: namespace\n }));\n\n return descriptor;\n }\n\n // Handle class decorator case\n if (!A_FrameTypeGuard.isAllowedTarget(target)) {\n throw new A_FrameError(\n A_FrameError.InvalidTarget,\n `@A_Frame.${componentType} decorator can only be applied to allowed targets.`\n );\n }\n\n // for error messages\n const componentName = A_CommonHelper.getComponentName(target);\n\n const targetClass = A_FrameTypeGuard.getTargetConstructor(target);\n\n // Check for pending namespace and description from other decorators\n const source = target.toString();\n\n A_FrameIndex.addDefinition(new A_FrameDefinition({\n name: componentName,\n description: config.description,\n dependency: targetClass.name,\n source: source,\n metadata: config.metadata,\n type: componentType,\n namespace: namespace\n }));\n\n return target;\n\n };\n}\n\n\n\n","import { A_CommonHelper, A_Context, A_Meta, A_TypeGuards } from \"@adaas/a-concept\";\nimport { A_FrameDecoratorTarget, A_FrameTargetType, A_FrameDecoratorDescriptor, A_FrameMetaTarget, A_FrameNamespaceOptions } from \"../A-Frame.types\";\nimport { A_FrameError } from \"../A-Frame.error\";\nimport { A_FrameIndex } from \"@adaas/a-frame/index\";\nimport { A_FrameNamespace } from \"@adaas/a-frame/namespace\";\n\nexport function A_FrameNamespaceDecorator(\n config: Partial<A_FrameNamespaceOptions> = {}\n) {\n return function (\n target: A_FrameDecoratorTarget,\n propertyKey?: string | symbol,\n descriptor?: A_FrameDecoratorDescriptor\n ): any {\n\n if (!config.name)\n throw new A_FrameError(\n A_FrameError.InvalidConfiguration,\n `@A_Frame.Namespace decorator requires a name in the configuration.`\n );\n\n const namespace = new A_FrameNamespace({\n name: config.name,\n description: config.description,\n });\n\n\n A_FrameIndex.addNamespace(namespace);\n };\n}\n\n\n\n","import { A_Component, A_Scope, A_TYPES__A_DependencyInjectable, A_TYPES__Component_Constructor, A_TYPES__Ctor, A_TYPES__Fragment_Constructor } from \"@adaas/a-concept\";\nimport { A_FrameDefineOptions, A_FrameNamespaceOptions } from \"./A-Frame.types\";\nimport { A_FrameDefineDecorator } from \"./decorators/A-FrameDefine.decorator\";\nimport { A_FrameNamespaceDecorator } from \"./decorators/A-FrameNamespace.decorator\";\n\n\n\nexport class A_FrameBase extends A_Component {\n /**\n * Primary Decorator to define and index components, containers, entities, fragments and methods in the A-Frame Index structure\n * \n * Those components will participate in AI indexing and retrieval strategy, so they can be used in the better way to build new features and components.\n * \n * @param options \n * @returns \n */\n static Define(options: A_FrameDefineOptions) {\n return A_FrameDefineDecorator(options) as ClassDecorator & MethodDecorator;\n\n }\n /**\n * Allows to define a namespace for grouping related components, containers, entities, fragments and methods together in the A-Frame Index structure. This is useful for better organization and retrieval strategy.\n * \n * @param options \n * @returns \n */\n static NameSpace(options: A_FrameNamespaceOptions) {\n return A_FrameNamespaceDecorator(options) as ClassDecorator & MethodDecorator;\n }\n\n\n\n /**\n * Default per-instance dependencies registered on first build. The blob\n * store is intentionally omitted here — the user is expected to seed and\n * register `A_FrameBrowserStorageBlobs` themselves (typically via\n * `A_FrameBrowserStorageBlobs.fromBundle(bundle)` before `concept.load()`).\n * If they don't, `A_FrameBrowserStorageProvider.onLoad()` falls back to the\n * empty singleton.\n */\n get package(): Array<{ ctor: A_TYPES__Component_Constructor<any> | A_TYPES__Fragment_Constructor<any>; instance: any }> {\n return [\n // { ctor: A_FrameContext, instance: new A_FrameContext() },\n // { ctor: A_FrameEnv, instance: new A_FrameEnv() },\n // { ctor: A_FrameStorageCodec, instance: new A_FrameStorageCodec() },\n // { ctor: A_FrameBrowserStorageProvider, instance: A_FrameBrowserStorageProvider },\n // { ctor: A_FrameLogger, instance: new A_FrameLogger() },\n ];\n }\n\n\n protected packDependency<T extends A_TYPES__A_DependencyInjectable>(\n scope: A_Scope,\n target: A_TYPES__Ctor<T> | T,\n def: A_TYPES__Ctor<T> | T,\n ) {\n const existing = scope.resolve(target as any);\n if (!existing) scope.register(def);\n }\n\n\n}","import { A_Concept, A_Fragment, A_Inject, A_Scope, A_TYPES__A_DependencyInjectable, A_TYPES__Component_Constructor, A_TYPES__Ctor, A_TYPES__Fragment_Constructor } from \"@adaas/a-concept\";\nimport { A_FrameBase } from \"./A-Frame.component\";\nimport { A_FrameBrowserStorageProvider } from \"../A-FrameStorage/browser/A-FrameBrowserStorage.component\";\nimport { A_FrameBrowserStorageBlobs } from \"../A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context\";\nimport { A_FrameStorageCodec } from \"../A-FrameStorage/A-FrameStorage.codec\";\nimport { A_FrameIndex } from \"../A-FrameIndex\";\nimport { A_FrameContext } from \"./A-Frame.context\";\nimport { A_FrameLogger } from \"../A-FrameLogger/A-FrameLogger.component.env-browser\";\nimport { A_FrameEnv } from \"../A-FrameEnv/A-FrameEnv.fragment.env-browser\";\n\n\n\nexport class A_Frame extends A_FrameBase {\n\n /**\n * Default per-instance dependencies registered on first build. The blob\n * store is intentionally omitted here — the user is expected to seed and\n * register `A_FrameBrowserStorageBlobs` themselves (typically via\n * `A_FrameBrowserStorageBlobs.fromBundle(bundle)` before `concept.load()`).\n * If they don't, `A_FrameBrowserStorageProvider.onLoad()` falls back to the\n * empty singleton.\n */\n get package(): Array<{ ctor: A_TYPES__Component_Constructor<any> | A_TYPES__Fragment_Constructor<any>; instance: any }> {\n return [\n { ctor: A_FrameContext, instance: new A_FrameContext() },\n { ctor: A_FrameEnv, instance: new A_FrameEnv() },\n { ctor: A_FrameStorageCodec, instance: new A_FrameStorageCodec() },\n { ctor: A_FrameBrowserStorageProvider, instance: A_FrameBrowserStorageProvider },\n { ctor: A_FrameLogger, instance: new A_FrameLogger() },\n ];\n }\n\n\n @A_Concept.Load()\n async injectDependencies(\n @A_Inject(A_Scope) scope: A_Scope,\n ) {\n // Register every package dep that isn't already in scope.\n this.package.forEach(({ ctor, instance }) => this.packDependency(scope, ctor, instance));\n\n // A_FrameIndex needs to inherit the scope so its registry is visible\n // to all later resolutions (entities query it during load).\n if (!scope.resolve(A_FrameIndex)) {\n const index = new A_FrameIndex();\n index.inherit(scope);\n scope.register(index);\n }\n }\n\n\n /**\n * Hydrate all known namespaces and definitions from the in-memory bundle\n * blobs. Read-only — never calls embed (no network in the browser).\n *\n * The caller is responsible for:\n * 1. Seeding `A_FrameBrowserStorageBlobs` from a prebuilt `A_FrameBundle`.\n * 2. Setting `A_FrameContext.encryptionKey` and `serverVersion` so blobs\n * can be decrypted and validated.\n */\n @A_Concept.Load()\n async load(\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(A_FrameIndex) index: A_FrameIndex,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameLogger) logger: A_FrameLogger,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ) {\n if (!context.encryptionKey) {\n logger.warn(\n 'A_Frame (browser): no encryption key on context — blobs cannot be decrypted. ' +\n 'Call A_FrameContext.setCredentials({...}) before concept.load().'\n );\n return;\n }\n\n // Surface a soft mismatch warning when the bundle was built against a\n // different server version than the one the user has authenticated with.\n if (blobs.bundleMeta && context.serverVersion && blobs.bundleMeta.serverVersion !== context.serverVersion) {\n logger.warn(\n `A_Frame bundle was built against server v${blobs.bundleMeta.serverVersion} ` +\n `but the current credentials report v${context.serverVersion}. ` +\n `Hydration may skip records — rebuild the bundle.`\n );\n }\n\n const namespaces = index.listNamespaces();\n const definitions = index.listDefinitions();\n\n await Promise.all([\n ...namespaces.map(ns => Promise.resolve(ns.load()).catch(() => { })),\n ...definitions.map(def => Promise.resolve(def.load()).catch(() => { })),\n ]);\n\n const unloaded =\n namespaces.filter(ns => !ns.isEmbed).length +\n definitions.filter(def => !def.isEmbed).length;\n if (unloaded > 0) {\n logger.warn(\n `${unloaded} A-Frame entit${unloaded === 1 ? 'y' : 'ies'} could not be hydrated from the bundle. ` +\n `Rebuild the bundle on the Node side to include them.`\n );\n }\n }\n\n\n @A_Concept.Build()\n async build(\n @A_Inject(A_Scope) scope: A_Scope,\n ) {\n // Build phase is now redundant for registration (handled in @Load above)\n // but kept as a hook for downstream extensions.\n }\n\n\n @A_Concept.Start()\n async start(\n @A_Inject(A_Scope) scope: A_Scope,\n ) {\n // Start logic here\n }\n\n\n\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-Frame/A-Frame.types.ts","../../src/lib/A-Frame/A-Frame.guard.ts","../../src/lib/A-Frame/A-Frame.error.ts","../../src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts","../../src/lib/A-Frame/decorators/A-FrameNamespace.decorator.ts","../../src/lib/A-Frame/A-Frame.component.ts","../../src/lib/A-Frame/A-Frame.component.env-browser.ts"],"names":["A_FrameTargetType","A_FrameTypeGuard","target","A_TypeGuards","A_CommonHelper","A_FrameError","A_Error","A_FrameDefineDecorator","config","propertyKey","descriptor","componentType","namespace","A_FrameNamespace","A_FrameIndex","targetClass","methodName","source","A_FrameDefinition","componentName","A_FrameNamespaceDecorator","A_FrameBase","A_Component","options","scope","def","A_Frame","A_FrameContext","A_FrameEnv","A_FrameStorageCodec","A_FrameBrowserStorageProvider","A_FrameLogger","A_FrameBrowserChannel","A_Context","ctor","instance","A_FrameBrowserStorageBlobs","index","context","logger","blobs","namespaces","definitions","ns","unloaded","__decorateClass","A_Concept","__decorateParam","A_Inject","A_Scope"],"mappings":"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","file":"core.mjs","sourcesContent":["import { A_Component, A_Container, A_Entity, A_Fragment, A_TYPES__Component_Constructor, A_TYPES__Container_Constructor, A_TYPES__Entity_Constructor, A_TYPES__Fragment_Constructor, A_TYPES__Required } from \"@adaas/a-concept\"\nimport { A_FrameNamespace } from \"../A-FrameNamespace\"\n\n\nexport type A_FrameOptions = {\n namespace?: string\n description?: string\n}\n\n\nexport type A_FrameDefineOptions<T extends Record<string, any> = Record<string, any>> = {\n /**\n * The description of the Method or Class to be indexed. Uses for the better explanation and retrieval strategy \n */\n description?: string,\n /**\n * Define Namespace to separate and group together related components, entities and containers.\n * \n * [!] Namespace is a hard separation between groups.\n */\n namespace?: string | A_FrameNamespace\n /***\n * Optional parameters that can be used to store any additional information about the component, entity or container.\n * This information can be used for the better retrieval strategy or for the better explanation of the component, entity or container.\n */\n metadata?: T,\n /**\n * Can add a custom way of explaining the component, entity or container, so it can be used in the better retrieval strategy.\n */\n examples?: string[]\n}\n\n\nexport type A_FrameMetaTarget = A_TYPES__Container_Constructor\n | A_TYPES__Entity_Constructor\n | A_TYPES__Component_Constructor\n | A_TYPES__Fragment_Constructor\n\n\n// ===========================================================================\n// --------------------------- Decorator Types -------------------------------\n// ===========================================================================\n// ---------------------------------------------------------------------------\n// -------------------- A-Frame Index Decorator Types-------------------------\n// ---------------------------------------------------------------------------\n/**\n * Indicates a type of Feature Define decorator\n */\nexport type A_FrameDecoratorDescriptor =\n TypedPropertyDescriptor<(...args: any[]) => any>\n | TypedPropertyDescriptor<(...args: any[]) => any>\n | TypedPropertyDescriptor<(...args: any[]) => Promise<any>>\n | TypedPropertyDescriptor<(...args: any[]) => Promise<any>>\n\n\n/**\n * Describes a target where Feature Define decorator can be applied\n * \n * [!] The feature can be defined on Container, Entity, Component or Command\n */\nexport type A_FrameDecoratorTarget = A_FrameMetaTarget\n | A_Component\n | A_Container\n | A_Entity\n | A_Fragment\n/**\n * Targets types that can be indexed\n */\nexport enum A_FrameTargetType {\n COMPONENT = 'component',\n ENTITY = 'entity',\n CONTAINER = 'container',\n FRAGMENT = 'fragment',\n METHOD = 'method'\n}\n\n/**\n * A type of Meta information stored by Index decorator\n * This information is used by A-Context to build a proper index structure\n */\nexport type A_FrameDecoratorMeta = {\n /**\n * Component name\n */\n name: string,\n /**\n * Component description\n */\n description?: string,\n /**\n * Type of the component\n */\n type: A_FrameTargetType,\n /**\n * Namespace for the component\n */\n namespace?: string | A_FrameNamespace\n /**\n * Constructor reference\n */\n constructor: A_FrameDecoratorTarget\n}\n\n\n// ---------------------------------------------------------------------------\n// -------------------- A-Frame Index Decorator Types-------------------------\n// ---------------------------------------------------------------------------\n/**\n * Indicates a type of Feature Define decorator\n */\nexport type A_FrameNamespaceDecoratorDescriptor =\n TypedPropertyDescriptor<(...args: any[]) => any>\n | TypedPropertyDescriptor<(...args: any[]) => any>\n | TypedPropertyDescriptor<(...args: any[]) => Promise<any>>\n | TypedPropertyDescriptor<(...args: any[]) => Promise<any>>\n\n\n/**\n * Describes a target where Feature Define decorator can be applied\n * \n * [!] The feature can be defined on Container, Entity, Component or Command\n */\nexport type A_FrameNamespaceDecoratorTarget = A_Container\n | A_Entity\n | A_Component\n | A_Fragment\n | A_TYPES__Fragment_Constructor\n | A_TYPES__Component_Constructor\n | A_TYPES__Container_Constructor\n | A_TYPES__Entity_Constructor\n\n\n\n\n// ---------------------------------------------------------------------------\n// ------------- A-Frame Index Configurations Meta Types----------------------\n// ---------------------------------------------------------------------------\n\n\nexport type A_FrameIndexMetaType = {\n namespaces: string,\n descriptions: string,\n type: string,\n name: string,\n methods: Map<string, A_FrameIndexMetaMethodMeta>\n}\n\n\nexport type A_FrameIndexMetaMethodMeta = {\n name: string,\n description?: string,\n methodName: string\n}\n\n\n\n\nexport type A_FrameNamespaceOptions = {\n /**\n * Must have UNIQUE name of the Namespace. This is used for the indexing and retrieval strategy. It should be descriptive and concise.\n */\n name: string,\n /**\n * The description of the Namespace to be indexed. Uses for the better explanation and retrieval strategy\n */\n description?: string,\n}","import { A_CommonHelper, A_TypeGuards } from \"@adaas/a-concept\";\nimport { A_FrameDecoratorTarget, A_FrameMetaTarget } from \"./A-Frame.types\";\nimport { A_FrameIndexTarget } from \"../A-FrameIndex/A-FrameIndex.types\";\n\n\n\nexport class A_FrameTypeGuard {\n /**\n * Determines if the target is an allowed type for indexing\n * \n * @param target \n * @returns \n */\n static isAllowedTarget(target: any): target is A_FrameDecoratorTarget {\n return A_TypeGuards.isEntityConstructor(target)\n || A_TypeGuards.isComponentConstructor(target)\n || A_TypeGuards.isContainerConstructor(target)\n || A_TypeGuards.isFragmentConstructor(target)\n || A_TypeGuards.isComponentInstance(target)\n || A_TypeGuards.isContainerInstance(target)\n || A_TypeGuards.isEntityInstance(target)\n || A_TypeGuards.isFragmentInstance(target);\n }\n\n\n\n static getTargetName(target: A_FrameDecoratorTarget): string {\n return A_CommonHelper.getComponentName(target);\n }\n\n\n static getTargetConstructor(target: A_FrameDecoratorTarget): A_FrameIndexTarget {\n return typeof target === 'function' ? target : target.constructor as A_FrameIndexTarget;\n }\n\n\n}","import { A_Error } from \"@adaas/a-concept\";\n\n\nexport class A_FrameError extends A_Error {\n\n static readonly InvalidTarget = 'A-Frame Index Invalid Target Error';\n\n static readonly InvalidConfiguration = 'A-Frame Index Invalid Configuration Error';\n\n static readonly IndexDefinitionError = 'A-Frame Index Definition Error';\n static readonly IndexMetadataError = 'A-Frame Index Metadata Error';\n static readonly IndexRegistryError = 'A-Frame Index Registry Error';\n static readonly IndexComponentNotFoundError = 'A-Frame Index Component Not Found Error';\n}","import { A_CommonHelper, A_Context, A_Meta, A_TypeGuards } from \"@adaas/a-concept\";\nimport { A_FrameDecoratorTarget, A_FrameTargetType, A_FrameDecoratorDescriptor, A_FrameMetaTarget, A_FrameDefineOptions } from \"../A-Frame.types\";\nimport { A_FrameTypeGuard } from \"../A-Frame.guard\";\nimport { A_FrameError } from \"../A-Frame.error\";\nimport { A_FrameIndex } from \"@adaas/a-frame/index\";\nimport { A_FrameDefinition } from \"@adaas/a-frame/definition\";\nimport { A_FrameNamespace } from \"@adaas/a-frame/namespace\";\n\nexport function A_FrameDefineDecorator(\n config: A_FrameDefineOptions\n) {\n return function (\n target: A_FrameDecoratorTarget,\n propertyKey?: string | symbol,\n descriptor?: A_FrameDecoratorDescriptor\n ): any {\n let componentType: A_FrameTargetType;\n\n switch (true) {\n case !!propertyKey && !!descriptor:\n componentType = A_FrameTargetType.METHOD;\n break;\n case A_TypeGuards.isComponentConstructor(target) || A_TypeGuards.isComponentInstance(target):\n componentType = A_FrameTargetType.COMPONENT;\n break;\n case A_TypeGuards.isContainerConstructor(target) || A_TypeGuards.isContainerInstance(target):\n componentType = A_FrameTargetType.CONTAINER;\n break;\n case A_TypeGuards.isEntityConstructor(target) || A_TypeGuards.isEntityInstance(target):\n componentType = A_FrameTargetType.ENTITY;\n break;\n case A_TypeGuards.isFragmentConstructor(target) || A_TypeGuards.isFragmentInstance(target):\n componentType = A_FrameTargetType.FRAGMENT;\n break;\n default:\n throw new A_FrameError(\n A_FrameError.InvalidTarget,\n `@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.`\n );\n }\n const namespace = config.namespace\n ? config.namespace instanceof A_FrameNamespace\n ? config.namespace\n : A_FrameIndex.getNamespace(config.namespace) || new A_FrameNamespace({\n name: config.namespace,\n })\n : A_FrameIndex.getDefaultNamespace();\n\n\n // Handle method decorator case\n if (!!propertyKey && !!descriptor) {\n // For methods, target is the class prototype\n const targetClass = target.constructor as A_FrameMetaTarget;\n const methodName = String(propertyKey);\n\n const source = (descriptor.value as Function).toString();\n\n // Add to methods array\n A_FrameIndex.addDefinition(new A_FrameDefinition({\n name: methodName,\n dependency: targetClass.name,\n description: config.description,\n source: source,\n metadata: config.metadata,\n type: A_FrameTargetType.METHOD,\n namespace: namespace,\n }));\n\n return descriptor;\n }\n\n // Handle class decorator case\n if (!A_FrameTypeGuard.isAllowedTarget(target)) {\n throw new A_FrameError(\n A_FrameError.InvalidTarget,\n `@A_Frame.${componentType} decorator cannot be applied to the target : ${A_CommonHelper.getComponentName(target)}. It can only be applied to allowed targets.`\n );\n }\n\n // for error messages\n const componentName = A_CommonHelper.getComponentName(target);\n\n const targetClass = A_FrameTypeGuard.getTargetConstructor(target);\n\n // Check for pending namespace and description from other decorators\n const source = target.toString();\n\n A_FrameIndex.addDefinition(new A_FrameDefinition({\n name: componentName,\n description: config.description,\n dependency: targetClass.name,\n source: source,\n metadata: config.metadata,\n type: componentType,\n namespace: namespace,\n }));\n\n return target;\n\n };\n}\n\n\n\n","import { A_CommonHelper, A_Context, A_Meta, A_TypeGuards } from \"@adaas/a-concept\";\nimport { A_FrameDecoratorTarget, A_FrameTargetType, A_FrameDecoratorDescriptor, A_FrameMetaTarget, A_FrameNamespaceOptions } from \"../A-Frame.types\";\nimport { A_FrameError } from \"../A-Frame.error\";\nimport { A_FrameIndex } from \"@adaas/a-frame/index\";\nimport { A_FrameNamespace } from \"@adaas/a-frame/namespace\";\n\nexport function A_FrameNamespaceDecorator(\n config: Partial<A_FrameNamespaceOptions> = {}\n) {\n return function (\n target: A_FrameDecoratorTarget,\n propertyKey?: string | symbol,\n descriptor?: A_FrameDecoratorDescriptor\n ): any {\n\n if (!config.name)\n throw new A_FrameError(\n A_FrameError.InvalidConfiguration,\n `@A_Frame.Namespace decorator requires a name in the configuration.`\n );\n\n const namespace = new A_FrameNamespace({\n name: config.name,\n description: config.description,\n });\n\n\n A_FrameIndex.addNamespace(namespace);\n };\n}\n\n\n\n","import { A_Component, A_Scope, A_TYPES__A_DependencyInjectable, A_TYPES__Component_Constructor, A_TYPES__Ctor, A_TYPES__Fragment_Constructor } from \"@adaas/a-concept\";\nimport { A_FrameDefineOptions, A_FrameNamespaceOptions } from \"./A-Frame.types\";\nimport { A_FrameDefineDecorator } from \"./decorators/A-FrameDefine.decorator\";\nimport { A_FrameNamespaceDecorator } from \"./decorators/A-FrameNamespace.decorator\";\n\n\n\nexport class A_FrameBase extends A_Component {\n /**\n * Primary Decorator to define and index components, containers, entities, fragments and methods in the A-Frame Index structure\n * \n * Those components will participate in AI indexing and retrieval strategy, so they can be used in the better way to build new features and components.\n * \n * @param options \n * @returns \n */\n static Define(options: A_FrameDefineOptions) {\n return A_FrameDefineDecorator(options) as ClassDecorator & MethodDecorator;\n\n }\n /**\n * Allows to define a namespace for grouping related components, containers, entities, fragments and methods together in the A-Frame Index structure. This is useful for better organization and retrieval strategy.\n * \n * @param options \n * @returns \n */\n static NameSpace(options: A_FrameNamespaceOptions) {\n return A_FrameNamespaceDecorator(options) as ClassDecorator & MethodDecorator;\n }\n\n\n\n /**\n * Default per-instance dependencies registered on first build. The blob\n * store is intentionally omitted here — the user is expected to seed and\n * register `A_FrameBrowserStorageBlobs` themselves (typically via\n * `A_FrameBrowserStorageBlobs.fromBundle(bundle)` before `concept.load()`).\n * If they don't, `A_FrameBrowserStorageProvider.onLoad()` falls back to the\n * empty singleton.\n */\n get package(): Array<{ ctor: A_TYPES__Component_Constructor<any> | A_TYPES__Fragment_Constructor<any>; instance: any }> {\n return [\n // { ctor: A_FrameContext, instance: new A_FrameContext() },\n // { ctor: A_FrameEnv, instance: new A_FrameEnv() },\n // { ctor: A_FrameStorageCodec, instance: new A_FrameStorageCodec() },\n // { ctor: A_FrameBrowserStorageProvider, instance: A_FrameBrowserStorageProvider },\n // { ctor: A_FrameLogger, instance: new A_FrameLogger() },\n ];\n }\n\n\n protected packDependency<T extends A_TYPES__A_DependencyInjectable>(\n scope: A_Scope,\n target: A_TYPES__Ctor<T> | T,\n def: A_TYPES__Ctor<T> | T,\n ) {\n const existing = scope.resolve(target as any);\n if (!existing) scope.register(def);\n }\n\n\n}","import { A_Concept, A_Context, A_Fragment, A_Inject, A_Scope, A_TYPES__A_DependencyInjectable, A_TYPES__Component_Constructor, A_TYPES__Ctor, A_TYPES__Fragment_Constructor } from \"@adaas/a-concept\";\nimport { A_FrameBase } from \"./A-Frame.component\";\nimport { A_FrameBrowserStorageProvider } from \"../A-FrameStorage/browser/A-FrameBrowserStorage.component\";\nimport { A_FrameBrowserStorageBlobs } from \"../A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context\";\nimport { A_FrameStorageCodec } from \"../A-FrameStorage/A-FrameStorage.codec\";\nimport { A_FrameIndex } from \"../A-FrameIndex\";\nimport { A_FrameContext } from \"./A-Frame.context\";\nimport { A_FrameLogger } from \"../A-FrameLogger/A-FrameLogger.component.env-browser\";\nimport { A_FrameEnv } from \"../A-FrameEnv/A-FrameEnv.fragment.env-browser\";\nimport { A_FrameBrowserChannel } from \"../A-FrameChannel/A-FrameChannel.component.env-browser\";\n\n\n\nexport class A_Frame extends A_FrameBase {\n\n /**\n * Default per-instance dependencies registered on first build. The blob\n * store is intentionally omitted here — the user is expected to seed and\n * register `A_FrameBrowserStorageBlobs` themselves (typically via\n * `A_FrameBrowserStorageBlobs.fromBundle(bundle)` before `concept.load()`).\n * If they don't, `A_FrameBrowserStorageProvider.onLoad()` falls back to the\n * empty singleton.\n */\n get package(): Array<{ ctor: A_TYPES__Component_Constructor<any> | A_TYPES__Fragment_Constructor<any>; instance: any }> {\n return [\n { ctor: A_FrameContext, instance: new A_FrameContext() },\n { ctor: A_FrameEnv, instance: new A_FrameEnv() },\n { ctor: A_FrameStorageCodec, instance: new A_FrameStorageCodec() },\n { ctor: A_FrameBrowserStorageProvider, instance: A_FrameBrowserStorageProvider },\n { ctor: A_FrameLogger, instance: new A_FrameLogger() },\n { ctor: A_FrameBrowserChannel, instance: A_FrameBrowserChannel },\n ];\n }\n\n\n @A_Concept.Load()\n async injectDependencies(\n ) {\n const scope = A_Context.root\n\n // Register \n // every package dep that isn't already in scope.\n this.package.forEach(({ ctor, instance }) => this.packDependency(scope, ctor, instance));\n\n // Register the blobs singleton so it is always injectable via\n // @A_Inject(A_FrameBrowserStorageBlobs). This must happen here\n // (not in A_FrameBrowserStorageProvider.onLoad) because the concept\n // only loads A_Frame as a component — the provider is only a DI token.\n if (!scope.resolve(A_FrameBrowserStorageBlobs)) {\n scope.register(A_FrameBrowserStorageBlobs.instance);\n }\n\n // A_FrameIndex needs to inherit the scope so its registry is visible\n // to all later resolutions (entities query it during load).\n if (!scope.resolve(A_FrameIndex)) {\n const index = new A_FrameIndex();\n index.inherit(scope);\n scope.register(index);\n }\n }\n\n\n /**\n * Hydrate all known namespaces and definitions from the in-memory bundle\n * blobs. Read-only — never calls embed (no network in the browser).\n *\n * The caller is responsible for:\n * 1. Seeding `A_FrameBrowserStorageBlobs` from a prebuilt `A_FrameBundle`.\n * 2. Setting `A_FrameContext.encryptionKey` and `serverVersion` so blobs\n * can be decrypted and validated.\n */\n @A_Concept.Load()\n async load(\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(A_FrameIndex) index: A_FrameIndex,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameLogger) logger: A_FrameLogger,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ) {\n if (!context.encryptionKey && !blobs?.hasBundleData) {\n logger.warn(\n 'A_Frame (browser): no encryption key and no pre-built bundle data. ' +\n 'Seed A_FrameBrowserStorageBlobs.fromBundle(bundle) before concept.load(), ' +\n 'or call A_FrameContext.setCredentials({...}) for live-session mode.'\n );\n return;\n }\n\n // Surface a soft mismatch warning when the bundle was built against a\n // different server version than the one the user has authenticated with.\n if (blobs.bundleMeta && context.serverVersion && blobs.bundleMeta.serverVersion !== context.serverVersion) {\n logger.warn(\n `A_Frame bundle was built against server v${blobs.bundleMeta.serverVersion} ` +\n `but the current credentials report v${context.serverVersion}. ` +\n `Hydration may skip records — rebuild the bundle.`\n );\n }\n\n const namespaces = index.listNamespaces();\n const definitions = index.listDefinitions();\n\n await Promise.all([\n ...namespaces.map(ns => Promise.resolve(ns.load()).catch(() => { })),\n ...definitions.map(def => Promise.resolve(def.load()).catch(() => { })),\n ]);\n\n const unloaded =\n namespaces.filter(ns => !ns.isEmbed).length +\n definitions.filter(def => !def.isEmbed).length;\n if (unloaded > 0) {\n logger.warn(\n `${unloaded} A-Frame entit${unloaded === 1 ? 'y' : 'ies'} could not be hydrated from the bundle. ` +\n `Rebuild the bundle on the Node side to include them.`\n );\n }\n }\n\n\n @A_Concept.Build()\n async build(\n @A_Inject(A_Scope) scope: A_Scope,\n ) {\n // Build phase is now redundant for registration (handled in @Load above)\n // but kept as a hook for downstream extensions.\n }\n\n\n @A_Concept.Start()\n async start(\n @A_Inject(A_Scope) scope: A_Scope,\n ) {\n // Start logic here\n }\n\n\n\n}\n"]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { A_TYPES__Entity_Serialized, A_Entity, A_Scope } from '@adaas/a-concept';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Initialization shape — matches the server response from GET /api/v1/credentials/me
|
|
5
|
+
*/
|
|
6
|
+
type A_FrameCredentials_Init = {
|
|
7
|
+
/** Unique identifier for the credential (as returned by the a-frame-mcp server) */
|
|
8
|
+
id: string;
|
|
9
|
+
/** Human-readable credential name */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Optional description */
|
|
12
|
+
description?: string | null;
|
|
13
|
+
/** Encryption key in the encoding specified by key_encoding */
|
|
14
|
+
encryption_key: string;
|
|
15
|
+
/** Encryption algorithm (e.g. "AES-256-GCM") */
|
|
16
|
+
algorithm: string;
|
|
17
|
+
/** Encoding format of the key (e.g. "base64") */
|
|
18
|
+
key_encoding: string;
|
|
19
|
+
/** Usage note provided by the server */
|
|
20
|
+
usage_note?: string | null;
|
|
21
|
+
/** Version of the a-frame-mcp server that issued this credential */
|
|
22
|
+
server_version: string;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Serialized shape — persisted / round-tripped via toJSON / fromJSON.
|
|
26
|
+
* The encryption key is intentionally excluded from serialization.
|
|
27
|
+
*/
|
|
28
|
+
type A_FrameCredentials_Serialized = {
|
|
29
|
+
credentialId: string;
|
|
30
|
+
name: string;
|
|
31
|
+
description?: string | null;
|
|
32
|
+
algorithm: string;
|
|
33
|
+
key_encoding: string;
|
|
34
|
+
serverVersion: string;
|
|
35
|
+
} & A_TYPES__Entity_Serialized;
|
|
36
|
+
|
|
37
|
+
declare class A_FrameCredentials extends A_Entity<A_FrameCredentials_Init, A_FrameCredentials_Serialized> {
|
|
38
|
+
static get concept(): string;
|
|
39
|
+
protected _credentialId: string;
|
|
40
|
+
protected _name: string;
|
|
41
|
+
protected _description?: string | null;
|
|
42
|
+
protected _encryptionKey: string;
|
|
43
|
+
protected _algorithm: string;
|
|
44
|
+
protected _keyEncoding: string;
|
|
45
|
+
protected _usageNote?: string | null;
|
|
46
|
+
protected _serverVersion: string;
|
|
47
|
+
get credentialId(): string;
|
|
48
|
+
get name(): string;
|
|
49
|
+
get description(): string | null | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* The raw encryption key as returned by the server.
|
|
52
|
+
* Use this for encrypting / decrypting data exchanged with the a-frame-mcp server.
|
|
53
|
+
*/
|
|
54
|
+
get encryptionKey(): string;
|
|
55
|
+
get algorithm(): string;
|
|
56
|
+
get keyEncoding(): string;
|
|
57
|
+
get usageNote(): string | null | undefined;
|
|
58
|
+
get serverVersion(): string;
|
|
59
|
+
get isAuthenticated(): boolean;
|
|
60
|
+
load(scope?: A_Scope): Promise<void> | void;
|
|
61
|
+
save(scope?: A_Scope): Promise<void> | void;
|
|
62
|
+
destroy(scope?: A_Scope): Promise<void> | void;
|
|
63
|
+
fromNew(init: A_FrameCredentials_Init): void;
|
|
64
|
+
fromJSON(serialized: A_FrameCredentials_Serialized): void;
|
|
65
|
+
toJSON(): A_FrameCredentials_Serialized;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
declare const A_FrameCredentialsFeatures: {
|
|
69
|
+
readonly Load: "_A_FRAME_CREDENTIALS_LOAD";
|
|
70
|
+
readonly Save: "_A_FRAME_CREDENTIALS_SAVE";
|
|
71
|
+
readonly Destroy: "_A_FRAME_CREDENTIALS_DESTROY";
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export { A_FrameCredentials, A_FrameCredentialsFeatures, type A_FrameCredentials_Init, type A_FrameCredentials_Serialized };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"credentials.mjs"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export { A as A_FrameDefinition
|
|
1
|
+
export { A as A_FrameDefinition } from './A-FrameDefinition.entity-yA0GsBoe.mjs';
|
|
2
|
+
export { A as A_FrameDefinition_EmbeddingMeta, a as A_FrameDefinition_Init, b as A_FrameDefinition_Serialized, D as DefinitionExtractedMeta } from './A-FrameDefinition.types-BT02yAhQ.mjs';
|
|
2
3
|
import '@adaas/a-concept';
|
|
3
|
-
import './A-FrameNamespace.entity-rCm1AavP.mjs';
|
|
4
4
|
import './vector.mjs';
|
|
5
|
+
import './A-FrameNamespace.entity-BDg1FUgo.mjs';
|
|
5
6
|
|
|
6
7
|
declare const A_FrameDefinitionFeatures: {
|
|
7
8
|
readonly Load: "_A_FRAME_DEFINITION_LOAD";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{b as A_FrameDefinition,a as A_FrameDefinitionFeatures}from'./chunk-
|
|
1
|
+
export{b as A_FrameDefinition,a as A_FrameDefinitionFeatures}from'./chunk-BIBPE2GT.mjs';import'./chunk-H6OZP4ZV.mjs';import'./chunk-WXCQCHAX.mjs';import'./chunk-46LRNZRG.mjs';import'./chunk-G7MKGKG5.mjs';import'./chunk-DMGQW3AO.mjs';//# sourceMappingURL=definition.mjs.map
|
|
2
2
|
//# sourceMappingURL=definition.mjs.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { A as A_FrameContentGenerateResponse, a as A_FrameContentPatchOperation, b as A_FrameContentPatchPosition, c as A_FrameContentPatchResponse, d as A_FrameContentPiece, e as A_FrameContentSegmentWire, f as A_FrameDynamicContent, g as A_FrameDynamicContentFeatureNames, h as A_FrameDynamicContentFeatures, i as A_FrameDynamicContentOperation, j as A_FrameDynamicContentOptions, k as A_FrameDynamicContent_Init, l as A_FrameDynamicContent_Serialized } from './A-FrameDynamicContentOperation.context-CoViNb19.mjs';
|
|
2
|
+
import { A_Error } from '@adaas/a-concept';
|
|
3
|
+
import './vector.mjs';
|
|
4
|
+
import './A-FrameSegment.entity-D1xjjWvG.mjs';
|
|
5
|
+
|
|
6
|
+
declare class A_FrameDynamicContentError extends A_Error {
|
|
7
|
+
static readonly GenerationFailed = "GenerationFailed";
|
|
8
|
+
static readonly PatchFailed = "PatchFailed";
|
|
9
|
+
static readonly InvalidPatch = "InvalidPatch";
|
|
10
|
+
static readonly PieceNotFound = "PieceNotFound";
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { A_FrameDynamicContentError };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export{e as A_FrameDynamicContent,d as A_FrameDynamicContentError,b as A_FrameDynamicContentFeatures,c as A_FrameDynamicContentOperation}from'./chunk-UULJJ5C5.mjs';import'./chunk-TQPC5MYM.mjs';import'./chunk-H6OZP4ZV.mjs';import'./chunk-WXCQCHAX.mjs';import'./chunk-46LRNZRG.mjs';import'./chunk-G7MKGKG5.mjs';import'./chunk-DMGQW3AO.mjs';//# sourceMappingURL=dynamic-content.mjs.map
|
|
2
|
+
//# sourceMappingURL=dynamic-content.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"dynamic-content.mjs"}
|