@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
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkQFUZVN4Y_cjs = require('./chunk-QFUZVN4Y.cjs');
4
- var chunk3LOMGNWA_cjs = require('./chunk-3LOMGNWA.cjs');
3
+ var chunk3SLICJ3L_cjs = require('./chunk-3SLICJ3L.cjs');
4
+ var chunkYVX4W6SI_cjs = require('./chunk-YVX4W6SI.cjs');
5
+ var chunkHELNAM5Y_cjs = require('./chunk-HELNAM5Y.cjs');
5
6
  require('./chunk-QFHZIG7Y.cjs');
6
7
  var fs = require('fs/promises');
7
8
  var path = require('path');
@@ -29,44 +30,88 @@ var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
29
30
  var path__namespace = /*#__PURE__*/_interopNamespace(path);
30
31
 
31
32
  // src/lib/A-FrameBundle/A-FrameBundle.constants.ts
32
- var A_FRAME_BUNDLE_VERSION = 1;
33
+ var A_FRAME_BUNDLE_VERSION = 2;
33
34
  var A_FRAME_BUNDLE_DEFAULT_FILENAME = "a-frame-bundle.json";
34
35
 
35
36
  // src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts
36
37
  var A_FrameBundleBuilder = class extends aConcept.A_Component {
37
- /** Read all `.aframe` files from a storage directory and serialise them. */
38
+ constructor() {
39
+ super(...arguments);
40
+ this.codec = new chunk3SLICJ3L_cjs.A_FrameStorageCodec();
41
+ }
42
+ /** Read, decrypt and decode all `.aframe` files from a storage directory. */
38
43
  async build(opts) {
39
- const ext = chunkQFUZVN4Y_cjs.A_FrameStorageCodec.fileExtension;
40
- const namespacesFile = `__namespaces${ext}`;
44
+ const storageDir = opts.storageDir ?? ".aframe";
45
+ const namespacesFile = this.codec.getNamespaceFileName();
46
+ const defSuffix = `.definitions${chunk3SLICJ3L_cjs.A_FrameStorageCodec.fileExtension}`;
41
47
  let entries;
42
48
  try {
43
- entries = await fs__namespace.readdir(opts.storageDir);
49
+ entries = await fs__namespace.readdir(storageDir);
44
50
  } catch (err) {
45
51
  if (err?.code === "ENOENT") {
46
- throw new Error(`A-Frame storage directory not found: ${opts.storageDir}`);
52
+ throw new Error(`A-Frame storage directory not found: ${path__namespace.resolve(storageDir)}`);
47
53
  }
48
54
  throw err;
49
55
  }
50
- const aframeFiles = entries.filter((f) => f.endsWith(ext));
51
- let namespaces = null;
52
- const definitions = {};
56
+ const aframeFiles = entries.filter((f) => f === namespacesFile || f.endsWith(defSuffix));
57
+ const records = {};
58
+ const namespaceRecords = [];
53
59
  for (const file of aframeFiles) {
54
- const buf = await fs__namespace.readFile(path__namespace.join(opts.storageDir, file));
55
- const b64 = buf.toString("base64");
60
+ const raw = await fs__namespace.readFile(path__namespace.join(storageDir, file));
61
+ let plain;
62
+ try {
63
+ plain = await chunkYVX4W6SI_cjs.A_FrameCrypto.decryptBytes(new Uint8Array(raw), opts.encryptionKey);
64
+ } catch {
65
+ throw new Error(
66
+ `Failed to decrypt "${file}". Ensure encryptionKey matches the key used when the files were written.`
67
+ );
68
+ }
56
69
  if (file === namespacesFile) {
57
- namespaces = b64;
70
+ const decoded = this.codec.decodeNamespacePayload(plain);
71
+ for (const r of decoded) {
72
+ namespaceRecords.push({
73
+ aseid: r.aseid,
74
+ hash: r.hash,
75
+ name: r.name,
76
+ description: r.description,
77
+ metadata: r.metadata,
78
+ embedding: Array.from(r.embedding ?? []),
79
+ embeddedAt: r.embeddedAt,
80
+ embeddingModel: r.embeddingModel,
81
+ credentialId: r.credentialId,
82
+ aFrameVersion: r.aFrameVersion,
83
+ aFrameServerVersion: r.aFrameServerVersion
84
+ });
85
+ }
58
86
  } else {
59
- const id = file.slice(0, -ext.length);
60
- definitions[id] = b64;
87
+ const namespaceId = file.slice(0, -defSuffix.length);
88
+ const decoded = this.codec.decodePayload(plain);
89
+ records[namespaceId] = decoded.map((r) => ({
90
+ aseid: r.aseid,
91
+ name: r.name,
92
+ hash: r.hash,
93
+ type: r.type,
94
+ source: r.source,
95
+ description: r.description,
96
+ metadata: r.metadata,
97
+ namespace: r.namespace,
98
+ embedding: Array.from(r.embedding ?? []),
99
+ date: r.date,
100
+ model: r.model,
101
+ credentialId: r.credentialId,
102
+ aFrameVersion: r.aFrameVersion,
103
+ aFrameServerVersion: r.aFrameServerVersion,
104
+ aFrameMeta: r.aFrameMeta
105
+ }));
61
106
  }
62
107
  }
63
108
  return {
64
109
  bundleVersion: A_FRAME_BUNDLE_VERSION,
65
- aFrameVersion: chunk3LOMGNWA_cjs.version || "0.0.0",
110
+ aFrameVersion: chunkHELNAM5Y_cjs.version || "0.0.0",
66
111
  serverVersion: opts.serverVersion,
67
112
  builtAt: (/* @__PURE__ */ new Date()).toISOString(),
68
- namespaces,
69
- definitions
113
+ records,
114
+ namespaceRecords
70
115
  };
71
116
  }
72
117
  /** Write the bundle to disk as a JSON file. */
@@ -76,11 +121,11 @@ var A_FrameBundleBuilder = class extends aConcept.A_Component {
76
121
  }
77
122
  /**
78
123
  * Emit a TypeScript module that exports the bundle as a typed constant.
79
- * Useful for bundlers that prefer TS imports over JSON imports.
124
+ * Ideal for Vite/Webpack/esbuild projects that tree-shake TS imports.
80
125
  */
81
126
  async writeTS(bundle, outFile) {
82
127
  const banner = "// AUTO-GENERATED by @adaas/a-frame \u2014 do not edit.\n";
83
- const body = `import type { A_FrameBundle } from '@adaas/a-frame';
128
+ const body = `import type { A_FrameBundle } from '@adaas/a-frame/bundle';
84
129
 
85
130
  export const A_FRAME_BUNDLE: A_FrameBundle = ${JSON.stringify(bundle, null, 2)} as A_FrameBundle;
86
131
  `;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/A-FrameBundle/A-FrameBundle.constants.ts","../../src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts"],"names":["A_Component","A_FrameStorageCodec","fs","path","version"],"mappings":"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","file":"bundle.cjs","sourcesContent":["/** Current bundle format revision. Bumped on incompatible structural changes. */\nexport const A_FRAME_BUNDLE_VERSION = 1;\n\n/** Default file name when none is provided to the CLI. */\nexport const A_FRAME_BUNDLE_DEFAULT_FILENAME = 'a-frame-bundle.json';\n","import * as fs from 'node:fs/promises';\nimport * as path from 'node:path';\nimport { A_Component } from '@adaas/a-concept';\nimport { A_FrameBundle } from './A-FrameBundle.types';\nimport { A_FRAME_BUNDLE_VERSION } from './A-FrameBundle.constants';\nimport { A_FrameStorageCodec } from '../A-FrameStorage/A-FrameStorage.codec';\nimport * as pkg from '../../../package.json';\n\n\nexport interface A_FrameBundleBuilderOptions {\n /** Source directory containing the encrypted `*.aframe` files (Node storage). */\n storageDir: string;\n /** Server version to embed in the bundle metadata. */\n serverVersion: string;\n}\n\n\n/**\n * A_FrameBundleBuilder — Node-only build-time helper.\n *\n * Reads the encrypted `*.aframe` files produced by Node storage and packages\n * them into a single JSON (or generated TypeScript module) artifact that ships\n * with the browser bundle. The browser bootstrap then seeds these blobs into\n * `A_FrameBrowserStorageBlobs` so that read-only `definition.load()` /\n * `namespace.load()` calls work without a filesystem.\n */\nexport class A_FrameBundleBuilder extends A_Component {\n\n /** Read all `.aframe` files from a storage directory and serialise them. */\n async build(opts: A_FrameBundleBuilderOptions): Promise<A_FrameBundle> {\n const ext = A_FrameStorageCodec.fileExtension; // \".aframe\"\n const namespacesFile = `__namespaces${ext}`;\n\n let entries: string[];\n try {\n entries = await fs.readdir(opts.storageDir);\n } catch (err: any) {\n if (err?.code === 'ENOENT') {\n throw new Error(`A-Frame storage directory not found: ${opts.storageDir}`);\n }\n throw err;\n }\n\n const aframeFiles = entries.filter(f => f.endsWith(ext));\n\n let namespaces: string | null = null;\n const definitions: Record<string, string> = {};\n\n for (const file of aframeFiles) {\n const buf = await fs.readFile(path.join(opts.storageDir, file));\n const b64 = buf.toString('base64');\n\n if (file === namespacesFile) {\n namespaces = b64;\n } else {\n const id = file.slice(0, -ext.length);\n definitions[id] = b64;\n }\n }\n\n return {\n bundleVersion: A_FRAME_BUNDLE_VERSION,\n aFrameVersion: (pkg as any).version || '0.0.0',\n serverVersion: opts.serverVersion,\n builtAt: new Date().toISOString(),\n namespaces,\n definitions,\n };\n }\n\n /** Write the bundle to disk as a JSON file. */\n async writeJSON(bundle: A_FrameBundle, outFile: string): Promise<void> {\n await fs.mkdir(path.dirname(path.resolve(outFile)), { recursive: true });\n await fs.writeFile(outFile, JSON.stringify(bundle, null, 2));\n }\n\n /**\n * Emit a TypeScript module that exports the bundle as a typed constant.\n * Useful for bundlers that prefer TS imports over JSON imports.\n */\n async writeTS(bundle: A_FrameBundle, outFile: string): Promise<void> {\n const banner = '// AUTO-GENERATED by @adaas/a-frame — do not edit.\\n';\n const body =\n `import type { A_FrameBundle } from '@adaas/a-frame';\\n\\n` +\n `export const A_FRAME_BUNDLE: A_FrameBundle = ${JSON.stringify(bundle, null, 2)} as A_FrameBundle;\\n`;\n await fs.mkdir(path.dirname(path.resolve(outFile)), { recursive: true });\n await fs.writeFile(outFile, banner + body);\n }\n\n /** Convenience: detect output format by extension and write. */\n async writeAuto(bundle: A_FrameBundle, outFile: string): Promise<void> {\n if (/\\.tsx?$/.test(outFile)) return this.writeTS(bundle, outFile);\n return this.writeJSON(bundle, outFile);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/lib/A-FrameBundle/A-FrameBundle.constants.ts","../../src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts"],"names":["A_Component","A_FrameStorageCodec","fs","path","A_FrameCrypto","version"],"mappings":"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","file":"bundle.cjs","sourcesContent":["/** Current bundle format revision. Bumped on incompatible structural changes. */\nexport const A_FRAME_BUNDLE_VERSION = 2;\n\n/** Default file name when none is provided to the CLI. */\nexport const A_FRAME_BUNDLE_DEFAULT_FILENAME = 'a-frame-bundle.json';\n","import * as fs from 'node:fs/promises';\nimport * as path from 'node:path';\nimport { A_Component } from '@adaas/a-concept';\nimport { A_FrameBundle, A_FrameBundleDefinitionRecord, A_FrameBundleNamespaceRecord } from './A-FrameBundle.types';\nimport { A_FRAME_BUNDLE_VERSION } from './A-FrameBundle.constants';\nimport { A_FrameStorageCodec } from '../A-FrameStorage/A-FrameStorage.codec';\nimport { A_FrameCrypto } from '../A-FrameCrypto/A-FrameCrypto.component.env-node';\nimport * as pkg from '../../../package.json';\n\n\nexport interface A_FrameBundleBuilderOptions {\n /**\n * Source directory containing the encrypted `*.aframe` files (Node storage).\n * Defaults to `.aframe/` in the current working directory.\n */\n storageDir?: string;\n /** Server version to embed in the bundle metadata. */\n serverVersion: string;\n /**\n * AES-256-GCM encryption key used when the `.aframe` files were written.\n * This is the `encryptionKey` returned by the A-Frame server credentials API.\n * Required so the builder can decrypt the files and produce plain-JSON records.\n */\n encryptionKey: string;\n}\n\n\n/**\n * A_FrameBundleBuilder — Node-only build-time helper.\n *\n * Reads the encrypted `*.aframe` files produced by Node storage, decrypts them\n * with the provided key, and packages the decoded definition/namespace records\n * into a single JSON artifact that ships with the browser bundle.\n *\n * The output bundle stores plain records (no encryption). The browser bootstrap\n * seeds these directly into `A_FrameBrowserStorageBlobs` so that definitions\n * load without any server connection or encryption key.\n *\n * Usage:\n * ```ts\n * import { A_FrameBundleBuilder } from '@adaas/a-frame/bundle';\n *\n * const builder = new A_FrameBundleBuilder();\n * const bundle = await builder.build({\n * storageDir: '.aframe',\n * serverVersion: '1.0.0',\n * encryptionKey: process.env.A_FRAME_ENCRYPTION_KEY!,\n * });\n * await builder.writeAuto(bundle, 'src/generated/a-frame-bundle.ts');\n * ```\n */\nexport class A_FrameBundleBuilder extends A_Component {\n\n private codec = new A_FrameStorageCodec();\n\n /** Read, decrypt and decode all `.aframe` files from a storage directory. */\n async build(opts: A_FrameBundleBuilderOptions): Promise<A_FrameBundle> {\n const storageDir = opts.storageDir ?? '.aframe';\n const namespacesFile = this.codec.getNamespaceFileName(); // '.namespaces.aframe'\n const defSuffix = `.definitions${A_FrameStorageCodec.fileExtension}`; // '.definitions.aframe'\n\n let entries: string[];\n try {\n entries = await fs.readdir(storageDir);\n } catch (err: any) {\n if (err?.code === 'ENOENT') {\n throw new Error(`A-Frame storage directory not found: ${path.resolve(storageDir)}`);\n }\n throw err;\n }\n\n // Accept both the namespace index and definition files\n const aframeFiles = entries.filter(f => f === namespacesFile || f.endsWith(defSuffix));\n\n const records: Record<string, A_FrameBundleDefinitionRecord[]> = {};\n const namespaceRecords: A_FrameBundleNamespaceRecord[] = [];\n\n for (const file of aframeFiles) {\n const raw = await fs.readFile(path.join(storageDir, file));\n let plain: Uint8Array;\n try {\n plain = await A_FrameCrypto.decryptBytes(new Uint8Array(raw), opts.encryptionKey);\n } catch {\n throw new Error(\n `Failed to decrypt \"${file}\". Ensure encryptionKey matches the key used when the files were written.`\n );\n }\n\n if (file === namespacesFile) {\n const decoded = this.codec.decodeNamespacePayload(plain);\n for (const r of decoded) {\n namespaceRecords.push({\n aseid: r.aseid,\n hash: r.hash,\n name: r.name,\n description: r.description,\n metadata: r.metadata,\n embedding: Array.from(r.embedding ?? []),\n embeddedAt: r.embeddedAt,\n embeddingModel: r.embeddingModel,\n credentialId: r.credentialId,\n aFrameVersion: r.aFrameVersion,\n aFrameServerVersion: r.aFrameServerVersion,\n });\n }\n } else {\n // Strip '.definitions.aframe' suffix to recover the namespace id\n const namespaceId = file.slice(0, -defSuffix.length);\n const decoded = this.codec.decodePayload(plain);\n records[namespaceId] = decoded.map(r => ({\n aseid: r.aseid,\n name: r.name,\n hash: r.hash,\n type: r.type,\n source: r.source,\n description: r.description,\n metadata: r.metadata,\n namespace: r.namespace,\n embedding: Array.from(r.embedding ?? []),\n date: r.date,\n model: r.model,\n credentialId: r.credentialId,\n aFrameVersion: r.aFrameVersion,\n aFrameServerVersion: r.aFrameServerVersion,\n aFrameMeta: r.aFrameMeta,\n }));\n }\n }\n\n return {\n bundleVersion: A_FRAME_BUNDLE_VERSION,\n aFrameVersion: (pkg as any).version || '0.0.0',\n serverVersion: opts.serverVersion,\n builtAt: new Date().toISOString(),\n records,\n namespaceRecords,\n };\n }\n\n /** Write the bundle to disk as a JSON file. */\n async writeJSON(bundle: A_FrameBundle, outFile: string): Promise<void> {\n await fs.mkdir(path.dirname(path.resolve(outFile)), { recursive: true });\n await fs.writeFile(outFile, JSON.stringify(bundle, null, 2));\n }\n\n /**\n * Emit a TypeScript module that exports the bundle as a typed constant.\n * Ideal for Vite/Webpack/esbuild projects that tree-shake TS imports.\n */\n async writeTS(bundle: A_FrameBundle, outFile: string): Promise<void> {\n const banner = '// AUTO-GENERATED by @adaas/a-frame — do not edit.\\n';\n const body =\n `import type { A_FrameBundle } from '@adaas/a-frame/bundle';\\n\\n` +\n `export const A_FRAME_BUNDLE: A_FrameBundle = ${JSON.stringify(bundle, null, 2)} as A_FrameBundle;\\n`;\n await fs.mkdir(path.dirname(path.resolve(outFile)), { recursive: true });\n await fs.writeFile(outFile, banner + body);\n }\n\n /** Convenience: detect output format by extension and write. */\n async writeAuto(bundle: A_FrameBundle, outFile: string): Promise<void> {\n if (/\\.tsx?$/.test(outFile)) return this.writeTS(bundle, outFile);\n return this.writeJSON(bundle, outFile);\n }\n}\n\n"]}
