@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.
Files changed (672) hide show
  1. package/.conf/tsconfig.browser.json +7 -1
  2. package/.conf/tsconfig.node.json +7 -1
  3. package/dist/browser/A-FrameBrowserStorageBlobs.context-CZTTvpn2.d.mts +53 -0
  4. package/dist/browser/A-FrameBrowserStorageBlobs.context-CaGTyatz.d.mts +40 -0
  5. package/dist/browser/A-FrameBrowserStorageBlobs.context-DjeEH8cn.d.mts +53 -0
  6. package/dist/browser/A-FrameBrowserStorageBlobs.context-vCsuTea9.d.mts +40 -0
  7. package/dist/browser/A-FrameBundle.types-LzfgdMiQ.d.mts +71 -0
  8. package/dist/browser/A-FrameChannel.component-4mTNctXL.d.mts +704 -0
  9. package/dist/browser/A-FrameChannel.types-BXEKJK9t.d.mts +205 -0
  10. package/dist/browser/A-FrameChannel.types-Ba3wgUZj.d.mts +199 -0
  11. package/dist/browser/A-FrameChannel.types-BfINhQZe.d.mts +145 -0
  12. package/dist/browser/A-FrameChannel.types-DfacgYL1.d.mts +199 -0
  13. package/dist/browser/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
  14. package/dist/browser/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
  15. package/dist/browser/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
  16. package/dist/browser/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
  17. package/dist/browser/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
  18. package/dist/browser/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
  19. package/dist/browser/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
  20. package/dist/browser/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
  21. package/dist/browser/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
  22. package/dist/browser/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
  23. package/dist/browser/A-FrameEnv.types-DnK-CYVk.d.mts +21 -0
  24. package/dist/browser/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
  25. package/dist/browser/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
  26. package/dist/browser/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
  27. package/dist/browser/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
  28. package/dist/browser/bundle.d.mts +6 -2
  29. package/dist/browser/bundle.mjs +1 -1
  30. package/dist/browser/bundle.mjs.map +1 -1
  31. package/dist/browser/channel.d.mts +51 -74
  32. package/dist/browser/channel.mjs +1 -2
  33. package/dist/browser/channel.mjs.map +1 -1
  34. package/dist/browser/chunk-2RNFZSBL.mjs +2 -0
  35. package/dist/browser/chunk-2RNFZSBL.mjs.map +1 -0
  36. package/dist/browser/chunk-46LRNZRG.mjs +2 -0
  37. package/dist/browser/chunk-46LRNZRG.mjs.map +1 -0
  38. package/dist/browser/chunk-52HFO3OY.mjs +2 -0
  39. package/dist/browser/chunk-52HFO3OY.mjs.map +1 -0
  40. package/dist/browser/chunk-643KGQKR.mjs +3 -0
  41. package/dist/browser/chunk-643KGQKR.mjs.map +1 -0
  42. package/dist/browser/chunk-66BBIZAM.mjs +3 -0
  43. package/dist/browser/chunk-66BBIZAM.mjs.map +1 -0
  44. package/dist/browser/chunk-6NPQURSO.mjs +2 -0
  45. package/dist/browser/chunk-6NPQURSO.mjs.map +1 -0
  46. package/dist/browser/chunk-6WAOMX7M.mjs +2 -0
  47. package/dist/browser/chunk-6WAOMX7M.mjs.map +1 -0
  48. package/dist/browser/chunk-77HU5SRQ.mjs +2 -0
  49. package/dist/browser/chunk-77HU5SRQ.mjs.map +1 -0
  50. package/dist/browser/chunk-AET6XULU.mjs +2 -0
  51. package/dist/browser/chunk-AET6XULU.mjs.map +1 -0
  52. package/dist/browser/chunk-BIBPE2GT.mjs +3 -0
  53. package/dist/browser/chunk-BIBPE2GT.mjs.map +1 -0
  54. package/dist/browser/chunk-CDJKU4DK.mjs +2 -0
  55. package/dist/browser/chunk-CDJKU4DK.mjs.map +1 -0
  56. package/dist/browser/chunk-CT67Y46H.mjs +3 -0
  57. package/dist/browser/chunk-CT67Y46H.mjs.map +1 -0
  58. package/dist/browser/chunk-EFC7OUNO.mjs +2 -0
  59. package/dist/browser/chunk-EFC7OUNO.mjs.map +1 -0
  60. package/dist/browser/chunk-EJIX7H7A.mjs +2 -0
  61. package/dist/browser/chunk-EJIX7H7A.mjs.map +1 -0
  62. package/dist/browser/chunk-FHJ5ATND.mjs +3 -0
  63. package/dist/browser/chunk-FHJ5ATND.mjs.map +1 -0
  64. package/dist/browser/chunk-FVH2EEVP.mjs +3 -0
  65. package/dist/browser/chunk-FVH2EEVP.mjs.map +1 -0
  66. package/dist/browser/chunk-G6ULYKSU.mjs +2 -0
  67. package/dist/browser/chunk-G6ULYKSU.mjs.map +1 -0
  68. package/dist/browser/chunk-G7MKGKG5.mjs +2 -0
  69. package/dist/browser/chunk-G7MKGKG5.mjs.map +1 -0
  70. package/dist/browser/chunk-GOADBDTE.mjs +2 -0
  71. package/dist/browser/chunk-GOADBDTE.mjs.map +1 -0
  72. package/dist/browser/chunk-GOMJPGVB.mjs +3 -0
  73. package/dist/browser/chunk-GOMJPGVB.mjs.map +1 -0
  74. package/dist/browser/chunk-INQV5UZA.mjs +2 -0
  75. package/dist/browser/chunk-INQV5UZA.mjs.map +1 -0
  76. package/dist/browser/chunk-INXPVBTZ.mjs +2 -0
  77. package/dist/browser/chunk-INXPVBTZ.mjs.map +1 -0
  78. package/dist/browser/chunk-KFMVTZ7T.mjs +2 -0
  79. package/dist/browser/chunk-KFMVTZ7T.mjs.map +1 -0
  80. package/dist/browser/chunk-LK6C7C3S.mjs +2 -0
  81. package/dist/browser/chunk-LK6C7C3S.mjs.map +1 -0
  82. package/dist/browser/chunk-LOGRQOWP.mjs +3 -0
  83. package/dist/browser/chunk-LOGRQOWP.mjs.map +1 -0
  84. package/dist/browser/chunk-LZACYSUC.mjs +3 -0
  85. package/dist/browser/chunk-LZACYSUC.mjs.map +1 -0
  86. package/dist/browser/chunk-NTOIVRX3.mjs +2 -0
  87. package/dist/browser/chunk-NTOIVRX3.mjs.map +1 -0
  88. package/dist/browser/chunk-OES2N3X7.mjs +3 -0
  89. package/dist/browser/chunk-OES2N3X7.mjs.map +1 -0
  90. package/dist/browser/chunk-OFKV5GNB.mjs +1 -1
  91. package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -1
  92. package/dist/browser/chunk-OVLM5A32.mjs +3 -0
  93. package/dist/browser/chunk-OVLM5A32.mjs.map +1 -0
  94. package/dist/browser/chunk-QATIN7CO.mjs +1 -1
  95. package/dist/browser/chunk-QATIN7CO.mjs.map +1 -1
  96. package/dist/browser/chunk-QOL7CAUZ.mjs +2 -0
  97. package/dist/browser/chunk-QOL7CAUZ.mjs.map +1 -0
  98. package/dist/browser/chunk-RCB3PX4V.mjs +2 -0
  99. package/dist/browser/chunk-RCB3PX4V.mjs.map +1 -0
  100. package/dist/browser/chunk-RWQSCROK.mjs +3 -0
  101. package/dist/browser/chunk-RWQSCROK.mjs.map +1 -0
  102. package/dist/browser/chunk-TIAUMK2X.mjs +2 -0
  103. package/dist/browser/chunk-TIAUMK2X.mjs.map +1 -0
  104. package/dist/browser/chunk-TQPC5MYM.mjs +3 -0
  105. package/dist/browser/chunk-TQPC5MYM.mjs.map +1 -0
  106. package/dist/browser/chunk-UNIKTCXL.mjs +3 -0
  107. package/dist/browser/chunk-UNIKTCXL.mjs.map +1 -0
  108. package/dist/browser/chunk-UULJJ5C5.mjs +3 -0
  109. package/dist/browser/chunk-UULJJ5C5.mjs.map +1 -0
  110. package/dist/browser/chunk-VSSANMPF.mjs +2 -0
  111. package/dist/browser/chunk-VSSANMPF.mjs.map +1 -0
  112. package/dist/browser/chunk-VW2BZYNY.mjs +2 -0
  113. package/dist/browser/chunk-VW2BZYNY.mjs.map +1 -0
  114. package/dist/browser/chunk-WAXBOWM6.mjs +3 -0
  115. package/dist/browser/chunk-WAXBOWM6.mjs.map +1 -0
  116. package/dist/browser/chunk-WXCQCHAX.mjs +2 -0
  117. package/dist/browser/chunk-WXCQCHAX.mjs.map +1 -0
  118. package/dist/browser/chunk-XKKBIIZG.mjs +3 -0
  119. package/dist/browser/chunk-XKKBIIZG.mjs.map +1 -0
  120. package/dist/browser/chunk-XR7FVA5M.mjs +3 -0
  121. package/dist/browser/chunk-XR7FVA5M.mjs.map +1 -0
  122. package/dist/browser/chunk-YQJFTBGV.mjs +3 -0
  123. package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -0
  124. package/dist/browser/chunk-YTAMZDWC.mjs +3 -0
  125. package/dist/browser/chunk-YTAMZDWC.mjs.map +1 -0
  126. package/dist/browser/chunk-ZEONOTRL.mjs +2 -0
  127. package/dist/browser/chunk-ZEONOTRL.mjs.map +1 -0
  128. package/dist/browser/completion.d.mts +10 -0
  129. package/dist/browser/completion.mjs +2 -0
  130. package/dist/browser/completion.mjs.map +1 -0
  131. package/dist/browser/core.d.mts +8 -7
  132. package/dist/browser/core.mjs +1 -1
  133. package/dist/browser/core.mjs.map +1 -1
  134. package/dist/browser/credentials.d.mts +74 -0
  135. package/dist/browser/credentials.mjs +2 -0
  136. package/dist/browser/credentials.mjs.map +1 -0
  137. package/dist/browser/definition.d.mts +3 -2
  138. package/dist/browser/definition.mjs +1 -1
  139. package/dist/browser/dynamic-content.d.mts +13 -0
  140. package/dist/browser/dynamic-content.mjs +2 -0
  141. package/dist/browser/dynamic-content.mjs.map +1 -0
  142. package/dist/browser/dynamic-feature.d.mts +66 -6
  143. package/dist/browser/dynamic-feature.mjs +3 -1
  144. package/dist/browser/dynamic-feature.mjs.map +1 -1
  145. package/dist/browser/dynamic-structure.d.mts +77 -3
  146. package/dist/browser/dynamic-structure.mjs +1 -1
  147. package/dist/browser/dynamic-structure.mjs.map +1 -1
  148. package/dist/browser/env.d.mts +16 -2
  149. package/dist/browser/env.mjs +1 -1
  150. package/dist/browser/frame-index.d.mts +70 -9
  151. package/dist/browser/frame-index.mjs +1 -1
  152. package/dist/browser/models.d.mts +64 -0
  153. package/dist/browser/models.mjs +2 -0
  154. package/dist/browser/models.mjs.map +1 -0
  155. package/dist/browser/namespace.d.mts +1 -1
  156. package/dist/browser/namespace.mjs +1 -1
  157. package/dist/browser/schema.d.mts +10 -0
  158. package/dist/browser/schema.mjs +2 -0
  159. package/dist/browser/schema.mjs.map +1 -0
  160. package/dist/browser/segment.d.mts +13 -0
  161. package/dist/browser/segment.mjs +2 -0
  162. package/dist/browser/segment.mjs.map +1 -0
  163. package/dist/browser/storage.d.mts +13 -7
  164. package/dist/browser/storage.mjs +1 -1
  165. package/dist/browser/vector.d.mts +7 -0
  166. package/dist/browser/vector.mjs +1 -1
  167. package/dist/cli.cjs +5593 -0
  168. package/dist/cli.cjs.map +1 -0
  169. package/dist/node/A-FrameChannel.component--YErPxf4.d.mts +97 -0
  170. package/dist/node/A-FrameChannel.component-BjgqMh1B.d.ts +97 -0
  171. package/dist/node/A-FrameChannel.component-C0O3TaRD.d.ts +679 -0
  172. package/dist/node/A-FrameChannel.component-CgBZYBz0.d.mts +379 -0
  173. package/dist/node/A-FrameChannel.component-CkZserv3.d.ts +97 -0
  174. package/dist/node/A-FrameChannel.component-DMA-3sUB.d.mts +679 -0
  175. package/dist/node/A-FrameChannel.component-DYV8omYR.d.ts +379 -0
  176. package/dist/node/A-FrameChannel.component-DwgYNfFn.d.mts +97 -0
  177. package/dist/node/A-FrameChannel.types-B3_xWKEO.d.mts +151 -0
  178. package/dist/node/A-FrameChannel.types-BGcVXTqa.d.ts +205 -0
  179. package/dist/node/A-FrameChannel.types-Boi8QqDK.d.mts +205 -0
  180. package/dist/node/A-FrameChannel.types-BsE6bNky.d.mts +205 -0
  181. package/dist/node/A-FrameChannel.types-C-gxXl8m.d.ts +151 -0
  182. package/dist/node/A-FrameChannel.types-DD2B11rf.d.ts +205 -0
  183. package/dist/node/A-FrameChannel.types-DYMgRiCF.d.mts +205 -0
  184. package/dist/node/A-FrameChannel.types-DwyZRsOy.d.ts +205 -0
  185. package/dist/node/A-FrameCompletion.entity-Brx11JMp.d.ts +72 -0
  186. package/dist/node/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
  187. package/dist/node/A-FrameDefinition.entity-BIF0sclD.d.ts +370 -0
  188. package/dist/node/A-FrameDefinition.entity-Bt9ua6cn.d.ts +358 -0
  189. package/dist/node/A-FrameDefinition.entity-C0kzaGJ0.d.ts +143 -0
  190. package/dist/node/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
  191. package/dist/node/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
  192. package/dist/node/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
  193. package/dist/node/A-FrameDefinition.types-BA_pLGpo.d.ts +232 -0
  194. package/dist/node/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
  195. package/dist/node/A-FrameDynamicContentOperation.context-C_aH1gEn.d.ts +297 -0
  196. package/dist/node/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
  197. package/dist/node/A-FrameDynamicContentOperation.context-DRqH2c3o.d.ts +266 -0
  198. package/dist/node/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
  199. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
  200. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.ts +29 -0
  201. package/dist/node/A-FrameDynamicStructure.entity-BVCbolMd.d.ts +210 -0
  202. package/dist/node/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
  203. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
  204. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.ts +235 -0
  205. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.mts +114 -0
  206. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.ts +114 -0
  207. package/dist/node/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
  208. package/dist/node/A-FrameNamespace.entity-HDXcLGcS.d.ts +136 -0
  209. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
  210. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.ts +141 -0
  211. package/dist/node/A-FrameSegment.entity-C0izuOmC.d.ts +161 -0
  212. package/dist/node/A-FrameSegment.entity-CMCgFCWU.d.ts +146 -0
  213. package/dist/node/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
  214. package/dist/node/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
  215. package/dist/node/A-FrameStorage.component-BnNKzvpY.d.mts +107 -0
  216. package/dist/node/A-FrameStorage.component-CDztogHV.d.mts +107 -0
  217. package/dist/node/A-FrameStorage.component-CW0YgKDI.d.mts +107 -0
  218. package/dist/node/A-FrameStorage.component-D4UEkIBx.d.mts +107 -0
  219. package/dist/node/A-FrameStorage.component-DV_jwK6r.d.ts +107 -0
  220. package/dist/node/A-FrameStorage.component-Di4EvbtC.d.ts +107 -0
  221. package/dist/node/A-FrameStorage.component-emIH1a1M.d.ts +107 -0
  222. package/dist/node/A-FrameStorage.component-y-JPiIQ4.d.ts +107 -0
  223. package/dist/node/bundle.cjs +66 -21
  224. package/dist/node/bundle.cjs.map +1 -1
  225. package/dist/node/bundle.d.mts +88 -24
  226. package/dist/node/bundle.d.ts +88 -24
  227. package/dist/node/bundle.mjs +65 -20
  228. package/dist/node/bundle.mjs.map +1 -1
  229. package/dist/node/channel.cjs +33 -26
  230. package/dist/node/channel.d.mts +10 -6
  231. package/dist/node/channel.d.ts +10 -6
  232. package/dist/node/channel.mjs +13 -6
  233. package/dist/node/chunk-2HUSP34L.mjs +55 -0
  234. package/dist/node/chunk-2HUSP34L.mjs.map +1 -0
  235. package/dist/node/chunk-2KXGI2E5.cjs +474 -0
  236. package/dist/node/chunk-2KXGI2E5.cjs.map +1 -0
  237. package/dist/node/chunk-2OQMOIR5.mjs +170 -0
  238. package/dist/node/chunk-2OQMOIR5.mjs.map +1 -0
  239. package/dist/node/chunk-2UI7RJ4Q.mjs +207 -0
  240. package/dist/node/chunk-2UI7RJ4Q.mjs.map +1 -0
  241. package/dist/node/chunk-3SLICJ3L.cjs +265 -0
  242. package/dist/node/chunk-3SLICJ3L.cjs.map +1 -0
  243. package/dist/node/chunk-3ZDHQOIU.cjs +92 -0
  244. package/dist/node/chunk-3ZDHQOIU.cjs.map +1 -0
  245. package/dist/node/chunk-5BKCX2RO.mjs +33 -0
  246. package/dist/node/chunk-5BKCX2RO.mjs.map +1 -0
  247. package/dist/node/chunk-5NCGXLP2.mjs +6 -0
  248. package/dist/node/chunk-5NCGXLP2.mjs.map +1 -0
  249. package/dist/node/chunk-5OTXZ7BB.mjs +53 -0
  250. package/dist/node/chunk-5OTXZ7BB.mjs.map +1 -0
  251. package/dist/node/chunk-5PYIATGT.mjs +469 -0
  252. package/dist/node/chunk-5PYIATGT.mjs.map +1 -0
  253. package/dist/node/chunk-64QCZG53.cjs +57 -0
  254. package/dist/node/chunk-64QCZG53.cjs.map +1 -0
  255. package/dist/node/chunk-652OEICJ.cjs +4 -0
  256. package/dist/node/chunk-652OEICJ.cjs.map +1 -0
  257. package/dist/node/chunk-674ZX6XJ.mjs +187 -0
  258. package/dist/node/chunk-674ZX6XJ.mjs.map +1 -0
  259. package/dist/node/chunk-6ID2IXYX.mjs +6 -0
  260. package/dist/node/chunk-6ID2IXYX.mjs.map +1 -0
  261. package/dist/node/chunk-6KAGWGTE.mjs +529 -0
  262. package/dist/node/chunk-6KAGWGTE.mjs.map +1 -0
  263. package/dist/node/chunk-7EM3Q7HA.mjs +655 -0
  264. package/dist/node/chunk-7EM3Q7HA.mjs.map +1 -0
  265. package/dist/node/chunk-7MVVMISA.cjs +293 -0
  266. package/dist/node/chunk-7MVVMISA.cjs.map +1 -0
  267. package/dist/node/chunk-7NSLGCAZ.mjs +1395 -0
  268. package/dist/node/chunk-7NSLGCAZ.mjs.map +1 -0
  269. package/dist/node/chunk-7OLLATCC.mjs +1289 -0
  270. package/dist/node/chunk-7OLLATCC.mjs.map +1 -0
  271. package/dist/node/chunk-7SEZMRLI.cjs +183 -0
  272. package/dist/node/chunk-7SEZMRLI.cjs.map +1 -0
  273. package/dist/node/chunk-A4CVDMSV.mjs +608 -0
  274. package/dist/node/chunk-A4CVDMSV.mjs.map +1 -0
  275. package/dist/node/chunk-A7CJIUYY.cjs +4 -0
  276. package/dist/node/chunk-A7CJIUYY.cjs.map +1 -0
  277. package/dist/node/chunk-ALFFUJ2J.mjs +163 -0
  278. package/dist/node/chunk-ALFFUJ2J.mjs.map +1 -0
  279. package/dist/node/chunk-AMMQ76RJ.mjs +179 -0
  280. package/dist/node/chunk-AMMQ76RJ.mjs.map +1 -0
  281. package/dist/node/chunk-AUKWKGVA.cjs +688 -0
  282. package/dist/node/chunk-AUKWKGVA.cjs.map +1 -0
  283. package/dist/node/chunk-AY6UMDWD.cjs +270 -0
  284. package/dist/node/chunk-AY6UMDWD.cjs.map +1 -0
  285. package/dist/node/chunk-B7ZDJXD3.cjs +1 -1
  286. package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -1
  287. package/dist/node/chunk-BBYOL3LM.cjs +1308 -0
  288. package/dist/node/chunk-BBYOL3LM.cjs.map +1 -0
  289. package/dist/node/chunk-BINGAHFW.cjs +1308 -0
  290. package/dist/node/chunk-BINGAHFW.cjs.map +1 -0
  291. package/dist/node/chunk-BSBY37MG.cjs +55 -0
  292. package/dist/node/chunk-BSBY37MG.cjs.map +1 -0
  293. package/dist/node/chunk-BWX7HFTH.cjs +209 -0
  294. package/dist/node/chunk-BWX7HFTH.cjs.map +1 -0
  295. package/dist/node/chunk-C37B34MH.cjs +188 -0
  296. package/dist/node/chunk-C37B34MH.cjs.map +1 -0
  297. package/dist/node/chunk-C6BBKHQG.cjs +250 -0
  298. package/dist/node/chunk-C6BBKHQG.cjs.map +1 -0
  299. package/dist/node/chunk-CLCAS67N.cjs +8 -0
  300. package/dist/node/chunk-CLCAS67N.cjs.map +1 -0
  301. package/dist/node/chunk-CNU3CRTR.mjs +43 -0
  302. package/dist/node/chunk-CNU3CRTR.mjs.map +1 -0
  303. package/dist/node/chunk-CV5FPKU6.mjs +6 -0
  304. package/dist/node/chunk-CV5FPKU6.mjs.map +1 -0
  305. package/dist/node/chunk-CZYOAFIR.mjs +129 -0
  306. package/dist/node/chunk-CZYOAFIR.mjs.map +1 -0
  307. package/dist/node/chunk-D2HTYEJZ.cjs +209 -0
  308. package/dist/node/chunk-D2HTYEJZ.cjs.map +1 -0
  309. package/dist/node/chunk-EMLZZPOT.cjs +1446 -0
  310. package/dist/node/chunk-EMLZZPOT.cjs.map +1 -0
  311. package/dist/node/chunk-EOIXXXBV.cjs +55 -0
  312. package/dist/node/chunk-EOIXXXBV.cjs.map +1 -0
  313. package/dist/node/chunk-F46TSY2K.cjs +541 -0
  314. package/dist/node/chunk-F46TSY2K.cjs.map +1 -0
  315. package/dist/node/chunk-F4UCOZW5.mjs +1 -1
  316. package/dist/node/chunk-F4UCOZW5.mjs.map +1 -1
  317. package/dist/node/chunk-F64CK4NI.mjs +53 -0
  318. package/dist/node/chunk-F64CK4NI.mjs.map +1 -0
  319. package/dist/node/chunk-FAV62EUG.cjs +35 -0
  320. package/dist/node/chunk-FAV62EUG.cjs.map +1 -0
  321. package/dist/node/chunk-GHSPKZUN.mjs +529 -0
  322. package/dist/node/chunk-GHSPKZUN.mjs.map +1 -0
  323. package/dist/node/chunk-GRNVK7DW.mjs +97 -0
  324. package/dist/node/chunk-GRNVK7DW.mjs.map +1 -0
  325. package/dist/node/chunk-GRR6NNWY.cjs +688 -0
  326. package/dist/node/chunk-GRR6NNWY.cjs.map +1 -0
  327. package/dist/node/chunk-H5VGRPD5.cjs +8 -0
  328. package/dist/node/chunk-H5VGRPD5.cjs.map +1 -0
  329. package/dist/node/chunk-HAMDDCPS.cjs +8 -0
  330. package/dist/node/chunk-HAMDDCPS.cjs.map +1 -0
  331. package/dist/node/chunk-HAORARSB.cjs +75 -0
  332. package/dist/node/chunk-HAORARSB.cjs.map +1 -0
  333. package/dist/node/chunk-HELNAM5Y.cjs +8 -0
  334. package/dist/node/chunk-HELNAM5Y.cjs.map +1 -0
  335. package/dist/node/chunk-HET6L5PD.mjs +530 -0
  336. package/dist/node/chunk-HET6L5PD.mjs.map +1 -0
  337. package/dist/node/chunk-HI5SEX53.mjs +264 -0
  338. package/dist/node/chunk-HI5SEX53.mjs.map +1 -0
  339. package/dist/node/chunk-HZGFXE4Q.mjs +6 -0
  340. package/dist/node/chunk-HZGFXE4Q.mjs.map +1 -0
  341. package/dist/node/chunk-IAL2NK2V.mjs +73 -0
  342. package/dist/node/chunk-IAL2NK2V.mjs.map +1 -0
  343. package/dist/node/chunk-IHELFDCW.mjs +327 -0
  344. package/dist/node/chunk-IHELFDCW.mjs.map +1 -0
  345. package/dist/node/chunk-ILD6OSYW.mjs +966 -0
  346. package/dist/node/chunk-ILD6OSYW.mjs.map +1 -0
  347. package/dist/node/chunk-IP6DFAO7.mjs +264 -0
  348. package/dist/node/chunk-IP6DFAO7.mjs.map +1 -0
  349. package/dist/node/chunk-IYEDO7OQ.cjs +276 -0
  350. package/dist/node/chunk-IYEDO7OQ.cjs.map +1 -0
  351. package/dist/node/chunk-JFPGFPQD.mjs +1413 -0
  352. package/dist/node/chunk-JFPGFPQD.mjs.map +1 -0
  353. package/dist/node/chunk-JHZGTVYF.cjs +999 -0
  354. package/dist/node/chunk-JHZGTVYF.cjs.map +1 -0
  355. package/dist/node/chunk-JN3UJBUH.mjs +608 -0
  356. package/dist/node/chunk-JN3UJBUH.mjs.map +1 -0
  357. package/dist/node/chunk-JNPDXCCN.mjs +530 -0
  358. package/dist/node/chunk-JNPDXCCN.mjs.map +1 -0
  359. package/dist/node/chunk-JQBYDEMW.mjs +1 -1
  360. package/dist/node/chunk-JQBYDEMW.mjs.map +1 -1
  361. package/dist/node/chunk-JQJ7N4NL.cjs +267 -0
  362. package/dist/node/chunk-JQJ7N4NL.cjs.map +1 -0
  363. package/dist/node/chunk-K4AJBPPY.cjs +174 -0
  364. package/dist/node/chunk-K4AJBPPY.cjs.map +1 -0
  365. package/dist/node/chunk-K7SXPJPK.cjs +131 -0
  366. package/dist/node/chunk-K7SXPJPK.cjs.map +1 -0
  367. package/dist/node/chunk-KFW4GE7H.mjs +1289 -0
  368. package/dist/node/chunk-KFW4GE7H.mjs.map +1 -0
  369. package/dist/node/chunk-KKL2DF2D.cjs +518 -0
  370. package/dist/node/chunk-KKL2DF2D.cjs.map +1 -0
  371. package/dist/node/chunk-KKMKQGTR.cjs +620 -0
  372. package/dist/node/chunk-KKMKQGTR.cjs.map +1 -0
  373. package/dist/node/chunk-KNTO7FCZ.mjs +207 -0
  374. package/dist/node/chunk-KNTO7FCZ.mjs.map +1 -0
  375. package/dist/node/chunk-KTKVW3PH.mjs +286 -0
  376. package/dist/node/chunk-KTKVW3PH.mjs.map +1 -0
  377. package/dist/node/chunk-KZPSF32W.mjs +33 -0
  378. package/dist/node/chunk-KZPSF32W.mjs.map +1 -0
  379. package/dist/node/chunk-LWKFCMA7.mjs +129 -0
  380. package/dist/node/chunk-LWKFCMA7.mjs.map +1 -0
  381. package/dist/node/chunk-M2ZSE6YJ.mjs +512 -0
  382. package/dist/node/chunk-M2ZSE6YJ.mjs.map +1 -0
  383. package/dist/node/chunk-M6DJYGDO.cjs +167 -0
  384. package/dist/node/chunk-M6DJYGDO.cjs.map +1 -0
  385. package/dist/node/chunk-MAHKDTOQ.mjs +3 -0
  386. package/dist/node/chunk-MAHKDTOQ.mjs.map +1 -0
  387. package/dist/node/chunk-MM2R2OM6.cjs +541 -0
  388. package/dist/node/chunk-MM2R2OM6.cjs.map +1 -0
  389. package/dist/node/chunk-MSOD5UQH.cjs +45 -0
  390. package/dist/node/chunk-MSOD5UQH.cjs.map +1 -0
  391. package/dist/node/chunk-MVAWR76Q.cjs +276 -0
  392. package/dist/node/chunk-MVAWR76Q.cjs.map +1 -0
  393. package/dist/node/chunk-MXUO7OR5.cjs +97 -0
  394. package/dist/node/chunk-MXUO7OR5.cjs.map +1 -0
  395. package/dist/node/chunk-N4THTV6P.cjs +131 -0
  396. package/dist/node/chunk-N4THTV6P.cjs.map +1 -0
  397. package/dist/node/chunk-NIXKAQVP.cjs +1 -1
  398. package/dist/node/chunk-NIXKAQVP.cjs.map +1 -1
  399. package/dist/node/chunk-NUPXUUPM.cjs +1428 -0
  400. package/dist/node/chunk-NUPXUUPM.cjs.map +1 -0
  401. package/dist/node/chunk-NWOUVAIS.cjs +45 -0
  402. package/dist/node/chunk-NWOUVAIS.cjs.map +1 -0
  403. package/dist/node/chunk-OK7I5OQ3.mjs +89 -0
  404. package/dist/node/chunk-OK7I5OQ3.mjs.map +1 -0
  405. package/dist/node/chunk-OMGYXCFM.mjs +248 -0
  406. package/dist/node/chunk-OMGYXCFM.mjs.map +1 -0
  407. package/dist/node/chunk-OYC6L5NX.mjs +6 -0
  408. package/dist/node/chunk-OYC6L5NX.mjs.map +1 -0
  409. package/dist/node/chunk-OYZAQMKD.mjs +263 -0
  410. package/dist/node/chunk-OYZAQMKD.mjs.map +1 -0
  411. package/dist/node/chunk-P2LULMNL.cjs +189 -0
  412. package/dist/node/chunk-P2LULMNL.cjs.map +1 -0
  413. package/dist/node/chunk-PABEFHCO.mjs +63 -0
  414. package/dist/node/chunk-PABEFHCO.mjs.map +1 -0
  415. package/dist/node/chunk-Q5NYJQP2.cjs +8 -0
  416. package/dist/node/chunk-Q5NYJQP2.cjs.map +1 -0
  417. package/dist/node/chunk-QCEWWJ3N.cjs +65 -0
  418. package/dist/node/chunk-QCEWWJ3N.cjs.map +1 -0
  419. package/dist/node/chunk-QW4AZ3Z2.cjs +542 -0
  420. package/dist/node/chunk-QW4AZ3Z2.cjs.map +1 -0
  421. package/dist/node/chunk-R2H234YO.cjs +8 -0
  422. package/dist/node/chunk-R2H234YO.cjs.map +1 -0
  423. package/dist/node/chunk-RK5WSZ5J.mjs +43 -0
  424. package/dist/node/chunk-RK5WSZ5J.mjs.map +1 -0
  425. package/dist/node/chunk-RPHYBPXT.mjs +30 -0
  426. package/dist/node/chunk-RPHYBPXT.mjs.map +1 -0
  427. package/dist/node/chunk-RVXASBMQ.mjs +273 -0
  428. package/dist/node/chunk-RVXASBMQ.mjs.map +1 -0
  429. package/dist/node/chunk-RVZTZD32.mjs +187 -0
  430. package/dist/node/chunk-RVZTZD32.mjs.map +1 -0
  431. package/dist/node/chunk-RWLKISZQ.mjs +273 -0
  432. package/dist/node/chunk-RWLKISZQ.mjs.map +1 -0
  433. package/dist/node/chunk-SDKIJDMH.mjs +655 -0
  434. package/dist/node/chunk-SDKIJDMH.mjs.map +1 -0
  435. package/dist/node/chunk-SESXQJDD.cjs +999 -0
  436. package/dist/node/chunk-SESXQJDD.cjs.map +1 -0
  437. package/dist/node/chunk-SKIEPTFS.mjs +6 -0
  438. package/dist/node/chunk-SKIEPTFS.mjs.map +1 -0
  439. package/dist/node/chunk-SL7FT5R5.mjs +94 -0
  440. package/dist/node/chunk-SL7FT5R5.mjs.map +1 -0
  441. package/dist/node/chunk-SXHQW74T.mjs +43 -0
  442. package/dist/node/chunk-SXHQW74T.mjs.map +1 -0
  443. package/dist/node/chunk-TEJKDVNT.cjs +620 -0
  444. package/dist/node/chunk-TEJKDVNT.cjs.map +1 -0
  445. package/dist/node/chunk-TQS5WYND.cjs +352 -0
  446. package/dist/node/chunk-TQS5WYND.cjs.map +1 -0
  447. package/dist/node/chunk-UCAWV2IG.mjs +184 -0
  448. package/dist/node/chunk-UCAWV2IG.mjs.map +1 -0
  449. package/dist/node/chunk-UDUJDEAO.cjs +189 -0
  450. package/dist/node/chunk-UDUJDEAO.cjs.map +1 -0
  451. package/dist/node/chunk-VMJDL4SS.cjs +542 -0
  452. package/dist/node/chunk-VMJDL4SS.cjs.map +1 -0
  453. package/dist/node/chunk-VNOZTB3B.cjs +8 -0
  454. package/dist/node/chunk-VNOZTB3B.cjs.map +1 -0
  455. package/dist/node/chunk-VPMBZGYR.mjs +327 -0
  456. package/dist/node/chunk-VPMBZGYR.mjs.map +1 -0
  457. package/dist/node/chunk-WEPNBKOA.mjs +6 -0
  458. package/dist/node/chunk-WEPNBKOA.mjs.map +1 -0
  459. package/dist/node/chunk-WTBRJXFG.cjs +100 -0
  460. package/dist/node/chunk-WTBRJXFG.cjs.map +1 -0
  461. package/dist/node/chunk-WXCQCHAX.mjs +3 -0
  462. package/dist/node/chunk-WXCQCHAX.mjs.map +1 -0
  463. package/dist/node/chunk-X3TRPYGV.cjs +352 -0
  464. package/dist/node/chunk-X3TRPYGV.cjs.map +1 -0
  465. package/dist/node/chunk-XFUF7SDO.cjs +35 -0
  466. package/dist/node/chunk-XFUF7SDO.cjs.map +1 -0
  467. package/dist/node/chunk-XP2EPEBM.mjs +966 -0
  468. package/dist/node/chunk-XP2EPEBM.mjs.map +1 -0
  469. package/dist/node/chunk-XPIJ6BKP.cjs +45 -0
  470. package/dist/node/chunk-XPIJ6BKP.cjs.map +1 -0
  471. package/dist/node/chunk-YRVBMP7I.cjs +542 -0
  472. package/dist/node/chunk-YRVBMP7I.cjs.map +1 -0
  473. package/dist/node/chunk-ZIHSN5EE.mjs +530 -0
  474. package/dist/node/chunk-ZIHSN5EE.mjs.map +1 -0
  475. package/dist/node/chunk-ZNQMUU7I.cjs +32 -0
  476. package/dist/node/chunk-ZNQMUU7I.cjs.map +1 -0
  477. package/dist/node/completion.cjs +23 -0
  478. package/dist/node/completion.cjs.map +1 -0
  479. package/dist/node/completion.d.mts +10 -0
  480. package/dist/node/completion.d.ts +10 -0
  481. package/dist/node/completion.mjs +6 -0
  482. package/dist/node/completion.mjs.map +1 -0
  483. package/dist/node/core.cjs +69 -42
  484. package/dist/node/core.cjs.map +1 -1
  485. package/dist/node/core.d.mts +14 -9
  486. package/dist/node/core.d.ts +14 -9
  487. package/dist/node/core.mjs +60 -33
  488. package/dist/node/core.mjs.map +1 -1
  489. package/dist/node/credentials.cjs +17 -0
  490. package/dist/node/credentials.cjs.map +1 -0
  491. package/dist/node/credentials.d.mts +74 -0
  492. package/dist/node/credentials.d.ts +74 -0
  493. package/dist/node/credentials.mjs +4 -0
  494. package/dist/node/credentials.mjs.map +1 -0
  495. package/dist/node/definition.cjs +6 -4
  496. package/dist/node/definition.d.mts +3 -2
  497. package/dist/node/definition.d.ts +3 -2
  498. package/dist/node/definition.mjs +4 -2
  499. package/dist/node/dynamic-content.cjs +30 -0
  500. package/dist/node/dynamic-content.cjs.map +1 -0
  501. package/dist/node/dynamic-content.d.mts +13 -0
  502. package/dist/node/dynamic-content.d.ts +13 -0
  503. package/dist/node/dynamic-content.mjs +9 -0
  504. package/dist/node/dynamic-content.mjs.map +1 -0
  505. package/dist/node/dynamic-feature.cjs +41 -7
  506. package/dist/node/dynamic-feature.cjs.map +1 -1
  507. package/dist/node/dynamic-feature.d.mts +66 -6
  508. package/dist/node/dynamic-feature.d.ts +66 -6
  509. package/dist/node/dynamic-feature.mjs +16 -9
  510. package/dist/node/dynamic-feature.mjs.map +1 -1
  511. package/dist/node/dynamic-structure.cjs +45 -136
  512. package/dist/node/dynamic-structure.cjs.map +1 -1
  513. package/dist/node/dynamic-structure.d.mts +77 -3
  514. package/dist/node/dynamic-structure.d.ts +77 -3
  515. package/dist/node/dynamic-structure.mjs +16 -135
  516. package/dist/node/dynamic-structure.mjs.map +1 -1
  517. package/dist/node/env.cjs +3 -3
  518. package/dist/node/env.d.mts +26 -0
  519. package/dist/node/env.d.ts +26 -0
  520. package/dist/node/env.mjs +2 -2
  521. package/dist/node/frame-index.cjs +7 -4
  522. package/dist/node/frame-index.d.mts +70 -9
  523. package/dist/node/frame-index.d.ts +70 -9
  524. package/dist/node/frame-index.mjs +6 -3
  525. package/dist/node/logger.d.mts +4 -113
  526. package/dist/node/logger.d.ts +4 -113
  527. package/dist/node/models.cjs +14 -0
  528. package/dist/node/models.cjs.map +1 -0
  529. package/dist/node/models.d.mts +64 -0
  530. package/dist/node/models.d.ts +64 -0
  531. package/dist/node/models.mjs +5 -0
  532. package/dist/node/models.mjs.map +1 -0
  533. package/dist/node/namespace.cjs +7 -5
  534. package/dist/node/namespace.d.mts +1 -1
  535. package/dist/node/namespace.d.ts +1 -1
  536. package/dist/node/namespace.mjs +4 -2
  537. package/dist/node/schema.cjs +22 -0
  538. package/dist/node/schema.cjs.map +1 -0
  539. package/dist/node/schema.d.mts +10 -0
  540. package/dist/node/schema.d.ts +10 -0
  541. package/dist/node/schema.mjs +5 -0
  542. package/dist/node/schema.mjs.map +1 -0
  543. package/dist/node/segment.cjs +25 -0
  544. package/dist/node/segment.cjs.map +1 -0
  545. package/dist/node/segment.d.mts +13 -0
  546. package/dist/node/segment.d.ts +13 -0
  547. package/dist/node/segment.mjs +8 -0
  548. package/dist/node/segment.mjs.map +1 -0
  549. package/dist/node/storage.cjs +17 -14
  550. package/dist/node/storage.d.mts +18 -6
  551. package/dist/node/storage.d.ts +18 -6
  552. package/dist/node/storage.mjs +11 -8
  553. package/dist/node/vector.cjs +2 -2
  554. package/dist/node/vector.d.mts +7 -0
  555. package/dist/node/vector.d.ts +7 -0
  556. package/dist/node/vector.mjs +1 -1
  557. package/examples/article/main.ts +358 -0
  558. package/examples/components.ts +660 -0
  559. package/examples/feature/file-system.components.ts +211 -0
  560. package/examples/feature/main.ts +374 -0
  561. package/examples/interaction/main.ts +426 -0
  562. package/examples/logger.ts +126 -0
  563. package/examples/structure/main.ts +195 -0
  564. package/examples/structure/renderer.ts +296 -0
  565. package/examples/structure/server-app.components.ts +387 -0
  566. package/jest.config.browser.ts +9 -0
  567. package/jest.config.examples.ts +49 -0
  568. package/jest.config.integration.ts +38 -0
  569. package/jest.config.ts +56 -27
  570. package/jest.config.unit.ts +38 -0
  571. package/package.json +75 -7
  572. package/src/index.ts +13 -0
  573. package/src/lib/A-Frame/A-Frame.component.env-browser.ts +19 -6
  574. package/src/lib/A-Frame/A-Frame.component.env-node.ts +48 -19
  575. package/src/lib/A-Frame/A-Frame.context.ts +9 -8
  576. package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +4 -4
  577. package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -25
  578. package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +1 -1
  579. package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +54 -13
  580. package/src/lib/A-FrameBundle/index.browser.ts +1 -1
  581. package/src/lib/A-FrameBundle/index.ts +1 -1
  582. package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +18 -7
  583. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +0 -2
  584. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +14 -15
  585. package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +542 -7
  586. package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +2 -0
  587. package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +65 -1
  588. package/src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts +112 -0
  589. package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +1 -0
  590. package/src/lib/A-FrameChannel/index.browser.ts +5 -0
  591. package/src/lib/A-FrameCompletion/A-FrameCompletion.constants.ts +3 -0
  592. package/src/lib/A-FrameCompletion/A-FrameCompletion.entity.ts +128 -0
  593. package/src/lib/A-FrameCompletion/A-FrameCompletion.types.ts +40 -0
  594. package/src/lib/A-FrameCompletion/index.ts +3 -0
  595. package/src/lib/A-FrameCredentials/A-FrameCredentials.constants.ts +5 -0
  596. package/src/lib/A-FrameCredentials/A-FrameCredentials.entity.ts +120 -0
  597. package/src/lib/A-FrameCredentials/A-FrameCredentials.types.ts +39 -0
  598. package/src/lib/A-FrameCredentials/index.ts +3 -0
  599. package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +23 -1
  600. package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +34 -1
  601. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts +5 -0
  602. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts +348 -0
  603. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts +10 -0
  604. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.types.ts +116 -0
  605. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts +288 -0
  606. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts +26 -0
  607. package/src/lib/A-FrameDynamicContent/index.ts +5 -0
  608. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.constants.ts +6 -0
  609. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +253 -4
  610. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.error.ts +11 -0
  611. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +188 -4
  612. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeatureOperation.context.ts +33 -0
  613. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapIndex.context.ts +99 -0
  614. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapper.component.ts +182 -0
  615. package/src/lib/A-FrameDynamicFeature/index.ts +6 -1
  616. package/src/lib/A-FrameDynamicPatch/index.ts +2 -0
  617. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapIndex.context.ts +99 -0
  618. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapper.component.ts +320 -0
  619. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +2 -1
  620. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +240 -128
  621. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +183 -87
  622. package/src/lib/A-FrameDynamicStructure/index.ts +3 -0
  623. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +5 -1
  624. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +23 -1
  625. package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +12 -0
  626. package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +63 -13
  627. package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +53 -0
  628. package/src/lib/A-FrameModels/A-FrameModels.constants.ts +75 -0
  629. package/src/lib/A-FrameModels/index.ts +1 -0
  630. package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +10 -3
  631. package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +5 -0
  632. package/src/lib/A-FrameSchema/A-FrameSchema.constants.ts +4 -0
  633. package/src/lib/A-FrameSchema/A-FrameSchema.entity.ts +154 -0
  634. package/src/lib/A-FrameSchema/A-FrameSchema.types.ts +88 -0
  635. package/src/lib/A-FrameSchema/index.ts +3 -0
  636. package/src/lib/A-FrameSegment/A-FrameSegment.constants.ts +12 -0
  637. package/src/lib/A-FrameSegment/A-FrameSegment.entity.ts +221 -0
  638. package/src/lib/A-FrameSegment/A-FrameSegment.types.ts +91 -0
  639. package/src/lib/A-FrameSegment/index.ts +3 -0
  640. package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +10 -4
  641. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +21 -0
  642. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +39 -21
  643. package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +124 -42
  644. package/src/lib/A-FrameVector/A-FrameVector.entity.ts +24 -0
  645. package/tests/A-Frame.browser.test.ts +167 -57
  646. package/tests/A-FrameDynamicContent.browser.test.ts +74 -0
  647. package/tests/integration/A-Frame.integration.test.ts +272 -0
  648. package/tests/integration/A-FrameCompletion.integration.test.ts +88 -0
  649. package/tests/integration/A-FrameContentMapping.integration.test.ts +261 -0
  650. package/tests/integration/A-FrameDefinition.integration.test.ts +154 -0
  651. package/tests/integration/A-FrameDynamicContent.integration.test.ts +126 -0
  652. package/tests/integration/A-FrameDynamicFeature.integration.test.ts +337 -0
  653. package/tests/integration/A-FrameDynamicStructure.integration.test.ts +264 -0
  654. package/tests/integration/A-FrameNamespace.integration.test.ts +109 -0
  655. package/tests/integration/A-FrameSchema.integration.test.ts +74 -0
  656. package/tests/integration/A-FrameSegment.integration.test.ts +102 -0
  657. package/tests/integration/A-FrameStorage.integration.test.ts +598 -0
  658. package/tests/jest.setup.browser.ts +1 -1
  659. package/tests/jest.setup.ts +4 -0
  660. package/tests/jest.setup.unit.ts +30 -0
  661. package/tests/unit/A-FrameChannel.unit.test.ts +124 -0
  662. package/tests/unit/A-FrameCompletion.unit.test.ts +25 -0
  663. package/tests/unit/A-FrameDefinition.unit.test.ts +36 -0
  664. package/tests/unit/A-FrameDynamicContent.unit.test.ts +28 -0
  665. package/tests/unit/A-FrameNamespace.unit.test.ts +35 -0
  666. package/tests/unit/A-FrameSchema.unit.test.ts +31 -0
  667. package/tests/unit/A-FrameSegment.unit.test.ts +20 -0
  668. package/tests/unit/mocks/MockA_FrameChannel.ts +112 -0
  669. package/tsconfig.browser.json +2 -0
  670. package/tsconfig.json +6 -0
  671. package/tsup.config.ts +52 -0
  672. package/tests/A-Frame.test.ts +0 -96
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaas/a-frame",
3
- "version": "0.0.23",
3
+ "version": "0.1.2",
4
4
  "description": "A-frame is index build engine for A-Concept ecosystem. It provides a way to build index structures for A-Concept basics",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -16,7 +16,7 @@
