@adaas/a-frame 0.0.22 → 0.0.23

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 (359) hide show
  1. package/.conf/tsconfig.browser.json +13 -0
  2. package/.conf/tsconfig.node.json +14 -0
  3. package/.env.example +12 -0
  4. package/dist/browser/A-FrameBrowserStorageBlobs.context-OEQr85oq.d.mts +40 -0
  5. package/dist/browser/A-FrameBundle.types-DaaUvViw.d.mts +33 -0
  6. package/dist/browser/A-FrameChannel.types-DWOEUs28.d.mts +142 -0
  7. package/dist/browser/A-FrameDefinition.entity-DWGN_Ujr.d.mts +329 -0
  8. package/dist/browser/A-FrameDynamicStructure.entity-DaBgSRCR.d.mts +188 -0
  9. package/dist/browser/A-FrameLogger.component.env-browser-BIPAP4oQ.d.mts +112 -0
  10. package/dist/browser/A-FrameNamespace.entity-rCm1AavP.d.mts +125 -0
  11. package/dist/browser/bundle.d.mts +8 -0
  12. package/dist/browser/bundle.mjs +2 -0
  13. package/dist/browser/bundle.mjs.map +1 -0
  14. package/dist/browser/channel.d.mts +165 -0
  15. package/dist/browser/channel.mjs +3 -0
  16. package/dist/browser/channel.mjs.map +1 -0
  17. package/dist/browser/chunk-5TTVFB3G.mjs +2 -0
  18. package/dist/browser/chunk-5TTVFB3G.mjs.map +1 -0
  19. package/dist/browser/chunk-AYN7KUQT.mjs +3 -0
  20. package/dist/browser/chunk-AYN7KUQT.mjs.map +1 -0
  21. package/dist/browser/chunk-DMGQW3AO.mjs +2 -0
  22. package/dist/browser/chunk-DMGQW3AO.mjs.map +1 -0
  23. package/dist/browser/chunk-G66IL2DR.mjs +2 -0
  24. package/dist/browser/chunk-G66IL2DR.mjs.map +1 -0
  25. package/dist/browser/chunk-H6OZP4ZV.mjs +2 -0
  26. package/dist/browser/chunk-H6OZP4ZV.mjs.map +1 -0
  27. package/dist/browser/chunk-INS7RO3B.mjs +2 -0
  28. package/dist/browser/chunk-INS7RO3B.mjs.map +1 -0
  29. package/dist/browser/chunk-K4MZY4ME.mjs +2 -0
  30. package/dist/browser/chunk-K4MZY4ME.mjs.map +1 -0
  31. package/dist/browser/chunk-OFKV5GNB.mjs +3 -0
  32. package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -0
  33. package/dist/browser/chunk-QATIN7CO.mjs +3 -0
  34. package/dist/browser/chunk-QATIN7CO.mjs.map +1 -0
  35. package/dist/browser/chunk-QBBQ37P3.mjs +2 -0
  36. package/dist/browser/chunk-QBBQ37P3.mjs.map +1 -0
  37. package/dist/browser/chunk-VDVJWU5T.mjs +2 -0
  38. package/dist/browser/chunk-VDVJWU5T.mjs.map +1 -0
  39. package/dist/browser/chunk-X3C4I6YJ.mjs +2 -0
  40. package/dist/browser/chunk-X3C4I6YJ.mjs.map +1 -0
  41. package/dist/browser/chunk-ZVCTU2DN.mjs +3 -0
  42. package/dist/browser/chunk-ZVCTU2DN.mjs.map +1 -0
  43. package/dist/browser/core.d.mts +97 -0
  44. package/dist/browser/core.mjs +2 -0
  45. package/dist/browser/core.mjs.map +1 -0
  46. package/dist/browser/crypto.d.mts +35 -0
  47. package/dist/browser/crypto.mjs +2 -0
  48. package/dist/browser/crypto.mjs.map +1 -0
  49. package/dist/browser/definition.d.mts +13 -0
  50. package/dist/browser/definition.mjs +2 -0
  51. package/dist/browser/definition.mjs.map +1 -0
  52. package/dist/browser/dynamic-feature.d.mts +10 -0
  53. package/dist/browser/dynamic-feature.mjs +2 -0
  54. package/dist/browser/dynamic-feature.mjs.map +1 -0
  55. package/dist/browser/dynamic-structure.d.mts +12 -0
  56. package/dist/browser/dynamic-structure.mjs +2 -0
  57. package/dist/browser/dynamic-structure.mjs.map +1 -0
  58. package/dist/browser/env.d.mts +2 -0
  59. package/dist/browser/env.mjs +2 -0
  60. package/dist/browser/env.mjs.map +1 -0
  61. package/dist/browser/frame-index.d.mts +95 -0
  62. package/dist/browser/frame-index.mjs +2 -0
  63. package/dist/browser/frame-index.mjs.map +1 -0
  64. package/dist/browser/index.browser-CZlhzfSP.d.mts +22 -0
  65. package/dist/browser/index.d.mts +1 -144
  66. package/dist/browser/index.mjs +1 -1
  67. package/dist/browser/index.mjs.map +1 -1
  68. package/dist/browser/logger.d.mts +41 -0
  69. package/dist/browser/logger.mjs +2 -0
  70. package/dist/browser/logger.mjs.map +1 -0
  71. package/dist/browser/namespace.d.mts +13 -0
  72. package/dist/browser/namespace.mjs +2 -0
  73. package/dist/browser/namespace.mjs.map +1 -0
  74. package/dist/browser/storage.d.mts +194 -0
  75. package/dist/browser/storage.mjs +2 -0
  76. package/dist/browser/storage.mjs.map +1 -0
  77. package/dist/browser/vector.d.mts +15 -0
  78. package/dist/browser/vector.mjs +2 -0
  79. package/dist/browser/vector.mjs.map +1 -0
  80. package/dist/index.cjs +0 -0
  81. package/dist/node/A-FrameChannel.component-BfBcs734.d.ts +62 -0
  82. package/dist/node/A-FrameChannel.component-NNKcFViw.d.mts +62 -0
  83. package/dist/node/A-FrameChannel.types-DQF-IiRq.d.mts +146 -0
  84. package/dist/node/A-FrameChannel.types-DQF-IiRq.d.ts +146 -0
  85. package/dist/node/A-FrameDefinition.entity-CAUOdEvU.d.ts +329 -0
  86. package/dist/node/A-FrameDefinition.entity-DWGN_Ujr.d.mts +329 -0
  87. package/dist/node/A-FrameDynamicStructure.entity-DaBgSRCR.d.mts +188 -0
  88. package/dist/node/A-FrameDynamicStructure.entity-DaBgSRCR.d.ts +188 -0
  89. package/dist/node/A-FrameNamespace.entity-D3fZBGDx.d.ts +125 -0
  90. package/dist/node/A-FrameNamespace.entity-rCm1AavP.d.mts +125 -0
  91. package/dist/node/A-FrameStorage.component-BYjHfHJJ.d.mts +107 -0
  92. package/dist/node/A-FrameStorage.component-CT01fs-t.d.ts +107 -0
  93. package/dist/node/bundle.cjs +101 -0
  94. package/dist/node/bundle.cjs.map +1 -0
  95. package/dist/node/bundle.d.mts +69 -0
  96. package/dist/node/bundle.d.ts +69 -0
  97. package/dist/node/bundle.mjs +76 -0
  98. package/dist/node/bundle.mjs.map +1 -0
  99. package/dist/node/channel.cjs +60 -0
  100. package/dist/node/channel.cjs.map +1 -0
  101. package/dist/node/channel.d.mts +61 -0
  102. package/dist/node/channel.d.ts +61 -0
  103. package/dist/node/channel.mjs +11 -0
  104. package/dist/node/channel.mjs.map +1 -0
  105. package/dist/node/chunk-3LOMGNWA.cjs +8 -0
  106. package/dist/node/chunk-3LOMGNWA.cjs.map +1 -0
  107. package/dist/node/chunk-3ONWH75E.mjs +257 -0
  108. package/dist/node/chunk-3ONWH75E.mjs.map +1 -0
  109. package/dist/node/chunk-3TD2PEDZ.mjs +53 -0
  110. package/dist/node/chunk-3TD2PEDZ.mjs.map +1 -0
  111. package/dist/node/chunk-442DXGOD.mjs +16 -0
  112. package/dist/node/chunk-442DXGOD.mjs.map +1 -0
  113. package/dist/node/chunk-6EFXNUL4.mjs +6 -0
  114. package/dist/node/chunk-6EFXNUL4.mjs.map +1 -0
  115. package/dist/node/chunk-7A6XGT5J.cjs +541 -0
  116. package/dist/node/chunk-7A6XGT5J.cjs.map +1 -0
  117. package/dist/node/chunk-AOQRXZPC.mjs +207 -0
  118. package/dist/node/chunk-AOQRXZPC.mjs.map +1 -0
  119. package/dist/node/chunk-APRYHBEF.mjs +171 -0
  120. package/dist/node/chunk-APRYHBEF.mjs.map +1 -0
  121. package/dist/node/chunk-B7BXP7K4.mjs +253 -0
  122. package/dist/node/chunk-B7BXP7K4.mjs.map +1 -0
  123. package/dist/node/chunk-B7ZDJXD3.cjs +35 -0
  124. package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -0
  125. package/dist/node/chunk-CP6JHUU6.cjs +541 -0
  126. package/dist/node/chunk-CP6JHUU6.cjs.map +1 -0
  127. package/dist/node/chunk-DDCEMKBP.mjs +655 -0
  128. package/dist/node/chunk-DDCEMKBP.mjs.map +1 -0
  129. package/dist/node/chunk-DMY44VUG.mjs +655 -0
  130. package/dist/node/chunk-DMY44VUG.mjs.map +1 -0
  131. package/dist/node/chunk-F4UCOZW5.mjs +33 -0
  132. package/dist/node/chunk-F4UCOZW5.mjs.map +1 -0
  133. package/dist/node/chunk-GBTFMT3K.cjs +256 -0
  134. package/dist/node/chunk-GBTFMT3K.cjs.map +1 -0
  135. package/dist/node/chunk-GNVXVK2B.cjs +8 -0
  136. package/dist/node/chunk-GNVXVK2B.cjs.map +1 -0
  137. package/dist/node/chunk-IIVYTS5M.mjs +239 -0
  138. package/dist/node/chunk-IIVYTS5M.mjs.map +1 -0
  139. package/dist/node/chunk-JQBYDEMW.mjs +33 -0
  140. package/dist/node/chunk-JQBYDEMW.mjs.map +1 -0
  141. package/dist/node/chunk-K4MZY4ME.mjs +3 -0
  142. package/dist/node/chunk-K4MZY4ME.mjs.map +1 -0
  143. package/dist/node/chunk-KK64VLZN.cjs +4 -0
  144. package/dist/node/chunk-KK64VLZN.cjs.map +1 -0
  145. package/dist/node/chunk-KLG6HKFU.cjs +175 -0
  146. package/dist/node/chunk-KLG6HKFU.cjs.map +1 -0
  147. package/dist/node/chunk-LJIZ47HO.cjs +688 -0
  148. package/dist/node/chunk-LJIZ47HO.cjs.map +1 -0
  149. package/dist/node/chunk-NIXKAQVP.cjs +35 -0
  150. package/dist/node/chunk-NIXKAQVP.cjs.map +1 -0
  151. package/dist/node/chunk-OI76LHVT.mjs +21 -0
  152. package/dist/node/chunk-OI76LHVT.mjs.map +1 -0
  153. package/dist/node/chunk-OJGCQNAH.mjs +529 -0
  154. package/dist/node/chunk-OJGCQNAH.mjs.map +1 -0
  155. package/dist/node/chunk-QFHZIG7Y.cjs +25 -0
  156. package/dist/node/chunk-QFHZIG7Y.cjs.map +1 -0
  157. package/dist/node/chunk-QFUZVN4Y.cjs +259 -0
  158. package/dist/node/chunk-QFUZVN4Y.cjs.map +1 -0
  159. package/dist/node/chunk-RRLTGGM7.cjs +209 -0
  160. package/dist/node/chunk-RRLTGGM7.cjs.map +1 -0
  161. package/dist/node/chunk-TO4BPKCY.mjs +6 -0
  162. package/dist/node/chunk-TO4BPKCY.mjs.map +1 -0
  163. package/dist/node/chunk-UKKCN7CQ.cjs +688 -0
  164. package/dist/node/chunk-UKKCN7CQ.cjs.map +1 -0
  165. package/dist/node/chunk-UPA7VN4R.mjs +153 -0
  166. package/dist/node/chunk-UPA7VN4R.mjs.map +1 -0
  167. package/dist/node/chunk-UTJ7CVVB.cjs +248 -0
  168. package/dist/node/chunk-UTJ7CVVB.cjs.map +1 -0
  169. package/dist/node/chunk-YVX4W6SI.cjs +155 -0
  170. package/dist/node/chunk-YVX4W6SI.cjs.map +1 -0
  171. package/dist/node/chunk-YWWGJ6EJ.cjs +55 -0
  172. package/dist/node/chunk-YWWGJ6EJ.cjs.map +1 -0
  173. package/dist/node/chunk-Z4HUCRK2.mjs +529 -0
  174. package/dist/node/chunk-Z4HUCRK2.mjs.map +1 -0
  175. package/dist/node/chunk-ZM2RLVVH.cjs +18 -0
  176. package/dist/node/chunk-ZM2RLVVH.cjs.map +1 -0
  177. package/dist/node/core.cjs +261 -0
  178. package/dist/node/core.cjs.map +1 -0
  179. package/dist/node/core.d.mts +76 -0
  180. package/dist/node/core.d.ts +76 -0
  181. package/dist/node/core.mjs +250 -0
  182. package/dist/node/core.mjs.map +1 -0
  183. package/dist/node/crypto.cjs +13 -0
  184. package/dist/node/crypto.cjs.map +1 -0
  185. package/dist/node/crypto.d.mts +44 -0
  186. package/dist/node/crypto.d.ts +44 -0
  187. package/dist/node/crypto.mjs +4 -0
  188. package/dist/node/crypto.mjs.map +1 -0
  189. package/dist/node/definition.cjs +19 -0
  190. package/dist/node/definition.cjs.map +1 -0
  191. package/dist/node/definition.d.mts +13 -0
  192. package/dist/node/definition.d.ts +13 -0
  193. package/dist/node/definition.mjs +6 -0
  194. package/dist/node/definition.mjs.map +1 -0
  195. package/dist/node/dynamic-feature.cjs +14 -0
  196. package/dist/node/dynamic-feature.cjs.map +1 -0
  197. package/dist/node/dynamic-feature.d.mts +10 -0
  198. package/dist/node/dynamic-feature.d.ts +10 -0
  199. package/dist/node/dynamic-feature.mjs +12 -0
  200. package/dist/node/dynamic-feature.mjs.map +1 -0
  201. package/dist/node/dynamic-structure.cjs +143 -0
  202. package/dist/node/dynamic-structure.cjs.map +1 -0
  203. package/dist/node/dynamic-structure.d.mts +12 -0
  204. package/dist/node/dynamic-structure.d.ts +12 -0
  205. package/dist/node/dynamic-structure.mjs +138 -0
  206. package/dist/node/dynamic-structure.mjs.map +1 -0
  207. package/dist/node/env.cjs +14 -0
  208. package/dist/node/env.cjs.map +1 -0
  209. package/dist/node/env.d.mts +22 -0
  210. package/dist/node/env.d.ts +22 -0
  211. package/dist/node/env.mjs +5 -0
  212. package/dist/node/env.mjs.map +1 -0
  213. package/dist/node/frame-index.cjs +16 -0
  214. package/dist/node/frame-index.cjs.map +1 -0
  215. package/dist/node/frame-index.d.mts +95 -0
  216. package/dist/node/frame-index.d.ts +95 -0
  217. package/dist/node/frame-index.mjs +7 -0
  218. package/dist/node/frame-index.mjs.map +1 -0
  219. package/dist/node/index.cjs +0 -288
  220. package/dist/node/index.cjs.map +1 -1
  221. package/dist/node/index.d.mts +1 -144
  222. package/dist/node/index.d.ts +1 -144
  223. package/dist/node/index.mjs +0 -284
  224. package/dist/node/index.mjs.map +1 -1
  225. package/dist/node/logger.cjs +41 -0
  226. package/dist/node/logger.cjs.map +1 -0
  227. package/dist/node/logger.d.mts +150 -0
  228. package/dist/node/logger.d.ts +150 -0
  229. package/dist/node/logger.mjs +4 -0
  230. package/dist/node/logger.mjs.map +1 -0
  231. package/dist/node/namespace.cjs +24 -0
  232. package/dist/node/namespace.cjs.map +1 -0
  233. package/dist/node/namespace.d.mts +13 -0
  234. package/dist/node/namespace.d.ts +13 -0
  235. package/dist/node/namespace.mjs +7 -0
  236. package/dist/node/namespace.mjs.map +1 -0
  237. package/dist/node/storage.cjs +42 -0
  238. package/dist/node/storage.cjs.map +1 -0
  239. package/dist/node/storage.d.mts +110 -0
  240. package/dist/node/storage.d.ts +110 -0
  241. package/dist/node/storage.mjs +13 -0
  242. package/dist/node/storage.mjs.map +1 -0
  243. package/dist/node/vector.cjs +13 -0
  244. package/dist/node/vector.cjs.map +1 -0
  245. package/dist/node/vector.d.mts +15 -0
  246. package/dist/node/vector.d.ts +15 -0
  247. package/dist/node/vector.mjs +4 -0
  248. package/dist/node/vector.mjs.map +1 -0
  249. package/jest.config.browser.ts +41 -0
  250. package/jest.config.ts +18 -8
  251. package/package.json +125 -13
  252. package/{index.ts → src/concept.ts} +5 -2
  253. package/src/helpers/Hash.helper.ts +14 -0
  254. package/src/index.ts +0 -24
  255. package/src/lib/A-Frame/A-Frame.component.env-browser.ts +124 -0
  256. package/src/lib/A-Frame/A-Frame.component.env-node.ts +106 -0
  257. package/src/lib/A-Frame/A-Frame.component.ts +62 -0
  258. package/src/lib/A-Frame/A-Frame.context.ts +40 -0
  259. package/src/lib/{components/Index.component.ts/Index.error.ts → A-Frame/A-Frame.error.ts} +1 -1
  260. package/src/lib/{components/Index.component.ts/Index.guard.ts → A-Frame/A-Frame.guard.ts} +9 -6
  261. package/src/lib/A-Frame/A-Frame.meta.ts +27 -0
  262. package/src/lib/{components/Index.component.ts/Index.types.ts → A-Frame/A-Frame.types.ts} +52 -17
  263. package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +104 -0
  264. package/src/lib/A-Frame/decorators/A-FrameNamespace.decorator.ts +33 -0
  265. package/src/lib/A-Frame/index.browser.ts +10 -0
  266. package/src/lib/A-Frame/index.ts +10 -0
  267. package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -0
  268. package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +5 -0
  269. package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +31 -0
  270. package/src/lib/A-FrameBundle/index.browser.ts +6 -0
  271. package/src/lib/A-FrameBundle/index.ts +7 -0
  272. package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +333 -0
  273. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +63 -0
  274. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +586 -0
  275. package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +273 -0
  276. package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +39 -0
  277. package/src/lib/A-FrameChannel/A-FrameChannel.error.ts +10 -0
  278. package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +143 -0
  279. package/src/lib/A-FrameChannel/A-FrameChannelEvent.context.ts +28 -0
  280. package/src/lib/A-FrameChannel/A-FrameChannelRequest.context.ts +36 -0
  281. package/src/lib/A-FrameChannel/A-FrameChannelSocket.entity.ts +189 -0
  282. package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +144 -0
  283. package/src/lib/A-FrameChannel/index.browser.ts +3 -0
  284. package/src/lib/A-FrameChannel/index.ts +10 -0
  285. package/src/lib/A-FrameCrypto/A-FrameCrypto.component.env-browser.ts +123 -0
  286. package/src/lib/A-FrameCrypto/A-FrameCrypto.component.env-node.ts +204 -0
  287. package/src/lib/A-FrameCrypto/index.browser.ts +1 -0
  288. package/src/lib/A-FrameCrypto/index.ts +1 -0
  289. package/src/lib/A-FrameDefinition/A-FrameDefinition.constants.ts +8 -0
  290. package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +290 -0
  291. package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +109 -0
  292. package/src/lib/A-FrameDefinition/index.ts +3 -0
  293. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +13 -0
  294. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +10 -0
  295. package/src/lib/A-FrameDynamicFeature/index.ts +2 -0
  296. package/src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.entity.ts +38 -0
  297. package/src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.types.ts +20 -0
  298. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.constants.ts +9 -0
  299. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.entity.ts +91 -0
  300. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.types.ts +18 -0
  301. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +13 -0
  302. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +187 -0
  303. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.error.ts +13 -0
  304. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +128 -0
  305. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context.ts +32 -0
  306. package/src/lib/A-FrameDynamicStructure/index.ts +5 -0
  307. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +31 -0
  308. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +39 -0
  309. package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +7 -0
  310. package/src/lib/A-FrameEnv/index.browser.ts +1 -0
  311. package/src/lib/A-FrameEnv/index.ts +1 -0
  312. package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +321 -0
  313. package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +63 -0
  314. package/src/lib/A-FrameIndex/index.browser.ts +3 -0
  315. package/src/lib/A-FrameIndex/index.ts +3 -0
  316. package/src/lib/A-FrameLogger/A-FrameLogger.component.env-browser.ts +99 -0
  317. package/src/lib/A-FrameLogger/A-FrameLogger.component.env-node.ts +129 -0
  318. package/src/lib/A-FrameLogger/A-FrameLogger.component.ts +123 -0
  319. package/src/lib/A-FrameLogger/A-FrameLogger.constants.ts +66 -0
  320. package/src/lib/A-FrameLogger/A-FrameLogger.types.ts +67 -0
  321. package/src/lib/A-FrameLogger/index.browser.ts +4 -0
  322. package/src/lib/A-FrameLogger/index.ts +4 -0
  323. package/src/lib/A-FrameNamespace/A-FrameNamespace.constants.ts +12 -0
  324. package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +211 -0
  325. package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +72 -0
  326. package/src/lib/A-FrameNamespace/index.ts +3 -0
  327. package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +338 -0
  328. package/src/lib/A-FrameStorage/A-FrameStorage.component.ts +191 -0
  329. package/src/lib/A-FrameStorage/A-FrameStorage.constants.ts +11 -0
  330. package/src/lib/A-FrameStorage/A-FrameStorage.error.ts +13 -0
  331. package/src/lib/A-FrameStorage/A-FrameStorage.types.ts +98 -0
  332. package/src/lib/A-FrameStorage/A-FrameStorageOperation.context.ts +59 -0
  333. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +312 -0
  334. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +77 -0
  335. package/src/lib/A-FrameStorage/index.browser.ts +11 -0
  336. package/src/lib/A-FrameStorage/index.ts +10 -0
  337. package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +464 -0
  338. package/src/lib/A-FrameStorage/server/A-FrameServerStorage.component.ts +177 -0
  339. package/src/lib/{entities/A_FrameVector/A_FrameVector.entity.ts → A-FrameVector/A-FrameVector.entity.ts} +10 -0
  340. package/src/lib/A-FrameVector/index.ts +3 -0
  341. package/tests/A-Frame.browser.test.ts +94 -0
  342. package/tests/A-Frame.test.ts +73 -68
  343. package/tests/jest.browser-environment.js +30 -0
  344. package/tests/jest.polyfills.browser.ts +13 -0
  345. package/tests/jest.setup.browser.ts +33 -0
  346. package/tsconfig.browser.json +54 -0
  347. package/tsconfig.json +16 -0
  348. package/tsup.config.ts +32 -2
  349. package/src/lib/components/Builder.component.ts/Builder.component.ts +0 -0
  350. package/src/lib/components/Index.component.ts/Index.component.ts +0 -79
  351. package/src/lib/components/Index.component.ts/Index.constants.ts +0 -0
  352. package/src/lib/components/Index.component.ts/Index.meta.ts +0 -28
  353. package/src/lib/components/Index.component.ts/IndexConfigurations.meta.ts +0 -78
  354. package/src/lib/components/Index.component.ts/decorators/IndexComponent.decorator.ts +0 -97
  355. package/src/lib/components/Index.component.ts/decorators/IndexDescribe.decorator.ts +0 -59
  356. package/src/lib/components/Index.component.ts/decorators/IndexNamespace.decorator.ts +0 -57
  357. package/src/lib/components/Search/A_FrameSearch.component.ts +0 -66
  358. package/src/lib/containers/CLI.container.ts +0 -27
  359. package/src/lib/entities/Namespace/Namespace.entity.ts +0 -8