@@ -1,18 +1,58 @@
1
1
  import { A_Component } from '@adaas/a-concept';
2
+ import { c as A_FrameTargetType, D as DefinitionExtractedMeta } from './A-FrameDefinition.types-BT02yAhQ.mjs';
3
+ import './A-FrameNamespace.entity-BDg1FUgo.mjs';
4
+ import './vector.mjs';
2
5
 
6
+ /**
7
+ * JSON-serializable definition record (embedding stored as number[] instead of Float32Array).
8
+ */
9
+ interface A_FrameBundleDefinitionRecord {
10
+ aseid: string;
11
+ name: string;
12
+ hash: string;
13
+ type: A_FrameTargetType;
14
+ source?: string;
15
+ description?: string;
16
+ metadata?: Record<string, unknown>;
17
+ namespace: string;
18
+ /** Float32 embedding serialized as a plain number array. */
19
+ embedding: number[];
20
+ date: string;
21
+ model: string;
22
+ credentialId: string;
23
+ aFrameVersion: string;
24
+ aFrameServerVersion: string;
25
+ aFrameMeta?: DefinitionExtractedMeta;
26
+ }
27
+ /**
28
+ * JSON-serializable namespace record (embedding as number[]).
29
+ */
30
+ interface A_FrameBundleNamespaceRecord {
31
+ aseid: string;
32
+ hash: string;
33
+ name: string;
34
+ description?: string;
35
+ metadata?: Record<string, unknown>;
36
+ /** Float32 embedding serialized as a plain number array. */
37
+ embedding: number[];
38
+ embeddedAt: number;
39
+ embeddingModel?: string;
40
+ credentialId?: string;
41
+ aFrameVersion?: string;
42
+ aFrameServerVersion?: string;
43
+ }
3
44
  /**
4
45
  * Serialized A-Frame bundle artifact.
5
46
  *
6
- * Built by `A_FrameBundleBuilder` from a Node storage directory at build time
7
- * (see CLI `--bundle <out>`). Loaded by `A_FrameBrowserStorageBlobs.seedFromBundle()`
8
- * at app startup in the browser.
47
+ * Built by `A_FrameBundleBuilder` from a Node storage directory at build time.
48
+ * Loaded by `A_FrameBrowserStorageBlobs.seedFromBundle()` at app startup in the
49
+ * browser no server connection or encryption key required at runtime.
9
50
  *
10
- * Storage blobs are kept in their AES-256-GCM encrypted form the consuming
11
- * browser app must obtain the encryption key out-of-band (typically by
12
- * authenticating against the A-Frame server with the user's token).
51
+ * The bundle stores decoded definition and namespace records in plain JSON so
52
+ * that the browser can hydrate embeddings without calling the A-Frame server.
13
53
  */
