@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":["../../src/lib/A-FrameChannel/A-FrameChannel.constants.ts","../../src/lib/A-FrameChannel/A-FrameChannelRequest.context.ts","../../src/lib/A-FrameChannel/A-FrameChannel.error.ts","../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts","../../src/lib/A-FrameDynamicSession/A-FrameDynamicSession.constants.ts","../../src/lib/A-FrameDynamicSession/A-FrameDynamicSession.entity.ts","../../src/lib/A-FrameChannel/A-FrameChannelEvent.context.ts","../../src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts","../../src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts","../../src/lib/A-FrameChannel/A-FrameChannel.component.ts","../../src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts"],"names":["A_FrameFeatures","A_FrameChannelStreamStatuses","A_FrameChannelStreamFeatures","A_FrameChannelSocketStatuses","A_FrameChannelSocketFeatures","A_FrameChannelRequest","A_Fragment","method","path","body","response","error","A_FrameChannelError","A_Error","A_FrameEnv","version","raw","parsed","A_FrameDynamicSessionFeatures","A_FrameDynamicSession","A_Entity","A_Context","A_Scope","newEntity","serialized","scope","A_FrameChannelEvent","name","data","A_FrameChannelStream","eventName","target","propertyKey","descriptor","A_Feature","request","executionScope","callName","A_FrameChannelDsgStream","fn","event","requestId","vector","queryVector","A_FrameVector","top","A_FrameIndex","components","message","__decorateClass","__decorateParam","A_Inject","A_FrameChannel","A_Component","prompt","err","input","options","definition","env","namespace","segment","structure","session","operation","openRequest","openScope","channelId","channel","dsgStream","respondRequest","respondScope","streamScope","streamTask","generateRequest","generateScope","content","requestScope","resp","segments","w","seg","A_FrameSegment","instruction","wireIdToAseid","wireSegments","s","idx","wireId","translatedOperations","op","completion","scheme","A_FrameDefinitionFeatures","A_FrameDefinition","A_Caller","A_FrameNamespaceFeatures","A_FrameNamespace","A_FrameSegmentFeatures","A_FrameDynamicStructureFeatures","A_FrameDynamicStructure","A_FrameDynamicStructureOperation","A_FrameDynamicContentFeatures","A_FrameDynamicContent","A_FrameDynamicContentOperation","A_FrameCompletionFeatures","A_FrameCompletion","A_FrameSchemaFeatures","A_FrameSchema","A_FrameBrowserChannel","context","url","controller","timer"],"mappings":"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","file":"chunk-66BBIZAM.mjs","sourcesContent":["\n\nexport const A_FrameFeatures = {\n Request: '_A_FRAME_REQUEST',\n Socket: '_A_FRAME_SOCKET',\n Stream: '_A_FRAME_STREAM',\n Send: '_A_FRAME_SEND',\n} as const;\n\n\n\nexport const A_FrameChannelStreamStatuses = {\n Open: 'open',\n Closed: 'closed',\n} as const;\n\n\nexport const A_FrameChannelStreamFeatures = {\n open: '_A_FRAME_CHANNEL_STREAM_OPEN',\n send: '_A_FRAME_CHANNEL_STREAM_SEND',\n onEvent: '_A_FRAME_CHANNEL_STREAM_ON_EVENT',\n onError: '_A_FRAME_CHANNEL_STREAM_ON_ERROR',\n onComplete: '_A_FRAME_CHANNEL_STREAM_ON_COMPLETE',\n onClose: '_A_FRAME_CHANNEL_STREAM_ON_CLOSE',\n} as const;\n\n\n// ─── WebSocket socket entity constants ───────────────────────────────────────\n\nexport const A_FrameChannelSocketStatuses = {\n Connecting: 'connecting',\n Open: 'open',\n Closed: 'closed',\n} as const;\n\nexport const A_FrameChannelSocketFeatures = {\n onEvent: '_A_FRAME_CHANNEL_SOCKET_ON_EVENT',\n onError: '_A_FRAME_CHANNEL_SOCKET_ON_ERROR',\n onOpen: '_A_FRAME_CHANNEL_SOCKET_ON_OPEN',\n onClose: '_A_FRAME_CHANNEL_SOCKET_ON_CLOSE',\n} as const;\n","import { A_Error, A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameChannelRequest<\n _Response = any\n> extends A_Fragment {\n\n protected _response?: _Response;\n\n protected _error?: A_Error;\n\n\n constructor(\n public method: string,\n public path: string,\n public body?: unknown\n ) {\n super({ name: 'a-frame-channel-request' });\n }\n\n complete(response: _Response): void {\n this._response = response;\n }\n\n fail(error: A_Error): void {\n this._error = error;\n }\n\n get response(): _Response | undefined {\n return this._response;\n }\n\n get error(): A_Error | undefined {\n return this._error;\n }\n}\n","import { A_Error } from \"@adaas/a-concept\";\n\n\n\nexport class A_FrameChannelError extends A_Error{\n static readonly InvalidRequest = 'InvalidRequest';\n static readonly Timeout = 'Timeout';\n static readonly RequestFailed = 'RequestFailed';\n}\n ","import { A_Fragment } from \"@adaas/a-concept\";\nimport * as pkg from '../../../package.json';\nimport { IA_FrameEnv } from \"./A-FrameEnv.types\";\n\n\nexport class A_FrameEnv extends A_Fragment implements IA_FrameEnv {\n\n get A_FRAME_FILE_EXTENSION() {\n return '.aframe';\n }\n\n get A_FRAME_NAMESPACES_BIN() {\n return `__namespaces${this.A_FRAME_FILE_EXTENSION}`;\n }\n\n get A_FRAME_SYNC() {\n return process.env.A_FRAME_SYNC === 'false' ? false : true;\n }\n\n get A_FRAME_TOKEN() {\n return process.env.A_FRAME_TOKEN || '';\n }\n\n get A_FRAME_SERVER_URL() {\n return process.env.A_FRAME_SERVER_URL || 'http://localhost:3663';\n }\n\n get A_FRAME_SERVER_API_KEY() {\n return process.env.A_FRAME_SERVER_API_KEY || '';\n }\n\n get A_FRAME_STORAGE_DIR() {\n return process.env.A_FRAME_STORAGE_DIR || '.aframe';\n }\n\n get A_FRAME_VERSION() {\n return pkg.version || '0.0.1';\n }\n\n /**\n * Maximum time (ms) the HTTP client waits for a single response.\n * AI inference can be slow; default is 120 seconds.\n * Override with A_FRAME_REQUEST_TIMEOUT env var.\n */\n get A_FRAME_REQUEST_TIMEOUT(): number {\n const raw = process.env.A_FRAME_REQUEST_TIMEOUT;\n const parsed = raw ? parseInt(raw, 10) : NaN;\n return isNaN(parsed) ? 120_000 : parsed;\n }\n}","\n\n\nexport const A_FrameDynamicSessionFeatures = {\n Init: '_A_FRAME_DYNAMIC_SESSION_INIT',\n Question: '_A_FRAME_DYNAMIC_SESSION_QUESTION',\n Answer: '_A_FRAME_DYNAMIC_SESSION_ANSWER',\n Destroy: '_A_FRAME_DYNAMIC_SESSION_DESTROY',\n} as const;","import { A_Context, A_Entity, A_Scope } from \"@adaas/a-concept\"\nimport { A_FrameDynamicSession_Init, A_FrameDynamicSession_Serialized } from \"./A-FrameDynamicSession.types\";\nimport { A_FrameDynamicSessionFeatures } from \"./A-FrameDynamicSession.constants\";\n\n\nexport class A_FrameDynamicSession extends A_Entity<A_FrameDynamicSession_Init, A_FrameDynamicSession_Serialized> {\n static get concept(): string {\n return 'a-frame';\n }\n\n /**\n * \n */\n protected _scope!: A_Scope\n\n protected _turnsCount!: number;\n protected _currentTurn!: number;\n protected _initDate!: string;\n\n /**\n * \n */\n get scope(): A_Scope {\n\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 currentTurn(): number {\n return this._currentTurn;\n }\n\n get initDate(): Date {\n return new Date(this._initDate);\n }\n\n\n static onQuestion() {\n return;\n }\n\n static onAnswer() {\n return;\n }\n\n\n fromNew(newEntity: A_FrameDynamicSession_Init): void {\n this._turnsCount = newEntity.turnsCount || 5;\n this._currentTurn = 0;\n this._initDate = new Date().toISOString();\n\n }\n\n fromJSON(serialized: A_FrameDynamicSession_Serialized): void {\n this._turnsCount = serialized.turnsCount;\n this._currentTurn = serialized.currentTurn;\n this._initDate = serialized.initDate;\n }\n\n\n async init() {\n await this.call(A_FrameDynamicSessionFeatures.Init)\n }\n\n async destroy(scope?: A_Scope): Promise<void> {\n await this.call(A_FrameDynamicSessionFeatures.Destroy, scope);\n }\n\n\n async question() {\n this._currentTurn++;\n await this.call(A_FrameDynamicSessionFeatures.Question);\n }\n\n async answer() {\n await this.call(A_FrameDynamicSessionFeatures.Answer);\n }\n\n\n toJSON(): A_FrameDynamicSession_Serialized {\n return {\n ...super.toJSON(),\n turnsCount: this._turnsCount,\n currentTurn: this._currentTurn,\n initDate: this._initDate,\n }\n }\n}","import { A_Error, A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameChannelEvent<\n T extends Record<string, any> = any,\n> extends A_Fragment {\n\n protected _data?: T;\n protected _eventName!: string;\n\n constructor(\n name: string,\n data?: T\n ) {\n super({ name: 'a-frame-channel-event-' + name });\n this._data = data as T;\n this._eventName = name;\n }\n\n get name(): string {\n return this._eventName;\n }\n\n get data(): T | undefined {\n return this._data;\n }\n\n}\n","import { A_Context, A_Entity, A_Error, A_Feature, A_Scope } from \"@adaas/a-concept\";\nimport { A_FrameChannelStream_Init, A_FrameChannelStream_Serialized, A_FrameChannelStreamStatusNames } from \"./A-FrameChannel.types\";\nimport { A_FrameChannelStreamFeatures, A_FrameChannelStreamStatuses } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelEvent } from \"./A-FrameChannelEvent.context\";\n\n\n\nexport class A_FrameChannelStream<\n T extends Record<string, any> = Record<string, any>\n> extends A_Entity<\n A_FrameChannelStream_Init<T>,\n A_FrameChannelStream_Serialized<T>\n> {\n\n\n static onEvent(name?: string) {\n\n const eventName = (name || 'all') + A_FrameChannelStreamFeatures.onEvent;\n\n\n return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {\n return A_Feature.Extend({\n name: eventName,\n scope: [target.constructor],\n })(target, propertyKey, descriptor);\n }\n }\n\n\n protected _method!: string;\n protected _path!: string;\n protected _body?: T;\n protected _scope!: A_Scope\n protected _error?: A_Error;\n protected _status!: A_FrameChannelStreamStatusNames;\n protected _initDate!: string;\n\n /**\n * The scope of the session, Will be destroyed after the session is closed.\n */\n get scope(): A_Scope {\n\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 method(): string {\n return this._method;\n }\n\n get path(): string {\n return this._path;\n }\n\n get body(): T | undefined {\n return this._body;\n }\n\n get status(): A_FrameChannelStreamStatusNames {\n return this._status;\n }\n\n get error(): A_Error | undefined {\n return this._error;\n }\n\n get initDate(): Date {\n return new Date(this._initDate);\n }\n\n complete(): void {\n this._status = A_FrameChannelStreamStatuses.Closed;\n }\n\n fail(error: A_Error): void {\n this._status = A_FrameChannelStreamStatuses.Closed;\n this._error = error;\n }\n\n destroy(): Promise<void> | void {\n this.scope.destroy();\n }\n\n async open(){\n await this.call(A_FrameChannelStreamFeatures.open);\n }\n\n async send(){\n await this.call(A_FrameChannelStreamFeatures.send);\n }\n\n\n async propagate<T extends Record<string, any>>(name: string, data?: T): Promise<void> {\n const request = new A_FrameChannelEvent<T>(name, data);\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannelStream.propagate',\n fragments: [request],\n })\n .inherit(this.scope);\n\n try {\n\n const callName = (name || 'all') + A_FrameChannelStreamFeatures.onEvent;\n\n await this.call(callName, executionScope);\n executionScope.destroy();\n\n } catch {\n executionScope.destroy();\n }\n }\n\n fromNew(newEntity: A_FrameChannelStream_Init<T>): void {\n this.aseid = this.generateASEID();\n this._method = newEntity.method;\n this._path = newEntity.path;\n this._body = newEntity.body;\n this._initDate = new Date().toISOString();\n }\n\n fromJSON(serialized: A_FrameChannelStream_Serialized<T>): void {\n this._method = serialized.method;\n this._path = serialized.path;\n this._body = serialized.body;\n this._initDate = serialized.initDate;\n }\n\n\n toJSON(): A_FrameChannelStream_Serialized<T> {\n return {\n ...super.toJSON(),\n initDate: this._initDate,\n status: this._status,\n error: this._error ? this._error.toJSON() : undefined,\n method: this._method,\n path: this._path,\n body: this._body,\n }\n }\n\n}","import { A_Inject } from \"@adaas/a-concept\";\nimport { A_FrameChannelStream } from \"./A-FrameChannelStream.entity\";\nimport { A_FrameChannelEvent } from \"./A-FrameChannelEvent.context\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameIndex } from \"../A-FrameIndex/A-FrameIndex.context\";\nimport { A_FrameDynamicStructureResolvedComponent } from \"../A-FrameDynamicStructure/A-FrameDynamicStructure.types\";\n\ntype DsgRespondFn = (requestId: string, data: { component: string | null; score: number }) => Promise<void>;\n\n/**\n * A_FrameChannelDsgStream\n *\n * SSE stream entity used by the SSE-driven dynamic-structure generation\n * pipeline. Handles the following server-pushed events:\n *\n * search_component — server sends an embedded vector and asks the client\n * to find the best matching registered component.\n * structure_complete — server sends the final resolved component list.\n * structure_error — server reports a pipeline error.\n *\n * Usage:\n * const stream = new A_FrameChannelDsgStream({ path: `/api/v1/dsg/stream/${channelId}` });\n * stream.setRespondFn(async (requestId, data) => { ... });\n * // open SSE connection, then retrieve stream.resolvedComponents\n */\nexport class A_FrameChannelDsgStream extends A_FrameChannelStream {\n\n private _respondFn?: DsgRespondFn;\n private _resolvedComponents: A_FrameDynamicStructureResolvedComponent[] = [];\n\n // ── Configuration ──────────────────────────────────────────────────────\n\n /**\n * Provide the callback that sends a component-search response back to the\n * server via HTTP POST. Must be set before the SSE stream is opened.\n */\n setRespondFn(fn: DsgRespondFn): void {\n this._respondFn = fn;\n }\n\n // ── Result accessor ────────────────────────────────────────────────────\n\n /**\n * Contains the resolved components after `structure_complete` is received.\n * Empty until the server pushes the final structure.\n */\n get resolvedComponents(): ReadonlyArray<A_FrameDynamicStructureResolvedComponent> {\n return this._resolvedComponents;\n }\n\n // ── SSE event handlers ─────────────────────────────────────────────────\n\n /**\n * Server requests that the client search its local index for the best\n * component matching the provided pre-embedded vector.\n *\n * Event data: { requestId, vector, type, role, prompt }\n */\n @A_FrameChannelStream.onEvent('search_component')\n async onSearchComponent(\n @A_Inject(A_FrameChannelEvent) event: A_FrameChannelEvent,\n ) {\n if (!this._respondFn) return;\n\n const { requestId, vector } = event.data as {\n requestId: string;\n vector: number[];\n type: string;\n role: string;\n prompt: string;\n };\n\n const queryVector = new A_FrameVector(vector ?? []);\n const results = A_FrameIndex.search(queryVector, { topK: 1 });\n const top = results[0];\n\n await this._respondFn(requestId, {\n component: top?.record?.name ?? null,\n score: top?.score ?? 0,\n });\n }\n\n /**\n * Server pushes the final resolved component list.\n *\n * Event data: { components, prompt }\n */\n @A_FrameChannelStream.onEvent('structure_complete')\n async onStructureComplete(\n @A_Inject(A_FrameChannelEvent) event: A_FrameChannelEvent,\n ) {\n const { components } = event.data as {\n components: A_FrameDynamicStructureResolvedComponent[];\n prompt: string;\n };\n this._resolvedComponents = Array.isArray(components) ? components : [];\n }\n\n /**\n * Server reports a generation error.\n */\n @A_FrameChannelStream.onEvent('structure_error')\n async onStructureError(\n @A_Inject(A_FrameChannelEvent) event: A_FrameChannelEvent,\n ) {\n const { message } = (event.data ?? {}) as { message?: string };\n\n console.error('[A_FrameChannelDsgStream] Server reported structure error:', message ?? 'unknown');\n }\n}\n","import { A_Caller, A_Component, A_Context, A_Feature, A_Inject, A_Scope } from \"@adaas/a-concept\";\nimport { IA_Frame_Channel, A_Frame_EmbedResponse, A_Frame_GenerateResponse, A_Frame_CredentialResponse, A_FrameEmbedOptions } from \"./A-FrameChannel.types\";\nimport { A_FrameEnv } from \"../A-FrameEnv/A-FrameEnv.fragment.env-node\";\nimport { A_FrameFeatures } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelRequest } from \"./A-FrameChannelRequest.context\";\nimport { A_FrameChannelError } from \"./A-FrameChannel.error\";\nimport { A_FrameDefinition } from \"../A-FrameDefinition\";\nimport { A_FrameDefinitionFeatures } from \"../A-FrameDefinition/A-FrameDefinition.constants\";\nimport { A_FrameNamespaceFeatures } from \"../A-FrameNamespace/A-FrameNamespace.constants\";\nimport { A_FrameNamespace } from \"../A-FrameNamespace\";\nimport { A_FrameDynamicStructure } from \"../A-FrameDynamicStructure/A-FrameDynamicStructure.entity\";\nimport { A_FrameDynamicSession } from \"../A-FrameDynamicSession/A-FrameDynamicSession.entity\";\nimport { A_FrameDynamicStructureOperation } from \"../A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context\";\nimport { A_FrameDynamicStructureFeatures } from \"../A-FrameDynamicStructure/A-FrameDynamicStructure.constants\";\nimport { A_FrameChannelSocket } from \"./A-FrameChannelSocket.entity\";\nimport { A_FrameChannelDsgStream } from \"./A-FrameChannelDsgStream.entity\";\nimport { A_FrameDynamicContent } from \"../A-FrameDynamicContent/A-FrameDynamicContent.entity\";\nimport { A_FrameDynamicContentOperation } from \"../A-FrameDynamicContent/A-FrameDynamicContentOperation.context\";\nimport { A_FrameDynamicContentFeatures } from \"../A-FrameDynamicContent/A-FrameDynamicContent.constants\";\nimport { A_FrameContentGenerateResponse, A_FrameContentPatchResponse } from \"../A-FrameDynamicContent/A-FrameDynamicContent.types\";\nimport { A_Frame_CompletionResponse } from \"./A-FrameChannel.types\";\nimport { A_FrameSegment, A_FrameSegmentFeatures } from \"../A-FrameSegment\";\nimport { A_FrameCompletion, A_FrameCompletionFeatures } from \"../A-FrameCompletion\";\nimport { A_FrameSchema, A_FrameSchemaFeatures } from \"../A-FrameSchema\";\nimport { A_Frame_SchemaResponse } from \"./A-FrameChannel.types\";\n\n/**\n * A_FrameChannel — Node.js environment\n *\n * HTTP client for the embed-server API.\n * Configuration is resolved from process.env via A_FrameEnv injected at\n * feature execution time — no state is stored on the component itself.\n *\n * Uses the global fetch (available in Node 18+; no extra dependency needed).\n */\nexport class A_FrameChannel extends A_Component implements IA_Frame_Channel {\n\n async generate(prompt: string): Promise<A_FrameChannelRequest<A_Frame_GenerateResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_GenerateResponse>('POST', '/api/v1/completions', { prompt, max_tokens: 512 });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.generate',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to generate completion: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n async embed(input: string | string[], options?: A_FrameEmbedOptions): Promise<A_FrameChannelRequest<A_Frame_EmbedResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/embeddings', {\n input,\n ...(options?.model && { model: options.model }),\n ...(options?.task && { task: options.task }),\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embed',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed input: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n async getCredentials(): Promise<A_FrameChannelRequest<A_Frame_CredentialResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_CredentialResponse>('GET', '/api/v1/credentials/me');\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.getCredentials',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to get credentials: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n async ping(): Promise<A_FrameChannelRequest<boolean>> {\n const request = new A_FrameChannelRequest<boolean>('GET', '/health');\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.ping',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n\n } catch {\n executionScope.destroy();\n\n return request;\n }\n }\n\n\n\n // ─── Feature implementation ───────────────────────────────────────────────\n @A_Feature.Extend({\n name: A_FrameDefinitionFeatures.Embed,\n scope: [A_FrameDefinition],\n })\n async embedDefinition(\n @A_Inject(A_Caller) definition: A_FrameDefinition,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/definition/embed', {\n definition: definition.toJSON(),\n model: definition.requestedModel,\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embedDefinition',\n fragments: [request]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope) as A_Frame_EmbedResponse;\n executionScope.destroy();\n\n const response = request.response!;\n if (!response.data || !response.data[0] || !response.data[0].embedding) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid embedding response for definition \"${definition.name}\"`,\n });\n }\n\n const vector = new Float32Array(response.data[0].embedding);\n\n definition.hydrateFromEmbedding(vector, {\n model: response.model,\n dimensions: response.meta.dimensions,\n inputCount: response.meta.input_count,\n aFrameServerVersion: response.meta.server_version!,\n aFrameVersion: env.A_FRAME_VERSION!,\n credentialId: response.meta.credential_id!,\n date: response.date,\n aFrameMeta: response.aFrameMeta,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed definition \"${definition.name}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n\n }\n\n\n\n @A_Feature.Extend({\n name: A_FrameNamespaceFeatures.Embed,\n scope: [A_FrameNamespace],\n })\n async embedNamespace(\n @A_Inject(A_Caller) namespace: A_FrameNamespace,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/namespace/embed', {\n namespace: namespace.toJSON(),\n model: namespace.requestedModel,\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embedNamespace',\n fragments: [request]\n })\n .inherit(A_Context.scope(this));\n\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope) as A_Frame_EmbedResponse;\n executionScope.destroy();\n\n const response = request.response!;\n if (!response.data || !response.data[0] || !response.data[0].embedding) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid embedding response for namespace \"${namespace.name}\"`,\n });\n }\n\n const vector = new Float32Array(response.data[0].embedding);\n\n namespace.hydrateFromEmbedding(vector, {\n model: response.model,\n dimensions: response.meta.dimensions,\n inputCount: response.meta.input_count,\n aFrameServerVersion: response.meta.server_version!,\n aFrameVersion: env.A_FRAME_VERSION!,\n credentialId: response.meta.credential_id!,\n date: response.date,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed namespace \"${namespace.name}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n\n }\n\n\n @A_Feature.Extend({\n name: A_FrameSegmentFeatures.Embed,\n scope: [A_FrameSegment],\n })\n async embedSegment(\n @A_Inject(A_Caller) segment: A_FrameSegment,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/segment/embed', {\n segment: segment.toJSON(),\n task: segment.options?.task,\n model: segment.options?.model,\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embedNamespace',\n fragments: [request]\n })\n .inherit(A_Context.scope(this));\n\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope) as A_Frame_EmbedResponse;\n executionScope.destroy();\n\n const response = request.response!;\n if (!response.data || !response.data[0] || !response.data[0].embedding) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Error during embed a segment: ${segment.content}`\n });\n }\n\n const vector = new Float32Array(response.data[0].embedding);\n\n segment.fromJSON({\n aseid: segment.aseid.toString(),\n content: segment.content,\n hash: segment.hash,\n embedding: vector,\n model: response.model,\n // dimensions: response.meta.dimensions,\n // inputCount: response.meta.input_count,\n aFrameServerVersion: response.meta.server_version!,\n aFrameVersion: env.A_FRAME_VERSION!,\n credentialId: response.meta.credential_id!,\n embeddedAt: response.date,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed segment with content \"${segment.content}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n\n }\n\n\n\n @A_Feature.Extend({\n name: A_FrameDynamicStructureFeatures.Generate,\n scope: [A_FrameDynamicStructure],\n })\n async generateDynamicStructure(\n @A_Inject(A_Caller) structure: A_FrameDynamicStructure,\n @A_Inject(A_FrameDynamicSession) session: A_FrameDynamicSession,\n @A_Inject(A_FrameDynamicStructureOperation) operation: A_FrameDynamicStructureOperation,\n ) {\n // ── Step 1: open an SSE channel on the server ──────────────────────\n const openRequest = new A_FrameChannelRequest<{ channelId: string }>(\n 'POST',\n '/api/v1/dsg/stream/open',\n );\n\n const openScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicStructure:open',\n fragments: [openRequest],\n }).inherit(A_Context.scope(this));\n\n await this.call(A_FrameFeatures.Request, openScope);\n openScope.destroy();\n\n const { channelId } = openRequest.response!;\n\n // ── Step 2: create DSG stream entity ──────────────────────────────\n const channel = this;\n const dsgStream = new A_FrameChannelDsgStream({\n method: 'GET',\n path: `/api/v1/dsg/stream/${channelId}`,\n });\n\n // Wire the respond callback so event handlers can push results back.\n dsgStream.setRespondFn(async (requestId, data) => {\n const respondRequest = new A_FrameChannelRequest(\n 'POST',\n '/api/v1/dsg/stream/respond',\n { requestId, data },\n );\n\n const respondScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicStructure:respond',\n fragments: [respondRequest],\n }).inherit(A_Context.scope(channel));\n\n await channel.call(A_FrameFeatures.Request, respondScope);\n respondScope.destroy();\n });\n\n // ── Step 3: start SSE connection (non-awaited) ────────────────────\n const streamScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicStructure:stream',\n entities: [dsgStream],\n }).inherit(A_Context.scope(this));\n\n // This promise resolves when the server closes the SSE channel.\n const streamTask = this.call(A_FrameFeatures.Stream, streamScope);\n\n // ── Step 4: trigger server-side generation ────────────────────────\n const generateRequest = new A_FrameChannelRequest(\n 'POST',\n '/api/v1/dsg/structure/generate-stream',\n { channelId, prompt: structure.prompt },\n );\n\n const generateScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicStructure:generate',\n fragments: [generateRequest],\n }).inherit(A_Context.scope(this));\n\n await this.call(A_FrameFeatures.Request, generateScope);\n generateScope.destroy();\n\n // ── Step 5: wait for the SSE pipeline to complete ─────────────────\n await streamTask;\n streamScope.destroy();\n\n // ── Step 6: hydrate structure from resolved components ────────────\n structure.hydrateFromResolved(\n dsgStream.resolvedComponents as any[],\n { model: 'sse-stream', serverVersion: '0.0.0' },\n );\n }\n\n\n // /**\n // * Open a bidirectional WebSocket connection to the server.\n // *\n // * The method resolves once the connection is closed (server close frame or\n // * transport end). While it is pending, call `socket.send(event)` to push\n // * frames to the server. Incoming frames are dispatched automatically to\n // * any `@A_FrameChannelSocket.onEvent()` handlers registered on `socket`.\n // *\n // * @param socket - Pre-configured socket entity (optionally a subclass with\n // * event handlers pre-registered via `@onEvent` decorators).\n // */\n // async connect(socket: A_FrameChannelSocket): Promise<void> {\n // const executionScope = new A_Scope({\n // name: 'A_FrameChannel.connect',\n // entities: [socket],\n // }).inherit(A_Context.scope(this));\n\n // try {\n // await this.call(A_FrameFeatures.Socket, executionScope);\n // executionScope.destroy();\n // } catch (err) {\n // executionScope.destroy();\n // throw new A_FrameChannelError({\n // title: A_FrameChannelError.RequestFailed,\n // description: `WebSocket connection to ${socket.path} failed: ${err instanceof Error ? err.message : String(err)}`,\n // });\n // }\n // }\n\n\n // ─── Dynamic Content ──────────────────────────────────────────────────────\n\n /**\n * Feature implementation for A_FrameDynamicContent.generate().\n *\n * Calls POST /api/v1/content/generate on the server and hydrates the\n * content entity from the returned piece list.\n */\n @A_Feature.Extend({\n name: A_FrameDynamicContentFeatures.Generate,\n scope: [A_FrameDynamicContent],\n })\n async generateDynamicContent(\n @A_Inject(A_Caller) content: A_FrameDynamicContent,\n @A_Inject(A_FrameDynamicContentOperation) operation: A_FrameDynamicContentOperation,\n ) {\n const request = new A_FrameChannelRequest<A_FrameContentGenerateResponse>(\n 'POST',\n '/api/v1/content/generate',\n {\n prompt: content.prompt,\n model: content.modelName,\n ...(content.systemPrompt !== undefined ? { system: content.systemPrompt } : {}),\n },\n );\n\n const requestScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicContent',\n fragments: [request],\n }).inherit(A_Context.scope(this));\n\n await this.call(A_FrameFeatures.Request, requestScope);\n requestScope.destroy();\n\n const resp = request.response!;\n\n // Convert wire segments to proper A_FrameSegment domain objects.\n // The channel is the adapter layer — it never passes raw serialized\n // objects into the domain; it always constructs instances.\n const segments = (resp.segments ?? []).map(w => {\n const seg = new A_FrameSegment({ content: w.content, options: { task: 'document' } });\n if (w.embedding?.length) {\n seg.hydrateFromEmbedding(new Float32Array(w.embedding));\n }\n return seg;\n });\n\n content.hydrateFromGeneration(segments, {\n model: resp.model,\n serverVersion: resp.meta?.server_version ?? '0.0.0',\n });\n }\n\n /**\n * Feature implementation for A_FrameDynamicContent.patch().\n *\n * Sends the current piece list and a patch instruction to the server,\n * then applies the returned operations to the content entity.\n */\n @A_Feature.Extend({\n name: A_FrameDynamicContentFeatures.Patch,\n scope: [A_FrameDynamicContent],\n })\n async patchDynamicContent(\n @A_Inject(A_Caller) content: A_FrameDynamicContent,\n @A_Inject(A_FrameDynamicContentOperation) operation: A_FrameDynamicContentOperation,\n ) {\n const { instruction, segments } = operation.params as { instruction: string; segments: A_FrameSegment[] };\n\n // Use short positional wire IDs (s0, s1, …) to maximise LLM reliability\n // when the model echoes them back as targetId values.\n // We keep a reverse map to translate back to the real ASEID ids.\n const wireIdToAseid = new Map<string, string>();\n const wireSegments = segments.map((s, idx) => {\n const wireId = `s${idx}`;\n wireIdToAseid.set(wireId, String(s.id));\n return {\n id: wireId,\n index: idx,\n text: s.content,\n vector: s.vector ? Array.from(s.vector.values) : undefined,\n };\n });\n\n const request = new A_FrameChannelRequest<A_FrameContentPatchResponse>(\n 'POST',\n '/api/v1/content/patch',\n {\n prompt: content.prompt,\n segments: wireSegments,\n instruction,\n model: content.modelName,\n ...(content.systemPrompt !== undefined ? { system: content.systemPrompt } : {}),\n },\n );\n\n const requestScope = new A_Scope({\n name: 'A_FrameChannel.patchDynamicContent',\n fragments: [request],\n }).inherit(A_Context.scope(this));\n\n await this.call(A_FrameFeatures.Request, requestScope);\n requestScope.destroy();\n\n const resp = request.response!;\n\n // Translate wire ids (s0, s1, …) in targetId back to real ASEID ids\n // so that applyOperation can look them up in the index.\n const translatedOperations = resp.operations.map(op => ({\n ...op,\n targetId: op.targetId\n ? (wireIdToAseid.get(op.targetId) ?? op.targetId)\n : op.targetId,\n }));\n\n content.hydrateFromPatch(\n { ...resp, operations: translatedOperations },\n {\n model: resp.model,\n serverVersion: resp.meta?.server_version ?? '0.0.0',\n },\n );\n }\n\n\n // ─── Completion ───────────────────────────────────────────────────────────\n\n /**\n * Feature implementation for A_FrameCompletion.generate().\n *\n * Calls POST /api/v1/completions/generate on the server, which performs a\n * text completion followed by an embedding of the result in a single\n * round-trip, then hydrates the entity with both values.\n */\n @A_Feature.Extend({\n name: A_FrameCompletionFeatures.Generate,\n scope: [A_FrameCompletion],\n })\n async generateCompletion(\n @A_Inject(A_Caller) completion: A_FrameCompletion,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const request = new A_FrameChannelRequest<A_Frame_CompletionResponse>(\n 'POST',\n '/api/v1/completions/generate',\n {\n prompt: completion.prompt,\n options: completion.options,\n },\n );\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.generateCompletion',\n fragments: [request],\n }).inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n const response = request.response!;\n\n if (!response.text) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid completion response for prompt \"${completion.prompt}\"`,\n });\n }\n\n completion.hydrateFromGeneration({\n text: response.text,\n embedding: new Float32Array(response.embedding),\n model: response.model,\n date: response.date,\n aFrameVersion: env.A_FRAME_VERSION!,\n aFrameServerVersion: response.meta.server_version,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to generate completion for prompt \"${completion.prompt}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n /**\n * Calls POST /api/v1/schema/extract on the server.\n *\n * Sends the prompt and schema descriptor to the Nova model, which returns\n * a structured JSON object matching the schema. Hydrates the entity with\n * the extracted data and provenance metadata.\n */\n @A_Feature.Extend({\n name: A_FrameSchemaFeatures.Extract,\n scope: [A_FrameSchema],\n })\n async extractSchema<T extends Record<string, unknown>>(\n @A_Inject(A_Caller) scheme: A_FrameSchema<T>,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const request = new A_FrameChannelRequest<A_Frame_SchemaResponse<T>>(\n 'POST',\n '/api/v1/schema/extract',\n {\n prompt: scheme.prompt,\n schema: scheme.schema,\n options: scheme.options,\n },\n );\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.extractSchema',\n fragments: [request],\n }).inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n const response = request.response!;\n\n if (!response.data) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid scheme extraction response for prompt \"${scheme.prompt}\"`,\n });\n }\n\n scheme.hydrateFromExtraction(response.data, {\n model: response.model,\n date: response.date,\n aFrameVersion: env.A_FRAME_VERSION!,\n aFrameServerVersion: response.meta.server_version,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to extract scheme for prompt \"${scheme.prompt}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n}\n\n\n\n\n","import { A_Feature, A_Inject } from \"@adaas/a-concept\";\nimport { A_FrameFeatures } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelRequest } from \"./A-FrameChannelRequest.context\";\nimport { A_FrameEnv } from \"../A-FrameEnv/A-FrameEnv.fragment.env-browser\";\nimport { A_FrameChannelError } from \"./A-FrameChannel.error\";\nimport { A_FrameChannel } from \"./A-FrameChannel.component\";\n\n/**\n * A_FrameChannel — Browser environment\n *\n * HTTP client for the embed-server API.\n * Configuration must be provided explicitly via configure() since there is\n * no process.env in the browser.\n *\n * At build time, generate .bin index files in Node. In the browser, load them\n * via A_FrameStorage.loadBlob() — no embedding calls are needed at runtime.\n */\nexport class A_FrameBrowserChannel extends A_FrameChannel {\n\n\n @A_Feature.Extend({\n name: A_FrameFeatures.Request,\n scope: [A_FrameChannel],\n })\n async request(\n @A_Inject(A_FrameChannelRequest) context: A_FrameChannelRequest,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const url = `${env.A_FRAME_SERVER_URL}${context.path}`;\n const controller = new AbortController();\n const timer = setTimeout(() => {\n controller.abort()\n context.fail(new A_FrameChannelError({\n title: A_FrameChannelError.Timeout,\n description: `Request to ${context.path} timed out after 15 seconds`,\n }));\n }, 15_000);\n try {\n const resp = await fetch(url, {\n method: context.method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${env.A_FRAME_SERVER_API_KEY}`,\n },\n body: context.body !== undefined ? JSON.stringify(context.body) : undefined,\n signal: controller.signal,\n });\n\n context.complete(await resp.json());\n\n } catch (err) {\n context.fail(new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Request to ${context.path} failed or timed out`,\n }));\n } finally {\n clearTimeout(timer);\n }\n }\n}\n\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-46LRNZRG.mjs';import {a}from'./chunk-G7MKGKG5.mjs';import {A_Entity}from'@adaas/a-concept';var o={Generate:"_A_FRAME_COMPLETION_GENERATE"};var i=class extends A_Entity{static get concept(){return "a-frame"}get prompt(){return this._prompt}get options(){return this._options}get text(){return this._text}get vector(){return this._vector}get embedding(){return this._vector?.values??null}get model(){return this._model}get date(){return this._date}get isGenerated(){return this._text!==void 0}fromNew(e){super.fromNew(e),this._prompt=e.prompt,this._options=e.options?.model?e.options:{model:a.RIGEL,...e.options};}fromJSON(e){this._prompt=e.prompt,this._text=e.text,this._vector=e.embedding?new a$1(e.embedding):void 0,this._model=e.model,this._date=e.date,this._aFrameVersion=e.aFrameVersion,this._aFrameServerVersion=e.aFrameServerVersion;}toJSON(){return {...super.toJSON(),prompt:this._prompt,text:this._text,embedding:this._vector?.values,model:this._model,date:this._date,aFrameVersion:this._aFrameVersion,aFrameServerVersion:this._aFrameServerVersion}}generate(e){return this.call(o.Generate,e)}hydrateFromGeneration(e){this._text=e.text,this._vector=new a$1(e.embedding),this._model=e.model,this._date=e.date,this._aFrameVersion=e.aFrameVersion,this._aFrameServerVersion=e.aFrameServerVersion;}};export{o as a,i as b};//# sourceMappingURL=chunk-6NPQURSO.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-6NPQURSO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-FrameCompletion/A-FrameCompletion.constants.ts","../../src/lib/A-FrameCompletion/A-FrameCompletion.entity.ts"],"names":["A_FrameCompletionFeatures","A_FrameCompletion","A_Entity","init","A_FRAME_MODELS","serialized","A_FrameVector","scope","result"],"mappings":"yHAAO,IAAMA,EAA4B,CACrC,QAAA,CAAU,8BACd,ECSO,IAAMC,CAAAA,CAAN,cAAgCC,QAA+D,CAElG,WAAW,OAAA,EAAkB,CACzB,OAAO,SACX,CAeA,IAAI,MAAA,EAAiB,CACjB,OAAO,IAAA,CAAK,OAChB,CAEA,IAAI,OAAA,EAAgD,CAChD,OAAO,IAAA,CAAK,QAChB,CAEA,IAAI,IAAA,EAA2B,CAC3B,OAAO,IAAA,CAAK,KAChB,CAEA,IAAI,MAAA,EAAoC,CACpC,OAAO,IAAA,CAAK,OAChB,CAEA,IAAI,SAAA,EAAiC,CACjC,OAAO,IAAA,CAAK,SAAS,MAAA,EAAU,IACnC,CAEA,IAAI,KAAA,EAA4B,CAC5B,OAAO,IAAA,CAAK,MAChB,CAEA,IAAI,IAAA,EAA2B,CAC3B,OAAO,IAAA,CAAK,KAChB,CAEA,IAAI,WAAA,EAAuB,CACvB,OAAO,IAAA,CAAK,KAAA,GAAU,MAC1B,CAKA,OAAA,CAAQC,EAAoC,CACxC,KAAA,CAAM,OAAA,CAAQA,CAAI,CAAA,CAClB,IAAA,CAAK,QAAUA,CAAAA,CAAK,MAAA,CAEpB,IAAA,CAAK,QAAA,CAAWA,CAAAA,CAAK,OAAA,EAAS,MACxBA,CAAAA,CAAK,OAAA,CACL,CAAE,KAAA,CAAOC,CAAAA,CAAe,KAAA,CAAO,GAAGD,CAAAA,CAAK,OAAQ,EACzD,CAEA,QAAA,CAASE,CAAAA,CAAgD,CACrD,IAAA,CAAK,OAAA,CAAUA,EAAW,MAAA,CAC1B,IAAA,CAAK,MAAQA,CAAAA,CAAW,IAAA,CACxB,IAAA,CAAK,OAAA,CAAUA,CAAAA,CAAW,SAAA,CAAY,IAAIC,GAAAA,CAAcD,CAAAA,CAAW,SAAS,CAAA,CAAI,MAAA,CAChF,IAAA,CAAK,OAASA,CAAAA,CAAW,KAAA,CACzB,IAAA,CAAK,KAAA,CAAQA,CAAAA,CAAW,IAAA,CACxB,KAAK,cAAA,CAAiBA,CAAAA,CAAW,aAAA,CACjC,IAAA,CAAK,oBAAA,CAAuBA,CAAAA,CAAW,oBAC3C,CAEA,MAAA,EAAuC,CACnC,OAAO,CACH,GAAG,MAAM,MAAA,EAAO,CAChB,MAAA,CAAQ,IAAA,CAAK,OAAA,CACb,IAAA,CAAM,KAAK,KAAA,CACX,SAAA,CAAW,IAAA,CAAK,OAAA,EAAS,MAAA,CACzB,KAAA,CAAO,KAAK,MAAA,CACZ,IAAA,CAAM,IAAA,CAAK,KAAA,CACX,aAAA,CAAe,IAAA,CAAK,eACpB,mBAAA,CAAqB,IAAA,CAAK,oBAC9B,CACJ,CAUA,QAAA,CAASE,EAAuC,CAC5C,OAAO,IAAA,CAAK,IAAA,CAAKP,CAAAA,CAA0B,QAAA,CAAUO,CAAK,CAC9D,CAKA,qBAAA,CAAsBC,CAAAA,CAOb,CACL,IAAA,CAAK,MAAQA,CAAAA,CAAO,IAAA,CACpB,IAAA,CAAK,OAAA,CAAU,IAAIF,GAAAA,CAAcE,EAAO,SAAS,CAAA,CACjD,IAAA,CAAK,MAAA,CAASA,CAAAA,CAAO,KAAA,CACrB,KAAK,KAAA,CAAQA,CAAAA,CAAO,IAAA,CACpB,IAAA,CAAK,cAAA,CAAiBA,CAAAA,CAAO,cAC7B,IAAA,CAAK,oBAAA,CAAuBA,CAAAA,CAAO,oBACvC,CACJ","file":"chunk-6NPQURSO.mjs","sourcesContent":["export const A_FrameCompletionFeatures = {\n Generate: '_A_FRAME_COMPLETION_GENERATE',\n} as const;\n","import { A_Entity, A_Scope } from \"@adaas/a-concept\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport {\n A_FrameCompletion_Init,\n A_FrameCompletion_Serialized,\n A_FrameCompletionOptions,\n} from \"./A-FrameCompletion.types\";\nimport { A_FrameCompletionFeatures } from \"./A-FrameCompletion.constants\";\nimport { A_FRAME_MODELS } from \"../A-FrameModels/A-FrameModels.constants\";\n\n\nexport class A_FrameCompletion extends A_Entity<A_FrameCompletion_Init, A_FrameCompletion_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n protected _prompt!: string;\n protected _options?: A_FrameCompletionOptions;\n\n protected _text?: string;\n protected _vector?: A_FrameVector;\n protected _model?: string;\n protected _date?: string;\n protected _aFrameVersion?: string;\n protected _aFrameServerVersion?: string;\n\n\n // ─── Getters ──────────────────────────────────────────────────────────────\n\n get prompt(): string {\n return this._prompt;\n }\n\n get options(): A_FrameCompletionOptions | undefined {\n return this._options;\n }\n\n get text(): string | undefined {\n return this._text;\n }\n\n get vector(): A_FrameVector | undefined {\n return this._vector;\n }\n\n get embedding(): Float32Array | null {\n return this._vector?.values ?? null;\n }\n\n get model(): string | undefined {\n return this._model;\n }\n\n get date(): string | undefined {\n return this._date;\n }\n\n get isGenerated(): boolean {\n return this._text !== undefined;\n }\n\n\n // ─── Lifecycle ────────────────────────────────────────────────────────────\n\n fromNew(init: A_FrameCompletion_Init): void {\n super.fromNew(init);\n this._prompt = init.prompt;\n // Apply Rigel as the default model for code generation when none specified.\n this._options = init.options?.model\n ? init.options\n : { model: A_FRAME_MODELS.RIGEL, ...init.options };\n }\n\n fromJSON(serialized: A_FrameCompletion_Serialized): void {\n this._prompt = serialized.prompt;\n this._text = serialized.text;\n this._vector = serialized.embedding ? new A_FrameVector(serialized.embedding) : undefined;\n this._model = serialized.model;\n this._date = serialized.date;\n this._aFrameVersion = serialized.aFrameVersion;\n this._aFrameServerVersion = serialized.aFrameServerVersion;\n }\n\n toJSON(): A_FrameCompletion_Serialized {\n return {\n ...super.toJSON(),\n prompt: this._prompt,\n text: this._text,\n embedding: this._vector?.values,\n model: this._model,\n date: this._date,\n aFrameVersion: this._aFrameVersion,\n aFrameServerVersion: this._aFrameServerVersion,\n };\n }\n\n\n // ─── Operations ──────────────────────────────────────────────────────────\n\n /**\n * Generates a text completion for the prompt and stores the resulting text\n * along with its embedding vector. The actual implementation is provided by\n * the A_FrameCompletionFeatures.Generate feature (supplied by A_FrameChannel).\n */\n generate(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameCompletionFeatures.Generate, scope);\n }\n\n\n // ─── Hydration ────────────────────────────────────────────────────────────\n\n hydrateFromGeneration(result: {\n text: string;\n embedding: Float32Array;\n model?: string;\n date?: string;\n aFrameVersion?: string;\n aFrameServerVersion?: string;\n }): void {\n this._text = result.text;\n this._vector = new A_FrameVector(result.embedding);\n this._model = result.model;\n this._date = result.date;\n this._aFrameVersion = result.aFrameVersion;\n this._aFrameServerVersion = result.aFrameServerVersion;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../package.json"],"names":["version"],"mappings":"AAEE,IAAAA,CAAAA,CAAW","file":"chunk-6WAOMX7M.mjs","sourcesContent":["{\n \"name\": \"@adaas/a-frame\",\n \"version\": \"0.1.1\",\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/cli.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 \"./credentials\": {\n \"browser\": {\n \"types\": \"./dist/browser/credentials.d.mts\",\n \"import\": \"./dist/browser/credentials.mjs\"\n },\n \"types\": \"./dist/node/credentials.d.ts\",\n \"import\": \"./dist/node/credentials.mjs\",\n \"require\": \"./dist/node/credentials.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-content\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-content.d.mts\",\n \"import\": \"./dist/browser/dynamic-content.mjs\"\n },\n \"types\": \"./dist/node/dynamic-content.d.ts\",\n \"import\": \"./dist/node/dynamic-content.mjs\",\n \"require\": \"./dist/node/dynamic-content.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 \"./completion\": {\n \"browser\": {\n \"types\": \"./dist/browser/completion.d.mts\",\n \"import\": \"./dist/browser/completion.mjs\"\n },\n \"types\": \"./dist/node/completion.d.ts\",\n \"import\": \"./dist/node/completion.mjs\",\n \"require\": \"./dist/node/completion.cjs\"\n },\n \"./segment\": {\n \"browser\": {\n \"types\": \"./dist/browser/segment.d.mts\",\n \"import\": \"./dist/browser/segment.mjs\"\n },\n \"types\": \"./dist/node/segment.d.ts\",\n \"import\": \"./dist/node/segment.mjs\",\n \"require\": \"./dist/node/segment.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 \"./models\": {\n \"browser\": {\n \"types\": \"./dist/browser/models.d.mts\",\n \"import\": \"./dist/browser/models.mjs\"\n },\n \"types\": \"./dist/node/models.d.ts\",\n \"import\": \"./dist/node/models.mjs\",\n \"require\": \"./dist/node/models.cjs\"\n },\n \"./schema\": {\n \"browser\": {\n \"types\": \"./dist/browser/schema.d.mts\",\n \"import\": \"./dist/browser/schema.mjs\"\n },\n \"types\": \"./dist/node/schema.d.ts\",\n \"import\": \"./dist/node/schema.mjs\",\n \"require\": \"./dist/node/schema.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\": \"node --experimental-vm-modules node_modules/.bin/jest --detectOpenHandles\",\n \"test:unit\": \"node --experimental-vm-modules node_modules/.bin/jest --config jest.config.unit.ts --detectOpenHandles\",\n \"test:integration\": \"node --experimental-vm-modules node_modules/.bin/jest --config jest.config.integration.ts --detectOpenHandles\",\n \"test:browser\": \"node --experimental-vm-modules node_modules/.bin/jest --config jest.config.browser.ts --detectOpenHandles\",\n \"example:article\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/article/main.ts\",\n \"example:interaction\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/interaction/main.ts\",\n \"example:feature\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts\",\n \"example:content-editor\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/content-editor/server.ts\",\n\n \"example:feature:backup\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts \\\"copy all .ts files to a backup folder and compress the result\\\"\",\n \"example:feature:sync\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts \\\"scan two directories, find files that differ, and sync the newer versions to the target\\\"\",\n \"example:feature:cleanup\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts \\\"find all log files older than 7 days and delete them\\\"\",\n \"example:structure\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts\",\n \"example:structure:saas\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts \\\"build a multi-tenant SaaS API with JWT auth and file uploads\\\"\",\n \"example:structure:jobs\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts \\\"design a background job processing system with cron and email digests\\\"\",\n \"example:structure:realtime\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts \\\"create a real-time notification service with WebSocket and rate limiting\\\"\",\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:unit && npm run build && git add . && git commit -m \\\"new version created :: $(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\\\",]//g')\\\" && npm version patch && npm publish --access public\",\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 \"peerDependencies\": {\n \"@adaas/a-concept\": \"^0.3.16\"\n },\n \"devDependencies\": {\n \"@adaas/a-concept\": \"^0.3.16\",\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}"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b as b$1}from'./chunk-LZACYSUC.mjs';import {c,b as b$3}from'./chunk-CT67Y46H.mjs';import {b as b$4}from'./chunk-VSSANMPF.mjs';import {a as a$2}from'./chunk-INS7RO3B.mjs';import {b as b$2,a as a$1}from'./chunk-FVH2EEVP.mjs';import {a,b}from'./chunk-DMGQW3AO.mjs';import {A_Concept,A_Inject,A_Scope,A_Feature,A_Caller,A_Error,A_Fragment,A_Component,A_Context}from'@adaas/a-concept';var E=class extends A_Fragment{constructor(){super({name:"a-frame-context"});}get encryptionKey(){return this._credentials?.encryptionKey}get serverVersion(){return this._credentials?.serverVersion}isAuthenticated(){return !!this._credentials?.isAuthenticated}setCredentials(o){if(o.error||!o.response){this._credentials=void 0;return}this._credentials=new b$4(o.response);}};var u={SaveDefinitions:"_A_FRAME_STORAGE_SAVE",LoadDefinitions:"_A_FRAME_STORAGE_LOAD",DestroyDefinitions:"_A_FRAME_STORAGE_DESTROY",SaveNamespaces:"_A_FRAME_STORAGE_SAVE_NAMESPACES",LoadNamespaces:"_A_FRAME_STORAGE_LOAD_NAMESPACES",DestroyNamespaces:"_A_FRAME_STORAGE_DESTROY_NAMESPACES"};var f=class extends A_Fragment{constructor(o){super({name:"a-frame-storage-operation"}),this._params=o;}get result(){return this._result}get error(){return this._error}get params(){return this._params}complete(o){this._result=o;}fail(o){this._error=o;}};var A=class extends A_Error{};A.SaveDefinitionFailed="SaveDefinitionFailed",A.LoadDefinitionsFailed="LoadDefinitionsFailed",A.DestroyDefinitionsFailed="DestroyDefinitionsFailed",A.SaveNamespaceFailed="SaveNamespaceFailed",A.LoadNamespacesFailed="LoadNamespacesFailed",A.DestroyNamespacesFailed="DestroyNamespacesFailed";var R=class extends A_Component{async saveDefinitions(o){let e=new f({records:o}),t=new A_Scope({name:"A_FrameStorage.saveDefinitions",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(u.SaveDefinitions,t),t.destroy(),e}catch{return e.fail(new A({title:A.SaveDefinitionFailed,description:"Failed to save definition records."})),t.destroy(),e}}async loadDefinitions(o,e){let t=new f({namespaceId:o}),a=new A_Scope({name:"A_FrameStorage.loadDefinitions",fragments:[t]}).inherit(A_Context.scope(this));try{return await this.call(u.LoadDefinitions,a),a.destroy(),t}catch{return t.fail(new A({title:A.LoadDefinitionsFailed,description:"Failed to load definition records."})),a.destroy(),t}}async destroyDefinitions(o,e){let t=new f({namespaceId:o,definitionId:e}),a=new A_Scope({name:"A_FrameStorage.destroyDefinitions",fragments:[t]}).inherit(A_Context.scope(this));try{return await this.call(u.DestroyDefinitions,a),a.destroy(),t}catch{return t.fail(new A({title:A.DestroyDefinitionsFailed,description:"Failed to destroy definition records."})),a.destroy(),t}}async saveNamespaces(o){let e=new f({records:o}),t=new A_Scope({name:"A_FrameStorage.saveNamespaces",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(u.SaveNamespaces,t),t.destroy(),e}catch{return e.fail(new A({title:A.SaveNamespaceFailed,description:"Failed to save namespace records."})),t.destroy(),e}}async loadNamespaces(o){let e=new f({namespaces:o}),t=new A_Scope({name:"A_FrameStorage.loadNamespaces",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(u.LoadNamespaces,t),t.destroy(),e}catch{return e.fail(new A({title:A.LoadNamespacesFailed,description:"Failed to load namespace records."})),t.destroy(),e}}async destroyNamespaces(o){let e=new f({namespaces:o}),t=new A_Scope({name:"A_FrameStorage.destroyNamespaces",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(u.DestroyNamespaces,t),t.destroy(),e}catch{return e.fail(new A({title:A.DestroyNamespacesFailed,description:"Failed to destroy namespace records."})),t.destroy(),e}}};var D=class g extends A_Fragment{constructor(){if(g._instance)return g._instance;super({name:"a-frame-browser-storage-blobs"});this.store=new Map;this.namespaceBlob=null;this.plainStore=new Map;this.plainNamespaceRecords=null;this.bundleMeta=null;}static get instance(){return g._instance||(g._instance=new g),g._instance}static fromBundle(e){let t=g.instance;return t.seedFromBundle(e),t}get hasBundleData(){return this.plainStore.size>0||(this.plainNamespaceRecords?.length??0)>0}seedFromBundle(e){for(let[t,a]of Object.entries(e.records??{}))this.plainStore.set(t,a.map(i=>({...i,embedding:i.embedding.length>0?new Float32Array(i.embedding):void 0})));e.namespaceRecords?.length&&(this.plainNamespaceRecords=e.namespaceRecords.map(t=>({...t,embedding:t.embedding.length>0?new Float32Array(t.embedding):void 0}))),this.bundleMeta={aFrameVersion:e.aFrameVersion,serverVersion:e.serverVersion,builtAt:e.builtAt};}};var C=new TextEncoder,U=new TextDecoder,w=class g extends A_Fragment{constructor(){super(...arguments);this.enc=new TextEncoder;this.dec=new TextDecoder;this.A_FRAME_FILE_MAGIC=1162691147;this.A_FRAME_FILE_VERSION=1;this.A_FRAME_HEADER_SIZE=20;}static get fileExtension(){return ".aframe"}getFileName(e){return `${e}${g.fileExtension}`}getNamespaceFileName(){return `__namespaces${g.fileExtension}`}encodePayload(e){let t=[];if(e.some(r=>!r.embedding))throw new Error("All records must have embeddings to be encoded");let a=new Uint8Array(this.A_FRAME_HEADER_SIZE),i=new DataView(a.buffer);i.setUint32(0,this.A_FRAME_FILE_MAGIC,true),a[4]=this.A_FRAME_FILE_VERSION,i.setUint32(5,e.length,true);let d=e[0]?.embedding.length??0;i.setUint16(9,d,true),t.push(a);for(let r of e){let _=C.encode(r.aseid.toString()),y=C.encode(r.name),x=JSON.stringify({hash:r.hash,source:r.source,type:r.type,description:r.description,metadata:r.metadata,namespace:r.namespace,date:r.date,model:r.model,credentialId:r.credentialId,aFrameVersion:r.aFrameVersion,aFrameServerVersion:r.aFrameServerVersion}),N=C.encode(x),M=2+_.length+2+y.length+r.embedding.length*4+4+N.length,F=new Uint8Array(M),h=new DataView(F.buffer),s=0;h.setUint16(s,_.length,true),s+=2,F.set(_,s),s+=_.length,h.setUint16(s,y.length,true),s+=2,F.set(y,s),s+=y.length;for(let S=0;S<r.embedding.length;S++)h.setFloat32(s,r.embedding[S],true),s+=4;h.setUint32(s,N.length,true),s+=4,F.set(N,s),t.push(F);}let p=t.reduce((r,_)=>r+_.length,0),l=new Uint8Array(p),n=0;for(let r of t)l.set(r,n),n+=r.length;return l}decodePayload(e){if(e.length<this.A_FRAME_HEADER_SIZE)throw new Error("Corrupt index: too short for header");let t=new DataView(e.buffer,e.byteOffset,e.byteLength),a=t.getUint32(0,true);if(a!==this.A_FRAME_FILE_MAGIC)throw new Error(`Corrupt index: bad magic 0x${a.toString(16)}`);let i=e[4];if(i!==this.A_FRAME_FILE_VERSION)throw new Error(`Unsupported index version: ${i}`);let d=t.getUint32(5,true),p=t.getUint16(9,true),l=[],n=this.A_FRAME_HEADER_SIZE;for(let r=0;r<d;r++){let _=t.getUint16(n,true);n+=2;let y=U.decode(e.slice(n,n+_));n+=_;let x=t.getUint16(n,true);n+=2;let N=U.decode(e.slice(n,n+x));n+=x;let M=new Float32Array(p);for(let S=0;S<p;S++)M[S]=t.getFloat32(n,true),n+=4;let F=t.getUint32(n,true);n+=4;let h=U.decode(e.slice(n,n+F));n+=F;let s=JSON.parse(h);l.push({aseid:y,hash:s.hash??y,name:N,type:s.type,embedding:M,source:s.source,description:s.description,metadata:s.metadata,namespace:s.namespace,date:s.date,model:s.model,credentialId:s.credentialId,aFrameVersion:s.aFrameVersion,aFrameServerVersion:s.aFrameServerVersion});}return l}encodeNamespacePayload(e){let t=[];if(e.some(r=>!r.embedding))throw new Error("All records must have embeddings to be encoded");let a=new Uint8Array(this.A_FRAME_HEADER_SIZE),i=new DataView(a.buffer);i.setUint32(0,this.A_FRAME_FILE_MAGIC,true),a[4]=this.A_FRAME_FILE_VERSION,i.setUint32(5,e.length,true);let d=e[0]?.embedding.length??0;i.setUint16(9,d,true),t.push(a);for(let r of e){let _=C.encode(r.aseid.toString()),y=C.encode(r.name),x=JSON.stringify({hash:r.hash,description:r.description,metadata:r.metadata,embeddedAt:r.embeddedAt,embeddingModel:r.embeddingModel,credentialId:r.credentialId,aFrameVersion:r.aFrameVersion,aFrameServerVersion:r.aFrameServerVersion}),N=C.encode(x),M=2+_.length+2+y.length+r.embedding.length*4+4+N.length,F=new Uint8Array(M),h=new DataView(F.buffer),s=0;h.setUint16(s,_.length,true),s+=2,F.set(_,s),s+=_.length,h.setUint16(s,y.length,true),s+=2,F.set(y,s),s+=y.length;for(let S=0;S<r.embedding.length;S++)h.setFloat32(s,r.embedding[S],true),s+=4;h.setUint32(s,N.length,true),s+=4,F.set(N,s),t.push(F);}let p=t.reduce((r,_)=>r+_.length,0),l=new Uint8Array(p),n=0;for(let r of t)l.set(r,n),n+=r.length;return l}decodeNamespacePayload(e){if(e.length<this.A_FRAME_HEADER_SIZE)throw new Error("Corrupt namespace index: too short for header");let t=new DataView(e.buffer,e.byteOffset,e.byteLength),a=t.getUint32(0,true);if(a!==this.A_FRAME_FILE_MAGIC)throw new Error(`Corrupt namespace index: bad magic 0x${a.toString(16)}`);let i=e[4];if(i!==this.A_FRAME_FILE_VERSION)throw new Error(`Unsupported namespace index version: ${i}`);let d=t.getUint32(5,true),p=t.getUint16(9,true),l=[],n=this.A_FRAME_HEADER_SIZE;for(let r=0;r<d;r++){let _=t.getUint16(n,true);n+=2;let y=U.decode(e.slice(n,n+_));n+=_;let x=t.getUint16(n,true);n+=2;let N=U.decode(e.slice(n,n+x));n+=x;let M=new Float32Array(p);for(let S=0;S<p;S++)M[S]=t.getFloat32(n,true),n+=4;let F=t.getUint32(n,true);n+=4;let h=U.decode(e.slice(n,n+F));n+=F;let s=JSON.parse(h);l.push({aseid:y,hash:s.hash??y,name:N,embedding:M,description:s.description,metadata:s.metadata,embeddedAt:s.embeddedAt,embeddingModel:s.embeddingModel,credentialId:s.credentialId,aFrameVersion:s.aFrameVersion,aFrameServerVersion:s.aFrameServerVersion});}return l}};var v=class extends R{onLoad(o,e){e||o.register(D.instance);}async saveDefinitionsToMemory(o,e,t,a,i){let d=e.params.records,p=d[0].namespace,l=await this._loadDefinitionsFromMemory(i.store,p,t.encryptionKey,a),n=new Map;for(let _ of l)n.set(_.aseid,_);for(let _ of d)n.set(_.aseid.toString(),_);let r=a.encodePayload(Array.from(n.values()));i.store.set(p,await a$2.encryptBytes(r,t.encryptionKey)),e.complete({saved:d.length});}async loadDefinitionsFromMemory(o,e,t,a,i){let d=e.params.namespaceId,p=await this._loadDefinitionsFromMemory(i.store,d,t.encryptionKey,a);e.complete({records:p});}async destroyDefinitionsFromMemory(o,e,t,a,i){let d=e.params.namespaceId,p=e.params.definitionId,n=(await this._loadDefinitionsFromMemory(i.store,d,t.encryptionKey,a)).filter(_=>_.aseid!==p),r=a.encodePayload(n);i.store.set(d,await a$2.encryptBytes(r,t.encryptionKey)),e.complete({records:n});}async saveNamespacesToMemory(o,e,t,a,i){let d=e.params.records,p=await this._loadNamespacesFromMemory(i,t.encryptionKey,a),l=new Map;for(let r of p)l.set(r.aseid,r);for(let r of d)l.set(r.aseid.toString(),r);let n=a.encodeNamespacePayload(Array.from(l.values()));i.namespaceBlob=await a$2.encryptBytes(n,t.encryptionKey),e.complete({success:true});}async loadNamespacesFromMemory(o,e,t,a,i){let d=e.params.namespaces,p=await this._loadNamespacesFromMemory(i,t.encryptionKey,a);e.complete({records:d?p.filter(l=>d.includes(l.name)):p});}async destroyNamespacesFromMemory(o,e,t,a,i){let d=e.params.namespaces,l=(await this._loadNamespacesFromMemory(i,t.encryptionKey,a)).filter(r=>!d.includes(r.aseid)),n=a.encodeNamespacePayload(l);i.namespaceBlob=await a$2.encryptBytes(n,t.encryptionKey);try{for(let r of d)i.store.delete(r);e.complete({success:!0});}catch{e.fail(new A({title:A.DestroyNamespacesFailed,description:"Failed to destroy namespace records."})),e.complete({success:false});}}async loadDefinitionFromBlobs(o,e,t,a){let i=a.plainStore.get(o.namespace.id);if(i?.length){let l=i.find(n=>n.aseid===o.aseid.toString());if(l&&l.hash===o.hash){o.fromJSON(l);return}}if(!e.encryptionKey)return;let d=await this._loadDefinitionsFromMemory(a.store,o.namespace.id,e.encryptionKey,t);if(d.length===0)return;let p=d.find(l=>l.aseid===o.aseid.toString());p&&p.hash===o.hash&&p.aFrameServerVersion===e.serverVersion&&o.fromJSON(p);}async loadNamespaceFromBlobs(o,e,t,a){if(a.plainNamespaceRecords?.length){let p=a.plainNamespaceRecords.find(l=>l.aseid===o.aseid.toString());if(p&&p.hash===o.hash){o.fromJSON(p);return}}if(!e.encryptionKey)return;let i=await this._loadNamespacesFromMemory(a,e.encryptionKey,t);if(i.length===0)return;let d=i.find(p=>p.aseid===o.aseid.toString());d&&d.hash===o.hash&&d.aFrameServerVersion===e.serverVersion&&o.fromJSON(d);}async _loadDefinitionsFromMemory(o,e,t,a){let i=o.get(e);if(!i)return [];try{let d=await a$2.decryptBytes(i,t);return a.decodePayload(d)}catch{return []}}async _loadNamespacesFromMemory(o,e,t){let a=o.namespaceBlob;if(!a)return [];try{let i=await a$2.decryptBytes(a,e);return t.decodeNamespacePayload(i)}catch{return []}}};a([A_Concept.Load(),b(0,A_Inject(A_Scope)),b(1,A_Inject(D))],v.prototype,"onLoad",1),a([A_Feature.Extend({name:u.SaveDefinitions,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(f)),b(2,A_Inject(E)),b(3,A_Inject(w)),b(4,A_Inject(D))],v.prototype,"saveDefinitionsToMemory",1),a([A_Feature.Extend({name:u.LoadDefinitions,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(f)),b(2,A_Inject(E)),b(3,A_Inject(w)),b(4,A_Inject(D))],v.prototype,"loadDefinitionsFromMemory",1),a([A_Feature.Extend({name:u.DestroyDefinitions,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(f)),b(2,A_Inject(E)),b(3,A_Inject(w)),b(4,A_Inject(D))],v.prototype,"destroyDefinitionsFromMemory",1),a([A_Feature.Extend({name:u.SaveNamespaces,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(f)),b(2,A_Inject(E)),b(3,A_Inject(w)),b(4,A_Inject(D))],v.prototype,"saveNamespacesToMemory",1),a([A_Feature.Extend({name:u.LoadNamespaces,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(f)),b(2,A_Inject(E)),b(3,A_Inject(w)),b(4,A_Inject(D))],v.prototype,"loadNamespacesFromMemory",1),a([A_Feature.Extend({name:u.DestroyNamespaces,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(f)),b(2,A_Inject(E)),b(3,A_Inject(w)),b(4,A_Inject(D))],v.prototype,"destroyNamespacesFromMemory",1),a([A_Feature.Extend({name:a$1.Load,scope:[b$2]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(E)),b(2,A_Inject(w)),b(3,A_Inject(D))],v.prototype,"loadDefinitionFromBlobs",1),a([A_Feature.Extend({name:b$3.Load,scope:[c]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(E)),b(2,A_Inject(w)),b(3,A_Inject(D))],v.prototype,"loadNamespaceFromBlobs",1);export{E as a,u as b,f as c,A as d,R as e,D as f,w as g,v as h};//# sourceMappingURL=chunk-77HU5SRQ.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-77HU5SRQ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-Frame/A-Frame.context.ts","../../src/lib/A-FrameStorage/A-FrameStorage.constants.ts","../../src/lib/A-FrameStorage/A-FrameStorageOperation.context.ts","../../src/lib/A-FrameStorage/A-FrameStorage.error.ts","../../src/lib/A-FrameStorage/A-FrameStorage.component.ts","../../src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts","../../src/lib/A-FrameStorage/A-FrameStorage.codec.ts","../../src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts"],"names":["A_FrameContext","A_Fragment","credentialsRequest","A_FrameCredentials","A_FrameStorageFeatures","A_FrameStorageOperation","params","result","error","A_FrameStorageError","A_Error","A_FrameStorage","A_Component","definitions","context","executionScope","A_Scope","A_Context","namespaceId","definitionId","namespaces","namespaceIds","namespacesIds","A_FrameBrowserStorageBlobs","_A_FrameBrowserStorageBlobs","bundle","blobs","ns","recs","r","enc","dec","A_FrameStorageCodec","_A_FrameStorageCodec","namespace","records","parts","header","headerView","dims","rec","aseidBytes","nameBytes","metaJson","metaBytes","recSize","recBuf","view","offset","i","total","s","p","out","pos","data","magic","version","count","aseidLen","aseid","nameLen","name","embedding","d","metaLen","meta","A_FrameBrowserStorageProvider","scope","env","operation","global","codec","existing","merged","payload","A_FrameCrypto","filtered","ids","id","definition","plainRecords","record","store","encryptionKey","blob","plain","__decorateClass","A_Concept","__decorateParam","A_Inject","A_Feature","A_FrameEnv","A_FrameDefinitionFeatures","A_FrameDefinition","A_Caller","A_FrameNamespaceFeatures","A_FrameNamespace"],"mappings":"oYAMO,IAAMA,CAAAA,CAAN,cAA6BC,UAAW,CAK3C,WAAA,EAAc,CACV,MAAM,CAAE,IAAA,CAAM,iBAAkB,CAAC,EACrC,CAGA,IAAI,aAAA,EAAoC,CACpC,OAAO,KAAK,YAAA,EAAc,aAC9B,CAGA,IAAI,aAAA,EAAoC,CACpC,OAAO,IAAA,CAAK,YAAA,EAAc,aAC9B,CAGA,eAAA,EAA2B,CACvB,OAAO,CAAC,CAAC,KAAK,YAAA,EAAc,eAChC,CAGA,cAAA,CAAeC,EAAuE,CAClF,GAAIA,CAAAA,CAAmB,KAAA,EAAS,CAACA,CAAAA,CAAmB,QAAA,CAAU,CAC1D,IAAA,CAAK,aAAe,MAAA,CACpB,MACJ,CAEA,IAAA,CAAK,YAAA,CAAe,IAAIC,GAAAA,CAAmBD,CAAAA,CAAmB,QAAQ,EAC1E,CAEJ,ECtCO,IAAME,EAAyB,CAClC,eAAA,CAAiB,wBACjB,eAAA,CAAiB,uBAAA,CACjB,kBAAA,CAAoB,0BAAA,CAEpB,eAAgB,kCAAA,CAChB,cAAA,CAAgB,mCAChB,iBAAA,CAAmB,qCACvB,MCPaC,CAAAA,CAAN,cAGGJ,UAAW,CASjB,YACIK,CAAAA,CACF,CACE,KAAA,CAAM,CAAE,KAAM,2BAA4B,CAAC,EAC3C,IAAA,CAAK,OAAA,CAAUA,EACnB,CAMA,IAAI,MAAA,EAAkC,CAClC,OAAO,IAAA,CAAK,OAChB,CAIA,IAAI,KAAA,EAA6B,CAC7B,OAAO,IAAA,CAAK,MAChB,CAIA,IAAI,MAAA,EAAsB,CACtB,OAAO,IAAA,CAAK,OAChB,CAMA,QAAA,CAASC,CAAAA,CAA2B,CAChC,IAAA,CAAK,QAAUA,EACnB,CAMA,KAAKC,CAAAA,CAAsB,CACvB,KAAK,MAAA,CAASA,EAClB,CAEJ,ECtDO,IAAMC,CAAAA,CAAN,cAAkCC,OAAQ,GAApCD,CAAAA,CACO,qBAAuB,sBAAA,CAD9BA,CAAAA,CAEO,sBAAwB,uBAAA,CAF/BA,CAAAA,CAGO,yBAA2B,0BAAA,CAHlCA,CAAAA,CAIO,mBAAA,CAAsB,qBAAA,CAJ7BA,EAKO,oBAAA,CAAuB,sBAAA,CAL9BA,EAMO,uBAAA,CAA0B,yBAAA,CCDvC,IAAME,CAAAA,CAAN,cAA6BC,WAAY,CAE5C,MAAM,eAAA,CAAgBC,EAAkG,CACpH,IAAMC,EAAU,IAAIT,CAAAA,CAAkH,CAClI,OAAA,CAASQ,CACb,CAAC,CAAA,CAEKE,EAAiB,IAAIC,OAAAA,CAAQ,CAC/B,IAAA,CAAM,gCAAA,CACN,UAAW,CAACF,CAAO,CACvB,CAAC,EACI,OAAA,CAAQG,SAAAA,CAAU,MAAM,IAAI,CAAC,EAElC,GAAI,CACA,OAAA,MAAM,IAAA,CAAK,KAAKb,CAAAA,CAAuB,eAAA,CAAiBW,CAAc,CAAA,CACtEA,EAAe,OAAA,EAAQ,CAEhBD,CACX,CAAA,KAAgB,CAEZ,OAAAA,CAAAA,CAAQ,KAAK,IAAIL,CAAAA,CAAoB,CACjC,KAAA,CAAOA,CAAAA,CAAoB,oBAAA,CAC3B,WAAA,CAAa,oCACjB,CAAC,CAAC,EAEFM,CAAAA,CAAe,OAAA,GAERD,CACX,CACJ,CAEA,MAAM,gBAAgBI,CAAAA,CAAqBC,CAAAA,CAAuE,CAC9G,IAAML,CAAAA,CAAU,IAAIT,CAAAA,CAAoH,CACpI,WAAA,CAAAa,CACJ,CAAC,CAAA,CAEKH,CAAAA,CAAiB,IAAIC,OAAAA,CAAQ,CAC/B,IAAA,CAAM,gCAAA,CACN,SAAA,CAAW,CAACF,CAAO,CACvB,CAAC,EACI,OAAA,CAAQG,SAAAA,CAAU,MAAM,IAAI,CAAC,CAAA,CAElC,GAAI,CACA,OAAA,MAAM,IAAA,CAAK,KAAKb,CAAAA,CAAuB,eAAA,CAAiBW,CAAc,CAAA,CACtEA,CAAAA,CAAe,OAAA,EAAQ,CAEhBD,CACX,CAAA,KAAgB,CAEZ,OAAAA,CAAAA,CAAQ,IAAA,CAAK,IAAIL,CAAAA,CAAoB,CACjC,KAAA,CAAOA,CAAAA,CAAoB,sBAC3B,WAAA,CAAa,oCACjB,CAAC,CAAC,CAAA,CAEFM,EAAe,OAAA,EAAQ,CAEhBD,CACX,CACJ,CAGA,MAAM,kBAAA,CAAmBI,EAAqBC,CAAAA,CAA0E,CACpH,IAAML,CAAAA,CAAU,IAAIT,CAAAA,CAA0H,CAC1I,YAAAa,CAAAA,CACA,YAAA,CAAAC,CACJ,CAAC,CAAA,CAEKJ,EAAiB,IAAIC,OAAAA,CAAQ,CAC/B,IAAA,CAAM,oCACN,SAAA,CAAW,CAACF,CAAO,CACvB,CAAC,EACI,OAAA,CAAQG,SAAAA,CAAU,KAAA,CAAM,IAAI,CAAC,CAAA,CAElC,GAAI,CACA,OAAA,MAAM,KAAK,IAAA,CAAKb,CAAAA,CAAuB,kBAAA,CAAoBW,CAAc,EACzEA,CAAAA,CAAe,OAAA,GAERD,CACX,CAAA,KAAgB,CAEZ,OAAAA,CAAAA,CAAQ,IAAA,CAAK,IAAIL,EAAoB,CACjC,KAAA,CAAOA,EAAoB,wBAAA,CAC3B,WAAA,CAAa,uCACjB,CAAC,CAAC,CAAA,CAEFM,CAAAA,CAAe,SAAQ,CAEhBD,CACX,CACJ,CAIA,MAAM,eAAeM,CAAAA,CAA0F,CAC3G,IAAMN,CAAAA,CAAU,IAAIT,CAAAA,CAAgH,CAChI,OAAA,CAASe,CACb,CAAC,CAAA,CAEKL,CAAAA,CAAiB,IAAIC,OAAAA,CAAQ,CAC/B,IAAA,CAAM,+BAAA,CACN,UAAW,CAACF,CAAO,CACvB,CAAC,CAAA,CACI,OAAA,CAAQG,SAAAA,CAAU,MAAM,IAAI,CAAC,EAElC,GAAI,CACA,aAAM,IAAA,CAAK,IAAA,CAAKb,CAAAA,CAAuB,cAAA,CAAgBW,CAAc,CAAA,CACrEA,CAAAA,CAAe,SAAQ,CAEhBD,CACX,MAAgB,CAEZ,OAAAA,CAAAA,CAAQ,IAAA,CAAK,IAAIL,CAAAA,CAAoB,CACjC,KAAA,CAAOA,CAAAA,CAAoB,oBAC3B,WAAA,CAAa,mCACjB,CAAC,CAAC,EAEFM,CAAAA,CAAe,OAAA,GAERD,CACX,CACJ,CAEA,MAAM,cAAA,CACFO,CAAAA,CAC8C,CAC9C,IAAMP,CAAAA,CAAU,IAAIT,EAAkH,CAClI,UAAA,CAAYgB,CAChB,CAAC,CAAA,CAEKN,CAAAA,CAAiB,IAAIC,QAAQ,CAC/B,IAAA,CAAM,gCACN,SAAA,CAAW,CAACF,CAAO,CACvB,CAAC,CAAA,CACI,OAAA,CAAQG,UAAU,KAAA,CAAM,IAAI,CAAC,CAAA,CAElC,GAAI,CACA,OAAA,MAAM,IAAA,CAAK,IAAA,CAAKb,CAAAA,CAAuB,eAAgBW,CAAc,CAAA,CACrEA,EAAe,OAAA,EAAQ,CAEhBD,CACX,CAAA,KAAgB,CAEZ,OAAAA,CAAAA,CAAQ,KAAK,IAAIL,CAAAA,CAAoB,CACjC,KAAA,CAAOA,CAAAA,CAAoB,qBAC3B,WAAA,CAAa,mCACjB,CAAC,CAAC,EAEFM,CAAAA,CAAe,OAAA,GAERD,CACX,CACJ,CAEA,MAAM,iBAAA,CAAkBQ,CAAAA,CAA4E,CAChG,IAAMR,CAAAA,CAAU,IAAIT,CAAAA,CAAwH,CACxI,WAAYiB,CAChB,CAAC,CAAA,CAEKP,CAAAA,CAAiB,IAAIC,OAAAA,CAAQ,CAC/B,KAAM,kCAAA,CACN,SAAA,CAAW,CAACF,CAAO,CACvB,CAAC,CAAA,CACI,QAAQG,SAAAA,CAAU,KAAA,CAAM,IAAI,CAAC,CAAA,CAElC,GAAI,CACA,OAAA,MAAM,IAAA,CAAK,IAAA,CAAKb,EAAuB,iBAAA,CAAmBW,CAAc,EACxEA,CAAAA,CAAe,OAAA,GAERD,CACX,CAAA,KAAgB,CAEZ,OAAAA,EAAQ,IAAA,CAAK,IAAIL,CAAAA,CAAoB,CACjC,MAAOA,CAAAA,CAAoB,uBAAA,CAC3B,WAAA,CAAa,sCACjB,CAAC,CAAC,CAAA,CAEFM,EAAe,OAAA,EAAQ,CAEhBD,CACX,CACJ,CACJ,MCnLaS,CAAAA,CAAN,MAAMC,UAAmCvB,UAAW,CAqBvD,WAAA,EAAc,CACV,GAAIuB,CAAAA,CAA2B,SAAA,CAC3B,OAAOA,CAAAA,CAA2B,SAAA,CAEtC,MAAM,CAAE,IAAA,CAAM,+BAAgC,CAAC,EAMnD,IAAA,CAAS,KAAA,CAAQ,IAAI,GAAA,CAGrB,mBAAmC,IAAA,CASnC,IAAA,CAAS,UAAA,CAAa,IAAI,IAG1B,IAAA,CAAA,qBAAA,CAA8D,IAAA,CAG9D,gBAAuF,KAvBvF,CAtBA,WAAW,QAAA,EAAuC,CAC9C,OAAKA,CAAAA,CAA2B,YAC5BA,CAAAA,CAA2B,SAAA,CAAY,IAAIA,CAAAA,CAAAA,CAExCA,CAAAA,CAA2B,SACtC,CAMA,OAAO,UAAA,CAAWC,CAAAA,CAAmD,CACjE,IAAMC,CAAAA,CAAQF,EAA2B,QAAA,CACzC,OAAAE,EAAM,cAAA,CAAeD,CAAM,CAAA,CACpBC,CACX,CAiCA,IAAI,aAAA,EAAyB,CACzB,OAAO,IAAA,CAAK,WAAW,IAAA,CAAO,CAAA,EAAA,CAAM,IAAA,CAAK,qBAAA,EAAuB,QAAU,CAAA,EAAK,CACnF,CAOA,cAAA,CAAeD,CAAAA,CAA6B,CACxC,IAAA,GAAW,CAACE,CAAAA,CAAIC,CAAI,IAAK,MAAA,CAAO,OAAA,CAAQH,EAAO,OAAA,EAAW,EAAE,CAAA,CACxD,IAAA,CAAK,UAAA,CAAW,GAAA,CAAIE,EAAIC,CAAAA,CAAK,GAAA,CAAIC,IAAM,CACnC,GAAGA,EAEH,SAAA,CAAWA,CAAAA,CAAE,SAAA,CAAU,MAAA,CAAS,EAAI,IAAI,YAAA,CAAaA,CAAAA,CAAE,SAAS,EAAI,MACxE,CAAA,CAAkC,CAAC,CAAA,CAGnCJ,EAAO,gBAAA,EAAkB,MAAA,GACzB,KAAK,qBAAA,CAAwBA,CAAAA,CAAO,iBAAiB,GAAA,CAAII,CAAAA,GAAM,CAC3D,GAAGA,EACH,SAAA,CAAWA,CAAAA,CAAE,UAAU,MAAA,CAAS,CAAA,CAAI,IAAI,YAAA,CAAaA,CAAAA,CAAE,SAAS,CAAA,CAAI,MACxE,CAAA,CAAiC,CAAA,CAAA,CAGrC,KAAK,UAAA,CAAa,CACd,cAAeJ,CAAAA,CAAO,aAAA,CACtB,aAAA,CAAeA,CAAAA,CAAO,cACtB,OAAA,CAASA,CAAAA,CAAO,OACpB,EACJ,CACJ,ECpEA,IAAMK,CAAAA,CAAM,IAAI,WAAA,CACVC,CAAAA,CAAM,IAAI,WAAA,CAGHC,CAAAA,CAAN,MAAMC,CAAAA,SAA4BhC,UAAW,CAA7C,WAAA,EAAA,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,CAEH,KAAU,GAAA,CAAM,IAAI,YACpB,IAAA,CAAU,GAAA,CAAM,IAAI,WAAA,CAmBpB,wBAAqB,UAAA,CACrB,IAAA,CAAA,oBAAA,CAAuB,EACvB,IAAA,CAAA,mBAAA,CAAsB,GAAA,CAItB,WAAW,aAAA,EAAgB,CACvB,OAAO,SACX,CAGA,WAAA,CAAYiC,CAAAA,CAAmB,CAC3B,OAAO,GAAGA,CAAS,CAAA,EAAGD,CAAAA,CAAoB,aAAa,EAC3D,CAEA,oBAAA,EAAuB,CACnB,OAAO,CAAA,YAAA,EAAeA,EAAoB,aAAa,CAAA,CAC3D,CAGA,aAAA,CAAcE,EAAqD,CAC/D,IAAMC,EAAsB,EAAC,CAE7B,GAAID,CAAAA,CAAQ,IAAA,CAAK,CAAA,EAAK,CAAC,EAAE,SAAS,CAAA,CAC9B,MAAM,IAAI,KAAA,CAAM,gDAAgD,CAAA,CAGpE,IAAME,CAAAA,CAAS,IAAI,WAAW,IAAA,CAAK,mBAAmB,EAChDC,CAAAA,CAAa,IAAI,SAASD,CAAAA,CAAO,MAAM,CAAA,CAC7CC,CAAAA,CAAW,UAAU,CAAA,CAAG,IAAA,CAAK,mBAAoB,IAAI,CAAA,CACrDD,EAAO,CAAC,CAAA,CAAI,IAAA,CAAK,oBAAA,CACjBC,EAAW,SAAA,CAAU,CAAA,CAAGH,EAAQ,MAAA,CAAQ,IAAI,EAC5C,IAAMI,CAAAA,CAAOJ,CAAAA,CAAQ,CAAC,GAAG,SAAA,CAAW,MAAA,EAAU,EAC9CG,CAAAA,CAAW,SAAA,CAAU,EAAGC,CAAAA,CAAM,IAAI,CAAA,CAElCH,CAAAA,CAAM,KAAKC,CAAM,CAAA,CAEjB,IAAA,IAAWG,CAAAA,IAAOL,EAAS,CACvB,IAAMM,CAAAA,CAAaX,CAAAA,CAAI,OAAOU,CAAAA,CAAI,KAAA,CAAM,UAAU,CAAA,CAC5CE,EAAYZ,CAAAA,CAAI,MAAA,CAAOU,CAAAA,CAAI,IAAI,EAC/BG,CAAAA,CAAW,IAAA,CAAK,UAAU,CAC5B,IAAA,CAAMH,EAAI,IAAA,CACV,MAAA,CAAQA,CAAAA,CAAI,MAAA,CACZ,KAAMA,CAAAA,CAAI,IAAA,CACV,YAAaA,CAAAA,CAAI,WAAA,CACjB,SAAUA,CAAAA,CAAI,QAAA,CACd,SAAA,CAAWA,CAAAA,CAAI,UACf,IAAA,CAAMA,CAAAA,CAAI,IAAA,CACV,KAAA,CAAOA,EAAI,KAAA,CACX,YAAA,CAAcA,CAAAA,CAAI,YAAA,CAClB,cAAeA,CAAAA,CAAI,aAAA,CACnB,oBAAqBA,CAAAA,CAAI,mBAC7B,CAAC,CAAA,CACKI,CAAAA,CAAYd,CAAAA,CAAI,MAAA,CAAOa,CAAQ,CAAA,CAE/BE,CAAAA,CACF,EAAIJ,CAAAA,CAAW,MAAA,CACf,EAAIC,CAAAA,CAAU,MAAA,CACdF,CAAAA,CAAI,SAAA,CAAW,OAAS,CAAA,CACxB,CAAA,CAAII,EAAU,MAAA,CAEZE,CAAAA,CAAS,IAAI,UAAA,CAAWD,CAAO,CAAA,CAC/BE,CAAAA,CAAO,IAAI,QAAA,CAASD,CAAAA,CAAO,MAAM,CAAA,CACnCE,EAAS,CAAA,CAEbD,CAAAA,CAAK,SAAA,CAAUC,CAAAA,CAAQP,EAAW,MAAA,CAAQ,IAAI,EAAGO,CAAAA,EAAU,CAAA,CAC3DF,EAAO,GAAA,CAAIL,CAAAA,CAAYO,CAAM,CAAA,CAAGA,GAAUP,CAAAA,CAAW,MAAA,CAErDM,EAAK,SAAA,CAAUC,CAAAA,CAAQN,EAAU,MAAA,CAAQ,IAAI,CAAA,CAAGM,CAAAA,EAAU,EAC1DF,CAAAA,CAAO,GAAA,CAAIJ,EAAWM,CAAM,CAAA,CAAGA,GAAUN,CAAAA,CAAU,MAAA,CAEnD,IAAA,IAASO,CAAAA,CAAI,EAAGA,CAAAA,CAAIT,CAAAA,CAAI,UAAW,MAAA,CAAQS,CAAAA,EAAAA,CACvCF,EAAK,UAAA,CAAWC,CAAAA,CAAQR,CAAAA,CAAI,SAAA,CAAWS,CAAC,CAAA,CAAG,IAAI,EAC/CD,CAAAA,EAAU,CAAA,CAGdD,EAAK,SAAA,CAAUC,CAAAA,CAAQJ,CAAAA,CAAU,MAAA,CAAQ,IAAI,CAAA,CAAGI,CAAAA,EAAU,EAC1DF,CAAAA,CAAO,GAAA,CAAIF,EAAWI,CAAM,CAAA,CAE5BZ,CAAAA,CAAM,IAAA,CAAKU,CAAM,EACrB,CAEA,IAAMI,CAAAA,CAAQd,CAAAA,CAAM,OAAO,CAACe,CAAAA,CAAGC,CAAAA,GAAMD,CAAAA,CAAIC,EAAE,MAAA,CAAQ,CAAC,CAAA,CAC9CC,CAAAA,CAAM,IAAI,UAAA,CAAWH,CAAK,CAAA,CAC5BI,CAAAA,CAAM,EACV,IAAA,IAAWF,CAAAA,IAAKhB,EAASiB,CAAAA,CAAI,GAAA,CAAID,EAAGE,CAAG,CAAA,CAAGA,CAAAA,EAAOF,CAAAA,CAAE,OACnD,OAAOC,CACX,CAEA,aAAA,CAAcE,CAAAA,CAAkD,CAC5D,GAAIA,CAAAA,CAAK,MAAA,CAAS,IAAA,CAAK,oBAAqB,MAAM,IAAI,MAAM,qCAAqC,CAAA,CAEjG,IAAMR,CAAAA,CAAO,IAAI,QAAA,CAASQ,CAAAA,CAAK,OAAQA,CAAAA,CAAK,UAAA,CAAYA,CAAAA,CAAK,UAAU,EAEjEC,CAAAA,CAAQT,CAAAA,CAAK,SAAA,CAAU,CAAA,CAAG,IAAI,CAAA,CACpC,GAAIS,IAAU,IAAA,CAAK,kBAAA,CAAoB,MAAM,IAAI,KAAA,CAAM,CAAA,2BAAA,EAA8BA,CAAAA,CAAM,SAAS,EAAE,CAAC,EAAE,CAAA,CAEzG,IAAMC,EAAUF,CAAAA,CAAK,CAAC,CAAA,CACtB,GAAIE,IAAY,IAAA,CAAK,oBAAA,CAAsB,MAAM,IAAI,KAAA,CAAM,8BAA8BA,CAAO,CAAA,CAAE,CAAA,CAElG,IAAMC,EAAQX,CAAAA,CAAK,SAAA,CAAU,CAAA,CAAG,IAAI,EAC9BR,CAAAA,CAAOQ,CAAAA,CAAK,SAAA,CAAU,CAAA,CAAG,IAAI,CAAA,CAE7BZ,CAAAA,CAA0C,EAAC,CAC7Ca,CAAAA,CAAS,KAAK,mBAAA,CAElB,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,EAAIS,CAAAA,CAAOT,CAAAA,EAAAA,CAAK,CAC5B,IAAMU,CAAAA,CAAWZ,EAAK,SAAA,CAAUC,CAAAA,CAAQ,IAAI,CAAA,CAAGA,GAAU,CAAA,CACzD,IAAMY,EAAQ7B,CAAAA,CAAI,MAAA,CAAOwB,EAAK,KAAA,CAAMP,CAAAA,CAAQA,CAAAA,CAASW,CAAQ,CAAC,CAAA,CAAGX,CAAAA,EAAUW,EAE3E,IAAME,CAAAA,CAAUd,EAAK,SAAA,CAAUC,CAAAA,CAAQ,IAAI,CAAA,CAAGA,GAAU,CAAA,CACxD,IAAMc,EAAO/B,CAAAA,CAAI,MAAA,CAAOwB,EAAK,KAAA,CAAMP,CAAAA,CAAQA,CAAAA,CAASa,CAAO,CAAC,CAAA,CAAGb,CAAAA,EAAUa,EAEzE,IAAME,CAAAA,CAAY,IAAI,YAAA,CAAaxB,CAAI,CAAA,CACvC,IAAA,IAASyB,EAAI,CAAA,CAAGA,CAAAA,CAAIzB,EAAMyB,CAAAA,EAAAA,CACtBD,CAAAA,CAAUC,CAAC,CAAA,CAAIjB,CAAAA,CAAK,UAAA,CAAWC,CAAAA,CAAQ,IAAI,CAAA,CAC3CA,CAAAA,EAAU,CAAA,CAGd,IAAMiB,EAAUlB,CAAAA,CAAK,SAAA,CAAUC,CAAAA,CAAQ,IAAI,EAAGA,CAAAA,EAAU,CAAA,CACxD,IAAML,CAAAA,CAAWZ,CAAAA,CAAI,OAAOwB,CAAAA,CAAK,KAAA,CAAMP,CAAAA,CAAQA,CAAAA,CAASiB,CAAO,CAAC,CAAA,CAAGjB,GAAUiB,CAAAA,CAC7E,IAAMC,EAAO,IAAA,CAAK,KAAA,CAAMvB,CAAQ,CAAA,CAchCR,EAAQ,IAAA,CAAK,CACT,MAAAyB,CAAAA,CACA,IAAA,CAAMM,EAAK,IAAA,EAAQN,CAAAA,CACnB,IAAA,CAAAE,CAAAA,CACA,KAAMI,CAAAA,CAAK,IAAA,CACX,SAAA,CAAAH,CAAAA,CACA,OAAQG,CAAAA,CAAK,MAAA,CACb,WAAA,CAAaA,CAAAA,CAAK,YAClB,QAAA,CAAUA,CAAAA,CAAK,SACf,SAAA,CAAWA,CAAAA,CAAK,UAChB,IAAA,CAAMA,CAAAA,CAAK,IAAA,CACX,KAAA,CAAOA,EAAK,KAAA,CACZ,YAAA,CAAcA,EAAK,YAAA,CACnB,aAAA,CAAeA,EAAK,aAAA,CACpB,mBAAA,CAAqBA,CAAAA,CAAK,mBAC9B,CAAC,EACL,CAEA,OAAO/B,CACX,CAGA,uBAAuBA,CAAAA,CAAoD,CACvE,IAAMC,CAAAA,CAAsB,EAAC,CAE7B,GAAID,CAAAA,CAAQ,IAAA,CAAK,GAAK,CAAC,CAAA,CAAE,SAAS,CAAA,CAC9B,MAAM,IAAI,KAAA,CAAM,gDAAgD,CAAA,CAGpE,IAAME,EAAS,IAAI,UAAA,CAAW,IAAA,CAAK,mBAAmB,EAChDC,CAAAA,CAAa,IAAI,SAASD,CAAAA,CAAO,MAAM,EAC7CC,CAAAA,CAAW,SAAA,CAAU,CAAA,CAAG,IAAA,CAAK,mBAAoB,IAAI,CAAA,CACrDD,EAAO,CAAC,CAAA,CAAI,KAAK,oBAAA,CACjBC,CAAAA,CAAW,SAAA,CAAU,CAAA,CAAGH,EAAQ,MAAA,CAAQ,IAAI,EAC5C,IAAMI,CAAAA,CAAOJ,EAAQ,CAAC,CAAA,EAAG,SAAA,CAAW,MAAA,EAAU,EAC9CG,CAAAA,CAAW,SAAA,CAAU,EAAGC,CAAAA,CAAM,IAAI,EAClCH,CAAAA,CAAM,IAAA,CAAKC,CAAM,CAAA,CAEjB,QAAWG,CAAAA,IAAOL,CAAAA,CAAS,CACvB,IAAMM,CAAAA,CAAaX,EAAI,MAAA,CAAOU,CAAAA,CAAI,KAAA,CAAM,QAAA,EAAU,CAAA,CAC5CE,CAAAA,CAAYZ,EAAI,MAAA,CAAOU,CAAAA,CAAI,IAAI,CAAA,CAC/BG,CAAAA,CAAW,IAAA,CAAK,SAAA,CAAU,CAC5B,IAAA,CAAMH,CAAAA,CAAI,IAAA,CACV,WAAA,CAAaA,EAAI,WAAA,CACjB,QAAA,CAAUA,CAAAA,CAAI,QAAA,CACd,WAAYA,CAAAA,CAAI,UAAA,CAChB,eAAgBA,CAAAA,CAAI,cAAA,CACpB,aAAcA,CAAAA,CAAI,YAAA,CAClB,aAAA,CAAeA,CAAAA,CAAI,cACnB,mBAAA,CAAqBA,CAAAA,CAAI,mBAC7B,CAAC,CAAA,CACKI,EAAYd,CAAAA,CAAI,MAAA,CAAOa,CAAQ,CAAA,CAE/BE,EACF,CAAA,CAAIJ,CAAAA,CAAW,OACf,CAAA,CAAIC,CAAAA,CAAU,OACdF,CAAAA,CAAI,SAAA,CAAW,MAAA,CAAS,CAAA,CACxB,EAAII,CAAAA,CAAU,MAAA,CAEZE,CAAAA,CAAS,IAAI,WAAWD,CAAO,CAAA,CAC/BE,CAAAA,CAAO,IAAI,SAASD,CAAAA,CAAO,MAAM,EACnCE,CAAAA,CAAS,CAAA,CAEbD,EAAK,SAAA,CAAUC,CAAAA,CAAQP,CAAAA,CAAW,MAAA,CAAQ,IAAI,CAAA,CAAGO,CAAAA,EAAU,EAC3DF,CAAAA,CAAO,GAAA,CAAIL,EAAYO,CAAM,CAAA,CAAGA,CAAAA,EAAUP,CAAAA,CAAW,OAErDM,CAAAA,CAAK,SAAA,CAAUC,EAAQN,CAAAA,CAAU,MAAA,CAAQ,IAAI,CAAA,CAAGM,CAAAA,EAAU,CAAA,CAC1DF,CAAAA,CAAO,IAAIJ,CAAAA,CAAWM,CAAM,CAAA,CAAGA,CAAAA,EAAUN,EAAU,MAAA,CAEnD,IAAA,IAASO,CAAAA,CAAI,CAAA,CAAGA,EAAIT,CAAAA,CAAI,SAAA,CAAW,OAAQS,CAAAA,EAAAA,CACvCF,CAAAA,CAAK,WAAWC,CAAAA,CAAQR,CAAAA,CAAI,SAAA,CAAWS,CAAC,EAAG,IAAI,CAAA,CAC/CD,GAAU,CAAA,CAGdD,CAAAA,CAAK,UAAUC,CAAAA,CAAQJ,CAAAA,CAAU,MAAA,CAAQ,IAAI,EAAGI,CAAAA,EAAU,CAAA,CAC1DF,EAAO,GAAA,CAAIF,CAAAA,CAAWI,CAAM,CAAA,CAE5BZ,CAAAA,CAAM,IAAA,CAAKU,CAAM,EACrB,CAEA,IAAMI,EAAQd,CAAAA,CAAM,MAAA,CAAO,CAACe,CAAAA,CAAGC,CAAAA,GAAMD,CAAAA,CAAIC,CAAAA,CAAE,OAAQ,CAAC,CAAA,CAC9CC,EAAM,IAAI,UAAA,CAAWH,CAAK,CAAA,CAC5BI,CAAAA,CAAM,CAAA,CACV,IAAA,IAAWF,KAAKhB,CAAAA,CAASiB,CAAAA,CAAI,IAAID,CAAAA,CAAGE,CAAG,EAAGA,CAAAA,EAAOF,CAAAA,CAAE,MAAA,CACnD,OAAOC,CACX,CAEA,sBAAA,CAAuBE,EAAiD,CACpE,GAAIA,EAAK,MAAA,CAAS,IAAA,CAAK,mBAAA,CAAqB,MAAM,IAAI,KAAA,CAAM,+CAA+C,CAAA,CAE3G,IAAMR,EAAO,IAAI,QAAA,CAASQ,CAAAA,CAAK,MAAA,CAAQA,EAAK,UAAA,CAAYA,CAAAA,CAAK,UAAU,CAAA,CAEjEC,CAAAA,CAAQT,EAAK,SAAA,CAAU,CAAA,CAAG,IAAI,CAAA,CACpC,GAAIS,CAAAA,GAAU,IAAA,CAAK,mBAAoB,MAAM,IAAI,MAAM,CAAA,qCAAA,EAAwCA,CAAAA,CAAM,QAAA,CAAS,EAAE,CAAC,CAAA,CAAE,CAAA,CAEnH,IAAMC,CAAAA,CAAUF,CAAAA,CAAK,CAAC,CAAA,CACtB,GAAIE,CAAAA,GAAY,IAAA,CAAK,qBAAsB,MAAM,IAAI,KAAA,CAAM,CAAA,qCAAA,EAAwCA,CAAO,CAAA,CAAE,CAAA,CAE5G,IAAMC,CAAAA,CAAQX,EAAK,SAAA,CAAU,CAAA,CAAG,IAAI,CAAA,CAC9BR,CAAAA,CAAOQ,EAAK,SAAA,CAAU,CAAA,CAAG,IAAI,CAAA,CAE7BZ,EAAyC,EAAC,CAC5Ca,EAAS,IAAA,CAAK,mBAAA,CAElB,QAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIS,CAAAA,CAAOT,IAAK,CAC5B,IAAMU,EAAWZ,CAAAA,CAAK,SAAA,CAAUC,EAAQ,IAAI,CAAA,CAAGA,CAAAA,EAAU,CAAA,CACzD,IAAMY,CAAAA,CAAQ7B,CAAAA,CAAI,MAAA,CAAOwB,CAAAA,CAAK,MAAMP,CAAAA,CAAQA,CAAAA,CAASW,CAAQ,CAAC,EAAGX,CAAAA,EAAUW,CAAAA,CAE3E,IAAME,CAAAA,CAAUd,CAAAA,CAAK,UAAUC,CAAAA,CAAQ,IAAI,CAAA,CAAGA,CAAAA,EAAU,EACxD,IAAMc,CAAAA,CAAO/B,EAAI,MAAA,CAAOwB,CAAAA,CAAK,MAAMP,CAAAA,CAAQA,CAAAA,CAASa,CAAO,CAAC,EAAGb,CAAAA,EAAUa,CAAAA,CAEzE,IAAME,CAAAA,CAAY,IAAI,aAAaxB,CAAI,CAAA,CACvC,IAAA,IAASyB,CAAAA,CAAI,EAAGA,CAAAA,CAAIzB,CAAAA,CAAMyB,IACtBD,CAAAA,CAAUC,CAAC,EAAIjB,CAAAA,CAAK,UAAA,CAAWC,CAAAA,CAAQ,IAAI,EAC3CA,CAAAA,EAAU,CAAA,CAGd,IAAMiB,CAAAA,CAAUlB,CAAAA,CAAK,UAAUC,CAAAA,CAAQ,IAAI,CAAA,CAAGA,CAAAA,EAAU,EACxD,IAAML,CAAAA,CAAWZ,EAAI,MAAA,CAAOwB,CAAAA,CAAK,MAAMP,CAAAA,CAAQA,CAAAA,CAASiB,CAAO,CAAC,EAAGjB,CAAAA,EAAUiB,CAAAA,CAC7E,IAAMC,CAAAA,CAAO,IAAA,CAAK,MAAMvB,CAAQ,CAAA,CAWhCR,CAAAA,CAAQ,IAAA,CAAK,CACT,KAAA,CAAAyB,CAAAA,CACA,IAAA,CAAMM,CAAAA,CAAK,MAAQN,CAAAA,CACnB,IAAA,CAAAE,CAAAA,CACA,SAAA,CAAAC,EACA,WAAA,CAAaG,CAAAA,CAAK,YAClB,QAAA,CAAUA,CAAAA,CAAK,SACf,UAAA,CAAYA,CAAAA,CAAK,UAAA,CACjB,cAAA,CAAgBA,EAAK,cAAA,CACrB,YAAA,CAAcA,EAAK,YAAA,CACnB,aAAA,CAAeA,EAAK,aAAA,CACpB,mBAAA,CAAqBA,CAAAA,CAAK,mBAC9B,CAAC,EACL,CAEA,OAAO/B,CACX,CAEJ,ECzSO,IAAMgC,CAAAA,CAAN,cAA4CxD,CAAe,CAG9D,OACuByD,CAAAA,CACmB1C,CAAAA,CACxC,CACOA,CAAAA,EACD0C,CAAAA,CAAM,QAAA,CAAS7C,CAAAA,CAA2B,QAAQ,EAE1D,CAWA,MAAM,uBAAA,CACoB8C,CAAAA,CACaC,EACTC,CAAAA,CACKC,CAAAA,CACO9C,CAAAA,CACzB,CACb,IAAMS,CAAAA,CAAUmC,CAAAA,CAAU,OAAO,OAAA,CAC3BpC,CAAAA,CAAYC,EAAQ,CAAC,CAAA,CAAE,SAAA,CAEvBsC,CAAAA,CAAW,MAAM,IAAA,CAAK,0BAAA,CAA2B/C,CAAAA,CAAM,KAAA,CAAOQ,EAAWqC,CAAAA,CAAO,aAAA,CAAgBC,CAAK,CAAA,CAErGE,EAAS,IAAI,GAAA,CACnB,QAAW7C,CAAAA,IAAK4C,CAAAA,CAAUC,EAAO,GAAA,CAAI7C,CAAAA,CAAE,KAAA,CAAOA,CAAC,EAC/C,IAAA,IAAWmC,CAAAA,IAAK7B,EAASuC,CAAAA,CAAO,GAAA,CAAIV,EAAE,KAAA,CAAM,QAAA,EAAS,CAAGA,CAAC,EAEzD,IAAMW,CAAAA,CAAUH,EAAM,aAAA,CAAc,KAAA,CAAM,KAAKE,CAAAA,CAAO,MAAA,EAAQ,CAAC,EAC/DhD,CAAAA,CAAM,KAAA,CAAM,IAAIQ,CAAAA,CAAW,MAAM0C,IAAc,YAAA,CAAaD,CAAAA,CAASJ,CAAAA,CAAO,aAAc,CAAC,CAAA,CAE3FD,CAAAA,CAAU,SAAS,CAAE,KAAA,CAAOnC,EAAQ,MAAO,CAAC,EAChD,CAMA,MAAM,yBAAA,CACoBkC,CAAAA,CACaC,EACTC,CAAAA,CACKC,CAAAA,CACO9C,EACzB,CACb,IAAMQ,CAAAA,CAAYoC,CAAAA,CAAU,OAAO,WAAA,CAC7BnC,CAAAA,CAAU,MAAM,IAAA,CAAK,0BAAA,CAA2BT,EAAM,KAAA,CAAOQ,CAAAA,CAAWqC,CAAAA,CAAO,aAAA,CAAgBC,CAAK,CAAA,CAC1GF,CAAAA,CAAU,QAAA,CAAS,CAAE,QAAAnC,CAAQ,CAAC,EAClC,CAMA,MAAM,4BAAA,CACoBkC,CAAAA,CACaC,EACTC,CAAAA,CACKC,CAAAA,CACO9C,EACzB,CACb,IAAMQ,CAAAA,CAAYoC,CAAAA,CAAU,OAAO,WAAA,CAC7BnD,CAAAA,CAAemD,EAAU,MAAA,CAAO,YAAA,CAGhCO,GADW,MAAM,IAAA,CAAK,0BAAA,CAA2BnD,CAAAA,CAAM,MAAOQ,CAAAA,CAAWqC,CAAAA,CAAO,cAAgBC,CAAK,CAAA,EACjF,OAAO3C,CAAAA,EAAKA,CAAAA,CAAE,KAAA,GAAUV,CAAY,EAExDwD,CAAAA,CAAUH,CAAAA,CAAM,aAAA,CAAcK,CAAQ,EAC5CnD,CAAAA,CAAM,KAAA,CAAM,GAAA,CAAIQ,CAAAA,CAAW,MAAM0C,GAAAA,CAAc,YAAA,CAAaD,EAASJ,CAAAA,CAAO,aAAc,CAAC,CAAA,CAE3FD,CAAAA,CAAU,QAAA,CAAS,CAAE,QAASO,CAAS,CAAC,EAC5C,CAWA,MAAM,uBACoBR,CAAAA,CACaC,CAAAA,CACTC,CAAAA,CACKC,CAAAA,CACO9C,EACzB,CACb,IAAMS,EAAUmC,CAAAA,CAAU,MAAA,CAAO,QAE3BG,CAAAA,CAAW,MAAM,IAAA,CAAK,yBAAA,CAA0B/C,EAAO6C,CAAAA,CAAO,aAAA,CAAgBC,CAAK,CAAA,CAEnFE,EAAS,IAAI,GAAA,CACnB,IAAA,IAAW,CAAA,IAAKD,EAAUC,CAAAA,CAAO,GAAA,CAAI,EAAE,KAAA,CAAO,CAAC,EAC/C,IAAA,IAAWV,CAAAA,IAAK7B,CAAAA,CAASuC,CAAAA,CAAO,IAAIV,CAAAA,CAAE,KAAA,CAAM,UAAS,CAAGA,CAAC,EAEzD,IAAMW,CAAAA,CAAUH,CAAAA,CAAM,sBAAA,CAAuB,MAAM,IAAA,CAAKE,CAAAA,CAAO,QAAQ,CAAC,EACxEhD,CAAAA,CAAM,aAAA,CAAgB,MAAMkD,GAAAA,CAAc,aAAaD,CAAAA,CAASJ,CAAAA,CAAO,aAAc,CAAA,CAErFD,CAAAA,CAAU,SAAS,CAAE,OAAA,CAAS,IAAK,CAAC,EACxC,CAMA,MAAM,yBACoBD,CAAAA,CACaC,CAAAA,CACTC,EACKC,CAAAA,CACO9C,CAAAA,CACzB,CACb,IAAMoD,EAAMR,CAAAA,CAAU,MAAA,CAAO,WACvBnC,CAAAA,CAAU,MAAM,KAAK,yBAAA,CAA0BT,CAAAA,CAAO6C,CAAAA,CAAO,aAAA,CAAgBC,CAAK,CAAA,CAExFF,CAAAA,CAAU,SAAS,CACf,OAAA,CAASQ,EAAM3C,CAAAA,CAAQ,MAAA,CAAON,CAAAA,EAAKiD,CAAAA,CAAI,SAASjD,CAAAA,CAAE,IAAI,CAAC,CAAA,CAAIM,CAC/D,CAAC,EACL,CAMA,MAAM,4BACoBkC,CAAAA,CACaC,CAAAA,CACTC,EACKC,CAAAA,CACO9C,CAAAA,CACzB,CACb,IAAMoD,CAAAA,CAAMR,CAAAA,CAAU,MAAA,CAAO,WAGvBO,CAAAA,CAAAA,CADW,MAAM,KAAK,yBAAA,CAA0BnD,CAAAA,CAAO6C,EAAO,aAAA,CAAgBC,CAAK,CAAA,EAC/D,MAAA,CAAO,GAAK,CAACM,CAAAA,CAAI,SAAS,CAAA,CAAE,KAAK,CAAC,CAAA,CAEtDH,CAAAA,CAAUH,CAAAA,CAAM,sBAAA,CAAuBK,CAAQ,CAAA,CACrDnD,CAAAA,CAAM,aAAA,CAAgB,MAAMkD,IAAc,YAAA,CAAaD,CAAAA,CAASJ,CAAAA,CAAO,aAAc,EAGrF,GAAI,CACA,QAAWQ,CAAAA,IAAMD,CAAAA,CACbpD,EAAM,KAAA,CAAM,MAAA,CAAOqD,CAAE,CAAA,CAEzBT,EAAU,QAAA,CAAS,CAAE,QAAS,CAAA,CAAK,CAAC,EACxC,CAAA,KAAgB,CACZA,CAAAA,CAAU,IAAA,CAAK,IAAI7D,CAAAA,CAAoB,CACnC,MAAOA,CAAAA,CAAoB,uBAAA,CAC3B,YAAa,sCACjB,CAAC,CAAC,CAAA,CACF6D,EAAU,QAAA,CAAS,CAAE,OAAA,CAAS,KAAM,CAAC,EACzC,CACJ,CAwBA,MAAM,wBACkBU,CAAAA,CACMlE,CAAAA,CACK0D,EACO9C,CAAAA,CACzB,CAEb,IAAMuD,CAAAA,CAAevD,CAAAA,CAAM,UAAA,CAAW,GAAA,CAAIsD,EAAW,SAAA,CAAU,EAAE,EACjE,GAAIC,CAAAA,EAAc,OAAQ,CACtB,IAAMC,CAAAA,CAASD,CAAAA,CAAa,KAAKpD,CAAAA,EAAKA,CAAAA,CAAE,QAAUmD,CAAAA,CAAW,KAAA,CAAM,UAAU,CAAA,CAC7E,GAAIE,CAAAA,EAAUA,EAAO,IAAA,GAASF,CAAAA,CAAW,KAAM,CAC3CA,CAAAA,CAAW,SAASE,CAAM,CAAA,CAC1B,MACJ,CACJ,CAGA,GAAI,CAACpE,EAAQ,aAAA,CAAe,OAE5B,IAAMqB,CAAAA,CAAU,MAAM,IAAA,CAAK,0BAAA,CACvBT,EAAM,KAAA,CAAOsD,CAAAA,CAAW,UAAU,EAAA,CAAIlE,CAAAA,CAAQ,cAAe0D,CACjE,CAAA,CACA,GAAIrC,CAAAA,CAAQ,SAAW,CAAA,CAAG,OAE1B,IAAM+C,CAAAA,CAAS/C,CAAAA,CAAQ,KAAKN,CAAAA,EAAKA,CAAAA,CAAE,KAAA,GAAUmD,CAAAA,CAAW,MAAM,QAAA,EAAU,CAAA,CAEpEE,CAAAA,EACAA,EAAO,IAAA,GAASF,CAAAA,CAAW,IAAA,EAC3BE,CAAAA,CAAO,sBAAwBpE,CAAAA,CAAQ,aAAA,EAEvCkE,EAAW,QAAA,CAASE,CAAM,EAElC,CAWA,MAAM,sBAAA,CACkBhD,CAAAA,CACMpB,EACK0D,CAAAA,CACO9C,CAAAA,CACzB,CAEb,GAAIA,CAAAA,CAAM,uBAAuB,MAAA,CAAQ,CACrC,IAAMwD,CAAAA,CAASxD,EAAM,qBAAA,CAAsB,IAAA,CAAKG,GAAKA,CAAAA,CAAE,KAAA,GAAUK,EAAU,KAAA,CAAM,QAAA,EAAU,CAAA,CAC3F,GAAIgD,CAAAA,EAAUA,CAAAA,CAAO,IAAA,GAAShD,CAAAA,CAAU,KAAM,CAC1CA,CAAAA,CAAU,QAAA,CAASgD,CAAM,EACzB,MACJ,CACJ,CAGA,GAAI,CAACpE,EAAQ,aAAA,CAAe,OAE5B,IAAMqB,CAAAA,CAAU,MAAM,IAAA,CAAK,yBAAA,CAA0BT,EAAOZ,CAAAA,CAAQ,aAAA,CAAe0D,CAAK,CAAA,CACxF,GAAIrC,CAAAA,CAAQ,MAAA,GAAW,EAAG,OAE1B,IAAM+C,EAAS/C,CAAAA,CAAQ,IAAA,CAAKN,GAAKA,CAAAA,CAAE,KAAA,GAAUK,CAAAA,CAAU,KAAA,CAAM,UAAU,CAAA,CAEnEgD,CAAAA,EACAA,CAAAA,CAAO,OAAShD,CAAAA,CAAU,IAAA,EAC1BgD,CAAAA,CAAO,mBAAA,GAAwBpE,EAAQ,aAAA,EAEvCoB,CAAAA,CAAU,SAASgD,CAAM,EAEjC,CAKA,MAAc,0BAAA,CACVC,CAAAA,CACAjD,CAAAA,CACAkD,EACAZ,CAAAA,CACuC,CACvC,IAAMa,CAAAA,CAAOF,CAAAA,CAAM,IAAIjD,CAAS,CAAA,CAChC,GAAI,CAACmD,EAAM,OAAO,GAClB,GAAI,CACA,IAAMC,CAAAA,CAAQ,MAAMV,GAAAA,CAAc,YAAA,CAAaS,EAAMD,CAAa,CAAA,CAClE,OAAOZ,CAAAA,CAAM,aAAA,CAAcc,CAAK,CACpC,CAAA,KAAQ,CACJ,OAAO,EACX,CACJ,CAEA,MAAc,yBAAA,CACV5D,EACA0D,CAAAA,CACAZ,CAAAA,CACsC,CACtC,IAAMa,EAAO3D,CAAAA,CAAM,aAAA,CACnB,GAAI,CAAC2D,CAAAA,CAAM,OAAO,EAAC,CACnB,GAAI,CACA,IAAMC,CAAAA,CAAQ,MAAMV,IAAc,YAAA,CAAaS,CAAAA,CAAMD,CAAa,CAAA,CAClE,OAAOZ,CAAAA,CAAM,sBAAA,CAAuBc,CAAK,CAC7C,CAAA,KAAQ,CACJ,OAAO,EACX,CACJ,CACJ,EAnSIC,EAAA,CADCC,SAAAA,CAAU,MAAK,CAEXC,CAAAA,CAAA,EAAAC,QAAAA,CAAS1E,OAAO,CAAA,CAAA,CAChByE,CAAAA,CAAA,EAAAC,QAAAA,CAASnE,CAA0B,IAL/B4C,CAAAA,CAGT,SAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAkBMoB,EAAA,CAJLI,SAAAA,CAAU,MAAA,CAAO,CACd,KAAMvF,CAAAA,CAAuB,eAAA,CAC7B,MAAO,CAACO,CAAc,CAC1B,CAAC,CAAA,CAEI8E,CAAAA,CAAA,CAAA,CAAAC,SAASE,GAAU,CAAA,CAAA,CACnBH,CAAAA,CAAA,CAAA,CAAAC,SAASrF,CAAuB,CAAA,CAAA,CAChCoF,CAAAA,CAAA,CAAA,CAAAC,SAAS1F,CAAc,CAAA,CAAA,CACvByF,EAAA,CAAA,CAAAC,QAAAA,CAAS1D,CAAmB,CAAA,CAAA,CAC5ByD,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAASnE,CAA0B,CAAA,CAAA,CAAA,CA1B/B4C,CAAAA,CAqBH,uCA0BAoB,CAAAA,CAAA,CAJLI,UAAU,MAAA,CAAO,CACd,IAAA,CAAMvF,CAAAA,CAAuB,gBAC7B,KAAA,CAAO,CAACO,CAAc,CAC1B,CAAC,EAEI8E,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAASE,GAAU,GACnBH,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAASrF,CAAuB,GAChCoF,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAAS1F,CAAc,GACvByF,CAAAA,CAAA,CAAA,CAAAC,SAAS1D,CAAmB,CAAA,CAAA,CAC5ByD,EAAA,CAAA,CAAAC,QAAAA,CAASnE,CAA0B,CAAA,CAAA,CAAA,CApD/B4C,EA+CH,SAAA,CAAA,2BAAA,CAAA,CAAA,CAAA,CAgBAoB,CAAAA,CAAA,CAJLI,SAAAA,CAAU,MAAA,CAAO,CACd,IAAA,CAAMvF,CAAAA,CAAuB,kBAAA,CAC7B,KAAA,CAAO,CAACO,CAAc,CAC1B,CAAC,CAAA,CAEI8E,CAAAA,CAAA,EAAAC,QAAAA,CAASE,GAAU,CAAA,CAAA,CACnBH,CAAAA,CAAA,EAAAC,QAAAA,CAASrF,CAAuB,GAChCoF,CAAAA,CAAA,CAAA,CAAAC,SAAS1F,CAAc,CAAA,CAAA,CACvByF,CAAAA,CAAA,CAAA,CAAAC,SAAS1D,CAAmB,CAAA,CAAA,CAC5ByD,EAAA,CAAA,CAAAC,QAAAA,CAASnE,CAA0B,CAAA,CAAA,CAAA,CApE/B4C,CAAAA,CA+DH,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,CA4BAoB,CAAAA,CAAA,CAJLI,SAAAA,CAAU,MAAA,CAAO,CACd,IAAA,CAAMvF,CAAAA,CAAuB,eAC7B,KAAA,CAAO,CAACO,CAAc,CAC1B,CAAC,CAAA,CAEI8E,CAAAA,CAAA,EAAAC,QAAAA,CAASE,GAAU,GACnBH,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAASrF,CAAuB,GAChCoF,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAAS1F,CAAc,GACvByF,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAAS1D,CAAmB,GAC5ByD,CAAAA,CAAA,CAAA,CAAAC,SAASnE,CAA0B,CAAA,CAAA,CAAA,CAhG/B4C,EA2FH,SAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,CAyBAoB,CAAAA,CAAA,CAJLI,SAAAA,CAAU,OAAO,CACd,IAAA,CAAMvF,EAAuB,cAAA,CAC7B,KAAA,CAAO,CAACO,CAAc,CAC1B,CAAC,CAAA,CAEI8E,EAAA,CAAA,CAAAC,QAAAA,CAASE,GAAU,CAAA,CAAA,CACnBH,CAAAA,CAAA,EAAAC,QAAAA,CAASrF,CAAuB,CAAA,CAAA,CAChCoF,CAAAA,CAAA,EAAAC,QAAAA,CAAS1F,CAAc,GACvByF,CAAAA,CAAA,CAAA,CAAAC,SAAS1D,CAAmB,CAAA,CAAA,CAC5ByD,CAAAA,CAAA,CAAA,CAAAC,SAASnE,CAA0B,CAAA,CAAA,CAAA,CAzH/B4C,EAoHH,SAAA,CAAA,0BAAA,CAAA,CAAA,CAAA,CAmBAoB,CAAAA,CAAA,CAJLI,SAAAA,CAAU,MAAA,CAAO,CACd,IAAA,CAAMvF,EAAuB,iBAAA,CAC7B,KAAA,CAAO,CAACO,CAAc,CAC1B,CAAC,CAAA,CAEI8E,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAASE,GAAU,CAAA,CAAA,CACnBH,CAAAA,CAAA,EAAAC,QAAAA,CAASrF,CAAuB,GAChCoF,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAAS1F,CAAc,GACvByF,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAAS1D,CAAmB,GAC5ByD,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAASnE,CAA0B,IA5I/B4C,CAAAA,CAuIH,SAAA,CAAA,6BAAA,CAAA,CAAA,CAAA,CAoDAoB,EAAA,CAJLI,SAAAA,CAAU,OAAO,CACd,IAAA,CAAME,GAAAA,CAA0B,IAAA,CAChC,MAAO,CAACC,GAAiB,CAC7B,CAAC,CAAA,CAEIL,EAAA,CAAA,CAAAC,QAAAA,CAASK,QAAQ,CAAA,CAAA,CACjBN,EAAA,CAAA,CAAAC,QAAAA,CAAS1F,CAAc,CAAA,CAAA,CACvByF,CAAAA,CAAA,EAAAC,QAAAA,CAAS1D,CAAmB,CAAA,CAAA,CAC5ByD,CAAAA,CAAA,EAAAC,QAAAA,CAASnE,CAA0B,IA/L/B4C,CAAAA,CA2LH,SAAA,CAAA,yBAAA,CAAA,CAAA,CAAA,CA2CAoB,EAAA,CAJLI,SAAAA,CAAU,MAAA,CAAO,CACd,KAAMK,GAAAA,CAAyB,IAAA,CAC/B,MAAO,CAACC,CAAgB,CAC5B,CAAC,CAAA,CAEIR,CAAAA,CAAA,CAAA,CAAAC,SAASK,QAAQ,CAAA,CAAA,CACjBN,EAAA,CAAA,CAAAC,QAAAA,CAAS1F,CAAc,CAAA,CAAA,CACvByF,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAAS1D,CAAmB,CAAA,CAAA,CAC5ByD,CAAAA,CAAA,EAAAC,QAAAA,CAASnE,CAA0B,IA1O/B4C,CAAAA,CAsOH,SAAA,CAAA,wBAAA,CAAA,CAAA,CAAA","file":"chunk-77HU5SRQ.mjs","sourcesContent":["import { A_Fragment } from \"@adaas/a-concept\"\nimport { A_FrameChannelRequest } from \"../A-FrameChannel/A-FrameChannelRequest.context\";\nimport { A_Frame_CredentialResponse } from \"../A-FrameChannel/A-FrameChannel.types\";\nimport { A_FrameCredentials } from \"../A-FrameCredentials/A-FrameCredentials.entity\";\n\n\nexport class A_FrameContext extends A_Fragment {\n\n private _credentials?: A_FrameCredentials;\n\n\n constructor() {\n super({ name: 'a-frame-context' });\n }\n\n\n get encryptionKey(): string | undefined {\n return this._credentials?.encryptionKey;\n }\n\n\n get serverVersion(): string | undefined {\n return this._credentials?.serverVersion;\n }\n\n\n isAuthenticated(): boolean {\n return !!this._credentials?.isAuthenticated;\n }\n\n\n setCredentials(credentialsRequest: A_FrameChannelRequest<A_Frame_CredentialResponse>) {\n if (credentialsRequest.error || !credentialsRequest.response) {\n this._credentials = undefined;\n return;\n }\n\n this._credentials = new A_FrameCredentials(credentialsRequest.response);\n }\n\n}","\n\nexport const A_FrameStorageFeatures = {\n SaveDefinitions: '_A_FRAME_STORAGE_SAVE',\n LoadDefinitions: '_A_FRAME_STORAGE_LOAD',\n DestroyDefinitions: '_A_FRAME_STORAGE_DESTROY',\n \n SaveNamespaces: '_A_FRAME_STORAGE_SAVE_NAMESPACES',\n LoadNamespaces: '_A_FRAME_STORAGE_LOAD_NAMESPACES',\n DestroyNamespaces: '_A_FRAME_STORAGE_DESTROY_NAMESPACES',\n} as const","import { A_Error, A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameStorageOperation<\n _ParamsType = any,\n _ResultType = any\n> extends A_Fragment {\n\n protected _result?: _ResultType;\n\n protected _error?: A_Error;\n\n protected _params!: _ParamsType;\n\n\n constructor(\n params: _ParamsType\n ) {\n super({ name: 'a-frame-storage-operation' });\n this._params = params;\n }\n\n\n /**\n * If the operation succeeded, this will contain the result data. If the operation failed, this will be undefined.\n */\n get result(): _ResultType | undefined {\n return this._result;\n }\n /**\n * If the operation failed, this will contain an error object with details about the failure. If the operation succeeded, this will be undefined.\n */\n get error(): A_Error | undefined {\n return this._error;\n }\n /**\n * Parameters used to execute the operation, e.g. definitionId and namespaceId for a saveDefinition operation.\n */\n get params(): _ParamsType {\n return this._params;\n }\n /**\n * Marks the operation as completed successfully with the given result. This will set the `result` property and leave `error` as undefined.\n * \n * @param result \n */\n complete(result: _ResultType): void {\n this._result = result;\n }\n /**\n * Marks the operation as failed with the given error. This will set the `error` property and leave `result` as undefined.\n * \n * @param error \n */\n fail(error: A_Error): void {\n this._error = error;\n }\n\n}\n","import { A_Error } from \"@adaas/a-concept\";\n\n\n\nexport class A_FrameStorageError extends A_Error {\n static readonly SaveDefinitionFailed = 'SaveDefinitionFailed';\n static readonly LoadDefinitionsFailed = 'LoadDefinitionsFailed';\n static readonly DestroyDefinitionsFailed = 'DestroyDefinitionsFailed';\n static readonly SaveNamespaceFailed = 'SaveNamespaceFailed';\n static readonly LoadNamespacesFailed = 'LoadNamespacesFailed';\n static readonly DestroyNamespacesFailed = 'DestroyNamespacesFailed';\n\n}","import { A_Component, A_Context, A_Scope } from '@adaas/a-concept';\nimport { A_FrameNamespace_Serialized } from '../A-FrameNamespace/A-FrameNamespace.types';\nimport { A_FrameStorageFeatures } from './A-FrameStorage.constants';\nimport { A_FrameStorageOperation } from './A-FrameStorageOperation.context';\nimport { A_FrameStorageError } from './A-FrameStorage.error';\nimport { A_FrameStorageDestroyDefinitionsOperation, A_FrameStorageDestroyDefinitionsOperationParams, A_FrameStorageDestroyDefinitionsOperationResult, A_FrameStorageDestroyNamespacesOperation, A_FrameStorageDestroyNamespacesOperationParams, A_FrameStorageDestroyNamespacesOperationResult, A_FrameStorageLoadDefinitionsOperation, A_FrameStorageLoadDefinitionsOperationParams, A_FrameStorageLoadDefinitionsOperationResult, A_FrameStorageLoadNamespacesOperation, A_FrameStorageLoadNamespacesOperationParams, A_FrameStorageLoadNamespacesOperationResult, A_FrameStorageSaveDefinitionOperation, A_FrameStorageSaveDefinitionOperationParams, A_FrameStorageSaveDefinitionOperationResult, A_FrameStorageSaveNamespaceOperation, A_FrameStorageSaveNamespaceOperationParams, A_FrameStorageSaveNamespaceOperationResult } from './A-FrameStorage.types';\nimport { A_FrameDefinition_Serialized } from '../A-FrameDefinition/A-FrameDefinition.types';\n\n\nexport class A_FrameStorage extends A_Component {\n\n async saveDefinitions(definitions: Array<A_FrameDefinition_Serialized>): Promise<A_FrameStorageSaveDefinitionOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageSaveDefinitionOperationParams, A_FrameStorageSaveDefinitionOperationResult>({\n records: definitions\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.saveDefinitions',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.SaveDefinitions, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.SaveDefinitionFailed,\n description: `Failed to save definition records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n async loadDefinitions(namespaceId: string, definitionId: string): Promise<A_FrameStorageLoadDefinitionsOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageLoadDefinitionsOperationParams, A_FrameStorageLoadDefinitionsOperationResult>({\n namespaceId,\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.loadDefinitions',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.LoadDefinitions, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.LoadDefinitionsFailed,\n description: `Failed to load definition records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n\n async destroyDefinitions(namespaceId: string, definitionId: string): Promise<A_FrameStorageDestroyDefinitionsOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageDestroyDefinitionsOperationParams, A_FrameStorageDestroyDefinitionsOperationResult>({\n namespaceId,\n definitionId\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.destroyDefinitions',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.DestroyDefinitions, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.DestroyDefinitionsFailed,\n description: `Failed to destroy definition records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n\n\n async saveNamespaces(namespaces: A_FrameNamespace_Serialized[]): Promise<A_FrameStorageSaveNamespaceOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageSaveNamespaceOperationParams, A_FrameStorageSaveNamespaceOperationResult>({\n records: namespaces\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.saveNamespaces',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.SaveNamespaces, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.SaveNamespaceFailed,\n description: `Failed to save namespace records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n async loadNamespaces(\n namespaceIds: string[]\n ): Promise<A_FrameStorageLoadNamespacesOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageLoadNamespacesOperationParams, A_FrameStorageLoadNamespacesOperationResult>({\n namespaces: namespaceIds\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.loadNamespaces',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.LoadNamespaces, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.LoadNamespacesFailed,\n description: `Failed to load namespace records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n async destroyNamespaces(namespacesIds: string[]): Promise<A_FrameStorageDestroyNamespacesOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageDestroyNamespacesOperationParams, A_FrameStorageDestroyNamespacesOperationResult>({\n namespaces: namespacesIds\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.destroyNamespaces',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.DestroyNamespaces, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.DestroyNamespacesFailed,\n description: `Failed to destroy namespace records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n}\n","// ─── In-memory blob store (singleton Fragment) ────────────────────────────────\n//\n// A_Component is stateless — persistent session state lives in a Fragment\n// singleton that survives across per-call execution scopes.\n\nimport { A_Fragment } from \"@adaas/a-concept\";\nimport type { A_FrameBundle } from \"@adaas/a-frame/bundle\";\nimport type { A_FrameDefinition_Serialized } from \"../../A-FrameDefinition/A-FrameDefinition.types\";\nimport type { A_FrameNamespace_Serialized } from \"../../A-FrameNamespace/A-FrameNamespace.types\";\n\n\nexport class A_FrameBrowserStorageBlobs extends A_Fragment {\n\n private static _instance: A_FrameBrowserStorageBlobs | undefined;\n\n static get instance(): A_FrameBrowserStorageBlobs {\n if (!A_FrameBrowserStorageBlobs._instance) {\n A_FrameBrowserStorageBlobs._instance = new A_FrameBrowserStorageBlobs();\n }\n return A_FrameBrowserStorageBlobs._instance;\n }\n\n /**\n * Build a singleton blobs store seeded from a prebuilt bundle.\n * Convenience for browser bootstrap.\n */\n static fromBundle(bundle: A_FrameBundle): A_FrameBrowserStorageBlobs {\n const blobs = A_FrameBrowserStorageBlobs.instance;\n blobs.seedFromBundle(bundle);\n return blobs;\n }\n\n constructor() {\n if (A_FrameBrowserStorageBlobs._instance)\n return A_FrameBrowserStorageBlobs._instance;\n\n super({ name: 'a-frame-browser-storage-blobs' });\n }\n\n // ─── Encrypted blob store (live session writes) ───────────────────────────\n\n /** namespace → encrypted definition bytes (written during live browser session) */\n readonly store = new Map<string, Uint8Array>();\n\n /** encrypted bytes for the namespace index (`__namespaces.aframe` equivalent) */\n namespaceBlob: Uint8Array | null = null;\n\n // ─── Plain record store (populated from pre-built bundle) ─────────────────\n\n /**\n * namespace → decoded definition records loaded from a pre-built bundle.\n * No encryption key needed — records are stored as plain JSON-friendly objects.\n * Takes precedence over the encrypted `store` during load.\n */\n readonly plainStore = new Map<string, A_FrameDefinition_Serialized[]>();\n\n /** Decoded namespace records from the bundle. */\n plainNamespaceRecords: A_FrameNamespace_Serialized[] | null = null;\n\n /** Bundle metadata recorded at seed time, used by A_Frame to validate versions. */\n bundleMeta: { aFrameVersion: string; serverVersion: string; builtAt: string } | null = null;\n\n /** Returns true when a pre-built bundle has been seeded into plainStore. */\n get hasBundleData(): boolean {\n return this.plainStore.size > 0 || (this.plainNamespaceRecords?.length ?? 0) > 0;\n }\n\n /**\n * Populate the plain record store from a bundle artifact.\n * Existing entries with the same namespace are overwritten; unrelated entries preserved.\n * No encryption key is required — the bundle stores decoded plain records.\n */\n seedFromBundle(bundle: A_FrameBundle): void {\n for (const [ns, recs] of Object.entries(bundle.records ?? {})) {\n this.plainStore.set(ns, recs.map(r => ({\n ...r,\n // JSON stores embedding as number[] — convert to Float32Array for in-memory use\n embedding: r.embedding.length > 0 ? new Float32Array(r.embedding) : undefined,\n } as A_FrameDefinition_Serialized)));\n }\n\n if (bundle.namespaceRecords?.length) {\n this.plainNamespaceRecords = bundle.namespaceRecords.map(r => ({\n ...r,\n embedding: r.embedding.length > 0 ? new Float32Array(r.embedding) : undefined,\n } as A_FrameNamespace_Serialized));\n }\n\n this.bundleMeta = {\n aFrameVersion: bundle.aFrameVersion,\n serverVersion: bundle.serverVersion,\n builtAt: bundle.builtAt,\n };\n }\n}\n","/**\n * A-FrameStorage binary codec — shared between node and browser environments.\n *\n * Binary payload format (decrypted) — used for BOTH definition records and namespace records:\n * [HEADER 20B]\n * magic 4B = 0x454D424B (\"EMBK\")\n * version 1B = 0x01\n * count 4B (uint32 LE)\n * dims 2B (uint16 LE)\n * reserved 9B\n * [RECORD × count]\n * aseidLen 2B (uint16 LE)\n * aseid NB utf-8 (primary entity ID, e.g. \"app@root:123@v2\")\n * nameLen 2B (uint16 LE)\n * name NB utf-8\n * vector dims×4B Float32 LE\n * metaLen 4B (uint32 LE)\n * meta NB JSON\n */\n\nimport { A_Fragment } from '@adaas/a-concept';\n\nimport type { A_FrameNamespace_Serialized } from '../A-FrameNamespace/A-FrameNamespace.types';\nimport { A_FrameDefinition_Serialized } from '../A-FrameDefinition/A-FrameDefinition.types';\nimport { A_FrameTargetType } from '../A-Frame/A-Frame.types';\n\nconst enc = new TextEncoder();\nconst dec = new TextDecoder();\n\n\nexport class A_FrameStorageCodec extends A_Fragment {\n\n protected enc = new TextEncoder();\n protected dec = new TextDecoder();\n\n // ─── Binary file format constants ────────────────────────────────────────────\n // FILE LAYOUT (all multi-byte values are little-endian):\n // [HEADER 20B]\n // magic 4B = 0x454D424B (\"EMBK\")\n // version 1B = 0x01\n // count 4B (uint32)\n // dims 2B (uint16)\n // reserved 9B\n // [RECORD × count]\n // aseidLen 2B (uint16) — variable-length primary entity ID\n // aseid NB utf-8\n // nameLen 2B (uint16)\n // name NB utf-8\n // vector dims×4B Float32 LE\n // metaLen 4B (uint32)\n // meta NB JSON\n // Encrypted on disk: [IV 12B][AuthTag 16B][Ciphertext]\n A_FRAME_FILE_MAGIC = 0x454d424b;\n A_FRAME_FILE_VERSION = 0x01;\n A_FRAME_HEADER_SIZE = 20;\n\n\n\n static get fileExtension() {\n return '.aframe';\n }\n\n\n getFileName(namespace: string) {\n return `${namespace}${A_FrameStorageCodec.fileExtension}`;\n }\n\n getNamespaceFileName() {\n return `__namespaces${A_FrameStorageCodec.fileExtension}`;\n }\n\n\n encodePayload(records: A_FrameDefinition_Serialized[]): Uint8Array {\n const parts: Uint8Array[] = [];\n\n if (records.some(r => !r.embedding)) {\n throw new Error('All records must have embeddings to be encoded');\n }\n\n const header = new Uint8Array(this.A_FRAME_HEADER_SIZE);\n const headerView = new DataView(header.buffer);\n headerView.setUint32(0, this.A_FRAME_FILE_MAGIC, true);\n header[4] = this.A_FRAME_FILE_VERSION;\n headerView.setUint32(5, records.length, true);\n const dims = records[0]?.embedding!.length ?? 0;\n headerView.setUint16(9, dims, true);\n // bytes 11-19: reserved (zeroed)\n parts.push(header);\n\n for (const rec of records) {\n const aseidBytes = enc.encode(rec.aseid.toString());\n const nameBytes = enc.encode(rec.name);\n const metaJson = JSON.stringify({\n hash: rec.hash,\n source: rec.source,\n type: rec.type,\n description: rec.description,\n metadata: rec.metadata,\n namespace: rec.namespace,\n date: rec.date,\n model: rec.model,\n credentialId: rec.credentialId,\n aFrameVersion: rec.aFrameVersion,\n aFrameServerVersion: rec.aFrameServerVersion,\n });\n const metaBytes = enc.encode(metaJson);\n\n const recSize =\n 2 + aseidBytes.length +\n 2 + nameBytes.length +\n rec.embedding!.length * 4 +\n 4 + metaBytes.length;\n\n const recBuf = new Uint8Array(recSize);\n const view = new DataView(recBuf.buffer);\n let offset = 0;\n\n view.setUint16(offset, aseidBytes.length, true); offset += 2;\n recBuf.set(aseidBytes, offset); offset += aseidBytes.length;\n\n view.setUint16(offset, nameBytes.length, true); offset += 2;\n recBuf.set(nameBytes, offset); offset += nameBytes.length;\n\n for (let i = 0; i < rec.embedding!.length; i++) {\n view.setFloat32(offset, rec.embedding![i], true);\n offset += 4;\n }\n\n view.setUint32(offset, metaBytes.length, true); offset += 4;\n recBuf.set(metaBytes, offset);\n\n parts.push(recBuf);\n }\n\n const total = parts.reduce((s, p) => s + p.length, 0);\n const out = new Uint8Array(total);\n let pos = 0;\n for (const p of parts) { out.set(p, pos); pos += p.length; }\n return out;\n }\n\n decodePayload(data: Uint8Array): A_FrameDefinition_Serialized[] {\n if (data.length < this.A_FRAME_HEADER_SIZE) throw new Error('Corrupt index: too short for header');\n\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\n const magic = view.getUint32(0, true);\n if (magic !== this.A_FRAME_FILE_MAGIC) throw new Error(`Corrupt index: bad magic 0x${magic.toString(16)}`);\n\n const version = data[4];\n if (version !== this.A_FRAME_FILE_VERSION) throw new Error(`Unsupported index version: ${version}`);\n\n const count = view.getUint32(5, true);\n const dims = view.getUint16(9, true);\n\n const records: A_FrameDefinition_Serialized[] = [];\n let offset = this.A_FRAME_HEADER_SIZE;\n\n for (let i = 0; i < count; i++) {\n const aseidLen = view.getUint16(offset, true); offset += 2;\n const aseid = dec.decode(data.slice(offset, offset + aseidLen)); offset += aseidLen;\n\n const nameLen = view.getUint16(offset, true); offset += 2;\n const name = dec.decode(data.slice(offset, offset + nameLen)); offset += nameLen;\n\n const embedding = new Float32Array(dims);\n for (let d = 0; d < dims; d++) {\n embedding[d] = view.getFloat32(offset, true);\n offset += 4;\n }\n\n const metaLen = view.getUint32(offset, true); offset += 4;\n const metaJson = dec.decode(data.slice(offset, offset + metaLen)); offset += metaLen;\n const meta = JSON.parse(metaJson) as {\n hash?: string;\n source: string;\n description?: string;\n type: A_FrameTargetType;\n metadata?: Record<string, unknown>;\n namespace: string;\n date: string;\n model: string;\n credentialId: string;\n aFrameVersion: string;\n aFrameServerVersion: string;\n };\n\n records.push({\n aseid,\n hash: meta.hash ?? aseid,\n name,\n type: meta.type,\n embedding,\n source: meta.source,\n description: meta.description,\n metadata: meta.metadata,\n namespace: meta.namespace,\n date: meta.date,\n model: meta.model,\n credentialId: meta.credentialId,\n aFrameVersion: meta.aFrameVersion,\n aFrameServerVersion: meta.aFrameServerVersion,\n });\n }\n\n return records;\n }\n\n\n encodeNamespacePayload(records: A_FrameNamespace_Serialized[]): Uint8Array {\n const parts: Uint8Array[] = [];\n\n if (records.some(r => !r.embedding)) {\n throw new Error('All records must have embeddings to be encoded');\n }\n\n const header = new Uint8Array(this.A_FRAME_HEADER_SIZE);\n const headerView = new DataView(header.buffer);\n headerView.setUint32(0, this.A_FRAME_FILE_MAGIC, true);\n header[4] = this.A_FRAME_FILE_VERSION;\n headerView.setUint32(5, records.length, true);\n const dims = records[0]?.embedding!.length ?? 0;\n headerView.setUint16(9, dims, true);\n parts.push(header);\n\n for (const rec of records) {\n const aseidBytes = enc.encode(rec.aseid.toString());\n const nameBytes = enc.encode(rec.name);\n const metaJson = JSON.stringify({\n hash: rec.hash,\n description: rec.description,\n metadata: rec.metadata,\n embeddedAt: rec.embeddedAt,\n embeddingModel: rec.embeddingModel,\n credentialId: rec.credentialId,\n aFrameVersion: rec.aFrameVersion,\n aFrameServerVersion: rec.aFrameServerVersion,\n });\n const metaBytes = enc.encode(metaJson);\n\n const recSize =\n 2 + aseidBytes.length +\n 2 + nameBytes.length +\n rec.embedding!.length * 4 +\n 4 + metaBytes.length;\n\n const recBuf = new Uint8Array(recSize);\n const view = new DataView(recBuf.buffer);\n let offset = 0;\n\n view.setUint16(offset, aseidBytes.length, true); offset += 2;\n recBuf.set(aseidBytes, offset); offset += aseidBytes.length;\n\n view.setUint16(offset, nameBytes.length, true); offset += 2;\n recBuf.set(nameBytes, offset); offset += nameBytes.length;\n\n for (let i = 0; i < rec.embedding!.length; i++) {\n view.setFloat32(offset, rec.embedding![i], true);\n offset += 4;\n }\n\n view.setUint32(offset, metaBytes.length, true); offset += 4;\n recBuf.set(metaBytes, offset);\n\n parts.push(recBuf);\n }\n\n const total = parts.reduce((s, p) => s + p.length, 0);\n const out = new Uint8Array(total);\n let pos = 0;\n for (const p of parts) { out.set(p, pos); pos += p.length; }\n return out;\n }\n\n decodeNamespacePayload(data: Uint8Array): A_FrameNamespace_Serialized[] {\n if (data.length < this.A_FRAME_HEADER_SIZE) throw new Error('Corrupt namespace index: too short for header');\n\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\n const magic = view.getUint32(0, true);\n if (magic !== this.A_FRAME_FILE_MAGIC) throw new Error(`Corrupt namespace index: bad magic 0x${magic.toString(16)}`);\n\n const version = data[4];\n if (version !== this.A_FRAME_FILE_VERSION) throw new Error(`Unsupported namespace index version: ${version}`);\n\n const count = view.getUint32(5, true);\n const dims = view.getUint16(9, true);\n\n const records: A_FrameNamespace_Serialized[] = [];\n let offset = this.A_FRAME_HEADER_SIZE;\n\n for (let i = 0; i < count; i++) {\n const aseidLen = view.getUint16(offset, true); offset += 2;\n const aseid = dec.decode(data.slice(offset, offset + aseidLen)); offset += aseidLen;\n\n const nameLen = view.getUint16(offset, true); offset += 2;\n const name = dec.decode(data.slice(offset, offset + nameLen)); offset += nameLen;\n\n const embedding = new Float32Array(dims);\n for (let d = 0; d < dims; d++) {\n embedding[d] = view.getFloat32(offset, true);\n offset += 4;\n }\n\n const metaLen = view.getUint32(offset, true); offset += 4;\n const metaJson = dec.decode(data.slice(offset, offset + metaLen)); offset += metaLen;\n const meta = JSON.parse(metaJson) as {\n hash?: string;\n description?: string;\n metadata?: Record<string, unknown>;\n embeddedAt: number;\n embeddingModel?: string;\n credentialId?: string;\n aFrameVersion?: string;\n aFrameServerVersion?: string;\n };\n\n records.push({\n aseid,\n hash: meta.hash ?? aseid,\n name,\n embedding,\n description: meta.description,\n metadata: meta.metadata,\n embeddedAt: meta.embeddedAt,\n embeddingModel: meta.embeddingModel,\n credentialId: meta.credentialId,\n aFrameVersion: meta.aFrameVersion,\n aFrameServerVersion: meta.aFrameServerVersion,\n });\n }\n\n return records;\n }\n\n}\n\n\n","import { A_Caller, A_Concept, A_Feature, A_Inject, A_Scope } from \"@adaas/a-concept\";\nimport { A_FrameStorageFeatures } from \"../A-FrameStorage.constants\";\nimport { A_FrameStorage } from \"../A-FrameStorage.component\";\nimport { A_FrameEnv } from \"../../A-FrameEnv/A-FrameEnv.fragment.env-browser\";\nimport { A_FrameStorageOperation } from \"../A-FrameStorageOperation.context\";\nimport {\n A_FrameStorageDestroyDefinitionsOperation,\n A_FrameStorageDestroyNamespacesOperation,\n A_FrameStorageLoadDefinitionsOperation,\n A_FrameStorageLoadNamespacesOperation,\n A_FrameStorageSaveDefinitionOperation,\n A_FrameStorageSaveNamespaceOperation,\n} from \"../A-FrameStorage.types\";\nimport { A_FrameCrypto } from \"../../A-FrameCrypto/A-FrameCrypto.component.env-browser\";\nimport { A_FrameDefinition_Serialized } from \"../../A-FrameDefinition/A-FrameDefinition.types\";\nimport { A_FrameNamespace_Serialized } from \"../../A-FrameNamespace/A-FrameNamespace.types\";\nimport { A_FrameBrowserStorageBlobs } from \"./A-FrameBrowserStorageBlobs.context\";\nimport { A_FrameStorageCodec } from \"../A-FrameStorage.codec\";\nimport { A_FrameContext } from \"../../A-Frame/A-Frame.context\";\nimport { A_FrameStorageError } from \"../A-FrameStorage.error\";\nimport { A_FrameDefinition } from \"../../A-FrameDefinition\";\nimport { A_FrameDefinitionFeatures } from \"../../A-FrameDefinition/A-FrameDefinition.constants\";\nimport { A_FrameNamespace } from \"../../A-FrameNamespace\";\nimport { A_FrameNamespaceFeatures } from \"../../A-FrameNamespace/A-FrameNamespace.constants\";\n\n\n/**\n * A_FrameBrowserStorageProvider — Browser environment\n *\n * Stores encrypted definition and namespace records entirely in memory.\n * Pre-built .aframe index files should be injected at bundle startup via\n * A_FrameBrowserStorageProvider.loadBlob() so that read-only access works\n * without any network or filesystem calls.\n *\n * Example (Vite):\n * import mathBin from './embed-index/math.aframe?arraybuffer';\n * A_FrameBrowserStorageProvider.loadBlob('math', new Uint8Array(mathBin));\n */\nexport class A_FrameBrowserStorageProvider extends A_FrameStorage {\n\n @A_Concept.Load()\n onLoad(\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs?: A_FrameBrowserStorageBlobs,\n ) {\n if (!blobs) {\n scope.register(A_FrameBrowserStorageBlobs.instance);\n }\n }\n\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Storage Features Extensions----------------------------------\n //---------------------------------------------------------------------------------------\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.SaveDefinitions,\n scope: [A_FrameStorage],\n })\n async saveDefinitionsToMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageSaveDefinitionOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const records = operation.params.records;\n const namespace = records[0].namespace;\n\n const existing = await this._loadDefinitionsFromMemory(blobs.store, namespace, global.encryptionKey!, codec);\n\n const merged = new Map<string, A_FrameDefinition_Serialized>();\n for (const r of existing) merged.set(r.aseid, r);\n for (const d of records) merged.set(d.aseid.toString(), d);\n\n const payload = codec.encodePayload(Array.from(merged.values()));\n blobs.store.set(namespace, await A_FrameCrypto.encryptBytes(payload, global.encryptionKey!));\n\n operation.complete({ saved: records.length });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.LoadDefinitions,\n scope: [A_FrameStorage],\n })\n async loadDefinitionsFromMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageLoadDefinitionsOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const namespace = operation.params.namespaceId;\n const records = await this._loadDefinitionsFromMemory(blobs.store, namespace, global.encryptionKey!, codec);\n operation.complete({ records });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.DestroyDefinitions,\n scope: [A_FrameStorage],\n })\n async destroyDefinitionsFromMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageDestroyDefinitionsOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const namespace = operation.params.namespaceId;\n const definitionId = operation.params.definitionId;\n\n const existing = await this._loadDefinitionsFromMemory(blobs.store, namespace, global.encryptionKey!, codec);\n const filtered = existing.filter(r => r.aseid !== definitionId);\n\n const payload = codec.encodePayload(filtered);\n blobs.store.set(namespace, await A_FrameCrypto.encryptBytes(payload, global.encryptionKey!));\n\n operation.complete({ records: filtered });\n }\n\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Namespace Features Extensions--------------------------------\n //---------------------------------------------------------------------------------------\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.SaveNamespaces,\n scope: [A_FrameStorage],\n })\n async saveNamespacesToMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageSaveNamespaceOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const records = operation.params.records;\n\n const existing = await this._loadNamespacesFromMemory(blobs, global.encryptionKey!, codec);\n\n const merged = new Map<string, A_FrameNamespace_Serialized>();\n for (const r of existing) merged.set(r.aseid, r);\n for (const d of records) merged.set(d.aseid.toString(), d);\n\n const payload = codec.encodeNamespacePayload(Array.from(merged.values()));\n blobs.namespaceBlob = await A_FrameCrypto.encryptBytes(payload, global.encryptionKey!);\n\n operation.complete({ success: true });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.LoadNamespaces,\n scope: [A_FrameStorage],\n })\n async loadNamespacesFromMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageLoadNamespacesOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const ids = operation.params.namespaces;\n const records = await this._loadNamespacesFromMemory(blobs, global.encryptionKey!, codec);\n\n operation.complete({\n records: ids ? records.filter(r => ids.includes(r.name)) : records\n });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.DestroyNamespaces,\n scope: [A_FrameStorage],\n })\n async destroyNamespacesFromMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageDestroyNamespacesOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const ids = operation.params.namespaces;\n\n const existing = await this._loadNamespacesFromMemory(blobs, global.encryptionKey!, codec);\n const filtered = existing.filter(r => !ids.includes(r.aseid));\n\n const payload = codec.encodeNamespacePayload(filtered);\n blobs.namespaceBlob = await A_FrameCrypto.encryptBytes(payload, global.encryptionKey!);\n\n // Drop definition blobs for destroyed namespaces\n try {\n for (const id of ids) {\n blobs.store.delete(id);\n }\n operation.complete({ success: true });\n } catch (error) {\n operation.fail(new A_FrameStorageError({\n title: A_FrameStorageError.DestroyNamespacesFailed,\n description: `Failed to destroy namespace records.`,\n }));\n operation.complete({ success: false });\n }\n }\n\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Definition Entity-level Extensions---------------------------\n //---------------------------------------------------------------------------------------\n\n /**\n * Hydrate a single A_FrameDefinition from the in-memory bundle blobs.\n *\n * Mirrors the Node `loadDefinitionFromDisk` extension. Looks up the\n * namespace's encrypted blob in the singleton blob store, decrypts and\n * decodes it, then calls `definition.fromJSON(record)` only when the\n * stored hash and server version match the live entity.\n *\n * No-op when:\n * - no blob has been seeded for the namespace\n * - decryption fails (wrong key / corrupted blob)\n * - the record is absent or stale\n */\n @A_Feature.Extend({\n name: A_FrameDefinitionFeatures.Load,\n scope: [A_FrameDefinition],\n })\n async loadDefinitionFromBlobs(\n @A_Inject(A_Caller) definition: A_FrameDefinition,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n // ── 1. Check plain record store (pre-built bundle, no key needed) ───────\n const plainRecords = blobs.plainStore.get(definition.namespace.id);\n if (plainRecords?.length) {\n const record = plainRecords.find(r => r.aseid === definition.aseid.toString());\n if (record && record.hash === definition.hash) {\n definition.fromJSON(record);\n return;\n }\n }\n\n // ── 2. Fall back to encrypted blob store (live session) ──────────────────\n if (!context.encryptionKey) return;\n\n const records = await this._loadDefinitionsFromMemory(\n blobs.store, definition.namespace.id, context.encryptionKey, codec\n );\n if (records.length === 0) return;\n\n const record = records.find(r => r.aseid === definition.aseid.toString());\n if (\n record &&\n record.hash === definition.hash &&\n record.aFrameServerVersion === context.serverVersion\n ) {\n definition.fromJSON(record);\n }\n }\n\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Namespace Entity-level Extensions----------------------------\n //---------------------------------------------------------------------------------------\n\n @A_Feature.Extend({\n name: A_FrameNamespaceFeatures.Load,\n scope: [A_FrameNamespace],\n })\n async loadNamespaceFromBlobs(\n @A_Inject(A_Caller) namespace: A_FrameNamespace,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n // ── 1. Check plain record store (pre-built bundle, no key needed) ───────\n if (blobs.plainNamespaceRecords?.length) {\n const record = blobs.plainNamespaceRecords.find(r => r.aseid === namespace.aseid.toString());\n if (record && record.hash === namespace.hash) {\n namespace.fromJSON(record);\n return;\n }\n }\n\n // ── 2. Fall back to encrypted blob store (live session) ──────────────────\n if (!context.encryptionKey) return;\n\n const records = await this._loadNamespacesFromMemory(blobs, context.encryptionKey, codec);\n if (records.length === 0) return;\n\n const record = records.find(r => r.aseid === namespace.aseid.toString());\n if (\n record &&\n record.hash === namespace.hash &&\n record.aFrameServerVersion === context.serverVersion\n ) {\n namespace.fromJSON(record);\n }\n }\n\n\n // ─── Internal helpers ──────────────────────────────────────────────────────\n\n private async _loadDefinitionsFromMemory(\n store: Map<string, Uint8Array>,\n namespace: string,\n encryptionKey: string,\n codec: A_FrameStorageCodec,\n ): Promise<A_FrameDefinition_Serialized[]> {\n const blob = store.get(namespace);\n if (!blob) return [];\n try {\n const plain = await A_FrameCrypto.decryptBytes(blob, encryptionKey);\n return codec.decodePayload(plain);\n } catch {\n return [];\n }\n }\n\n private async _loadNamespacesFromMemory(\n blobs: A_FrameBrowserStorageBlobs,\n encryptionKey: string,\n codec: A_FrameStorageCodec,\n ): Promise<A_FrameNamespace_Serialized[]> {\n const blob = blobs.namespaceBlob;\n if (!blob) return [];\n try {\n const plain = await A_FrameCrypto.decryptBytes(blob, encryptionKey);\n return codec.decodeNamespacePayload(plain);\n } catch {\n return [];\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-LK6C7C3S.mjs';import {A_Error,A_Fragment,A_Entity,A_CommonHelper,A_Scope,A_Context}from'@adaas/a-concept';var p={Load:"_A_FRAME_DYNAMIC_STRUCTURE_LOAD",Update:"_A_FRAME_DYNAMIC_STRUCTURE_UPDATE",Generate:"_A_FRAME_DYNAMIC_STRUCTURE_GENERATE"},f={Updated:"_A_FRAME_DYNAMIC_STRUCTURE_UPDATED"};var s=class extends A_Error{};s.InvalidPatch="InvalidPatch",s.VersionMismatch="VersionMismatch",s.ComponentNotFound="ComponentNotFound",s.InvalidOperation="InvalidOperation",s.GenerationFailed="GenerationFailed";var a=class extends A_Fragment{constructor(e={}){super({name:"a-frame-dynamic-structure-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 l=class extends A_Entity{constructor(){super(...arguments);this._version=0;}static get concept(){return "a-frame"}fromNew(e){this.aseid=this.generateASEID(),this.createdAt=Date.now(),this._components=[],this._history=[],this._version=0,this.listeners=new Map,this.prompt=e.prompt,this.model=e.model,this.context=e.context??"generic",this.metaHint=e.metaHint??"",this.includeBases=(e.includeBases||[]).map(t=>typeof t=="string"?t:A_CommonHelper.getComponentName(t)),this.excludeBases=(e.excludeBases||[]).map(t=>typeof t=="string"?t:A_CommonHelper.getComponentName(t)),this.enabledComponents=(e.enabledComponents||[]).map(t=>typeof t=="string"?t:A_CommonHelper.getComponentName(t));}get components(){return this._components}get history(){return this._history}get version(){return this._version}get modelName(){return this.model}async generate(){let e=new a,t=new A_Scope({name:"a-frame-dynamic-structure-generate",fragments:[e]}).inherit(A_Context.scope(this));try{await this.call(p.Generate,t),t.destroy();}catch(n){throw t.destroy(),new s({title:s.GenerationFailed,description:`Failed to generate structure: ${n instanceof Error?n.message:String(n)}`})}}async patch(e){let t=new a({prompt:e}),n=new A_Scope({name:"a-frame-dynamic-structure-patch",fragments:[t]}).inherit(A_Context.scope(this));try{await this.call(p.Update,n),n.destroy();}catch(i){throw n.destroy(),new s({title:s.GenerationFailed,description:`Failed to patch structure: ${i instanceof Error?i.message:String(i)}`})}}hydrateFromResolved(e,t){this._components=e.map((n,i)=>({component:n.component,score:n.score,meta:{...n.meta||{},id:n.meta?.id??`c-${i}`}})),this._history.push(new a$1({version:this._version,timestamp:Date.now(),reason:`Generated for: "${this.prompt}"`,encoded:Buffer.from(JSON.stringify(this._components)).toString("base64"),delta:this._components.length}));}hydrateFromGeneration(e,t){this._components=e.map((n,i)=>({component:n.prompt,score:1,meta:{id:`c-${i}`,type:n.type,role:n.role,sourceText:n.sourceText}})),this._history.push(new a$1({version:this._version,timestamp:Date.now(),reason:`Generated for: "${this.prompt}"`,encoded:Buffer.from(JSON.stringify(this._components)).toString("base64"),delta:this._components.length}));}hydrateFromPatch(e,t){let n=this._components.length;this._components=this._components.filter(r=>!e.removals.includes(r.meta.id));for(let r of e.modifications){let o=this._components.find(m=>m.meta.id===r.componentId);o&&(o.component=r.newPrompt,o.meta.role=r.newRole);}let i=this._components.reduce((r,o)=>{let m=parseInt((o.meta.id??"c-0").replace("c-",""),10);return isNaN(m)?r:Math.max(r,m)},-1),g=e.additions.map((r,o)=>({component:r.prompt,score:1,meta:{id:`c-${i+1+o}`,type:r.type,role:r.role,sourceText:r.sourceText}}));this._components=[...this._components,...g],this._version++,this._history.push(new a$1({version:this._version,timestamp:Date.now(),reason:e.patchSummary,encoded:Buffer.from(JSON.stringify(this._components)).toString("base64"),delta:this._components.length-n}));}revertTo(e){return this}toJSON(){return {...super.toJSON(),name:this.prompt,description:`DynamicStructure with ${this._components.length} components and ${this._history.length} patches`,metadata:{model:this.model,context:this.context,metaHint:this.metaHint,includeBases:this.includeBases,excludeBases:this.excludeBases,enabledComponents:this.enabledComponents,createdAt:this.createdAt},history:this._history.map(e=>e.toJSON())}}subscribe(e,t){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t);}unsubscribe(e,t){this.listeners.get(e)?.delete(t);}emit(e,t){this.listeners.get(e)?.forEach(n=>n(t));}};export{p as a,f as b,s as c,a as d,l as e};//# sourceMappingURL=chunk-AET6XULU.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-AET6XULU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts","../../src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.error.ts","../../src/lib/A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context.ts","../../src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts"],"names":["A_FrameDynamicStructureFeatures","A_FrameDynamicStructureEvents","A_FrameDynamicStructureError","A_Error","A_FrameDynamicStructureOperation","A_Fragment","params","key","value","A_FrameDynamicStructure","A_Entity","options","b","A_CommonHelper","operation","executionScope","A_Scope","A_Context","err","prompt","components","meta","c","A_FrameDynamicPatch","guesses","g","patchResult","prevCount","mod","comp","maxId","max","n","additions","a","i","version","item","feature","listener","stage","context"],"mappings":"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","file":"chunk-AET6XULU.mjs","sourcesContent":["\n\n\nexport const A_FrameDynamicStructureFeatures = {\n Load: '_A_FRAME_DYNAMIC_STRUCTURE_LOAD',\n Update: '_A_FRAME_DYNAMIC_STRUCTURE_UPDATE',\n Generate: '_A_FRAME_DYNAMIC_STRUCTURE_GENERATE',\n} as const;\n\n\nexport const A_FrameDynamicStructureEvents = {\n Updated: '_A_FRAME_DYNAMIC_STRUCTURE_UPDATED',\n} as const;","import { A_Error } from \"@adaas/a-concept\";\n\n\nexport class A_FrameDynamicStructureError extends A_Error {\n\n static readonly InvalidPatch = 'InvalidPatch';\n static readonly VersionMismatch = 'VersionMismatch';\n static readonly ComponentNotFound = 'ComponentNotFound';\n static readonly InvalidOperation = 'InvalidOperation';\n\n static readonly GenerationFailed = 'GenerationFailed';\n \n}","import { A_Fragment } from \"@adaas/a-concept\"\n\n\nexport class A_FrameDynamicStructureOperation<\n _InputParams = any,\n> extends A_Fragment {\n\n protected _meta: Map<string, any> = new Map();\n\n constructor(\n params: _InputParams = {} as _InputParams\n ) {\n super({ name: 'a-frame-dynamic-structure-operation-context' });\n this._meta.set('params', params);\n\n }\n\n get params(): _InputParams {\n return this._meta.get('params');\n }\n\n\n get(key: string) {\n return this._meta.get(key);\n }\n\n\n set(key: string, value: any) {\n this._meta.set(key, value);\n }\n\n}\n","import { A_CommonHelper, A_Context, A_Entity, A_Scope, A_TYPES__A_DependencyInjectable } from \"@adaas/a-concept\";\nimport { A_FrameDynamicStructure_Init, A_FrameDynamicStructure_Serialized, A_FrameDynamicStructureEventNames, A_FrameDynamicStructureListener, A_FrameDynamicStructureResolvedComponent } from \"./A-FrameDynamicStructure.types\";\nimport { A_FrameDynamicStructureFeatures } from \"./A-FrameDynamicStructure.constants\";\nimport { A_FrameDynamicPatch } from \"../A-FrameDynamicPatch/A-FrameDynamicPatch.entity\";\nimport { A_FrameDynamicStructureError } from \"./A-FrameDynamicStructure.error\";\nimport { A_FrameDynamicStructureOperation } from \"./A-FrameDynamicStructureOperation.context\";\n\n\n/** Guess item as returned by POST /api/v1/structure/generate */\nexport interface A_FrameStructureGuessItem {\n sourceText: string;\n type: string;\n prompt: string;\n role: string;\n}\n\n/** Patch diff as returned by POST /api/v1/structure/patch */\nexport interface A_FrameStructurePatchResult {\n patchSummary: string;\n additions: A_FrameStructureGuessItem[];\n removals: string[];\n modifications: Array<{ componentId: string; newRole: string; newPrompt: string }>;\n}\n\n\n\nexport class A_FrameDynamicStructure extends A_Entity<A_FrameDynamicStructure_Init, A_FrameDynamicStructure_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 context!: string;\n private metaHint!: string;\n private includeBases!: string[];\n private excludeBases!: string[];\n private enabledComponents!: string[];\n // ── State ───────────────────────────────────────────────────────────────────\n private _components!: A_FrameDynamicStructureResolvedComponent[]\n private _history!: A_FrameDynamicPatch[]\n private _version = 0;\n\n private listeners!: Map<string, Set<A_FrameDynamicStructureListener>>;\n\n fromNew(options: A_FrameDynamicStructure_Init) {\n this.aseid = this.generateASEID();\n this.createdAt = Date.now();\n\n this._components = [];\n this._history = [];\n this._version = 0;\n\n this.listeners = new Map();\n\n this.prompt = options.prompt;\n this.model = options.model;\n this.context = options.context ?? 'generic';\n this.metaHint = options.metaHint ?? '';\n this.includeBases = (options.includeBases || []).map((b) => typeof b === 'string' ? b : A_CommonHelper.getComponentName(b));\n this.excludeBases = (options.excludeBases || []).map((b) => typeof b === 'string' ? b : A_CommonHelper.getComponentName(b));\n this.enabledComponents = (options.enabledComponents || []).map((b) => typeof b === 'string' ? b : A_CommonHelper.getComponentName(b));\n }\n\n // ── Public read-only accessors ───────────────────────────────────────────────\n\n /** The current resolved component list (output of the last generate or patch). */\n get components(): ReadonlyArray<A_FrameDynamicStructureResolvedComponent> {\n return this._components;\n }\n\n /** Immutable patch history. */\n get history(): ReadonlyArray<A_FrameDynamicPatch> {\n return this._history;\n }\n\n /** Current schema 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\n // ── Main pipeline ────────────────────────────────────────────────────────────\n\n /**\n * Run the full generation pipeline:\n * content generation → structure mapping → encode → patch\n *\n * @returns The resolved component list.\n */\n async generate(): Promise<void> {\n const operation = new A_FrameDynamicStructureOperation();\n\n const executionScope = new A_Scope({\n name: 'a-frame-dynamic-structure-generate',\n fragments: [operation],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameDynamicStructureFeatures.Generate, executionScope);\n executionScope.destroy();\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameDynamicStructureError({\n title: A_FrameDynamicStructureError.GenerationFailed,\n description: `Failed to generate structure: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n\n async patch(prompt: string): Promise<void> {\n const operation = new A_FrameDynamicStructureOperation({ prompt });\n\n const executionScope = new A_Scope({\n name: 'a-frame-dynamic-structure-patch',\n fragments: [operation],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameDynamicStructureFeatures.Update, executionScope);\n executionScope.destroy();\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameDynamicStructureError({\n title: A_FrameDynamicStructureError.GenerationFailed,\n description: `Failed to patch structure: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n /**\n * Populate the component list from pre-resolved components produced by an\n * SSE-driven generate pipeline (where a server and client cooperate to map\n * AI guesses to actual registered components).\n *\n * Creates the first history entry, identical to `hydrateFromGeneration`.\n */\n hydrateFromResolved(\n components: A_FrameDynamicStructureResolvedComponent[],\n meta: { model: string; serverVersion: string },\n ): void {\n this._components = components.map((c, i) => ({\n component: c.component,\n score: c.score,\n meta: { ...(c.meta || {}), id: (c.meta as any)?.id ?? `c-${i}` },\n }));\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._components)).toString('base64'),\n delta: this._components.length,\n }));\n }\n\n /**\n * Populate the component list from a freshly-received generate response.\n * Creates the first history entry.\n */\n hydrateFromGeneration(\n guesses: A_FrameStructureGuessItem[],\n meta: { model: string; serverVersion: string },\n ): void {\n this._components = guesses.map((g, i) => ({\n component: g.prompt,\n score: 1.0,\n meta: { id: `c-${i}`, type: g.type, role: g.role, sourceText: g.sourceText },\n }));\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._components)).toString('base64'),\n delta: this._components.length,\n }));\n }\n\n /**\n * Apply an AI-computed patch diff to the current component list.\n * Increments the version and records a new history entry.\n */\n hydrateFromPatch(\n patchResult: A_FrameStructurePatchResult,\n meta: { model: string; serverVersion: string },\n ): void {\n const prevCount = this._components.length;\n\n // Removals\n this._components = this._components.filter(\n c => !patchResult.removals.includes((c.meta as any).id)\n );\n\n // Modifications\n for (const mod of patchResult.modifications) {\n const comp = this._components.find(c => (c.meta as any).id === mod.componentId);\n if (comp) {\n comp.component = mod.newPrompt;\n (comp.meta as any).role = mod.newRole;\n }\n }\n\n // Additions — generate new IDs from current max index\n const maxId = this._components.reduce((max, c) => {\n const n = parseInt(((c.meta as any).id ?? 'c-0').replace('c-', ''), 10);\n return isNaN(n) ? max : Math.max(max, n);\n }, -1);\n\n const additions = patchResult.additions.map((a, i) => ({\n component: a.prompt,\n score: 1.0,\n meta: { id: `c-${maxId + 1 + i}`, type: a.type, role: a.role, sourceText: a.sourceText },\n }));\n\n this._components = [...this._components, ...additions];\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._components)).toString('base64'),\n delta: this._components.length - prevCount,\n }));\n }\n\n /**\n * Restore the component list to a specific version from history.\n * Creates a new patch entry so the revert itself is tracked.\n */\n revertTo(version: number): this {\n // this._currentVersion = version;\n\n return this;\n }\n\n // ── Serialisation ─────────────────────────────────────────────────────────────\n\n // /**\n // * Encode the complete DynamicStructure state to an opaque base64 string.\n // * Suitable for storage, transport, or embedding in another system.\n // */\n // serialize(): string {\n // const payload: SerializedDynamicStructure = {\n // id: this.id,\n // version: this._version,\n // prompt: this.prompt,\n // components: [...this._components],\n // history: this._history.map(({ version, timestamp, reason }) => ({\n // version,\n // timestamp,\n // reason,\n // })),\n // };\n // return encode(payload);\n // }\n\n // /**\n // * Decode a serialised string back to its raw payload.\n // * Note: this is a static factory that returns the data only —\n // * it does not reconstruct a live DynamicStructure instance.\n // *\n // * To reconstruct a live instance, create a new DynamicStructure and\n // * call .patch() with the decoded components.\n // */\n // static deserialize(encoded: string): SerializedDynamicStructure {\n // return decode<SerializedDynamicStructure>(encoded);\n // }\n\n toJSON(): A_FrameDynamicStructure_Serialized {\n return {\n ...super.toJSON(),\n name: this.prompt,\n description: `DynamicStructure with ${this._components.length} components and ${this._history.length} patches`,\n metadata: {\n model: this.model,\n context: this.context,\n metaHint: this.metaHint,\n includeBases: this.includeBases,\n excludeBases: this.excludeBases,\n enabledComponents: this.enabledComponents,\n createdAt: this.createdAt,\n },\n history: this._history.map(item => item.toJSON()),\n }\n }\n\n // ── Internals ──────────────────────────────────────────────────────────────\n subscribe(feature: A_FrameDynamicStructureEventNames, listener: A_FrameDynamicStructureListener): void {\n if (!this.listeners.has(feature)) {\n this.listeners.set(feature, new Set());\n }\n this.listeners.get(feature)!.add(listener);\n }\n\n unsubscribe(feature: A_FrameDynamicStructureEventNames, listener: A_FrameDynamicStructureListener): void {\n this.listeners.get(feature)?.delete(listener);\n }\n\n\n emit(stage: A_FrameDynamicStructureEventNames, context: any): void {\n this.listeners.get(stage)?.forEach(listener => listener(context));\n }\n\n}"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {a}from'./chunk-H6OZP4ZV.mjs';import {a as a$2}from'./chunk-46LRNZRG.mjs';import {a as a$1}from'./chunk-G7MKGKG5.mjs';import {A_Entity,A_Dependency,A_FormatterHelper}from'@adaas/a-concept';var r={Load:"_A_FRAME_DEFINITION_LOAD",Save:"_A_FRAME_DEFINITION_SAVE",Embed:"_A_FRAME_DEFINITION_EMBED",Destroy:"_A_FRAME_DEFINITION_DESTROY"};var s=class extends A_Entity{static get concept(){return "a-frame"}get id(){return this.aseid.id}get type(){return this._type}get name(){return this._name}get description(){return this._description}get dependency(){return new A_Dependency(this._dependency)}get source(){return this._source}get vector(){return this._vector}get namespace(){return this._namespace}get metadata(){return this._metadata||{}}get hash(){return this._hash}get date(){return this._date}get model(){return this._model}get requestedModel(){return this._requestedModel}get credentialId(){return this._credentialId}get aFrameVersion(){return this._aFrameVersion}get aFrameServerVersion(){return this._aFrameServerVersion}get aFrameMeta(){return this._aFrameMeta}get isEmbed(){return this._vector!==void 0}save(e){return this.call(r.Save,e)}destroy(e){return this.call(r.Destroy,e)}load(e){return this.call(r.Load,e)}update(e){e.source&&(this._source=e.source),e.description!==void 0&&(this._description=e.description),e.metadata!==void 0&&(this._metadata=e.metadata),e.namespace!==void 0&&(this._namespace=e.namespace);}embed(e){return this.call(r.Embed,e)}fromNew(e){this._type=e.type,this.aseid=this.generateASEID({id:A_FormatterHelper.toKebabCase(e.dependency+"-"+e.name),scope:"a-frame"}),this._name=e.name;let t=this._name+"//"+(e.description||"")+"//"+(e.metadata?JSON.stringify(e.metadata):"")+"//"+e.source+"//Namespace: "+e.namespace.id;this._hash=a.fnv1a(t),this._source=e.source,this._description=e.description,this._namespace=e.namespace,this._metadata=e.metadata,this._dependency=e.dependency,this._requestedModel=e.model??a$1.ANTARES;}fromJSON(e){this._name=e.name,this._hash=e.hash,this._source=e.source||"",this._description=e.description,this._metadata=e.metadata,this._vector=e.embedding?new a$2(e.embedding):void 0,this._date=e.date,this._model=e.model,this._credentialId=e.credentialId,this._aFrameVersion=e.aFrameVersion,this._aFrameServerVersion=e.aFrameServerVersion,this._aFrameMeta=e.aFrameMeta;}toJSON(){return {...super.toJSON(),hash:this._hash,name:this._name,source:this._source,description:this._description,metadata:this._metadata,namespace:this._namespace.aseid.toString(),embedding:this._vector?.values,date:this._date??new Date().toISOString(),model:this._model,credentialId:this._credentialId,aFrameVersion:this._aFrameVersion,aFrameServerVersion:this._aFrameServerVersion,aFrameMeta:this._aFrameMeta}}hydrateFromEmbedding(e,t){this._vector=new a$2(e),this._date=new Date().toISOString(),t&&(this._model=t.model,this._credentialId=t.credentialId??void 0,this._aFrameVersion=t.aFrameVersion,this._aFrameServerVersion=t.aFrameServerVersion,t.aFrameMeta&&(this._aFrameMeta=t.aFrameMeta));}toString(){let e=[];return e.push(`// ${this._name}`),this._description&&e.push(`// ${this._description}`),e.push(this._source),e.join(`
|
|
2
|
+
`)}};export{r as a,s as b};//# sourceMappingURL=chunk-BIBPE2GT.mjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-BIBPE2GT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-FrameDefinition/A-FrameDefinition.constants.ts","../../src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts"],"names":["A_FrameDefinitionFeatures","A_FrameDefinition","A_Entity","A_Dependency","scope","updates","newEntity","A_FormatterHelper","hashSource","A_FrameHashHelper","A_FRAME_MODELS","serialized","A_FrameVector","embedding","meta","parts"],"mappings":"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","file":"chunk-BIBPE2GT.mjs","sourcesContent":["\n\nexport const A_FrameDefinitionFeatures = {\n Load: '_A_FRAME_DEFINITION_LOAD',\n Save: '_A_FRAME_DEFINITION_SAVE',\n Embed: '_A_FRAME_DEFINITION_EMBED',\n Destroy: '_A_FRAME_DEFINITION_DESTROY',\n} as const;","import { A_Dependency, A_Entity, A_FormatterHelper, A_Scope } from \"@adaas/a-concept\";\nimport {\n A_FrameDefinition_EmbeddingMeta,\n A_FrameDefinition_Init,\n A_FrameDefinition_Serialized,\n DefinitionExtractedMeta,\n} from \"./A-FrameDefinition.types\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameNamespace } from \"../A-FrameNamespace\";\nimport { A_FrameHashHelper } from \"@adaas/a-frame/helpers/Hash.helper\";\nimport { A_FrameDefinitionFeatures } from \"./A-FrameDefinition.constants\";\nimport { A_FrameTargetType } from \"../A-Frame/A-Frame.types\";\nimport { A_FRAME_MODELS } from \"../A-FrameModels\";\n\nexport class A_FrameDefinition extends A_Entity<A_FrameDefinition_Init, A_FrameDefinition_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n protected _name!: string;\n protected _type!: A_FrameTargetType;\n protected _source!: string;\n protected _dependency!: string;\n protected _description?: string;\n protected _namespace!: A_FrameNamespace;\n protected _metadata?: Record<string, any>;\n protected _vector?: A_FrameVector;\n\n /**\n * Common properties for all definition types (component, entity, container, fragment, method\n */\n protected _hash!: string;\n protected _date?: string;\n protected _model!: string;\n protected _requestedModel!: string;\n protected _credentialId!: string;\n protected _aFrameVersion!: string;\n protected _aFrameServerVersion!: string;\n protected _aFrameMeta?: DefinitionExtractedMeta;\n\n //-----------------------------------------------------------------------------------------------------\n //---------------------------------------- Primary properties -----------------------------------------\n //-----------------------------------------------------------------------------------------------------\n /**\n * Definition Identifier from ASEID unique name \n */\n get id(): string {\n return this.aseid.id;\n }\n /**\n * The type of the definition target (component, entity, container, fragment, or method)\n */\n get type(): A_FrameTargetType {\n return this._type;\n }\n /**\n * The name of the defined feature (e.g. \"MyComponent\", \"myMethod\", etc.)\n */\n get name(): string {\n return this._name;\n }\n /**\n * Description that explains the purpose of the defined feature, its inputs/outputs, or any other relevant information.\n */\n get description(): string | undefined {\n return this._description;\n }\n\n get dependency(): A_Dependency {\n return new A_Dependency(this._dependency);\n }\n /**\n * The original source code string that implements the defined feature. This is the main content that gets embedded and indexed for search.\n */\n get source(): string {\n return this._source;\n }\n /**\n * The vector embedding representing the definition's source and metadata. This is populated after embedding and is used for similarity search in the index.\n */\n get vector(): A_FrameVector | undefined {\n return this._vector;\n }\n /**\n * Namespace to which this definition belongs. Used for scoping search and organizing definitions. If not specified, defaults to the global namespace.\n */\n get namespace(): A_FrameNamespace {\n return this._namespace;\n }\n /**\n * Additional metadata about the definition, stored as key-value pairs. This can include any relevant information that doesn't fit into the other properties but may be useful for search or organization.\n */\n get metadata(): Record<string, any> {\n return this._metadata || {};\n }\n //-----------------------------------------------------------------------------------------------------\n //----------------------------------- Common State properties -----------------------------------------\n //-----------------------------------------------------------------------------------------------------\n /**\n * A unique hash string computed from the definition's name, source, description, and metadata. This is used to identify identical definitions and avoid duplicates in the index.\n */\n get hash(): string {\n return this._hash;\n }\n /**\n * The timestamp (in milliseconds since epoch) when the definition was embedded. This is used for tracking the freshness of the embedding and can be useful for re-embedding stale definitions.\n */\n get date(): string | undefined {\n return this._date;\n }\n /**\n * The name of the embedding model used to produce the vector. This is important for understanding the characteristics of the embedding and for debugging purposes.\n */\n get model(): string {\n return this._model;\n }\n /**\n * The model requested for embedding at init time. Defaults to `A_FRAME_MODELS.ANTARES`\n * if not explicitly overridden. Sent to the server in the embed request.\n */\n get requestedModel(): string {\n return this._requestedModel;\n }\n /**\n * ID of the server credential (API key) used during embedding. This is useful for auditing and debugging embedding operations, especially when multiple credentials are in use.\n */\n get credentialId(): string | undefined {\n return this._credentialId;\n }\n /**\n * Version of @adaas/a-frame that produced this record. This helps track compatibility and understand which version of the library was used to create the definition.\n */\n get aFrameVersion(): string | undefined {\n return this._aFrameVersion;\n }\n /**\n * Version of a-frame-server that produced the vector. This is useful for debugging embedding issues and ensuring compatibility between the library and the embed server.\n */\n get aFrameServerVersion(): string | undefined {\n return this._aFrameServerVersion;\n }\n /**\n * Structural metadata extracted server-side when the definition was embedded.\n * Includes discovered methods, @A_Inject dependencies, and @A_Feature.Extend names.\n */\n get aFrameMeta(): DefinitionExtractedMeta | undefined {\n return this._aFrameMeta;\n }\n //-----------------------------------------------------------------------------------------------------\n //--------------------------------------- Computed properties -----------------------------------------\n //-----------------------------------------------------------------------------------------------------\n get isEmbed(): boolean {\n return this._vector !== undefined;\n }\n /**\n * Saves the definition to storage. The actual implementation of saving is handled by the A_FrameDefinitionFeatures.Save feature, which can be implemented by the environment (e.g. browser, Node.js) to persist the definition in a database, file system, or other storage mechanism.\n * \n * @param scope \n * @returns \n */\n save(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameDefinitionFeatures.Save, scope);\n }\n /**\n * Deletes the definition from storage. The actual implementation of deletion is handled by the A_FrameDefinitionFeatures.Destroy feature, which can be implemented by the environment to remove the definition from the database, file system, or other storage mechanism.\n * \n * @param scope \n * @returns \n */\n destroy(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameDefinitionFeatures.Destroy, scope);\n }\n /**\n * Loads the definition from storage. The actual implementation of loading is handled by the A_FrameDefinitionFeatures.Load feature, which can be implemented by the environment to retrieve the definition from the database, file system, or other storage mechanism and populate the entity's properties accordingly.\n * \n * @param scope \n * @returns \n */\n load(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameDefinitionFeatures.Load, scope);\n }\n /**\n * Updates the definition's properties. This can be used to modify the source code, description, metadata, or namespace of the definition. After updating, you may want to call `embed()` again to refresh the embedding based on the new content.\n * \n * @param updates \n */\n update(updates: Partial<Pick<A_FrameDefinition, 'source' | 'description' | 'metadata' | 'namespace'>>): void {\n if (updates.source) this._source = updates.source;\n if (updates.description !== undefined) this._description = updates.description;\n if (updates.metadata !== undefined) this._metadata = updates.metadata;\n if (updates.namespace !== undefined) this._namespace = updates.namespace;\n }\n /**\n * Generates the embedding for the definition's source and metadata. \n * \n * @param scope \n * @returns \n */\n embed(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameDefinitionFeatures.Embed, scope);\n }\n\n\n fromNew(newEntity: A_FrameDefinition_Init): void {\n this._type = newEntity.type;\n\n this.aseid = this.generateASEID({\n id: A_FormatterHelper.toKebabCase(newEntity.dependency + '-' + newEntity.name),\n scope: 'a-frame',\n });\n\n this._name = newEntity.name;\n\n const hashSource = this._name + '//'\n + (newEntity.description || '') + '//'\n + (newEntity.metadata ? JSON.stringify(newEntity.metadata) : '') + '//'\n + newEntity.source + '//'\n + 'Namespace: ' + newEntity.namespace.id;\n\n this._hash = A_FrameHashHelper.fnv1a(hashSource);\n\n this._source = newEntity.source;\n this._description = newEntity.description;\n this._namespace = newEntity.namespace;\n this._metadata = newEntity.metadata;\n this._dependency = newEntity.dependency;\n this._requestedModel = newEntity.model ?? A_FRAME_MODELS.ANTARES;\n }\n\n fromJSON(serialized: A_FrameDefinition_Serialized): void {\n this._name = serialized.name;\n this._hash = serialized.hash;\n this._source = serialized.source || '';\n this._description = serialized.description;\n this._metadata = serialized.metadata;\n this._vector = serialized.embedding ? new A_FrameVector(serialized.embedding) : undefined;\n this._date = serialized.date;\n this._model = serialized.model;\n this._credentialId = serialized.credentialId;\n this._aFrameVersion = serialized.aFrameVersion;\n this._aFrameServerVersion = serialized.aFrameServerVersion;\n this._aFrameMeta = serialized.aFrameMeta;\n }\n\n toJSON(): A_FrameDefinition_Serialized {\n return {\n ...super.toJSON(),\n hash: this._hash,\n name: this._name,\n source: this._source,\n description: this._description,\n metadata: this._metadata,\n namespace: this._namespace.aseid.toString(),\n embedding: this._vector?.values,\n date: this._date ?? new Date().toISOString(),\n model: this._model,\n credentialId: this._credentialId,\n aFrameVersion: this._aFrameVersion,\n aFrameServerVersion: this._aFrameServerVersion,\n aFrameMeta: this._aFrameMeta,\n };\n }\n\n\n // ─── Embedding hydration ──────────────────────────────────────────────────\n\n /** Populate the vector from a pre-existing storage record */\n // hydrateFromRecord(record: A_FrameDefinition_Record): void {\n // if (record.hash !== this._hash) {\n // throw new Error(\n // `A_FrameDefinition.hydrateFromRecord: hash mismatch for \"${this._name}\" ` +\n // `(expected ${this._hash}, got ${record.hash})`\n // );\n // }\n // this._vector = new A_FrameVector(record.embedding);\n // this._embeddedAt = record.embeddedAt;\n // this._model = record.model;\n // this._credentialId = record.credentialId;\n // this._aFrameVersion = record.aFrameVersion;\n // this._aFrameServerVersion = record.aFrameServerVersion;\n // }\n\n /** Populate the vector from a freshly-fetched embedding */\n hydrateFromEmbedding(embedding: Float32Array, meta?: A_FrameDefinition_EmbeddingMeta): void {\n this._vector = new A_FrameVector(embedding);\n this._date = new Date().toISOString();\n if (meta) {\n this._model = meta.model;\n this._credentialId = meta.credentialId ?? undefined;\n this._aFrameVersion = meta.aFrameVersion;\n this._aFrameServerVersion = meta.aFrameServerVersion;\n if (meta.aFrameMeta)\n this._aFrameMeta = meta.aFrameMeta;\n }\n }\n\n // ─── Embedding input ──────────────────────────────────────────────────────\n\n /**\n * Build the text string sent to the embedding model.\n * Concatenates name + description + source so the resulting\n * vector captures both intent and implementation.\n */\n toString(): string {\n const parts: string[] = [];\n parts.push(`// ${this._name}`);\n if (this._description) parts.push(`// ${this._description}`);\n parts.push(this._source);\n return parts.join('\\n');\n }\n}\n"]}
|