@@ -0,0 +1,541 @@
1
+ 'use strict';
2
+
3
+ var chunkQFUZVN4Y_cjs = require('./chunk-QFUZVN4Y.cjs');
4
+ var chunkB7ZDJXD3_cjs = require('./chunk-B7ZDJXD3.cjs');
5
+ var chunkKLG6HKFU_cjs = require('./chunk-KLG6HKFU.cjs');
6
+ var chunkYVX4W6SI_cjs = require('./chunk-YVX4W6SI.cjs');
7
+ var chunkGBTFMT3K_cjs = require('./chunk-GBTFMT3K.cjs');
8
+ var chunkQFHZIG7Y_cjs = require('./chunk-QFHZIG7Y.cjs');
9
+ var aConcept = require('@adaas/a-concept');
10
+ var fs = require('fs/promises');
11
+ var path = require('path');
12
+
13
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
+
15
+ var fs__default = /*#__PURE__*/_interopDefault(fs);
16
+ var path__default = /*#__PURE__*/_interopDefault(path);
17
+
18
+ var A_FrameContext = class extends aConcept.A_Fragment {
19
+ constructor() {
20
+ super({ name: "a-frame-context" });
21
+ }
22
+ get encryptionKey() {
23
+ return this.credentials?.encryption_key;
24
+ }
25
+ get serverVersion() {
26
+ return this.credentials?.server_version;
27
+ }
28
+ isAuthenticated() {
29
+ return !!this.credentials;
30
+ }
31
+ setCredentials(credentials) {
32
+ if (credentials.error) {
33
+ this.credentials = void 0;
34
+ return;
35
+ }
36
+ this.credentials = credentials.response || void 0;
37
+ }
38
+ };
39
+
40
+ // src/lib/A-FrameStorage/A-FrameStorage.constants.ts
41
+ var A_FrameStorageFeatures = {
42
+ SaveDefinitions: "_A_FRAME_STORAGE_SAVE",
43
+ LoadDefinitions: "_A_FRAME_STORAGE_LOAD",
44
+ DestroyDefinitions: "_A_FRAME_STORAGE_DESTROY",
45
+ SaveNamespaces: "_A_FRAME_STORAGE_SAVE_NAMESPACES",
46
+ LoadNamespaces: "_A_FRAME_STORAGE_LOAD_NAMESPACES",
47
+ DestroyNamespaces: "_A_FRAME_STORAGE_DESTROY_NAMESPACES"
48
+ };
49
+ var A_FrameStorageOperation = class extends aConcept.A_Fragment {
50
+ constructor(params) {
51
+ super({ name: "a-frame-storage-operation" });
52
+ this._params = params;
53
+ }
54
+ /**
55
+ * If the operation succeeded, this will contain the result data. If the operation failed, this will be undefined.
56
+ */
57
+ get result() {
58
+ return this._result;
59
+ }
60
+ /**
61
+ * If the operation failed, this will contain an error object with details about the failure. If the operation succeeded, this will be undefined.
62
+ */
63
+ get error() {
64
+ return this._error;
65
+ }
66
+ /**
67
+ * Parameters used to execute the operation, e.g. definitionId and namespaceId for a saveDefinition operation.
68
+ */
69
+ get params() {
70
+ return this._params;
71
+ }
72
+ /**
73
+ * Marks the operation as completed successfully with the given result. This will set the `result` property and leave `error` as undefined.
74
+ *
75
+ * @param result
76
+ */
77
+ complete(result) {
78
+ this._result = result;
79
+ }
80
+ /**
81
+ * Marks the operation as failed with the given error. This will set the `error` property and leave `result` as undefined.
82
+ *
83
+ * @param error
84
+ */
85
+ fail(error) {
86
+ this._error = error;
87
+ }
88
+ };
89
+ var A_FrameStorageError = class extends aConcept.A_Error {
90
+ };
91
+ A_FrameStorageError.SaveDefinitionFailed = "SaveDefinitionFailed";
92
+ A_FrameStorageError.LoadDefinitionsFailed = "LoadDefinitionsFailed";
93
+ A_FrameStorageError.DestroyDefinitionsFailed = "DestroyDefinitionsFailed";
94
+ A_FrameStorageError.SaveNamespaceFailed = "SaveNamespaceFailed";
95
+ A_FrameStorageError.LoadNamespacesFailed = "LoadNamespacesFailed";
96
+ A_FrameStorageError.DestroyNamespacesFailed = "DestroyNamespacesFailed";
97
+ var A_FrameStorage = class extends aConcept.A_Component {
98
+ async saveDefinitions(definitions) {
99
+ const context = new A_FrameStorageOperation({
100
+ records: definitions
101
+ });
102
+ const executionScope = new aConcept.A_Scope({
103
+ name: "A_FrameStorage.saveDefinitions",
104
+ fragments: [context]
105
+ }).inherit(aConcept.A_Context.scope(this));
106
+ try {
107
+ await this.call(A_FrameStorageFeatures.SaveDefinitions, executionScope);
108
+ executionScope.destroy();
109
+ return context;
110
+ } catch (error) {
111
+ context.fail(new A_FrameStorageError({
112
+ title: A_FrameStorageError.SaveDefinitionFailed,
113
+ description: `Failed to save definition records.`
114
+ }));
115
+ executionScope.destroy();
116
+ return context;
117
+ }
118
+ }
119
+ async loadDefinitions(namespaceId, definitionId) {
120
+ const context = new A_FrameStorageOperation({
121
+ namespaceId
122
+ });
123
+ const executionScope = new aConcept.A_Scope({
124
+ name: "A_FrameStorage.loadDefinitions",
125
+ fragments: [context]
126
+ }).inherit(aConcept.A_Context.scope(this));
127
+ try {
128
+ await this.call(A_FrameStorageFeatures.LoadDefinitions, executionScope);
129
+ executionScope.destroy();
130
+ return context;
131
+ } catch (error) {
132
+ context.fail(new A_FrameStorageError({
133
+ title: A_FrameStorageError.LoadDefinitionsFailed,
134
+ description: `Failed to load definition records.`
135
+ }));
136
+ executionScope.destroy();
137
+ return context;
138
+ }
139
+ }
140
+ async destroyDefinitions(namespaceId, definitionId) {
141
+ const context = new A_FrameStorageOperation({
142
+ namespaceId,
143
+ definitionId
144
+ });
145
+ const executionScope = new aConcept.A_Scope({
146
+ name: "A_FrameStorage.destroyDefinitions",
147
+ fragments: [context]
148
+ }).inherit(aConcept.A_Context.scope(this));
149
+ try {
150
+ await this.call(A_FrameStorageFeatures.DestroyDefinitions, executionScope);
151
+ executionScope.destroy();
152
+ return context;
153
+ } catch (error) {
154
+ context.fail(new A_FrameStorageError({
155
+ title: A_FrameStorageError.DestroyDefinitionsFailed,
156
+ description: `Failed to destroy definition records.`
157
+ }));
158
+ executionScope.destroy();
159
+ return context;
160
+ }
161
+ }
162
+ async saveNamespaces(namespaces) {
163
+ const context = new A_FrameStorageOperation({
164
+ records: namespaces
165
+ });
166
+ const executionScope = new aConcept.A_Scope({
167
+ name: "A_FrameStorage.saveNamespaces",
168
+ fragments: [context]
169
+ }).inherit(aConcept.A_Context.scope(this));
170
+ try {
171
+ await this.call(A_FrameStorageFeatures.SaveNamespaces, executionScope);
172
+ executionScope.destroy();
173
+ return context;
174
+ } catch (error) {
175
+ context.fail(new A_FrameStorageError({
176
+ title: A_FrameStorageError.SaveNamespaceFailed,
177
+ description: `Failed to save namespace records.`
178
+ }));
179
+ executionScope.destroy();
180
+ return context;
181
+ }
182
+ }
183
+ async loadNamespaces(namespaceIds) {
184
+ const context = new A_FrameStorageOperation({
185
+ namespaces: namespaceIds
186
+ });
187
+ const executionScope = new aConcept.A_Scope({
188
+ name: "A_FrameStorage.loadNamespaces",
189
+ fragments: [context]
190
+ }).inherit(aConcept.A_Context.scope(this));
191
+ try {
192
+ await this.call(A_FrameStorageFeatures.LoadNamespaces, executionScope);
193
+ executionScope.destroy();
194
+ return context;
195
+ } catch (error) {
196
+ context.fail(new A_FrameStorageError({
197
+ title: A_FrameStorageError.LoadNamespacesFailed,
198
+ description: `Failed to load namespace records.`
199
+ }));
200
+ executionScope.destroy();
201
+ return context;
202
+ }
203
+ }
204
+ async destroyNamespaces(namespacesIds) {
205
+ const context = new A_FrameStorageOperation({
206
+ namespaces: namespacesIds
207
+ });
208
+ const executionScope = new aConcept.A_Scope({
209
+ name: "A_FrameStorage.destroyNamespaces",
210
+ fragments: [context]
211
+ }).inherit(aConcept.A_Context.scope(this));
212
+ try {
213
+ await this.call(A_FrameStorageFeatures.DestroyNamespaces, executionScope);
214
+ executionScope.destroy();
215
+ return context;
216
+ } catch (error) {
217
+ context.fail(new A_FrameStorageError({
218
+ title: A_FrameStorageError.DestroyNamespacesFailed,
219
+ description: `Failed to destroy namespace records.`
220
+ }));
221
+ executionScope.destroy();
222
+ return context;
223
+ }
224
+ }
225
+ };
226
+ var A_FrameNodeStorage = class extends A_FrameStorage {
227
+ /** Returns file contents, or null when the file does not exist yet. Re-throws all other I/O errors. */
228
+ async tryReadFile(filePath) {
229
+ try {
230
+ return await fs__default.default.readFile(filePath);
231
+ } catch (err) {
232
+ if (err?.code === "ENOENT") return null;
233
+ throw err;
234
+ }
235
+ }
236
+ async saveDefinitionToDisk(definition, env, context, codec, aFrameCrypto) {
237
+ const namespace = definition.namespace;
238
+ const incoming = definition.toJSON();
239
+ if (!incoming.embedding)
240
+ throw new Error("Only definitions with embeddings can be saved to storage");
241
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace.id)));
242
+ const existing = rawBuf ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
243
+ const merged = /* @__PURE__ */ new Map();
244
+ for (const r of existing) merged.set(r.hash, r);
245
+ merged.set(incoming.hash, incoming);
246
+ const records = Array.from(merged.values());
247
+ const payload = codec.encodePayload(records);
248
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
249
+ await fs__default.default.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
250
+ await fs__default.default.writeFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace.id)), encrypted);
251
+ }
252
+ async loadDefinitionFromDisk(definition, env, context, codec, aFrameCrypto) {
253
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(definition.namespace.id)));
254
+ if (!rawBuf) return;
255
+ const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey);
256
+ const records = codec.decodePayload(plain);
257
+ const record = records.find((r) => r.aseid === definition.aseid.toString());
258
+ if (record && record.hash === definition.hash && record.aFrameServerVersion === context.serverVersion) {
259
+ definition.fromJSON(record);
260
+ }
261
+ }
262
+ async destroyDefinitionFromDisk(definition, env, context, codec, aFrameCrypto) {
263
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(definition.namespace.id)));
264
+ if (!rawBuf) return;
265
+ const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey);
266
+ const records = codec.decodePayload(plain);
267
+ const filtered = records.filter((r) => r.aseid !== definition.aseid.toString());
268
+ const payload = codec.encodePayload(filtered);
269
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
270
+ await fs__default.default.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
271
+ await fs__default.default.writeFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(definition.namespace.id)), encrypted);
272
+ }
273
+ async saveNamespaceToDisk(namespace, env, context, codec, aFrameCrypto) {
274
+ const incoming = namespace.toJSON();
275
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
276
+ const existing = rawBuf ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
277
+ const merged = /* @__PURE__ */ new Map();
278
+ for (const r of existing) merged.set(r.aseid, r);
279
+ merged.set(incoming.aseid.toString(), incoming);
280
+ const records = Array.from(merged.values());
281
+ const payload = codec.encodeNamespacePayload(records);
282
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
283
+ await fs__default.default.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
284
+ await fs__default.default.writeFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);
285
+ }
286
+ async loadNamespaceFromDisk(namespace, env, context, aFrameCrypto, codec) {
287
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
288
+ if (!rawBuf) return;
289
+ const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey);
290
+ const records = codec.decodeNamespacePayload(plain);
291
+ const record = records.find((r) => r.aseid === namespace.aseid.toString());
292
+ if (record && record.hash === namespace.hash && record.aFrameServerVersion === context.serverVersion) {
293
+ namespace.fromJSON(record);
294
+ }
295
+ }
296
+ async destroyNamespaceFromLocalFileStorage(namespace, env, context, codec, aFrameCrypto) {
297
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
298
+ if (!rawBuf) return;
299
+ const plain = await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey);
300
+ const records = codec.decodeNamespacePayload(plain);
301
+ const filtered = records.filter((r) => r.aseid !== namespace.aseid.toString());
302
+ const payload = codec.encodeNamespacePayload(filtered);
303
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
304
+ await fs__default.default.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
305
+ await fs__default.default.writeFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);
306
+ try {
307
+ await fs__default.default.unlink(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace.id)));
308
+ } catch {
309
+ }
310
+ }
311
+ async saveDefinitionsToDisk(env, operation, context, codec, aFrameCrypto) {
312
+ const records = operation.params.records;
313
+ const namespace = records[0].namespace;
314
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)));
315
+ const existing = rawBuf ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
316
+ const merged = /* @__PURE__ */ new Map();
317
+ for (const r of existing) merged.set(r.hash, r);
318
+ for (const d of records) merged.set(d.hash, d);
319
+ const result = Array.from(merged.values());
320
+ const payload = codec.encodePayload(result);
321
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
322
+ await fs__default.default.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
323
+ await fs__default.default.writeFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)), encrypted);
324
+ operation.complete({
325
+ saved: records.length
326
+ });
327
+ }
328
+ async loadDefinitionsFromDisk(env, operation, context, codec, aFrameCrypto) {
329
+ const namespace = operation.params.namespaceId;
330
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)));
331
+ const records = rawBuf ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
332
+ operation.complete({
333
+ records
334
+ });
335
+ }
336
+ async destroyDefinitionsFromDisk(env, operation, context, codec, aFrameCrypto) {
337
+ const namespace = operation.params.namespaceId;
338
+ const definitionId = operation.params.definitionId;
339
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)));
340
+ const records = rawBuf ? codec.decodePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
341
+ const filtered = records.filter((r) => r.aseid !== definitionId);
342
+ const payload = codec.encodePayload(filtered);
343
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
344
+ await fs__default.default.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
345
+ await fs__default.default.writeFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(namespace)), encrypted);
346
+ operation.complete({
347
+ records: filtered
348
+ });
349
+ }
350
+ async saveNamespacesToDisk(env, operation, context, codec, aFrameCrypto) {
351
+ const records = operation.params.records;
352
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
353
+ const existing = rawBuf ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
354
+ const merged = /* @__PURE__ */ new Map();
355
+ for (const r of existing) merged.set(r.aseid, r);
356
+ for (const d of records) merged.set(d.aseid.toString(), d);
357
+ const result = Array.from(merged.values());
358
+ const payload = codec.encodeNamespacePayload(result);
359
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
360
+ await fs__default.default.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
361
+ await fs__default.default.writeFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);
362
+ operation.complete({
363
+ success: true
364
+ });
365
+ }
366
+ async loadNamespacesFromDisk(env, operation, context, codec, aFrameCrypto) {
367
+ const ids = operation.params.namespaces;
368
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
369
+ const records = rawBuf ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
370
+ operation.complete({
371
+ records: ids ? records.filter((r) => ids.includes(r.name)) : records
372
+ });
373
+ }
374
+ async destroyNamespacesFromDisk(env, operation, context, codec, aFrameCrypto) {
375
+ const ids = operation.params.namespaces;
376
+ const rawBuf = await this.tryReadFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()));
377
+ const records = rawBuf ? codec.decodeNamespacePayload(await aFrameCrypto.decryptBytes(new Uint8Array(rawBuf), context.encryptionKey)) : [];
378
+ const filtered = records.filter((r) => !ids.includes(r.aseid));
379
+ const payload = codec.encodeNamespacePayload(filtered);
380
+ const encrypted = await aFrameCrypto.encryptBytes(payload, context.encryptionKey);
381
+ await fs__default.default.mkdir(env.A_FRAME_STORAGE_DIR, { recursive: true });
382
+ await fs__default.default.writeFile(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getNamespaceFileName()), encrypted);
383
+ try {
384
+ for (const id of ids) {
385
+ await fs__default.default.unlink(path__default.default.join(env.A_FRAME_STORAGE_DIR, codec.getFileName(id)));
386
+ }
387
+ operation.complete({
388
+ success: true
389
+ });
390
+ } catch (error) {
391
+ operation.fail(new A_FrameStorageError({
392
+ title: A_FrameStorageError.DestroyNamespacesFailed,
393
+ description: `Failed to destroy namespace records.`
394
+ }));
395
+ operation.complete({
396
+ success: false
397
+ });
398
+ }
399
+ }
400
+ };
401
+ chunkQFHZIG7Y_cjs.__decorateClass([
402
+ aConcept.A_Feature.Extend({
403
+ name: chunkGBTFMT3K_cjs.A_FrameDefinitionFeatures.Save,
404
+ scope: [chunkGBTFMT3K_cjs.A_FrameDefinition]
405
+ }),
406
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(aConcept.A_Caller)),
407
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
408
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
409
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
410
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
411
+ ], A_FrameNodeStorage.prototype, "saveDefinitionToDisk", 1);
412
+ chunkQFHZIG7Y_cjs.__decorateClass([
413
+ aConcept.A_Feature.Extend({
414
+ name: chunkGBTFMT3K_cjs.A_FrameDefinitionFeatures.Load,
415
+ scope: [chunkGBTFMT3K_cjs.A_FrameDefinition]
416
+ }),
417
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(aConcept.A_Caller)),
418
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
419
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
420
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
421
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
422
+ ], A_FrameNodeStorage.prototype, "loadDefinitionFromDisk", 1);
423
+ chunkQFHZIG7Y_cjs.__decorateClass([
424
+ aConcept.A_Feature.Extend({
425
+ name: chunkGBTFMT3K_cjs.A_FrameDefinitionFeatures.Destroy,
426
+ scope: [chunkGBTFMT3K_cjs.A_FrameDefinition]
427
+ }),
428
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(aConcept.A_Caller)),
429
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
430
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
431
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
432
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
433
+ ], A_FrameNodeStorage.prototype, "destroyDefinitionFromDisk", 1);
434
+ chunkQFHZIG7Y_cjs.__decorateClass([
435
+ aConcept.A_Feature.Extend({
436
+ name: chunkKLG6HKFU_cjs.A_FrameNamespaceFeatures.Save,
437
+ scope: [chunkKLG6HKFU_cjs.A_FrameNamespace]
438
+ }),
439
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(aConcept.A_Caller)),
440
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
441
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
442
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
443
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
444
+ ], A_FrameNodeStorage.prototype, "saveNamespaceToDisk", 1);
445
+ chunkQFHZIG7Y_cjs.__decorateClass([
446
+ aConcept.A_Feature.Extend({
447
+ name: chunkKLG6HKFU_cjs.A_FrameNamespaceFeatures.Load,
448
+ scope: [chunkKLG6HKFU_cjs.A_FrameNamespace]
449
+ }),
450
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(aConcept.A_Caller)),
451
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
452
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
453
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto)),
454
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec))
455
+ ], A_FrameNodeStorage.prototype, "loadNamespaceFromDisk", 1);
456
+ chunkQFHZIG7Y_cjs.__decorateClass([
457
+ aConcept.A_Feature.Extend({
458
+ name: chunkKLG6HKFU_cjs.A_FrameNamespaceFeatures.Destroy,
459
+ scope: [chunkKLG6HKFU_cjs.A_FrameNamespace]
460
+ }),
461
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(aConcept.A_Caller)),
462
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
463
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
464
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
465
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
466
+ ], A_FrameNodeStorage.prototype, "destroyNamespaceFromLocalFileStorage", 1);
467
+ chunkQFHZIG7Y_cjs.__decorateClass([
468
+ aConcept.A_Feature.Extend({
469
+ name: A_FrameStorageFeatures.SaveDefinitions,
470
+ scope: [A_FrameStorage]
471
+ }),
472
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
473
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(A_FrameStorageOperation)),
474
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
475
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
476
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
477
+ ], A_FrameNodeStorage.prototype, "saveDefinitionsToDisk", 1);
478
+ chunkQFHZIG7Y_cjs.__decorateClass([
479
+ aConcept.A_Feature.Extend({
480
+ name: A_FrameStorageFeatures.LoadDefinitions,
481
+ scope: [A_FrameStorage]
482
+ }),
483
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
484
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(A_FrameStorageOperation)),
485
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
486
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
487
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
488
+ ], A_FrameNodeStorage.prototype, "loadDefinitionsFromDisk", 1);
489
+ chunkQFHZIG7Y_cjs.__decorateClass([
490
+ aConcept.A_Feature.Extend({
491
+ name: A_FrameStorageFeatures.DestroyDefinitions,
492
+ scope: [A_FrameStorage]
493
+ }),
494
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
495
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(A_FrameStorageOperation)),
496
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
497
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
498
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
499
+ ], A_FrameNodeStorage.prototype, "destroyDefinitionsFromDisk", 1);
500
+ chunkQFHZIG7Y_cjs.__decorateClass([
501
+ aConcept.A_Feature.Extend({
502
+ name: A_FrameStorageFeatures.SaveNamespaces,
503
+ scope: [A_FrameStorage]
504
+ }),
505
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
506
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(A_FrameStorageOperation)),
507
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
508
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
509
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
510
+ ], A_FrameNodeStorage.prototype, "saveNamespacesToDisk", 1);
511
+ chunkQFHZIG7Y_cjs.__decorateClass([
512
+ aConcept.A_Feature.Extend({
513
+ name: A_FrameStorageFeatures.LoadNamespaces,
514
+ scope: [A_FrameStorage]
515
+ }),
516
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
517
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(A_FrameStorageOperation)),
518
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
519
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
520
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
521
+ ], A_FrameNodeStorage.prototype, "loadNamespacesFromDisk", 1);
522
+ chunkQFHZIG7Y_cjs.__decorateClass([
523
+ aConcept.A_Feature.Extend({
524
+ name: A_FrameStorageFeatures.DestroyNamespaces,
525
+ scope: [A_FrameStorage]
526
+ }),
527
+ chunkQFHZIG7Y_cjs.__decorateParam(0, aConcept.A_Inject(chunkB7ZDJXD3_cjs.A_FrameEnv)),
528
+ chunkQFHZIG7Y_cjs.__decorateParam(1, aConcept.A_Inject(A_FrameStorageOperation)),
529
+ chunkQFHZIG7Y_cjs.__decorateParam(2, aConcept.A_Inject(A_FrameContext)),
530
+ chunkQFHZIG7Y_cjs.__decorateParam(3, aConcept.A_Inject(chunkQFUZVN4Y_cjs.A_FrameStorageCodec)),
531
+ chunkQFHZIG7Y_cjs.__decorateParam(4, aConcept.A_Inject(chunkYVX4W6SI_cjs.A_FrameCrypto))
532
+ ], A_FrameNodeStorage.prototype, "destroyNamespacesFromDisk", 1);
533
+
534
+ exports.A_FrameContext = A_FrameContext;
535
+ exports.A_FrameNodeStorage = A_FrameNodeStorage;
536
+ exports.A_FrameStorage = A_FrameStorage;
537
+ exports.A_FrameStorageError = A_FrameStorageError;
538
+ exports.A_FrameStorageFeatures = A_FrameStorageFeatures;
539
+ exports.A_FrameStorageOperation = A_FrameStorageOperation;
540
+ //# sourceMappingURL=chunk-7A6XGT5J.cjs.map
541
+ //# sourceMappingURL=chunk-7A6XGT5J.cjs.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","A_Component","A_Scope","A_Context","fs","path","__decorateClass","A_Feature","A_FrameDefinitionFeatures","A_FrameDefinition","__decorateParam","A_Caller","A_FrameEnv","A_FrameStorageCodec","A_FrameCrypto","A_FrameNamespaceFeatures","A_FrameNamespace"],"mappings":"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","file":"chunk-7A6XGT5J.cjs","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\";\n\n\nexport class A_FrameContext extends A_Fragment {\n\n private credentials?: A_Frame_CredentialResponse;\n\n\n constructor() {\n super({ name: 'a-frame-context' });\n }\n\n\n get encryptionKey(): string | undefined {\n return this.credentials?.encryption_key;\n }\n\n\n get serverVersion(): string | undefined {\n return this.credentials?.server_version;\n }\n\n\n isAuthenticated(): boolean {\n return !!this.credentials;\n }\n\n\n setCredentials(credentials: A_FrameChannelRequest<A_Frame_CredentialResponse>) {\n if (credentials.error) {\n this.credentials = undefined;\n return;\n }\n\n this.credentials = credentials.response || undefined;\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"]}