14
54
  interface A_FrameBundle {
15
- /** Bundle format version. Currently 1. */
55
+ /** Bundle format version. Currently 2. */
16
56
  bundleVersion: number;
17
57
  /** A-Frame client library version that produced the bundle. */
18
58
  aFrameVersion: string;
@@ -21,40 +61,64 @@ interface A_FrameBundle {
21
61
  /** Build timestamp (ISO 8601). */
22
62
  builtAt: string;
23
63
  /**
24
- * Base64-encoded contents of the `__namespaces.aframe` index file.
25
- * `null` when no namespaces have been persisted yet.
64
+ * Decoded definition records grouped by namespace id.
65
+ * The `embedding` field contains the raw Float32 values as a plain number[].
26
66
  */
27
- namespaces: string | null;
67
+ records: Record<string, A_FrameBundleDefinitionRecord[]>;
28
68
  /**
29
- * Map of namespace id (file basename without extension) → base64-encoded
30
- * contents of the corresponding `<namespace>.aframe` file.
69
+ * Decoded namespace records (from `__namespaces.aframe`).
31
70
  */
32
- definitions: Record<string, string>;
71
+ namespaceRecords: A_FrameBundleNamespaceRecord[];
33
72
  }
34
73
 
35
74
  interface A_FrameBundleBuilderOptions {
36
- /** Source directory containing the encrypted `*.aframe` files (Node storage). */
37
- storageDir: string;
75
+ /**
76
+ * Source directory containing the encrypted `*.aframe` files (Node storage).
77
+ * Defaults to `.aframe/` in the current working directory.
78
+ */
79
+ storageDir?: string;
38
80
  /** Server version to embed in the bundle metadata. */
39
81
  serverVersion: string;
82
+ /**
83
+ * AES-256-GCM encryption key used when the `.aframe` files were written.
84
+ * This is the `encryptionKey` returned by the A-Frame server credentials API.
85
+ * Required so the builder can decrypt the files and produce plain-JSON records.
86
+ */
87
+ encryptionKey: string;
40
88
  }
41
89
  /**
42
90
  * A_FrameBundleBuilder — Node-only build-time helper.
43
91
  *
44
- * Reads the encrypted `*.aframe` files produced by Node storage and packages
45
- * them into a single JSON (or generated TypeScript module) artifact that ships
46
- * with the browser bundle. The browser bootstrap then seeds these blobs into
47
- * `A_FrameBrowserStorageBlobs` so that read-only `definition.load()` /
48
- * `namespace.load()` calls work without a filesystem.
92
+ * Reads the encrypted `*.aframe` files produced by Node storage, decrypts them
93
+ * with the provided key, and packages the decoded definition/namespace records
94
+ * into a single JSON artifact that ships with the browser bundle.
95
+ *
96
+ * The output bundle stores plain records (no encryption). The browser bootstrap
97
+ * seeds these directly into `A_FrameBrowserStorageBlobs` so that definitions
98
+ * load without any server connection or encryption key.
99
+ *
100
+ * Usage:
101
+ * ```ts
102
+ * import { A_FrameBundleBuilder } from '@adaas/a-frame/bundle';
103
+ *
104
+ * const builder = new A_FrameBundleBuilder();
105
+ * const bundle = await builder.build({
106
+ * storageDir: '.aframe',
107
+ * serverVersion: '1.0.0',
108
+ * encryptionKey: process.env.A_FRAME_ENCRYPTION_KEY!,
109
+ * });
110
+ * await builder.writeAuto(bundle, 'src/generated/a-frame-bundle.ts');
111
+ * ```
49
112
  */
50
113
  declare class A_FrameBundleBuilder extends A_Component {
51
- /** Read all `.aframe` files from a storage directory and serialise them. */
114
+ private codec;
115
+ /** Read, decrypt and decode all `.aframe` files from a storage directory. */
52
116
  build(opts: A_FrameBundleBuilderOptions): Promise<A_FrameBundle>;
53
117
  /** Write the bundle to disk as a JSON file. */
54
118
  writeJSON(bundle: A_FrameBundle, outFile: string): Promise<void>;
55
119
  /**
56
120
  * Emit a TypeScript module that exports the bundle as a typed constant.
57
- * Useful for bundlers that prefer TS imports over JSON imports.
121
+ * Ideal for Vite/Webpack/esbuild projects that tree-shake TS imports.
58
122
  */
59
123
  writeTS(bundle: A_FrameBundle, outFile: string): Promise<void>;
60
124
  /** Convenience: detect output format by extension and write. */
@@ -62,8 +126,8 @@ declare class A_FrameBundleBuilder extends A_Component {
62
126
  }
63
127
 
64
128
  /** Current bundle format revision. Bumped on incompatible structural changes. */
65
- declare const A_FRAME_BUNDLE_VERSION = 1;
129
+ declare const A_FRAME_BUNDLE_VERSION = 2;
66
130
  /** Default file name when none is provided to the CLI. */
67
131
  declare const A_FRAME_BUNDLE_DEFAULT_FILENAME = "a-frame-bundle.json";
68
132
 
69
- export { A_FRAME_BUNDLE_DEFAULT_FILENAME, A_FRAME_BUNDLE_VERSION, type A_FrameBundle, A_FrameBundleBuilder, type A_FrameBundleBuilderOptions };
133
+ export { A_FRAME_BUNDLE_DEFAULT_FILENAME, A_FRAME_BUNDLE_VERSION, type A_FrameBundle, A_FrameBundleBuilder, type A_FrameBundleBuilderOptions, type A_FrameBundleDefinitionRecord, type A_FrameBundleNamespaceRecord };
@@ -1,18 +1,58 @@
1
1
  import { A_Component } from '@adaas/a-concept';
2
+ import { c as A_FrameTargetType, D as DefinitionExtractedMeta } from './A-FrameDefinition.types-BA_pLGpo.js';
3
+ import './A-FrameNamespace.entity-HDXcLGcS.js';
4
+ import './vector.js';
2
5
 
6
+ /**
7
+ * JSON-serializable definition record (embedding stored as number[] instead of Float32Array).
8
+ */
9
+ interface A_FrameBundleDefinitionRecord {
10
+ aseid: string;
11
+ name: string;
12
+ hash: string;
13
+ type: A_FrameTargetType;
14
+ source?: string;
15
+ description?: string;
16
+ metadata?: Record<string, unknown>;
17
+ namespace: string;
18
+ /** Float32 embedding serialized as a plain number array. */
19
+ embedding: number[];
20
+ date: string;
21
+ model: string;
22
+ credentialId: string;
23
+ aFrameVersion: string;
24
+ aFrameServerVersion: string;
25
+ aFrameMeta?: DefinitionExtractedMeta;
26
+ }
27
+ /**
28
+ * JSON-serializable namespace record (embedding as number[]).
29
+ */
30
+ interface A_FrameBundleNamespaceRecord {
31
+ aseid: string;
32
+ hash: string;
33
+ name: string;
34
+ description?: string;
35
+ metadata?: Record<string, unknown>;
36
+ /** Float32 embedding serialized as a plain number array. */
37
+ embedding: number[];
38
+ embeddedAt: number;
39
+ embeddingModel?: string;
40
+ credentialId?: string;
41
+ aFrameVersion?: string;
42
+ aFrameServerVersion?: string;
43
+ }
3
44
  /**
4
45
  * Serialized A-Frame bundle artifact.
5
46
  *
6
- * Built by `A_FrameBundleBuilder` from a Node storage directory at build time
7
- * (see CLI `--bundle <out>`). Loaded by `A_FrameBrowserStorageBlobs.seedFromBundle()`
8
- * at app startup in the browser.
47
+ * Built by `A_FrameBundleBuilder` from a Node storage directory at build time.
48
+ * Loaded by `A_FrameBrowserStorageBlobs.seedFromBundle()` at app startup in the
49
+ * browser no server connection or encryption key required at runtime.
9
50
  *
10
- * Storage blobs are kept in their AES-256-GCM encrypted form the consuming
11
- * browser app must obtain the encryption key out-of-band (typically by
12
- * authenticating against the A-Frame server with the user's token).
51
+ * The bundle stores decoded definition and namespace records in plain JSON so
52
+ * that the browser can hydrate embeddings without calling the A-Frame server.
13
53
  */
14
54
  interface A_FrameBundle {
15
- /** Bundle format version. Currently 1. */
55
+ /** Bundle format version. Currently 2. */
16
56
  bundleVersion: number;
17
57
  /** A-Frame client library version that produced the bundle. */
18
58
  aFrameVersion: string;
@@ -21,40 +61,64 @@ interface A_FrameBundle {
21
61
  /** Build timestamp (ISO 8601). */
22
62
  builtAt: string;
23
63
  /**
24
- * Base64-encoded contents of the `__namespaces.aframe` index file.
25
- * `null` when no namespaces have been persisted yet.
64
+ * Decoded definition records grouped by namespace id.
65
+ * The `embedding` field contains the raw Float32 values as a plain number[].
26
66
  */
27
- namespaces: string | null;
67
+ records: Record<string, A_FrameBundleDefinitionRecord[]>;
28
68
  /**
29
- * Map of namespace id (file basename without extension) → base64-encoded
30
- * contents of the corresponding `<namespace>.aframe` file.
69
+ * Decoded namespace records (from `__namespaces.aframe`).
31
70
  */
32
- definitions: Record<string, string>;
71
+ namespaceRecords: A_FrameBundleNamespaceRecord[];
33
72
  }
34
73
 
35
74
  interface A_FrameBundleBuilderOptions {
36
- /** Source directory containing the encrypted `*.aframe` files (Node storage). */
37
- storageDir: string;
75
+ /**
76
+ * Source directory containing the encrypted `*.aframe` files (Node storage).
77
+ * Defaults to `.aframe/` in the current working directory.
78
+ */
79
+ storageDir?: string;
38
80
  /** Server version to embed in the bundle metadata. */
39
81
  serverVersion: string;
82
+ /**
83
+ * AES-256-GCM encryption key used when the `.aframe` files were written.
84
+ * This is the `encryptionKey` returned by the A-Frame server credentials API.
85
+ * Required so the builder can decrypt the files and produce plain-JSON records.
86
+ */
87
+ encryptionKey: string;
40
88
  }
41
89
  /**
42
90
  * A_FrameBundleBuilder — Node-only build-time helper.
43
91
  *
44
- * Reads the encrypted `*.aframe` files produced by Node storage and packages
45
- * them into a single JSON (or generated TypeScript module) artifact that ships
46
- * with the browser bundle. The browser bootstrap then seeds these blobs into
47
- * `A_FrameBrowserStorageBlobs` so that read-only `definition.load()` /
48
- * `namespace.load()` calls work without a filesystem.
92
+ * Reads the encrypted `*.aframe` files produced by Node storage, decrypts them
93
+ * with the provided key, and packages the decoded definition/namespace records
94
+ * into a single JSON artifact that ships with the browser bundle.
95
+ *
96
+ * The output bundle stores plain records (no encryption). The browser bootstrap
97
+ * seeds these directly into `A_FrameBrowserStorageBlobs` so that definitions
98
+ * load without any server connection or encryption key.
99
+ *
100
+ * Usage:
101
+ * ```ts
102
+ * import { A_FrameBundleBuilder } from '@adaas/a-frame/bundle';
103
+ *
104
+ * const builder = new A_FrameBundleBuilder();
105
+ * const bundle = await builder.build({
106
+ * storageDir: '.aframe',
107
+ * serverVersion: '1.0.0',
108
+ * encryptionKey: process.env.A_FRAME_ENCRYPTION_KEY!,
109
+ * });
110
+ * await builder.writeAuto(bundle, 'src/generated/a-frame-bundle.ts');
111
+ * ```
49
112
  */
50
113
  declare class A_FrameBundleBuilder extends A_Component {
51
- /** Read all `.aframe` files from a storage directory and serialise them. */
114
+ private codec;
115
+ /** Read, decrypt and decode all `.aframe` files from a storage directory. */
52
116
  build(opts: A_FrameBundleBuilderOptions): Promise<A_FrameBundle>;
53
117
  /** Write the bundle to disk as a JSON file. */
54
118
  writeJSON(bundle: A_FrameBundle, outFile: string): Promise<void>;
55
119
  /**
56
120
  * Emit a TypeScript module that exports the bundle as a typed constant.
57
- * Useful for bundlers that prefer TS imports over JSON imports.
121
+ * Ideal for Vite/Webpack/esbuild projects that tree-shake TS imports.
58
122
  */
59
123
  writeTS(bundle: A_FrameBundle, outFile: string): Promise<void>;
60
124
  /** Convenience: detect output format by extension and write. */
@@ -62,8 +126,8 @@ declare class A_FrameBundleBuilder extends A_Component {
62
126
  }
63
127
 
64
128
  /** Current bundle format revision. Bumped on incompatible structural changes. */
65
- declare const A_FRAME_BUNDLE_VERSION = 1;
129
+ declare const A_FRAME_BUNDLE_VERSION = 2;
66
130
  /** Default file name when none is provided to the CLI. */
67
131
  declare const A_FRAME_BUNDLE_DEFAULT_FILENAME = "a-frame-bundle.json";
68
132
 
69
- export { A_FRAME_BUNDLE_DEFAULT_FILENAME, A_FRAME_BUNDLE_VERSION, type A_FrameBundle, A_FrameBundleBuilder, type A_FrameBundleBuilderOptions };
133
+ export { A_FRAME_BUNDLE_DEFAULT_FILENAME, A_FRAME_BUNDLE_VERSION, type A_FrameBundle, A_FrameBundleBuilder, type A_FrameBundleBuilderOptions, type A_FrameBundleDefinitionRecord, type A_FrameBundleNamespaceRecord };
@@ -1,40 +1,85 @@
1
- import { A_FrameStorageCodec } from './chunk-3ONWH75E.mjs';
2
- import { version } from './chunk-TO4BPKCY.mjs';
1
+ import { A_FrameStorageCodec } from './chunk-OYZAQMKD.mjs';
2
+ import { A_FrameCrypto } from './chunk-UPA7VN4R.mjs';
3
+ import { version } from './chunk-SKIEPTFS.mjs';
3
4
  import './chunk-OI76LHVT.mjs';
4
5
  import * as fs from 'fs/promises';
5
6
  import * as path from 'path';
6
7
  import { A_Component } from '@adaas/a-concept';
7
8
 
8
9
  // src/lib/A-FrameBundle/A-FrameBundle.constants.ts
9
- var A_FRAME_BUNDLE_VERSION = 1;
10
+ var A_FRAME_BUNDLE_VERSION = 2;
10
11
  var A_FRAME_BUNDLE_DEFAULT_FILENAME = "a-frame-bundle.json";
11
12
 
12
13
  // src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts
13
14
  var A_FrameBundleBuilder = class extends A_Component {
14
- /** Read all `.aframe` files from a storage directory and serialise them. */
15
+ constructor() {
16
+ super(...arguments);
17
+ this.codec = new A_FrameStorageCodec();
18
+ }
19
+ /** Read, decrypt and decode all `.aframe` files from a storage directory. */
15
20
  async build(opts) {
16
- const ext = A_FrameStorageCodec.fileExtension;
17
- const namespacesFile = `__namespaces${ext}`;
21
+ const storageDir = opts.storageDir ?? ".aframe";
22
+ const namespacesFile = this.codec.getNamespaceFileName();
23
+ const defSuffix = `.definitions${A_FrameStorageCodec.fileExtension}`;
18
24
  let entries;
19
25
  try {
20
- entries = await fs.readdir(opts.storageDir);
26
+ entries = await fs.readdir(storageDir);
21
27
  } catch (err) {
22
28
  if (err?.code === "ENOENT") {
23
- throw new Error(`A-Frame storage directory not found: ${opts.storageDir}`);
29
+ throw new Error(`A-Frame storage directory not found: ${path.resolve(storageDir)}`);
24
30
  }
25
31
  throw err;
26
32
  }
27
- const aframeFiles = entries.filter((f) => f.endsWith(ext));
28
- let namespaces = null;
29
- const definitions = {};
33
+ const aframeFiles = entries.filter((f) => f === namespacesFile || f.endsWith(defSuffix));
34
+ const records = {};
35
+ const namespaceRecords = [];
30
36
  for (const file of aframeFiles) {
31
- const buf = await fs.readFile(path.join(opts.storageDir, file));
32
- const b64 = buf.toString("base64");
37
+ const raw = await fs.readFile(path.join(storageDir, file));
38
+ let plain;
39
+ try {
40
+ plain = await A_FrameCrypto.decryptBytes(new Uint8Array(raw), opts.encryptionKey);
41
+ } catch {
42
+ throw new Error(
43
+ `Failed to decrypt "${file}". Ensure encryptionKey matches the key used when the files were written.`
44
+ );
45
+ }
33
46
  if (file === namespacesFile) {
34
- namespaces = b64;
47
+ const decoded = this.codec.decodeNamespacePayload(plain);
48
+ for (const r of decoded) {
49
+ namespaceRecords.push({
50
+ aseid: r.aseid,
51
+ hash: r.hash,
52
+ name: r.name,
53
+ description: r.description,
54
+ metadata: r.metadata,
55
+ embedding: Array.from(r.embedding ?? []),
56
+ embeddedAt: r.embeddedAt,
57
+ embeddingModel: r.embeddingModel,
58
+ credentialId: r.credentialId,
59
+ aFrameVersion: r.aFrameVersion,
60
+ aFrameServerVersion: r.aFrameServerVersion
61
+ });
62
+ }
35
63
  } else {
36
- const id = file.slice(0, -ext.length);
37
- definitions[id] = b64;
64
+ const namespaceId = file.slice(0, -defSuffix.length);
65
+ const decoded = this.codec.decodePayload(plain);
66
+ records[namespaceId] = decoded.map((r) => ({
67
+ aseid: r.aseid,
68
+ name: r.name,
69
+ hash: r.hash,
70
+ type: r.type,
71
+ source: r.source,
72
+ description: r.description,
73
+ metadata: r.metadata,
74
+ namespace: r.namespace,
75
+ embedding: Array.from(r.embedding ?? []),
76
+ date: r.date,
77
+ model: r.model,
78
+ credentialId: r.credentialId,
79
+ aFrameVersion: r.aFrameVersion,
80
+ aFrameServerVersion: r.aFrameServerVersion,
81
+ aFrameMeta: r.aFrameMeta
82
+ }));
38
83
  }
39
84
  }
40
85
  return {
@@ -42,8 +87,8 @@ var A_FrameBundleBuilder = class extends A_Component {
42
87
  aFrameVersion: version || "0.0.0",
43
88
  serverVersion: opts.serverVersion,
44
89
  builtAt: (/* @__PURE__ */ new Date()).toISOString(),
45
- namespaces,
46
- definitions
90
+ records,
91
+ namespaceRecords
47
92
  };
48
93
  }
49
94
  /** Write the bundle to disk as a JSON file. */
@@ -53,11 +98,11 @@ var A_FrameBundleBuilder = class extends A_Component {
53
98
  }
54
99
  /**
55
100
  * Emit a TypeScript module that exports the bundle as a typed constant.
56
- * Useful for bundlers that prefer TS imports over JSON imports.
101
+ * Ideal for Vite/Webpack/esbuild projects that tree-shake TS imports.
57
102
  */
58
103
  async writeTS(bundle, outFile) {
59
104
  const banner = "// AUTO-GENERATED by @adaas/a-frame \u2014 do not edit.\n";
60
- const body = `import type { A_FrameBundle } from '@adaas/a-frame';
105
+ const body = `import type { A_FrameBundle } from '@adaas/a-frame/bundle';
61
106
 
62
107
  export const A_FRAME_BUNDLE: A_FrameBundle = ${JSON.stringify(bundle, null, 2)} as A_FrameBundle;
63
108
  `;