@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
@@ -0,0 +1,530 @@
1
+ import { A_FrameStorageCodec } from './chunk-3ONWH75E.mjs';
2
+ import { A_FrameEnv } from './chunk-CNU3CRTR.mjs';
3
+ import { A_FrameNamespace, A_FrameNamespaceFeatures } from './chunk-AMMQ76RJ.mjs';
4
+ import { A_FrameCredentials } from './chunk-SL7FT5R5.mjs';
5
+ import { A_FrameCrypto } from './chunk-UPA7VN4R.mjs';
6
+ import { A_FrameDefinition, A_FrameDefinitionFeatures } from './chunk-RWLKISZQ.mjs';
7
+ import { __decorateClass, __decorateParam } from './chunk-OI76LHVT.mjs';
8
+ import { A_Feature, A_Inject, A_Caller, A_Error, A_Fragment, A_Component, A_Scope, A_Context } from '@adaas/a-concept';
9
+ import fs from 'fs/promises';
10
+ import path from 'path';
11
+
12
+ var A_FrameContext = class extends A_Fragment {
13
+ constructor() {
14
+ super({ name: "a-frame-context" });
15
+ }
16
+ get encryptionKey() {
17
+ return this._credentials?.encryptionKey;
18
+ }
19
+ get serverVersion() {
20
+ return this._credentials?.serverVersion;
21
+ }
22
+ isAuthenticated() {
23
+ return !!this._credentials?.isAuthenticated;
24
+ }
25
+ setCredentials(credentialsRequest) {
26
+ if (credentialsRequest.error || !credentialsRequest.response) {
27
+ this._credentials = void 0;
28
+ return;
29
+ }
30
+ this._credentials = new A_FrameCredentials(credentialsRequest.response);
31
+ }
32
+ };
33
+
34
+ // src/lib/A-FrameStorage/A-FrameStorage.constants.ts
35
+ var A_FrameStorageFeatures = {
36
+ SaveDefinitions: "_A_FRAME_STORAGE_SAVE",
37
+ LoadDefinitions: "_A_FRAME_STORAGE_LOAD",
38
+ DestroyDefinitions: "_A_FRAME_STORAGE_DESTROY",
39
+ SaveNamespaces: "_A_FRAME_STORAGE_SAVE_NAMESPACES",
40
+ LoadNamespaces: "_A_FRAME_STORAGE_LOAD_NAMESPACES",
41
+ DestroyNamespaces: "_A_FRAME_STORAGE_DESTROY_NAMESPACES"
42
+ };
43
+ var A_FrameStorageOperation = class extends A_Fragment {
44
+ constructor(params) {
45
+ super({ name: "a-frame-storage-operation" });
46
+ this._params = params;
47
+ }
48
+ /**
49
+ * If the operation succeeded, this will contain the result data. If the operation failed, this will be undefined.
50
+ */
51
+ get result() {
52
+ return this._result;
53
+ }
54
+ /**
55
+ * If the operation failed, this will contain an error object with details about the failure. If the operation succeeded, this will be undefined.
56
+ */
57
+ get error() {
58
+ return this._error;
59
+ }
60
+ /**
61
+ * Parameters used to execute the operation, e.g. definitionId and namespaceId for a saveDefinition operation.
62
+ */
63
+ get params() {
64
+ return this._params;
65
+ }
66
+ /**
67
+ * Marks the operation as completed successfully with the given result. This will set the `result` property and leave `error` as undefined.
68
+ *
69
+ * @param result
70
+ */
71
+ complete(result) {
72
+ this._result = result;
73
+ }
74
+ /**
75
+ * Marks the operation as failed with the given error. This will set the `error` property and leave `result` as undefined.
76
+ *
77
+ * @param error
78
+ */
79
+ fail(error) {
80
+ this._error = error;
81
+ }
82
+ };
83
+ var A_FrameStorageError = class extends A_Error {
84
+ };
85
+ A_FrameStorageError.SaveDefinitionFailed = "SaveDefinitionFailed";
86
+ A_FrameStorageError.LoadDefinitionsFailed = "LoadDefinitionsFailed";
87
+ A_FrameStorageError.DestroyDefinitionsFailed = "DestroyDefinitionsFailed";
88
+ A_FrameStorageError.SaveNamespaceFailed = "SaveNamespaceFailed";
89
+ A_FrameStorageError.LoadNamespacesFailed = "LoadNamespacesFailed";
90
+ A_FrameStorageError.DestroyNamespacesFailed = "DestroyNamespacesFailed";
91
+ var A_FrameStorage = class extends A_Component {
92
+ async saveDefinitions(definitions) {
93
+ const context = new A_FrameStorageOperation({
94
+ records: definitions
95
+ });
96
+ const executionScope = new A_Scope({
97
+ name: "A_FrameStorage.saveDefinitions",
98
+ fragments: [context]
99
+ }).inherit(A_Context.scope(this));
100
+ try {
101
+ await this.call(A_FrameStorageFeatures.SaveDefinitions, executionScope);
102
+ executionScope.destroy();
103
+ return context;
104
+ } catch (error) {
105
+ context.fail(new A_FrameStorageError({
106
+ title: A_FrameStorageError.SaveDefinitionFailed,
107
+ description: `Failed to save definition records.`
108
+ }));
109
+ executionScope.destroy();
110
+ return context;
111
+ }
112
+ }
113
+ async loadDefinitions(namespaceId, definitionId) {
114
+ const context = new A_FrameStorageOperation({
115
+ namespaceId
116
+ });
117
+ const executionScope = new A_Scope({
118
+ name: "A_FrameStorage.loadDefinitions",
119
+ fragments: [context]
120
+ }).inherit(A_Context.scope(this));
121
+ try {
122
+ await this.call(A_FrameStorageFeatures.LoadDefinitions, executionScope);
123
+ executionScope.destroy();
124
+ return context;
125
+ } catch (error) {
126
+ context.fail(new A_FrameStorageError({
127
+ title: A_FrameStorageError.LoadDefinitionsFailed,
128
+ description: `Failed to load definition records.`
129
+ }));
130
+ executionScope.destroy();
131
+ return context;
132
+ }
133
+ }
134
+ async destroyDefinitions(namespaceId, definitionId) {
135
+ const context = new A_FrameStorageOperation({
136
+ namespaceId,
137
+ definitionId
138
+ });
139
+ const executionScope = new A_Scope({
140
+ name: "A_FrameStorage.destroyDefinitions",
141
+ fragments: [context]
142
+ }).inherit(A_Context.scope(this));
143
+ try {
144
+ await this.call(A_FrameStorageFeatures.DestroyDefinitions, executionScope);
145
+ executionScope.destroy();
146
+ return context;
147
+ } catch (error) {
148
+ context.fail(new A_FrameStorageError({
149
+ title: A_FrameStorageError.DestroyDefinitionsFailed,
150
+ description: `Failed to destroy definition records.`
151
+ }));
152
+ executionScope.destroy();
153
+ return context;
154
+ }
155
+ }
156
+ async saveNamespaces(namespaces) {
157
+ const context = new A_FrameStorageOperation({
158
+ records: namespaces
159
+ });
160
+ const executionScope = new A_Scope({
161
+ name: "A_FrameStorage.saveNamespaces",
162
+ fragments: [context]
163
+ }).inherit(A_Context.scope(this));
164
+ try {
165
+ await this.call(A_FrameStorageFeatures.SaveNamespaces, executionScope);
166
+ executionScope.destroy();
167
+ return context;
168
+ } catch (error) {
169
+ context.fail(new A_FrameStorageError({
170
+ title: A_FrameStorageError.SaveNamespaceFailed,
171
+ description: `Failed to save namespace records.`
172
+ }));
173
+ executionScope.destroy();
174
+ return context;
175
+ }
176
+ }
177
+ async loadNamespaces(namespaceIds) {
178
+ const context = new A_FrameStorageOperation({
179
+ namespaces: namespaceIds
180
+ });
181
+ const executionScope = new A_Scope({
182
+ name: "A_FrameStorage.loadNamespaces",
183
+ fragments: [context]
184
+ }).inherit(A_Context.scope(this));
185
+ try {
186
+ await this.call(A_FrameStorageFeatures.LoadNamespaces, executionScope);
187
+ executionScope.destroy();
188
+ return context;
189
+ } catch (error) {
190
+ context.fail(new A_FrameStorageError({
191
+ title: A_FrameStorageError.LoadNamespacesFailed,
192
+ description: `Failed to load namespace records.`
193
+ }));
194
+ executionScope.destroy();
195
+ return context;
196
+ }
197
+ }
198
+ async destroyNamespaces(namespacesIds) {
199
+ const context = new A_FrameStorageOperation({
200
+ namespaces: namespacesIds
201
+ });
202
+ const executionScope = new A_Scope({
203
+ name: "A_FrameStorage.destroyNamespaces",
204
+ fragments: [context]
205
+ }).inherit(A_Context.scope(this));
206
+ try {
207
+ await this.call(A_FrameStorageFeatures.DestroyNamespaces, executionScope);
208
+ executionScope.destroy();
209
+ return context;
210
+ } catch (error) {
211
+ context.fail(new A_FrameStorageError({
212
+ title: A_FrameStorageError.DestroyNamespacesFailed,
213
+ description: `Failed to destroy namespace records.`
214
+ }));
215
+ executionScope.destroy();
216
+ return context;
217
+ }
218
+ }
219
+ };
220
+ var A_FrameNodeStorage = class extends A_FrameStorage {
221
+ /** Returns file contents, or null when the file does not exist yet. Re-throws all other I/O errors. */
222
+ async tryReadFile(filePath) {
223
+ try {
224
+ return await fs.readFile(filePath);
225
+ } catch (err) {
226
+ if (err?.code === "ENOENT") return null;
227
+ throw err;
228
+ }
229
+ }
230
+ async saveDefinitionToDisk(definition, env, context, codec, aFrameCrypto) {
231
+ const namespace = definition.namespace;
232
+ const incoming = definition.toJSON();
233
+ if (!incoming.embedding)
234
+ throw new Error("Only definitions with embeddings can be saved to storage");
235
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace.id)));
236
+ const existing = rawBuf ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
237
+ const merged = /* @__PURE__ */ new Map();
238
+ for (const r of existing) merged.set(r.hash, r);
239
+ merged.set(incoming.hash, incoming);
240
+ const records = Array.from(merged.values());
241
+ const payload = codec.encodePayload(records);
242
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
243
+ await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
244
+ await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace.id)), encrypted);
245
+ }
246
+ async loadDefinitionFromDisk(definition, env, context, codec, aFrameCrypto) {
247
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(definition.namespace.id)));
248
+ if (!rawBuf) return;
249
+ const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey);
250
+ const records = codec.decodePayload(plain);
251
+ const record = records.find((r) => r.aseid === definition.aseid.toString());
252
+ if (record && record.hash === definition.hash && record.aFrameServerVersion === context.serverVersion) {
253
+ definition.fromJSON(record);
254
+ }
255
+ }
256
+ async destroyDefinitionFromDisk(definition, env, context, codec, aFrameCrypto) {
257
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(definition.namespace.id)));
258
+ if (!rawBuf) return;
259
+ const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey);
260
+ const records = codec.decodePayload(plain);
261
+ const filtered = records.filter((r) => r.aseid !== definition.aseid.toString());
262
+ const payload = codec.encodePayload(filtered);
263
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
264
+ await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
265
+ await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(definition.namespace.id)), encrypted);
266
+ }
267
+ async saveNamespaceToDisk(namespace, env, context, codec, aFrameCrypto) {
268
+ const incoming = namespace.toJSON();
269
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
270
+ const existing = rawBuf ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
271
+ const merged = /* @__PURE__ */ new Map();
272
+ for (const r of existing) merged.set(r.aseid, r);
273
+ merged.set(incoming.aseid.toString(), incoming);
274
+ const records = Array.from(merged.values());
275
+ const payload = codec.encodeNamespacePayload(records);
276
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
277
+ await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
278
+ await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);
279
+ }
280
+ async loadNamespaceFromDisk(namespace, env, context, aFrameCrypto, codec) {
281
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
282
+ if (!rawBuf) return;
283
+ const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey);
284
+ const records = codec.decodeNamespacePayload(plain);
285
+ const record = records.find((r) => r.aseid === namespace.aseid.toString());
286
+ if (record && record.hash === namespace.hash && record.aFrameServerVersion === context.serverVersion) {
287
+ namespace.fromJSON(record);
288
+ }
289
+ }
290
+ async destroyNamespaceFromLocalFileStorage(namespace, env, context, codec, aFrameCrypto) {
291
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
292
+ if (!rawBuf) return;
293
+ const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey);
294
+ const records = codec.decodeNamespacePayload(plain);
295
+ const filtered = records.filter((r) => r.aseid !== namespace.aseid.toString());
296
+ const payload = codec.encodeNamespacePayload(filtered);
297
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
298
+ await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
299
+ await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);
300
+ try {
301
+ await fs.unlink(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace.id)));
302
+ } catch {
303
+ }
304
+ }
305
+ async saveDefinitionsToDisk(env, operation, context, codec, aFrameCrypto) {
306
+ const records = operation.params.records;
307
+ const namespace = records[0].namespace;
308
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)));
309
+ const existing = rawBuf ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
310
+ const merged = /* @__PURE__ */ new Map();
311
+ for (const r of existing) merged.set(r.hash, r);
312
+ for (const d of records) merged.set(d.hash, d);
313
+ const result = Array.from(merged.values());
314
+ const payload = codec.encodePayload(result);
315
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
316
+ await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
317
+ await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)), encrypted);
318
+ operation.complete({
319
+ saved: records.length
320
+ });
321
+ }
322
+ async loadDefinitionsFromDisk(env, operation, context, codec, aFrameCrypto) {
323
+ const namespace = operation.params.namespaceId;
324
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)));
325
+ const records = rawBuf ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
326
+ operation.complete({
327
+ records
328
+ });
329
+ }
330
+ async destroyDefinitionsFromDisk(env, operation, context, codec, aFrameCrypto) {
331
+ const namespace = operation.params.namespaceId;
332
+ const definitionId = operation.params.definitionId;
333
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)));
334
+ const records = rawBuf ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
335
+ const filtered = records.filter((r) => r.aseid !== definitionId);
336
+ const payload = codec.encodePayload(filtered);
337
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
338
+ await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
339
+ await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)), encrypted);
340
+ operation.complete({
341
+ records: filtered
342
+ });
343
+ }
344
+ async saveNamespacesToDisk(env, operation, context, codec, aFrameCrypto) {
345
+ const records = operation.params.records;
346
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
347
+ const existing = rawBuf ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
348
+ const merged = /* @__PURE__ */ new Map();
349
+ for (const r of existing) merged.set(r.aseid, r);
350
+ for (const d of records) merged.set(d.aseid.toString(), d);
351
+ const result = Array.from(merged.values());
352
+ const payload = codec.encodeNamespacePayload(result);
353
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
354
+ await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
355
+ await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);
356
+ operation.complete({
357
+ success: true
358
+ });
359
+ }
360
+ async loadNamespacesFromDisk(env, operation, context, codec, aFrameCrypto) {
361
+ const ids = operation.params.namespaces;
362
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
363
+ const records = rawBuf ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
364
+ operation.complete({
365
+ records: ids ? records.filter((r) => ids.includes(r.name)) : records
366
+ });
367
+ }
368
+ async destroyNamespacesFromDisk(env, operation, context, codec, aFrameCrypto) {
369
+ const ids = operation.params.namespaces;
370
+ const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
371
+ const records = rawBuf ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
372
+ const filtered = records.filter((r) => !ids.includes(r.aseid));
373
+ const payload = codec.encodeNamespacePayload(filtered);
374
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
375
+ await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
376
+ await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);
377
+ try {
378
+ for (const id of ids) {
379
+ await fs.unlink(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(id)));
380
+ }
381
+ operation.complete({
382
+ success: true
383
+ });
384
+ } catch (error) {
385
+ operation.fail(new A_FrameStorageError({
386
+ title: A_FrameStorageError.DestroyNamespacesFailed,
387
+ description: `Failed to destroy namespace records.`
388
+ }));
389
+ operation.complete({
390
+ success: false
391
+ });
392
+ }
393
+ }
394
+ };
395
+ __decorateClass([
396
+ A_Feature.Extend({
397
+ name: A_FrameDefinitionFeatures.Save,
398
+ scope: [A_FrameDefinition]
399
+ }),
400
+ __decorateParam(0, A_Inject(A_Caller)),
401
+ __decorateParam(1, A_Inject(A_FrameEnv)),
402
+ __decorateParam(2, A_Inject(A_FrameContext)),
403
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
404
+ __decorateParam(4, A_Inject(A_FrameCrypto))
405
+ ], A_FrameNodeStorage.prototype, "saveDefinitionToDisk", 1);
406
+ __decorateClass([
407
+ A_Feature.Extend({
408
+ name: A_FrameDefinitionFeatures.Load,
409
+ scope: [A_FrameDefinition]
410
+ }),
411
+ __decorateParam(0, A_Inject(A_Caller)),
412
+ __decorateParam(1, A_Inject(A_FrameEnv)),
413
+ __decorateParam(2, A_Inject(A_FrameContext)),
414
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
415
+ __decorateParam(4, A_Inject(A_FrameCrypto))
416
+ ], A_FrameNodeStorage.prototype, "loadDefinitionFromDisk", 1);
417
+ __decorateClass([
418
+ A_Feature.Extend({
419
+ name: A_FrameDefinitionFeatures.Destroy,
420
+ scope: [A_FrameDefinition]
421
+ }),
422
+ __decorateParam(0, A_Inject(A_Caller)),
423
+ __decorateParam(1, A_Inject(A_FrameEnv)),
424
+ __decorateParam(2, A_Inject(A_FrameContext)),
425
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
426
+ __decorateParam(4, A_Inject(A_FrameCrypto))
427
+ ], A_FrameNodeStorage.prototype, "destroyDefinitionFromDisk", 1);
428
+ __decorateClass([
429
+ A_Feature.Extend({
430
+ name: A_FrameNamespaceFeatures.Save,
431
+ scope: [A_FrameNamespace]
432
+ }),
433
+ __decorateParam(0, A_Inject(A_Caller)),
434
+ __decorateParam(1, A_Inject(A_FrameEnv)),
435
+ __decorateParam(2, A_Inject(A_FrameContext)),
436
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
437
+ __decorateParam(4, A_Inject(A_FrameCrypto))
438
+ ], A_FrameNodeStorage.prototype, "saveNamespaceToDisk", 1);
439
+ __decorateClass([
440
+ A_Feature.Extend({
441
+ name: A_FrameNamespaceFeatures.Load,
442
+ scope: [A_FrameNamespace]
443
+ }),
444
+ __decorateParam(0, A_Inject(A_Caller)),
445
+ __decorateParam(1, A_Inject(A_FrameEnv)),
446
+ __decorateParam(2, A_Inject(A_FrameContext)),
447
+ __decorateParam(3, A_Inject(A_FrameCrypto)),
448
+ __decorateParam(4, A_Inject(A_FrameStorageCodec))
449
+ ], A_FrameNodeStorage.prototype, "loadNamespaceFromDisk", 1);
450
+ __decorateClass([
451
+ A_Feature.Extend({
452
+ name: A_FrameNamespaceFeatures.Destroy,
453
+ scope: [A_FrameNamespace]
454
+ }),
455
+ __decorateParam(0, A_Inject(A_Caller)),
456
+ __decorateParam(1, A_Inject(A_FrameEnv)),
457
+ __decorateParam(2, A_Inject(A_FrameContext)),
458
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
459
+ __decorateParam(4, A_Inject(A_FrameCrypto))
460
+ ], A_FrameNodeStorage.prototype, "destroyNamespaceFromLocalFileStorage", 1);
461
+ __decorateClass([
462
+ A_Feature.Extend({
463
+ name: A_FrameStorageFeatures.SaveDefinitions,
464
+ scope: [A_FrameStorage]
465
+ }),
466
+ __decorateParam(0, A_Inject(A_FrameEnv)),
467
+ __decorateParam(1, A_Inject(A_FrameStorageOperation)),
468
+ __decorateParam(2, A_Inject(A_FrameContext)),
469
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
470
+ __decorateParam(4, A_Inject(A_FrameCrypto))
471
+ ], A_FrameNodeStorage.prototype, "saveDefinitionsToDisk", 1);
472
+ __decorateClass([
473
+ A_Feature.Extend({
474
+ name: A_FrameStorageFeatures.LoadDefinitions,
475
+ scope: [A_FrameStorage]
476
+ }),
477
+ __decorateParam(0, A_Inject(A_FrameEnv)),
478
+ __decorateParam(1, A_Inject(A_FrameStorageOperation)),
479
+ __decorateParam(2, A_Inject(A_FrameContext)),
480
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
481
+ __decorateParam(4, A_Inject(A_FrameCrypto))
482
+ ], A_FrameNodeStorage.prototype, "loadDefinitionsFromDisk", 1);
483
+ __decorateClass([
484
+ A_Feature.Extend({
485
+ name: A_FrameStorageFeatures.DestroyDefinitions,
486
+ scope: [A_FrameStorage]
487
+ }),
488
+ __decorateParam(0, A_Inject(A_FrameEnv)),
489
+ __decorateParam(1, A_Inject(A_FrameStorageOperation)),
490
+ __decorateParam(2, A_Inject(A_FrameContext)),
491
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
492
+ __decorateParam(4, A_Inject(A_FrameCrypto))
493
+ ], A_FrameNodeStorage.prototype, "destroyDefinitionsFromDisk", 1);
494
+ __decorateClass([
495
+ A_Feature.Extend({
496
+ name: A_FrameStorageFeatures.SaveNamespaces,
497
+ scope: [A_FrameStorage]
498
+ }),
499
+ __decorateParam(0, A_Inject(A_FrameEnv)),
500
+ __decorateParam(1, A_Inject(A_FrameStorageOperation)),
501
+ __decorateParam(2, A_Inject(A_FrameContext)),
502
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
503
+ __decorateParam(4, A_Inject(A_FrameCrypto))
504
+ ], A_FrameNodeStorage.prototype, "saveNamespacesToDisk", 1);
505
+ __decorateClass([
506
+ A_Feature.Extend({
507
+ name: A_FrameStorageFeatures.LoadNamespaces,
508
+ scope: [A_FrameStorage]
509
+ }),
510
+ __decorateParam(0, A_Inject(A_FrameEnv)),
511
+ __decorateParam(1, A_Inject(A_FrameStorageOperation)),
512
+ __decorateParam(2, A_Inject(A_FrameContext)),
513
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
514
+ __decorateParam(4, A_Inject(A_FrameCrypto))
515
+ ], A_FrameNodeStorage.prototype, "loadNamespacesFromDisk", 1);
516
+ __decorateClass([
517
+ A_Feature.Extend({
518
+ name: A_FrameStorageFeatures.DestroyNamespaces,
519
+ scope: [A_FrameStorage]
520
+ }),
521
+ __decorateParam(0, A_Inject(A_FrameEnv)),
522
+ __decorateParam(1, A_Inject(A_FrameStorageOperation)),
523
+ __decorateParam(2, A_Inject(A_FrameContext)),
524
+ __decorateParam(3, A_Inject(A_FrameStorageCodec)),
525
+ __decorateParam(4, A_Inject(A_FrameCrypto))
526
+ ], A_FrameNodeStorage.prototype, "destroyNamespacesFromDisk", 1);
527
+
528
+ export { A_FrameContext, A_FrameNodeStorage, A_FrameStorage, A_FrameStorageError, A_FrameStorageFeatures, A_FrameStorageOperation };
529
+ //# sourceMappingURL=chunk-HET6L5PD.mjs.map
530
+ //# sourceMappingURL=chunk-HET6L5PD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-Frame/A-Frame.context.ts","../../src/lib/A-FrameStorage/A-FrameStorage.constants.ts","../../src/lib/A-FrameStorage/A-FrameStorageOperation.context.ts","../../src/lib/A-FrameStorage/A-FrameStorage.error.ts","../../src/lib/A-FrameStorage/A-FrameStorage.component.ts","../../src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts"],"names":["A_Fragment","A_Error"],"mappings":"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","file":"chunk-HET6L5PD.mjs","sourcesContent":["import { A_Fragment } from \"@adaas/a-concept\"\nimport { A_FrameChannelRequest } from \"../A-FrameChannel/A-FrameChannelRequest.context\";\nimport { A_Frame_CredentialResponse } from \"../A-FrameChannel/A-FrameChannel.types\";\nimport { A_FrameCredentials } from \"../A-FrameCredentials/A-FrameCredentials.entity\";\n\n\nexport class A_FrameContext extends A_Fragment {\n\n private _credentials?: A_FrameCredentials;\n\n\n constructor() {\n super({ name: 'a-frame-context' });\n }\n\n\n get encryptionKey(): string | undefined {\n return this._credentials?.encryptionKey;\n }\n\n\n get serverVersion(): string | undefined {\n return this._credentials?.serverVersion;\n }\n\n\n isAuthenticated(): boolean {\n return !!this._credentials?.isAuthenticated;\n }\n\n\n setCredentials(credentialsRequest: A_FrameChannelRequest<A_Frame_CredentialResponse>) {\n if (credentialsRequest.error || !credentialsRequest.response) {\n this._credentials = undefined;\n return;\n }\n\n this._credentials = new A_FrameCredentials(credentialsRequest.response);\n }\n\n}","\n\nexport const A_FrameStorageFeatures = {\n SaveDefinitions: '_A_FRAME_STORAGE_SAVE',\n LoadDefinitions: '_A_FRAME_STORAGE_LOAD',\n DestroyDefinitions: '_A_FRAME_STORAGE_DESTROY',\n \n SaveNamespaces: '_A_FRAME_STORAGE_SAVE_NAMESPACES',\n LoadNamespaces: '_A_FRAME_STORAGE_LOAD_NAMESPACES',\n DestroyNamespaces: '_A_FRAME_STORAGE_DESTROY_NAMESPACES',\n} as const","import { A_Error, A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameStorageOperation<\n _ParamsType = any,\n _ResultType = any\n> extends A_Fragment {\n\n protected _result?: _ResultType;\n\n protected _error?: A_Error;\n\n protected _params!: _ParamsType;\n\n\n constructor(\n params: _ParamsType\n ) {\n super({ name: 'a-frame-storage-operation' });\n this._params = params;\n }\n\n\n /**\n * If the operation succeeded, this will contain the result data. If the operation failed, this will be undefined.\n */\n get result(): _ResultType | undefined {\n return this._result;\n }\n /**\n * If the operation failed, this will contain an error object with details about the failure. If the operation succeeded, this will be undefined.\n */\n get error(): A_Error | undefined {\n return this._error;\n }\n /**\n * Parameters used to execute the operation, e.g. definitionId and namespaceId for a saveDefinition operation.\n */\n get params(): _ParamsType {\n return this._params;\n }\n /**\n * Marks the operation as completed successfully with the given result. This will set the `result` property and leave `error` as undefined.\n * \n * @param result \n */\n complete(result: _ResultType): void {\n this._result = result;\n }\n /**\n * Marks the operation as failed with the given error. This will set the `error` property and leave `result` as undefined.\n * \n * @param error \n */\n fail(error: A_Error): void {\n this._error = error;\n }\n\n}\n","import { A_Error } from \"@adaas/a-concept\";\n\n\n\nexport class A_FrameStorageError extends A_Error {\n static readonly SaveDefinitionFailed = 'SaveDefinitionFailed';\n static readonly LoadDefinitionsFailed = 'LoadDefinitionsFailed';\n static readonly DestroyDefinitionsFailed = 'DestroyDefinitionsFailed';\n static readonly SaveNamespaceFailed = 'SaveNamespaceFailed';\n static readonly LoadNamespacesFailed = 'LoadNamespacesFailed';\n static readonly DestroyNamespacesFailed = 'DestroyNamespacesFailed';\n\n}","import { A_Component, A_Context, A_Scope } from '@adaas/a-concept';\nimport { A_FrameNamespace_Serialized } from '../A-FrameNamespace/A-FrameNamespace.types';\nimport { A_FrameStorageFeatures } from './A-FrameStorage.constants';\nimport { A_FrameStorageOperation } from './A-FrameStorageOperation.context';\nimport { A_FrameStorageError } from './A-FrameStorage.error';\nimport { A_FrameStorageDestroyDefinitionsOperation, A_FrameStorageDestroyDefinitionsOperationParams, A_FrameStorageDestroyDefinitionsOperationResult, A_FrameStorageDestroyNamespacesOperation, A_FrameStorageDestroyNamespacesOperationParams, A_FrameStorageDestroyNamespacesOperationResult, A_FrameStorageLoadDefinitionsOperation, A_FrameStorageLoadDefinitionsOperationParams, A_FrameStorageLoadDefinitionsOperationResult, A_FrameStorageLoadNamespacesOperation, A_FrameStorageLoadNamespacesOperationParams, A_FrameStorageLoadNamespacesOperationResult, A_FrameStorageSaveDefinitionOperation, A_FrameStorageSaveDefinitionOperationParams, A_FrameStorageSaveDefinitionOperationResult, A_FrameStorageSaveNamespaceOperation, A_FrameStorageSaveNamespaceOperationParams, A_FrameStorageSaveNamespaceOperationResult } from './A-FrameStorage.types';\nimport { A_FrameDefinition_Serialized } from '../A-FrameDefinition/A-FrameDefinition.types';\n\n\nexport class A_FrameStorage extends A_Component {\n\n async saveDefinitions(definitions: Array<A_FrameDefinition_Serialized>): Promise<A_FrameStorageSaveDefinitionOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageSaveDefinitionOperationParams, A_FrameStorageSaveDefinitionOperationResult>({\n records: definitions\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.saveDefinitions',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.SaveDefinitions, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.SaveDefinitionFailed,\n description: `Failed to save definition records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n async loadDefinitions(namespaceId: string, definitionId: string): Promise<A_FrameStorageLoadDefinitionsOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageLoadDefinitionsOperationParams, A_FrameStorageLoadDefinitionsOperationResult>({\n namespaceId,\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.loadDefinitions',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.LoadDefinitions, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.LoadDefinitionsFailed,\n description: `Failed to load definition records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n\n async destroyDefinitions(namespaceId: string, definitionId: string): Promise<A_FrameStorageDestroyDefinitionsOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageDestroyDefinitionsOperationParams, A_FrameStorageDestroyDefinitionsOperationResult>({\n namespaceId,\n definitionId\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.destroyDefinitions',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.DestroyDefinitions, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.DestroyDefinitionsFailed,\n description: `Failed to destroy definition records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n\n\n async saveNamespaces(namespaces: A_FrameNamespace_Serialized[]): Promise<A_FrameStorageSaveNamespaceOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageSaveNamespaceOperationParams, A_FrameStorageSaveNamespaceOperationResult>({\n records: namespaces\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.saveNamespaces',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.SaveNamespaces, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.SaveNamespaceFailed,\n description: `Failed to save namespace records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n async loadNamespaces(\n namespaceIds: string[]\n ): Promise<A_FrameStorageLoadNamespacesOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageLoadNamespacesOperationParams, A_FrameStorageLoadNamespacesOperationResult>({\n namespaces: namespaceIds\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.loadNamespaces',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.LoadNamespaces, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.LoadNamespacesFailed,\n description: `Failed to load namespace records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n async destroyNamespaces(namespacesIds: string[]): Promise<A_FrameStorageDestroyNamespacesOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageDestroyNamespacesOperationParams, A_FrameStorageDestroyNamespacesOperationResult>({\n namespaces: namespacesIds\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.destroyNamespaces',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.DestroyNamespaces, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.DestroyNamespacesFailed,\n description: `Failed to destroy namespace records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n}\n","import { A_Caller, A_Feature, A_Inject } from \"@adaas/a-concept\";\nimport fs from 'node:fs/promises';\nimport path from 'node:path';\nimport { A_FrameStorageFeatures } from \"../A-FrameStorage.constants\";\nimport { A_FrameStorage } from \"../A-FrameStorage.component\";\nimport { A_FrameEnv } from \"../../A-FrameEnv/A-FrameEnv.fragment.env-node\";\nimport { A_FrameStorageOperation } from \"../A-FrameStorageOperation.context\";\nimport { A_FrameCrypto } from \"../../A-FrameCrypto/A-FrameCrypto.component.env-node\";\nimport { A_FrameNamespace_Serialized } from \"../../A-FrameNamespace/A-FrameNamespace.types\";\nimport { A_FrameStorageCodec } from \"../A-FrameStorage.codec\";\nimport { A_FrameDefinitionFeatures } from \"../../A-FrameDefinition/A-FrameDefinition.constants\";\nimport { A_FrameDefinition } from \"../../A-FrameDefinition\";\nimport { A_FrameDefinition_Serialized } from \"../../A-FrameDefinition/A-FrameDefinition.types\";\nimport { A_FrameContext } from \"../../A-Frame/A-Frame.context\";\nimport { A_FrameNamespace } from \"../../A-FrameNamespace\";\nimport { A_FrameNamespaceFeatures } from \"../../A-FrameNamespace/A-FrameNamespace.constants\";\nimport { A_FrameStorageDestroyDefinitionsOperation, A_FrameStorageDestroyNamespacesOperation, A_FrameStorageLoadDefinitionsOperation, A_FrameStorageLoadNamespacesOperation, A_FrameStorageSaveDefinitionOperation, A_FrameStorageSaveNamespaceOperation } from \"../A-FrameStorage.types\";\nimport { A_FrameStorageError } from \"../A-FrameStorage.error\";\n\n\n/** Reserved filename for the namespace binary index */\n\n/**\n * A_FrameStorageProvider — Node.js environment\n *\n * Reads and writes encrypted binary index files (*.bin) on the local filesystem.\n * Definition records are grouped by namespace into <namespace>.bin files.\n * Namespace records are stored in the reserved __namespaces.bin file.\n *\n * File layout on disk: [IV 12B][AuthTag 16B][Ciphertext ...]\n */\nexport class A_FrameNodeStorage extends A_FrameStorage {\n\n /** Returns file contents, or null when the file does not exist yet. Re-throws all other I/O errors. */\n private async tryReadFile(filePath: string): Promise<Buffer | null> {\n try {\n return await fs.readFile(filePath);\n } catch (err: any) {\n if (err?.code === 'ENOENT') return null;\n throw err;\n }\n }\n\n //---------------------------------------------------------------------------------------\n //--------------------------Definition Features Extensions-------------------------------\n //---------------------------------------------------------------------------------------\n /**\n * Save a single definition to local file storage. This is called as part of A_FrameDefinition.save() when using the local file storage provider. It reads the existing namespace file, merges in the new or updated definition, and writes back the encrypted file.\n * \n * @param definition \n * @param env \n * @param context \n * @param codec \n */\n @A_Feature.Extend({\n name: A_FrameDefinitionFeatures.Save,\n scope: [A_FrameDefinition]\n })\n async saveDefinitionToDisk(\n @A_Inject(A_Caller) definition: A_FrameDefinition,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const namespace = definition.namespace\n\n const incoming = definition.toJSON();\n if (!incoming.embedding)\n throw new Error('Only definitions with embeddings can be saved to storage');\n\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace.id)));\n const existing: A_FrameDefinition_Serialized[] = rawBuf\n ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!))\n : [];\n\n const merged = new Map<string, A_FrameDefinition_Serialized>();\n for (const r of existing) merged.set(r.hash, r);\n merged.set(incoming.hash, incoming);\n\n const records = Array.from(merged.values());\n const payload = codec.encodePayload(records);\n const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey!);\n\n await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });\n await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace.id)), encrypted);\n }\n /**\n * Load a single definition from local file storage. This is called as part of A_FrameDefinition.load() when using the local file storage provider. It reads the namespace file, finds the record for the requested definition, and if found and hash matches, populates the definition with the stored data.\n */\n @A_Feature.Extend({\n name: A_FrameDefinitionFeatures.Load,\n scope: [A_FrameDefinition]\n })\n async loadDefinitionFromDisk(\n @A_Inject(A_Caller) definition: A_FrameDefinition,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(definition.namespace.id)));\n if (!rawBuf) return;\n\n const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!);\n const records = codec.decodePayload(plain);\n\n const record = records.find(r => r.aseid === definition.aseid.toString());\n\n if (\n record &&\n record.hash === definition.hash &&\n record.aFrameServerVersion === context.serverVersion\n ) {\n definition.fromJSON(record);\n }\n\n\n }\n /**\n * Delete a single definition from local file storage. This is called as part of A_FrameDefinition.destroy() when using the local file storage provider. It reads the namespace file, removes the record for the requested definition, and writes back the encrypted file.\n * \n * @param definition \n * @param env \n * @param context \n * @param codec \n */\n @A_Feature.Extend({\n name: A_FrameDefinitionFeatures.Destroy,\n scope: [A_FrameDefinition]\n })\n async destroyDefinitionFromDisk(\n @A_Inject(A_Caller) definition: A_FrameDefinition,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n\n ): Promise<void> {\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(definition.namespace.id)));\n if (!rawBuf) return;\n\n const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!);\n const records = codec.decodePayload(plain);\n\n const filtered = records.filter(r => r.aseid !== definition.aseid.toString());\n\n const payload = codec.encodePayload(filtered);\n const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey!);\n\n await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });\n await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(definition.namespace.id)), encrypted);\n }\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Namespaces Features Extensions-------------------------------\n //---------------------------------------------------------------------------------------\n\n @A_Feature.Extend({\n name: A_FrameNamespaceFeatures.Save,\n scope: [A_FrameNamespace]\n })\n async saveNamespaceToDisk(\n @A_Inject(A_Caller) namespace: A_FrameNamespace,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const incoming = namespace.toJSON();\n\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));\n const existing: A_FrameNamespace_Serialized[] = rawBuf\n ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!))\n : [];\n\n const merged = new Map<string, A_FrameNamespace_Serialized>();\n for (const r of existing) merged.set(r.aseid, r);\n merged.set(incoming.aseid.toString(), incoming);\n\n const records = Array.from(merged.values());\n const payload = codec.encodeNamespacePayload(records);\n\n const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey!);\n\n await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });\n await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);\n }\n\n @A_Feature.Extend({\n name: A_FrameNamespaceFeatures.Load,\n scope: [A_FrameNamespace]\n })\n async loadNamespaceFromDisk(\n @A_Inject(A_Caller) namespace: A_FrameNamespace,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n ): Promise<void> {\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));\n if (!rawBuf) return;\n\n const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!);\n const records = codec.decodeNamespacePayload(plain);\n\n const record = records.find(r => r.aseid === namespace.aseid.toString());\n\n if (\n record &&\n record.hash === namespace.hash &&\n record.aFrameServerVersion === context.serverVersion\n ) {\n namespace.fromJSON(record);\n }\n }\n\n @A_Feature.Extend({\n name: A_FrameNamespaceFeatures.Destroy,\n scope: [A_FrameNamespace]\n })\n async destroyNamespaceFromLocalFileStorage(\n @A_Inject(A_Caller) namespace: A_FrameNamespace,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));\n if (!rawBuf) return;\n\n const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!);\n const records = codec.decodeNamespacePayload(plain);\n\n const filtered = records.filter(r => r.aseid !== namespace.aseid.toString());\n\n const payload = codec.encodeNamespacePayload(filtered);\n const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey!);\n\n await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });\n await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);\n\n /**\n * 2. Then drop definitions file related to the namespace.\n */\n try {\n await fs.unlink(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace.id)));\n } catch {\n // no-op if file doesn't exist\n }\n }\n\n\n\n\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Storage Features Extensions-------------------------------\n //---------------------------------------------------------------------------------------\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.SaveDefinitions,\n scope: [A_FrameStorage]\n })\n async saveDefinitionsToDisk(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageSaveDefinitionOperation,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const records = operation.params.records;\n const namespace = records[0].namespace;\n\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)));\n const existing: A_FrameDefinition_Serialized[] = rawBuf\n ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!))\n : [];\n\n const merged = new Map<string, A_FrameDefinition_Serialized>();\n for (const r of existing) merged.set(r.hash, r);\n for (const d of records) merged.set(d.hash, d);\n\n const result = Array.from(merged.values());\n const payload = codec.encodePayload(result);\n const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey!);\n\n await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });\n await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)), encrypted);\n\n operation.complete({\n saved: records.length\n });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.LoadDefinitions,\n scope: [A_FrameStorage]\n })\n async loadDefinitionsFromDisk(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageLoadDefinitionsOperation,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const namespace = operation.params.namespaceId;\n\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)));\n const records: A_FrameDefinition_Serialized[] = rawBuf\n ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!))\n : [];\n\n operation.complete({\n records\n });\n }\n\n\n\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.DestroyDefinitions,\n scope: [A_FrameStorage]\n })\n async destroyDefinitionsFromDisk(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageDestroyDefinitionsOperation,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const namespace = operation.params.namespaceId;\n const definitionId = operation.params.definitionId;\n\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)));\n const records: A_FrameDefinition_Serialized[] = rawBuf\n ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!))\n : [];\n\n const filtered = records.filter(r => r.aseid !== definitionId);\n\n const payload = codec.encodePayload(filtered);\n const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey!);\n\n await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });\n await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)), encrypted);\n\n operation.complete({\n records: filtered\n });\n }\n\n\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.SaveNamespaces,\n scope: [A_FrameStorage]\n })\n async saveNamespacesToDisk(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageSaveNamespaceOperation,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const records = operation.params.records;\n\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));\n const existing: A_FrameNamespace_Serialized[] = rawBuf\n ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!))\n : [];\n\n const merged = new Map<string, A_FrameNamespace_Serialized>();\n for (const r of existing) merged.set(r.aseid, r);\n for (const d of records) merged.set(d.aseid.toString(), d);\n\n const result = Array.from(merged.values());\n const payload = codec.encodeNamespacePayload(result);\n\n const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey!);\n\n await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });\n await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);\n\n operation.complete({\n success: true\n });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.LoadNamespaces,\n scope: [A_FrameStorage]\n })\n async loadNamespacesFromDisk(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageLoadNamespacesOperation,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const ids = operation.params.namespaces;\n\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));\n const records: A_FrameNamespace_Serialized[] = rawBuf\n ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!))\n : [];\n\n operation.complete({\n records: ids ? records.filter(r => ids.includes(r.name)) : records\n });\n }\n\n\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.DestroyNamespaces,\n scope: [A_FrameStorage]\n })\n async destroyNamespacesFromDisk(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageDestroyNamespacesOperation,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameCrypto) aFrameCrypto: A_FrameCrypto,\n ): Promise<void> {\n const ids = operation.params.namespaces;\n\n const rawBuf = await this.tryReadFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));\n const records: A_FrameNamespace_Serialized[] = rawBuf\n ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey!))\n : [];\n\n const filtered = records.filter(r => !ids.includes(r.aseid));\n\n const payload = codec.encodeNamespacePayload(filtered);\n const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey!);\n\n await fs.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });\n await fs.writeFile(path.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);\n\n /**\n * 2. Then drop definitions file related to the namespace.\n */\n try {\n for (const id of ids) {\n await fs.unlink(path.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(id)));\n }\n operation.complete({\n success: true\n });\n } catch (error) {\n\n operation.fail(new A_FrameStorageError({\n title: A_FrameStorageError.DestroyNamespacesFailed,\n description: `Failed to destroy namespace records.`,\n }));\n\n operation.complete({\n success: false\n });\n }\n }\n\n}\n"]}