@adaas/a-frame 0.0.23 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.conf/tsconfig.browser.json +7 -1
- package/.conf/tsconfig.node.json +7 -1
- package/dist/browser/A-FrameBrowserStorageBlobs.context-CZTTvpn2.d.mts +53 -0
- package/dist/browser/A-FrameBrowserStorageBlobs.context-CaGTyatz.d.mts +40 -0
- package/dist/browser/A-FrameBrowserStorageBlobs.context-DjeEH8cn.d.mts +53 -0
- package/dist/browser/A-FrameBrowserStorageBlobs.context-vCsuTea9.d.mts +40 -0
- package/dist/browser/A-FrameBundle.types-LzfgdMiQ.d.mts +71 -0
- package/dist/browser/A-FrameChannel.component-4mTNctXL.d.mts +704 -0
- package/dist/browser/A-FrameChannel.types-BXEKJK9t.d.mts +205 -0
- package/dist/browser/A-FrameChannel.types-Ba3wgUZj.d.mts +199 -0
- package/dist/browser/A-FrameChannel.types-BfINhQZe.d.mts +145 -0
- package/dist/browser/A-FrameChannel.types-DfacgYL1.d.mts +199 -0
- package/dist/browser/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
- package/dist/browser/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
- package/dist/browser/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
- package/dist/browser/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
- package/dist/browser/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
- package/dist/browser/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
- package/dist/browser/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
- package/dist/browser/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
- package/dist/browser/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
- package/dist/browser/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
- package/dist/browser/A-FrameEnv.types-DnK-CYVk.d.mts +21 -0
- package/dist/browser/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
- package/dist/browser/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
- package/dist/browser/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
- package/dist/browser/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
- package/dist/browser/bundle.d.mts +6 -2
- package/dist/browser/bundle.mjs +1 -1
- package/dist/browser/bundle.mjs.map +1 -1
- package/dist/browser/channel.d.mts +51 -74
- package/dist/browser/channel.mjs +1 -2
- package/dist/browser/channel.mjs.map +1 -1
- package/dist/browser/chunk-2RNFZSBL.mjs +2 -0
- package/dist/browser/chunk-2RNFZSBL.mjs.map +1 -0
- package/dist/browser/chunk-46LRNZRG.mjs +2 -0
- package/dist/browser/chunk-46LRNZRG.mjs.map +1 -0
- package/dist/browser/chunk-52HFO3OY.mjs +2 -0
- package/dist/browser/chunk-52HFO3OY.mjs.map +1 -0
- package/dist/browser/chunk-643KGQKR.mjs +3 -0
- package/dist/browser/chunk-643KGQKR.mjs.map +1 -0
- package/dist/browser/chunk-66BBIZAM.mjs +3 -0
- package/dist/browser/chunk-66BBIZAM.mjs.map +1 -0
- package/dist/browser/chunk-6NPQURSO.mjs +2 -0
- package/dist/browser/chunk-6NPQURSO.mjs.map +1 -0
- package/dist/browser/chunk-6WAOMX7M.mjs +2 -0
- package/dist/browser/chunk-6WAOMX7M.mjs.map +1 -0
- package/dist/browser/chunk-77HU5SRQ.mjs +2 -0
- package/dist/browser/chunk-77HU5SRQ.mjs.map +1 -0
- package/dist/browser/chunk-AET6XULU.mjs +2 -0
- package/dist/browser/chunk-AET6XULU.mjs.map +1 -0
- package/dist/browser/chunk-BIBPE2GT.mjs +3 -0
- package/dist/browser/chunk-BIBPE2GT.mjs.map +1 -0
- package/dist/browser/chunk-CDJKU4DK.mjs +2 -0
- package/dist/browser/chunk-CDJKU4DK.mjs.map +1 -0
- package/dist/browser/chunk-CT67Y46H.mjs +3 -0
- package/dist/browser/chunk-CT67Y46H.mjs.map +1 -0
- package/dist/browser/chunk-EFC7OUNO.mjs +2 -0
- package/dist/browser/chunk-EFC7OUNO.mjs.map +1 -0
- package/dist/browser/chunk-EJIX7H7A.mjs +2 -0
- package/dist/browser/chunk-EJIX7H7A.mjs.map +1 -0
- package/dist/browser/chunk-FHJ5ATND.mjs +3 -0
- package/dist/browser/chunk-FHJ5ATND.mjs.map +1 -0
- package/dist/browser/chunk-FVH2EEVP.mjs +3 -0
- package/dist/browser/chunk-FVH2EEVP.mjs.map +1 -0
- package/dist/browser/chunk-G6ULYKSU.mjs +2 -0
- package/dist/browser/chunk-G6ULYKSU.mjs.map +1 -0
- package/dist/browser/chunk-G7MKGKG5.mjs +2 -0
- package/dist/browser/chunk-G7MKGKG5.mjs.map +1 -0
- package/dist/browser/chunk-GOADBDTE.mjs +2 -0
- package/dist/browser/chunk-GOADBDTE.mjs.map +1 -0
- package/dist/browser/chunk-GOMJPGVB.mjs +3 -0
- package/dist/browser/chunk-GOMJPGVB.mjs.map +1 -0
- package/dist/browser/chunk-INQV5UZA.mjs +2 -0
- package/dist/browser/chunk-INQV5UZA.mjs.map +1 -0
- package/dist/browser/chunk-INXPVBTZ.mjs +2 -0
- package/dist/browser/chunk-INXPVBTZ.mjs.map +1 -0
- package/dist/browser/chunk-KFMVTZ7T.mjs +2 -0
- package/dist/browser/chunk-KFMVTZ7T.mjs.map +1 -0
- package/dist/browser/chunk-LK6C7C3S.mjs +2 -0
- package/dist/browser/chunk-LK6C7C3S.mjs.map +1 -0
- package/dist/browser/chunk-LOGRQOWP.mjs +3 -0
- package/dist/browser/chunk-LOGRQOWP.mjs.map +1 -0
- package/dist/browser/chunk-LZACYSUC.mjs +3 -0
- package/dist/browser/chunk-LZACYSUC.mjs.map +1 -0
- package/dist/browser/chunk-NTOIVRX3.mjs +2 -0
- package/dist/browser/chunk-NTOIVRX3.mjs.map +1 -0
- package/dist/browser/chunk-OES2N3X7.mjs +3 -0
- package/dist/browser/chunk-OES2N3X7.mjs.map +1 -0
- package/dist/browser/chunk-OFKV5GNB.mjs +1 -1
- package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -1
- package/dist/browser/chunk-OVLM5A32.mjs +3 -0
- package/dist/browser/chunk-OVLM5A32.mjs.map +1 -0
- package/dist/browser/chunk-QATIN7CO.mjs +1 -1
- package/dist/browser/chunk-QATIN7CO.mjs.map +1 -1
- package/dist/browser/chunk-QOL7CAUZ.mjs +2 -0
- package/dist/browser/chunk-QOL7CAUZ.mjs.map +1 -0
- package/dist/browser/chunk-RCB3PX4V.mjs +2 -0
- package/dist/browser/chunk-RCB3PX4V.mjs.map +1 -0
- package/dist/browser/chunk-RWQSCROK.mjs +3 -0
- package/dist/browser/chunk-RWQSCROK.mjs.map +1 -0
- package/dist/browser/chunk-TIAUMK2X.mjs +2 -0
- package/dist/browser/chunk-TIAUMK2X.mjs.map +1 -0
- package/dist/browser/chunk-TQPC5MYM.mjs +3 -0
- package/dist/browser/chunk-TQPC5MYM.mjs.map +1 -0
- package/dist/browser/chunk-UNIKTCXL.mjs +3 -0
- package/dist/browser/chunk-UNIKTCXL.mjs.map +1 -0
- package/dist/browser/chunk-UULJJ5C5.mjs +3 -0
- package/dist/browser/chunk-UULJJ5C5.mjs.map +1 -0
- package/dist/browser/chunk-VSSANMPF.mjs +2 -0
- package/dist/browser/chunk-VSSANMPF.mjs.map +1 -0
- package/dist/browser/chunk-VW2BZYNY.mjs +2 -0
- package/dist/browser/chunk-VW2BZYNY.mjs.map +1 -0
- package/dist/browser/chunk-WAXBOWM6.mjs +3 -0
- package/dist/browser/chunk-WAXBOWM6.mjs.map +1 -0
- package/dist/browser/chunk-WXCQCHAX.mjs +2 -0
- package/dist/browser/chunk-WXCQCHAX.mjs.map +1 -0
- package/dist/browser/chunk-XKKBIIZG.mjs +3 -0
- package/dist/browser/chunk-XKKBIIZG.mjs.map +1 -0
- package/dist/browser/chunk-XR7FVA5M.mjs +3 -0
- package/dist/browser/chunk-XR7FVA5M.mjs.map +1 -0
- package/dist/browser/chunk-YQJFTBGV.mjs +3 -0
- package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -0
- package/dist/browser/chunk-YTAMZDWC.mjs +3 -0
- package/dist/browser/chunk-YTAMZDWC.mjs.map +1 -0
- package/dist/browser/chunk-ZEONOTRL.mjs +2 -0
- package/dist/browser/chunk-ZEONOTRL.mjs.map +1 -0
- package/dist/browser/completion.d.mts +10 -0
- package/dist/browser/completion.mjs +2 -0
- package/dist/browser/completion.mjs.map +1 -0
- package/dist/browser/core.d.mts +8 -7
- package/dist/browser/core.mjs +1 -1
- package/dist/browser/core.mjs.map +1 -1
- package/dist/browser/credentials.d.mts +74 -0
- package/dist/browser/credentials.mjs +2 -0
- package/dist/browser/credentials.mjs.map +1 -0
- package/dist/browser/definition.d.mts +3 -2
- package/dist/browser/definition.mjs +1 -1
- package/dist/browser/dynamic-content.d.mts +13 -0
- package/dist/browser/dynamic-content.mjs +2 -0
- package/dist/browser/dynamic-content.mjs.map +1 -0
- package/dist/browser/dynamic-feature.d.mts +66 -6
- package/dist/browser/dynamic-feature.mjs +3 -1
- package/dist/browser/dynamic-feature.mjs.map +1 -1
- package/dist/browser/dynamic-structure.d.mts +77 -3
- package/dist/browser/dynamic-structure.mjs +1 -1
- package/dist/browser/dynamic-structure.mjs.map +1 -1
- package/dist/browser/env.d.mts +16 -2
- package/dist/browser/env.mjs +1 -1
- package/dist/browser/frame-index.d.mts +70 -9
- package/dist/browser/frame-index.mjs +1 -1
- package/dist/browser/models.d.mts +64 -0
- package/dist/browser/models.mjs +2 -0
- package/dist/browser/models.mjs.map +1 -0
- package/dist/browser/namespace.d.mts +1 -1
- package/dist/browser/namespace.mjs +1 -1
- package/dist/browser/schema.d.mts +10 -0
- package/dist/browser/schema.mjs +2 -0
- package/dist/browser/schema.mjs.map +1 -0
- package/dist/browser/segment.d.mts +13 -0
- package/dist/browser/segment.mjs +2 -0
- package/dist/browser/segment.mjs.map +1 -0
- package/dist/browser/storage.d.mts +13 -7
- package/dist/browser/storage.mjs +1 -1
- package/dist/browser/vector.d.mts +7 -0
- package/dist/browser/vector.mjs +1 -1
- package/dist/cli.cjs +5593 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/node/A-FrameChannel.component--YErPxf4.d.mts +97 -0
- package/dist/node/A-FrameChannel.component-BjgqMh1B.d.ts +97 -0
- package/dist/node/A-FrameChannel.component-C0O3TaRD.d.ts +679 -0
- package/dist/node/A-FrameChannel.component-CgBZYBz0.d.mts +379 -0
- package/dist/node/A-FrameChannel.component-CkZserv3.d.ts +97 -0
- package/dist/node/A-FrameChannel.component-DMA-3sUB.d.mts +679 -0
- package/dist/node/A-FrameChannel.component-DYV8omYR.d.ts +379 -0
- package/dist/node/A-FrameChannel.component-DwgYNfFn.d.mts +97 -0
- package/dist/node/A-FrameChannel.types-B3_xWKEO.d.mts +151 -0
- package/dist/node/A-FrameChannel.types-BGcVXTqa.d.ts +205 -0
- package/dist/node/A-FrameChannel.types-Boi8QqDK.d.mts +205 -0
- package/dist/node/A-FrameChannel.types-BsE6bNky.d.mts +205 -0
- package/dist/node/A-FrameChannel.types-C-gxXl8m.d.ts +151 -0
- package/dist/node/A-FrameChannel.types-DD2B11rf.d.ts +205 -0
- package/dist/node/A-FrameChannel.types-DYMgRiCF.d.mts +205 -0
- package/dist/node/A-FrameChannel.types-DwyZRsOy.d.ts +205 -0
- package/dist/node/A-FrameCompletion.entity-Brx11JMp.d.ts +72 -0
- package/dist/node/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
- package/dist/node/A-FrameDefinition.entity-BIF0sclD.d.ts +370 -0
- package/dist/node/A-FrameDefinition.entity-Bt9ua6cn.d.ts +358 -0
- package/dist/node/A-FrameDefinition.entity-C0kzaGJ0.d.ts +143 -0
- package/dist/node/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
- package/dist/node/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
- package/dist/node/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
- package/dist/node/A-FrameDefinition.types-BA_pLGpo.d.ts +232 -0
- package/dist/node/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
- package/dist/node/A-FrameDynamicContentOperation.context-C_aH1gEn.d.ts +297 -0
- package/dist/node/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
- package/dist/node/A-FrameDynamicContentOperation.context-DRqH2c3o.d.ts +266 -0
- package/dist/node/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
- package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
- package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.ts +29 -0
- package/dist/node/A-FrameDynamicStructure.entity-BVCbolMd.d.ts +210 -0
- package/dist/node/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
- package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
- package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.ts +235 -0
- package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.mts +114 -0
- package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.ts +114 -0
- package/dist/node/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
- package/dist/node/A-FrameNamespace.entity-HDXcLGcS.d.ts +136 -0
- package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
- package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.ts +141 -0
- package/dist/node/A-FrameSegment.entity-C0izuOmC.d.ts +161 -0
- package/dist/node/A-FrameSegment.entity-CMCgFCWU.d.ts +146 -0
- package/dist/node/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
- package/dist/node/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
- package/dist/node/A-FrameStorage.component-BnNKzvpY.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-CDztogHV.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-CW0YgKDI.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-D4UEkIBx.d.mts +107 -0
- package/dist/node/A-FrameStorage.component-DV_jwK6r.d.ts +107 -0
- package/dist/node/A-FrameStorage.component-Di4EvbtC.d.ts +107 -0
- package/dist/node/A-FrameStorage.component-emIH1a1M.d.ts +107 -0
- package/dist/node/A-FrameStorage.component-y-JPiIQ4.d.ts +107 -0
- package/dist/node/bundle.cjs +66 -21
- package/dist/node/bundle.cjs.map +1 -1
- package/dist/node/bundle.d.mts +88 -24
- package/dist/node/bundle.d.ts +88 -24
- package/dist/node/bundle.mjs +65 -20
- package/dist/node/bundle.mjs.map +1 -1
- package/dist/node/channel.cjs +33 -26
- package/dist/node/channel.d.mts +10 -6
- package/dist/node/channel.d.ts +10 -6
- package/dist/node/channel.mjs +13 -6
- package/dist/node/chunk-2HUSP34L.mjs +55 -0
- package/dist/node/chunk-2HUSP34L.mjs.map +1 -0
- package/dist/node/chunk-2KXGI2E5.cjs +474 -0
- package/dist/node/chunk-2KXGI2E5.cjs.map +1 -0
- package/dist/node/chunk-2OQMOIR5.mjs +170 -0
- package/dist/node/chunk-2OQMOIR5.mjs.map +1 -0
- package/dist/node/chunk-2UI7RJ4Q.mjs +207 -0
- package/dist/node/chunk-2UI7RJ4Q.mjs.map +1 -0
- package/dist/node/chunk-3SLICJ3L.cjs +265 -0
- package/dist/node/chunk-3SLICJ3L.cjs.map +1 -0
- package/dist/node/chunk-3ZDHQOIU.cjs +92 -0
- package/dist/node/chunk-3ZDHQOIU.cjs.map +1 -0
- package/dist/node/chunk-5BKCX2RO.mjs +33 -0
- package/dist/node/chunk-5BKCX2RO.mjs.map +1 -0
- package/dist/node/chunk-5NCGXLP2.mjs +6 -0
- package/dist/node/chunk-5NCGXLP2.mjs.map +1 -0
- package/dist/node/chunk-5OTXZ7BB.mjs +53 -0
- package/dist/node/chunk-5OTXZ7BB.mjs.map +1 -0
- package/dist/node/chunk-5PYIATGT.mjs +469 -0
- package/dist/node/chunk-5PYIATGT.mjs.map +1 -0
- package/dist/node/chunk-64QCZG53.cjs +57 -0
- package/dist/node/chunk-64QCZG53.cjs.map +1 -0
- package/dist/node/chunk-652OEICJ.cjs +4 -0
- package/dist/node/chunk-652OEICJ.cjs.map +1 -0
- package/dist/node/chunk-674ZX6XJ.mjs +187 -0
- package/dist/node/chunk-674ZX6XJ.mjs.map +1 -0
- package/dist/node/chunk-6ID2IXYX.mjs +6 -0
- package/dist/node/chunk-6ID2IXYX.mjs.map +1 -0
- package/dist/node/chunk-6KAGWGTE.mjs +529 -0
- package/dist/node/chunk-6KAGWGTE.mjs.map +1 -0
- package/dist/node/chunk-7EM3Q7HA.mjs +655 -0
- package/dist/node/chunk-7EM3Q7HA.mjs.map +1 -0
- package/dist/node/chunk-7MVVMISA.cjs +293 -0
- package/dist/node/chunk-7MVVMISA.cjs.map +1 -0
- package/dist/node/chunk-7NSLGCAZ.mjs +1395 -0
- package/dist/node/chunk-7NSLGCAZ.mjs.map +1 -0
- package/dist/node/chunk-7OLLATCC.mjs +1289 -0
- package/dist/node/chunk-7OLLATCC.mjs.map +1 -0
- package/dist/node/chunk-7SEZMRLI.cjs +183 -0
- package/dist/node/chunk-7SEZMRLI.cjs.map +1 -0
- package/dist/node/chunk-A4CVDMSV.mjs +608 -0
- package/dist/node/chunk-A4CVDMSV.mjs.map +1 -0
- package/dist/node/chunk-A7CJIUYY.cjs +4 -0
- package/dist/node/chunk-A7CJIUYY.cjs.map +1 -0
- package/dist/node/chunk-ALFFUJ2J.mjs +163 -0
- package/dist/node/chunk-ALFFUJ2J.mjs.map +1 -0
- package/dist/node/chunk-AMMQ76RJ.mjs +179 -0
- package/dist/node/chunk-AMMQ76RJ.mjs.map +1 -0
- package/dist/node/chunk-AUKWKGVA.cjs +688 -0
- package/dist/node/chunk-AUKWKGVA.cjs.map +1 -0
- package/dist/node/chunk-AY6UMDWD.cjs +270 -0
- package/dist/node/chunk-AY6UMDWD.cjs.map +1 -0
- package/dist/node/chunk-B7ZDJXD3.cjs +1 -1
- package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -1
- package/dist/node/chunk-BBYOL3LM.cjs +1308 -0
- package/dist/node/chunk-BBYOL3LM.cjs.map +1 -0
- package/dist/node/chunk-BINGAHFW.cjs +1308 -0
- package/dist/node/chunk-BINGAHFW.cjs.map +1 -0
- package/dist/node/chunk-BSBY37MG.cjs +55 -0
- package/dist/node/chunk-BSBY37MG.cjs.map +1 -0
- package/dist/node/chunk-BWX7HFTH.cjs +209 -0
- package/dist/node/chunk-BWX7HFTH.cjs.map +1 -0
- package/dist/node/chunk-C37B34MH.cjs +188 -0
- package/dist/node/chunk-C37B34MH.cjs.map +1 -0
- package/dist/node/chunk-C6BBKHQG.cjs +250 -0
- package/dist/node/chunk-C6BBKHQG.cjs.map +1 -0
- package/dist/node/chunk-CLCAS67N.cjs +8 -0
- package/dist/node/chunk-CLCAS67N.cjs.map +1 -0
- package/dist/node/chunk-CNU3CRTR.mjs +43 -0
- package/dist/node/chunk-CNU3CRTR.mjs.map +1 -0
- package/dist/node/chunk-CV5FPKU6.mjs +6 -0
- package/dist/node/chunk-CV5FPKU6.mjs.map +1 -0
- package/dist/node/chunk-CZYOAFIR.mjs +129 -0
- package/dist/node/chunk-CZYOAFIR.mjs.map +1 -0
- package/dist/node/chunk-D2HTYEJZ.cjs +209 -0
- package/dist/node/chunk-D2HTYEJZ.cjs.map +1 -0
- package/dist/node/chunk-EMLZZPOT.cjs +1446 -0
- package/dist/node/chunk-EMLZZPOT.cjs.map +1 -0
- package/dist/node/chunk-EOIXXXBV.cjs +55 -0
- package/dist/node/chunk-EOIXXXBV.cjs.map +1 -0
- package/dist/node/chunk-F46TSY2K.cjs +541 -0
- package/dist/node/chunk-F46TSY2K.cjs.map +1 -0
- package/dist/node/chunk-F4UCOZW5.mjs +1 -1
- package/dist/node/chunk-F4UCOZW5.mjs.map +1 -1
- package/dist/node/chunk-F64CK4NI.mjs +53 -0
- package/dist/node/chunk-F64CK4NI.mjs.map +1 -0
- package/dist/node/chunk-FAV62EUG.cjs +35 -0
- package/dist/node/chunk-FAV62EUG.cjs.map +1 -0
- package/dist/node/chunk-GHSPKZUN.mjs +529 -0
- package/dist/node/chunk-GHSPKZUN.mjs.map +1 -0
- package/dist/node/chunk-GRNVK7DW.mjs +97 -0
- package/dist/node/chunk-GRNVK7DW.mjs.map +1 -0
- package/dist/node/chunk-GRR6NNWY.cjs +688 -0
- package/dist/node/chunk-GRR6NNWY.cjs.map +1 -0
- package/dist/node/chunk-H5VGRPD5.cjs +8 -0
- package/dist/node/chunk-H5VGRPD5.cjs.map +1 -0
- package/dist/node/chunk-HAMDDCPS.cjs +8 -0
- package/dist/node/chunk-HAMDDCPS.cjs.map +1 -0
- package/dist/node/chunk-HAORARSB.cjs +75 -0
- package/dist/node/chunk-HAORARSB.cjs.map +1 -0
- package/dist/node/chunk-HELNAM5Y.cjs +8 -0
- package/dist/node/chunk-HELNAM5Y.cjs.map +1 -0
- package/dist/node/chunk-HET6L5PD.mjs +530 -0
- package/dist/node/chunk-HET6L5PD.mjs.map +1 -0
- package/dist/node/chunk-HI5SEX53.mjs +264 -0
- package/dist/node/chunk-HI5SEX53.mjs.map +1 -0
- package/dist/node/chunk-HZGFXE4Q.mjs +6 -0
- package/dist/node/chunk-HZGFXE4Q.mjs.map +1 -0
- package/dist/node/chunk-IAL2NK2V.mjs +73 -0
- package/dist/node/chunk-IAL2NK2V.mjs.map +1 -0
- package/dist/node/chunk-IHELFDCW.mjs +327 -0
- package/dist/node/chunk-IHELFDCW.mjs.map +1 -0
- package/dist/node/chunk-ILD6OSYW.mjs +966 -0
- package/dist/node/chunk-ILD6OSYW.mjs.map +1 -0
- package/dist/node/chunk-IP6DFAO7.mjs +264 -0
- package/dist/node/chunk-IP6DFAO7.mjs.map +1 -0
- package/dist/node/chunk-IYEDO7OQ.cjs +276 -0
- package/dist/node/chunk-IYEDO7OQ.cjs.map +1 -0
- package/dist/node/chunk-JFPGFPQD.mjs +1413 -0
- package/dist/node/chunk-JFPGFPQD.mjs.map +1 -0
- package/dist/node/chunk-JHZGTVYF.cjs +999 -0
- package/dist/node/chunk-JHZGTVYF.cjs.map +1 -0
- package/dist/node/chunk-JN3UJBUH.mjs +608 -0
- package/dist/node/chunk-JN3UJBUH.mjs.map +1 -0
- package/dist/node/chunk-JNPDXCCN.mjs +530 -0
- package/dist/node/chunk-JNPDXCCN.mjs.map +1 -0
- package/dist/node/chunk-JQBYDEMW.mjs +1 -1
- package/dist/node/chunk-JQBYDEMW.mjs.map +1 -1
- package/dist/node/chunk-JQJ7N4NL.cjs +267 -0
- package/dist/node/chunk-JQJ7N4NL.cjs.map +1 -0
- package/dist/node/chunk-K4AJBPPY.cjs +174 -0
- package/dist/node/chunk-K4AJBPPY.cjs.map +1 -0
- package/dist/node/chunk-K7SXPJPK.cjs +131 -0
- package/dist/node/chunk-K7SXPJPK.cjs.map +1 -0
- package/dist/node/chunk-KFW4GE7H.mjs +1289 -0
- package/dist/node/chunk-KFW4GE7H.mjs.map +1 -0
- package/dist/node/chunk-KKL2DF2D.cjs +518 -0
- package/dist/node/chunk-KKL2DF2D.cjs.map +1 -0
- package/dist/node/chunk-KKMKQGTR.cjs +620 -0
- package/dist/node/chunk-KKMKQGTR.cjs.map +1 -0
- package/dist/node/chunk-KNTO7FCZ.mjs +207 -0
- package/dist/node/chunk-KNTO7FCZ.mjs.map +1 -0
- package/dist/node/chunk-KTKVW3PH.mjs +286 -0
- package/dist/node/chunk-KTKVW3PH.mjs.map +1 -0
- package/dist/node/chunk-KZPSF32W.mjs +33 -0
- package/dist/node/chunk-KZPSF32W.mjs.map +1 -0
- package/dist/node/chunk-LWKFCMA7.mjs +129 -0
- package/dist/node/chunk-LWKFCMA7.mjs.map +1 -0
- package/dist/node/chunk-M2ZSE6YJ.mjs +512 -0
- package/dist/node/chunk-M2ZSE6YJ.mjs.map +1 -0
- package/dist/node/chunk-M6DJYGDO.cjs +167 -0
- package/dist/node/chunk-M6DJYGDO.cjs.map +1 -0
- package/dist/node/chunk-MAHKDTOQ.mjs +3 -0
- package/dist/node/chunk-MAHKDTOQ.mjs.map +1 -0
- package/dist/node/chunk-MM2R2OM6.cjs +541 -0
- package/dist/node/chunk-MM2R2OM6.cjs.map +1 -0
- package/dist/node/chunk-MSOD5UQH.cjs +45 -0
- package/dist/node/chunk-MSOD5UQH.cjs.map +1 -0
- package/dist/node/chunk-MVAWR76Q.cjs +276 -0
- package/dist/node/chunk-MVAWR76Q.cjs.map +1 -0
- package/dist/node/chunk-MXUO7OR5.cjs +97 -0
- package/dist/node/chunk-MXUO7OR5.cjs.map +1 -0
- package/dist/node/chunk-N4THTV6P.cjs +131 -0
- package/dist/node/chunk-N4THTV6P.cjs.map +1 -0
- package/dist/node/chunk-NIXKAQVP.cjs +1 -1
- package/dist/node/chunk-NIXKAQVP.cjs.map +1 -1
- package/dist/node/chunk-NUPXUUPM.cjs +1428 -0
- package/dist/node/chunk-NUPXUUPM.cjs.map +1 -0
- package/dist/node/chunk-NWOUVAIS.cjs +45 -0
- package/dist/node/chunk-NWOUVAIS.cjs.map +1 -0
- package/dist/node/chunk-OK7I5OQ3.mjs +89 -0
- package/dist/node/chunk-OK7I5OQ3.mjs.map +1 -0
- package/dist/node/chunk-OMGYXCFM.mjs +248 -0
- package/dist/node/chunk-OMGYXCFM.mjs.map +1 -0
- package/dist/node/chunk-OYC6L5NX.mjs +6 -0
- package/dist/node/chunk-OYC6L5NX.mjs.map +1 -0
- package/dist/node/chunk-OYZAQMKD.mjs +263 -0
- package/dist/node/chunk-OYZAQMKD.mjs.map +1 -0
- package/dist/node/chunk-P2LULMNL.cjs +189 -0
- package/dist/node/chunk-P2LULMNL.cjs.map +1 -0
- package/dist/node/chunk-PABEFHCO.mjs +63 -0
- package/dist/node/chunk-PABEFHCO.mjs.map +1 -0
- package/dist/node/chunk-Q5NYJQP2.cjs +8 -0
- package/dist/node/chunk-Q5NYJQP2.cjs.map +1 -0
- package/dist/node/chunk-QCEWWJ3N.cjs +65 -0
- package/dist/node/chunk-QCEWWJ3N.cjs.map +1 -0
- package/dist/node/chunk-QW4AZ3Z2.cjs +542 -0
- package/dist/node/chunk-QW4AZ3Z2.cjs.map +1 -0
- package/dist/node/chunk-R2H234YO.cjs +8 -0
- package/dist/node/chunk-R2H234YO.cjs.map +1 -0
- package/dist/node/chunk-RK5WSZ5J.mjs +43 -0
- package/dist/node/chunk-RK5WSZ5J.mjs.map +1 -0
- package/dist/node/chunk-RPHYBPXT.mjs +30 -0
- package/dist/node/chunk-RPHYBPXT.mjs.map +1 -0
- package/dist/node/chunk-RVXASBMQ.mjs +273 -0
- package/dist/node/chunk-RVXASBMQ.mjs.map +1 -0
- package/dist/node/chunk-RVZTZD32.mjs +187 -0
- package/dist/node/chunk-RVZTZD32.mjs.map +1 -0
- package/dist/node/chunk-RWLKISZQ.mjs +273 -0
- package/dist/node/chunk-RWLKISZQ.mjs.map +1 -0
- package/dist/node/chunk-SDKIJDMH.mjs +655 -0
- package/dist/node/chunk-SDKIJDMH.mjs.map +1 -0
- package/dist/node/chunk-SESXQJDD.cjs +999 -0
- package/dist/node/chunk-SESXQJDD.cjs.map +1 -0
- package/dist/node/chunk-SKIEPTFS.mjs +6 -0
- package/dist/node/chunk-SKIEPTFS.mjs.map +1 -0
- package/dist/node/chunk-SL7FT5R5.mjs +94 -0
- package/dist/node/chunk-SL7FT5R5.mjs.map +1 -0
- package/dist/node/chunk-SXHQW74T.mjs +43 -0
- package/dist/node/chunk-SXHQW74T.mjs.map +1 -0
- package/dist/node/chunk-TEJKDVNT.cjs +620 -0
- package/dist/node/chunk-TEJKDVNT.cjs.map +1 -0
- package/dist/node/chunk-TQS5WYND.cjs +352 -0
- package/dist/node/chunk-TQS5WYND.cjs.map +1 -0
- package/dist/node/chunk-UCAWV2IG.mjs +184 -0
- package/dist/node/chunk-UCAWV2IG.mjs.map +1 -0
- package/dist/node/chunk-UDUJDEAO.cjs +189 -0
- package/dist/node/chunk-UDUJDEAO.cjs.map +1 -0
- package/dist/node/chunk-VMJDL4SS.cjs +542 -0
- package/dist/node/chunk-VMJDL4SS.cjs.map +1 -0
- package/dist/node/chunk-VNOZTB3B.cjs +8 -0
- package/dist/node/chunk-VNOZTB3B.cjs.map +1 -0
- package/dist/node/chunk-VPMBZGYR.mjs +327 -0
- package/dist/node/chunk-VPMBZGYR.mjs.map +1 -0
- package/dist/node/chunk-WEPNBKOA.mjs +6 -0
- package/dist/node/chunk-WEPNBKOA.mjs.map +1 -0
- package/dist/node/chunk-WTBRJXFG.cjs +100 -0
- package/dist/node/chunk-WTBRJXFG.cjs.map +1 -0
- package/dist/node/chunk-WXCQCHAX.mjs +3 -0
- package/dist/node/chunk-WXCQCHAX.mjs.map +1 -0
- package/dist/node/chunk-X3TRPYGV.cjs +352 -0
- package/dist/node/chunk-X3TRPYGV.cjs.map +1 -0
- package/dist/node/chunk-XFUF7SDO.cjs +35 -0
- package/dist/node/chunk-XFUF7SDO.cjs.map +1 -0
- package/dist/node/chunk-XP2EPEBM.mjs +966 -0
- package/dist/node/chunk-XP2EPEBM.mjs.map +1 -0
- package/dist/node/chunk-XPIJ6BKP.cjs +45 -0
- package/dist/node/chunk-XPIJ6BKP.cjs.map +1 -0
- package/dist/node/chunk-YRVBMP7I.cjs +542 -0
- package/dist/node/chunk-YRVBMP7I.cjs.map +1 -0
- package/dist/node/chunk-ZIHSN5EE.mjs +530 -0
- package/dist/node/chunk-ZIHSN5EE.mjs.map +1 -0
- package/dist/node/chunk-ZNQMUU7I.cjs +32 -0
- package/dist/node/chunk-ZNQMUU7I.cjs.map +1 -0
- package/dist/node/completion.cjs +23 -0
- package/dist/node/completion.cjs.map +1 -0
- package/dist/node/completion.d.mts +10 -0
- package/dist/node/completion.d.ts +10 -0
- package/dist/node/completion.mjs +6 -0
- package/dist/node/completion.mjs.map +1 -0
- package/dist/node/core.cjs +69 -42
- package/dist/node/core.cjs.map +1 -1
- package/dist/node/core.d.mts +14 -9
- package/dist/node/core.d.ts +14 -9
- package/dist/node/core.mjs +60 -33
- package/dist/node/core.mjs.map +1 -1
- package/dist/node/credentials.cjs +17 -0
- package/dist/node/credentials.cjs.map +1 -0
- package/dist/node/credentials.d.mts +74 -0
- package/dist/node/credentials.d.ts +74 -0
- package/dist/node/credentials.mjs +4 -0
- package/dist/node/credentials.mjs.map +1 -0
- package/dist/node/definition.cjs +6 -4
- package/dist/node/definition.d.mts +3 -2
- package/dist/node/definition.d.ts +3 -2
- package/dist/node/definition.mjs +4 -2
- package/dist/node/dynamic-content.cjs +30 -0
- package/dist/node/dynamic-content.cjs.map +1 -0
- package/dist/node/dynamic-content.d.mts +13 -0
- package/dist/node/dynamic-content.d.ts +13 -0
- package/dist/node/dynamic-content.mjs +9 -0
- package/dist/node/dynamic-content.mjs.map +1 -0
- package/dist/node/dynamic-feature.cjs +41 -7
- package/dist/node/dynamic-feature.cjs.map +1 -1
- package/dist/node/dynamic-feature.d.mts +66 -6
- package/dist/node/dynamic-feature.d.ts +66 -6
- package/dist/node/dynamic-feature.mjs +16 -9
- package/dist/node/dynamic-feature.mjs.map +1 -1
- package/dist/node/dynamic-structure.cjs +45 -136
- package/dist/node/dynamic-structure.cjs.map +1 -1
- package/dist/node/dynamic-structure.d.mts +77 -3
- package/dist/node/dynamic-structure.d.ts +77 -3
- package/dist/node/dynamic-structure.mjs +16 -135
- package/dist/node/dynamic-structure.mjs.map +1 -1
- package/dist/node/env.cjs +3 -3
- package/dist/node/env.d.mts +26 -0
- package/dist/node/env.d.ts +26 -0
- package/dist/node/env.mjs +2 -2
- package/dist/node/frame-index.cjs +7 -4
- package/dist/node/frame-index.d.mts +70 -9
- package/dist/node/frame-index.d.ts +70 -9
- package/dist/node/frame-index.mjs +6 -3
- package/dist/node/logger.d.mts +4 -113
- package/dist/node/logger.d.ts +4 -113
- package/dist/node/models.cjs +14 -0
- package/dist/node/models.cjs.map +1 -0
- package/dist/node/models.d.mts +64 -0
- package/dist/node/models.d.ts +64 -0
- package/dist/node/models.mjs +5 -0
- package/dist/node/models.mjs.map +1 -0
- package/dist/node/namespace.cjs +7 -5
- package/dist/node/namespace.d.mts +1 -1
- package/dist/node/namespace.d.ts +1 -1
- package/dist/node/namespace.mjs +4 -2
- package/dist/node/schema.cjs +22 -0
- package/dist/node/schema.cjs.map +1 -0
- package/dist/node/schema.d.mts +10 -0
- package/dist/node/schema.d.ts +10 -0
- package/dist/node/schema.mjs +5 -0
- package/dist/node/schema.mjs.map +1 -0
- package/dist/node/segment.cjs +25 -0
- package/dist/node/segment.cjs.map +1 -0
- package/dist/node/segment.d.mts +13 -0
- package/dist/node/segment.d.ts +13 -0
- package/dist/node/segment.mjs +8 -0
- package/dist/node/segment.mjs.map +1 -0
- package/dist/node/storage.cjs +17 -14
- package/dist/node/storage.d.mts +18 -6
- package/dist/node/storage.d.ts +18 -6
- package/dist/node/storage.mjs +11 -8
- package/dist/node/vector.cjs +2 -2
- package/dist/node/vector.d.mts +7 -0
- package/dist/node/vector.d.ts +7 -0
- package/dist/node/vector.mjs +1 -1
- package/examples/article/main.ts +358 -0
- package/examples/components.ts +660 -0
- package/examples/feature/file-system.components.ts +211 -0
- package/examples/feature/main.ts +374 -0
- package/examples/interaction/main.ts +426 -0
- package/examples/logger.ts +126 -0
- package/examples/structure/main.ts +195 -0
- package/examples/structure/renderer.ts +296 -0
- package/examples/structure/server-app.components.ts +387 -0
- package/jest.config.browser.ts +9 -0
- package/jest.config.examples.ts +49 -0
- package/jest.config.integration.ts +38 -0
- package/jest.config.ts +56 -27
- package/jest.config.unit.ts +38 -0
- package/package.json +75 -7
- package/src/index.ts +13 -0
- package/src/lib/A-Frame/A-Frame.component.env-browser.ts +19 -6
- package/src/lib/A-Frame/A-Frame.component.env-node.ts +48 -19
- package/src/lib/A-Frame/A-Frame.context.ts +9 -8
- package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +4 -4
- package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -25
- package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +1 -1
- package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +54 -13
- package/src/lib/A-FrameBundle/index.browser.ts +1 -1
- package/src/lib/A-FrameBundle/index.ts +1 -1
- package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +18 -7
- package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +0 -2
- package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +14 -15
- package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +542 -7
- package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +2 -0
- package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +65 -1
- package/src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts +112 -0
- package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +1 -0
- package/src/lib/A-FrameChannel/index.browser.ts +5 -0
- package/src/lib/A-FrameCompletion/A-FrameCompletion.constants.ts +3 -0
- package/src/lib/A-FrameCompletion/A-FrameCompletion.entity.ts +128 -0
- package/src/lib/A-FrameCompletion/A-FrameCompletion.types.ts +40 -0
- package/src/lib/A-FrameCompletion/index.ts +3 -0
- package/src/lib/A-FrameCredentials/A-FrameCredentials.constants.ts +5 -0
- package/src/lib/A-FrameCredentials/A-FrameCredentials.entity.ts +120 -0
- package/src/lib/A-FrameCredentials/A-FrameCredentials.types.ts +39 -0
- package/src/lib/A-FrameCredentials/index.ts +3 -0
- package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +23 -1
- package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +34 -1
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts +5 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts +348 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts +10 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.types.ts +116 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts +288 -0
- package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts +26 -0
- package/src/lib/A-FrameDynamicContent/index.ts +5 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.constants.ts +6 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +253 -4
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.error.ts +11 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +188 -4
- package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeatureOperation.context.ts +33 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapIndex.context.ts +99 -0
- package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapper.component.ts +182 -0
- package/src/lib/A-FrameDynamicFeature/index.ts +6 -1
- package/src/lib/A-FrameDynamicPatch/index.ts +2 -0
- package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapIndex.context.ts +99 -0
- package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapper.component.ts +320 -0
- package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +2 -1
- package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +240 -128
- package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +183 -87
- package/src/lib/A-FrameDynamicStructure/index.ts +3 -0
- package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +5 -1
- package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +23 -1
- package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +12 -0
- package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +63 -13
- package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +53 -0
- package/src/lib/A-FrameModels/A-FrameModels.constants.ts +75 -0
- package/src/lib/A-FrameModels/index.ts +1 -0
- package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +10 -3
- package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +5 -0
- package/src/lib/A-FrameSchema/A-FrameSchema.constants.ts +4 -0
- package/src/lib/A-FrameSchema/A-FrameSchema.entity.ts +154 -0
- package/src/lib/A-FrameSchema/A-FrameSchema.types.ts +88 -0
- package/src/lib/A-FrameSchema/index.ts +3 -0
- package/src/lib/A-FrameSegment/A-FrameSegment.constants.ts +12 -0
- package/src/lib/A-FrameSegment/A-FrameSegment.entity.ts +221 -0
- package/src/lib/A-FrameSegment/A-FrameSegment.types.ts +91 -0
- package/src/lib/A-FrameSegment/index.ts +3 -0
- package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +10 -4
- package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +21 -0
- package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +39 -21
- package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +124 -42
- package/src/lib/A-FrameVector/A-FrameVector.entity.ts +24 -0
- package/tests/A-Frame.browser.test.ts +167 -57
- package/tests/A-FrameDynamicContent.browser.test.ts +74 -0
- package/tests/integration/A-Frame.integration.test.ts +272 -0
- package/tests/integration/A-FrameCompletion.integration.test.ts +88 -0
- package/tests/integration/A-FrameContentMapping.integration.test.ts +261 -0
- package/tests/integration/A-FrameDefinition.integration.test.ts +154 -0
- package/tests/integration/A-FrameDynamicContent.integration.test.ts +126 -0
- package/tests/integration/A-FrameDynamicFeature.integration.test.ts +337 -0
- package/tests/integration/A-FrameDynamicStructure.integration.test.ts +264 -0
- package/tests/integration/A-FrameNamespace.integration.test.ts +109 -0
- package/tests/integration/A-FrameSchema.integration.test.ts +74 -0
- package/tests/integration/A-FrameSegment.integration.test.ts +102 -0
- package/tests/integration/A-FrameStorage.integration.test.ts +598 -0
- package/tests/jest.setup.browser.ts +1 -1
- package/tests/jest.setup.ts +4 -0
- package/tests/jest.setup.unit.ts +30 -0
- package/tests/unit/A-FrameChannel.unit.test.ts +124 -0
- package/tests/unit/A-FrameCompletion.unit.test.ts +25 -0
- package/tests/unit/A-FrameDefinition.unit.test.ts +36 -0
- package/tests/unit/A-FrameDynamicContent.unit.test.ts +28 -0
- package/tests/unit/A-FrameNamespace.unit.test.ts +35 -0
- package/tests/unit/A-FrameSchema.unit.test.ts +31 -0
- package/tests/unit/A-FrameSegment.unit.test.ts +20 -0
- package/tests/unit/mocks/MockA_FrameChannel.ts +112 -0
- package/tsconfig.browser.json +2 -0
- package/tsconfig.json +6 -0
- package/tsup.config.ts +52 -0
- package/tests/A-Frame.test.ts +0 -96
|
@@ -0,0 +1,1289 @@
|
|
|
1
|
+
import { A_FrameSchema, A_FrameSchemaFeatures } from './chunk-GRNVK7DW.mjs';
|
|
2
|
+
import { A_FrameDynamicContent, A_FrameDynamicContentFeatures, A_FrameDynamicContentOperation, A_FrameDynamicPatch } from './chunk-M2ZSE6YJ.mjs';
|
|
3
|
+
import { A_FrameEnv } from './chunk-5OTXZ7BB.mjs';
|
|
4
|
+
import { A_FrameNamespace, A_FrameNamespaceFeatures } from './chunk-AMMQ76RJ.mjs';
|
|
5
|
+
import { A_FrameCompletion, A_FrameCompletionFeatures } from './chunk-OK7I5OQ3.mjs';
|
|
6
|
+
import { A_FrameSegment, A_FrameSegmentFeatures } from './chunk-UCAWV2IG.mjs';
|
|
7
|
+
import { A_FrameDefinition, A_FrameDefinitionFeatures } from './chunk-RVXASBMQ.mjs';
|
|
8
|
+
import { A_FRAME_MODELS } from './chunk-2HUSP34L.mjs';
|
|
9
|
+
import { __decorateClass, __decorateParam } from './chunk-OI76LHVT.mjs';
|
|
10
|
+
import { A_Feature, A_Inject, A_Caller, A_Error, A_Component, A_Scope, A_Context, A_Entity, A_CommonHelper, A_Fragment } from '@adaas/a-concept';
|
|
11
|
+
|
|
12
|
+
// src/lib/A-FrameChannel/A-FrameChannel.constants.ts
|
|
13
|
+
var A_FrameFeatures = {
|
|
14
|
+
Request: "_A_FRAME_REQUEST",
|
|
15
|
+
Socket: "_A_FRAME_SOCKET",
|
|
16
|
+
Stream: "_A_FRAME_STREAM",
|
|
17
|
+
Send: "_A_FRAME_SEND"
|
|
18
|
+
};
|
|
19
|
+
var A_FrameChannelStreamStatuses = {
|
|
20
|
+
Open: "open",
|
|
21
|
+
Closed: "closed"
|
|
22
|
+
};
|
|
23
|
+
var A_FrameChannelStreamFeatures = {
|
|
24
|
+
open: "_A_FRAME_CHANNEL_STREAM_OPEN",
|
|
25
|
+
send: "_A_FRAME_CHANNEL_STREAM_SEND",
|
|
26
|
+
onEvent: "_A_FRAME_CHANNEL_STREAM_ON_EVENT",
|
|
27
|
+
onError: "_A_FRAME_CHANNEL_STREAM_ON_ERROR",
|
|
28
|
+
onComplete: "_A_FRAME_CHANNEL_STREAM_ON_COMPLETE",
|
|
29
|
+
onClose: "_A_FRAME_CHANNEL_STREAM_ON_CLOSE"
|
|
30
|
+
};
|
|
31
|
+
var A_FrameChannelSocketStatuses = {
|
|
32
|
+
Connecting: "connecting",
|
|
33
|
+
Open: "open",
|
|
34
|
+
Closed: "closed"
|
|
35
|
+
};
|
|
36
|
+
var A_FrameChannelSocketFeatures = {
|
|
37
|
+
onEvent: "_A_FRAME_CHANNEL_SOCKET_ON_EVENT",
|
|
38
|
+
onError: "_A_FRAME_CHANNEL_SOCKET_ON_ERROR",
|
|
39
|
+
onOpen: "_A_FRAME_CHANNEL_SOCKET_ON_OPEN",
|
|
40
|
+
onClose: "_A_FRAME_CHANNEL_SOCKET_ON_CLOSE"
|
|
41
|
+
};
|
|
42
|
+
var A_FrameChannelRequest = class extends A_Fragment {
|
|
43
|
+
constructor(method, path, body) {
|
|
44
|
+
super({ name: "a-frame-channel-request" });
|
|
45
|
+
this.method = method;
|
|
46
|
+
this.path = path;
|
|
47
|
+
this.body = body;
|
|
48
|
+
}
|
|
49
|
+
complete(response) {
|
|
50
|
+
this._response = response;
|
|
51
|
+
}
|
|
52
|
+
fail(error) {
|
|
53
|
+
this._error = error;
|
|
54
|
+
}
|
|
55
|
+
get response() {
|
|
56
|
+
return this._response;
|
|
57
|
+
}
|
|
58
|
+
get error() {
|
|
59
|
+
return this._error;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
var A_FrameChannelError = class extends A_Error {
|
|
63
|
+
};
|
|
64
|
+
A_FrameChannelError.InvalidRequest = "InvalidRequest";
|
|
65
|
+
A_FrameChannelError.Timeout = "Timeout";
|
|
66
|
+
A_FrameChannelError.RequestFailed = "RequestFailed";
|
|
67
|
+
|
|
68
|
+
// src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts
|
|
69
|
+
var A_FrameDynamicStructureFeatures = {
|
|
70
|
+
Load: "_A_FRAME_DYNAMIC_STRUCTURE_LOAD",
|
|
71
|
+
Patch: "_A_FRAME_DYNAMIC_STRUCTURE_PATCH",
|
|
72
|
+
Generate: "_A_FRAME_DYNAMIC_STRUCTURE_GENERATE",
|
|
73
|
+
Map: "_A_FRAME_DYNAMIC_STRUCTURE_MAP"
|
|
74
|
+
};
|
|
75
|
+
var A_FrameDynamicStructureEvents = {
|
|
76
|
+
Updated: "_A_FRAME_DYNAMIC_STRUCTURE_UPDATED"
|
|
77
|
+
};
|
|
78
|
+
var A_FrameDynamicStructureError = class extends A_Error {
|
|
79
|
+
};
|
|
80
|
+
A_FrameDynamicStructureError.InvalidPatch = "InvalidPatch";
|
|
81
|
+
A_FrameDynamicStructureError.VersionMismatch = "VersionMismatch";
|
|
82
|
+
A_FrameDynamicStructureError.ComponentNotFound = "ComponentNotFound";
|
|
83
|
+
A_FrameDynamicStructureError.InvalidOperation = "InvalidOperation";
|
|
84
|
+
A_FrameDynamicStructureError.GenerationFailed = "GenerationFailed";
|
|
85
|
+
var A_FrameComponentMapIndex = class extends A_Fragment {
|
|
86
|
+
constructor() {
|
|
87
|
+
super({ name: "a-frame-component-map-index" });
|
|
88
|
+
this._entries = /* @__PURE__ */ new Map();
|
|
89
|
+
}
|
|
90
|
+
// ── Basic mutation ───────────────────────────────────────────────────────
|
|
91
|
+
/**
|
|
92
|
+
* Store (or overwrite) a map entry for the element identified by `entry.prompt`.
|
|
93
|
+
*/
|
|
94
|
+
set(entry) {
|
|
95
|
+
this._entries.set(entry.prompt, entry);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Retrieve the map entry for the given prompt, or `undefined` if not yet stored.
|
|
99
|
+
*/
|
|
100
|
+
get(prompt) {
|
|
101
|
+
return this._entries.get(prompt);
|
|
102
|
+
}
|
|
103
|
+
/** Remove all stored entries. */
|
|
104
|
+
clear() {
|
|
105
|
+
this._entries.clear();
|
|
106
|
+
}
|
|
107
|
+
// ── Accessors ────────────────────────────────────────────────────────────
|
|
108
|
+
/** Total number of stored entries. */
|
|
109
|
+
get size() {
|
|
110
|
+
return this._entries.size;
|
|
111
|
+
}
|
|
112
|
+
/** All stored entries in insertion order. */
|
|
113
|
+
list() {
|
|
114
|
+
return Array.from(this._entries.values());
|
|
115
|
+
}
|
|
116
|
+
/** Entries that have been successfully matched to a registered class. */
|
|
117
|
+
get matched() {
|
|
118
|
+
return this.list().filter((e) => e.matchedClass !== null);
|
|
119
|
+
}
|
|
120
|
+
/** Entries where no matching registered class was found. */
|
|
121
|
+
get unmatched() {
|
|
122
|
+
return this.list().filter((e) => e.matchedClass === null);
|
|
123
|
+
}
|
|
124
|
+
// ── Result building ──────────────────────────────────────────────────────
|
|
125
|
+
/**
|
|
126
|
+
* Construct a fully structured `A_FrameComponentMapResult` from the
|
|
127
|
+
* accumulated entries and the provided definition.
|
|
128
|
+
*
|
|
129
|
+
* For each element in the definition the method looks up its entry by
|
|
130
|
+
* prompt. If no entry exists (element had no server embedding), a default
|
|
131
|
+
* unmatched entry is generated so the result shape always matches the
|
|
132
|
+
* definition shape.
|
|
133
|
+
*/
|
|
134
|
+
toResult(definition) {
|
|
135
|
+
const getEntry = (el) => {
|
|
136
|
+
const existing = this._entries.get(el.prompt);
|
|
137
|
+
if (existing) return existing;
|
|
138
|
+
return { prompt: el.prompt, role: el.role, class: el.class, matchedClass: null, matchScore: 0 };
|
|
139
|
+
};
|
|
140
|
+
return {
|
|
141
|
+
containers: definition.containers.map((c) => ({
|
|
142
|
+
...getEntry(c),
|
|
143
|
+
components: (c.components ?? []).map(getEntry),
|
|
144
|
+
fragments: (c.fragments ?? []).map(getEntry),
|
|
145
|
+
entities: (c.entities ?? []).map(getEntry)
|
|
146
|
+
})),
|
|
147
|
+
components: definition.components.map(getEntry),
|
|
148
|
+
fragments: definition.fragments.map(getEntry),
|
|
149
|
+
entities: definition.entities.map(getEntry)
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
var A_FrameDynamicStructureOperation = class extends A_Fragment {
|
|
154
|
+
constructor(params = {}) {
|
|
155
|
+
super({ name: "a-frame-dynamic-structure-operation-context" });
|
|
156
|
+
this._meta = /* @__PURE__ */ new Map();
|
|
157
|
+
this._meta.set("params", params);
|
|
158
|
+
}
|
|
159
|
+
get params() {
|
|
160
|
+
return this._meta.get("params");
|
|
161
|
+
}
|
|
162
|
+
get(key) {
|
|
163
|
+
return this._meta.get(key);
|
|
164
|
+
}
|
|
165
|
+
set(key, value) {
|
|
166
|
+
this._meta.set(key, value);
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
// src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts
|
|
171
|
+
var A_FrameDynamicStructure = class extends A_Entity {
|
|
172
|
+
static get concept() {
|
|
173
|
+
return "a-frame";
|
|
174
|
+
}
|
|
175
|
+
fromNew(options) {
|
|
176
|
+
super.fromNew(options);
|
|
177
|
+
this.createdAt = Date.now();
|
|
178
|
+
this.prompt = options.prompt;
|
|
179
|
+
this.model = options.options?.model || A_FRAME_MODELS.PULSAR;
|
|
180
|
+
this._context = options.options?.context ?? "";
|
|
181
|
+
this._metaHint = options.options?.metaHint ?? "";
|
|
182
|
+
this._includeBases = (options.options?.includeBases || []).map((b) => typeof b === "string" ? b : A_CommonHelper.getComponentName(b));
|
|
183
|
+
this._excludeBases = (options.options?.excludeBases || []).map((b) => typeof b === "string" ? b : A_CommonHelper.getComponentName(b));
|
|
184
|
+
this._enabledComponents = (options.options?.enabledComponents || []).map((b) => typeof b === "string" ? b : A_CommonHelper.getComponentName(b));
|
|
185
|
+
this._minScore = options.options?.minScore ?? 0.7;
|
|
186
|
+
this._maxRetries = options.options?.maxRetries ?? 3;
|
|
187
|
+
this._candidateCount = options.options?.candidateCount ?? 5;
|
|
188
|
+
this._definition = null;
|
|
189
|
+
this._mapResult = null;
|
|
190
|
+
this._history = [];
|
|
191
|
+
this._version = 0;
|
|
192
|
+
}
|
|
193
|
+
// ── Accessors ─────────────────────────────────────────────────────────────
|
|
194
|
+
/** The AI model name used for generation / patching. */
|
|
195
|
+
get modelName() {
|
|
196
|
+
return this.model;
|
|
197
|
+
}
|
|
198
|
+
/** Context hint forwarded to the AI for scoping architecture style. */
|
|
199
|
+
get contextHint() {
|
|
200
|
+
return this._context;
|
|
201
|
+
}
|
|
202
|
+
/** Meta/prop hint forwarded to the AI for component selection. */
|
|
203
|
+
get metaHintValue() {
|
|
204
|
+
return this._metaHint;
|
|
205
|
+
}
|
|
206
|
+
/** Base-class allowlist (string names). */
|
|
207
|
+
get includedBases() {
|
|
208
|
+
return this._includeBases;
|
|
209
|
+
}
|
|
210
|
+
/** Base-class denylist (string names). */
|
|
211
|
+
get excludedBases() {
|
|
212
|
+
return this._excludeBases;
|
|
213
|
+
}
|
|
214
|
+
/** Explicit component allowlist (string names). */
|
|
215
|
+
get enabledComponentsList() {
|
|
216
|
+
return this._enabledComponents;
|
|
217
|
+
}
|
|
218
|
+
/** Minimum cosine-similarity score (0–1) required for a component match. */
|
|
219
|
+
get minScore() {
|
|
220
|
+
return this._minScore;
|
|
221
|
+
}
|
|
222
|
+
/** Max server refinement retries per unmatched element. */
|
|
223
|
+
get maxRetries() {
|
|
224
|
+
return this._maxRetries;
|
|
225
|
+
}
|
|
226
|
+
/** Number of top candidates to send to the AI on each retry. */
|
|
227
|
+
get candidateCount() {
|
|
228
|
+
return this._candidateCount;
|
|
229
|
+
}
|
|
230
|
+
/** Current architecture definition as a raw object, or null before first generate(). */
|
|
231
|
+
get definition() {
|
|
232
|
+
return this._definition;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Current architecture definition serialised to a formatted JSON string,
|
|
236
|
+
* with server embeddings stripped for readability.
|
|
237
|
+
* Returns an empty-definition JSON before generate() is called.
|
|
238
|
+
*/
|
|
239
|
+
get structure() {
|
|
240
|
+
if (!this._definition) {
|
|
241
|
+
return JSON.stringify({ containers: [], components: [], fragments: [], entities: [] }, null, 2);
|
|
242
|
+
}
|
|
243
|
+
return JSON.stringify(this._stripEmbeddings(this._definition), null, 2);
|
|
244
|
+
}
|
|
245
|
+
/** Component-mapping result produced by map(), or null before map() is called. */
|
|
246
|
+
get mapResult() {
|
|
247
|
+
return this._mapResult;
|
|
248
|
+
}
|
|
249
|
+
/** Immutable patch history. */
|
|
250
|
+
get history() {
|
|
251
|
+
return this._history;
|
|
252
|
+
}
|
|
253
|
+
/** Current definition version (increments with each patch). */
|
|
254
|
+
get version() {
|
|
255
|
+
return this._version;
|
|
256
|
+
}
|
|
257
|
+
// ── Main pipeline ─────────────────────────────────────────────────────────
|
|
258
|
+
/**
|
|
259
|
+
* Generate the architecture definition from the entity's prompt.
|
|
260
|
+
* Calls the server's /api/v1/structure/generate endpoint via the A_FrameChannel feature.
|
|
261
|
+
*/
|
|
262
|
+
async generate() {
|
|
263
|
+
const operation = new A_FrameDynamicStructureOperation();
|
|
264
|
+
const executionScope = new A_Scope({
|
|
265
|
+
name: "a-frame-dynamic-structure-generate",
|
|
266
|
+
fragments: [operation]
|
|
267
|
+
}).inherit(A_Context.scope(this));
|
|
268
|
+
try {
|
|
269
|
+
await this.call(A_FrameDynamicStructureFeatures.Generate, executionScope);
|
|
270
|
+
executionScope.destroy();
|
|
271
|
+
} catch (err) {
|
|
272
|
+
executionScope.destroy();
|
|
273
|
+
throw new A_FrameDynamicStructureError({
|
|
274
|
+
title: A_FrameDynamicStructureError.GenerationFailed,
|
|
275
|
+
description: `Failed to generate structure: ${err instanceof Error ? err.message : String(err)}`
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Apply a natural-language patch instruction to the current definition.
|
|
281
|
+
* Calls the server's /api/v1/structure/patch endpoint via the A_FrameChannel feature.
|
|
282
|
+
*/
|
|
283
|
+
async patch(instruction) {
|
|
284
|
+
const operation = new A_FrameDynamicStructureOperation({ instruction });
|
|
285
|
+
const executionScope = new A_Scope({
|
|
286
|
+
name: "a-frame-dynamic-structure-patch",
|
|
287
|
+
fragments: [operation]
|
|
288
|
+
}).inherit(A_Context.scope(this));
|
|
289
|
+
try {
|
|
290
|
+
await this.call(A_FrameDynamicStructureFeatures.Patch, executionScope);
|
|
291
|
+
executionScope.destroy();
|
|
292
|
+
} catch (err) {
|
|
293
|
+
executionScope.destroy();
|
|
294
|
+
throw new A_FrameDynamicStructureError({
|
|
295
|
+
title: A_FrameDynamicStructureError.GenerationFailed,
|
|
296
|
+
description: `Failed to patch structure: ${err instanceof Error ? err.message : String(err)}`
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Match every element in the current definition against the local A_FrameIndex.
|
|
302
|
+
* Retries unmatched elements via server-side refinement patches.
|
|
303
|
+
*
|
|
304
|
+
* Results are stored separately from the raw definition and are available
|
|
305
|
+
* via `mapResult` after this call completes.
|
|
306
|
+
*/
|
|
307
|
+
async map() {
|
|
308
|
+
const mapIndex = new A_FrameComponentMapIndex();
|
|
309
|
+
const executionScope = new A_Scope({
|
|
310
|
+
name: "a-frame-dynamic-structure-map",
|
|
311
|
+
fragments: [mapIndex]
|
|
312
|
+
}).inherit(A_Context.scope(this));
|
|
313
|
+
try {
|
|
314
|
+
await this.call(A_FrameDynamicStructureFeatures.Map, executionScope);
|
|
315
|
+
executionScope.destroy();
|
|
316
|
+
} catch (err) {
|
|
317
|
+
executionScope.destroy();
|
|
318
|
+
throw new A_FrameDynamicStructureError({
|
|
319
|
+
title: A_FrameDynamicStructureError.GenerationFailed,
|
|
320
|
+
description: `Failed to map structure: ${err instanceof Error ? err.message : String(err)}`
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
// ── Hydration ─────────────────────────────────────────────────────────────
|
|
325
|
+
/**
|
|
326
|
+
* Populate the definition from a server generate response.
|
|
327
|
+
* Creates the first history entry.
|
|
328
|
+
*/
|
|
329
|
+
hydrateFromGeneration(definition, meta) {
|
|
330
|
+
this._definition = definition;
|
|
331
|
+
this._mapResult = null;
|
|
332
|
+
this._history.push(new A_FrameDynamicPatch({
|
|
333
|
+
version: this._version,
|
|
334
|
+
timestamp: Date.now(),
|
|
335
|
+
reason: `Generated for: "${this.prompt}"`,
|
|
336
|
+
encoded: Buffer.from(JSON.stringify(this._stripEmbeddings(definition))).toString("base64"),
|
|
337
|
+
delta: this._countElements(definition)
|
|
338
|
+
}));
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Replace the current definition with a patched version from the server.
|
|
342
|
+
* Increments the version and records a history entry.
|
|
343
|
+
*/
|
|
344
|
+
hydrateFromPatch(definition, patchSummary, meta) {
|
|
345
|
+
const prevCount = this._definition ? this._countElements(this._definition) : 0;
|
|
346
|
+
this._definition = definition;
|
|
347
|
+
this._mapResult = null;
|
|
348
|
+
this._version++;
|
|
349
|
+
this._history.push(new A_FrameDynamicPatch({
|
|
350
|
+
version: this._version,
|
|
351
|
+
timestamp: Date.now(),
|
|
352
|
+
reason: patchSummary,
|
|
353
|
+
encoded: Buffer.from(JSON.stringify(this._stripEmbeddings(definition))).toString("base64"),
|
|
354
|
+
delta: this._countElements(definition) - prevCount
|
|
355
|
+
}));
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Store the component-mapping result produced by `A_FrameComponentMapper`.
|
|
359
|
+
* Called by the mapper after it finishes matching all elements.
|
|
360
|
+
*/
|
|
361
|
+
hydrateFromMap(result) {
|
|
362
|
+
this._mapResult = result;
|
|
363
|
+
}
|
|
364
|
+
// ── Serialisation ─────────────────────────────────────────────────────────
|
|
365
|
+
toJSON() {
|
|
366
|
+
const elementCount = this._definition ? this._countElements(this._definition) : 0;
|
|
367
|
+
return {
|
|
368
|
+
...super.toJSON(),
|
|
369
|
+
name: this.prompt,
|
|
370
|
+
description: `DynamicStructure with ${elementCount} elements and ${this._history.length} patches`,
|
|
371
|
+
metadata: {
|
|
372
|
+
model: this.model,
|
|
373
|
+
context: this._context,
|
|
374
|
+
metaHint: this._metaHint,
|
|
375
|
+
includeBases: this._includeBases,
|
|
376
|
+
excludeBases: this._excludeBases,
|
|
377
|
+
enabledComponents: this._enabledComponents,
|
|
378
|
+
candidateCount: this._candidateCount,
|
|
379
|
+
createdAt: this.createdAt
|
|
380
|
+
},
|
|
381
|
+
history: this._history.map((p) => p.toJSON())
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
// ── Private helpers ───────────────────────────────────────────────────────
|
|
385
|
+
_countElements(def) {
|
|
386
|
+
return (def.containers?.length ?? 0) + (def.components?.length ?? 0) + (def.fragments?.length ?? 0) + (def.entities?.length ?? 0);
|
|
387
|
+
}
|
|
388
|
+
/** Return a copy of the definition with all `embedding` arrays removed. */
|
|
389
|
+
_stripEmbeddings(def) {
|
|
390
|
+
const strip = (el) => {
|
|
391
|
+
const { embedding, ...rest } = el;
|
|
392
|
+
return rest;
|
|
393
|
+
};
|
|
394
|
+
return {
|
|
395
|
+
containers: def.containers.map((c) => ({
|
|
396
|
+
...strip(c),
|
|
397
|
+
components: (c.components ?? []).map(strip),
|
|
398
|
+
fragments: (c.fragments ?? []).map(strip),
|
|
399
|
+
entities: (c.entities ?? []).map(strip)
|
|
400
|
+
})),
|
|
401
|
+
components: def.components.map(strip),
|
|
402
|
+
fragments: def.fragments.map(strip),
|
|
403
|
+
entities: def.entities.map(strip)
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
};
|
|
407
|
+
|
|
408
|
+
// src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.constants.ts
|
|
409
|
+
var A_FrameDynamicFeatureFeatures = {
|
|
410
|
+
Generate: "_A_FRAME_DYNAMIC_FEATURE_GENERATE",
|
|
411
|
+
Patch: "_A_FRAME_DYNAMIC_FEATURE_PATCH",
|
|
412
|
+
Map: "_A_FRAME_DYNAMIC_FEATURE_MAP"
|
|
413
|
+
};
|
|
414
|
+
var A_FrameDynamicFeatureOperation = class extends A_Fragment {
|
|
415
|
+
constructor(params = {}) {
|
|
416
|
+
super({ name: "a-frame-dynamic-feature-operation-context" });
|
|
417
|
+
this._meta = /* @__PURE__ */ new Map();
|
|
418
|
+
this._meta.set("params", params);
|
|
419
|
+
}
|
|
420
|
+
get params() {
|
|
421
|
+
return this._meta.get("params");
|
|
422
|
+
}
|
|
423
|
+
get(key) {
|
|
424
|
+
return this._meta.get(key);
|
|
425
|
+
}
|
|
426
|
+
set(key, value) {
|
|
427
|
+
this._meta.set(key, value);
|
|
428
|
+
}
|
|
429
|
+
};
|
|
430
|
+
var A_FrameDynamicFeatureError = class extends A_Error {
|
|
431
|
+
};
|
|
432
|
+
A_FrameDynamicFeatureError.GenerationFailed = "GenerationFailed";
|
|
433
|
+
A_FrameDynamicFeatureError.PatchFailed = "PatchFailed";
|
|
434
|
+
A_FrameDynamicFeatureError.MappingFailed = "MappingFailed";
|
|
435
|
+
A_FrameDynamicFeatureError.MethodNotFound = "MethodNotFound";
|
|
436
|
+
A_FrameDynamicFeatureError.InvalidOperation = "InvalidOperation";
|
|
437
|
+
var A_FrameMethodMapIndex = class extends A_Fragment {
|
|
438
|
+
constructor() {
|
|
439
|
+
super({ name: "a-frame-method-map-index" });
|
|
440
|
+
this._stepEntries = /* @__PURE__ */ new Map();
|
|
441
|
+
this._elementEntries = /* @__PURE__ */ new Map();
|
|
442
|
+
}
|
|
443
|
+
// ── Step entries ─────────────────────────────────────────────────────────
|
|
444
|
+
setStep(entry) {
|
|
445
|
+
this._stepEntries.set(entry.prompt, entry);
|
|
446
|
+
}
|
|
447
|
+
getStep(prompt) {
|
|
448
|
+
return this._stepEntries.get(prompt);
|
|
449
|
+
}
|
|
450
|
+
// ── Element entries (components / fragments / entities) ───────────────────
|
|
451
|
+
setElement(entry) {
|
|
452
|
+
this._elementEntries.set(entry.prompt, entry);
|
|
453
|
+
}
|
|
454
|
+
getElement(prompt) {
|
|
455
|
+
return this._elementEntries.get(prompt);
|
|
456
|
+
}
|
|
457
|
+
// ── Accessors ─────────────────────────────────────────────────────────────
|
|
458
|
+
clear() {
|
|
459
|
+
this._stepEntries.clear();
|
|
460
|
+
this._elementEntries.clear();
|
|
461
|
+
}
|
|
462
|
+
get stepCount() {
|
|
463
|
+
return this._stepEntries.size;
|
|
464
|
+
}
|
|
465
|
+
get elementCount() {
|
|
466
|
+
return this._elementEntries.size;
|
|
467
|
+
}
|
|
468
|
+
get matchedSteps() {
|
|
469
|
+
return Array.from(this._stepEntries.values()).filter((e) => e.matchedMethod !== null);
|
|
470
|
+
}
|
|
471
|
+
get unmatchedSteps() {
|
|
472
|
+
return Array.from(this._stepEntries.values()).filter((e) => e.matchedMethod === null);
|
|
473
|
+
}
|
|
474
|
+
// ── Result building ───────────────────────────────────────────────────────
|
|
475
|
+
/**
|
|
476
|
+
* Construct a fully structured `A_FrameDynamicFeatureMapResult` from the
|
|
477
|
+
* accumulated entries and the provided definition.
|
|
478
|
+
*/
|
|
479
|
+
toResult(definition) {
|
|
480
|
+
const getStep = (step) => {
|
|
481
|
+
const existing = this._stepEntries.get(step.prompt);
|
|
482
|
+
if (existing) return existing;
|
|
483
|
+
return {
|
|
484
|
+
prompt: step.prompt,
|
|
485
|
+
inputs: step.inputs,
|
|
486
|
+
outputs: step.outputs,
|
|
487
|
+
matchedClass: null,
|
|
488
|
+
matchedMethod: null,
|
|
489
|
+
matchScore: 0
|
|
490
|
+
};
|
|
491
|
+
};
|
|
492
|
+
const getElement = (el) => {
|
|
493
|
+
const existing = this._elementEntries.get(el.prompt);
|
|
494
|
+
if (existing) return existing;
|
|
495
|
+
return { prompt: el.prompt, matchedClass: null, matchScore: 0 };
|
|
496
|
+
};
|
|
497
|
+
return {
|
|
498
|
+
steps: definition.steps.map(getStep),
|
|
499
|
+
components: definition.components.map(getElement),
|
|
500
|
+
fragments: definition.fragments.map(getElement),
|
|
501
|
+
entities: definition.entities.map(getElement)
|
|
502
|
+
};
|
|
503
|
+
}
|
|
504
|
+
};
|
|
505
|
+
var A_FrameDynamicFeature = class extends A_Entity {
|
|
506
|
+
static get concept() {
|
|
507
|
+
return "a-frame";
|
|
508
|
+
}
|
|
509
|
+
fromNew(options) {
|
|
510
|
+
super.fromNew(options);
|
|
511
|
+
this.createdAt = Date.now();
|
|
512
|
+
this.prompt = options.prompt;
|
|
513
|
+
this._model = options.options?.model ?? A_FRAME_MODELS.PULSAR;
|
|
514
|
+
this._context = options.options?.context ?? "";
|
|
515
|
+
this._includeBases = (options.options?.includeBases ?? []).map((b) => typeof b === "string" ? b : A_CommonHelper.getComponentName(b));
|
|
516
|
+
this._excludeBases = (options.options?.excludeBases ?? []).map((b) => typeof b === "string" ? b : A_CommonHelper.getComponentName(b));
|
|
517
|
+
this._enabledComponents = (options.options?.enabledComponents ?? []).map((b) => typeof b === "string" ? b : A_CommonHelper.getComponentName(b));
|
|
518
|
+
this._minScore = options.options?.minScore ?? 0.7;
|
|
519
|
+
this._maxRetries = options.options?.maxRetries ?? 3;
|
|
520
|
+
this._definition = null;
|
|
521
|
+
this._mapResult = null;
|
|
522
|
+
this._history = [];
|
|
523
|
+
this._version = 0;
|
|
524
|
+
}
|
|
525
|
+
// ── Accessors ───────────────────────────────────────────────────────────────
|
|
526
|
+
get modelName() {
|
|
527
|
+
return this._model;
|
|
528
|
+
}
|
|
529
|
+
get contextHint() {
|
|
530
|
+
return this._context;
|
|
531
|
+
}
|
|
532
|
+
get includedBases() {
|
|
533
|
+
return this._includeBases;
|
|
534
|
+
}
|
|
535
|
+
get excludedBases() {
|
|
536
|
+
return this._excludeBases;
|
|
537
|
+
}
|
|
538
|
+
get enabledComponentsList() {
|
|
539
|
+
return this._enabledComponents;
|
|
540
|
+
}
|
|
541
|
+
get minScore() {
|
|
542
|
+
return this._minScore;
|
|
543
|
+
}
|
|
544
|
+
get maxRetries() {
|
|
545
|
+
return this._maxRetries;
|
|
546
|
+
}
|
|
547
|
+
/** Current workflow definition, or `null` before first `generate()`. */
|
|
548
|
+
get definition() {
|
|
549
|
+
return this._definition;
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Serialised workflow definition (no embedding arrays) — safe to
|
|
553
|
+
* log or persist. Returns an empty shell before `generate()` is called.
|
|
554
|
+
*/
|
|
555
|
+
get workflow() {
|
|
556
|
+
if (!this._definition) {
|
|
557
|
+
return JSON.stringify({ title: "", description: "", steps: [], components: [], fragments: [], entities: [] }, null, 2);
|
|
558
|
+
}
|
|
559
|
+
return JSON.stringify(this._stripEmbeddings(this._definition), null, 2);
|
|
560
|
+
}
|
|
561
|
+
/** Component-mapping result produced by `map()`, or `null` before that call. */
|
|
562
|
+
get mapResult() {
|
|
563
|
+
return this._mapResult;
|
|
564
|
+
}
|
|
565
|
+
/** Immutable patch history. */
|
|
566
|
+
get history() {
|
|
567
|
+
return this._history;
|
|
568
|
+
}
|
|
569
|
+
/** Version counter — increments with each `patch()` call. */
|
|
570
|
+
get version() {
|
|
571
|
+
return this._version;
|
|
572
|
+
}
|
|
573
|
+
// ── Main pipeline ───────────────────────────────────────────────────────────────
|
|
574
|
+
/**
|
|
575
|
+
* Generate the workflow definition from the entity's prompt.
|
|
576
|
+
*
|
|
577
|
+
* Calls the server's `/api/v1/feature/generate` endpoint. The server
|
|
578
|
+
* returns an ordered list of steps (with embeddings), a list of supporting
|
|
579
|
+
* components/fragments/entities, and a human-readable title + description
|
|
580
|
+
* of the workflow.
|
|
581
|
+
*
|
|
582
|
+
* After this call succeeds, invoke `map()` to match each element to a
|
|
583
|
+
* registered class/method in the local A_FrameIndex.
|
|
584
|
+
*/
|
|
585
|
+
async generate() {
|
|
586
|
+
const operation = new A_FrameDynamicFeatureOperation();
|
|
587
|
+
const executionScope = new A_Scope({
|
|
588
|
+
name: "a-frame-dynamic-feature-generate",
|
|
589
|
+
fragments: [operation]
|
|
590
|
+
}).inherit(A_Context.scope(this));
|
|
591
|
+
try {
|
|
592
|
+
await this.call(A_FrameDynamicFeatureFeatures.Generate, executionScope);
|
|
593
|
+
executionScope.destroy();
|
|
594
|
+
} catch (err) {
|
|
595
|
+
executionScope.destroy();
|
|
596
|
+
throw new A_FrameDynamicFeatureError({
|
|
597
|
+
title: A_FrameDynamicFeatureError.GenerationFailed,
|
|
598
|
+
description: `Failed to generate feature workflow: ${err instanceof Error ? err.message : String(err)}`
|
|
599
|
+
});
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Apply a natural-language patch instruction to refine the current workflow.
|
|
604
|
+
*
|
|
605
|
+
* Calls the server's `/api/v1/feature/patch` endpoint. Increments the
|
|
606
|
+
* version and records a history entry. A previous `map()` result is
|
|
607
|
+
* invalidated — call `map()` again after patching.
|
|
608
|
+
*/
|
|
609
|
+
async patch(instruction) {
|
|
610
|
+
const operation = new A_FrameDynamicFeatureOperation({ instruction });
|
|
611
|
+
const executionScope = new A_Scope({
|
|
612
|
+
name: "a-frame-dynamic-feature-patch",
|
|
613
|
+
fragments: [operation]
|
|
614
|
+
}).inherit(A_Context.scope(this));
|
|
615
|
+
try {
|
|
616
|
+
await this.call(A_FrameDynamicFeatureFeatures.Patch, executionScope);
|
|
617
|
+
executionScope.destroy();
|
|
618
|
+
} catch (err) {
|
|
619
|
+
executionScope.destroy();
|
|
620
|
+
throw new A_FrameDynamicFeatureError({
|
|
621
|
+
title: A_FrameDynamicFeatureError.PatchFailed,
|
|
622
|
+
description: `Failed to patch feature workflow: ${err instanceof Error ? err.message : String(err)}`
|
|
623
|
+
});
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* Match every step and supporting element in the current workflow definition
|
|
628
|
+
* against the local A_FrameIndex.
|
|
629
|
+
*
|
|
630
|
+
* Steps are matched to registered *methods* (via embedded method-level
|
|
631
|
+
* definitions indexed with `@A_Frame.Define`). Supporting components,
|
|
632
|
+
* fragments, and entities are matched to registered classes.
|
|
633
|
+
*
|
|
634
|
+
* Unmatched steps are retried via server-side refinement patches (up to
|
|
635
|
+
* `maxRetries` times) before being marked with a `matchError`.
|
|
636
|
+
*
|
|
637
|
+
* Results are stored in `mapResult` after this call completes.
|
|
638
|
+
*/
|
|
639
|
+
async map() {
|
|
640
|
+
const mapIndex = new A_FrameMethodMapIndex();
|
|
641
|
+
const executionScope = new A_Scope({
|
|
642
|
+
name: "a-frame-dynamic-feature-map",
|
|
643
|
+
fragments: [mapIndex]
|
|
644
|
+
}).inherit(A_Context.scope(this));
|
|
645
|
+
try {
|
|
646
|
+
await this.call(A_FrameDynamicFeatureFeatures.Map, executionScope);
|
|
647
|
+
executionScope.destroy();
|
|
648
|
+
} catch (err) {
|
|
649
|
+
executionScope.destroy();
|
|
650
|
+
throw new A_FrameDynamicFeatureError({
|
|
651
|
+
title: A_FrameDynamicFeatureError.MappingFailed,
|
|
652
|
+
description: `Failed to map feature workflow: ${err instanceof Error ? err.message : String(err)}`
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
// ── Hydration ───────────────────────────────────────────────────────────────
|
|
657
|
+
hydrateFromGeneration(definition, meta) {
|
|
658
|
+
this._definition = definition;
|
|
659
|
+
this._mapResult = null;
|
|
660
|
+
this._history.push(new A_FrameDynamicPatch({
|
|
661
|
+
version: this._version,
|
|
662
|
+
timestamp: Date.now(),
|
|
663
|
+
reason: `Generated for: "${this.prompt}"`,
|
|
664
|
+
encoded: Buffer.from(JSON.stringify(this._stripEmbeddings(definition))).toString("base64"),
|
|
665
|
+
delta: definition.steps.length
|
|
666
|
+
}));
|
|
667
|
+
}
|
|
668
|
+
hydrateFromPatch(definition, patchSummary, meta) {
|
|
669
|
+
const prevSteps = this._definition?.steps.length ?? 0;
|
|
670
|
+
this._definition = definition;
|
|
671
|
+
this._mapResult = null;
|
|
672
|
+
this._version++;
|
|
673
|
+
this._history.push(new A_FrameDynamicPatch({
|
|
674
|
+
version: this._version,
|
|
675
|
+
timestamp: Date.now(),
|
|
676
|
+
reason: patchSummary,
|
|
677
|
+
encoded: Buffer.from(JSON.stringify(this._stripEmbeddings(definition))).toString("base64"),
|
|
678
|
+
delta: definition.steps.length - prevSteps
|
|
679
|
+
}));
|
|
680
|
+
}
|
|
681
|
+
hydrateFromMap(result) {
|
|
682
|
+
this._mapResult = result;
|
|
683
|
+
}
|
|
684
|
+
// ── Serialisation ──────────────────────────────────────────────────────────────
|
|
685
|
+
toJSON() {
|
|
686
|
+
return {
|
|
687
|
+
...super.toJSON(),
|
|
688
|
+
name: this.prompt,
|
|
689
|
+
description: `DynamicFeature with ${this._definition?.steps.length ?? 0} steps and ${this._history.length} patches`,
|
|
690
|
+
metadata: {
|
|
691
|
+
model: this._model,
|
|
692
|
+
context: this._context,
|
|
693
|
+
includeBases: this._includeBases,
|
|
694
|
+
excludeBases: this._excludeBases,
|
|
695
|
+
enabledComponents: this._enabledComponents,
|
|
696
|
+
createdAt: this.createdAt
|
|
697
|
+
},
|
|
698
|
+
history: this._history.map((p) => p.toJSON())
|
|
699
|
+
};
|
|
700
|
+
}
|
|
701
|
+
// ── Private helpers ──────────────────────────────────────────────────────────────
|
|
702
|
+
_stripEmbeddings(def) {
|
|
703
|
+
const strip = (el) => {
|
|
704
|
+
const { embedding, ...rest } = el;
|
|
705
|
+
return rest;
|
|
706
|
+
};
|
|
707
|
+
return {
|
|
708
|
+
...def,
|
|
709
|
+
steps: def.steps.map(strip),
|
|
710
|
+
components: def.components.map(strip),
|
|
711
|
+
fragments: def.fragments.map(strip),
|
|
712
|
+
entities: def.entities.map(strip)
|
|
713
|
+
};
|
|
714
|
+
}
|
|
715
|
+
};
|
|
716
|
+
var A_FrameChannel = class extends A_Component {
|
|
717
|
+
async generate(prompt) {
|
|
718
|
+
const request = new A_FrameChannelRequest("POST", "/api/v1/completions", { prompt, max_tokens: 512 });
|
|
719
|
+
const executionScope = new A_Scope({
|
|
720
|
+
name: "A_FrameChannel.generate",
|
|
721
|
+
fragments: [request]
|
|
722
|
+
}).inherit(A_Context.scope(this));
|
|
723
|
+
try {
|
|
724
|
+
await this.call(A_FrameFeatures.Request, executionScope);
|
|
725
|
+
executionScope.destroy();
|
|
726
|
+
return request;
|
|
727
|
+
} catch (err) {
|
|
728
|
+
executionScope.destroy();
|
|
729
|
+
throw new A_FrameChannelError({
|
|
730
|
+
title: A_FrameChannelError.RequestFailed,
|
|
731
|
+
description: `Failed to generate completion: ${err instanceof Error ? err.message : String(err)}`
|
|
732
|
+
});
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
async embed(input, options) {
|
|
736
|
+
const request = new A_FrameChannelRequest("POST", "/api/v1/embeddings", {
|
|
737
|
+
input,
|
|
738
|
+
...options?.model && { model: options.model },
|
|
739
|
+
...options?.task && { task: options.task }
|
|
740
|
+
});
|
|
741
|
+
const executionScope = new A_Scope({
|
|
742
|
+
name: "A_FrameChannel.embed",
|
|
743
|
+
fragments: [request]
|
|
744
|
+
}).inherit(A_Context.scope(this));
|
|
745
|
+
try {
|
|
746
|
+
await this.call(A_FrameFeatures.Request, executionScope);
|
|
747
|
+
executionScope.destroy();
|
|
748
|
+
return request;
|
|
749
|
+
} catch (err) {
|
|
750
|
+
executionScope.destroy();
|
|
751
|
+
throw new A_FrameChannelError({
|
|
752
|
+
title: A_FrameChannelError.RequestFailed,
|
|
753
|
+
description: `Failed to embed input: ${err instanceof Error ? err.message : String(err)}`
|
|
754
|
+
});
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
async getCredentials() {
|
|
758
|
+
const request = new A_FrameChannelRequest("GET", "/api/v1/credentials/me");
|
|
759
|
+
const executionScope = new A_Scope({
|
|
760
|
+
name: "A_FrameChannel.getCredentials",
|
|
761
|
+
fragments: [request]
|
|
762
|
+
}).inherit(A_Context.scope(this));
|
|
763
|
+
try {
|
|
764
|
+
await this.call(A_FrameFeatures.Request, executionScope);
|
|
765
|
+
executionScope.destroy();
|
|
766
|
+
return request;
|
|
767
|
+
} catch (err) {
|
|
768
|
+
executionScope.destroy();
|
|
769
|
+
throw new A_FrameChannelError({
|
|
770
|
+
title: A_FrameChannelError.RequestFailed,
|
|
771
|
+
description: `Failed to get credentials: ${err instanceof Error ? err.message : String(err)}`
|
|
772
|
+
});
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
async ping() {
|
|
776
|
+
const request = new A_FrameChannelRequest("GET", "/health");
|
|
777
|
+
const executionScope = new A_Scope({
|
|
778
|
+
name: "A_FrameChannel.ping",
|
|
779
|
+
fragments: [request]
|
|
780
|
+
}).inherit(A_Context.scope(this));
|
|
781
|
+
try {
|
|
782
|
+
await this.call(A_FrameFeatures.Request, executionScope);
|
|
783
|
+
executionScope.destroy();
|
|
784
|
+
return request;
|
|
785
|
+
} catch {
|
|
786
|
+
executionScope.destroy();
|
|
787
|
+
return request;
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
async embedDefinition(definition, env) {
|
|
791
|
+
const request = new A_FrameChannelRequest("POST", "/api/v1/definition/embed", {
|
|
792
|
+
definition: definition.toJSON(),
|
|
793
|
+
model: definition.requestedModel
|
|
794
|
+
});
|
|
795
|
+
const executionScope = new A_Scope({
|
|
796
|
+
name: "A_FrameChannel.embedDefinition",
|
|
797
|
+
fragments: [request]
|
|
798
|
+
}).inherit(A_Context.scope(this));
|
|
799
|
+
try {
|
|
800
|
+
await this.call(A_FrameFeatures.Request, executionScope);
|
|
801
|
+
executionScope.destroy();
|
|
802
|
+
const response = request.response;
|
|
803
|
+
if (!response.data || !response.data[0] || !response.data[0].embedding) {
|
|
804
|
+
throw new A_FrameChannelError({
|
|
805
|
+
title: A_FrameChannelError.InvalidRequest,
|
|
806
|
+
description: `Invalid embedding response for definition "${definition.name}"`
|
|
807
|
+
});
|
|
808
|
+
}
|
|
809
|
+
const vector = new Float32Array(response.data[0].embedding);
|
|
810
|
+
definition.hydrateFromEmbedding(vector, {
|
|
811
|
+
model: response.model,
|
|
812
|
+
dimensions: response.meta.dimensions,
|
|
813
|
+
inputCount: response.meta.input_count,
|
|
814
|
+
aFrameServerVersion: response.meta.server_version,
|
|
815
|
+
aFrameVersion: env.A_FRAME_VERSION,
|
|
816
|
+
credentialId: response.meta.credential_id,
|
|
817
|
+
date: response.date,
|
|
818
|
+
aFrameMeta: response.aFrameMeta
|
|
819
|
+
});
|
|
820
|
+
} catch (err) {
|
|
821
|
+
throw new A_FrameChannelError({
|
|
822
|
+
title: A_FrameChannelError.RequestFailed,
|
|
823
|
+
description: `Failed to embed definition "${definition.name}": ${err instanceof Error ? err.message : String(err)}`
|
|
824
|
+
});
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
async embedNamespace(namespace, env) {
|
|
828
|
+
const request = new A_FrameChannelRequest("POST", "/api/v1/namespace/embed", {
|
|
829
|
+
namespace: namespace.toJSON(),
|
|
830
|
+
model: namespace.requestedModel
|
|
831
|
+
});
|
|
832
|
+
const executionScope = new A_Scope({
|
|
833
|
+
name: "A_FrameChannel.embedNamespace",
|
|
834
|
+
fragments: [request]
|
|
835
|
+
}).inherit(A_Context.scope(this));
|
|
836
|
+
try {
|
|
837
|
+
await this.call(A_FrameFeatures.Request, executionScope);
|
|
838
|
+
executionScope.destroy();
|
|
839
|
+
const response = request.response;
|
|
840
|
+
if (!response.data || !response.data[0] || !response.data[0].embedding) {
|
|
841
|
+
throw new A_FrameChannelError({
|
|
842
|
+
title: A_FrameChannelError.InvalidRequest,
|
|
843
|
+
description: `Invalid embedding response for namespace "${namespace.name}"`
|
|
844
|
+
});
|
|
845
|
+
}
|
|
846
|
+
const vector = new Float32Array(response.data[0].embedding);
|
|
847
|
+
namespace.hydrateFromEmbedding(vector, {
|
|
848
|
+
model: response.model,
|
|
849
|
+
dimensions: response.meta.dimensions,
|
|
850
|
+
inputCount: response.meta.input_count,
|
|
851
|
+
aFrameServerVersion: response.meta.server_version,
|
|
852
|
+
aFrameVersion: env.A_FRAME_VERSION,
|
|
853
|
+
credentialId: response.meta.credential_id,
|
|
854
|
+
date: response.date
|
|
855
|
+
});
|
|
856
|
+
} catch (err) {
|
|
857
|
+
throw new A_FrameChannelError({
|
|
858
|
+
title: A_FrameChannelError.RequestFailed,
|
|
859
|
+
description: `Failed to embed namespace "${namespace.name}": ${err instanceof Error ? err.message : String(err)}`
|
|
860
|
+
});
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
async embedSegment(segment, env) {
|
|
864
|
+
const request = new A_FrameChannelRequest("POST", "/api/v1/segment/embed", {
|
|
865
|
+
segment: segment.toJSON(),
|
|
866
|
+
task: segment.options?.task,
|
|
867
|
+
model: segment.options?.model
|
|
868
|
+
});
|
|
869
|
+
const executionScope = new A_Scope({
|
|
870
|
+
name: "A_FrameChannel.embedNamespace",
|
|
871
|
+
fragments: [request]
|
|
872
|
+
}).inherit(A_Context.scope(this));
|
|
873
|
+
try {
|
|
874
|
+
await this.call(A_FrameFeatures.Request, executionScope);
|
|
875
|
+
executionScope.destroy();
|
|
876
|
+
const response = request.response;
|
|
877
|
+
if (!response.data || !response.data[0] || !response.data[0].embedding) {
|
|
878
|
+
throw new A_FrameChannelError({
|
|
879
|
+
title: A_FrameChannelError.InvalidRequest,
|
|
880
|
+
description: `Error during embed a segment: ${segment.content}`
|
|
881
|
+
});
|
|
882
|
+
}
|
|
883
|
+
const vector = new Float32Array(response.data[0].embedding);
|
|
884
|
+
segment.fromJSON({
|
|
885
|
+
aseid: segment.aseid.toString(),
|
|
886
|
+
content: segment.content,
|
|
887
|
+
hash: segment.hash,
|
|
888
|
+
embedding: vector,
|
|
889
|
+
model: response.model,
|
|
890
|
+
// dimensions: response.meta.dimensions,
|
|
891
|
+
// inputCount: response.meta.input_count,
|
|
892
|
+
aFrameServerVersion: response.meta.server_version,
|
|
893
|
+
aFrameVersion: env.A_FRAME_VERSION,
|
|
894
|
+
credentialId: response.meta.credential_id,
|
|
895
|
+
embeddedAt: response.date
|
|
896
|
+
});
|
|
897
|
+
} catch (err) {
|
|
898
|
+
throw new A_FrameChannelError({
|
|
899
|
+
title: A_FrameChannelError.RequestFailed,
|
|
900
|
+
description: `Failed to embed segment with content "${segment.content}": ${err instanceof Error ? err.message : String(err)}`
|
|
901
|
+
});
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
async generateDynamicStructure(structure, operation) {
|
|
905
|
+
const request = new A_FrameChannelRequest(
|
|
906
|
+
"POST",
|
|
907
|
+
"/api/v1/structure/generate",
|
|
908
|
+
{
|
|
909
|
+
prompt: structure.prompt,
|
|
910
|
+
model: structure.modelName,
|
|
911
|
+
context: structure.contextHint,
|
|
912
|
+
metaHint: structure.metaHintValue,
|
|
913
|
+
includeBases: structure.includedBases,
|
|
914
|
+
excludeBases: structure.excludedBases,
|
|
915
|
+
enabledComponents: structure.enabledComponentsList
|
|
916
|
+
}
|
|
917
|
+
);
|
|
918
|
+
const requestScope = new A_Scope({
|
|
919
|
+
name: "A_FrameChannel.generateDynamicStructure",
|
|
920
|
+
fragments: [request]
|
|
921
|
+
}).inherit(A_Context.scope(this));
|
|
922
|
+
await this.call(A_FrameFeatures.Request, requestScope);
|
|
923
|
+
requestScope.destroy();
|
|
924
|
+
const resp = request.response;
|
|
925
|
+
structure.hydrateFromGeneration(resp.definition, {
|
|
926
|
+
model: resp.model,
|
|
927
|
+
serverVersion: resp.meta?.server_version ?? "0.0.0"
|
|
928
|
+
});
|
|
929
|
+
}
|
|
930
|
+
async patchDynamicStructure(structure, operation) {
|
|
931
|
+
const { instruction } = operation.params;
|
|
932
|
+
const request = new A_FrameChannelRequest(
|
|
933
|
+
"POST",
|
|
934
|
+
"/api/v1/structure/patch",
|
|
935
|
+
{
|
|
936
|
+
originalPrompt: structure.prompt,
|
|
937
|
+
definition: this._stripStructureEmbeddings(structure.definition ?? { containers: [], components: [], fragments: [], entities: [] }),
|
|
938
|
+
patchInstruction: instruction,
|
|
939
|
+
model: structure.modelName,
|
|
940
|
+
context: structure.contextHint,
|
|
941
|
+
metaHint: structure.metaHintValue,
|
|
942
|
+
includeBases: structure.includedBases,
|
|
943
|
+
excludeBases: structure.excludedBases,
|
|
944
|
+
enabledComponents: structure.enabledComponentsList
|
|
945
|
+
}
|
|
946
|
+
);
|
|
947
|
+
const requestScope = new A_Scope({
|
|
948
|
+
name: "A_FrameChannel.patchDynamicStructure",
|
|
949
|
+
fragments: [request]
|
|
950
|
+
}).inherit(A_Context.scope(this));
|
|
951
|
+
await this.call(A_FrameFeatures.Request, requestScope);
|
|
952
|
+
requestScope.destroy();
|
|
953
|
+
const resp = request.response;
|
|
954
|
+
structure.hydrateFromPatch(resp.definition, resp.patchSummary, {
|
|
955
|
+
model: resp.model,
|
|
956
|
+
serverVersion: resp.meta?.server_version ?? "0.0.0"
|
|
957
|
+
});
|
|
958
|
+
}
|
|
959
|
+
// ─── Structure helpers ─────────────────────────────────────────────────────
|
|
960
|
+
/**
|
|
961
|
+
* Strip embedding arrays and any client-side match fields from a definition
|
|
962
|
+
* before sending it to the server (the server does not need embeddings back).
|
|
963
|
+
*/
|
|
964
|
+
_stripStructureEmbeddings(def) {
|
|
965
|
+
const strip = (el) => {
|
|
966
|
+
const { embedding, ...rest } = el;
|
|
967
|
+
return rest;
|
|
968
|
+
};
|
|
969
|
+
return {
|
|
970
|
+
containers: def.containers.map((c) => ({
|
|
971
|
+
...strip(c),
|
|
972
|
+
components: (c.components ?? []).map(strip),
|
|
973
|
+
fragments: (c.fragments ?? []).map(strip),
|
|
974
|
+
entities: (c.entities ?? []).map(strip)
|
|
975
|
+
})),
|
|
976
|
+
components: def.components.map(strip),
|
|
977
|
+
fragments: def.fragments.map(strip),
|
|
978
|
+
entities: def.entities.map(strip)
|
|
979
|
+
};
|
|
980
|
+
}
|
|
981
|
+
async generateDynamicFeature(feature, operation) {
|
|
982
|
+
const request = new A_FrameChannelRequest(
|
|
983
|
+
"POST",
|
|
984
|
+
"/api/v1/feature/generate",
|
|
985
|
+
{
|
|
986
|
+
prompt: feature.prompt,
|
|
987
|
+
model: feature.modelName,
|
|
988
|
+
context: feature.contextHint
|
|
989
|
+
}
|
|
990
|
+
);
|
|
991
|
+
const requestScope = new A_Scope({
|
|
992
|
+
name: "A_FrameChannel.generateDynamicFeature",
|
|
993
|
+
fragments: [request]
|
|
994
|
+
}).inherit(A_Context.scope(this));
|
|
995
|
+
await this.call(A_FrameFeatures.Request, requestScope);
|
|
996
|
+
requestScope.destroy();
|
|
997
|
+
const resp = request.response;
|
|
998
|
+
feature.hydrateFromGeneration(resp.definition, {
|
|
999
|
+
model: resp.model,
|
|
1000
|
+
serverVersion: resp.meta?.server_version ?? "0.0.0"
|
|
1001
|
+
});
|
|
1002
|
+
}
|
|
1003
|
+
async patchDynamicFeature(feature, operation) {
|
|
1004
|
+
const { instruction } = operation.params;
|
|
1005
|
+
const request = new A_FrameChannelRequest(
|
|
1006
|
+
"POST",
|
|
1007
|
+
"/api/v1/feature/patch",
|
|
1008
|
+
{
|
|
1009
|
+
originalPrompt: feature.prompt,
|
|
1010
|
+
definition: this._stripFeatureEmbeddings(
|
|
1011
|
+
feature.definition ?? {
|
|
1012
|
+
title: "",
|
|
1013
|
+
description: "",
|
|
1014
|
+
steps: [],
|
|
1015
|
+
components: [],
|
|
1016
|
+
fragments: [],
|
|
1017
|
+
entities: []
|
|
1018
|
+
}
|
|
1019
|
+
),
|
|
1020
|
+
patchInstruction: instruction,
|
|
1021
|
+
model: feature.modelName,
|
|
1022
|
+
context: feature.contextHint
|
|
1023
|
+
}
|
|
1024
|
+
);
|
|
1025
|
+
const requestScope = new A_Scope({
|
|
1026
|
+
name: "A_FrameChannel.patchDynamicFeature",
|
|
1027
|
+
fragments: [request]
|
|
1028
|
+
}).inherit(A_Context.scope(this));
|
|
1029
|
+
await this.call(A_FrameFeatures.Request, requestScope);
|
|
1030
|
+
requestScope.destroy();
|
|
1031
|
+
const resp = request.response;
|
|
1032
|
+
feature.hydrateFromPatch(resp.definition, resp.patchSummary, {
|
|
1033
|
+
model: resp.model,
|
|
1034
|
+
serverVersion: resp.meta?.server_version ?? "0.0.0"
|
|
1035
|
+
});
|
|
1036
|
+
}
|
|
1037
|
+
_stripFeatureEmbeddings(def) {
|
|
1038
|
+
const strip = (el) => {
|
|
1039
|
+
const { embedding, ...rest } = el;
|
|
1040
|
+
return rest;
|
|
1041
|
+
};
|
|
1042
|
+
return {
|
|
1043
|
+
...def,
|
|
1044
|
+
steps: def.steps.map(strip),
|
|
1045
|
+
components: def.components.map(strip),
|
|
1046
|
+
fragments: def.fragments.map(strip),
|
|
1047
|
+
entities: def.entities.map(strip)
|
|
1048
|
+
};
|
|
1049
|
+
}
|
|
1050
|
+
async generateDynamicContent(content, operation) {
|
|
1051
|
+
const request = new A_FrameChannelRequest(
|
|
1052
|
+
"POST",
|
|
1053
|
+
"/api/v1/content/generate",
|
|
1054
|
+
{
|
|
1055
|
+
prompt: content.prompt,
|
|
1056
|
+
model: content.modelName,
|
|
1057
|
+
...content.systemPrompt !== void 0 ? { system: content.systemPrompt } : {}
|
|
1058
|
+
}
|
|
1059
|
+
);
|
|
1060
|
+
const requestScope = new A_Scope({
|
|
1061
|
+
name: "A_FrameChannel.generateDynamicContent",
|
|
1062
|
+
fragments: [request]
|
|
1063
|
+
}).inherit(A_Context.scope(this));
|
|
1064
|
+
await this.call(A_FrameFeatures.Request, requestScope);
|
|
1065
|
+
requestScope.destroy();
|
|
1066
|
+
const resp = request.response;
|
|
1067
|
+
const segments = (resp.segments ?? []).map((w) => {
|
|
1068
|
+
const seg = new A_FrameSegment({ content: w.content, options: { task: "document" } });
|
|
1069
|
+
if (w.embedding?.length) {
|
|
1070
|
+
seg.hydrateFromEmbedding(new Float32Array(w.embedding));
|
|
1071
|
+
}
|
|
1072
|
+
return seg;
|
|
1073
|
+
});
|
|
1074
|
+
content.hydrateFromGeneration(segments, {
|
|
1075
|
+
model: resp.model,
|
|
1076
|
+
serverVersion: resp.meta?.server_version ?? "0.0.0"
|
|
1077
|
+
});
|
|
1078
|
+
}
|
|
1079
|
+
async patchDynamicContent(content, operation) {
|
|
1080
|
+
const { instruction, segments } = operation.params;
|
|
1081
|
+
const wireIdToAseid = /* @__PURE__ */ new Map();
|
|
1082
|
+
const wireSegments = segments.map((s, idx) => {
|
|
1083
|
+
const wireId = `s${idx}`;
|
|
1084
|
+
wireIdToAseid.set(wireId, String(s.id));
|
|
1085
|
+
return {
|
|
1086
|
+
id: wireId,
|
|
1087
|
+
index: idx,
|
|
1088
|
+
text: s.content,
|
|
1089
|
+
vector: s.vector ? Array.from(s.vector.values) : void 0
|
|
1090
|
+
};
|
|
1091
|
+
});
|
|
1092
|
+
const request = new A_FrameChannelRequest(
|
|
1093
|
+
"POST",
|
|
1094
|
+
"/api/v1/content/patch",
|
|
1095
|
+
{
|
|
1096
|
+
prompt: content.prompt,
|
|
1097
|
+
segments: wireSegments,
|
|
1098
|
+
instruction,
|
|
1099
|
+
model: content.modelName,
|
|
1100
|
+
...content.systemPrompt !== void 0 ? { system: content.systemPrompt } : {}
|
|
1101
|
+
}
|
|
1102
|
+
);
|
|
1103
|
+
const requestScope = new A_Scope({
|
|
1104
|
+
name: "A_FrameChannel.patchDynamicContent",
|
|
1105
|
+
fragments: [request]
|
|
1106
|
+
}).inherit(A_Context.scope(this));
|
|
1107
|
+
await this.call(A_FrameFeatures.Request, requestScope);
|
|
1108
|
+
requestScope.destroy();
|
|
1109
|
+
const resp = request.response;
|
|
1110
|
+
const translatedOperations = resp.operations.map((op) => ({
|
|
1111
|
+
...op,
|
|
1112
|
+
targetId: op.targetId ? wireIdToAseid.get(op.targetId) ?? op.targetId : op.targetId
|
|
1113
|
+
}));
|
|
1114
|
+
content.hydrateFromPatch(
|
|
1115
|
+
{ ...resp, operations: translatedOperations },
|
|
1116
|
+
{
|
|
1117
|
+
model: resp.model,
|
|
1118
|
+
serverVersion: resp.meta?.server_version ?? "0.0.0"
|
|
1119
|
+
}
|
|
1120
|
+
);
|
|
1121
|
+
}
|
|
1122
|
+
async generateCompletion(completion, env) {
|
|
1123
|
+
const request = new A_FrameChannelRequest(
|
|
1124
|
+
"POST",
|
|
1125
|
+
"/api/v1/completions/generate",
|
|
1126
|
+
{
|
|
1127
|
+
prompt: completion.prompt,
|
|
1128
|
+
options: completion.options
|
|
1129
|
+
}
|
|
1130
|
+
);
|
|
1131
|
+
const executionScope = new A_Scope({
|
|
1132
|
+
name: "A_FrameChannel.generateCompletion",
|
|
1133
|
+
fragments: [request]
|
|
1134
|
+
}).inherit(A_Context.scope(this));
|
|
1135
|
+
try {
|
|
1136
|
+
await this.call(A_FrameFeatures.Request, executionScope);
|
|
1137
|
+
executionScope.destroy();
|
|
1138
|
+
const response = request.response;
|
|
1139
|
+
if (!response.text) {
|
|
1140
|
+
throw new A_FrameChannelError({
|
|
1141
|
+
title: A_FrameChannelError.InvalidRequest,
|
|
1142
|
+
description: `Invalid completion response for prompt "${completion.prompt}"`
|
|
1143
|
+
});
|
|
1144
|
+
}
|
|
1145
|
+
completion.hydrateFromGeneration({
|
|
1146
|
+
text: response.text,
|
|
1147
|
+
embedding: new Float32Array(response.embedding),
|
|
1148
|
+
model: response.model,
|
|
1149
|
+
date: response.date,
|
|
1150
|
+
aFrameVersion: env.A_FRAME_VERSION,
|
|
1151
|
+
aFrameServerVersion: response.meta.server_version
|
|
1152
|
+
});
|
|
1153
|
+
} catch (err) {
|
|
1154
|
+
throw new A_FrameChannelError({
|
|
1155
|
+
title: A_FrameChannelError.RequestFailed,
|
|
1156
|
+
description: `Failed to generate completion for prompt "${completion.prompt}": ${err instanceof Error ? err.message : String(err)}`
|
|
1157
|
+
});
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
async extractSchema(scheme, env) {
|
|
1161
|
+
const request = new A_FrameChannelRequest(
|
|
1162
|
+
"POST",
|
|
1163
|
+
"/api/v1/schema/extract",
|
|
1164
|
+
{
|
|
1165
|
+
prompt: scheme.prompt,
|
|
1166
|
+
schema: scheme.schema,
|
|
1167
|
+
options: scheme.options
|
|
1168
|
+
}
|
|
1169
|
+
);
|
|
1170
|
+
const executionScope = new A_Scope({
|
|
1171
|
+
name: "A_FrameChannel.extractSchema",
|
|
1172
|
+
fragments: [request]
|
|
1173
|
+
}).inherit(A_Context.scope(this));
|
|
1174
|
+
try {
|
|
1175
|
+
await this.call(A_FrameFeatures.Request, executionScope);
|
|
1176
|
+
executionScope.destroy();
|
|
1177
|
+
const response = request.response;
|
|
1178
|
+
if (!response.data) {
|
|
1179
|
+
throw new A_FrameChannelError({
|
|
1180
|
+
title: A_FrameChannelError.InvalidRequest,
|
|
1181
|
+
description: `Invalid scheme extraction response for prompt "${scheme.prompt}"`
|
|
1182
|
+
});
|
|
1183
|
+
}
|
|
1184
|
+
scheme.hydrateFromExtraction(response.data, {
|
|
1185
|
+
model: response.model,
|
|
1186
|
+
date: response.date,
|
|
1187
|
+
aFrameVersion: env.A_FRAME_VERSION,
|
|
1188
|
+
aFrameServerVersion: response.meta.server_version
|
|
1189
|
+
});
|
|
1190
|
+
} catch (err) {
|
|
1191
|
+
throw new A_FrameChannelError({
|
|
1192
|
+
title: A_FrameChannelError.RequestFailed,
|
|
1193
|
+
description: `Failed to extract scheme for prompt "${scheme.prompt}": ${err instanceof Error ? err.message : String(err)}`
|
|
1194
|
+
});
|
|
1195
|
+
}
|
|
1196
|
+
}
|
|
1197
|
+
};
|
|
1198
|
+
__decorateClass([
|
|
1199
|
+
A_Feature.Extend({
|
|
1200
|
+
name: A_FrameDefinitionFeatures.Embed,
|
|
1201
|
+
scope: [A_FrameDefinition]
|
|
1202
|
+
}),
|
|
1203
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1204
|
+
__decorateParam(1, A_Inject(A_FrameEnv))
|
|
1205
|
+
], A_FrameChannel.prototype, "embedDefinition", 1);
|
|
1206
|
+
__decorateClass([
|
|
1207
|
+
A_Feature.Extend({
|
|
1208
|
+
name: A_FrameNamespaceFeatures.Embed,
|
|
1209
|
+
scope: [A_FrameNamespace]
|
|
1210
|
+
}),
|
|
1211
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1212
|
+
__decorateParam(1, A_Inject(A_FrameEnv))
|
|
1213
|
+
], A_FrameChannel.prototype, "embedNamespace", 1);
|
|
1214
|
+
__decorateClass([
|
|
1215
|
+
A_Feature.Extend({
|
|
1216
|
+
name: A_FrameSegmentFeatures.Embed,
|
|
1217
|
+
scope: [A_FrameSegment]
|
|
1218
|
+
}),
|
|
1219
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1220
|
+
__decorateParam(1, A_Inject(A_FrameEnv))
|
|
1221
|
+
], A_FrameChannel.prototype, "embedSegment", 1);
|
|
1222
|
+
__decorateClass([
|
|
1223
|
+
A_Feature.Extend({
|
|
1224
|
+
name: A_FrameDynamicStructureFeatures.Generate,
|
|
1225
|
+
scope: [A_FrameDynamicStructure]
|
|
1226
|
+
}),
|
|
1227
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1228
|
+
__decorateParam(1, A_Inject(A_FrameDynamicStructureOperation))
|
|
1229
|
+
], A_FrameChannel.prototype, "generateDynamicStructure", 1);
|
|
1230
|
+
__decorateClass([
|
|
1231
|
+
A_Feature.Extend({
|
|
1232
|
+
name: A_FrameDynamicStructureFeatures.Patch,
|
|
1233
|
+
scope: [A_FrameDynamicStructure]
|
|
1234
|
+
}),
|
|
1235
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1236
|
+
__decorateParam(1, A_Inject(A_FrameDynamicStructureOperation))
|
|
1237
|
+
], A_FrameChannel.prototype, "patchDynamicStructure", 1);
|
|
1238
|
+
__decorateClass([
|
|
1239
|
+
A_Feature.Extend({
|
|
1240
|
+
name: A_FrameDynamicFeatureFeatures.Generate,
|
|
1241
|
+
scope: [A_FrameDynamicFeature]
|
|
1242
|
+
}),
|
|
1243
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1244
|
+
__decorateParam(1, A_Inject(A_FrameDynamicFeatureOperation))
|
|
1245
|
+
], A_FrameChannel.prototype, "generateDynamicFeature", 1);
|
|
1246
|
+
__decorateClass([
|
|
1247
|
+
A_Feature.Extend({
|
|
1248
|
+
name: A_FrameDynamicFeatureFeatures.Patch,
|
|
1249
|
+
scope: [A_FrameDynamicFeature]
|
|
1250
|
+
}),
|
|
1251
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1252
|
+
__decorateParam(1, A_Inject(A_FrameDynamicFeatureOperation))
|
|
1253
|
+
], A_FrameChannel.prototype, "patchDynamicFeature", 1);
|
|
1254
|
+
__decorateClass([
|
|
1255
|
+
A_Feature.Extend({
|
|
1256
|
+
name: A_FrameDynamicContentFeatures.Generate,
|
|
1257
|
+
scope: [A_FrameDynamicContent]
|
|
1258
|
+
}),
|
|
1259
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1260
|
+
__decorateParam(1, A_Inject(A_FrameDynamicContentOperation))
|
|
1261
|
+
], A_FrameChannel.prototype, "generateDynamicContent", 1);
|
|
1262
|
+
__decorateClass([
|
|
1263
|
+
A_Feature.Extend({
|
|
1264
|
+
name: A_FrameDynamicContentFeatures.Patch,
|
|
1265
|
+
scope: [A_FrameDynamicContent]
|
|
1266
|
+
}),
|
|
1267
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1268
|
+
__decorateParam(1, A_Inject(A_FrameDynamicContentOperation))
|
|
1269
|
+
], A_FrameChannel.prototype, "patchDynamicContent", 1);
|
|
1270
|
+
__decorateClass([
|
|
1271
|
+
A_Feature.Extend({
|
|
1272
|
+
name: A_FrameCompletionFeatures.Generate,
|
|
1273
|
+
scope: [A_FrameCompletion]
|
|
1274
|
+
}),
|
|
1275
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1276
|
+
__decorateParam(1, A_Inject(A_FrameEnv))
|
|
1277
|
+
], A_FrameChannel.prototype, "generateCompletion", 1);
|
|
1278
|
+
__decorateClass([
|
|
1279
|
+
A_Feature.Extend({
|
|
1280
|
+
name: A_FrameSchemaFeatures.Extract,
|
|
1281
|
+
scope: [A_FrameSchema]
|
|
1282
|
+
}),
|
|
1283
|
+
__decorateParam(0, A_Inject(A_Caller)),
|
|
1284
|
+
__decorateParam(1, A_Inject(A_FrameEnv))
|
|
1285
|
+
], A_FrameChannel.prototype, "extractSchema", 1);
|
|
1286
|
+
|
|
1287
|
+
export { A_FrameChannel, A_FrameChannelError, A_FrameChannelRequest, A_FrameChannelSocketFeatures, A_FrameChannelSocketStatuses, A_FrameChannelStreamFeatures, A_FrameChannelStreamStatuses, A_FrameComponentMapIndex, A_FrameDynamicFeature, A_FrameDynamicFeatureError, A_FrameDynamicFeatureFeatures, A_FrameDynamicFeatureOperation, A_FrameDynamicStructure, A_FrameDynamicStructureError, A_FrameDynamicStructureEvents, A_FrameDynamicStructureFeatures, A_FrameFeatures, A_FrameMethodMapIndex };
|
|
1288
|
+
//# sourceMappingURL=chunk-7OLLATCC.mjs.map
|
|
1289
|
+
//# sourceMappingURL=chunk-7OLLATCC.mjs.map
|