@adaas/a-frame 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.conf/tsconfig.browser.json +7 -1
- package/.conf/tsconfig.node.json +7 -1
- package/dist/browser/A-FrameBrowserStorageBlobs.context-CZTTvpn2.d.mts +53 -0
- package/dist/browser/A-FrameBrowserStorageBlobs.context-CaGTyatz.d.mts +40 -0
- package/dist/browser/A-FrameBrowserStorageBlobs.context-DjeEH8cn.d.mts +53 -0
- package/dist/browser/A-FrameBrowserStorageBlobs.context-vCsuTea9.d.mts +40 -0
- package/dist/browser/A-FrameBundle.types-LzfgdMiQ.d.mts +71 -0
- package/dist/browser/A-FrameChannel.component-4mTNctXL.d.mts +704 -0
- package/dist/browser/A-FrameChannel.types-BXEKJK9t.d.mts +205 -0
- package/dist/browser/A-FrameChannel.types-Ba3wgUZj.d.mts +199 -0
- package/dist/browser/A-FrameChannel.types-BfINhQZe.d.mts +145 -0
- package/dist/browser/A-FrameChannel.types-DfacgYL1.d.mts +199 -0
- package/dist/browser/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
- package/dist/browser/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
- package/dist/browser/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
- package/dist/browser/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
- package/dist/browser/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
- package/dist/browser/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
- package/dist/browser/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
- package/dist/browser/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
- package/dist/browser/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
- package/dist/browser/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
- package/dist/browser/A-FrameEnv.types-DnK-CYVk.d.mts +21 -0
- package/dist/browser/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
- package/dist/browser/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
- package/dist/browser/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
- package/dist/browser/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
- package/dist/browser/bundle.d.mts +6 -2
- package/dist/browser/bundle.mjs +1 -1
- package/dist/browser/bundle.mjs.map +1 -1
- package/dist/browser/channel.d.mts +51 -74
- package/dist/browser/channel.mjs +1 -2
- package/dist/browser/channel.mjs.map +1 -1
- package/dist/browser/chunk-2RNFZSBL.mjs +2 -0
- package/dist/browser/chunk-2RNFZSBL.mjs.map +1 -0
- package/dist/browser/chunk-46LRNZRG.mjs +2 -0
- package/dist/browser/chunk-46LRNZRG.mjs.map +1 -0
- package/dist/browser/chunk-52HFO3OY.mjs +2 -0
- package/dist/browser/chunk-52HFO3OY.mjs.map +1 -0
- package/dist/browser/chunk-643KGQKR.mjs +3 -0
- package/dist/browser/chunk-643KGQKR.mjs.map +1 -0
- package/dist/browser/chunk-66BBIZAM.mjs +3 -0
- package/dist/browser/chunk-66BBIZAM.mjs.map +1 -0
- package/dist/browser/chunk-6NPQURSO.mjs +2 -0
- package/dist/browser/chunk-6NPQURSO.mjs.map +1 -0
- package/dist/browser/chunk-6WAOMX7M.mjs +2 -0
- package/dist/browser/chunk-6WAOMX7M.mjs.map +1 -0
- package/dist/browser/chunk-77HU5SRQ.mjs +2 -0
- package/dist/browser/chunk-77HU5SRQ.mjs.map +1 -0
- package/dist/browser/chunk-AET6XULU.mjs +2 -0
- package/dist/browser/chunk-AET6XULU.mjs.map +1 -0
- package/dist/browser/chunk-BIBPE2GT.mjs +3 -0
- package/dist/browser/chunk-BIBPE2GT.mjs.map +1 -0
- package/dist/browser/chunk-CDJKU4DK.mjs +2 -0
- package/dist/browser/chunk-CDJKU4DK.mjs.map +1 -0
- package/dist/browser/chunk-CT67Y46H.mjs +3 -0
- package/dist/browser/chunk-CT67Y46H.mjs.map +1 -0
- package/dist/browser/chunk-EFC7OUNO.mjs +2 -0
- package/dist/browser/chunk-EFC7OUNO.mjs.map +1 -0
- package/dist/browser/chunk-EJIX7H7A.mjs +2 -0
- package/dist/browser/chunk-EJIX7H7A.mjs.map +1 -0
- package/dist/browser/chunk-FHJ5ATND.mjs +3 -0
- package/dist/browser/chunk-FHJ5ATND.mjs.map +1 -0
- package/dist/browser/chunk-FVH2EEVP.mjs +3 -0
- package/dist/browser/chunk-FVH2EEVP.mjs.map +1 -0
- package/dist/browser/chunk-G6ULYKSU.mjs +2 -0
- package/dist/browser/chunk-G6ULYKSU.mjs.map +1 -0
- package/dist/browser/chunk-G7MKGKG5.mjs +2 -0
- package/dist/browser/chunk-G7MKGKG5.mjs.map +1 -0
- package/dist/browser/chunk-GOMJPGVB.mjs +3 -0
- package/dist/browser/chunk-GOMJPGVB.mjs.map +1 -0
- package/dist/browser/chunk-INQV5UZA.mjs +2 -0
- package/dist/browser/chunk-INQV5UZA.mjs.map +1 -0
- package/dist/browser/chunk-INXPVBTZ.mjs +2 -0
- package/dist/browser/chunk-INXPVBTZ.mjs.map +1 -0
- package/dist/browser/chunk-KFMVTZ7T.mjs +2 -0
- package/dist/browser/chunk-KFMVTZ7T.mjs.map +1 -0
- package/dist/browser/chunk-LK6C7C3S.mjs +2 -0
- package/dist/browser/chunk-LK6C7C3S.mjs.map +1 -0
- package/dist/browser/chunk-LOGRQOWP.mjs +3 -0
- package/dist/browser/chunk-LOGRQOWP.mjs.map +1 -0
- package/dist/browser/chunk-LZACYSUC.mjs +3 -0
- package/dist/browser/chunk-LZACYSUC.mjs.map +1 -0
- package/dist/browser/chunk-NTOIVRX3.mjs +2 -0
- package/dist/browser/chunk-NTOIVRX3.mjs.map +1 -0
- package/dist/browser/chunk-OES2N3X7.mjs +3 -0
- package/dist/browser/chunk-OES2N3X7.mjs.map +1 -0
- package/dist/browser/chunk-OFKV5GNB.mjs +1 -1
- package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -1
- package/dist/browser/chunk-OVLM5A32.mjs +3 -0
- package/dist/browser/chunk-OVLM5A32.mjs.map +1 -0
- package/dist/browser/chunk-QATIN7CO.mjs +1 -1
- package/dist/browser/chunk-QATIN7CO.mjs.map +1 -1
- package/dist/browser/chunk-QOL7CAUZ.mjs +2 -0
- package/dist/browser/chunk-QOL7CAUZ.mjs.map +1 -0
- package/dist/browser/chunk-RCB3PX4V.mjs +2 -0
- package/dist/browser/chunk-RCB3PX4V.mjs.map +1 -0
- package/dist/browser/chunk-RWQSCROK.mjs +3 -0
- package/dist/browser/chunk-RWQSCROK.mjs.map +1 -0
- package/dist/browser/chunk-TIAUMK2X.mjs +2 -0
- package/dist/browser/chunk-TIAUMK2X.mjs.map +1 -0
- package/dist/browser/chunk-TQPC5MYM.mjs +3 -0
- package/dist/browser/chunk-TQPC5MYM.mjs.map +1 -0
- package/dist/browser/chunk-UNIKTCXL.mjs +3 -0
- package/dist/browser/chunk-UNIKTCXL.mjs.map +1 -0
- package/dist/browser/chunk-UULJJ5C5.mjs +3 -0
- package/dist/browser/chunk-UULJJ5C5.mjs.map +1 -0
- package/dist/browser/chunk-VSSANMPF.mjs +2 -0
- package/dist/browser/chunk-VSSANMPF.mjs.map +1 -0
- package/dist/browser/chunk-VW2BZYNY.mjs +2 -0
- package/dist/browser/chunk-VW2BZYNY.mjs.map +1 -0
- package/dist/browser/chunk-WAXBOWM6.mjs +3 -0
- package/dist/browser/chunk-WAXBOWM6.mjs.map +1 -0
- package/dist/browser/chunk-WXCQCHAX.mjs +2 -0
- package/dist/browser/chunk-WXCQCHAX.mjs.map +1 -0
- package/dist/browser/chunk-XKKBIIZG.mjs +3 -0
- package/dist/browser/chunk-XKKBIIZG.mjs.map +1 -0
- package/dist/browser/chunk-XR7FVA5M.mjs +3 -0
- package/dist/browser/chunk-XR7FVA5M.mjs.map +1 -0
- package/dist/browser/chunk-YQJFTBGV.mjs +1 -1
- package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -1
- package/dist/browser/chunk-YTAMZDWC.mjs +3 -0
- package/dist/browser/chunk-YTAMZDWC.mjs.map +1 -0
- package/dist/browser/chunk-ZEONOTRL.mjs +2 -0
- package/dist/browser/chunk-ZEONOTRL.mjs.map +1 -0
- package/dist/browser/completion.d.mts +10 -0
- package/dist/browser/completion.mjs +2 -0
- package/dist/browser/completion.mjs.map +1 -0
- package/dist/browser/core.d.mts +7 -6
- package/dist/browser/core.mjs +1 -1
- package/dist/browser/core.mjs.map +1 -1
- package/dist/browser/credentials.d.mts +74 -0
- package/dist/browser/credentials.mjs +2 -0
- package/dist/browser/credentials.mjs.map +1 -0
- package/dist/browser/definition.d.mts +3 -2
- package/dist/browser/definition.mjs +1 -1
- package/dist/browser/dynamic-content.d.mts +13 -0
- package/dist/browser/dynamic-content.mjs +2 -0
- package/dist/browser/dynamic-content.mjs.map +1 -0
- package/dist/browser/dynamic-feature.d.mts +66 -6
- package/dist/browser/dynamic-feature.mjs +3 -1
- package/dist/browser/dynamic-feature.mjs.map +1 -1
- package/dist/browser/dynamic-structure.d.mts +77 -3
- package/dist/browser/dynamic-structure.mjs +1 -1
- package/dist/browser/dynamic-structure.mjs.map +1 -1
- package/dist/browser/env.d.mts +16 -2
- package/dist/browser/env.mjs +1 -1
- package/dist/browser/frame-index.d.mts +70 -9
- package/dist/browser/frame-index.mjs +1 -1
- package/dist/browser/models.d.mts +64 -0
- package/dist/browser/models.mjs +2 -0
- package/dist/browser/models.mjs.map +1 -0
- package/dist/browser/namespace.d.mts +1 -1
- package/dist/browser/namespace.mjs +1 -1
- package/dist/browser/schema.d.mts +10 -0
- package/dist/browser/schema.mjs +2 -0
- package/dist/browser/schema.mjs.map +1 -0
- package/dist/browser/segment.d.mts +13 -0
- package/dist/browser/segment.mjs +2 -0
- package/dist/browser/segment.mjs.map +1 -0
- package/dist/browser/storage.d.mts +13 -7
- package/dist/browser/storage.mjs +1 -1
- package/dist/browser/vector.d.mts +7 -0
- package/dist/browser/vector.mjs +1 -1
- package/dist/cli.cjs +5593 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/node/A-FrameChannel.component--YErPxf4.d.mts +97 -0
- package/dist/node/A-FrameChannel.component-BjgqMh1B.d.ts +97 -0
- package/dist/node/A-FrameChannel.component-C0O3TaRD.d.ts +679 -0
- package/dist/node/A-FrameChannel.component-CgBZYBz0.d.mts +379 -0
- package/dist/node/A-FrameChannel.component-CkZserv3.d.ts +97 -0
- package/dist/node/A-FrameChannel.component-DMA-3sUB.d.mts +679 -0
- package/dist/node/A-FrameChannel.component-DYV8omYR.d.ts +379 -0
- package/dist/node/A-FrameChannel.component-DwgYNfFn.d.mts +97 -0
- package/dist/node/A-FrameChannel.types-B3_xWKEO.d.mts +151 -0
- package/dist/node/A-FrameChannel.types-BGcVXTqa.d.ts +205 -0
- package/dist/node/A-FrameChannel.types-Boi8QqDK.d.mts +205 -0
- package/dist/node/A-FrameChannel.types-BsE6bNky.d.mts +205 -0
- package/dist/node/A-FrameChannel.types-C-gxXl8m.d.ts +151 -0
- package/dist/node/A-FrameChannel.types-DD2B11rf.d.ts +205 -0
- package/dist/node/A-FrameChannel.types-DYMgRiCF.d.mts +205 -0
- package/dist/node/A-FrameChannel.types-DwyZRsOy.d.ts +205 -0
- package/dist/node/A-FrameCompletion.entity-Brx11JMp.d.ts +72 -0
- package/dist/node/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
- package/dist/node/A-FrameDefinition.entity-BIF0sclD.d.ts +370 -0
- package/dist/node/A-FrameDefinition.entity-Bt9ua6cn.d.ts +358 -0
- package/dist/node/A-FrameDefinition.entity-C0kzaGJ0.d.ts +143 -0
- package/dist/node/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
- package/dist/node/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
- package/dist/node/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
- package/dist/node/A-FrameDefinition.types-BA_pLGpo.d.ts +232 -0
- package/dist/node/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
- package/dist/node/A-FrameDynamicContentOperation.context-C_aH1gEn.d.ts +297 -0
- package/dist/node/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
- package/dist/node/A-FrameDynamicContentOperation.context-DRqH2c3o.d.ts +266 -0
- package/dist/node/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
- package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
- package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.ts +29 -0
- package/dist/node/A-FrameDynamicStructure.entity-BVCbolMd.d.ts +210 -0
- package/dist/node/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
- package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
- package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.ts +235 -0
- package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.mts +114 -0
- package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.ts +114 -0
- package/dist/node/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
- package/dist/node/A-FrameNamespace.entity-HDXcLGcS.d.ts +136 -0
- package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
- package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.ts +141 -0
- package/dist/node/A-FrameSegment.entity-C0izuOmC.d.ts +161 -0
- package/dist/node/A-FrameSegment.entity-CMCgFCWU.d.ts +146 -0
- package/dist/node/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
- package/dist/node/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
- package/dist/node/A-FrameStorage.component-BnNKzvpY.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-CDztogHV.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-CW0YgKDI.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-D4UEkIBx.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-DV_jwK6r.d.ts +107 -0
- package/dist/node/A-FrameStorage.component-Di4EvbtC.d.ts +107 -0
- package/dist/node/A-FrameStorage.component-emIH1a1M.d.ts +107 -0
- package/dist/node/A-FrameStorage.component-y-JPiIQ4.d.ts +107 -0
- package/dist/node/bundle.cjs +66 -21
- package/dist/node/bundle.cjs.map +1 -1
- package/dist/node/bundle.d.mts +88 -24
- package/dist/node/bundle.d.ts +88 -24
- package/dist/node/bundle.mjs +65 -20
- package/dist/node/bundle.mjs.map +1 -1
- package/dist/node/channel.cjs +33 -26
- package/dist/node/channel.d.mts +10 -6
- package/dist/node/channel.d.ts +10 -6
- package/dist/node/channel.mjs +13 -6
- package/dist/node/chunk-2HUSP34L.mjs +55 -0
- package/dist/node/chunk-2HUSP34L.mjs.map +1 -0
- package/dist/node/chunk-2KXGI2E5.cjs +474 -0
- package/dist/node/chunk-2KXGI2E5.cjs.map +1 -0
- package/dist/node/chunk-2OQMOIR5.mjs +170 -0
- package/dist/node/chunk-2OQMOIR5.mjs.map +1 -0
- package/dist/node/chunk-2UI7RJ4Q.mjs +207 -0
- package/dist/node/chunk-2UI7RJ4Q.mjs.map +1 -0
- package/dist/node/chunk-3SLICJ3L.cjs +265 -0
- package/dist/node/chunk-3SLICJ3L.cjs.map +1 -0
- package/dist/node/chunk-3ZDHQOIU.cjs +92 -0
- package/dist/node/chunk-3ZDHQOIU.cjs.map +1 -0
- package/dist/node/chunk-5BKCX2RO.mjs +1 -1
- package/dist/node/chunk-5BKCX2RO.mjs.map +1 -1
- package/dist/node/chunk-5NCGXLP2.mjs +6 -0
- package/dist/node/chunk-5NCGXLP2.mjs.map +1 -0
- package/dist/node/chunk-5OTXZ7BB.mjs +53 -0
- package/dist/node/chunk-5OTXZ7BB.mjs.map +1 -0
- package/dist/node/chunk-5PYIATGT.mjs +469 -0
- package/dist/node/chunk-5PYIATGT.mjs.map +1 -0
- package/dist/node/chunk-64QCZG53.cjs +57 -0
- package/dist/node/chunk-64QCZG53.cjs.map +1 -0
- package/dist/node/chunk-652OEICJ.cjs +4 -0
- package/dist/node/chunk-652OEICJ.cjs.map +1 -0
- package/dist/node/chunk-674ZX6XJ.mjs +187 -0
- package/dist/node/chunk-674ZX6XJ.mjs.map +1 -0
- package/dist/node/chunk-6ID2IXYX.mjs +6 -0
- package/dist/node/chunk-6ID2IXYX.mjs.map +1 -0
- package/dist/node/chunk-7EM3Q7HA.mjs +655 -0
- package/dist/node/chunk-7EM3Q7HA.mjs.map +1 -0
- package/dist/node/chunk-7MVVMISA.cjs +293 -0
- package/dist/node/chunk-7MVVMISA.cjs.map +1 -0
- package/dist/node/chunk-7NSLGCAZ.mjs +1395 -0
- package/dist/node/chunk-7NSLGCAZ.mjs.map +1 -0
- package/dist/node/chunk-7OLLATCC.mjs +1289 -0
- package/dist/node/chunk-7OLLATCC.mjs.map +1 -0
- package/dist/node/chunk-7SEZMRLI.cjs +183 -0
- package/dist/node/chunk-7SEZMRLI.cjs.map +1 -0
- package/dist/node/chunk-A4CVDMSV.mjs +608 -0
- package/dist/node/chunk-A4CVDMSV.mjs.map +1 -0
- package/dist/node/chunk-A7CJIUYY.cjs +4 -0
- package/dist/node/chunk-A7CJIUYY.cjs.map +1 -0
- package/dist/node/chunk-ALFFUJ2J.mjs +163 -0
- package/dist/node/chunk-ALFFUJ2J.mjs.map +1 -0
- package/dist/node/chunk-AMMQ76RJ.mjs +179 -0
- package/dist/node/chunk-AMMQ76RJ.mjs.map +1 -0
- package/dist/node/chunk-AUKWKGVA.cjs +688 -0
- package/dist/node/chunk-AUKWKGVA.cjs.map +1 -0
- package/dist/node/chunk-AY6UMDWD.cjs +270 -0
- package/dist/node/chunk-AY6UMDWD.cjs.map +1 -0
- package/dist/node/chunk-B7ZDJXD3.cjs +1 -1
- package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -1
- package/dist/node/chunk-BBYOL3LM.cjs +1308 -0
- package/dist/node/chunk-BBYOL3LM.cjs.map +1 -0
- package/dist/node/chunk-BINGAHFW.cjs +1308 -0
- package/dist/node/chunk-BINGAHFW.cjs.map +1 -0
- package/dist/node/chunk-BSBY37MG.cjs +55 -0
- package/dist/node/chunk-BSBY37MG.cjs.map +1 -0
- package/dist/node/chunk-BWX7HFTH.cjs +209 -0
- package/dist/node/chunk-BWX7HFTH.cjs.map +1 -0
- package/dist/node/chunk-C37B34MH.cjs +188 -0
- package/dist/node/chunk-C37B34MH.cjs.map +1 -0
- package/dist/node/chunk-C6BBKHQG.cjs +250 -0
- package/dist/node/chunk-C6BBKHQG.cjs.map +1 -0
- package/dist/node/chunk-CLCAS67N.cjs +8 -0
- package/dist/node/chunk-CLCAS67N.cjs.map +1 -0
- package/dist/node/chunk-CNU3CRTR.mjs +43 -0
- package/dist/node/chunk-CNU3CRTR.mjs.map +1 -0
- package/dist/node/chunk-CV5FPKU6.mjs +6 -0
- package/dist/node/chunk-CV5FPKU6.mjs.map +1 -0
- package/dist/node/chunk-CZYOAFIR.mjs +129 -0
- package/dist/node/chunk-CZYOAFIR.mjs.map +1 -0
- package/dist/node/chunk-D2HTYEJZ.cjs +209 -0
- package/dist/node/chunk-D2HTYEJZ.cjs.map +1 -0
- package/dist/node/chunk-EMLZZPOT.cjs +1446 -0
- package/dist/node/chunk-EMLZZPOT.cjs.map +1 -0
- package/dist/node/chunk-EOIXXXBV.cjs +55 -0
- package/dist/node/chunk-EOIXXXBV.cjs.map +1 -0
- package/dist/node/chunk-F4UCOZW5.mjs +1 -1
- package/dist/node/chunk-F4UCOZW5.mjs.map +1 -1
- package/dist/node/chunk-F64CK4NI.mjs +53 -0
- package/dist/node/chunk-F64CK4NI.mjs.map +1 -0
- package/dist/node/chunk-FAV62EUG.cjs +35 -0
- package/dist/node/chunk-FAV62EUG.cjs.map +1 -0
- package/dist/node/chunk-GHSPKZUN.mjs +529 -0
- package/dist/node/chunk-GHSPKZUN.mjs.map +1 -0
- package/dist/node/chunk-GRNVK7DW.mjs +97 -0
- package/dist/node/chunk-GRNVK7DW.mjs.map +1 -0
- package/dist/node/chunk-H5VGRPD5.cjs +8 -0
- package/dist/node/chunk-H5VGRPD5.cjs.map +1 -0
- package/dist/node/chunk-HAMDDCPS.cjs +8 -0
- package/dist/node/chunk-HAMDDCPS.cjs.map +1 -0
- package/dist/node/chunk-HAORARSB.cjs +75 -0
- package/dist/node/chunk-HAORARSB.cjs.map +1 -0
- package/dist/node/chunk-HELNAM5Y.cjs +8 -0
- package/dist/node/chunk-HELNAM5Y.cjs.map +1 -0
- package/dist/node/chunk-HET6L5PD.mjs +530 -0
- package/dist/node/chunk-HET6L5PD.mjs.map +1 -0
- package/dist/node/chunk-HI5SEX53.mjs +264 -0
- package/dist/node/chunk-HI5SEX53.mjs.map +1 -0
- package/dist/node/chunk-HZGFXE4Q.mjs +6 -0
- package/dist/node/chunk-HZGFXE4Q.mjs.map +1 -0
- package/dist/node/chunk-IAL2NK2V.mjs +73 -0
- package/dist/node/chunk-IAL2NK2V.mjs.map +1 -0
- package/dist/node/chunk-IHELFDCW.mjs +327 -0
- package/dist/node/chunk-IHELFDCW.mjs.map +1 -0
- package/dist/node/chunk-ILD6OSYW.mjs +966 -0
- package/dist/node/chunk-ILD6OSYW.mjs.map +1 -0
- package/dist/node/chunk-IP6DFAO7.mjs +264 -0
- package/dist/node/chunk-IP6DFAO7.mjs.map +1 -0
- package/dist/node/chunk-IYEDO7OQ.cjs +276 -0
- package/dist/node/chunk-IYEDO7OQ.cjs.map +1 -0
- package/dist/node/chunk-JFPGFPQD.mjs +1413 -0
- package/dist/node/chunk-JFPGFPQD.mjs.map +1 -0
- package/dist/node/chunk-JHZGTVYF.cjs +999 -0
- package/dist/node/chunk-JHZGTVYF.cjs.map +1 -0
- package/dist/node/chunk-JN3UJBUH.mjs +608 -0
- package/dist/node/chunk-JN3UJBUH.mjs.map +1 -0
- package/dist/node/chunk-JNPDXCCN.mjs +530 -0
- package/dist/node/chunk-JNPDXCCN.mjs.map +1 -0
- package/dist/node/chunk-JQBYDEMW.mjs +1 -1
- package/dist/node/chunk-JQBYDEMW.mjs.map +1 -1
- package/dist/node/chunk-JQJ7N4NL.cjs +267 -0
- package/dist/node/chunk-JQJ7N4NL.cjs.map +1 -0
- package/dist/node/chunk-K4AJBPPY.cjs +174 -0
- package/dist/node/chunk-K4AJBPPY.cjs.map +1 -0
- package/dist/node/chunk-K7SXPJPK.cjs +131 -0
- package/dist/node/chunk-K7SXPJPK.cjs.map +1 -0
- package/dist/node/chunk-KFW4GE7H.mjs +1289 -0
- package/dist/node/chunk-KFW4GE7H.mjs.map +1 -0
- package/dist/node/chunk-KKL2DF2D.cjs +518 -0
- package/dist/node/chunk-KKL2DF2D.cjs.map +1 -0
- package/dist/node/chunk-KKMKQGTR.cjs +620 -0
- package/dist/node/chunk-KKMKQGTR.cjs.map +1 -0
- package/dist/node/chunk-KNTO7FCZ.mjs +207 -0
- package/dist/node/chunk-KNTO7FCZ.mjs.map +1 -0
- package/dist/node/chunk-KTKVW3PH.mjs +286 -0
- package/dist/node/chunk-KTKVW3PH.mjs.map +1 -0
- package/dist/node/chunk-KZPSF32W.mjs +33 -0
- package/dist/node/chunk-KZPSF32W.mjs.map +1 -0
- package/dist/node/chunk-LWKFCMA7.mjs +129 -0
- package/dist/node/chunk-LWKFCMA7.mjs.map +1 -0
- package/dist/node/chunk-M2ZSE6YJ.mjs +512 -0
- package/dist/node/chunk-M2ZSE6YJ.mjs.map +1 -0
- package/dist/node/chunk-M6DJYGDO.cjs +167 -0
- package/dist/node/chunk-M6DJYGDO.cjs.map +1 -0
- package/dist/node/chunk-MAHKDTOQ.mjs +3 -0
- package/dist/node/chunk-MAHKDTOQ.mjs.map +1 -0
- package/dist/node/chunk-MM2R2OM6.cjs +541 -0
- package/dist/node/chunk-MM2R2OM6.cjs.map +1 -0
- package/dist/node/chunk-MSOD5UQH.cjs +45 -0
- package/dist/node/chunk-MSOD5UQH.cjs.map +1 -0
- package/dist/node/chunk-MVAWR76Q.cjs +276 -0
- package/dist/node/chunk-MVAWR76Q.cjs.map +1 -0
- package/dist/node/chunk-MXUO7OR5.cjs +97 -0
- package/dist/node/chunk-MXUO7OR5.cjs.map +1 -0
- package/dist/node/chunk-N4THTV6P.cjs +131 -0
- package/dist/node/chunk-N4THTV6P.cjs.map +1 -0
- package/dist/node/chunk-NIXKAQVP.cjs +1 -1
- package/dist/node/chunk-NIXKAQVP.cjs.map +1 -1
- package/dist/node/chunk-NUPXUUPM.cjs +1428 -0
- package/dist/node/chunk-NUPXUUPM.cjs.map +1 -0
- package/dist/node/chunk-NWOUVAIS.cjs +45 -0
- package/dist/node/chunk-NWOUVAIS.cjs.map +1 -0
- package/dist/node/chunk-OK7I5OQ3.mjs +89 -0
- package/dist/node/chunk-OK7I5OQ3.mjs.map +1 -0
- package/dist/node/chunk-OMGYXCFM.mjs +248 -0
- package/dist/node/chunk-OMGYXCFM.mjs.map +1 -0
- package/dist/node/chunk-OYZAQMKD.mjs +263 -0
- package/dist/node/chunk-OYZAQMKD.mjs.map +1 -0
- package/dist/node/chunk-P2LULMNL.cjs +189 -0
- package/dist/node/chunk-P2LULMNL.cjs.map +1 -0
- package/dist/node/chunk-PABEFHCO.mjs +63 -0
- package/dist/node/chunk-PABEFHCO.mjs.map +1 -0
- package/dist/node/chunk-Q5NYJQP2.cjs +8 -0
- package/dist/node/chunk-Q5NYJQP2.cjs.map +1 -0
- package/dist/node/chunk-QCEWWJ3N.cjs +65 -0
- package/dist/node/chunk-QCEWWJ3N.cjs.map +1 -0
- package/dist/node/chunk-QW4AZ3Z2.cjs +542 -0
- package/dist/node/chunk-QW4AZ3Z2.cjs.map +1 -0
- package/dist/node/chunk-RK5WSZ5J.mjs +43 -0
- package/dist/node/chunk-RK5WSZ5J.mjs.map +1 -0
- package/dist/node/chunk-RPHYBPXT.mjs +30 -0
- package/dist/node/chunk-RPHYBPXT.mjs.map +1 -0
- package/dist/node/chunk-RVXASBMQ.mjs +273 -0
- package/dist/node/chunk-RVXASBMQ.mjs.map +1 -0
- package/dist/node/chunk-RVZTZD32.mjs +187 -0
- package/dist/node/chunk-RVZTZD32.mjs.map +1 -0
- package/dist/node/chunk-RWLKISZQ.mjs +273 -0
- package/dist/node/chunk-RWLKISZQ.mjs.map +1 -0
- package/dist/node/chunk-SESXQJDD.cjs +999 -0
- package/dist/node/chunk-SESXQJDD.cjs.map +1 -0
- package/dist/node/chunk-SKIEPTFS.mjs +6 -0
- package/dist/node/chunk-SKIEPTFS.mjs.map +1 -0
- package/dist/node/chunk-SL7FT5R5.mjs +94 -0
- package/dist/node/chunk-SL7FT5R5.mjs.map +1 -0
- package/dist/node/chunk-SXHQW74T.mjs +43 -0
- package/dist/node/chunk-SXHQW74T.mjs.map +1 -0
- package/dist/node/chunk-TEJKDVNT.cjs +620 -0
- package/dist/node/chunk-TEJKDVNT.cjs.map +1 -0
- package/dist/node/chunk-TQS5WYND.cjs +352 -0
- package/dist/node/chunk-TQS5WYND.cjs.map +1 -0
- package/dist/node/chunk-UCAWV2IG.mjs +184 -0
- package/dist/node/chunk-UCAWV2IG.mjs.map +1 -0
- package/dist/node/chunk-UDUJDEAO.cjs +189 -0
- package/dist/node/chunk-UDUJDEAO.cjs.map +1 -0
- package/dist/node/chunk-VMJDL4SS.cjs +542 -0
- package/dist/node/chunk-VMJDL4SS.cjs.map +1 -0
- package/dist/node/chunk-VNOZTB3B.cjs +8 -0
- package/dist/node/chunk-VNOZTB3B.cjs.map +1 -0
- package/dist/node/chunk-VPMBZGYR.mjs +327 -0
- package/dist/node/chunk-VPMBZGYR.mjs.map +1 -0
- package/dist/node/chunk-WEPNBKOA.mjs +6 -0
- package/dist/node/chunk-WEPNBKOA.mjs.map +1 -0
- package/dist/node/chunk-WTBRJXFG.cjs +100 -0
- package/dist/node/chunk-WTBRJXFG.cjs.map +1 -0
- package/dist/node/chunk-WXCQCHAX.mjs +3 -0
- package/dist/node/chunk-WXCQCHAX.mjs.map +1 -0
- package/dist/node/chunk-X3TRPYGV.cjs +352 -0
- package/dist/node/chunk-X3TRPYGV.cjs.map +1 -0
- package/dist/node/chunk-XFUF7SDO.cjs +1 -1
- package/dist/node/chunk-XFUF7SDO.cjs.map +1 -1
- package/dist/node/chunk-XP2EPEBM.mjs +966 -0
- package/dist/node/chunk-XP2EPEBM.mjs.map +1 -0
- package/dist/node/chunk-XPIJ6BKP.cjs +45 -0
- package/dist/node/chunk-XPIJ6BKP.cjs.map +1 -0
- package/dist/node/chunk-YRVBMP7I.cjs +542 -0
- package/dist/node/chunk-YRVBMP7I.cjs.map +1 -0
- package/dist/node/chunk-ZIHSN5EE.mjs +530 -0
- package/dist/node/chunk-ZIHSN5EE.mjs.map +1 -0
- package/dist/node/chunk-ZNQMUU7I.cjs +32 -0
- package/dist/node/chunk-ZNQMUU7I.cjs.map +1 -0
- package/dist/node/completion.cjs +23 -0
- package/dist/node/completion.cjs.map +1 -0
- package/dist/node/completion.d.mts +10 -0
- package/dist/node/completion.d.ts +10 -0
- package/dist/node/completion.mjs +6 -0
- package/dist/node/completion.mjs.map +1 -0
- package/dist/node/core.cjs +67 -38
- package/dist/node/core.cjs.map +1 -1
- package/dist/node/core.d.mts +13 -8
- package/dist/node/core.d.ts +13 -8
- package/dist/node/core.mjs +58 -29
- package/dist/node/core.mjs.map +1 -1
- package/dist/node/credentials.cjs +17 -0
- package/dist/node/credentials.cjs.map +1 -0
- package/dist/node/credentials.d.mts +74 -0
- package/dist/node/credentials.d.ts +74 -0
- package/dist/node/credentials.mjs +4 -0
- package/dist/node/credentials.mjs.map +1 -0
- package/dist/node/definition.cjs +6 -4
- package/dist/node/definition.d.mts +3 -2
- package/dist/node/definition.d.ts +3 -2
- package/dist/node/definition.mjs +4 -2
- package/dist/node/dynamic-content.cjs +30 -0
- package/dist/node/dynamic-content.cjs.map +1 -0
- package/dist/node/dynamic-content.d.mts +13 -0
- package/dist/node/dynamic-content.d.ts +13 -0
- package/dist/node/dynamic-content.mjs +9 -0
- package/dist/node/dynamic-content.mjs.map +1 -0
- package/dist/node/dynamic-feature.cjs +41 -7
- package/dist/node/dynamic-feature.cjs.map +1 -1
- package/dist/node/dynamic-feature.d.mts +66 -6
- package/dist/node/dynamic-feature.d.ts +66 -6
- package/dist/node/dynamic-feature.mjs +16 -9
- package/dist/node/dynamic-feature.mjs.map +1 -1
- package/dist/node/dynamic-structure.cjs +45 -136
- package/dist/node/dynamic-structure.cjs.map +1 -1
- package/dist/node/dynamic-structure.d.mts +77 -3
- package/dist/node/dynamic-structure.d.ts +77 -3
- package/dist/node/dynamic-structure.mjs +16 -135
- package/dist/node/dynamic-structure.mjs.map +1 -1
- package/dist/node/env.cjs +3 -3
- package/dist/node/env.d.mts +26 -0
- package/dist/node/env.d.ts +26 -0
- package/dist/node/env.mjs +2 -2
- package/dist/node/frame-index.cjs +7 -4
- package/dist/node/frame-index.d.mts +70 -9
- package/dist/node/frame-index.d.ts +70 -9
- package/dist/node/frame-index.mjs +6 -3
- package/dist/node/logger.d.mts +4 -113
- package/dist/node/logger.d.ts +4 -113
- package/dist/node/models.cjs +14 -0
- package/dist/node/models.cjs.map +1 -0
- package/dist/node/models.d.mts +64 -0
- package/dist/node/models.d.ts +64 -0
- package/dist/node/models.mjs +5 -0
- package/dist/node/models.mjs.map +1 -0
- package/dist/node/namespace.cjs +7 -5
- package/dist/node/namespace.d.mts +1 -1
- package/dist/node/namespace.d.ts +1 -1
- package/dist/node/namespace.mjs +4 -2
- package/dist/node/schema.cjs +22 -0
- package/dist/node/schema.cjs.map +1 -0
- package/dist/node/schema.d.mts +10 -0
- package/dist/node/schema.d.ts +10 -0
- package/dist/node/schema.mjs +5 -0
- package/dist/node/schema.mjs.map +1 -0
- package/dist/node/segment.cjs +25 -0
- package/dist/node/segment.cjs.map +1 -0
- package/dist/node/segment.d.mts +13 -0
- package/dist/node/segment.d.ts +13 -0
- package/dist/node/segment.mjs +8 -0
- package/dist/node/segment.mjs.map +1 -0
- package/dist/node/storage.cjs +17 -14
- package/dist/node/storage.d.mts +18 -6
- package/dist/node/storage.d.ts +18 -6
- package/dist/node/storage.mjs +11 -8
- package/dist/node/vector.cjs +2 -2
- package/dist/node/vector.d.mts +7 -0
- package/dist/node/vector.d.ts +7 -0
- package/dist/node/vector.mjs +1 -1
- package/examples/article/main.ts +358 -0
- package/examples/components.ts +660 -0
- package/examples/feature/file-system.components.ts +211 -0
- package/examples/feature/main.ts +374 -0
- package/examples/interaction/main.ts +426 -0
- package/examples/logger.ts +126 -0
- package/examples/structure/main.ts +195 -0
- package/examples/structure/renderer.ts +296 -0
- package/examples/structure/server-app.components.ts +387 -0
- package/jest.config.browser.ts +9 -0
- package/jest.config.examples.ts +49 -0
- package/jest.config.integration.ts +38 -0
- package/jest.config.ts +56 -27
- package/jest.config.unit.ts +38 -0
- package/package.json +75 -7
- package/src/index.ts +13 -0
- package/src/lib/A-Frame/A-Frame.component.env-browser.ts +14 -3
- package/src/lib/A-Frame/A-Frame.component.env-node.ts +45 -15
- package/src/lib/A-Frame/A-Frame.context.ts +9 -8
- package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +4 -4
- package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -25
- package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +1 -1
- package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +54 -13
- package/src/lib/A-FrameBundle/index.browser.ts +1 -1
- package/src/lib/A-FrameBundle/index.ts +1 -1
- package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +18 -7
- package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +0 -2
- package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +14 -15
- package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +542 -7
- package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +2 -0
- package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +65 -1
- package/src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts +112 -0
- package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +1 -0
- package/src/lib/A-FrameChannel/index.browser.ts +5 -0
- package/src/lib/A-FrameCompletion/A-FrameCompletion.constants.ts +3 -0
- package/src/lib/A-FrameCompletion/A-FrameCompletion.entity.ts +128 -0
- package/src/lib/A-FrameCompletion/A-FrameCompletion.types.ts +40 -0
- package/src/lib/A-FrameCompletion/index.ts +3 -0
- package/src/lib/A-FrameCredentials/A-FrameCredentials.constants.ts +5 -0
- package/src/lib/A-FrameCredentials/A-FrameCredentials.entity.ts +120 -0
- package/src/lib/A-FrameCredentials/A-FrameCredentials.types.ts +39 -0
- package/src/lib/A-FrameCredentials/index.ts +3 -0
- package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +23 -1
- package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +34 -1
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts +5 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts +348 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts +10 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.types.ts +116 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts +288 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts +26 -0
- package/src/lib/A-FrameDynamicContent/index.ts +5 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.constants.ts +6 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +253 -4
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.error.ts +11 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +188 -4
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeatureOperation.context.ts +33 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapIndex.context.ts +99 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapper.component.ts +182 -0
- package/src/lib/A-FrameDynamicFeature/index.ts +6 -1
- package/src/lib/A-FrameDynamicPatch/index.ts +2 -0
- package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapIndex.context.ts +99 -0
- package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapper.component.ts +320 -0
- package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +2 -1
- package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +240 -128
- package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +183 -87
- package/src/lib/A-FrameDynamicStructure/index.ts +3 -0
- package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +5 -1
- package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +23 -1
- package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +12 -0
- package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +63 -13
- package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +53 -0
- package/src/lib/A-FrameModels/A-FrameModels.constants.ts +75 -0
- package/src/lib/A-FrameModels/index.ts +1 -0
- package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +10 -3
- package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +5 -0
- package/src/lib/A-FrameSchema/A-FrameSchema.constants.ts +4 -0
- package/src/lib/A-FrameSchema/A-FrameSchema.entity.ts +154 -0
- package/src/lib/A-FrameSchema/A-FrameSchema.types.ts +88 -0
- package/src/lib/A-FrameSchema/index.ts +3 -0
- package/src/lib/A-FrameSegment/A-FrameSegment.constants.ts +12 -0
- package/src/lib/A-FrameSegment/A-FrameSegment.entity.ts +221 -0
- package/src/lib/A-FrameSegment/A-FrameSegment.types.ts +91 -0
- package/src/lib/A-FrameSegment/index.ts +3 -0
- package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +10 -4
- package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +21 -0
- package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +39 -21
- package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +124 -42
- package/src/lib/A-FrameVector/A-FrameVector.entity.ts +24 -0
- package/tests/A-Frame.browser.test.ts +167 -57
- package/tests/A-FrameDynamicContent.browser.test.ts +74 -0
- package/tests/integration/A-Frame.integration.test.ts +272 -0
- package/tests/integration/A-FrameCompletion.integration.test.ts +88 -0
- package/tests/integration/A-FrameContentMapping.integration.test.ts +261 -0
- package/tests/integration/A-FrameDefinition.integration.test.ts +154 -0
- package/tests/integration/A-FrameDynamicContent.integration.test.ts +126 -0
- package/tests/integration/A-FrameDynamicFeature.integration.test.ts +337 -0
- package/tests/integration/A-FrameDynamicStructure.integration.test.ts +264 -0
- package/tests/integration/A-FrameNamespace.integration.test.ts +109 -0
- package/tests/integration/A-FrameSchema.integration.test.ts +74 -0
- package/tests/integration/A-FrameSegment.integration.test.ts +102 -0
- package/tests/integration/A-FrameStorage.integration.test.ts +598 -0
- package/tests/jest.setup.browser.ts +1 -1
- package/tests/jest.setup.ts +4 -0
- package/tests/jest.setup.unit.ts +30 -0
- package/tests/unit/A-FrameChannel.unit.test.ts +124 -0
- package/tests/unit/A-FrameCompletion.unit.test.ts +25 -0
- package/tests/unit/A-FrameDefinition.unit.test.ts +36 -0
- package/tests/unit/A-FrameDynamicContent.unit.test.ts +28 -0
- package/tests/unit/A-FrameNamespace.unit.test.ts +35 -0
- package/tests/unit/A-FrameSchema.unit.test.ts +31 -0
- package/tests/unit/A-FrameSegment.unit.test.ts +20 -0
- package/tests/unit/mocks/MockA_FrameChannel.ts +112 -0
- package/tsconfig.browser.json +2 -0
- package/tsconfig.json +6 -0
- package/tsup.config.ts +52 -0
- package/tests/A-Frame.test.ts +0 -98
|
@@ -1 +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-FrameDynamicStructure/A-FrameDynamicStructureOperation.context.ts","../../src/lib/A-FrameChannel/A-FrameChannel.component.ts","../../src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts","../../src/lib/A-FrameChannel/A-FrameChannelEvent.context.ts","../../src/lib/A-FrameChannel/A-FrameChannelSocket.entity.ts"],"names":["A_FrameFeatures","A_FrameChannelSocketStatuses","A_FrameChannelSocketFeatures","A_FrameChannelRequest","A_Fragment","method","path","body","response","error","A_FrameChannelError","A_Error","A_FrameEnv","version","A_FrameDynamicSessionFeatures","A_FrameDynamicSession","A_Entity","A_Context","A_Scope","newEntity","serialized","scope","A_FrameDynamicStructureOperation","params","key","value","A_FrameChannel","A_Component","prompt","request","executionScope","err","input","definition","env","vector","namespace","structure","session","operation","__decorateClass","A_Feature","A_FrameDefinitionFeatures","A_FrameDefinition","__decorateParam","A_Inject","A_Caller","A_FrameNamespaceFeatures","A_FrameNamespace","A_FrameBrowserChannel","context","url","controller","timer","resp","A_FrameChannelEvent","name","data","A_FrameChannelSocket","featureName","target","propertyKey","descriptor","fn","event","eventFragment","callName"],"mappings":"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","file":"channel.mjs","sourcesContent":["\n\nexport const A_FrameFeatures = {\n Request: '_A_FRAME_REQUEST',\n Socket: '_A_FRAME_SOCKET',\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 || '.aframestr';\n }\n\n get A_FRAME_VERSION() {\n return pkg.version || '0.0.1';\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_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_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 } 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_FrameChannelSocket } from \"./A-FrameChannelSocket.entity\";\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/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[]): Promise<A_FrameChannelRequest<A_Frame_EmbedResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/embeddings', { input });\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/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 });\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 });\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 });\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\n\n\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\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\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\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 {\n A_FrameChannelSocket_Init,\n A_FrameChannelSocket_Serialized,\n A_FrameChannelSocketStatusNames,\n} from \"./A-FrameChannel.types\";\nimport { A_FrameChannelSocketFeatures, A_FrameChannelSocketStatuses } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelEvent } from \"./A-FrameChannelEvent.context\";\nimport { A_FrameChannelError } from \"./A-FrameChannel.error\";\n\n\n/**\n * A_FrameChannelSocket — bidirectional WebSocket session entity.\n *\n * Lifecycle:\n * 1. Instantiate with `new A_FrameChannelSocket({ method: 'GET', path: '/ws/...' })`.\n * 2. Register event handlers via `@A_FrameChannelSocket.onEvent('type')` on a subclass.\n * 3. Pass the instance to `A_FrameChannel.connect(socket)` which performs the\n * WebSocket handshake and sets the internal send capability.\n * 4. While the connection is open, call `socket.send(event)` to push frames to\n * the server. Incoming frames are dispatched via `propagate()`.\n * 5. The socket transitions to Closed when the server sends a close frame or the\n * underlying transport ends.\n */\nexport class A_FrameChannelSocket<\n T extends Record<string, any> = Record<string, any>\n> extends A_Entity<\n A_FrameChannelSocket_Init<T>,\n A_FrameChannelSocket_Serialized<T>\n> {\n\n // ─── Static decorator ──────────────────────────────────────────────────────\n\n /**\n * Registers a method as a handler for a specific WebSocket event type sent\n * by the server. Mirrors `A_FrameChannelStream.onEvent()`.\n *\n * Usage (inside a subclass):\n * @A_FrameChannelSocket.onEvent('my_event')\n * async onMyEvent(@A_Inject(A_FrameChannelEvent) event: A_FrameChannelEvent) { ... }\n *\n * Omit the name (or use `'all'`) to receive every event type.\n */\n static onEvent(name?: string) {\n const featureName = (name || 'all') + A_FrameChannelSocketFeatures.onEvent;\n\n return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {\n return A_Feature.Extend({\n name: featureName,\n scope: [target.constructor],\n })(target, propertyKey, descriptor);\n };\n }\n\n // ─── Protected state ──────────────────────────────────────────────────────\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_FrameChannelSocketStatusNames;\n protected _initDate!: string;\n\n // ──────────────────────────────────────────────────────────────────────────\n // SEND CAPABILITY\n // Attached by the connect feature once the WebSocket handshake succeeds.\n // Calling it serialises `data` to JSON and writes a masked WS text frame to\n // the underlying raw socket. Cleared to null on close / failure.\n // ──────────────────────────────────────────────────────────────────────────\n protected _sendFn: ((data: string) => void) | null = null;\n\n // ─── Computed getters ─────────────────────────────────────────────────────\n\n /** Scope allocated for the lifetime of this socket session. */\n get scope(): A_Scope {\n if (!this._scope) {\n this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));\n }\n return this._scope;\n }\n\n get method(): string { return this._method; }\n get path(): string { return this._path; }\n get body(): T | undefined { return this._body; }\n get status(): A_FrameChannelSocketStatusNames { return this._status; }\n get error(): A_Error | undefined { return this._error; }\n get initDate(): Date { return new Date(this._initDate); }\n\n // ─── Connect-feature interface ────────────────────────────────────────────\n\n /**\n * Called by the connect feature immediately after a successful handshake.\n * Transitions status Connecting → Open and stores the send callback.\n */\n attachSendFn(fn: (data: string) => void): void {\n this._sendFn = fn;\n this._status = A_FrameChannelSocketStatuses.Open;\n }\n\n // ─── Public API ───────────────────────────────────────────────────────────\n\n /**\n * Send an event to the server over the open WebSocket connection.\n *\n * The event is serialised as `{ type, data }`, matching the shape the server\n * uses for events it pushes to the client — keeping both directions symmetric.\n *\n * @throws {A_FrameChannelError} if the socket is not open.\n */\n send(event: A_FrameChannelEvent): void {\n if (!this._sendFn || this._status !== A_FrameChannelSocketStatuses.Open) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Cannot send event \"${event.name}\": WebSocket is not open (status: ${this._status})`,\n });\n }\n\n this._sendFn(JSON.stringify({ type: event.name, data: event.data }));\n }\n\n // ─── Lifecycle ────────────────────────────────────────────────────────────\n\n complete(): void {\n this._sendFn = null;\n this._status = A_FrameChannelSocketStatuses.Closed;\n }\n\n fail(error: A_Error): void {\n this._sendFn = null;\n this._status = A_FrameChannelSocketStatuses.Closed;\n this._error = error;\n }\n\n destroy(): Promise<void> | void {\n this.scope.destroy();\n }\n\n /**\n * Dispatch an incoming server event to all registered `@onEvent` handlers.\n * Mirrors `A_FrameChannelStream.propagate()`.\n */\n async propagate<D extends Record<string, any>>(name: string, data?: D): Promise<void> {\n const eventFragment = new A_FrameChannelEvent<D>(name, data);\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannelSocket.propagate',\n fragments: [eventFragment],\n }).inherit(A_Context.scope(this));\n\n try {\n const callName = (name || 'all') + A_FrameChannelSocketFeatures.onEvent;\n await this.call(callName, executionScope);\n executionScope.destroy();\n } catch {\n executionScope.destroy();\n }\n }\n\n // ─── A_Entity serialisation ───────────────────────────────────────────────\n\n fromNew(newEntity: A_FrameChannelSocket_Init<T>): void {\n this._method = newEntity.method;\n this._path = newEntity.path;\n this._body = newEntity.body;\n this._status = A_FrameChannelSocketStatuses.Connecting;\n this._initDate = new Date().toISOString();\n }\n\n fromJSON(serialized: A_FrameChannelSocket_Serialized<T>): void {\n this._method = serialized.method;\n this._path = serialized.path;\n this._body = serialized.body;\n this._status = serialized.status;\n this._initDate = serialized.initDate;\n }\n\n toJSON(): A_FrameChannelSocket_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"]}
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-FrameChannel/A-FrameChannelEvent.context.ts","../../src/lib/A-FrameChannel/A-FrameChannelSocket.entity.ts","../../src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts"],"names":["A_FrameChannelEvent","A_Fragment","name","data","A_FrameChannelSocket","A_Entity","featureName","A_FrameChannelSocketFeatures","target","propertyKey","descriptor","A_Feature","A_Context","A_Scope","fn","A_FrameChannelSocketStatuses","event","A_FrameChannelError","error","eventFragment","executionScope","callName","newEntity","serialized","A_FrameChannelStream","eventName","A_FrameChannelStreamFeatures","A_FrameChannelStreamStatuses","request"],"mappings":"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","file":"channel.mjs","sourcesContent":["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 {\n A_FrameChannelSocket_Init,\n A_FrameChannelSocket_Serialized,\n A_FrameChannelSocketStatusNames,\n} from \"./A-FrameChannel.types\";\nimport { A_FrameChannelSocketFeatures, A_FrameChannelSocketStatuses } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelEvent } from \"./A-FrameChannelEvent.context\";\nimport { A_FrameChannelError } from \"./A-FrameChannel.error\";\n\n\n/**\n * A_FrameChannelSocket — bidirectional WebSocket session entity.\n *\n * Lifecycle:\n * 1. Instantiate with `new A_FrameChannelSocket({ method: 'GET', path: '/ws/...' })`.\n * 2. Register event handlers via `@A_FrameChannelSocket.onEvent('type')` on a subclass.\n * 3. Pass the instance to `A_FrameChannel.connect(socket)` which performs the\n * WebSocket handshake and sets the internal send capability.\n * 4. While the connection is open, call `socket.send(event)` to push frames to\n * the server. Incoming frames are dispatched via `propagate()`.\n * 5. The socket transitions to Closed when the server sends a close frame or the\n * underlying transport ends.\n */\nexport class A_FrameChannelSocket<\n T extends Record<string, any> = Record<string, any>\n> extends A_Entity<\n A_FrameChannelSocket_Init<T>,\n A_FrameChannelSocket_Serialized<T>\n> {\n\n // ─── Static decorator ──────────────────────────────────────────────────────\n\n /**\n * Registers a method as a handler for a specific WebSocket event type sent\n * by the server. Mirrors `A_FrameChannelStream.onEvent()`.\n *\n * Usage (inside a subclass):\n * @A_FrameChannelSocket.onEvent('my_event')\n * async onMyEvent(@A_Inject(A_FrameChannelEvent) event: A_FrameChannelEvent) { ... }\n *\n * Omit the name (or use `'all'`) to receive every event type.\n */\n static onEvent(name?: string) {\n const featureName = (name || 'all') + A_FrameChannelSocketFeatures.onEvent;\n\n return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {\n return A_Feature.Extend({\n name: featureName,\n scope: [target.constructor],\n })(target, propertyKey, descriptor);\n };\n }\n\n // ─── Protected state ──────────────────────────────────────────────────────\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_FrameChannelSocketStatusNames;\n protected _initDate!: string;\n\n // ──────────────────────────────────────────────────────────────────────────\n // SEND CAPABILITY\n // Attached by the connect feature once the WebSocket handshake succeeds.\n // Calling it serialises `data` to JSON and writes a masked WS text frame to\n // the underlying raw socket. Cleared to null on close / failure.\n // ──────────────────────────────────────────────────────────────────────────\n protected _sendFn: ((data: string) => void) | null = null;\n\n // ─── Computed getters ─────────────────────────────────────────────────────\n\n /** Scope allocated for the lifetime of this socket session. */\n get scope(): A_Scope {\n if (!this._scope) {\n this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));\n }\n return this._scope;\n }\n\n get method(): string { return this._method; }\n get path(): string { return this._path; }\n get body(): T | undefined { return this._body; }\n get status(): A_FrameChannelSocketStatusNames { return this._status; }\n get error(): A_Error | undefined { return this._error; }\n get initDate(): Date { return new Date(this._initDate); }\n\n // ─── Connect-feature interface ────────────────────────────────────────────\n\n /**\n * Called by the connect feature immediately after a successful handshake.\n * Transitions status Connecting → Open and stores the send callback.\n */\n attachSendFn(fn: (data: string) => void): void {\n this._sendFn = fn;\n this._status = A_FrameChannelSocketStatuses.Open;\n }\n\n // ─── Public API ───────────────────────────────────────────────────────────\n\n /**\n * Send an event to the server over the open WebSocket connection.\n *\n * The event is serialised as `{ type, data }`, matching the shape the server\n * uses for events it pushes to the client — keeping both directions symmetric.\n *\n * @throws {A_FrameChannelError} if the socket is not open.\n */\n send(event: A_FrameChannelEvent): void {\n if (!this._sendFn || this._status !== A_FrameChannelSocketStatuses.Open) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Cannot send event \"${event.name}\": WebSocket is not open (status: ${this._status})`,\n });\n }\n\n this._sendFn(JSON.stringify({ type: event.name, data: event.data }));\n }\n\n // ─── Lifecycle ────────────────────────────────────────────────────────────\n\n complete(): void {\n this._sendFn = null;\n this._status = A_FrameChannelSocketStatuses.Closed;\n }\n\n fail(error: A_Error): void {\n this._sendFn = null;\n this._status = A_FrameChannelSocketStatuses.Closed;\n this._error = error;\n }\n\n destroy(): Promise<void> | void {\n this.scope.destroy();\n }\n\n /**\n * Dispatch an incoming server event to all registered `@onEvent` handlers.\n * Mirrors `A_FrameChannelStream.propagate()`.\n */\n async propagate<D extends Record<string, any>>(name: string, data?: D): Promise<void> {\n const eventFragment = new A_FrameChannelEvent<D>(name, data);\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannelSocket.propagate',\n fragments: [eventFragment],\n }).inherit(A_Context.scope(this));\n\n try {\n const callName = (name || 'all') + A_FrameChannelSocketFeatures.onEvent;\n await this.call(callName, executionScope);\n executionScope.destroy();\n } catch {\n executionScope.destroy();\n }\n }\n\n // ─── A_Entity serialisation ───────────────────────────────────────────────\n\n fromNew(newEntity: A_FrameChannelSocket_Init<T>): void {\n this._method = newEntity.method;\n this._path = newEntity.path;\n this._body = newEntity.body;\n this._status = A_FrameChannelSocketStatuses.Connecting;\n this._initDate = new Date().toISOString();\n }\n\n fromJSON(serialized: A_FrameChannelSocket_Serialized<T>): void {\n this._method = serialized.method;\n this._path = serialized.path;\n this._body = serialized.body;\n this._status = serialized.status;\n this._initDate = serialized.initDate;\n }\n\n toJSON(): A_FrameChannelSocket_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_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}"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-G7MKGKG5.mjs';import {A_Entity}from'@adaas/a-concept';var o={Extract:"_A_FRAME_SCHEMA_EXTRACT"};var a=class extends A_Entity{static get concept(){return "a-frame"}get prompt(){return this._prompt}get schema(){return this._schema}get options(){return this._options}get data(){return this._data}get model(){return this._model}get date(){return this._date}get isExtracted(){return this._data!==void 0}fromNew(e){super.fromNew(e),this._prompt=e.prompt,this._schema=e.schema,this._options=e.options?.model?e.options:{model:a$1.NOVA,...e.options};}fromJSON(e){this._prompt=e.prompt,this._schema=e.schema,this._data=e.data,this._model=e.model,this._date=e.date,this._aFrameVersion=e.aFrameVersion,this._aFrameServerVersion=e.aFrameServerVersion;}toJSON(){return {...super.toJSON(),prompt:this._prompt,schema:this._schema,data:this._data,model:this._model,date:this._date,aFrameVersion:this._aFrameVersion,aFrameServerVersion:this._aFrameServerVersion}}extract(e){return this.call(o.Extract,e)}hydrateFromExtraction(e,r){this._data=e,this._model=r.model,this._date=r.date,this._aFrameVersion=r.aFrameVersion,this._aFrameServerVersion=r.aFrameServerVersion;}};export{o as a,a as b};//# sourceMappingURL=chunk-2RNFZSBL.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-2RNFZSBL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-FrameSchema/A-FrameSchema.constants.ts","../../src/lib/A-FrameSchema/A-FrameSchema.entity.ts"],"names":["A_FrameSchemaFeatures","A_FrameSchema","A_Entity","init","A_FRAME_MODELS","serialized","scope","data","meta"],"mappings":"oFAAO,IAAMA,EAAwB,CAEjC,OAAA,CAAS,yBACb,ECiCO,IAAMC,EAAN,cACKC,QAA6D,CAErE,WAAW,OAAA,EAAkB,CACzB,OAAO,SACX,CAgBA,IAAI,MAAA,EAAiB,CACjB,OAAO,IAAA,CAAK,OAChB,CAGA,IAAI,MAAA,EAA2D,CAC3D,OAAO,IAAA,CAAK,OAChB,CAGA,IAAI,SAA4C,CAC5C,OAAO,KAAK,QAChB,CAMA,IAAI,IAAA,EAAsB,CACtB,OAAO,IAAA,CAAK,KAChB,CAGA,IAAI,KAAA,EAA4B,CAC5B,OAAO,IAAA,CAAK,MAChB,CAGA,IAAI,IAAA,EAA2B,CAC3B,OAAO,IAAA,CAAK,KAChB,CAGA,IAAI,aAAuB,CACvB,OAAO,KAAK,KAAA,GAAU,MAC1B,CAKA,OAAA,CAAQC,CAAAA,CAAmC,CACvC,MAAM,OAAA,CAAQA,CAAI,EAClB,IAAA,CAAK,OAAA,CAAUA,EAAK,MAAA,CACpB,IAAA,CAAK,OAAA,CAAUA,CAAAA,CAAK,MAAA,CAEpB,IAAA,CAAK,SAAWA,CAAAA,CAAK,OAAA,EAAS,MACxBA,CAAAA,CAAK,OAAA,CACL,CAAE,KAAA,CAAOC,GAAAA,CAAe,IAAA,CAAM,GAAGD,CAAAA,CAAK,OAAQ,EACxD,CAEA,QAAA,CAASE,EAA+C,CACpD,IAAA,CAAK,QAAUA,CAAAA,CAAW,MAAA,CAC1B,KAAK,OAAA,CAAUA,CAAAA,CAAW,OAC1B,IAAA,CAAK,KAAA,CAAQA,EAAW,IAAA,CACxB,IAAA,CAAK,OAASA,CAAAA,CAAW,KAAA,CACzB,IAAA,CAAK,KAAA,CAAQA,CAAAA,CAAW,IAAA,CACxB,KAAK,cAAA,CAAiBA,CAAAA,CAAW,cACjC,IAAA,CAAK,oBAAA,CAAuBA,EAAW,oBAC3C,CAEA,QAAsC,CAClC,OAAO,CACH,GAAG,KAAA,CAAM,QAAO,CAChB,MAAA,CAAQ,KAAK,OAAA,CACb,MAAA,CAAQ,IAAA,CAAK,OAAA,CACb,IAAA,CAAM,IAAA,CAAK,MACX,KAAA,CAAO,IAAA,CAAK,OACZ,IAAA,CAAM,IAAA,CAAK,MACX,aAAA,CAAe,IAAA,CAAK,eACpB,mBAAA,CAAqB,IAAA,CAAK,oBAC9B,CACJ,CAWA,QAAQC,CAAAA,CAAuC,CAC3C,OAAO,IAAA,CAAK,IAAA,CAAKN,CAAAA,CAAsB,OAAA,CAASM,CAAK,CACzD,CAKA,qBAAA,CAAsBC,CAAAA,CAASC,EAA0C,CACrE,IAAA,CAAK,MAAQD,CAAAA,CACb,IAAA,CAAK,MAAA,CAASC,CAAAA,CAAK,KAAA,CACnB,IAAA,CAAK,MAAQA,CAAAA,CAAK,IAAA,CAClB,KAAK,cAAA,CAAiBA,CAAAA,CAAK,cAC3B,IAAA,CAAK,oBAAA,CAAuBA,CAAAA,CAAK,oBACrC,CACJ","file":"chunk-2RNFZSBL.mjs","sourcesContent":["export const A_FrameSchemaFeatures = {\n /** POST /api/v1/schema/extract — extract structured data from a prompt */\n Extract: '_A_FRAME_SCHEMA_EXTRACT',\n} as const;\n","import { A_Entity, A_Scope } from \"@adaas/a-concept\";\nimport {\n A_FrameSchema_Init,\n A_FrameSchema_Serialized,\n A_FrameSchema_ExtractionMeta,\n A_FrameSchemaOptions,\n} from \"./A-FrameSchema.types\";\nimport { A_FrameSchemaFeatures } from \"./A-FrameSchema.constants\";\nimport { A_FRAME_MODELS } from \"../A-FrameModels/A-FrameModels.constants\";\n\n\n/**\n * A_FrameSchema<T>\n *\n * Sends a natural-language prompt together with a schema descriptor to the\n * server's `/api/v1/schema/extract` endpoint (Nova model). The server\n * returns a structured JSON object that maps the prompt's content to the\n * fields described by `schema`.\n *\n * Generic parameter `T` constrains the shape of the extracted `data` getter\n * so call-sites get full type-safety without casting.\n *\n * Usage:\n * ```ts\n * const scheme = new A_FrameSchema<{ city: string; date: string }>({\n * prompt: 'Book a flight to Paris next Monday.',\n * schema: { city: 'string', date: 'string' },\n * });\n * container.scope.register(scheme);\n * await scheme.extract();\n *\n * console.log(scheme.data); // { city: 'Paris', date: '...' }\n * console.log(scheme.model); // physical model name returned by the server\n * console.log(scheme.isExtracted); // true\n * ```\n */\nexport class A_FrameSchema<T extends Record<string, unknown> = Record<string, unknown>>\n extends A_Entity<A_FrameSchema_Init<T>, A_FrameSchema_Serialized<T>> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n protected _prompt!: string;\n protected _schema!: Record<keyof T, string | Record<string, string>>;\n protected _options?: A_FrameSchemaOptions;\n\n protected _data?: T;\n protected _model?: string;\n protected _date?: string;\n protected _aFrameVersion?: string;\n protected _aFrameServerVersion?: string;\n\n\n // ─── Getters ──────────────────────────────────────────────────────────────\n\n /** The natural-language input prompt used for extraction. */\n get prompt(): string {\n return this._prompt;\n }\n\n /** The schema descriptor passed at construction time. */\n get schema(): Record<keyof T, string | Record<string, string>> {\n return this._schema;\n }\n\n /** Configured options (model, system, temperature, max_tokens). */\n get options(): A_FrameSchemaOptions | undefined {\n return this._options;\n }\n\n /**\n * The structured data extracted by the model.\n * Returns `undefined` until `extract()` has been called successfully.\n */\n get data(): T | undefined {\n return this._data;\n }\n\n /** Physical model name returned by the server after extraction. */\n get model(): string | undefined {\n return this._model;\n }\n\n /** ISO timestamp string of when the extraction was performed. */\n get date(): string | undefined {\n return this._date;\n }\n\n /** `true` once `extract()` has been called and data is populated. */\n get isExtracted(): boolean {\n return this._data !== undefined;\n }\n\n\n // ─── Lifecycle ────────────────────────────────────────────────────────────\n\n fromNew(init: A_FrameSchema_Init<T>): void {\n super.fromNew(init);\n this._prompt = init.prompt;\n this._schema = init.schema;\n // Default to Nova — the structured-extraction model\n this._options = init.options?.model\n ? init.options\n : { model: A_FRAME_MODELS.NOVA, ...init.options };\n }\n\n fromJSON(serialized: A_FrameSchema_Serialized<T>): void {\n this._prompt = serialized.prompt;\n this._schema = serialized.schema as Record<keyof T, string | Record<string, string>>;\n this._data = serialized.data;\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_FrameSchema_Serialized<T> {\n return {\n ...super.toJSON(),\n prompt: this._prompt,\n schema: this._schema as Record<string, string | Record<string, string>>,\n data: this._data,\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 * Sends the prompt and schema to the server for structured extraction.\n * After completion, `data` will be populated with a typed `T` object.\n *\n * The feature is implemented by `A_FrameChannel.extractSchema`.\n */\n extract(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameSchemaFeatures.Extract, scope);\n }\n\n\n // ─── Hydration ────────────────────────────────────────────────────────────\n\n hydrateFromExtraction(data: T, meta: A_FrameSchema_ExtractionMeta): void {\n this._data = data;\n this._model = meta.model;\n this._date = meta.date;\n this._aFrameVersion = meta.aFrameVersion;\n this._aFrameServerVersion = meta.aFrameServerVersion;\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {A_Entity}from'@adaas/a-concept';var n=class s extends A_Entity{static get concept(){return "a-frame"}constructor(t){super(),this.values=t instanceof Float32Array?t:new Float32Array(t);}get dimensions(){return this.values.length}get length(){return this.values.length}isEqualTo(t){if(this.length!==t.length)return false;for(let e=0;e<this.length;e++)if(this.values[e]!==t.values[e])return false;return true}magnitude(){let t=0;for(let e=0;e<this.values.length;e++)t+=this.values[e]**2;return Math.sqrt(t)}normalize(){let t=this.magnitude();if(t===0)return this;let e=new Float32Array(this.length);for(let r=0;r<this.length;r++)e[r]=this.values[r]/t;return new s(e)}dot(t){this.assertSameLength(t);let e=0;for(let r=0;r<this.length;r++)e+=this.values[r]*t.values[r];return e}cosineSimilarity(t){let e=this.magnitude(),r=t.magnitude();return e===0||r===0?0:this.normalize().dot(t.normalize())}assertSameLength(t){if(this.length!==t.length)throw new Error(`Embedding dimension mismatch: ${this.length} vs ${t.length}`)}toArray(){return Array.from(this.values)}};export{n as a};//# sourceMappingURL=chunk-46LRNZRG.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-46LRNZRG.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-FrameVector/A-FrameVector.entity.ts"],"names":["A_FrameVector","_A_FrameVector","A_Entity","values","vector","i","sum","mag","normalized","other","magA","magB"],"mappings":"wCAEO,IAAMA,CAAAA,CAAN,MAAMC,CAAAA,SAAsBC,QAAS,CAExC,WAAW,OAAA,EAAkB,CACzB,OAAO,SACX,CAIA,WAAA,CAAYC,CAAAA,CAAiC,CACzC,KAAA,GACA,IAAA,CAAK,MAAA,CAASA,CAAAA,YAAkB,YAAA,CAC1BA,CAAAA,CACA,IAAI,aAAaA,CAAM,EACjC,CAEA,IAAI,UAAA,EAAqB,CACrB,OAAO,IAAA,CAAK,MAAA,CAAO,MACvB,CAEA,IAAI,MAAA,EAAiB,CACjB,OAAO,IAAA,CAAK,MAAA,CAAO,MACvB,CAGA,SAAA,CAAUC,CAAAA,CAAgC,CACtC,GAAI,IAAA,CAAK,MAAA,GAAWA,CAAAA,CAAO,MAAA,CAAQ,OAAO,OAC1C,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAI,IAAA,CAAK,MAAA,CAAQA,IAC7B,GAAI,IAAA,CAAK,MAAA,CAAOA,CAAC,CAAA,GAAMD,CAAAA,CAAO,OAAOC,CAAC,CAAA,CAAG,OAAO,MAAA,CAEpD,OAAO,KACX,CAEA,SAAA,EAAoB,CAChB,IAAIC,CAAAA,CAAM,CAAA,CACV,IAAA,IAASD,CAAAA,CAAI,EAAGA,CAAAA,CAAI,IAAA,CAAK,MAAA,CAAO,MAAA,CAAQA,CAAAA,EAAAA,CACpCC,CAAAA,EAAO,KAAK,MAAA,CAAOD,CAAC,CAAA,EAAK,CAAA,CAE7B,OAAO,IAAA,CAAK,KAAKC,CAAG,CACxB,CAEA,SAAA,EAA2B,CACvB,IAAMC,CAAAA,CAAM,IAAA,CAAK,SAAA,EAAU,CAC3B,GAAIA,CAAAA,GAAQ,CAAA,CAAG,OAAO,KAEtB,IAAMC,CAAAA,CAAa,IAAI,YAAA,CAAa,IAAA,CAAK,MAAM,EAC/C,IAAA,IAASH,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAI,IAAA,CAAK,MAAA,CAAQA,IAC7BG,CAAAA,CAAWH,CAAC,CAAA,CAAI,IAAA,CAAK,MAAA,CAAOA,CAAC,EAAIE,CAAAA,CAGrC,OAAO,IAAIN,CAAAA,CAAcO,CAAU,CACvC,CAEA,GAAA,CAAIC,CAAAA,CAA8B,CAC9B,IAAA,CAAK,gBAAA,CAAiBA,CAAK,EAE3B,IAAIH,CAAAA,CAAM,CAAA,CACV,IAAA,IAASD,CAAAA,CAAI,CAAA,CAAGA,EAAI,IAAA,CAAK,MAAA,CAAQA,CAAAA,EAAAA,CAC7BC,CAAAA,EAAO,IAAA,CAAK,MAAA,CAAOD,CAAC,CAAA,CAAII,CAAAA,CAAM,MAAA,CAAOJ,CAAC,CAAA,CAE1C,OAAOC,CACX,CAMA,gBAAA,CAAiBG,CAAAA,CAA8B,CAC3C,IAAMC,CAAAA,CAAO,IAAA,CAAK,WAAU,CACtBC,CAAAA,CAAOF,CAAAA,CAAM,SAAA,EAAU,CAC7B,OAAIC,IAAS,CAAA,EAAKC,CAAAA,GAAS,CAAA,CAAU,CAAA,CAC9B,IAAA,CAAK,SAAA,EAAU,CAAE,GAAA,CAAIF,CAAAA,CAAM,SAAA,EAAW,CACjD,CAEQ,gBAAA,CAAiBA,EAAsB,CAC3C,GAAI,IAAA,CAAK,MAAA,GAAWA,CAAAA,CAAM,MAAA,CACtB,MAAM,IAAI,KAAA,CACN,CAAA,8BAAA,EAAiC,IAAA,CAAK,MAAM,CAAA,IAAA,EAAOA,EAAM,MAAM,CAAA,CACnE,CAER,CAGA,OAAA,EAAoB,CAChB,OAAO,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,MAAM,CACjC,CACJ","file":"chunk-46LRNZRG.mjs","sourcesContent":["import { A_Entity } from \"@adaas/a-concept\"\n\nexport class A_FrameVector extends A_Entity {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n readonly values: Float32Array\n\n constructor(values: number[] | Float32Array) {\n super();\n this.values = values instanceof Float32Array\n ? values\n : new Float32Array(values)\n }\n\n get dimensions(): number {\n return this.values.length\n }\n\n get length(): number {\n return this.values.length\n }\n\n\n isEqualTo(vector: A_FrameVector): boolean {\n if (this.length !== vector.length) return false;\n for (let i = 0; i < this.length; i++) {\n if (this.values[i] !== vector.values[i]) return false;\n }\n return true;\n }\n\n magnitude(): number {\n let sum = 0\n for (let i = 0; i < this.values.length; i++) {\n sum += this.values[i] ** 2\n }\n return Math.sqrt(sum)\n }\n\n normalize(): A_FrameVector {\n const mag = this.magnitude()\n if (mag === 0) return this\n\n const normalized = new Float32Array(this.length)\n for (let i = 0; i < this.length; i++) {\n normalized[i] = this.values[i] / mag\n }\n\n return new A_FrameVector(normalized)\n }\n\n dot(other: A_FrameVector): number {\n this.assertSameLength(other)\n\n let sum = 0\n for (let i = 0; i < this.length; i++) {\n sum += this.values[i] * other.values[i]\n }\n return sum\n }\n\n /**\n * Returns the cosine similarity between this vector and `other` (range −1 to 1).\n * Vectors with zero magnitude return 0.\n */\n cosineSimilarity(other: A_FrameVector): number {\n const magA = this.magnitude();\n const magB = other.magnitude();\n if (magA === 0 || magB === 0) return 0;\n return this.normalize().dot(other.normalize());\n }\n\n private assertSameLength(other: A_FrameVector) {\n if (this.length !== other.length) {\n throw new Error(\n `Embedding dimension mismatch: ${this.length} vs ${other.length}`\n )\n }\n }\n\n\n toArray(): number[] {\n return Array.from(this.values)\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-UNIKTCXL.mjs';import {b as b$3}from'./chunk-VSSANMPF.mjs';import {a as a$3}from'./chunk-INS7RO3B.mjs';import {c,b as b$2}from'./chunk-CT67Y46H.mjs';import {b as b$1,a as a$2}from'./chunk-BIBPE2GT.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$3(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 g=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 g({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 g({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 g({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 g({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 g({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 g({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 f extends A_Fragment{constructor(){if(f._instance)return f._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 f._instance||(f._instance=new f),f._instance}static fromBundle(e){let t=f.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 f 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"}getDefinitionsFileName(e){return `${e}.definitions${f.fileExtension}`}getNamespaceFileName(){return `.namespaces${f.fileExtension}`}static get definitionsFilePattern(){return `*.definitions${f.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$3.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$3.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$3.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$3.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$3.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$3.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(a$1)),b(1,A_Inject(g)),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(a$1)),b(1,A_Inject(g)),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(a$1)),b(1,A_Inject(g)),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(a$1)),b(1,A_Inject(g)),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(a$1)),b(1,A_Inject(g)),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(a$1)),b(1,A_Inject(g)),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$2.Load,scope:[b$1]}),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$2.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,g as c,A as d,R as e,D as f,w as g,v as h};//# sourceMappingURL=chunk-52HFO3OY.mjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-52HFO3OY.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","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","namespace","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":"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","file":"chunk-52HFO3OY.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 /** Returns the definitions file name for a given namespace id, e.g. `my-ns.definitions.aframe` */\n getDefinitionsFileName(namespaceId: string) {\n return `${namespaceId}.definitions${A_FrameStorageCodec.fileExtension}`;\n }\n\n /** Returns the reserved namespaces index file name: `.namespaces.aframe` */\n getNamespaceFileName() {\n return `.namespaces${A_FrameStorageCodec.fileExtension}`;\n }\n\n /** Glob pattern that matches all definitions files under a directory, e.g. `*.definitions.aframe` */\n static get definitionsFilePattern() {\n return `*.definitions${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,3 @@
|
|
|
1
|
+
import {a as a$1}from'./chunk-H6OZP4ZV.mjs';import {a as a$2}from'./chunk-46LRNZRG.mjs';import {a}from'./chunk-G7MKGKG5.mjs';import {A_Entity}from'@adaas/a-concept';var m="default",t={Load:"_A_FRAME_SEGMENT_LOAD",Save:"_A_FRAME_SEGMENT_SAVE",Embed:"_A_FRAME_SEGMENT_EMBED",Destroy:"_A_FRAME_SEGMENT_DESTROY"};var i=class extends A_Entity{static get concept(){return "a-frame"}get id(){return this.aseid.id}get content(){return this._content}get hash(){return this._hash}get vector(){return this._vector}get embedding(){return this._vector?.values??null}get aFrameServerVersion(){return this._aFrameServerVersion}get aFrameVersion(){return this._aFrameVersion}get isEmbed(){return this._vector!==void 0}get options(){return this._options}save(e){return this.call(t.Save,e)}destroy(e){return this.call(t.Destroy,e)}async load(e){return this.call(t.Load,e)}update(e){e.content&&(this._content=e.content);}embed(e){return this.call(t.Embed,e)}fromNew(e){super.fromNew(e),this._content=e.content,this._options={model:a.ANTARES,...e.options};let s=this._content;this._hash=a$1.fnv1a(s);}fromJSON(e){this._content=e.content,this._hash=e.hash,this._vector=e.embedding?new a$2(e.embedding):void 0,this._embeddedAt=e.embeddedAt,this._model=e.model,this._credentialId=e.credentialId,this._aFrameVersion=e.aFrameVersion,this._aFrameServerVersion=e.aFrameServerVersion,e.task&&(this._options={...this._options,task:e.task});}toJSON(){return {...super.toJSON(),hash:this._hash,content:this._content,embedding:this._vector?.values,embeddedAt:this._embeddedAt??new Date().toISOString(),task:this._options?.task,model:this._model,credentialId:this._credentialId,aFrameVersion:this._aFrameVersion,aFrameServerVersion:this._aFrameServerVersion}}hydrateFromRecord(e){if(e.hash!==this._hash)throw new Error(`A_FrameSegment.hydrateFromRecord: hash mismatch for "${this._content}" (expected ${this._hash}, got ${e.hash})`);this._vector=new a$2(e.embedding),this._embeddedAt=e.embeddedAt,e.task&&(this._options={...this._options,task:e.task});}hydrateFromEmbedding(e){this._vector=new a$2(e);}toString(){return [`// content: ${this._content}`].join(`
|
|
2
|
+
`)}};export{m as a,t as b,i as c};//# sourceMappingURL=chunk-643KGQKR.mjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-643KGQKR.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/A-FrameSegment/A-FrameSegment.constants.ts","../../src/lib/A-FrameSegment/A-FrameSegment.entity.ts"],"names":["A_FRAME_DEFAULT_SEGMENT_KEY","A_FrameSegmentFeatures","A_FrameSegment","A_Entity","scope","updates","init","A_FRAME_MODELS","hashSource","A_FrameHashHelper","serialized","A_FrameVector","record","embedding"],"mappings":"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","file":"chunk-643KGQKR.mjs","sourcesContent":["import { A_FrameSegment } from \"./A-FrameSegment.entity\";\n\n\nexport const A_FRAME_DEFAULT_SEGMENT_KEY = 'default';\n\n\nexport const A_FrameSegmentFeatures = {\n Load: '_A_FRAME_SEGMENT_LOAD',\n Save: '_A_FRAME_SEGMENT_SAVE',\n Embed: '_A_FRAME_SEGMENT_EMBED',\n Destroy: '_A_FRAME_SEGMENT_DESTROY',\n} as const;","import { A_Context, A_Entity, A_FormatterHelper, A_Scope } from \"@adaas/a-concept\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport {\n A_FrameSegment_Init,\n A_FrameSegment_Serialized,\n A_FrameSegment_Record,\n A_FrameSegment_EmbeddingMeta,\n A_FrameSegmentOptions,\n} from \"./A-FrameSegment.types\";\nimport { A_FrameHashHelper } from \"@adaas/a-frame/helpers/Hash.helper\";\nimport { A_FrameSegmentFeatures } from \"./A-FrameSegment.constants\";\nimport { A_FRAME_MODELS } from \"../A-FrameModels\";\n\n\nexport class A_FrameSegment extends A_Entity<A_FrameSegment_Init, A_FrameSegment_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n protected _content!: string;\n protected _hash!: string;\n protected _vector?: A_FrameVector;\n protected _embeddedAt?: string;\n protected _model?: string;\n protected _credentialId?: string;\n protected _aFrameVersion?: string;\n protected _aFrameServerVersion?: string;\n protected _options?: Partial<A_FrameSegmentOptions>;\n\n\n // ─── Getters ──────────────────────────────────────────────────────────────\n\n get id(): string {\n return this.aseid.id;\n }\n\n get content(): string {\n return this._content;\n }\n\n get hash(): string {\n return this._hash;\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 //-----------------------------------------------------------------------------------------------------\n //--------------------------------------- Computed properties -----------------------------------------\n //-----------------------------------------------------------------------------------------------------\n get aFrameServerVersion(): string | undefined {\n return this._aFrameServerVersion;\n }\n\n get aFrameVersion(): string | undefined {\n return this._aFrameVersion;\n }\n\n get isEmbed(): boolean {\n return this._vector !== undefined;\n }\n\n get options(): Partial<A_FrameSegmentOptions> | undefined {\n return this._options;\n }\n /**\n * Saves Segment to storage. The actual implementation of saving is handled by the A_FrameSegmentFeatures.Save feature, which can be implemented by the environment to persist the definition to 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_FrameSegmentFeatures.Save, scope);\n }\n /**\n * Deletes the namespace from storage. The actual implementation of deletion is handled by the A_FrameSegmentFeatures.Destroy feature, which can be implemented by the environment to remove the namespace 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_FrameSegmentFeatures.Destroy, scope);\n }\n /**\n * Loads the namespace from storage. The actual implementation of loading is handled by the A_FrameSegmentFeatures.Load feature, which can be implemented by the environment to retrieve the namespace from the database, file system, or other storage mechanism and populate the entity's properties accordingly.\n * \n * @param scope \n * @returns \n */\n async load(scope?: A_Scope): Promise<void> {\n return this.call(A_FrameSegmentFeatures.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_FrameSegment, 'content'>>): void {\n if (updates.content) this._content = updates.content;\n }\n /**\n * Generates an embedding vector for the namespace using the A_FrameSegmentFeatures.Embed feature. This typically involves sending the namespace's content (name + description) to an embedding model and storing the resulting vector in the entity. Once embedded, the namespace can be searched using its vector representation.\n * \n * @param scope \n * @returns \n */\n embed(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameSegmentFeatures.Embed, scope);\n }\n\n // ─── A_Entity lifecycle ───────────────────────────────────────────────────\n\n fromNew(init: A_FrameSegment_Init): void {\n super.fromNew(init);\n\n this._content = init.content;\n this._options = { model: A_FRAME_MODELS.ANTARES, ...init.options };\n\n const hashSource = this._content;\n\n this._hash = A_FrameHashHelper.fnv1a(hashSource);\n }\n\n fromJSON(serialized: A_FrameSegment_Serialized): void {\n this._content = serialized.content;\n this._hash = serialized.hash;\n this._vector = serialized.embedding ? new A_FrameVector(serialized.embedding) : undefined;\n this._embeddedAt = serialized.embeddedAt;\n this._model = serialized.model;\n this._credentialId = serialized.credentialId;\n this._aFrameVersion = serialized.aFrameVersion;\n this._aFrameServerVersion = serialized.aFrameServerVersion;\n if (serialized.task) {\n this._options = { ...this._options, task: serialized.task };\n }\n }\n\n\n\n toJSON(): A_FrameSegment_Serialized {\n return {\n ...super.toJSON(),\n hash: this._hash,\n content: this._content,\n embedding: this._vector?.values,\n embeddedAt: this._embeddedAt ?? new Date().toISOString(),\n task: this._options?.task,\n model: this._model,\n credentialId: this._credentialId,\n aFrameVersion: this._aFrameVersion,\n aFrameServerVersion: this._aFrameServerVersion,\n };\n }\n\n\n // ─── Embedding hydration ──────────────────────────────────────────────────\n\n hydrateFromRecord(record: A_FrameSegment_Record): void {\n if (record.hash !== this._hash) {\n throw new Error(\n `A_FrameSegment.hydrateFromRecord: hash mismatch for \"${this._content}\" ` +\n `(expected ${this._hash}, got ${record.hash})`\n );\n }\n this._vector = new A_FrameVector(record.embedding);\n this._embeddedAt = record.embeddedAt;\n if (record.task) {\n this._options = { ...this._options, task: record.task };\n }\n }\n\n /**\n * Populate the embedding vector directly from a raw `Float32Array`.\n * Use this when the vector is obtained externally (e.g. from a server\n * response) without going through the full `embed()` feature pipeline.\n */\n hydrateFromEmbedding(embedding: Float32Array): void {\n this._vector = new A_FrameVector(embedding);\n }\n\n /**\n * Build the text string sent to the embedding model.\n * Uses content so the vector captures semantic intent.\n */\n toString(): string {\n const parts: string[] = [`// content: ${this._content}`];\n return parts.join('\\n');\n }\n}\n\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {b as b$6,a as a$5}from'./chunk-2RNFZSBL.mjs';import {d as d$1,a as a$3,b as b$4}from'./chunk-YTAMZDWC.mjs';import {e,a as a$2,d}from'./chunk-AET6XULU.mjs';import {b as b$7,a as a$8}from'./chunk-LZACYSUC.mjs';import {a as a$7}from'./chunk-VW2BZYNY.mjs';import {c,b as b$2}from'./chunk-CT67Y46H.mjs';import {b as b$5,a as a$4}from'./chunk-6NPQURSO.mjs';import {c as c$1,b as b$3}from'./chunk-643KGQKR.mjs';import {b as b$1,a as a$1}from'./chunk-FVH2EEVP.mjs';import {a as a$6}from'./chunk-46LRNZRG.mjs';import {a,b}from'./chunk-DMGQW3AO.mjs';import {A_Inject,A_Feature,A_Caller,A_Error,A_Entity,A_Context,A_Scope,A_Fragment,A_Component}from'@adaas/a-concept';var m={Request:"_A_FRAME_REQUEST",Socket:"_A_FRAME_SOCKET",Stream:"_A_FRAME_STREAM",Send:"_A_FRAME_SEND"},P={Closed:"closed"},N={open:"_A_FRAME_CHANNEL_STREAM_OPEN",send:"_A_FRAME_CHANNEL_STREAM_SEND",onEvent:"_A_FRAME_CHANNEL_STREAM_ON_EVENT",onError:"_A_FRAME_CHANNEL_STREAM_ON_ERROR",onComplete:"_A_FRAME_CHANNEL_STREAM_ON_COMPLETE",onClose:"_A_FRAME_CHANNEL_STREAM_ON_CLOSE"},Ee={Connecting:"connecting",Open:"open",Closed:"closed"},Se={onEvent:"_A_FRAME_CHANNEL_SOCKET_ON_EVENT",onError:"_A_FRAME_CHANNEL_SOCKET_ON_ERROR",onOpen:"_A_FRAME_CHANNEL_SOCKET_ON_OPEN",onClose:"_A_FRAME_CHANNEL_SOCKET_ON_CLOSE"};var i=class extends A_Fragment{constructor(r,n,s){super({name:"a-frame-channel-request"});this.method=r;this.path=n;this.body=s;}complete(r){this._response=r;}fail(r){this._error=r;}get response(){return this._response}get error(){return this._error}};var o=class extends A_Error{};o.InvalidRequest="InvalidRequest",o.Timeout="Timeout",o.RequestFailed="RequestFailed";var S=class extends A_Fragment{get A_FRAME_FILE_EXTENSION(){return ".aframe"}get A_FRAME_NAMESPACES_BIN(){return `__namespaces${this.A_FRAME_FILE_EXTENSION}`}get A_FRAME_SYNC(){return process.env.A_FRAME_SYNC!=="false"}get A_FRAME_TOKEN(){return process.env.A_FRAME_TOKEN||""}get A_FRAME_SERVER_URL(){return process.env.A_FRAME_SERVER_URL||"http://localhost:3663"}get A_FRAME_SERVER_API_KEY(){return process.env.A_FRAME_SERVER_API_KEY||""}get A_FRAME_STORAGE_DIR(){return process.env.A_FRAME_STORAGE_DIR||".aframe"}get A_FRAME_VERSION(){return a$8||"0.0.1"}get A_FRAME_REQUEST_TIMEOUT(){let e=process.env.A_FRAME_REQUEST_TIMEOUT,r=e?parseInt(e,10):NaN;return isNaN(r)?12e4:r}};var T={Init:"_A_FRAME_DYNAMIC_SESSION_INIT",Question:"_A_FRAME_DYNAMIC_SESSION_QUESTION",Answer:"_A_FRAME_DYNAMIC_SESSION_ANSWER",Destroy:"_A_FRAME_DYNAMIC_SESSION_DESTROY"};var D=class extends A_Entity{static get concept(){return "a-frame"}get scope(){return this._scope||(this._scope=A_Context.allocate(this,new A_Scope({name:`${this.aseid.id}-scope`}))),this._scope}get currentTurn(){return this._currentTurn}get initDate(){return new Date(this._initDate)}static onQuestion(){}static onAnswer(){}fromNew(e){this._turnsCount=e.turnsCount||5,this._currentTurn=0,this._initDate=new Date().toISOString();}fromJSON(e){this._turnsCount=e.turnsCount,this._currentTurn=e.currentTurn,this._initDate=e.initDate;}async init(){await this.call(T.Init);}async destroy(e){await this.call(T.Destroy,e);}async question(){this._currentTurn++,await this.call(T.Question);}async answer(){await this.call(T.Answer);}toJSON(){return {...super.toJSON(),turnsCount:this._turnsCount,currentTurn:this._currentTurn,initDate:this._initDate}}};var g=class extends A_Fragment{constructor(e,r){super({name:"a-frame-channel-event-"+e}),this._data=r,this._eventName=e;}get name(){return this._eventName}get data(){return this._data}};var C=class extends A_Entity{static onEvent(e){let r=(e||"all")+N.onEvent;return (n,s,t)=>A_Feature.Extend({name:r,scope:[n.constructor]})(n,s,t)}get scope(){return this._scope||(this._scope=A_Context.allocate(this,new A_Scope({name:`${this.aseid.id}-scope`}))),this._scope}get method(){return this._method}get path(){return this._path}get body(){return this._body}get status(){return this._status}get error(){return this._error}get initDate(){return new Date(this._initDate)}complete(){this._status=P.Closed;}fail(e){this._status=P.Closed,this._error=e;}destroy(){this.scope.destroy();}async open(){await this.call(N.open);}async send(){await this.call(N.send);}async propagate(e,r){let n=new g(e,r),s=new A_Scope({name:"A_FrameChannelStream.propagate",fragments:[n]}).inherit(this.scope);try{let t=(e||"all")+N.onEvent;await this.call(t,s),s.destroy();}catch{s.destroy();}}fromNew(e){this.aseid=this.generateASEID(),this._method=e.method,this._path=e.path,this._body=e.body,this._initDate=new Date().toISOString();}fromJSON(e){this._method=e.method,this._path=e.path,this._body=e.body,this._initDate=e.initDate;}toJSON(){return {...super.toJSON(),initDate:this._initDate,status:this._status,error:this._error?this._error.toJSON():void 0,method:this._method,path:this._path,body:this._body}}};var v=class extends C{constructor(){super(...arguments);this._resolvedComponents=[];}setRespondFn(r){this._respondFn=r;}get resolvedComponents(){return this._resolvedComponents}async onSearchComponent(r){if(!this._respondFn)return;let{requestId:n,vector:s}=r.data,t=new a$6(s??[]),l=a$7.search(t,{topK:1})[0];await this._respondFn(n,{component:l?.record?.name??null,score:l?.score??0});}async onStructureComplete(r){let{components:n}=r.data;this._resolvedComponents=Array.isArray(n)?n:[];}async onStructureError(r){let{message:n}=r.data??{};console.error("[A_FrameChannelDsgStream] Server reported structure error:",n??"unknown");}};a([C.onEvent("search_component"),b(0,A_Inject(g))],v.prototype,"onSearchComponent",1),a([C.onEvent("structure_complete"),b(0,A_Inject(g))],v.prototype,"onStructureComplete",1),a([C.onEvent("structure_error"),b(0,A_Inject(g))],v.prototype,"onStructureError",1);var A=class extends A_Component{async generate(e){let r=new i("POST","/api/v1/completions",{prompt:e,max_tokens:512}),n=new A_Scope({name:"A_FrameChannel.generate",fragments:[r]}).inherit(A_Context.scope(this));try{return await this.call(m.Request,n),n.destroy(),r}catch(s){throw n.destroy(),new o({title:o.RequestFailed,description:`Failed to generate completion: ${s instanceof Error?s.message:String(s)}`})}}async embed(e,r){let n=new i("POST","/api/v1/embeddings",{input:e,...r?.model&&{model:r.model},...r?.task&&{task:r.task}}),s=new A_Scope({name:"A_FrameChannel.embed",fragments:[n]}).inherit(A_Context.scope(this));try{return await this.call(m.Request,s),s.destroy(),n}catch(t){throw s.destroy(),new o({title:o.RequestFailed,description:`Failed to embed input: ${t instanceof Error?t.message:String(t)}`})}}async getCredentials(){let e=new i("GET","/api/v1/credentials/me"),r=new A_Scope({name:"A_FrameChannel.getCredentials",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(m.Request,r),r.destroy(),e}catch(n){throw r.destroy(),new o({title:o.RequestFailed,description:`Failed to get credentials: ${n instanceof Error?n.message:String(n)}`})}}async ping(){let e=new i("GET","/health"),r=new A_Scope({name:"A_FrameChannel.ping",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(m.Request,r),r.destroy(),e}catch{return r.destroy(),e}}async embedDefinition(e,r){let n=new i("POST","/api/v1/definition/embed",{definition:e.toJSON(),model:e.requestedModel}),s=new A_Scope({name:"A_FrameChannel.embedDefinition",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.data||!t.data[0]||!t.data[0].embedding)throw new o({title:o.InvalidRequest,description:`Invalid embedding response for definition "${e.name}"`});let _=new Float32Array(t.data[0].embedding);e.hydrateFromEmbedding(_,{model:t.model,dimensions:t.meta.dimensions,inputCount:t.meta.input_count,aFrameServerVersion:t.meta.server_version,aFrameVersion:r.A_FRAME_VERSION,credentialId:t.meta.credential_id,date:t.date,aFrameMeta:t.aFrameMeta});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to embed definition "${e.name}": ${t instanceof Error?t.message:String(t)}`})}}async embedNamespace(e,r){let n=new i("POST","/api/v1/namespace/embed",{namespace:e.toJSON(),model:e.requestedModel}),s=new A_Scope({name:"A_FrameChannel.embedNamespace",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.data||!t.data[0]||!t.data[0].embedding)throw new o({title:o.InvalidRequest,description:`Invalid embedding response for namespace "${e.name}"`});let _=new Float32Array(t.data[0].embedding);e.hydrateFromEmbedding(_,{model:t.model,dimensions:t.meta.dimensions,inputCount:t.meta.input_count,aFrameServerVersion:t.meta.server_version,aFrameVersion:r.A_FRAME_VERSION,credentialId:t.meta.credential_id,date:t.date});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to embed namespace "${e.name}": ${t instanceof Error?t.message:String(t)}`})}}async embedSegment(e,r){let n=new i("POST","/api/v1/segment/embed",{segment:e.toJSON(),task:e.options?.task,model:e.options?.model}),s=new A_Scope({name:"A_FrameChannel.embedNamespace",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.data||!t.data[0]||!t.data[0].embedding)throw new o({title:o.InvalidRequest,description:`Error during embed a segment: ${e.content}`});let _=new Float32Array(t.data[0].embedding);e.fromJSON({aseid:e.aseid.toString(),content:e.content,hash:e.hash,embedding:_,model:t.model,aFrameServerVersion:t.meta.server_version,aFrameVersion:r.A_FRAME_VERSION,credentialId:t.meta.credential_id,embeddedAt:t.date});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to embed segment with content "${e.content}": ${t instanceof Error?t.message:String(t)}`})}}async generateDynamicStructure(e,r,n){let s=new i("POST","/api/v1/dsg/stream/open"),t=new A_Scope({name:"A_FrameChannel.generateDynamicStructure:open",fragments:[s]}).inherit(A_Context.scope(this));await this.call(m.Request,t),t.destroy();let{channelId:_}=s.response,l=this,F=new v({method:"GET",path:`/api/v1/dsg/stream/${_}`});F.setRespondFn(async(O,se)=>{let oe=new i("POST","/api/v1/dsg/stream/respond",{requestId:O,data:se}),L=new A_Scope({name:"A_FrameChannel.generateDynamicStructure:respond",fragments:[oe]}).inherit(A_Context.scope(l));await l.call(m.Request,L),L.destroy();});let f=new A_Scope({name:"A_FrameChannel.generateDynamicStructure:stream",entities:[F]}).inherit(A_Context.scope(this)),I=this.call(m.Stream,f),h=new i("POST","/api/v1/dsg/structure/generate-stream",{channelId:_,prompt:e.prompt}),w=new A_Scope({name:"A_FrameChannel.generateDynamicStructure:generate",fragments:[h]}).inherit(A_Context.scope(this));await this.call(m.Request,w),w.destroy(),await I,f.destroy(),e.hydrateFromResolved(F.resolvedComponents,{model:"sse-stream",serverVersion:"0.0.0"});}async generateDynamicContent(e,r){let n=new i("POST","/api/v1/content/generate",{prompt:e.prompt,model:e.modelName,...e.systemPrompt!==void 0?{system:e.systemPrompt}:{}}),s=new A_Scope({name:"A_FrameChannel.generateDynamicContent",fragments:[n]}).inherit(A_Context.scope(this));await this.call(m.Request,s),s.destroy();let t=n.response,_=(t.segments??[]).map(l=>{let F=new c$1({content:l.content,options:{task:"document"}});return l.embedding?.length&&F.hydrateFromEmbedding(new Float32Array(l.embedding)),F});e.hydrateFromGeneration(_,{model:t.model,serverVersion:t.meta?.server_version??"0.0.0"});}async patchDynamicContent(e,r){let{instruction:n,segments:s}=r.params,t=new Map,_=s.map((h,w)=>{let O=`s${w}`;return t.set(O,String(h.id)),{id:O,index:w,text:h.content,vector:h.vector?Array.from(h.vector.values):void 0}}),l=new i("POST","/api/v1/content/patch",{prompt:e.prompt,segments:_,instruction:n,model:e.modelName,...e.systemPrompt!==void 0?{system:e.systemPrompt}:{}}),F=new A_Scope({name:"A_FrameChannel.patchDynamicContent",fragments:[l]}).inherit(A_Context.scope(this));await this.call(m.Request,F),F.destroy();let f=l.response,I=f.operations.map(h=>({...h,targetId:h.targetId?t.get(h.targetId)??h.targetId:h.targetId}));e.hydrateFromPatch({...f,operations:I},{model:f.model,serverVersion:f.meta?.server_version??"0.0.0"});}async generateCompletion(e,r){let n=new i("POST","/api/v1/completions/generate",{prompt:e.prompt,options:e.options}),s=new A_Scope({name:"A_FrameChannel.generateCompletion",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.text)throw new o({title:o.InvalidRequest,description:`Invalid completion response for prompt "${e.prompt}"`});e.hydrateFromGeneration({text:t.text,embedding:new Float32Array(t.embedding),model:t.model,date:t.date,aFrameVersion:r.A_FRAME_VERSION,aFrameServerVersion:t.meta.server_version});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to generate completion for prompt "${e.prompt}": ${t instanceof Error?t.message:String(t)}`})}}async extractSchema(e,r){let n=new i("POST","/api/v1/schema/extract",{prompt:e.prompt,schema:e.schema,options:e.options}),s=new A_Scope({name:"A_FrameChannel.extractSchema",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.data)throw new o({title:o.InvalidRequest,description:`Invalid scheme extraction response for prompt "${e.prompt}"`});e.hydrateFromExtraction(t.data,{model:t.model,date:t.date,aFrameVersion:r.A_FRAME_VERSION,aFrameServerVersion:t.meta.server_version});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to extract scheme for prompt "${e.prompt}": ${t instanceof Error?t.message:String(t)}`})}}};a([A_Feature.Extend({name:a$1.Embed,scope:[b$1]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"embedDefinition",1),a([A_Feature.Extend({name:b$2.Embed,scope:[c]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"embedNamespace",1),a([A_Feature.Extend({name:b$3.Embed,scope:[c$1]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"embedSegment",1),a([A_Feature.Extend({name:a$2.Generate,scope:[e]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(D)),b(2,A_Inject(d))],A.prototype,"generateDynamicStructure",1),a([A_Feature.Extend({name:a$3.Generate,scope:[d$1]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(b$4))],A.prototype,"generateDynamicContent",1),a([A_Feature.Extend({name:a$3.Patch,scope:[d$1]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(b$4))],A.prototype,"patchDynamicContent",1),a([A_Feature.Extend({name:a$4.Generate,scope:[b$5]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"generateCompletion",1),a([A_Feature.Extend({name:a$5.Extract,scope:[b$6]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"extractSchema",1);var $=class extends A{async request(e,r){let n=`${r.A_FRAME_SERVER_URL}${e.path}`,s=new AbortController,t=setTimeout(()=>{s.abort(),e.fail(new o({title:o.Timeout,description:`Request to ${e.path} timed out after 15 seconds`}));},15e3);try{let _=await fetch(n,{method:e.method,headers:{"Content-Type":"application/json",Authorization:`Bearer ${r.A_FRAME_SERVER_API_KEY}`},body:e.body!==void 0?JSON.stringify(e.body):void 0,signal:s.signal});e.complete(await _.json());}catch{e.fail(new o({title:o.RequestFailed,description:`Request to ${e.path} failed or timed out`}));}finally{clearTimeout(t);}}};a([A_Feature.Extend({name:m.Request,scope:[A]}),b(0,A_Inject(i)),b(1,A_Inject(b$7))],$.prototype,"request",1);
|
|
2
|
+
export{Ee as a,Se as b,o as c,g as d,$ as e};//# sourceMappingURL=chunk-66BBIZAM.mjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-66BBIZAM.mjs.map
|