16
16
  "url": "git+https://github.com/ADAAS-org/adaas-a-frame.git"
17
17
  },
18
18
  "bin": {
19
- "a-frame": "./dist/index.cjs"
19
+ "a-frame": "./dist/cli.cjs"
20
20
  },
21
21
  "exports": {
22
22
  ".": {
@@ -55,6 +55,15 @@
55
55
  "import": "./dist/node/channel.mjs",
56
56
  "require": "./dist/node/channel.cjs"
57
57
  },
58
+ "./credentials": {
59
+ "browser": {
60
+ "types": "./dist/browser/credentials.d.mts",
61
+ "import": "./dist/browser/credentials.mjs"
62
+ },
63
+ "types": "./dist/node/credentials.d.ts",
64
+ "import": "./dist/node/credentials.mjs",
65
+ "require": "./dist/node/credentials.cjs"
66
+ },
58
67
  "./crypto": {
59
68
  "browser": {
60
69
  "types": "./dist/browser/crypto.d.mts",
@@ -82,6 +91,15 @@
82
91
  "import": "./dist/node/dynamic-feature.mjs",
83
92
  "require": "./dist/node/dynamic-feature.cjs"
84
93
  },
94
+ "./dynamic-content": {
95
+ "browser": {
96
+ "types": "./dist/browser/dynamic-content.d.mts",
97
+ "import": "./dist/browser/dynamic-content.mjs"
98
+ },
99
+ "types": "./dist/node/dynamic-content.d.ts",
100
+ "import": "./dist/node/dynamic-content.mjs",
101
+ "require": "./dist/node/dynamic-content.cjs"
102
+ },
85
103
  "./dynamic-structure": {
86
104
  "browser": {
87
105
  "types": "./dist/browser/dynamic-structure.d.mts",
@@ -127,6 +145,24 @@
127
145
  "import": "./dist/node/namespace.mjs",
128
146
  "require": "./dist/node/namespace.cjs"
129
147
  },
148
+ "./completion": {
149
+ "browser": {
150
+ "types": "./dist/browser/completion.d.mts",
151
+ "import": "./dist/browser/completion.mjs"
152
+ },
153
+ "types": "./dist/node/completion.d.ts",
154
+ "import": "./dist/node/completion.mjs",
155
+ "require": "./dist/node/completion.cjs"
156
+ },
157
+ "./segment": {
158
+ "browser": {
159
+ "types": "./dist/browser/segment.d.mts",
160
+ "import": "./dist/browser/segment.mjs"
161
+ },
162
+ "types": "./dist/node/segment.d.ts",
163
+ "import": "./dist/node/segment.mjs",
164
+ "require": "./dist/node/segment.cjs"
165
+ },
130
166
  "./storage": {
131
167
  "browser": {
132
168
  "types": "./dist/browser/storage.d.mts",
@@ -144,6 +180,24 @@
144
180
  "types": "./dist/node/vector.d.ts",
145
181
  "import": "./dist/node/vector.mjs",
146
182
  "require": "./dist/node/vector.cjs"
183
+ },
184
+ "./models": {
185
+ "browser": {
186
+ "types": "./dist/browser/models.d.mts",
187
+ "import": "./dist/browser/models.mjs"
188
+ },
189
+ "types": "./dist/node/models.d.ts",
190
+ "import": "./dist/node/models.mjs",
191
+ "require": "./dist/node/models.cjs"
192
+ },
193
+ "./schema": {
194
+ "browser": {
195
+ "types": "./dist/browser/schema.d.mts",
196
+ "import": "./dist/browser/schema.mjs"
197
+ },
198
+ "types": "./dist/node/schema.d.ts",
199
+ "import": "./dist/node/schema.mjs",
200
+ "require": "./dist/node/schema.cjs"
147
201
  }
148
202
  },
149
203
  "keywords": [
@@ -170,20 +224,34 @@
170
224
  "ext": "ts, js"
171
225
  },
172
226
  "scripts": {
173
- "test": "jest --detectOpenHandles",
174
- "test:browser": "jest --config jest.config.browser.ts --detectOpenHandles",
227
+ "test": "node --experimental-vm-modules node_modules/.bin/jest --detectOpenHandles",
228
+ "test:unit": "node --experimental-vm-modules node_modules/.bin/jest --config jest.config.unit.ts --detectOpenHandles",
229
+ "test:integration": "node --experimental-vm-modules node_modules/.bin/jest --config jest.config.integration.ts --detectOpenHandles",
230
+ "test:browser": "node --experimental-vm-modules node_modules/.bin/jest --config jest.config.browser.ts --detectOpenHandles",
231
+ "example:article": "node -r tsconfig-paths/register -r ts-node/register ./examples/article/main.ts",
232
+ "example:interaction": "node -r tsconfig-paths/register -r ts-node/register ./examples/interaction/main.ts",
233
+ "example:feature": "node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts",
234
+ "example:content-editor": "node -r tsconfig-paths/register -r ts-node/register ./examples/content-editor/server.ts",
235
+ "example:feature:backup": "node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts \"copy all .ts files to a backup folder and compress the result\"",
236
+ "example:feature:sync": "node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts \"scan two directories, find files that differ, and sync the newer versions to the target\"",
237
+ "example:feature:cleanup": "node -r tsconfig-paths/register -r ts-node/register ./examples/feature/main.ts \"find all log files older than 7 days and delete them\"",
238
+ "example:structure": "node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts",
239
+ "example:structure:saas": "node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts \"build a multi-tenant SaaS API with JWT auth and file uploads\"",
240
+ "example:structure:jobs": "node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts \"design a background job processing system with cron and email digests\"",
241
+ "example:structure:realtime": "node -r tsconfig-paths/register -r ts-node/register ./examples/structure/main.ts \"create a real-time notification service with WebSocket and rate limiting\"",
175
242
  "start": "nodemon ./tests/example-usage.ts",
176
243
  "start:test": "node -r tsconfig-paths/register -r ts-node/register ./index.ts",
177
- "release": "npm run test && npm run build && git add . && git commit -m \"new version created :: $(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g')\" && npm version patch && npm publish --access public",
244
+ "release": "npm run test:unit && npm run build && git add . && git commit -m \"new version created :: $(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g')\" && npm version patch && npm publish --access public",
178
245
  "version": "echo git add .",
179
246
  "postversion": "git push --no-verify && git push --tags --no-verify && echo \"\n======Version Pushed Successfully=====\n\" ",
180
247
  "echo-version": "echo $npm_package_version",
181
248
  "build": "tsup --config tsup.config.ts"
182
249
  },
183
- "dependencies": {
184
- "@adaas/a-concept": "^0.3.14"
250
+ "peerDependencies": {
251
+ "@adaas/a-concept": "^0.3.16"
185
252
  },
186
253
  "devDependencies": {
254
+ "@adaas/a-concept": "^0.3.16",
187
255
  "@types/chai": "^4.3.14",
188
256
  "@types/jest": "^29.5.12",
189
257
  "@types/mocha": "^10.0.6",
package/src/index.ts CHANGED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @adaas/a-frame — subpath-only public API.
3
+ *
4
+ * Import from named subpaths, not from this root entry:
5
+ * import { A_Frame } from '@adaas/a-frame/core';
6
+ * import { A_FrameChannel } from '@adaas/a-frame/channel';
7
+ * import { A_FrameDynamicFeature } from '@adaas/a-frame/dynamic-feature';
8
+ * import { A_FrameDynamicStructure,
9
+ * A_FrameDynamicPatch } from '@adaas/a-frame/dynamic-structure';
10
+ * // … see package.json "exports" for all available subpaths
11
+ */
12
+
13
+ export {};
@@ -1,4 +1,4 @@
1
- import { A_Concept, A_Fragment, A_Inject, A_Scope, A_TYPES__A_DependencyInjectable, A_TYPES__Component_Constructor, A_TYPES__Ctor, A_TYPES__Fragment_Constructor } from "@adaas/a-concept";
1
+ import { A_Concept, A_Context, A_Fragment, A_Inject, A_Scope, A_TYPES__A_DependencyInjectable, A_TYPES__Component_Constructor, A_TYPES__Ctor, A_TYPES__Fragment_Constructor } from "@adaas/a-concept";
2
2
  import { A_FrameBase } from "./A-Frame.component";
3
3
  import { A_FrameBrowserStorageProvider } from "../A-FrameStorage/browser/A-FrameBrowserStorage.component";
4
4
  import { A_FrameBrowserStorageBlobs } from "../A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context";
@@ -7,6 +7,7 @@ import { A_FrameIndex } from "../A-FrameIndex";
7
7
  import { A_FrameContext } from "./A-Frame.context";
8
8
  import { A_FrameLogger } from "../A-FrameLogger/A-FrameLogger.component.env-browser";
9
9
  import { A_FrameEnv } from "../A-FrameEnv/A-FrameEnv.fragment.env-browser";
10
+ import { A_FrameBrowserChannel } from "../A-FrameChannel/A-FrameChannel.component.env-browser";
10
11
 
11
12
 
12
13
 
@@ -27,17 +28,28 @@ export class A_Frame extends A_FrameBase {
27
28
  { ctor: A_FrameStorageCodec, instance: new A_FrameStorageCodec() },
28
29
  { ctor: A_FrameBrowserStorageProvider, instance: A_FrameBrowserStorageProvider },
29
30
  { ctor: A_FrameLogger, instance: new A_FrameLogger() },
31
+ { ctor: A_FrameBrowserChannel, instance: A_FrameBrowserChannel },
30
32
  ];
31
33
  }
32
34
 
33
35
 
34
36
  @A_Concept.Load()
35
37
  async injectDependencies(
36
- @A_Inject(A_Scope) scope: A_Scope,
37
38
  ) {
38
- // Register every package dep that isn't already in scope.
39
+ const scope = A_Context.root
40
+
41
+ // Register
42
+ // every package dep that isn't already in scope.
39
43
  this.package.forEach(({ ctor, instance }) => this.packDependency(scope, ctor, instance));
40
44
 
45
+ // Register the blobs singleton so it is always injectable via
46
+ // @A_Inject(A_FrameBrowserStorageBlobs). This must happen here
47
+ // (not in A_FrameBrowserStorageProvider.onLoad) because the concept
48
+ // only loads A_Frame as a component — the provider is only a DI token.
49
+ if (!scope.resolve(A_FrameBrowserStorageBlobs)) {
50
+ scope.register(A_FrameBrowserStorageBlobs.instance);
51
+ }
52
+
41
53
  // A_FrameIndex needs to inherit the scope so its registry is visible
42
54
  // to all later resolutions (entities query it during load).
43
55
  if (!scope.resolve(A_FrameIndex)) {
@@ -65,10 +77,11 @@ export class A_Frame extends A_FrameBase {
65
77
  @A_Inject(A_FrameLogger) logger: A_FrameLogger,
66
78
  @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,
67
79
  ) {
68
- if (!context.encryptionKey) {
80
+ if (!context.encryptionKey && !blobs?.hasBundleData) {
69
81
  logger.warn(
70
- 'A_Frame (browser): no encryption key on context blobs cannot be decrypted. ' +
71
- 'Call A_FrameContext.setCredentials({...}) before concept.load().'
82
+ 'A_Frame (browser): no encryption key and no pre-built bundle data. ' +
83
+ 'Seed A_FrameBrowserStorageBlobs.fromBundle(bundle) before concept.load(), ' +
84
+ 'or call A_FrameContext.setCredentials({...}) for live-session mode.'
72
85
  );
73
86
  return;
74
87
  }
@@ -1,4 +1,4 @@
1
- import { A_Concept, A_Inject, A_Scope } from "@adaas/a-concept";
1
+ import { A_Concept, A_Context, A_Inject, A_Scope } from "@adaas/a-concept";
2
2
  import { A_FrameBase } from "./A-Frame.component";
3
3
  import { A_FrameIndex } from "../A-FrameIndex";
4
4
  import { A_FrameStorage } from "../A-FrameStorage/A-FrameStorage.component";
@@ -10,6 +10,9 @@ import { A_FrameEnv } from "../A-FrameEnv/A-FrameEnv.fragment.env-node";
10
10
  import { A_FrameStorageCodec } from "../A-FrameStorage/A-FrameStorage.codec";
11
11
  import { A_FrameCrypto } from "../A-FrameCrypto/A-FrameCrypto.component.env-node";
12
12
  import { A_FrameLogger } from "../A-FrameLogger/A-FrameLogger.component.env-node";
13
+ import { A_FrameCredentials } from "../A-FrameCredentials/A-FrameCredentials.entity";
14
+ import { A_FrameComponentMapper } from "../A-FrameDynamicStructure/A-FrameComponentMapper.component";
15
+ import { A_FrameMethodMapper } from "../A-FrameDynamicFeature/A-FrameMethodMapper.component";
13
16
 
14
17
 
15
18
 
@@ -17,22 +20,25 @@ export class A_Frame extends A_FrameBase {
17
20
 
18
21
  @A_Concept.Load()
19
22
  async injectDependencies(
20
- @A_Inject(A_Scope) scope: A_Scope,
21
23
  ) {
22
- console.log("A_Frame injecting dependencies...");
23
-
24
- const index = new A_FrameIndex();
25
- index.inherit(scope);
26
-
27
- scope.register(index);
28
- scope.register(new A_FrameEnv());
29
- scope.register(new A_FrameStorageCodec());
30
- scope.register(A_FrameNodeStorage)
31
- scope.register(A_FrameNodeChannel);
32
- scope.register(A_FrameCrypto)
33
- scope.register(new A_FrameLogger());
34
- scope.register(A_Frame);
35
- scope.register(new A_FrameContext());
24
+ const scope = A_Context.root;
25
+
26
+ if (!scope.resolve(A_FrameIndex)) {
27
+ const index = new A_FrameIndex();
28
+ index.inherit(scope);
29
+ scope.register(index);
30
+ }
31
+
32
+ this.packDependency(scope, A_FrameEnv, new A_FrameEnv());
33
+ this.packDependency(scope, A_FrameStorageCodec, new A_FrameStorageCodec());
34
+ this.packDependency(scope, A_FrameNodeStorage, A_FrameNodeStorage);
35
+ this.packDependency(scope, A_FrameChannel, A_FrameNodeChannel);
36
+ this.packDependency(scope, A_FrameCrypto, A_FrameCrypto);
37
+ this.packDependency(scope, A_FrameLogger, new A_FrameLogger());
38
+ this.packDependency(scope, A_Frame, A_Frame);
39
+ this.packDependency(scope, A_FrameContext, new A_FrameContext());
40
+ this.packDependency(scope, A_FrameComponentMapper, A_FrameComponentMapper);
41
+ this.packDependency(scope, A_FrameMethodMapper, A_FrameMethodMapper);
36
42
  }
37
43
 
38
44
 
@@ -44,10 +50,31 @@ export class A_Frame extends A_FrameBase {
44
50
  @A_Inject(A_FrameContext) context: A_FrameContext,
45
51
  @A_Inject(A_FrameChannel) channel: A_FrameChannel,
46
52
  @A_Inject(A_FrameEnv) env: A_FrameEnv,
53
+ @A_Inject(A_FrameLogger) logger: A_FrameLogger,
47
54
  ) {
48
- // 1. Authenticate — required before any storage or embedding operations
49
- const credentials = await channel.getCredentials();
50
- context.setCredentials(credentials);
55
+ // 1. Authenticate — required before any storage or embedding operations.
56
+ // If the server is unreachable (e.g. CLI invoked before server is up),
57
+ // record the error in context and skip sync so the CLI can still run.
58
+ let credentialsRequest: Awaited<ReturnType<typeof channel.getCredentials>>;
59
+ try {
60
+ credentialsRequest = await channel.getCredentials();
61
+ } catch (err) {
62
+ logger.warn(
63
+ `A_Frame: could not reach the server to fetch credentials ` +
64
+ `(${err instanceof Error ? err.message : String(err)}). ` +
65
+ `Sync and embedding are disabled for this run.`
66
+ );
67
+ return;
68
+ }
69
+ context.setCredentials(credentialsRequest);
70
+
71
+ // Store credentials as a registered entity so they can be injected
72
+ // via @A_Inject(A_FrameCredentials) anywhere in the scope tree
73
+ if (credentialsRequest.response) {
74
+ const credentialsEntity = new A_FrameCredentials(credentialsRequest.response);
75
+ A_Context.root.register(credentialsEntity);
76
+ }
77
+
51
78
 
52
79
  const definedNameSpaces = index.listNamespaces();
53
80
  const definedDefinitions = index.listDefinitions();
@@ -55,6 +82,7 @@ export class A_Frame extends A_FrameBase {
55
82
  // 2. Hydrate all from storage in parallel.
56
83
  // Storage load only calls fromJSON when hash AND aFrameServerVersion match,
57
84
  // so items with a stale/missing cache remain un-embedded (isEmbed === false).
85
+
58
86
  await Promise.all([
59
87
  ...definedNameSpaces.map(ns => ns.load()),
60
88
  ...definedDefinitions.map(def => def.load()),
@@ -63,6 +91,7 @@ export class A_Frame extends A_FrameBase {
63
91
  // 3. Skip embedding API calls entirely when sync is disabled
64
92
  if (!env.A_FRAME_SYNC) return;
65
93
 
94
+
66
95
  // 4. Re-embed and persist items whose cache is missing or stale
67
96
  const namespacesNeedEmbed = definedNameSpaces.filter(ns => !ns.isEmbed
68
97
  || (ns.aFrameServerVersion !== context.serverVersion)
@@ -1,11 +1,12 @@
1
1
  import { A_Fragment } from "@adaas/a-concept"
2
2
  import { A_FrameChannelRequest } from "../A-FrameChannel/A-FrameChannelRequest.context";
3
3
  import { A_Frame_CredentialResponse } from "../A-FrameChannel/A-FrameChannel.types";
4
+ import { A_FrameCredentials } from "../A-FrameCredentials/A-FrameCredentials.entity";
4
5
 
5
6
 
6
7
  export class A_FrameContext extends A_Fragment {
7
8
 
8
- private credentials?: A_Frame_CredentialResponse;
9
+ private _credentials?: A_FrameCredentials;
9
10
 
10
11
 
11
12
  constructor() {
@@ -14,27 +15,27 @@ export class A_FrameContext extends A_Fragment {
14
15
 
15
16
 
16
17
  get encryptionKey(): string | undefined {
17
- return this.credentials?.encryption_key;
18
+ return this._credentials?.encryptionKey;
18
19
  }
19
20
 
20
21
 
21
22
  get serverVersion(): string | undefined {
22
- return this.credentials?.server_version;
23
+ return this._credentials?.serverVersion;
23
24
  }
24
25
 
25
26
 
26
27
  isAuthenticated(): boolean {
27
- return !!this.credentials;
28
+ return !!this._credentials?.isAuthenticated;
28
29
  }
29
30
 
30
31
 
31
- setCredentials(credentials: A_FrameChannelRequest<A_Frame_CredentialResponse>) {
32
- if (credentials.error) {
33
- this.credentials = undefined;
32
+ setCredentials(credentialsRequest: A_FrameChannelRequest<A_Frame_CredentialResponse>) {
33
+ if (credentialsRequest.error || !credentialsRequest.response) {
34
+ this._credentials = undefined;
34
35
  return;
35
36
  }
36
37
 
37
- this.credentials = credentials.response || undefined;
38
+ this._credentials = new A_FrameCredentials(credentialsRequest.response);
38
39
  }
39
40
 
40
41
  }
@@ -35,7 +35,7 @@ export function A_FrameDefineDecorator(
35
35
  default:
36
36
  throw new A_FrameError(
37
37
  A_FrameError.InvalidTarget,
38
- `@A_Frame.Define decorator cannot be applied to the target.`
38
+ `@A_Frame.Define decorator cannot be applied to the target : ${A_CommonHelper.getComponentName(target)}. It can only be applied to classes or methods inheriting from allowed base classes.`
39
39
  );
40
40
  }
41
41
  const namespace = config.namespace
@@ -63,7 +63,7 @@ export function A_FrameDefineDecorator(
63
63
  source: source,
64
64
  metadata: config.metadata,
65
65
  type: A_FrameTargetType.METHOD,
66
- namespace: namespace
66
+ namespace: namespace,
67
67
  }));
68
68
 
69
69
  return descriptor;
@@ -73,7 +73,7 @@ export function A_FrameDefineDecorator(
73
73
  if (!A_FrameTypeGuard.isAllowedTarget(target)) {
74
74
  throw new A_FrameError(
75
75
  A_FrameError.InvalidTarget,
76
- `@A_Frame.${componentType} decorator can only be applied to allowed targets.`
76
+ `@A_Frame.${componentType} decorator cannot be applied to the target : ${A_CommonHelper.getComponentName(target)}. It can only be applied to allowed targets.`
77
77
  );
78
78
  }
79
79
 
@@ -92,7 +92,7 @@ export function A_FrameDefineDecorator(
92
92
  source: source,
93
93
  metadata: config.metadata,
94
94
  type: componentType,
95
- namespace: namespace
95
+ namespace: namespace,
96
96
  }));
97
97
 
98
98
  return target;
@@ -1,60 +1,129 @@
1
1
  import * as fs from 'node:fs/promises';
2
2
  import * as path from 'node:path';
3
3
  import { A_Component } from '@adaas/a-concept';
4
- import { A_FrameBundle } from './A-FrameBundle.types';
4
+ import { A_FrameBundle, A_FrameBundleDefinitionRecord, A_FrameBundleNamespaceRecord } from './A-FrameBundle.types';
5
5
  import { A_FRAME_BUNDLE_VERSION } from './A-FrameBundle.constants';
6
6
  import { A_FrameStorageCodec } from '../A-FrameStorage/A-FrameStorage.codec';
7
+ import { A_FrameCrypto } from '../A-FrameCrypto/A-FrameCrypto.component.env-node';
7
8
  import * as pkg from '../../../package.json';
8
9
 
9
10
 
10
11
  export interface A_FrameBundleBuilderOptions {
11
- /** Source directory containing the encrypted `*.aframe` files (Node storage). */
12
- storageDir: string;
12
+ /**
13
+ * Source directory containing the encrypted `*.aframe` files (Node storage).
14
+ * Defaults to `.aframe/` in the current working directory.
15
+ */
16
+ storageDir?: string;
13
17
  /** Server version to embed in the bundle metadata. */
14
18
  serverVersion: string;
19
+ /**
20
+ * AES-256-GCM encryption key used when the `.aframe` files were written.
21
+ * This is the `encryptionKey` returned by the A-Frame server credentials API.
22
+ * Required so the builder can decrypt the files and produce plain-JSON records.
23
+ */
24
+ encryptionKey: string;
15
25
  }
16
26
 
17
27
 
18
28
  /**
19
29
  * A_FrameBundleBuilder — Node-only build-time helper.
20
30
  *
21
- * Reads the encrypted `*.aframe` files produced by Node storage and packages
22
- * them into a single JSON (or generated TypeScript module) artifact that ships
23
- * with the browser bundle. The browser bootstrap then seeds these blobs into
24
- * `A_FrameBrowserStorageBlobs` so that read-only `definition.load()` /
25
- * `namespace.load()` calls work without a filesystem.
31
+ * Reads the encrypted `*.aframe` files produced by Node storage, decrypts them
32
+ * with the provided key, and packages the decoded definition/namespace records
33
+ * into a single JSON artifact that ships with the browser bundle.
34
+ *
35
+ * The output bundle stores plain records (no encryption). The browser bootstrap
36
+ * seeds these directly into `A_FrameBrowserStorageBlobs` so that definitions
37
+ * load without any server connection or encryption key.
38
+ *
39
+ * Usage:
40
+ * ```ts
41
+ * import { A_FrameBundleBuilder } from '@adaas/a-frame/bundle';
42
+ *
43
+ * const builder = new A_FrameBundleBuilder();
44
+ * const bundle = await builder.build({
45
+ * storageDir: '.aframe',
46
+ * serverVersion: '1.0.0',
47
+ * encryptionKey: process.env.A_FRAME_ENCRYPTION_KEY!,
48
+ * });
49
+ * await builder.writeAuto(bundle, 'src/generated/a-frame-bundle.ts');
50
+ * ```
26
51
  */
27
52
  export class A_FrameBundleBuilder extends A_Component {
28
53
 
29
- /** Read all `.aframe` files from a storage directory and serialise them. */
54
+ private codec = new A_FrameStorageCodec();
55
+
56
+ /** Read, decrypt and decode all `.aframe` files from a storage directory. */
30
57
  async build(opts: A_FrameBundleBuilderOptions): Promise<A_FrameBundle> {
31
- const ext = A_FrameStorageCodec.fileExtension; // ".aframe"
32
- const namespacesFile = `__namespaces${ext}`;
58
+ const storageDir = opts.storageDir ?? '.aframe';
59
+ const namespacesFile = this.codec.getNamespaceFileName(); // '.namespaces.aframe'
60
+ const defSuffix = `.definitions${A_FrameStorageCodec.fileExtension}`; // '.definitions.aframe'
33
61
 
34
62
  let entries: string[];
35
63
  try {
36
- entries = await fs.readdir(opts.storageDir);
64
+ entries = await fs.readdir(storageDir);
37
65
  } catch (err: any) {
38
66
  if (err?.code === 'ENOENT') {
39
- throw new Error(`A-Frame storage directory not found: ${opts.storageDir}`);
67
+ throw new Error(`A-Frame storage directory not found: ${path.resolve(storageDir)}`);
40
68
  }
41
69
  throw err;
42
70
  }
43
71
 
44
- const aframeFiles = entries.filter(f => f.endsWith(ext));
72
+ // Accept both the namespace index and definition files
73
+ const aframeFiles = entries.filter(f => f === namespacesFile || f.endsWith(defSuffix));
45
74
 
46
- let namespaces: string | null = null;
47
- const definitions: Record<string, string> = {};
75
+ const records: Record<string, A_FrameBundleDefinitionRecord[]> = {};
76
+ const namespaceRecords: A_FrameBundleNamespaceRecord[] = [];
48
77
 
49
78
  for (const file of aframeFiles) {
50
- const buf = await fs.readFile(path.join(opts.storageDir, file));
51
- const b64 = buf.toString('base64');
79
+ const raw = await fs.readFile(path.join(storageDir, file));
80
+ let plain: Uint8Array;
81
+ try {
82
+ plain = await A_FrameCrypto.decryptBytes(new Uint8Array(raw), opts.encryptionKey);
83
+ } catch {
84
+ throw new Error(
85
+ `Failed to decrypt "${file}". Ensure encryptionKey matches the key used when the files were written.`
86
+ );
87
+ }
52
88
 
53
89
  if (file === namespacesFile) {
54
- namespaces = b64;
90
+ const decoded = this.codec.decodeNamespacePayload(plain);
91
+ for (const r of decoded) {
92
+ namespaceRecords.push({
93
+ aseid: r.aseid,
94
+ hash: r.hash,
95
+ name: r.name,
96
+ description: r.description,
97
+ metadata: r.metadata,
98
+ embedding: Array.from(r.embedding ?? []),
99
+ embeddedAt: r.embeddedAt,
100
+ embeddingModel: r.embeddingModel,
101
+ credentialId: r.credentialId,
102
+ aFrameVersion: r.aFrameVersion,
103
+ aFrameServerVersion: r.aFrameServerVersion,
104
+ });
105
+ }
55
106
  } else {
56
- const id = file.slice(0, -ext.length);
57
- definitions[id] = b64;
107
+ // Strip '.definitions.aframe' suffix to recover the namespace id
108
+ const namespaceId = file.slice(0, -defSuffix.length);
109
+ const decoded = this.codec.decodePayload(plain);
110
+ records[namespaceId] = decoded.map(r => ({
111
+ aseid: r.aseid,
112
+ name: r.name,
113
+ hash: r.hash,
114
+ type: r.type,
115
+ source: r.source,
116
+ description: r.description,
117
+ metadata: r.metadata,
118
+ namespace: r.namespace,
119
+ embedding: Array.from(r.embedding ?? []),
120
+ date: r.date,
121
+ model: r.model,
122
+ credentialId: r.credentialId,
123
+ aFrameVersion: r.aFrameVersion,
124
+ aFrameServerVersion: r.aFrameServerVersion,
125
+ aFrameMeta: r.aFrameMeta,
126
+ }));
58
127
  }
59
128
  }
60
129
 
@@ -63,8 +132,8 @@ export class A_FrameBundleBuilder extends A_Component {
63
132
  aFrameVersion: (pkg as any).version || '0.0.0',
64
133
  serverVersion: opts.serverVersion,
65
134
  builtAt: new Date().toISOString(),
66
- namespaces,
67
- definitions,
135
+ records,
136
+ namespaceRecords,
68
137
  };
69
138
  }
70
139
 
@@ -76,12 +145,12 @@ export class A_FrameBundleBuilder extends A_Component {
76
145
 
77
146
  /**
78
147
  * Emit a TypeScript module that exports the bundle as a typed constant.
79
- * Useful for bundlers that prefer TS imports over JSON imports.
148
+ * Ideal for Vite/Webpack/esbuild projects that tree-shake TS imports.
80
149
  */
81
150
  async writeTS(bundle: A_FrameBundle, outFile: string): Promise<void> {
82
151
  const banner = '// AUTO-GENERATED by @adaas/a-frame — do not edit.\n';
83
152
  const body =
84
- `import type { A_FrameBundle } from '@adaas/a-frame';\n\n` +
153
+ `import type { A_FrameBundle } from '@adaas/a-frame/bundle';\n\n` +
85
154
  `export const A_FRAME_BUNDLE: A_FrameBundle = ${JSON.stringify(bundle, null, 2)} as A_FrameBundle;\n`;
86
155
  await fs.mkdir(path.dirname(path.resolve(outFile)), { recursive: true });
87
156
  await fs.writeFile(outFile, banner + body);
@@ -93,3 +162,4 @@ export class A_FrameBundleBuilder extends A_Component {
93
162
  return this.writeJSON(bundle, outFile);
94
163
  }
95
164
  }
165
+
@@ -1,5 +1,5 @@
1
1
  /** Current bundle format revision. Bumped on incompatible structural changes. */
2
- export const A_FRAME_BUNDLE_VERSION = 1;
2
+ export const A_FRAME_BUNDLE_VERSION = 2;
3
3
 
4
4
  /** Default file name when none is provided to the CLI. */
5
5
  export const A_FRAME_BUNDLE_DEFAULT_FILENAME = 'a-frame-bundle.json';