@adaas/a-frame 0.0.21 → 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 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameChannel/A-FrameChannel.constants.ts","../../src/lib/A-FrameChannel/A-FrameChannelRequest.context.ts","../../src/lib/A-FrameChannel/A-FrameChannel.error.ts","../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts","../../src/lib/A-FrameDynamicSession/A-FrameDynamicSession.constants.ts","../../src/lib/A-FrameDynamicSession/A-FrameDynamicSession.entity.ts","../../src/lib/A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context.ts","../../src/lib/A-FrameChannel/A-FrameChannel.component.ts","../../src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts","../../src/lib/A-FrameChannel/A-FrameChannelEvent.context.ts","../../src/lib/A-FrameChannel/A-FrameChannelSocket.entity.ts"],"names":["A_FrameFeatures","A_FrameChannelSocketStatuses","A_FrameChannelSocketFeatures","A_FrameChannelRequest","A_Fragment","method","path","body","response","error","A_FrameChannelError","A_Error","A_FrameEnv","version","A_FrameDynamicSessionFeatures","A_FrameDynamicSession","A_Entity","A_Context","A_Scope","newEntity","serialized","scope","A_FrameDynamicStructureOperation","params","key","value","A_FrameChannel","A_Component","prompt","request","executionScope","err","input","definition","env","vector","namespace","structure","session","operation","__decorateClass","A_Feature","A_FrameDefinitionFeatures","A_FrameDefinition","__decorateParam","A_Inject","A_Caller","A_FrameNamespaceFeatures","A_FrameNamespace","A_FrameBrowserChannel","context","url","controller","timer","resp","A_FrameChannelEvent","name","data","A_FrameChannelSocket","featureName","target","propertyKey","descriptor","fn","event","eventFragment","callName"],"mappings":"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","file":"channel.mjs","sourcesContent":["\n\nexport const A_FrameFeatures = {\n Request: '_A_FRAME_REQUEST',\n Socket: '_A_FRAME_SOCKET',\n} as const;\n\n\n\nexport const A_FrameChannelStreamStatuses = {\n Open: 'open',\n Closed: 'closed',\n} as const;\n\n\nexport const A_FrameChannelStreamFeatures = {\n open: '_A_FRAME_CHANNEL_STREAM_OPEN',\n send: '_A_FRAME_CHANNEL_STREAM_SEND',\n onEvent: '_A_FRAME_CHANNEL_STREAM_ON_EVENT',\n onError: '_A_FRAME_CHANNEL_STREAM_ON_ERROR',\n onComplete: '_A_FRAME_CHANNEL_STREAM_ON_COMPLETE',\n onClose: '_A_FRAME_CHANNEL_STREAM_ON_CLOSE',\n} as const;\n\n\n// ─── WebSocket socket entity constants ───────────────────────────────────────\n\nexport const A_FrameChannelSocketStatuses = {\n Connecting: 'connecting',\n Open: 'open',\n Closed: 'closed',\n} as const;\n\nexport const A_FrameChannelSocketFeatures = {\n onEvent: '_A_FRAME_CHANNEL_SOCKET_ON_EVENT',\n onError: '_A_FRAME_CHANNEL_SOCKET_ON_ERROR',\n onOpen: '_A_FRAME_CHANNEL_SOCKET_ON_OPEN',\n onClose: '_A_FRAME_CHANNEL_SOCKET_ON_CLOSE',\n} as const;\n","import { A_Error, A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameChannelRequest<\n _Response = any\n> extends A_Fragment {\n\n protected _response?: _Response;\n\n protected _error?: A_Error;\n\n\n constructor(\n public method: string,\n public path: string,\n public body?: unknown\n ) {\n super({ name: 'a-frame-channel-request' });\n }\n\n complete(response: _Response): void {\n this._response = response;\n }\n\n fail(error: A_Error): void {\n this._error = error;\n }\n\n get response(): _Response | undefined {\n return this._response;\n }\n\n get error(): A_Error | undefined {\n return this._error;\n }\n}\n","import { A_Error } from \"@adaas/a-concept\";\n\n\n\nexport class A_FrameChannelError extends A_Error{\n static readonly InvalidRequest = 'InvalidRequest';\n static readonly Timeout = 'Timeout';\n static readonly RequestFailed = 'RequestFailed';\n}\n ","import { A_Fragment } from \"@adaas/a-concept\";\nimport * as pkg from '../../../package.json';\nimport { IA_FrameEnv } from \"./A-FrameEnv.types\";\n\n\nexport class A_FrameEnv extends A_Fragment implements IA_FrameEnv {\n\n get A_FRAME_FILE_EXTENSION() {\n return '.aframe';\n }\n\n get A_FRAME_NAMESPACES_BIN() {\n return `__namespaces${this.A_FRAME_FILE_EXTENSION}`;\n }\n\n get A_FRAME_SYNC() {\n return process.env.A_FRAME_SYNC === 'false' ? false : true;\n }\n\n get A_FRAME_TOKEN() {\n return process.env.A_FRAME_TOKEN || '';\n }\n\n get A_FRAME_SERVER_URL() {\n return process.env.A_FRAME_SERVER_URL || 'http://localhost:3663';\n }\n\n get A_FRAME_SERVER_API_KEY() {\n return process.env.A_FRAME_SERVER_API_KEY || '';\n }\n\n get A_FRAME_STORAGE_DIR() {\n return process.env.A_FRAME_STORAGE_DIR || '.aframestr';\n }\n\n get A_FRAME_VERSION() {\n return pkg.version || '0.0.1';\n }\n}","\n\n\nexport const A_FrameDynamicSessionFeatures = {\n Init: '_A_FRAME_DYNAMIC_SESSION_INIT',\n Question: '_A_FRAME_DYNAMIC_SESSION_QUESTION',\n Answer: '_A_FRAME_DYNAMIC_SESSION_ANSWER',\n Destroy: '_A_FRAME_DYNAMIC_SESSION_DESTROY',\n} as const;","import { A_Context, A_Entity, A_Scope } from \"@adaas/a-concept\"\nimport { A_FrameDynamicSession_Init, A_FrameDynamicSession_Serialized } from \"./A-FrameDynamicSession.types\";\nimport { A_FrameDynamicSessionFeatures } from \"./A-FrameDynamicSession.constants\";\n\n\nexport class A_FrameDynamicSession extends A_Entity<A_FrameDynamicSession_Init, A_FrameDynamicSession_Serialized> {\n static get concept(): string {\n return 'a-frame';\n }\n\n /**\n * \n */\n protected _scope!: A_Scope\n\n protected _turnsCount!: number;\n protected _currentTurn!: number;\n protected _initDate!: string;\n\n /**\n * \n */\n get scope(): A_Scope {\n\n if (!this._scope) {\n this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));\n }\n\n return this._scope;\n }\n\n get currentTurn(): number {\n return this._currentTurn;\n }\n\n get initDate(): Date {\n return new Date(this._initDate);\n }\n\n\n static onQuestion() {\n return;\n }\n\n static onAnswer() {\n return;\n }\n\n\n fromNew(newEntity: A_FrameDynamicSession_Init): void {\n this._turnsCount = newEntity.turnsCount || 5;\n this._currentTurn = 0;\n this._initDate = new Date().toISOString();\n\n }\n\n fromJSON(serialized: A_FrameDynamicSession_Serialized): void {\n this._turnsCount = serialized.turnsCount;\n this._currentTurn = serialized.currentTurn;\n this._initDate = serialized.initDate;\n }\n\n\n async init() {\n await this.call(A_FrameDynamicSessionFeatures.Init)\n }\n\n async destroy(scope?: A_Scope): Promise<void> {\n await this.call(A_FrameDynamicSessionFeatures.Destroy, scope);\n }\n\n\n async question() {\n this._currentTurn++;\n await this.call(A_FrameDynamicSessionFeatures.Question);\n }\n\n async answer() {\n await this.call(A_FrameDynamicSessionFeatures.Answer);\n }\n\n\n toJSON(): A_FrameDynamicSession_Serialized {\n return {\n ...super.toJSON(),\n turnsCount: this._turnsCount,\n currentTurn: this._currentTurn,\n initDate: this._initDate,\n }\n }\n}","import { A_Fragment } from \"@adaas/a-concept\"\n\n\nexport class A_FrameDynamicStructureOperation<\n _InputParams = any,\n> extends A_Fragment {\n\n protected _meta: Map<string, any> = new Map();\n\n constructor(\n params: _InputParams = {} as _InputParams\n ) {\n super({ name: 'a-frame-dynamic-structure-operation-context' });\n this._meta.set('params', params);\n\n }\n\n get params(): _InputParams {\n return this._meta.get('params');\n }\n\n\n get(key: string) {\n return this._meta.get(key);\n }\n\n\n set(key: string, value: any) {\n this._meta.set(key, value);\n }\n\n}\n","import { A_Caller, A_Component, A_Context, A_Feature, A_Inject, A_Scope } from \"@adaas/a-concept\";\nimport { IA_Frame_Channel, A_Frame_EmbedResponse, A_Frame_GenerateResponse, A_Frame_CredentialResponse } from \"./A-FrameChannel.types\";\nimport { A_FrameEnv } from \"../A-FrameEnv/A-FrameEnv.fragment.env-node\";\nimport { A_FrameFeatures } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelRequest } from \"./A-FrameChannelRequest.context\";\nimport { A_FrameChannelError } from \"./A-FrameChannel.error\";\nimport { A_FrameDefinition } from \"../A-FrameDefinition\";\nimport { A_FrameDefinitionFeatures } from \"../A-FrameDefinition/A-FrameDefinition.constants\";\nimport { A_FrameNamespaceFeatures } from \"../A-FrameNamespace/A-FrameNamespace.constants\";\nimport { A_FrameNamespace } from \"../A-FrameNamespace\";\nimport { A_FrameDynamicStructure } from \"../A-FrameDynamicStructure/A-FrameDynamicStructure.entity\";\nimport { A_FrameDynamicSession } from \"../A-FrameDynamicSession/A-FrameDynamicSession.entity\";\nimport { A_FrameDynamicStructureOperation } from \"../A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context\";\nimport { A_FrameChannelSocket } from \"./A-FrameChannelSocket.entity\";\n\n/**\n * A_FrameChannel — Node.js environment\n *\n * HTTP client for the embed-server API.\n * Configuration is resolved from process.env via A_FrameEnv injected at\n * feature execution time — no state is stored on the component itself.\n *\n * Uses the global fetch (available in Node 18+; no extra dependency needed).\n */\nexport class A_FrameChannel extends A_Component implements IA_Frame_Channel {\n\n async generate(prompt: string): Promise<A_FrameChannelRequest<A_Frame_GenerateResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_GenerateResponse>('POST', '/api/completions', { prompt, max_tokens: 512 });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.generate',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to generate completion: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n async embed(input: string | string[]): Promise<A_FrameChannelRequest<A_Frame_EmbedResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/embeddings', { input });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embed',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed input: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n async getCredentials(): Promise<A_FrameChannelRequest<A_Frame_CredentialResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_CredentialResponse>('GET', '/api/credentials/me');\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.getCredentials',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to get credentials: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n async ping(): Promise<A_FrameChannelRequest<boolean>> {\n const request = new A_FrameChannelRequest<boolean>('GET', '/health');\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.ping',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n\n } catch {\n executionScope.destroy();\n\n return request;\n }\n }\n\n\n\n // ─── Feature implementation ───────────────────────────────────────────────\n @A_Feature.Extend({\n name: A_FrameDefinitionFeatures.Embed,\n scope: [A_FrameDefinition],\n })\n async embedDefinition(\n @A_Inject(A_Caller) definition: A_FrameDefinition,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/definition/embed', {\n definition: definition.toJSON(),\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embedDefinition',\n fragments: [request]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope) as A_Frame_EmbedResponse;\n executionScope.destroy();\n\n const response = request.response!;\n if (!response.data || !response.data[0] || !response.data[0].embedding) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid embedding response for definition \"${definition.name}\"`,\n });\n }\n\n const vector = new Float32Array(response.data[0].embedding);\n\n definition.hydrateFromEmbedding(vector, {\n model: response.model,\n dimensions: response.meta.dimensions,\n inputCount: response.meta.input_count,\n aFrameServerVersion: response.meta.server_version!,\n aFrameVersion: env.A_FRAME_VERSION!,\n credentialId: response.meta.credential_id!,\n date: response.date,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed definition \"${definition.name}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n\n }\n\n\n\n @A_Feature.Extend({\n name: A_FrameNamespaceFeatures.Embed,\n scope: [A_FrameNamespace],\n })\n async embedNamespace(\n @A_Inject(A_Caller) namespace: A_FrameNamespace,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/namespace/embed', {\n namespace: namespace.toJSON(),\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embedNamespace',\n fragments: [request]\n })\n .inherit(A_Context.scope(this));\n\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope) as A_Frame_EmbedResponse;\n executionScope.destroy();\n\n const response = request.response!;\n if (!response.data || !response.data[0] || !response.data[0].embedding) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid embedding response for namespace \"${namespace.name}\"`,\n });\n }\n\n const vector = new Float32Array(response.data[0].embedding);\n\n namespace.hydrateFromEmbedding(vector, {\n model: response.model,\n dimensions: response.meta.dimensions,\n inputCount: response.meta.input_count,\n aFrameServerVersion: response.meta.server_version!,\n aFrameVersion: env.A_FRAME_VERSION!,\n credentialId: response.meta.credential_id!,\n date: response.date,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed namespace \"${namespace.name}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n\n }\n\n\n\n\n\n\n async generateDynamicStructure(\n @A_Inject(A_Caller) structure: A_FrameDynamicStructure,\n @A_Inject(A_FrameDynamicSession) session: A_FrameDynamicSession,\n @A_Inject(A_FrameDynamicStructureOperation) operation: A_FrameDynamicStructureOperation,\n ) {\n\n }\n\n\n // /**\n // * Open a bidirectional WebSocket connection to the server.\n // *\n // * The method resolves once the connection is closed (server close frame or\n // * transport end). While it is pending, call `socket.send(event)` to push\n // * frames to the server. Incoming frames are dispatched automatically to\n // * any `@A_FrameChannelSocket.onEvent()` handlers registered on `socket`.\n // *\n // * @param socket - Pre-configured socket entity (optionally a subclass with\n // * event handlers pre-registered via `@onEvent` decorators).\n // */\n // async connect(socket: A_FrameChannelSocket): Promise<void> {\n // const executionScope = new A_Scope({\n // name: 'A_FrameChannel.connect',\n // entities: [socket],\n // }).inherit(A_Context.scope(this));\n\n // try {\n // await this.call(A_FrameFeatures.Socket, executionScope);\n // executionScope.destroy();\n // } catch (err) {\n // executionScope.destroy();\n // throw new A_FrameChannelError({\n // title: A_FrameChannelError.RequestFailed,\n // description: `WebSocket connection to ${socket.path} failed: ${err instanceof Error ? err.message : String(err)}`,\n // });\n // }\n // }\n\n}\n\n\n\n\n","import { A_Feature, A_Inject } from \"@adaas/a-concept\";\nimport { A_FrameFeatures } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelRequest } from \"./A-FrameChannelRequest.context\";\nimport { A_FrameEnv } from \"../A-FrameEnv/A-FrameEnv.fragment.env-browser\";\nimport { A_FrameChannelError } from \"./A-FrameChannel.error\";\nimport { A_FrameChannel } from \"./A-FrameChannel.component\";\n\n/**\n * A_FrameChannel — Browser environment\n *\n * HTTP client for the embed-server API.\n * Configuration must be provided explicitly via configure() since there is\n * no process.env in the browser.\n *\n * At build time, generate .bin index files in Node. In the browser, load them\n * via A_FrameStorage.loadBlob() — no embedding calls are needed at runtime.\n */\nexport class A_FrameBrowserChannel extends A_FrameChannel {\n\n\n @A_Feature.Extend({\n name: A_FrameFeatures.Request,\n scope: [A_FrameChannel],\n })\n async request(\n @A_Inject(A_FrameChannelRequest) context: A_FrameChannelRequest,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const url = `${env.A_FRAME_SERVER_URL}${context.path}`;\n const controller = new AbortController();\n const timer = setTimeout(() => {\n controller.abort()\n context.fail(new A_FrameChannelError({\n title: A_FrameChannelError.Timeout,\n description: `Request to ${context.path} timed out after 15 seconds`,\n }));\n }, 15_000);\n try {\n const resp = await fetch(url, {\n method: context.method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${env.A_FRAME_SERVER_API_KEY}`,\n },\n body: context.body !== undefined ? JSON.stringify(context.body) : undefined,\n signal: controller.signal,\n });\n\n context.complete(await resp.json());\n\n } catch (err) {\n context.fail(new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Request to ${context.path} failed or timed out`,\n }));\n } finally {\n clearTimeout(timer);\n }\n }\n}\n\n\n\n","import { A_Error, A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameChannelEvent<\n T extends Record<string, any> = any,\n> extends A_Fragment {\n\n protected _data?: T;\n protected _eventName!: string;\n\n constructor(\n name: string,\n data?: T\n ) {\n super({ name: 'a-frame-channel-event-' + name });\n this._data = data as T;\n this._eventName = name;\n }\n\n get name(): string {\n return this._eventName;\n }\n\n get data(): T | undefined {\n return this._data;\n }\n\n}\n","import { A_Context, A_Entity, A_Error, A_Feature, A_Scope } from \"@adaas/a-concept\";\nimport {\n A_FrameChannelSocket_Init,\n A_FrameChannelSocket_Serialized,\n A_FrameChannelSocketStatusNames,\n} from \"./A-FrameChannel.types\";\nimport { A_FrameChannelSocketFeatures, A_FrameChannelSocketStatuses } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelEvent } from \"./A-FrameChannelEvent.context\";\nimport { A_FrameChannelError } from \"./A-FrameChannel.error\";\n\n\n/**\n * A_FrameChannelSocket — bidirectional WebSocket session entity.\n *\n * Lifecycle:\n * 1. Instantiate with `new A_FrameChannelSocket({ method: 'GET', path: '/ws/...' })`.\n * 2. Register event handlers via `@A_FrameChannelSocket.onEvent('type')` on a subclass.\n * 3. Pass the instance to `A_FrameChannel.connect(socket)` which performs the\n * WebSocket handshake and sets the internal send capability.\n * 4. While the connection is open, call `socket.send(event)` to push frames to\n * the server. Incoming frames are dispatched via `propagate()`.\n * 5. The socket transitions to Closed when the server sends a close frame or the\n * underlying transport ends.\n */\nexport class A_FrameChannelSocket<\n T extends Record<string, any> = Record<string, any>\n> extends A_Entity<\n A_FrameChannelSocket_Init<T>,\n A_FrameChannelSocket_Serialized<T>\n> {\n\n // ─── Static decorator ──────────────────────────────────────────────────────\n\n /**\n * Registers a method as a handler for a specific WebSocket event type sent\n * by the server. Mirrors `A_FrameChannelStream.onEvent()`.\n *\n * Usage (inside a subclass):\n * @A_FrameChannelSocket.onEvent('my_event')\n * async onMyEvent(@A_Inject(A_FrameChannelEvent) event: A_FrameChannelEvent) { ... }\n *\n * Omit the name (or use `'all'`) to receive every event type.\n */\n static onEvent(name?: string) {\n const featureName = (name || 'all') + A_FrameChannelSocketFeatures.onEvent;\n\n return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {\n return A_Feature.Extend({\n name: featureName,\n scope: [target.constructor],\n })(target, propertyKey, descriptor);\n };\n }\n\n // ─── Protected state ──────────────────────────────────────────────────────\n\n protected _method!: string;\n protected _path!: string;\n protected _body?: T;\n protected _scope!: A_Scope;\n protected _error?: A_Error;\n protected _status!: A_FrameChannelSocketStatusNames;\n protected _initDate!: string;\n\n // ──────────────────────────────────────────────────────────────────────────\n // SEND CAPABILITY\n // Attached by the connect feature once the WebSocket handshake succeeds.\n // Calling it serialises `data` to JSON and writes a masked WS text frame to\n // the underlying raw socket. Cleared to null on close / failure.\n // ──────────────────────────────────────────────────────────────────────────\n protected _sendFn: ((data: string) => void) | null = null;\n\n // ─── Computed getters ─────────────────────────────────────────────────────\n\n /** Scope allocated for the lifetime of this socket session. */\n get scope(): A_Scope {\n if (!this._scope) {\n this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));\n }\n return this._scope;\n }\n\n get method(): string { return this._method; }\n get path(): string { return this._path; }\n get body(): T | undefined { return this._body; }\n get status(): A_FrameChannelSocketStatusNames { return this._status; }\n get error(): A_Error | undefined { return this._error; }\n get initDate(): Date { return new Date(this._initDate); }\n\n // ─── Connect-feature interface ────────────────────────────────────────────\n\n /**\n * Called by the connect feature immediately after a successful handshake.\n * Transitions status Connecting → Open and stores the send callback.\n */\n attachSendFn(fn: (data: string) => void): void {\n this._sendFn = fn;\n this._status = A_FrameChannelSocketStatuses.Open;\n }\n\n // ─── Public API ───────────────────────────────────────────────────────────\n\n /**\n * Send an event to the server over the open WebSocket connection.\n *\n * The event is serialised as `{ type, data }`, matching the shape the server\n * uses for events it pushes to the client — keeping both directions symmetric.\n *\n * @throws {A_FrameChannelError} if the socket is not open.\n */\n send(event: A_FrameChannelEvent): void {\n if (!this._sendFn || this._status !== A_FrameChannelSocketStatuses.Open) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Cannot send event \"${event.name}\": WebSocket is not open (status: ${this._status})`,\n });\n }\n\n this._sendFn(JSON.stringify({ type: event.name, data: event.data }));\n }\n\n // ─── Lifecycle ────────────────────────────────────────────────────────────\n\n complete(): void {\n this._sendFn = null;\n this._status = A_FrameChannelSocketStatuses.Closed;\n }\n\n fail(error: A_Error): void {\n this._sendFn = null;\n this._status = A_FrameChannelSocketStatuses.Closed;\n this._error = error;\n }\n\n destroy(): Promise<void> | void {\n this.scope.destroy();\n }\n\n /**\n * Dispatch an incoming server event to all registered `@onEvent` handlers.\n * Mirrors `A_FrameChannelStream.propagate()`.\n */\n async propagate<D extends Record<string, any>>(name: string, data?: D): Promise<void> {\n const eventFragment = new A_FrameChannelEvent<D>(name, data);\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannelSocket.propagate',\n fragments: [eventFragment],\n }).inherit(A_Context.scope(this));\n\n try {\n const callName = (name || 'all') + A_FrameChannelSocketFeatures.onEvent;\n await this.call(callName, executionScope);\n executionScope.destroy();\n } catch {\n executionScope.destroy();\n }\n }\n\n // ─── A_Entity serialisation ───────────────────────────────────────────────\n\n fromNew(newEntity: A_FrameChannelSocket_Init<T>): void {\n this._method = newEntity.method;\n this._path = newEntity.path;\n this._body = newEntity.body;\n this._status = A_FrameChannelSocketStatuses.Connecting;\n this._initDate = new Date().toISOString();\n }\n\n fromJSON(serialized: A_FrameChannelSocket_Serialized<T>): void {\n this._method = serialized.method;\n this._path = serialized.path;\n this._body = serialized.body;\n this._status = serialized.status;\n this._initDate = serialized.initDate;\n }\n\n toJSON(): A_FrameChannelSocket_Serialized<T> {\n return {\n ...super.toJSON(),\n initDate: this._initDate,\n status: this._status,\n error: this._error ? this._error.toJSON() : undefined,\n method: this._method,\n path: this._path,\n body: this._body,\n };\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {A_Component}from'@adaas/a-concept';var v={Debug:"debug",Info:"info",Success:"success",Warn:"warn",Error:"error"},u={debug:10,info:20,success:20,warn:30,error:40},f={debug:"\xB7",info:"\u2139",success:"\u2714",warn:"\u26A0",error:"\u2716"},F={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",gray:"\x1B[90m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m"},a={debug:"color: #888;",info:"color: #06b;",success:"color: #2a7; font-weight: bold;",warn:"color: #c80;",error:"color: #c33; font-weight: bold;"},m={progressBarWidth:24,summaryTitle:"Summary",progressThrottleMs:250};var d=class extends A_Component{constructor(e={}){super();this.counters=new Map;this.startTime=Date.now();this.level=e.level??"debug",this.prefix=e.prefix??"";}setLevel(e){this.level=e;}shouldEmit(e){return u[e]>=u[this.level]}emit(e,r,o){this.shouldEmit(e)&&this.write({level:e,message:this.prefix?`${this.prefix} ${r}`:r,timestamp:Date.now(),metadata:o});}debug(e,r){this.emit("debug",e,r);}info(e,r){this.emit("info",e,r);}success(e,r){this.emit("success",e,r);}warn(e,r){this.emit("warn",e,r);}error(e,r){this.emit("error",e,r);}section(e){this.info(`\u2500\u2500 ${e} \u2500\u2500`);}divider(){this.info("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500");}increment(e,r=1){this.counters.set(e,(this.counters.get(e)??0)+r);}set(e,r){this.counters.set(e,r);}get(e){return this.counters.get(e)??0}resetTimer(){this.startTime=Date.now(),this.counters.clear();}elapsed(){let e=Date.now()-this.startTime;if(e<1e3)return `${e}ms`;let r=e/1e3;if(r<60)return `${r.toFixed(2)}s`;let o=Math.floor(r/60);return `${o}m ${(r-o*60).toFixed(1)}s`}summary(e=m.summaryTitle){this.section(e);let r=[...this.counters.keys()],o=r.reduce((n,g)=>Math.max(n,g.length),7);for(let n of r)this.info(` ${n.padEnd(o)} ${this.counters.get(n)}`);this.info(` ${"elapsed".padEnd(o)} ${this.elapsed()}`),this.divider();}};var _=class extends d{constructor(t={}){super(t);}write(t){let e=f[t.level],r=a[t.level],o=t.level==="error"?console.error:t.level==="warn"?console.warn:console.log;t.metadata&&Object.keys(t.metadata).length>0?o(`%c${e} ${t.message}`,r,t.metadata):o(`%c${e} ${t.message}`,r);}section(t){console.log(`%c\u2504 ${t} \u2504`,"color: #06b; font-weight: bold; padding: 2px 0;");}divider(){console.log("%c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500","color: #aaa;");}summary(t=m.summaryTitle){this.section(t);let e={};for(let[r,o]of this.counters)e[r]=o;e.elapsed=this.elapsed(),console.table(e),this.divider();}progress(t,e){let r=Date.now(),o=0,n="",g=0,i=(s=false,c)=>{let l=Date.now();if(!s&&l-g<m.progressThrottleMs)return;g=l;let p=e>0?Math.min(100,Math.round(o/e*100)):100,L=n?` \u2014 ${n}`:"";c==="done"?console.log(`%c\u2714 ${t} ${o}/${e} (${p}%)%c \u2014 ${((l-r)/1e3).toFixed(2)}s`,a.success,"color: #888;"):c==="fail"?console.log(`%c\u2716 ${t} FAILED at ${o}/${e}`,a.error):console.log(`%c\u27F3 ${t} ${o}/${e} (${p}%)${L}`,a.info);};return i(true),{tick:s=>{o=Math.min(e,o+1),s&&(n=s),i();},succeed:s=>{s&&(n=s),o=e,i(true,"done");},fail:s=>{s&&(n=s),i(true,"fail");},update:(s,c)=>{o=Math.min(e,Math.max(0,s)),c&&(n=c),i();}}}};export{v as a,u as b,f as c,F as d,a as e,m as f,d as g,_ as h};//# sourceMappingURL=chunk-5TTVFB3G.mjs.map
2
+ //# sourceMappingURL=chunk-5TTVFB3G.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameLogger/A-FrameLogger.constants.ts","../../src/lib/A-FrameLogger/A-FrameLogger.component.ts","../../src/lib/A-FrameLogger/A-FrameLogger.component.env-browser.ts"],"names":["A_FrameLogLevel","A_FRAME_LOG_LEVEL_PRIORITY","A_FrameLogIcon","A_FRAME_ANSI","A_FRAME_BROWSER_CSS","A_FRAME_LOG_DEFAULTS","A_FrameLoggerBase","A_Component","config","level","message","metadata","msg","meta","title","key","by","value","ms","s","m","keys","pad","k","A_FrameLogger","entry","icon","css","fn","obj","v","label","total","start","current","lastLabel","lastEmit","emit","force","status","now","pct","tail","l","n"],"mappings":"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","file":"chunk-5TTVFB3G.mjs","sourcesContent":["import { A_FrameLogLevelType } from \"./A-FrameLogger.types\";\n\n\nexport const A_FrameLogLevel = {\n Debug: 'debug',\n Info: 'info',\n Success: 'success',\n Warn: 'warn',\n Error: 'error',\n} as const satisfies Record<string, A_FrameLogLevelType>;\n\n\n/** Numeric priority used for level filtering. Higher = more severe. */\nexport const A_FRAME_LOG_LEVEL_PRIORITY: Record<A_FrameLogLevelType, number> = {\n debug: 10,\n info: 20,\n success: 20,\n warn: 30,\n error: 40,\n};\n\n\n/** Glyphs used as the leading symbol for each log level. */\nexport const A_FrameLogIcon: Record<A_FrameLogLevelType, string> = {\n debug: '·',\n info: 'ℹ',\n success: '✔',\n warn: '⚠',\n error: '✖',\n};\n\n\n/** ANSI escape sequences. Used by the Node implementation only. */\nexport const A_FRAME_ANSI = {\n reset: '\\x1b[0m',\n bold: '\\x1b[1m',\n dim: '\\x1b[2m',\n gray: '\\x1b[90m',\n red: '\\x1b[31m',\n green: '\\x1b[32m',\n yellow: '\\x1b[33m',\n blue: '\\x1b[34m',\n cyan: '\\x1b[36m',\n} as const;\n\n\n/**\n * Browser console CSS — used with `console.log('%c...', style)` for coloured\n * output in DevTools. Mirrors the ANSI palette by intent.\n */\nexport const A_FRAME_BROWSER_CSS: Record<A_FrameLogLevelType, string> = {\n debug: 'color: #888;',\n info: 'color: #06b;',\n success: 'color: #2a7; font-weight: bold;',\n warn: 'color: #c80;',\n error: 'color: #c33; font-weight: bold;',\n};\n\n\n/** Defaults applied when building a logger without explicit options. */\nexport const A_FRAME_LOG_DEFAULTS = {\n progressBarWidth: 24,\n summaryTitle: 'Summary',\n /** Update progress at most this often (ms) for non-TTY/browser output. */\n progressThrottleMs: 250,\n} as const;\n","import { A_Component } from \"@adaas/a-concept\";\nimport {\n A_FrameLogEntry,\n A_FrameLogLevelType,\n A_FrameLoggerConfig,\n A_FrameProgressBar,\n IA_FrameLogger,\n} from \"./A-FrameLogger.types\";\nimport {\n A_FRAME_LOG_LEVEL_PRIORITY,\n A_FRAME_LOG_DEFAULTS,\n} from \"./A-FrameLogger.constants\";\n\n\n/**\n * Abstract base for `A_FrameLogger` — environment-agnostic state and behaviour.\n *\n * Concrete subclasses (`A-FrameLogger.component.env-node` and\n * `A-FrameLogger.component.env-browser`) implement `write()` and `progress()`\n * since each runtime renders to a different surface (TTY vs DevTools console).\n */\nexport abstract class A_FrameLoggerBase extends A_Component implements IA_FrameLogger {\n\n protected level: A_FrameLogLevelType;\n protected prefix: string;\n protected counters: Map<string, number> = new Map();\n protected startTime: number = Date.now();\n\n constructor(config: A_FrameLoggerConfig = {}) {\n super();\n this.level = config.level ?? 'debug';\n this.prefix = config.prefix ?? '';\n }\n\n // ─── Subclass hooks ──────────────────────────────────────────────────────\n\n /** Render a fully-built log entry to the runtime-specific output. */\n protected abstract write(entry: A_FrameLogEntry): void;\n\n /** Create a runtime-specific progress bar. */\n abstract progress(label: string, total: number): A_FrameProgressBar;\n\n // ─── Configuration ───────────────────────────────────────────────────────\n\n setLevel(level: A_FrameLogLevelType): void {\n this.level = level;\n }\n\n /** Returns true when the entry passes the current level filter. */\n protected shouldEmit(level: A_FrameLogLevelType): boolean {\n return A_FRAME_LOG_LEVEL_PRIORITY[level] >= A_FRAME_LOG_LEVEL_PRIORITY[this.level];\n }\n\n // ─── Level methods (shared) ──────────────────────────────────────────────\n\n private emit(level: A_FrameLogLevelType, message: string, metadata?: Record<string, unknown>): void {\n if (!this.shouldEmit(level)) return;\n this.write({\n level,\n message: this.prefix ? `${this.prefix} ${message}` : message,\n timestamp: Date.now(),\n metadata,\n });\n }\n\n debug(msg: string, meta?: Record<string, unknown>): void { this.emit('debug', msg, meta); }\n info(msg: string, meta?: Record<string, unknown>): void { this.emit('info', msg, meta); }\n success(msg: string, meta?: Record<string, unknown>): void { this.emit('success', msg, meta); }\n warn(msg: string, meta?: Record<string, unknown>): void { this.emit('warn', msg, meta); }\n error(msg: string, meta?: Record<string, unknown>): void { this.emit('error', msg, meta); }\n\n /** Default implementation that subclasses may override for nicer headings. */\n section(title: string): void {\n this.info(`── ${title} ──`);\n }\n\n divider(): void {\n this.info('────────────────────────────────────────────────────────');\n }\n\n // ─── Counters / timing ───────────────────────────────────────────────────\n\n increment(key: string, by = 1): void {\n this.counters.set(key, (this.counters.get(key) ?? 0) + by);\n }\n\n set(key: string, value: number): void {\n this.counters.set(key, value);\n }\n\n get(key: string): number {\n return this.counters.get(key) ?? 0;\n }\n\n resetTimer(): void {\n this.startTime = Date.now();\n this.counters.clear();\n }\n\n elapsed(): string {\n const ms = Date.now() - this.startTime;\n if (ms < 1000) return `${ms}ms`;\n const s = ms / 1000;\n if (s < 60) return `${s.toFixed(2)}s`;\n const m = Math.floor(s / 60);\n return `${m}m ${(s - m * 60).toFixed(1)}s`;\n }\n\n /**\n * Print a left-aligned table of all counters plus elapsed time.\n * Concrete subclasses can override for richer rendering.\n */\n summary(title: string = A_FRAME_LOG_DEFAULTS.summaryTitle): void {\n this.section(title);\n const keys = [...this.counters.keys()];\n const pad = keys.reduce((m, k) => Math.max(m, k.length), 'elapsed'.length);\n for (const key of keys) {\n this.info(` ${key.padEnd(pad)} ${this.counters.get(key)}`);\n }\n this.info(` ${'elapsed'.padEnd(pad)} ${this.elapsed()}`);\n this.divider();\n }\n}\n","import { A_FrameLoggerBase } from \"./A-FrameLogger.component\";\nimport {\n A_FrameLogEntry,\n A_FrameLogLevelType,\n A_FrameLoggerConfig,\n A_FrameProgressBar,\n} from \"./A-FrameLogger.types\";\nimport {\n A_FRAME_BROWSER_CSS,\n A_FRAME_LOG_DEFAULTS,\n A_FrameLogIcon,\n} from \"./A-FrameLogger.constants\";\n\n\n/**\n * A_FrameLogger — Browser environment.\n *\n * Renders to the DevTools console using `%c` CSS styling. Progress is shown\n * via throttled console lines (no in-place redraw available in the browser).\n */\nexport class A_FrameLogger extends A_FrameLoggerBase {\n\n constructor(config: A_FrameLoggerConfig = {}) {\n super(config);\n }\n\n protected write(entry: A_FrameLogEntry): void {\n const icon = A_FrameLogIcon[entry.level];\n const css = A_FRAME_BROWSER_CSS[entry.level];\n const fn: (...args: unknown[]) => void =\n entry.level === 'error' ? console.error\n : entry.level === 'warn' ? console.warn\n : console.log;\n\n if (entry.metadata && Object.keys(entry.metadata).length > 0) {\n fn(`%c${icon} ${entry.message}`, css, entry.metadata);\n } else {\n fn(`%c${icon} ${entry.message}`, css);\n }\n }\n\n section(title: string): void {\n console.log(`%c┄ ${title} ┄`, 'color: #06b; font-weight: bold; padding: 2px 0;');\n }\n\n divider(): void {\n console.log('%c────────────────────────────────────────', 'color: #aaa;');\n }\n\n summary(title: string = A_FRAME_LOG_DEFAULTS.summaryTitle): void {\n this.section(title);\n const obj: Record<string, number | string> = {};\n for (const [k, v] of this.counters) obj[k] = v;\n obj.elapsed = this.elapsed();\n // console.table is universally supported and renders much nicer than\n // line-by-line in the browser DevTools.\n console.table(obj);\n this.divider();\n }\n\n // ─── Progress bar ────────────────────────────────────────────────────────\n\n progress(label: string, total: number): A_FrameProgressBar {\n const start = Date.now();\n let current = 0;\n let lastLabel = '';\n let lastEmit = 0;\n\n const emit = (force = false, status?: 'done' | 'fail') => {\n const now = Date.now();\n if (!force && now - lastEmit < A_FRAME_LOG_DEFAULTS.progressThrottleMs) return;\n lastEmit = now;\n\n const pct = total > 0 ? Math.min(100, Math.round((current / total) * 100)) : 100;\n const tail = lastLabel ? ` — ${lastLabel}` : '';\n\n if (status === 'done') {\n console.log(\n `%c✔ ${label} ${current}/${total} (${pct}%)%c — ${((now - start) / 1000).toFixed(2)}s`,\n A_FRAME_BROWSER_CSS.success,\n 'color: #888;',\n );\n } else if (status === 'fail') {\n console.log(`%c✖ ${label} FAILED at ${current}/${total}`, A_FRAME_BROWSER_CSS.error);\n } else {\n console.log(`%c⟳ ${label} ${current}/${total} (${pct}%)${tail}`, A_FRAME_BROWSER_CSS.info);\n }\n };\n\n emit(true);\n\n return {\n tick: (l?: string) => { current = Math.min(total, current + 1); if (l) lastLabel = l; emit(); },\n succeed: (l?: string) => { if (l) lastLabel = l; current = total; emit(true, 'done'); },\n fail: (l?: string) => { if (l) lastLabel = l; emit(true, 'fail'); },\n update: (n: number, l?: string) => { current = Math.min(total, Math.max(0, n)); if (l) lastLabel = l; emit(); },\n };\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import {a}from'./chunk-H6OZP4ZV.mjs';import {a as a$1}from'./chunk-VDVJWU5T.mjs';import {A_Entity,A_FormatterHelper}from'@adaas/a-concept';var m="default",r={Load:"_A_FRAME_NAMESPACE_LOAD",Save:"_A_FRAME_NAMESPACE_SAVE",Embed:"_A_FRAME_NAMESPACE_EMBED",Destroy:"_A_FRAME_NAMESPACE_DESTROY"};var s=class extends A_Entity{static get concept(){return "a-frame"}get id(){return this.aseid.id}get name(){return this._name}get hash(){return this._hash}get description(){return this._description}get metadata(){return this._metadata||{}}get vector(){return this._vector}get embedding(){return this._vector?.values??null}get aFrameServerVersion(){return this._aFrameServerVersion}get aFrameVersion(){return this._aFrameVersion}get isEmbed(){return this._vector!==void 0}save(e){return console.log(`Saving namespace "${this._name}"...`),this.call(r.Save,e)}destroy(e){return this.call(r.Destroy,e)}async load(e){return this.call(r.Load,e)}update(e){e.name&&(this._name=e.name),e.description!==void 0&&(this._description=e.description),e.metadata!==void 0&&(this._metadata=e.metadata);}embed(e){return console.log(`Embedding namespace "${this._name}"...`),this.call(r.Embed,e)}fromNew(e){this.aseid=this.generateASEID({id:A_FormatterHelper.toKebabCase(e.name),scope:"a-frame"}),this._name=e.name;let t=this._name+(e.description||"")+(e.metadata?JSON.stringify(e.metadata):"");this._hash=a.fnv1a(t),this._description=e.description,this._metadata=e.metadata;}fromJSON(e){this._name=e.name,this._hash=e.hash,this._description=e.description,this._metadata=e.metadata,this._vector=e.embedding?new a$1(e.embedding):void 0,this._embeddedAt=e.embeddedAt,this._embeddingModel=e.embeddingModel,this._credentialId=e.credentialId,this._aFrameVersion=e.aFrameVersion,this._aFrameServerVersion=e.aFrameServerVersion;}toJSON(){return {...super.toJSON(),hash:this._hash,name:this._name,description:this._description,metadata:this._metadata,embedding:this._vector?.values,embeddedAt:this._embeddedAt??Date.now(),embeddingModel:this._embeddingModel,credentialId:this._credentialId,aFrameVersion:this._aFrameVersion,aFrameServerVersion:this._aFrameServerVersion}}hydrateFromRecord(e){if(e.hash!==this._hash)throw new Error(`A_FrameNamespace.hydrateFromRecord: hash mismatch for "${this._name}" (expected ${this._hash}, got ${e.hash})`);this._vector=new a$1(e.embedding),this._embeddedAt=e.embeddedAt;}hydrateFromEmbedding(e,t){this._vector=new a$1(e),this._embeddedAt=Date.now(),t&&(this._embeddingModel=t.model,this._credentialId=t.credentialId??void 0,this._aFrameVersion=t.aFrameVersion,this._aFrameServerVersion=t.aFrameServerVersion);}toString(){let e=[`// namespace: ${this._name}`];return this._description&&e.push(`// ${this._description}`),e.join(`
2
+ `)}};export{m as a,r as b,s as c};//# sourceMappingURL=chunk-AYN7KUQT.mjs.map
3
+ //# sourceMappingURL=chunk-AYN7KUQT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameNamespace/A-FrameNamespace.constants.ts","../../src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts"],"names":["A_FRAME_DEFAULT_NAMESPACE_KEY","A_FrameNamespaceFeatures","A_FrameNamespace","A_Entity","scope","updates","init","A_FormatterHelper","hashSource","A_FrameHashHelper","serialized","A_FrameVector","record","embedding","meta","parts"],"mappings":"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","file":"chunk-AYN7KUQT.mjs","sourcesContent":["import { A_FrameNamespace } from \"./A-FrameNamespace.entity\";\n\n\nexport const A_FRAME_DEFAULT_NAMESPACE_KEY = 'default';\n\n\nexport const A_FrameNamespaceFeatures = {\n Load: '_A_FRAME_NAMESPACE_LOAD',\n Save: '_A_FRAME_NAMESPACE_SAVE',\n Embed: '_A_FRAME_NAMESPACE_EMBED',\n Destroy: '_A_FRAME_NAMESPACE_DESTROY',\n} as const;","import { A_Context, A_Entity, A_FormatterHelper, A_Scope } from \"@adaas/a-concept\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport {\n A_FrameNamespace_Init,\n A_FrameNamespace_Serialized,\n A_FrameNamespace_Record,\n A_FrameNamespace_EmbeddingMeta,\n} from \"./A-FrameNamespace.types\";\nimport { A_FrameHashHelper } from \"@adaas/a-frame/helpers/Hash.helper\";\nimport { A_FrameNamespaceFeatures } from \"./A-FrameNamespace.constants\";\n\n\nexport class A_FrameNamespace extends A_Entity<A_FrameNamespace_Init, A_FrameNamespace_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n protected _name!: string;\n protected _hash!: string;\n protected _description?: string;\n protected _metadata?: Record<string, any>;\n protected _vector?: A_FrameVector;\n protected _embeddedAt?: number;\n // ─── Provenance ───────────────────────────────────────────────────────────\n protected _embeddingModel?: string;\n protected _credentialId?: string;\n protected _aFrameVersion?: string;\n protected _aFrameServerVersion?: string;\n\n\n // ─── Getters ──────────────────────────────────────────────────────────────\n\n get id(): string {\n return this.aseid.id;\n }\n\n get name(): string {\n return this._name;\n }\n\n get hash(): string {\n return this._hash;\n }\n\n get description(): string | undefined {\n return this._description;\n }\n\n get metadata(): Record<string, any> {\n return this._metadata || {};\n }\n\n get vector(): A_FrameVector | undefined {\n return this._vector;\n }\n\n get embedding(): Float32Array | null {\n return this._vector?.values ?? null;\n }\n\n //-----------------------------------------------------------------------------------------------------\n //--------------------------------------- Computed properties -----------------------------------------\n //-----------------------------------------------------------------------------------------------------\n get aFrameServerVersion(): string | undefined {\n return this._aFrameServerVersion;\n }\n\n get aFrameVersion(): string | undefined {\n return this._aFrameVersion;\n }\n\n get isEmbed(): boolean {\n return this._vector !== undefined;\n }\n /**\n * Saves Namespace to storage. The actual implementation of saving is handled by the A_FrameNamespaceFeatures.Save feature, which can be implemented by the environment to persist the definition to a database, file system, or other storage mechanism.\n * \n * @param scope \n * @returns \n */\n save(scope?: A_Scope): Promise<void> | void {\n console.log(`Saving namespace \"${this._name}\"...`);\n return this.call(A_FrameNamespaceFeatures.Save, scope);\n }\n /**\n * Deletes the namespace from storage. The actual implementation of deletion is handled by the A_FrameNamespaceFeatures.Destroy feature, which can be implemented by the environment to remove the namespace from the database, file system, or other storage mechanism.\n * \n * @param scope \n * @returns \n */\n destroy(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameNamespaceFeatures.Destroy, scope);\n }\n /**\n * Loads the namespace from storage. The actual implementation of loading is handled by the A_FrameNamespaceFeatures.Load feature, which can be implemented by the environment to retrieve the namespace from the database, file system, or other storage mechanism and populate the entity's properties accordingly.\n * \n * @param scope \n * @returns \n */\n async load(scope?: A_Scope): Promise<void> {\n return this.call(A_FrameNamespaceFeatures.Load, scope);\n }\n /**\n * Updates the definition's properties. This can be used to modify the source code, description, metadata, or namespace of the definition. After updating, you may want to call `embed()` again to refresh the embedding based on the new content.\n * \n * @param updates \n */\n update(updates: Partial<Pick<A_FrameNamespace, 'name' | 'description' | 'metadata'>>): void {\n if (updates.name) this._name = updates.name;\n if (updates.description !== undefined) this._description = updates.description;\n if (updates.metadata !== undefined) this._metadata = updates.metadata;\n }\n /**\n * Generates an embedding vector for the namespace using the A_FrameNamespaceFeatures.Embed feature. This typically involves sending the namespace's content (name + description) to an embedding model and storing the resulting vector in the entity. Once embedded, the namespace can be searched using its vector representation.\n * \n * @param scope \n * @returns \n */\n embed(scope?: A_Scope): Promise<void> | void {\n console.log(`Embedding namespace \"${this._name}\"...`);\n return this.call(A_FrameNamespaceFeatures.Embed, scope);\n }\n\n // ─── A_Entity lifecycle ───────────────────────────────────────────────────\n\n fromNew(init: A_FrameNamespace_Init): void {\n\n this.aseid = this.generateASEID({\n id: A_FormatterHelper.toKebabCase(init.name),\n scope: 'a-frame',\n });\n\n this._name = init.name;\n\n const hashSource = this._name\n + (init.description || '')\n + (init.metadata ? JSON.stringify(init.metadata) : '');\n\n this._hash = A_FrameHashHelper.fnv1a(hashSource);\n this._description = init.description;\n this._metadata = init.metadata;\n }\n\n fromJSON(serialized: A_FrameNamespace_Serialized): void {\n this._name = serialized.name;\n this._hash = serialized.hash;\n this._description = serialized.description;\n this._metadata = serialized.metadata;\n this._vector = serialized.embedding ? new A_FrameVector(serialized.embedding) : undefined;\n this._embeddedAt = serialized.embeddedAt;\n this._embeddingModel = serialized.embeddingModel;\n this._credentialId = serialized.credentialId;\n this._aFrameVersion = serialized.aFrameVersion;\n this._aFrameServerVersion = serialized.aFrameServerVersion;\n }\n\n\n\n toJSON(): A_FrameNamespace_Serialized {\n return {\n ...super.toJSON(),\n hash: this._hash,\n name: this._name,\n description: this._description,\n metadata: this._metadata,\n embedding: this._vector?.values,\n embeddedAt: this._embeddedAt ?? Date.now(),\n embeddingModel: this._embeddingModel,\n credentialId: this._credentialId,\n aFrameVersion: this._aFrameVersion,\n aFrameServerVersion: this._aFrameServerVersion,\n };\n }\n\n\n // ─── Embedding hydration ──────────────────────────────────────────────────\n\n hydrateFromRecord(record: A_FrameNamespace_Record): void {\n if (record.hash !== this._hash) {\n throw new Error(\n `A_FrameNamespace.hydrateFromRecord: hash mismatch for \"${this._name}\" ` +\n `(expected ${this._hash}, got ${record.hash})`\n );\n }\n this._vector = new A_FrameVector(record.embedding);\n this._embeddedAt = record.embeddedAt;\n }\n\n hydrateFromEmbedding(embedding: Float32Array, meta?: A_FrameNamespace_EmbeddingMeta): void {\n this._vector = new A_FrameVector(embedding);\n this._embeddedAt = Date.now();\n if (meta) {\n this._embeddingModel = meta.model;\n this._credentialId = meta.credentialId ?? undefined;\n this._aFrameVersion = meta.aFrameVersion;\n this._aFrameServerVersion = meta.aFrameServerVersion;\n }\n }\n\n /**\n * Build the text string sent to the embedding model.\n * Uses name + description so the vector captures semantic intent.\n */\n toString(): string {\n const parts: string[] = [`// namespace: ${this._name}`];\n if (this._description) parts.push(`// ${this._description}`);\n return parts.join('\\n');\n }\n}\n\n"]}
@@ -0,0 +1,2 @@
1
+ var h=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var j=(e,b,d,c)=>{for(var a=c>1?void 0:c?i(b,d):b,f=e.length-1,g;f>=0;f--)(g=e[f])&&(a=(c?g(b,d,a):g(a))||a);return c&&a&&h(b,d,a),a},k=(e,b)=>(d,c)=>b(d,c,e);export{j as a,k as b};//# sourceMappingURL=chunk-DMGQW3AO.mjs.map
2
+ //# sourceMappingURL=chunk-DMGQW3AO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-DMGQW3AO.mjs"}
@@ -0,0 +1,2 @@
1
+ import {a,c}from'./chunk-AYN7KUQT.mjs';import {A_Fragment,A_Scope,ASEID}from'@adaas/a-concept';var d=class t extends A_Fragment{constructor(){if(t._instance)return t._instance;super({name:"A_FrameIndex"});this.definitions=new Map;this.namespaces=new Map;this.scope=new A_Scope({name:"A_FrameIndexScope"});}static get instance(){return t._instance||(t._instance=new t),t._instance}static get indexSize(){return t.instance.indexSize}static inherit(e){t.instance.inherit(e);}static addDefinition(e){t.instance.addDefinition(e);}static getDefinition(e){return t.instance.getDefinition(e)}static listDefinitions(e){return t.instance.listDefinitions(e)}static removeDefinition(e){t.instance.removeDefinition(e);}static addNamespace(e){t.instance.addNamespace(e);}static getDefaultNamespace(){return t.instance.getDefaultNamespace()}static getNamespace(e){return t.instance.getNamespace(e)}static listNamespaces(){return t.instance.listNamespaces()}static removeNamespace(e){t.instance.removeNamespace(e);}static search(e,i={}){return t.instance.search(e,i)}get indexSize(){return this.definitions.size}inherit(e){this.scope.inherit(e);}addDefinition(e){this.scope.register(e),this.namespaces.get(e.namespace.id)||this.addNamespace(e.namespace),this.definitions.set(e.id,e);}getDefinition(e){for(let i of this.definitions.values())if(i.name===e)return i}listDefinitions(e={}){let i=e.namespace?typeof e.namespace=="string"?ASEID.isASEID(e.namespace)?new ASEID(e.namespace).id:e.namespace:e.namespace.id:void 0;return [...this.definitions.values()].filter(n=>!i||n.namespace.name===i)}removeDefinition(e){this.scope.deregister(e);}addNamespace(e){this.scope.register(e),this.namespaces.set(e.id,e);}getNamespace(e){let i=typeof e=="string"?ASEID.isASEID(e)?new ASEID(e).id:e:e.id;return this.namespaces.get(i)}getDefaultNamespace(){let e=this.getNamespace(a);return e||(e=new c({name:a}),this.addNamespace(e)),e}listNamespaces(){return [...this.namespaces.values()]}removeNamespace(e){this.scope.deregister(e),this.namespaces.delete(e.id);}search(e,i={}){let{topK:n=10,namespace:a,minScore:r=0}=i;return (a?[...this.definitions.values()].filter(s=>s.namespace.id===a):[...this.definitions.values()]).map(s=>({record:s,score:this.cosineSimilarity(e,s.vector)})).filter(s=>s.score>=r).sort((s,o)=>o.score-s.score).slice(0,n).map(({record:s,score:o})=>({record:s,score:o}))}cosineSimilarity(e,i){if(!i)return 0;let n=e.dot(i),a=e.magnitude()*i.magnitude();return a===0?0:n/a}euclideanDistance(e,i){this.assertSameLength(e,i);let n=0;for(let a=0;a<e.length;a++){let r=e.values[a]-i.values[a];n+=r*r;}return Math.sqrt(n)}nearest(e,i,n=1){return [...i].map(a=>({vector:a,score:this.cosineSimilarity(e,a)})).sort((a,r)=>r.score-a.score).slice(0,n).map(a=>a.vector)}rank(e,i){return i.map(n=>({vector:n,score:this.cosineSimilarity(e,n)})).sort((n,a)=>a.score-n.score)}assertSameLength(e,i){if(e.length!==i.length)throw new Error(`Embedding dimension mismatch: ${e.length} vs ${i.length}`)}};export{d as a};//# sourceMappingURL=chunk-G66IL2DR.mjs.map
2
+ //# sourceMappingURL=chunk-G66IL2DR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameIndex/A-FrameIndex.context.ts"],"names":["A_FrameIndex","_A_FrameIndex","A_Fragment","A_Scope","scope","def","nameOrHash","filter","namespace","nameOrASEID","vector","options","name","namespaceName","ASEID","r","targetKey","defaultNamespace","A_FRAME_DEFAULT_NAMESPACE_KEY","A_FrameNamespace","topK","minScore","a","b","score","dot","mag","sum","i","diff","query","vectors","limit","v"],"mappings":"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","file":"chunk-G66IL2DR.mjs","sourcesContent":["import { A_Dependency, A_Fragment, A_Scope, ASEID } from \"@adaas/a-concept\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameNamespace } from \"../A-FrameNamespace/A-FrameNamespace.entity\";\nimport { A_FrameDefinition_SearchResult, A_FrameSearchOptions } from \"./A-FrameIndex.types\";\nimport { A_FrameDefinition } from \"../A-FrameDefinition\";\nimport { A_FRAME_DEFAULT_NAMESPACE_KEY } from \"../A-FrameNamespace/A-FrameNamespace.constants\";\n\n\n\nexport class A_FrameIndex extends A_Fragment {\n\n private static _instance: A_FrameIndex;\n\n static get instance(): A_FrameIndex {\n if (!A_FrameIndex._instance) {\n A_FrameIndex._instance = new A_FrameIndex();\n }\n return A_FrameIndex._instance;\n }\n\n static get indexSize(): number {\n return A_FrameIndex.instance.indexSize;\n }\n\n // ------------------------------------------------------------------------------------\n // --------------------Static Access to Instance Methods-------------------------------\n // ------------------------------------------------------------------------------------\n static inherit(scope: A_Scope) {\n A_FrameIndex.instance.inherit(scope);\n }\n static addDefinition(def: A_FrameDefinition): void {\n A_FrameIndex.instance.addDefinition(def);\n }\n static getDefinition(nameOrHash: string): A_FrameDefinition | undefined {\n return A_FrameIndex.instance.getDefinition(nameOrHash);\n }\n static listDefinitions(filter: {\n namespace?: string | A_FrameNamespace\n }): A_FrameDefinition[] {\n return A_FrameIndex.instance.listDefinitions(filter);\n }\n static removeDefinition(def: A_FrameDefinition): void {\n A_FrameIndex.instance.removeDefinition(def);\n }\n static addNamespace(namespace: A_FrameNamespace): void {\n A_FrameIndex.instance.addNamespace(namespace);\n }\n static getDefaultNamespace(): A_FrameNamespace {\n return A_FrameIndex.instance.getDefaultNamespace();\n }\n static getNamespace(nameOrASEID: string | ASEID): A_FrameNamespace | undefined {\n return A_FrameIndex.instance.getNamespace(nameOrASEID);\n }\n static listNamespaces(): A_FrameNamespace[] {\n return A_FrameIndex.instance.listNamespaces();\n }\n static removeNamespace(namespace: A_FrameNamespace): void {\n A_FrameIndex.instance.removeNamespace(namespace);\n }\n static search(\n vector: A_FrameVector,\n options: A_FrameSearchOptions = {},\n ): A_FrameDefinition_SearchResult[] {\n return A_FrameIndex.instance.search(vector, options);\n }\n\n // -------------------------------------------------------------------------------------\n // ------------------------------ Instance State --------------------------------------\n // -------------------------------------------------------------------------------------\n\n private definitions: Map<string, A_FrameDefinition> = new Map();\n\n private namespaces: Map<string, A_FrameNamespace> = new Map();\n\n private _index!: {\n\n namespaceToDefinitions: WeakMap<A_FrameNamespace, Set<A_FrameDefinition>>,\n\n definitionToNamespace: WeakMap<A_FrameDefinition, A_FrameNamespace>,\n };\n /**\n * Scope where all definitions and namespaces are registered as dependencies, allowing for lookup by ASEID or constructor reference.\n */\n private scope!: A_Scope\n\n\n constructor() {\n if (A_FrameIndex._instance)\n return A_FrameIndex._instance;\n\n super({ name: 'A_FrameIndex' });\n\n this.scope = new A_Scope({ name: 'A_FrameIndexScope' });\n }\n\n /** Number of loaded records */\n get indexSize(): number {\n return this.definitions.size;\n }\n\n\n // static searchByText(\n // query: string,\n // channel: A_FrameChannel,\n // options: A_FrameSearchOptions = {},\n // ): Promise<A_FrameDefinition_SearchResult[]> {\n // return A_FrameIndex.instance.searchByText(query, channel, options);\n // }\n\n\n // ------------------------------------------------------------------------------------\n // ------------------------------ Instance Methods ------------------------------------\n // ------------------------------------------------------------------------------------\n inherit(scope: A_Scope) {\n this.scope.inherit(scope);\n }\n\n addDefinition(def: A_FrameDefinition): void {\n this.scope.register(def);\n\n const existingNamespace = this.namespaces.get(def.namespace.id);\n if (!existingNamespace) {\n this.addNamespace(def.namespace);\n }\n\n this.definitions.set(def.id, def);\n }\n\n getDefinition(name: string): A_FrameDefinition | undefined {\n // Then try name lookup\n for (const def of this.definitions.values()) {\n if (def.name === name) {\n return def;\n }\n }\n\n return undefined;\n }\n\n listDefinitions(filter: {\n namespace?: string | A_FrameNamespace\n } = {}): A_FrameDefinition[] {\n const namespaceName = filter.namespace\n ? typeof filter.namespace === 'string'\n ? ASEID.isASEID(filter.namespace)\n ? new ASEID(filter.namespace).id\n : filter.namespace\n : filter.namespace.id\n : undefined;\n\n return [...this.definitions.values()].filter(r => !namespaceName || r.namespace.name === namespaceName);\n }\n\n removeDefinition(def: A_FrameDefinition): void {\n this.scope.deregister(def);\n }\n\n addNamespace(namespace: A_FrameNamespace): void {\n this.scope.register(namespace);\n\n this.namespaces.set(namespace.id, namespace);\n }\n\n getNamespace(nameOrASEID: string | ASEID): A_FrameNamespace | undefined {\n const targetKey = typeof nameOrASEID === 'string'\n ? ASEID.isASEID(nameOrASEID)\n ? new ASEID(nameOrASEID).id\n : nameOrASEID\n : nameOrASEID.id;\n\n return this.namespaces.get(targetKey);\n }\n\n getDefaultNamespace(): A_FrameNamespace {\n // Ensure default namespace always exists\n let defaultNamespace = this.getNamespace(A_FRAME_DEFAULT_NAMESPACE_KEY);\n if (!defaultNamespace) {\n defaultNamespace = new A_FrameNamespace({\n name: A_FRAME_DEFAULT_NAMESPACE_KEY,\n });\n this.addNamespace(defaultNamespace);\n }\n return defaultNamespace;\n }\n\n listNamespaces(): A_FrameNamespace[] {\n return [...this.namespaces.values()];\n }\n\n removeNamespace(namespace: A_FrameNamespace): void {\n this.scope.deregister(namespace);\n this.namespaces.delete(namespace.id);\n }\n\n\n /**\n * Search by a pre-computed embedding vector (cosine similarity).\n */\n search(\n vector: A_FrameVector,\n options: A_FrameSearchOptions = {},\n ): A_FrameDefinition_SearchResult[] {\n\n const { topK = 10, namespace, minScore = 0 } = options;\n\n const pool = namespace\n ? [...this.definitions.values()].filter(r => r.namespace.id === namespace)\n : [...this.definitions.values()];\n\n const scored = pool.map(r => ({\n record: r,\n score: this.cosineSimilarity(vector, r.vector),\n }));\n\n return scored\n .filter(s => s.score >= minScore)\n .sort((a, b) => b.score - a.score)\n .slice(0, topK)\n .map(({ record: r, score }) => ({\n record: r,\n score,\n }));\n }\n\n // protected cosineSimilarity(vectorA: A_FrameVector, vectorB?: A_FrameVector): number {\n // const a = vectorA.values ?? new Float32Array();\n // const b = vectorB?.values ?? new Float32Array();\n\n // if (a.length !== b.length) {\n // throw new Error(`A_FrameIndex: dimension mismatch ${a.length} vs ${b.length}`);\n // }\n // let dot = 0, normA = 0, normB = 0;\n // for (let i = 0; i < a.length; i++) {\n // dot += a[i] * b[i];\n // normA += a[i] * a[i];\n // normB += b[i] * b[i];\n // }\n // const denom = Math.sqrt(normA) * Math.sqrt(normB);\n // return denom === 0 ? 0 : dot / denom;\n // }\n\n cosineSimilarity(\n a: A_FrameVector,\n b?: A_FrameVector\n ): number {\n if (!b) return 0\n\n const dot = a.dot(b)\n const mag = a.magnitude() * b.magnitude()\n return mag === 0 ? 0 : dot / mag\n }\n\n euclideanDistance(\n a: A_FrameVector,\n b: A_FrameVector\n ): number {\n this.assertSameLength(a, b)\n\n let sum = 0\n for (let i = 0; i < a.length; i++) {\n const diff = a.values[i] - b.values[i]\n sum += diff * diff\n }\n return Math.sqrt(sum)\n }\n\n nearest(\n query: A_FrameVector,\n vectors: readonly A_FrameVector[],\n limit = 1\n ): A_FrameVector[] {\n return [...vectors]\n .map(v => ({\n vector: v,\n score: this.cosineSimilarity(query, v),\n }))\n .sort((a, b) => b.score - a.score)\n .slice(0, limit)\n .map(r => r.vector)\n }\n\n rank(\n query: A_FrameVector,\n vectors: readonly A_FrameVector[]\n ): Array<{ vector: A_FrameVector; score: number }> {\n return vectors\n .map(v => ({\n vector: v,\n score: this.cosineSimilarity(query, v),\n }))\n .sort((a, b) => b.score - a.score)\n }\n\n private assertSameLength(\n a: A_FrameVector,\n b: A_FrameVector\n ) {\n if (a.length !== b.length) {\n throw new Error(\n `Embedding dimension mismatch: ${a.length} vs ${b.length}`\n )\n }\n }\n\n\n\n /**\n * Search by plain text — sends the query to the embed server via channel first.\n */\n // async searchByText(\n // query: string,\n // channel: A_FrameChannel,\n // options: A_FrameSearchOptions = {},\n // ): Promise<A_FrameDefinition_SearchResult[]> {\n // this.assertLoaded();\n // const resp = await channel.embed(query);\n // const queryEmbedding = new Float32Array(resp.data[0].embedding);\n // return this.search(queryEmbedding, options);\n // }\n\n}"]}
@@ -0,0 +1,2 @@
1
+ var a=class{static fnv1a(r){let t=2166136261;for(let n=0;n<r.length;n++)t^=r.charCodeAt(n),t=t*16777619>>>0;return t.toString(16).padStart(8,"0")}};export{a};//# sourceMappingURL=chunk-H6OZP4ZV.mjs.map
2
+ //# sourceMappingURL=chunk-H6OZP4ZV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/Hash.helper.ts"],"names":["A_FrameHashHelper","str","hash","i"],"mappings":"AAEO,IAAMA,CAAAA,CAAN,KAAwB,CAG3B,OAAO,MAAMC,CAAAA,CAAqB,CAC9B,IAAIC,CAAAA,CAAO,WACX,IAAA,IAASC,CAAAA,CAAI,CAAA,CAAGA,CAAAA,CAAIF,EAAI,MAAA,CAAQE,CAAAA,EAAAA,CAC5BD,CAAAA,EAAQD,CAAAA,CAAI,WAAWE,CAAC,CAAA,CACxBD,CAAAA,CAAQA,CAAAA,CAAO,WAAgB,CAAA,CAEnC,OAAOA,CAAAA,CAAK,QAAA,CAAS,EAAE,CAAA,CAAE,QAAA,CAAS,CAAA,CAAG,GAAG,CAC5C,CACJ","file":"chunk-H6OZP4ZV.mjs","sourcesContent":["\n\nexport class A_FrameHashHelper {\n\n // ─── Hash (FNV-1a 32-bit, no external deps) ──────────────────────────────────\n static fnv1a(str: string): string {\n let hash = 2_166_136_261; // offset basis\n for (let i = 0; i < str.length; i++) {\n hash ^= str.charCodeAt(i);\n hash = (hash * 16_777_619) >>> 0; // keep 32-bit unsigned\n }\n return hash.toString(16).padStart(8, \"0\");\n }\n}"]}
@@ -0,0 +1,2 @@
1
+ import {A_Component}from'@adaas/a-concept';var y=class r extends A_Component{static getSubtle(){return globalThis.crypto.subtle}static bytes(t){return t.buffer instanceof ArrayBuffer?t:new Uint8Array(t)}static async importKey(t){let e=r.base64ToBytes(t);return r.getSubtle().importKey("raw",e.buffer,{name:"AES-GCM",length:256},false,["encrypt","decrypt"])}static async encryptBytes(t,e){let n=await r.importKey(e),s=new Uint8Array(12);globalThis.crypto.getRandomValues(s);let i=new Uint8Array(await r.getSubtle().encrypt({name:"AES-GCM",iv:s,tagLength:128},n,r.bytes(t))),a=i.slice(0,i.length-16),c=i.slice(i.length-16),o=new Uint8Array(28+a.length);return o.set(s,0),o.set(c,12),o.set(a,28),o}static async encrypt(t,e){let n=new TextEncoder().encode(t),s=await r.encryptBytes(n,e);return r.bytesToBase64(s)}static async decryptBytes(t,e){if(t.length<28)throw new Error("Payload too short to decrypt");let n=await r.importKey(e),s=t.slice(0,12),i=t.slice(12,28),a=t.slice(28),c=new Uint8Array(a.length+16);c.set(a,0),c.set(i,a.length);let o=await r.getSubtle().decrypt({name:"AES-GCM",iv:r.bytes(s),tagLength:128},n,c);return new Uint8Array(o)}static async decrypt(t,e){let n=r.base64ToBytes(t),s=await r.decryptBytes(n,e);return new TextDecoder().decode(s)}static async sha256hex(t){let e=new TextEncoder().encode(t),n=await r.getSubtle().digest("SHA-256",e);return r.bytesToHex(new Uint8Array(n))}static bytesToBase64(t){let e="";for(let n of t)e+=String.fromCharCode(n);return btoa(e)}static base64ToBytes(t){let e=atob(t),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n}static bytesToHex(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}};export{y as a};//# sourceMappingURL=chunk-INS7RO3B.mjs.map
2
+ //# sourceMappingURL=chunk-INS7RO3B.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameCrypto/A-FrameCrypto.component.env-browser.ts"],"names":["A_FrameCrypto","_A_FrameCrypto","A_Component","u","keyBase64","raw","plain","key","iv","cipherWithTag","ciphertext","authTag","out","bytes","encrypted","payload","payloadBase64","input","data","hashBuffer","bin","b","b64","i"],"mappings":"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","file":"chunk-INS7RO3B.mjs","sourcesContent":["import { A_Component } from \"@adaas/a-concept\";\n\n/**\n * A_FrameCrypto — Browser environment\n *\n * AES-256-GCM encryption + SHA-256 hashing via globalThis.crypto.subtle.\n * No Node.js-specific require() calls — safe to include in browser bundles.\n *\n * Binary payload format on disk:\n * IV (12B) + AuthTag (16B) + Ciphertext (NB)\n */\nexport class A_FrameCrypto extends A_Component {\n\n // ─── Internal helpers ─────────────────────────────────────────────────────\n\n private static getSubtle(): SubtleCrypto {\n return globalThis.crypto.subtle;\n }\n\n /**\n * Ensure a Uint8Array is backed by a plain ArrayBuffer.\n * SubtleCrypto rejects ArrayBufferLike (e.g. SharedArrayBuffer) on strict TS targets.\n */\n private static bytes(u: Uint8Array): Uint8Array {\n if (u.buffer instanceof ArrayBuffer) return u;\n return new Uint8Array(u);\n }\n\n private static async importKey(keyBase64: string): Promise<CryptoKey> {\n const raw = A_FrameCrypto.base64ToBytes(keyBase64);\n return A_FrameCrypto.getSubtle().importKey(\n 'raw', raw.buffer as ArrayBuffer, { name: 'AES-GCM', length: 256 }, false, ['encrypt', 'decrypt']\n );\n }\n\n\n // ─── Encrypt ─────────────────────────────────────────────────────────────\n\n /** Encrypt a Uint8Array → IV(12) + AuthTag(16) + Ciphertext */\n static async encryptBytes(plain: Uint8Array, keyBase64: string): Promise<Uint8Array> {\n const key = await A_FrameCrypto.importKey(keyBase64);\n const iv = new Uint8Array(12);\n globalThis.crypto.getRandomValues(iv);\n\n const cipherWithTag = new Uint8Array(\n await A_FrameCrypto.getSubtle().encrypt({ name: 'AES-GCM', iv, tagLength: 128 }, key, A_FrameCrypto.bytes(plain))\n );\n const ciphertext = cipherWithTag.slice(0, cipherWithTag.length - 16);\n const authTag = cipherWithTag.slice(cipherWithTag.length - 16);\n\n const out = new Uint8Array(12 + 16 + ciphertext.length);\n out.set(iv, 0);\n out.set(authTag, 12);\n out.set(ciphertext, 28);\n return out;\n }\n\n /** Encrypt a UTF-8 string → base64 payload string */\n static async encrypt(plain: string, keyBase64: string): Promise<string> {\n const bytes = new TextEncoder().encode(plain);\n const encrypted = await A_FrameCrypto.encryptBytes(bytes, keyBase64);\n return A_FrameCrypto.bytesToBase64(encrypted);\n }\n\n\n // ─── Decrypt ─────────────────────────────────────────────────────────────\n\n /** Decrypt a Uint8Array payload produced by encryptBytes() */\n static async decryptBytes(payload: Uint8Array, keyBase64: string): Promise<Uint8Array> {\n if (payload.length < 28) throw new Error('Payload too short to decrypt');\n\n const key = await A_FrameCrypto.importKey(keyBase64);\n const iv = payload.slice(0, 12);\n const authTag = payload.slice(12, 28);\n const ciphertext = payload.slice(28);\n\n const cipherWithTag = new Uint8Array(ciphertext.length + 16);\n cipherWithTag.set(ciphertext, 0);\n cipherWithTag.set(authTag, ciphertext.length);\n\n const plain = await A_FrameCrypto.getSubtle().decrypt(\n { name: 'AES-GCM', iv: A_FrameCrypto.bytes(iv), tagLength: 128 }, key, cipherWithTag\n );\n return new Uint8Array(plain);\n }\n\n /** Decrypt a base64 payload string → UTF-8 string */\n static async decrypt(payloadBase64: string, keyBase64: string): Promise<string> {\n const payload = A_FrameCrypto.base64ToBytes(payloadBase64);\n const plain = await A_FrameCrypto.decryptBytes(payload, keyBase64);\n return new TextDecoder().decode(plain);\n }\n\n\n // ─── Hashing ─────────────────────────────────────────────────────────────\n\n /** SHA-256 of a string → hex string */\n static async sha256hex(input: string): Promise<string> {\n const data = new TextEncoder().encode(input);\n const hashBuffer = await A_FrameCrypto.getSubtle().digest('SHA-256', data);\n return A_FrameCrypto.bytesToHex(new Uint8Array(hashBuffer));\n }\n\n\n // ─── Encode helpers ───────────────────────────────────────────────────────\n\n static bytesToBase64(bytes: Uint8Array): string {\n let bin = '';\n for (const b of bytes) bin += String.fromCharCode(b);\n return btoa(bin);\n }\n\n static base64ToBytes(b64: string): Uint8Array {\n const bin = atob(b64);\n const bytes = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; i++) bytes[i] = bin.charCodeAt(i);\n return bytes;\n }\n\n static bytesToHex(bytes: Uint8Array): string {\n return Array.from(bytes).map(b => b.toString(16).padStart(2, '0')).join('');\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ //# sourceMappingURL=chunk-K4MZY4ME.mjs.map
2
+ //# sourceMappingURL=chunk-K4MZY4ME.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-K4MZY4ME.mjs"}
@@ -0,0 +1,3 @@
1
+ import {A_Fragment}from'@adaas/a-concept';var e="0.0.22";var s=class extends A_Fragment{get A_FRAME_TOKEN(){return window.A_FRAME_TOKEN||""}get A_FRAME_SERVER_URL(){return window.A_FRAME_SERVER_URL||"http://localhost:3000"}get A_FRAME_VERSION(){return e}get A_FRAME_SERVER_API_KEY(){return window.A_FRAME_SERVER_API_KEY||""}get A_FRAME_STORAGE_DIR(){return window.A_FRAME_STORAGE_DIR||".aframestr"}};
2
+ export{e as a,s as b};//# sourceMappingURL=chunk-OFKV5GNB.mjs.map
3
+ //# sourceMappingURL=chunk-OFKV5GNB.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../package.json","../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts"],"names":["version","A_FrameEnv","A_Fragment"],"mappings":"0CAEE,IAAAA,EAAW,SCON,IAAMC,CAAAA,CAAN,cAAyBC,UAAkC,CAE9D,IAAI,aAAA,EAAgB,CAChB,OAAQ,MAAA,CAAe,aAAA,EAAiB,EAC5C,CAEA,IAAI,kBAAA,EAAqB,CACrB,OAAQ,MAAA,CAAe,oBAAsB,uBACjD,CAEA,IAAI,eAAA,EAAkB,CAClB,OAAWF,CACf,CAEA,IAAI,sBAAA,EAAyB,CACzB,OAAQ,MAAA,CAAe,sBAAA,EAA0B,EACrD,CAEA,IAAI,mBAAA,EAAsB,CACtB,OAAQ,MAAA,CAAe,mBAAA,EAAuB,YAClD,CACJ","file":"chunk-OFKV5GNB.mjs","sourcesContent":["{\n \"name\": \"@adaas/a-frame\",\n \"version\": \"0.0.22\",\n \"description\": \"A-frame is index build engine for A-Concept ecosystem. It provides a way to build index structures for A-Concept basics\",\n \"license\": \"Apache-2.0\",\n \"author\": {\n \"name\": \"ADAAS YAZILIM LİMİTED ŞİRKETİ\",\n \"email\": \"contact-us@adaas.org\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/ADAAS-org/adaas-a-frame/issues\"\n },\n \"homepage\": \"https://github.com/ADAAS-org/adaas-a-frame#readme\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/ADAAS-org/adaas-a-frame.git\"\n },\n \"bin\": {\n \"a-frame\": \"./dist/index.cjs\"\n },\n \"exports\": {\n \".\": {\n \"browser\": {\n \"types\": \"./dist/browser/index.d.mts\",\n \"import\": \"./dist/browser/index.mjs\"\n },\n \"types\": \"./dist/node/index.d.ts\",\n \"import\": \"./dist/node/index.mjs\",\n \"require\": \"./dist/node/index.cjs\"\n },\n \"./core\": {\n \"browser\": {\n \"types\": \"./dist/browser/core.d.mts\",\n \"import\": \"./dist/browser/core.mjs\"\n },\n \"types\": \"./dist/node/core.d.ts\",\n \"import\": \"./dist/node/core.mjs\",\n \"require\": \"./dist/node/core.cjs\"\n },\n \"./bundle\": {\n \"browser\": {\n \"types\": \"./dist/browser/bundle.d.mts\",\n \"import\": \"./dist/browser/bundle.mjs\"\n },\n \"types\": \"./dist/node/bundle.d.ts\",\n \"import\": \"./dist/node/bundle.mjs\",\n \"require\": \"./dist/node/bundle.cjs\"\n },\n \"./channel\": {\n \"browser\": {\n \"types\": \"./dist/browser/channel.d.mts\",\n \"import\": \"./dist/browser/channel.mjs\"\n },\n \"types\": \"./dist/node/channel.d.ts\",\n \"import\": \"./dist/node/channel.mjs\",\n \"require\": \"./dist/node/channel.cjs\"\n },\n \"./crypto\": {\n \"browser\": {\n \"types\": \"./dist/browser/crypto.d.mts\",\n \"import\": \"./dist/browser/crypto.mjs\"\n },\n \"types\": \"./dist/node/crypto.d.ts\",\n \"import\": \"./dist/node/crypto.mjs\",\n \"require\": \"./dist/node/crypto.cjs\"\n },\n \"./definition\": {\n \"browser\": {\n \"types\": \"./dist/browser/definition.d.mts\",\n \"import\": \"./dist/browser/definition.mjs\"\n },\n \"types\": \"./dist/node/definition.d.ts\",\n \"import\": \"./dist/node/definition.mjs\",\n \"require\": \"./dist/node/definition.cjs\"\n },\n \"./dynamic-feature\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-feature.d.mts\",\n \"import\": \"./dist/browser/dynamic-feature.mjs\"\n },\n \"types\": \"./dist/node/dynamic-feature.d.ts\",\n \"import\": \"./dist/node/dynamic-feature.mjs\",\n \"require\": \"./dist/node/dynamic-feature.cjs\"\n },\n \"./dynamic-structure\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-structure.d.mts\",\n \"import\": \"./dist/browser/dynamic-structure.mjs\"\n },\n \"types\": \"./dist/node/dynamic-structure.d.ts\",\n \"import\": \"./dist/node/dynamic-structure.mjs\",\n \"require\": \"./dist/node/dynamic-structure.cjs\"\n },\n \"./env\": {\n \"browser\": {\n \"types\": \"./dist/browser/env.d.mts\",\n \"import\": \"./dist/browser/env.mjs\"\n },\n \"types\": \"./dist/node/env.d.ts\",\n \"import\": \"./dist/node/env.mjs\",\n \"require\": \"./dist/node/env.cjs\"\n },\n \"./index\": {\n \"browser\": {\n \"types\": \"./dist/browser/frame-index.d.mts\",\n \"import\": \"./dist/browser/frame-index.mjs\"\n },\n \"types\": \"./dist/node/frame-index.d.ts\",\n \"import\": \"./dist/node/frame-index.mjs\",\n \"require\": \"./dist/node/frame-index.cjs\"\n },\n \"./logger\": {\n \"browser\": {\n \"types\": \"./dist/browser/logger.d.mts\",\n \"import\": \"./dist/browser/logger.mjs\"\n },\n \"types\": \"./dist/node/logger.d.ts\",\n \"import\": \"./dist/node/logger.mjs\",\n \"require\": \"./dist/node/logger.cjs\"\n },\n \"./namespace\": {\n \"browser\": {\n \"types\": \"./dist/browser/namespace.d.mts\",\n \"import\": \"./dist/browser/namespace.mjs\"\n },\n \"types\": \"./dist/node/namespace.d.ts\",\n \"import\": \"./dist/node/namespace.mjs\",\n \"require\": \"./dist/node/namespace.cjs\"\n },\n \"./storage\": {\n \"browser\": {\n \"types\": \"./dist/browser/storage.d.mts\",\n \"import\": \"./dist/browser/storage.mjs\"\n },\n \"types\": \"./dist/node/storage.d.ts\",\n \"import\": \"./dist/node/storage.mjs\",\n \"require\": \"./dist/node/storage.cjs\"\n },\n \"./vector\": {\n \"browser\": {\n \"types\": \"./dist/browser/vector.d.mts\",\n \"import\": \"./dist/browser/vector.mjs\"\n },\n \"types\": \"./dist/node/vector.d.ts\",\n \"import\": \"./dist/node/vector.mjs\",\n \"require\": \"./dist/node/vector.cjs\"\n }\n },\n \"keywords\": [\n \"adaas\",\n \"a-frame\",\n \"ai index\",\n \"embeddings\",\n \"a-concept\",\n \"rag\"\n ],\n \"sideEffects\": false,\n \"nodemonConfig\": {\n \"ignore\": [\n \"**/*.test.ts\",\n \"**/*.spec.ts\",\n \".git\",\n \"node_modules\"\n ],\n \"watch\": [\n \"src\",\n \"examples\"\n ],\n \"exec\": \"node -r tsconfig-paths/register -r ts-node/register \",\n \"ext\": \"ts, js\"\n },\n \"scripts\": {\n \"test\": \"jest --detectOpenHandles\",\n \"test:browser\": \"jest --config jest.config.browser.ts --detectOpenHandles\",\n \"start\": \"nodemon ./tests/example-usage.ts\",\n \"start:test\": \"node -r tsconfig-paths/register -r ts-node/register ./index.ts\",\n \"release\": \"npm run test && npm run build && git add . && git commit -m \\\"new version created :: $(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\\\",]//g')\\\" && npm version patch && npm publish --access public\",\n \"version\": \"echo git add .\",\n \"postversion\": \"git push --no-verify && git push --tags --no-verify && echo \\\"\\n======Version Pushed Successfully=====\\n\\\" \",\n \"echo-version\": \"echo $npm_package_version\",\n \"build\": \"tsup --config tsup.config.ts\"\n },\n \"dependencies\": {\n \"@adaas/a-concept\": \"^0.3.14\"\n },\n \"devDependencies\": {\n \"@types/chai\": \"^4.3.14\",\n \"@types/jest\": \"^29.5.12\",\n \"@types/mocha\": \"^10.0.6\",\n \"@types/node\": \"^24.9.1\",\n \"chai\": \"^5.1.0\",\n \"dotenv\": \"^16.6.1\",\n \"jest\": \"^29.7.0\",\n \"jest-environment-jsdom\": \"^29.7.0\",\n \"mocha\": \"^10.4.0\",\n \"nodemon\": \"^3.1.4\",\n \"ts-jest\": \"^29.1.2\",\n \"ts-node\": \"^10.9.2\",\n \"tsconfig-paths\": \"^4.2.0\",\n \"tscpaths\": \"^0.0.9\",\n \"tsup\": \"^8.5.0\"\n },\n \"directories\": {\n \"doc\": \"docs\",\n \"test\": \"tests\"\n }\n}\n","import { A_Fragment } from \"@adaas/a-concept\";\nimport * as pkg from '../../../package.json';\nimport { IA_FrameEnv } from \"./A-FrameEnv.types\";\n\n\n\n/**\n * This class tailored from browser environment and it is used to get the env variables from the global scope and make them available for the A_FrameTask to use them in the task execution.\n */\nexport class A_FrameEnv extends A_Fragment implements IA_FrameEnv {\n\n get A_FRAME_TOKEN() {\n return (window as any).A_FRAME_TOKEN || '';\n }\n\n get A_FRAME_SERVER_URL() {\n return (window as any).A_FRAME_SERVER_URL || 'http://localhost:3000';\n }\n\n get A_FRAME_VERSION() {\n return pkg.version || '0.0.1';\n }\n\n get A_FRAME_SERVER_API_KEY() {\n return (window as any).A_FRAME_SERVER_API_KEY || '';\n }\n\n get A_FRAME_STORAGE_DIR() {\n return (window as any).A_FRAME_STORAGE_DIR || '.aframestr';\n }\n}"]}
@@ -0,0 +1,3 @@
1
+ import {A_Fragment}from'@adaas/a-concept';var e="0.0.22";var s=class extends A_Fragment{get A_FRAME_TOKEN(){return window.A_FRAME_TOKEN||""}get A_FRAME_SERVER_URL(){return window.A_FRAME_SERVER_URL||"http://localhost:3000"}get A_FRAME_VERSION(){return e}get A_FRAME_SERVER_API_KEY(){return window.A_FRAME_SERVER_API_KEY||""}get A_FRAME_STORAGE_DIR(){return window.A_FRAME_STORAGE_DIR||".aframestr"}};
2
+ export{e as a,s as b};//# sourceMappingURL=chunk-QATIN7CO.mjs.map
3
+ //# sourceMappingURL=chunk-QATIN7CO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../package.json","../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts"],"names":["version","A_FrameEnv","A_Fragment"],"mappings":"0CAEE,IAAAA,EAAW,SCON,IAAMC,CAAAA,CAAN,cAAyBC,UAAkC,CAE9D,IAAI,aAAA,EAAgB,CAChB,OAAQ,MAAA,CAAe,aAAA,EAAiB,EAC5C,CAEA,IAAI,kBAAA,EAAqB,CACrB,OAAQ,MAAA,CAAe,oBAAsB,uBACjD,CAEA,IAAI,eAAA,EAAkB,CAClB,OAAWF,CACf,CAEA,IAAI,sBAAA,EAAyB,CACzB,OAAQ,MAAA,CAAe,sBAAA,EAA0B,EACrD,CAEA,IAAI,mBAAA,EAAsB,CACtB,OAAQ,MAAA,CAAe,mBAAA,EAAuB,YAClD,CACJ","file":"chunk-QATIN7CO.mjs","sourcesContent":["{\n \"name\": \"@adaas/a-frame\",\n \"version\": \"0.0.22\",\n \"description\": \"A-frame is index build engine for A-Concept ecosystem. It provides a way to build index structures for A-Concept basics\",\n \"license\": \"Apache-2.0\",\n \"author\": {\n \"name\": \"ADAAS YAZILIM LİMİTED ŞİRKETİ\",\n \"email\": \"contact-us@adaas.org\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/ADAAS-org/adaas-a-frame/issues\"\n },\n \"homepage\": \"https://github.com/ADAAS-org/adaas-a-frame#readme\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/ADAAS-org/adaas-a-frame.git\"\n },\n \"bin\": {\n \"a-frame\": \"./dist/index.cjs\"\n },\n \"exports\": {\n \".\": {\n \"browser\": {\n \"types\": \"./dist/browser/index.d.mts\",\n \"import\": \"./dist/browser/index.mjs\"\n },\n \"import\": \"./dist/node/index.mjs\",\n \"require\": \"./dist/node/index.cjs\",\n \"types\": \"./dist/node/index.d.ts\"\n },\n \"./core\": {\n \"browser\": {\n \"types\": \"./dist/browser/core.d.mts\",\n \"import\": \"./dist/browser/core.mjs\"\n },\n \"import\": \"./dist/node/core.mjs\",\n \"require\": \"./dist/node/core.cjs\",\n \"types\": \"./dist/node/core.d.ts\"\n },\n \"./bundle\": {\n \"browser\": {\n \"types\": \"./dist/browser/bundle.d.mts\",\n \"import\": \"./dist/browser/bundle.mjs\"\n },\n \"import\": \"./dist/node/bundle.mjs\",\n \"require\": \"./dist/node/bundle.cjs\",\n \"types\": \"./dist/node/bundle.d.ts\"\n },\n \"./channel\": {\n \"browser\": {\n \"types\": \"./dist/browser/channel.d.mts\",\n \"import\": \"./dist/browser/channel.mjs\"\n },\n \"import\": \"./dist/node/channel.mjs\",\n \"require\": \"./dist/node/channel.cjs\",\n \"types\": \"./dist/node/channel.d.ts\"\n },\n \"./crypto\": {\n \"browser\": {\n \"types\": \"./dist/browser/crypto.d.mts\",\n \"import\": \"./dist/browser/crypto.mjs\"\n },\n \"import\": \"./dist/node/crypto.mjs\",\n \"require\": \"./dist/node/crypto.cjs\",\n \"types\": \"./dist/node/crypto.d.ts\"\n },\n \"./definition\": {\n \"browser\": {\n \"types\": \"./dist/browser/definition.d.mts\",\n \"import\": \"./dist/browser/definition.mjs\"\n },\n \"import\": \"./dist/node/definition.mjs\",\n \"require\": \"./dist/node/definition.cjs\",\n \"types\": \"./dist/node/definition.d.ts\"\n },\n \"./dynamic-feature\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-feature.d.mts\",\n \"import\": \"./dist/browser/dynamic-feature.mjs\"\n },\n \"import\": \"./dist/node/dynamic-feature.mjs\",\n \"require\": \"./dist/node/dynamic-feature.cjs\",\n \"types\": \"./dist/node/dynamic-feature.d.ts\"\n },\n \"./dynamic-structure\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-structure.d.mts\",\n \"import\": \"./dist/browser/dynamic-structure.mjs\"\n },\n \"import\": \"./dist/node/dynamic-structure.mjs\",\n \"require\": \"./dist/node/dynamic-structure.cjs\",\n \"types\": \"./dist/node/dynamic-structure.d.ts\"\n },\n \"./env\": {\n \"browser\": {\n \"types\": \"./dist/browser/env.d.mts\",\n \"import\": \"./dist/browser/env.mjs\"\n },\n \"import\": \"./dist/node/env.mjs\",\n \"require\": \"./dist/node/env.cjs\",\n \"types\": \"./dist/node/env.d.ts\"\n },\n \"./index\": {\n \"browser\": {\n \"types\": \"./dist/browser/frame-index.d.mts\",\n \"import\": \"./dist/browser/frame-index.mjs\"\n },\n \"import\": \"./dist/node/frame-index.mjs\",\n \"require\": \"./dist/node/frame-index.cjs\",\n \"types\": \"./dist/node/frame-index.d.ts\"\n },\n \"./logger\": {\n \"browser\": {\n \"types\": \"./dist/browser/logger.d.mts\",\n \"import\": \"./dist/browser/logger.mjs\"\n },\n \"import\": \"./dist/node/logger.mjs\",\n \"require\": \"./dist/node/logger.cjs\",\n \"types\": \"./dist/node/logger.d.ts\"\n },\n \"./namespace\": {\n \"browser\": {\n \"types\": \"./dist/browser/namespace.d.mts\",\n \"import\": \"./dist/browser/namespace.mjs\"\n },\n \"import\": \"./dist/node/namespace.mjs\",\n \"require\": \"./dist/node/namespace.cjs\",\n \"types\": \"./dist/node/namespace.d.ts\"\n },\n \"./storage\": {\n \"browser\": {\n \"types\": \"./dist/browser/storage.d.mts\",\n \"import\": \"./dist/browser/storage.mjs\"\n },\n \"import\": \"./dist/node/storage.mjs\",\n \"require\": \"./dist/node/storage.cjs\",\n \"types\": \"./dist/node/storage.d.ts\"\n },\n \"./vector\": {\n \"browser\": {\n \"types\": \"./dist/browser/vector.d.mts\",\n \"import\": \"./dist/browser/vector.mjs\"\n },\n \"import\": \"./dist/node/vector.mjs\",\n \"require\": \"./dist/node/vector.cjs\",\n \"types\": \"./dist/node/vector.d.ts\"\n }\n },\n \"keywords\": [\n \"adaas\",\n \"a-frame\",\n \"ai index\",\n \"embeddings\",\n \"a-concept\",\n \"rag\"\n ],\n \"sideEffects\": false,\n \"nodemonConfig\": {\n \"ignore\": [\n \"**/*.test.ts\",\n \"**/*.spec.ts\",\n \".git\",\n \"node_modules\"\n ],\n \"watch\": [\n \"src\",\n \"examples\"\n ],\n \"exec\": \"node -r tsconfig-paths/register -r ts-node/register \",\n \"ext\": \"ts, js\"\n },\n \"scripts\": {\n \"test\": \"jest --detectOpenHandles\",\n \"test:browser\": \"jest --config jest.config.browser.ts --detectOpenHandles\",\n \"start\": \"nodemon ./tests/example-usage.ts\",\n \"start:test\": \"node -r tsconfig-paths/register -r ts-node/register ./index.ts\",\n \"release\": \"npm run test && npm run build && git add . && git commit -m \\\"new version created :: $(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\\\",]//g')\\\" && npm version patch && npm publish --access public\",\n \"version\": \"echo git add .\",\n \"postversion\": \"git push --no-verify && git push --tags --no-verify && echo \\\"\\n======Version Pushed Successfully=====\\n\\\" \",\n \"echo-version\": \"echo $npm_package_version\",\n \"build\": \"tsup --config tsup.config.ts\"\n },\n \"dependencies\": {\n \"@adaas/a-concept\": \"^0.3.14\"\n },\n \"devDependencies\": {\n \"@types/chai\": \"^4.3.14\",\n \"@types/jest\": \"^29.5.12\",\n \"@types/mocha\": \"^10.0.6\",\n \"@types/node\": \"^24.9.1\",\n \"chai\": \"^5.1.0\",\n \"dotenv\": \"^16.6.1\",\n \"jest\": \"^29.7.0\",\n \"jest-environment-jsdom\": \"^29.7.0\",\n \"mocha\": \"^10.4.0\",\n \"nodemon\": \"^3.1.4\",\n \"ts-jest\": \"^29.1.2\",\n \"ts-node\": \"^10.9.2\",\n \"tsconfig-paths\": \"^4.2.0\",\n \"tscpaths\": \"^0.0.9\",\n \"tsup\": \"^8.5.0\"\n },\n \"directories\": {\n \"doc\": \"docs\",\n \"test\": \"tests\"\n }\n}\n","import { A_Fragment } from \"@adaas/a-concept\";\nimport * as pkg from '../../../package.json';\nimport { IA_FrameEnv } from \"./A-FrameEnv.types\";\n\n\n\n/**\n * This class tailored from browser environment and it is used to get the env variables from the global scope and make them available for the A_FrameTask to use them in the task execution.\n */\nexport class A_FrameEnv extends A_Fragment implements IA_FrameEnv {\n\n get A_FRAME_TOKEN() {\n return (window as any).A_FRAME_TOKEN || '';\n }\n\n get A_FRAME_SERVER_URL() {\n return (window as any).A_FRAME_SERVER_URL || 'http://localhost:3000';\n }\n\n get A_FRAME_VERSION() {\n return pkg.version || '0.0.1';\n }\n\n get A_FRAME_SERVER_API_KEY() {\n return (window as any).A_FRAME_SERVER_API_KEY || '';\n }\n\n get A_FRAME_STORAGE_DIR() {\n return (window as any).A_FRAME_STORAGE_DIR || '.aframestr';\n }\n}"]}
@@ -0,0 +1,2 @@
1
+ import {b as b$1}from'./chunk-QATIN7CO.mjs';import {c,b as b$3}from'./chunk-AYN7KUQT.mjs';import {a as a$2}from'./chunk-INS7RO3B.mjs';import {b as b$2,a as a$1}from'./chunk-ZVCTU2DN.mjs';import {a,b}from'./chunk-DMGQW3AO.mjs';import {A_Concept,A_Inject,A_Scope,A_Feature,A_Caller,A_Error,A_Fragment,A_Component,A_Context}from'@adaas/a-concept';var w=class extends A_Fragment{constructor(){super({name:"a-frame-context"});}get encryptionKey(){return this.credentials?.encryption_key}get serverVersion(){return this.credentials?.server_version}isAuthenticated(){return !!this.credentials}setCredentials(s){if(s.error){this.credentials=void 0;return}this.credentials=s.response||void 0;}};var S={SaveDefinitions:"_A_FRAME_STORAGE_SAVE",LoadDefinitions:"_A_FRAME_STORAGE_LOAD",DestroyDefinitions:"_A_FRAME_STORAGE_DESTROY",SaveNamespaces:"_A_FRAME_STORAGE_SAVE_NAMESPACES",LoadNamespaces:"_A_FRAME_STORAGE_LOAD_NAMESPACES",DestroyNamespaces:"_A_FRAME_STORAGE_DESTROY_NAMESPACES"};var g=class extends A_Fragment{constructor(s){super({name:"a-frame-storage-operation"}),this._params=s;}get result(){return this._result}get error(){return this._error}get params(){return this._params}complete(s){this._result=s;}fail(s){this._error=s;}};var _=class extends A_Error{};_.SaveDefinitionFailed="SaveDefinitionFailed",_.LoadDefinitionsFailed="LoadDefinitionsFailed",_.DestroyDefinitionsFailed="DestroyDefinitionsFailed",_.SaveNamespaceFailed="SaveNamespaceFailed",_.LoadNamespacesFailed="LoadNamespacesFailed",_.DestroyNamespacesFailed="DestroyNamespacesFailed";var R=class extends A_Component{async saveDefinitions(s){let e=new g({records:s}),t=new A_Scope({name:"A_FrameStorage.saveDefinitions",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(S.SaveDefinitions,t),t.destroy(),e}catch{return e.fail(new _({title:_.SaveDefinitionFailed,description:"Failed to save definition records."})),t.destroy(),e}}async loadDefinitions(s,e){let t=new g({namespaceId:s}),a=new A_Scope({name:"A_FrameStorage.loadDefinitions",fragments:[t]}).inherit(A_Context.scope(this));try{return await this.call(S.LoadDefinitions,a),a.destroy(),t}catch{return t.fail(new _({title:_.LoadDefinitionsFailed,description:"Failed to load definition records."})),a.destroy(),t}}async destroyDefinitions(s,e){let t=new g({namespaceId:s,definitionId:e}),a=new A_Scope({name:"A_FrameStorage.destroyDefinitions",fragments:[t]}).inherit(A_Context.scope(this));try{return await this.call(S.DestroyDefinitions,a),a.destroy(),t}catch{return t.fail(new _({title:_.DestroyDefinitionsFailed,description:"Failed to destroy definition records."})),a.destroy(),t}}async saveNamespaces(s){let e=new g({records:s}),t=new A_Scope({name:"A_FrameStorage.saveNamespaces",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(S.SaveNamespaces,t),t.destroy(),e}catch{return e.fail(new _({title:_.SaveNamespaceFailed,description:"Failed to save namespace records."})),t.destroy(),e}}async loadNamespaces(s){let e=new g({namespaces:s}),t=new A_Scope({name:"A_FrameStorage.loadNamespaces",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(S.LoadNamespaces,t),t.destroy(),e}catch{return e.fail(new _({title:_.LoadNamespacesFailed,description:"Failed to load namespace records."})),t.destroy(),e}}async destroyNamespaces(s){let e=new g({namespaces:s}),t=new A_Scope({name:"A_FrameStorage.destroyNamespaces",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(S.DestroyNamespaces,t),t.destroy(),e}catch{return e.fail(new _({title:_.DestroyNamespacesFailed,description:"Failed to destroy namespace records."})),t.destroy(),e}}};function G(F){if(typeof atob=="function"){let s=atob(F),e=new Uint8Array(s.length);for(let t=0;t<s.length;t++)e[t]=s.charCodeAt(t);return e}return new Uint8Array(Buffer.from(F,"base64"))}var D=class F extends A_Fragment{constructor(){if(F._instance)return F._instance;super({name:"a-frame-browser-storage-blobs"});this.store=new Map;this.namespaceBlob=null;this.bundleMeta=null;}static get instance(){return F._instance||(F._instance=new F),F._instance}static fromBundle(e){let t=F.instance;return t.seedFromBundle(e),t}seedFromBundle(e){e.namespaces&&(this.namespaceBlob=G(e.namespaces));for(let[t,a]of Object.entries(e.definitions))this.store.set(t,G(a));this.bundleMeta={aFrameVersion:e.aFrameVersion,serverVersion:e.serverVersion,builtAt:e.builtAt};}};var I=new TextEncoder,C=new TextDecoder,N=class F extends A_Fragment{constructor(){super(...arguments);this.enc=new TextEncoder;this.dec=new TextDecoder;this.A_FRAME_FILE_MAGIC=1162691147;this.A_FRAME_FILE_VERSION=1;this.A_FRAME_HEADER_SIZE=20;}static get fileExtension(){return ".aframe"}getFileName(e){return `${e}${F.fileExtension}`}getNamespaceFileName(){return `__namespaces${F.fileExtension}`}encodePayload(e){let t=[];if(e.some(r=>!r.embedding))throw new Error("All records must have embeddings to be encoded");let a=new Uint8Array(this.A_FRAME_HEADER_SIZE),i=new DataView(a.buffer);i.setUint32(0,this.A_FRAME_FILE_MAGIC,true),a[4]=this.A_FRAME_FILE_VERSION,i.setUint32(5,e.length,true);let d=e[0]?.embedding.length??0;i.setUint16(9,d,true),t.push(a);for(let r of e){let p=I.encode(r.aseid.toString()),y=I.encode(r.name),x=JSON.stringify({hash:r.hash,source:r.source,type:r.type,description:r.description,metadata:r.metadata,namespace:r.namespace,date:r.date,model:r.model,credentialId:r.credentialId,aFrameVersion:r.aFrameVersion,aFrameServerVersion:r.aFrameServerVersion}),E=I.encode(x),b=2+p.length+2+y.length+r.embedding.length*4+4+E.length,f=new Uint8Array(b),h=new DataView(f.buffer),o=0;h.setUint16(o,p.length,true),o+=2,f.set(p,o),o+=p.length,h.setUint16(o,y.length,true),o+=2,f.set(y,o),o+=y.length;for(let u=0;u<r.embedding.length;u++)h.setFloat32(o,r.embedding[u],true),o+=4;h.setUint32(o,E.length,true),o+=4,f.set(E,o),t.push(f);}let l=t.reduce((r,p)=>r+p.length,0),A=new Uint8Array(l),n=0;for(let r of t)A.set(r,n),n+=r.length;return A}decodePayload(e){if(e.length<this.A_FRAME_HEADER_SIZE)throw new Error("Corrupt index: too short for header");let t=new DataView(e.buffer,e.byteOffset,e.byteLength),a=t.getUint32(0,true);if(a!==this.A_FRAME_FILE_MAGIC)throw new Error(`Corrupt index: bad magic 0x${a.toString(16)}`);let i=e[4];if(i!==this.A_FRAME_FILE_VERSION)throw new Error(`Unsupported index version: ${i}`);let d=t.getUint32(5,true),l=t.getUint16(9,true),A=[],n=this.A_FRAME_HEADER_SIZE;for(let r=0;r<d;r++){let p=t.getUint16(n,true);n+=2;let y=C.decode(e.slice(n,n+p));n+=p;let x=t.getUint16(n,true);n+=2;let E=C.decode(e.slice(n,n+x));n+=x;let b=new Float32Array(l);for(let u=0;u<l;u++)b[u]=t.getFloat32(n,true),n+=4;let f=t.getUint32(n,true);n+=4;let h=C.decode(e.slice(n,n+f));n+=f;let o=JSON.parse(h);A.push({aseid:y,hash:o.hash??y,name:E,type:o.type,embedding:b,source:o.source,description:o.description,metadata:o.metadata,namespace:o.namespace,date:o.date,model:o.model,credentialId:o.credentialId,aFrameVersion:o.aFrameVersion,aFrameServerVersion:o.aFrameServerVersion});}return A}encodeNamespacePayload(e){let t=[];if(e.some(r=>!r.embedding))throw new Error("All records must have embeddings to be encoded");let a=new Uint8Array(this.A_FRAME_HEADER_SIZE),i=new DataView(a.buffer);i.setUint32(0,this.A_FRAME_FILE_MAGIC,true),a[4]=this.A_FRAME_FILE_VERSION,i.setUint32(5,e.length,true);let d=e[0]?.embedding.length??0;i.setUint16(9,d,true),t.push(a);for(let r of e){let p=I.encode(r.aseid.toString()),y=I.encode(r.name),x=JSON.stringify({hash:r.hash,description:r.description,metadata:r.metadata,embeddedAt:r.embeddedAt,embeddingModel:r.embeddingModel,credentialId:r.credentialId,aFrameVersion:r.aFrameVersion,aFrameServerVersion:r.aFrameServerVersion}),E=I.encode(x),b=2+p.length+2+y.length+r.embedding.length*4+4+E.length,f=new Uint8Array(b),h=new DataView(f.buffer),o=0;h.setUint16(o,p.length,true),o+=2,f.set(p,o),o+=p.length,h.setUint16(o,y.length,true),o+=2,f.set(y,o),o+=y.length;for(let u=0;u<r.embedding.length;u++)h.setFloat32(o,r.embedding[u],true),o+=4;h.setUint32(o,E.length,true),o+=4,f.set(E,o),t.push(f);}let l=t.reduce((r,p)=>r+p.length,0),A=new Uint8Array(l),n=0;for(let r of t)A.set(r,n),n+=r.length;return A}decodeNamespacePayload(e){if(e.length<this.A_FRAME_HEADER_SIZE)throw new Error("Corrupt namespace index: too short for header");let t=new DataView(e.buffer,e.byteOffset,e.byteLength),a=t.getUint32(0,true);if(a!==this.A_FRAME_FILE_MAGIC)throw new Error(`Corrupt namespace index: bad magic 0x${a.toString(16)}`);let i=e[4];if(i!==this.A_FRAME_FILE_VERSION)throw new Error(`Unsupported namespace index version: ${i}`);let d=t.getUint32(5,true),l=t.getUint16(9,true),A=[],n=this.A_FRAME_HEADER_SIZE;for(let r=0;r<d;r++){let p=t.getUint16(n,true);n+=2;let y=C.decode(e.slice(n,n+p));n+=p;let x=t.getUint16(n,true);n+=2;let E=C.decode(e.slice(n,n+x));n+=x;let b=new Float32Array(l);for(let u=0;u<l;u++)b[u]=t.getFloat32(n,true),n+=4;let f=t.getUint32(n,true);n+=4;let h=C.decode(e.slice(n,n+f));n+=f;let o=JSON.parse(h);A.push({aseid:y,hash:o.hash??y,name:E,embedding:b,description:o.description,metadata:o.metadata,embeddedAt:o.embeddedAt,embeddingModel:o.embeddingModel,credentialId:o.credentialId,aFrameVersion:o.aFrameVersion,aFrameServerVersion:o.aFrameServerVersion});}return A}};var v=class extends R{onLoad(s,e){e||s.register(D.instance);}async saveDefinitionsToMemory(s,e,t,a,i){let d=e.params.records,l=d[0].namespace,A=await this._loadDefinitionsFromMemory(i.store,l,t.encryptionKey,a),n=new Map;for(let p of A)n.set(p.aseid,p);for(let p of d)n.set(p.aseid.toString(),p);let r=a.encodePayload(Array.from(n.values()));i.store.set(l,await a$2.encryptBytes(r,t.encryptionKey)),e.complete({saved:d.length});}async loadDefinitionsFromMemory(s,e,t,a,i){let d=e.params.namespaceId,l=await this._loadDefinitionsFromMemory(i.store,d,t.encryptionKey,a);e.complete({records:l});}async destroyDefinitionsFromMemory(s,e,t,a,i){let d=e.params.namespaceId,l=e.params.definitionId,n=(await this._loadDefinitionsFromMemory(i.store,d,t.encryptionKey,a)).filter(p=>p.aseid!==l),r=a.encodePayload(n);i.store.set(d,await a$2.encryptBytes(r,t.encryptionKey)),e.complete({records:n});}async saveNamespacesToMemory(s,e,t,a,i){let d=e.params.records,l=await this._loadNamespacesFromMemory(i,t.encryptionKey,a),A=new Map;for(let r of l)A.set(r.aseid,r);for(let r of d)A.set(r.aseid.toString(),r);let n=a.encodeNamespacePayload(Array.from(A.values()));i.namespaceBlob=await a$2.encryptBytes(n,t.encryptionKey),e.complete({success:true});}async loadNamespacesFromMemory(s,e,t,a,i){let d=e.params.namespaces,l=await this._loadNamespacesFromMemory(i,t.encryptionKey,a);e.complete({records:d?l.filter(A=>d.includes(A.name)):l});}async destroyNamespacesFromMemory(s,e,t,a,i){let d=e.params.namespaces,A=(await this._loadNamespacesFromMemory(i,t.encryptionKey,a)).filter(r=>!d.includes(r.aseid)),n=a.encodeNamespacePayload(A);i.namespaceBlob=await a$2.encryptBytes(n,t.encryptionKey);try{for(let r of d)i.store.delete(r);e.complete({success:!0});}catch{e.fail(new _({title:_.DestroyNamespacesFailed,description:"Failed to destroy namespace records."})),e.complete({success:false});}}async loadDefinitionFromBlobs(s,e,t,a){if(!e.encryptionKey)return;let i=await this._loadDefinitionsFromMemory(a.store,s.namespace.id,e.encryptionKey,t);if(i.length===0)return;let d=i.find(l=>l.aseid===s.aseid.toString());d&&d.hash===s.hash&&d.aFrameServerVersion===e.serverVersion&&s.fromJSON(d);}async loadNamespaceFromBlobs(s,e,t,a){if(!e.encryptionKey)return;let i=await this._loadNamespacesFromMemory(a,e.encryptionKey,t);if(i.length===0)return;let d=i.find(l=>l.aseid===s.aseid.toString());d&&d.hash===s.hash&&d.aFrameServerVersion===e.serverVersion&&s.fromJSON(d);}async _loadDefinitionsFromMemory(s,e,t,a){let i=s.get(e);if(!i)return [];try{let d=await a$2.decryptBytes(i,t);return a.decodePayload(d)}catch{return []}}async _loadNamespacesFromMemory(s,e,t){let a=s.namespaceBlob;if(!a)return [];try{let i=await a$2.decryptBytes(a,e);return t.decodeNamespacePayload(i)}catch{return []}}};a([A_Concept.Load(),b(0,A_Inject(A_Scope)),b(1,A_Inject(D))],v.prototype,"onLoad",1),a([A_Feature.Extend({name:S.SaveDefinitions,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(g)),b(2,A_Inject(w)),b(3,A_Inject(N)),b(4,A_Inject(D))],v.prototype,"saveDefinitionsToMemory",1),a([A_Feature.Extend({name:S.LoadDefinitions,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(g)),b(2,A_Inject(w)),b(3,A_Inject(N)),b(4,A_Inject(D))],v.prototype,"loadDefinitionsFromMemory",1),a([A_Feature.Extend({name:S.DestroyDefinitions,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(g)),b(2,A_Inject(w)),b(3,A_Inject(N)),b(4,A_Inject(D))],v.prototype,"destroyDefinitionsFromMemory",1),a([A_Feature.Extend({name:S.SaveNamespaces,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(g)),b(2,A_Inject(w)),b(3,A_Inject(N)),b(4,A_Inject(D))],v.prototype,"saveNamespacesToMemory",1),a([A_Feature.Extend({name:S.LoadNamespaces,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(g)),b(2,A_Inject(w)),b(3,A_Inject(N)),b(4,A_Inject(D))],v.prototype,"loadNamespacesFromMemory",1),a([A_Feature.Extend({name:S.DestroyNamespaces,scope:[R]}),b(0,A_Inject(b$1)),b(1,A_Inject(g)),b(2,A_Inject(w)),b(3,A_Inject(N)),b(4,A_Inject(D))],v.prototype,"destroyNamespacesFromMemory",1),a([A_Feature.Extend({name:a$1.Load,scope:[b$2]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(w)),b(2,A_Inject(N)),b(3,A_Inject(D))],v.prototype,"loadDefinitionFromBlobs",1),a([A_Feature.Extend({name:b$3.Load,scope:[c]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(w)),b(2,A_Inject(N)),b(3,A_Inject(D))],v.prototype,"loadNamespaceFromBlobs",1);export{w as a,S as b,g as c,_ as d,R as e,D as f,N as g,v as h};//# sourceMappingURL=chunk-QBBQ37P3.mjs.map
2
+ //# sourceMappingURL=chunk-QBBQ37P3.mjs.map