@adaas/a-frame 0.0.22 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/.conf/tsconfig.browser.json +13 -0
  2. package/.conf/tsconfig.node.json +14 -0
  3. package/.env.example +12 -0
  4. package/dist/browser/A-FrameBrowserStorageBlobs.context-OEQr85oq.d.mts +40 -0
  5. package/dist/browser/A-FrameBundle.types-DaaUvViw.d.mts +33 -0
  6. package/dist/browser/A-FrameChannel.types-DWOEUs28.d.mts +142 -0
  7. package/dist/browser/A-FrameDefinition.entity-DWGN_Ujr.d.mts +329 -0
  8. package/dist/browser/A-FrameDynamicStructure.entity-DaBgSRCR.d.mts +188 -0
  9. package/dist/browser/A-FrameLogger.component.env-browser-BIPAP4oQ.d.mts +112 -0
  10. package/dist/browser/A-FrameNamespace.entity-rCm1AavP.d.mts +125 -0
  11. package/dist/browser/bundle.d.mts +8 -0
  12. package/dist/browser/bundle.mjs +2 -0
  13. package/dist/browser/bundle.mjs.map +1 -0
  14. package/dist/browser/channel.d.mts +165 -0
  15. package/dist/browser/channel.mjs +3 -0
  16. package/dist/browser/channel.mjs.map +1 -0
  17. package/dist/browser/chunk-5TTVFB3G.mjs +2 -0
  18. package/dist/browser/chunk-5TTVFB3G.mjs.map +1 -0
  19. package/dist/browser/chunk-AYN7KUQT.mjs +3 -0
  20. package/dist/browser/chunk-AYN7KUQT.mjs.map +1 -0
  21. package/dist/browser/chunk-DMGQW3AO.mjs +2 -0
  22. package/dist/browser/chunk-DMGQW3AO.mjs.map +1 -0
  23. package/dist/browser/chunk-G66IL2DR.mjs +2 -0
  24. package/dist/browser/chunk-G66IL2DR.mjs.map +1 -0
  25. package/dist/browser/chunk-H6OZP4ZV.mjs +2 -0
  26. package/dist/browser/chunk-H6OZP4ZV.mjs.map +1 -0
  27. package/dist/browser/chunk-INS7RO3B.mjs +2 -0
  28. package/dist/browser/chunk-INS7RO3B.mjs.map +1 -0
  29. package/dist/browser/chunk-K4MZY4ME.mjs +2 -0
  30. package/dist/browser/chunk-K4MZY4ME.mjs.map +1 -0
  31. package/dist/browser/chunk-OFKV5GNB.mjs +3 -0
  32. package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -0
  33. package/dist/browser/chunk-QATIN7CO.mjs +3 -0
  34. package/dist/browser/chunk-QATIN7CO.mjs.map +1 -0
  35. package/dist/browser/chunk-QBBQ37P3.mjs +2 -0
  36. package/dist/browser/chunk-QBBQ37P3.mjs.map +1 -0
  37. package/dist/browser/chunk-VDVJWU5T.mjs +2 -0
  38. package/dist/browser/chunk-VDVJWU5T.mjs.map +1 -0
  39. package/dist/browser/chunk-X3C4I6YJ.mjs +2 -0
  40. package/dist/browser/chunk-X3C4I6YJ.mjs.map +1 -0
  41. package/dist/browser/chunk-ZVCTU2DN.mjs +3 -0
  42. package/dist/browser/chunk-ZVCTU2DN.mjs.map +1 -0
  43. package/dist/browser/core.d.mts +97 -0
  44. package/dist/browser/core.mjs +2 -0
  45. package/dist/browser/core.mjs.map +1 -0
  46. package/dist/browser/crypto.d.mts +35 -0
  47. package/dist/browser/crypto.mjs +2 -0
  48. package/dist/browser/crypto.mjs.map +1 -0
  49. package/dist/browser/definition.d.mts +13 -0
  50. package/dist/browser/definition.mjs +2 -0
  51. package/dist/browser/definition.mjs.map +1 -0
  52. package/dist/browser/dynamic-feature.d.mts +10 -0
  53. package/dist/browser/dynamic-feature.mjs +2 -0
  54. package/dist/browser/dynamic-feature.mjs.map +1 -0
  55. package/dist/browser/dynamic-structure.d.mts +12 -0
  56. package/dist/browser/dynamic-structure.mjs +2 -0
  57. package/dist/browser/dynamic-structure.mjs.map +1 -0
  58. package/dist/browser/env.d.mts +2 -0
  59. package/dist/browser/env.mjs +2 -0
  60. package/dist/browser/env.mjs.map +1 -0
  61. package/dist/browser/frame-index.d.mts +95 -0
  62. package/dist/browser/frame-index.mjs +2 -0
  63. package/dist/browser/frame-index.mjs.map +1 -0
  64. package/dist/browser/index.browser-CZlhzfSP.d.mts +22 -0
  65. package/dist/browser/index.d.mts +1 -144
  66. package/dist/browser/index.mjs +1 -1
  67. package/dist/browser/index.mjs.map +1 -1
  68. package/dist/browser/logger.d.mts +41 -0
  69. package/dist/browser/logger.mjs +2 -0
  70. package/dist/browser/logger.mjs.map +1 -0
  71. package/dist/browser/namespace.d.mts +13 -0
  72. package/dist/browser/namespace.mjs +2 -0
  73. package/dist/browser/namespace.mjs.map +1 -0
  74. package/dist/browser/storage.d.mts +194 -0
  75. package/dist/browser/storage.mjs +2 -0
  76. package/dist/browser/storage.mjs.map +1 -0
  77. package/dist/browser/vector.d.mts +15 -0
  78. package/dist/browser/vector.mjs +2 -0
  79. package/dist/browser/vector.mjs.map +1 -0
  80. package/dist/index.cjs +0 -0
  81. package/dist/node/A-FrameChannel.component-BfBcs734.d.ts +62 -0
  82. package/dist/node/A-FrameChannel.component-NNKcFViw.d.mts +62 -0
  83. package/dist/node/A-FrameChannel.types-DQF-IiRq.d.mts +146 -0
  84. package/dist/node/A-FrameChannel.types-DQF-IiRq.d.ts +146 -0
  85. package/dist/node/A-FrameDefinition.entity-CAUOdEvU.d.ts +329 -0
  86. package/dist/node/A-FrameDefinition.entity-DWGN_Ujr.d.mts +329 -0
  87. package/dist/node/A-FrameDynamicStructure.entity-DaBgSRCR.d.mts +188 -0
  88. package/dist/node/A-FrameDynamicStructure.entity-DaBgSRCR.d.ts +188 -0
  89. package/dist/node/A-FrameNamespace.entity-D3fZBGDx.d.ts +125 -0
  90. package/dist/node/A-FrameNamespace.entity-rCm1AavP.d.mts +125 -0
  91. package/dist/node/A-FrameStorage.component-BYjHfHJJ.d.mts +107 -0
  92. package/dist/node/A-FrameStorage.component-CT01fs-t.d.ts +107 -0
  93. package/dist/node/bundle.cjs +101 -0
  94. package/dist/node/bundle.cjs.map +1 -0
  95. package/dist/node/bundle.d.mts +69 -0
  96. package/dist/node/bundle.d.ts +69 -0
  97. package/dist/node/bundle.mjs +76 -0
  98. package/dist/node/bundle.mjs.map +1 -0
  99. package/dist/node/channel.cjs +60 -0
  100. package/dist/node/channel.cjs.map +1 -0
  101. package/dist/node/channel.d.mts +61 -0
  102. package/dist/node/channel.d.ts +61 -0
  103. package/dist/node/channel.mjs +11 -0
  104. package/dist/node/channel.mjs.map +1 -0
  105. package/dist/node/chunk-3LOMGNWA.cjs +8 -0
  106. package/dist/node/chunk-3LOMGNWA.cjs.map +1 -0
  107. package/dist/node/chunk-3ONWH75E.mjs +257 -0
  108. package/dist/node/chunk-3ONWH75E.mjs.map +1 -0
  109. package/dist/node/chunk-3TD2PEDZ.mjs +53 -0
  110. package/dist/node/chunk-3TD2PEDZ.mjs.map +1 -0
  111. package/dist/node/chunk-442DXGOD.mjs +16 -0
  112. package/dist/node/chunk-442DXGOD.mjs.map +1 -0
  113. package/dist/node/chunk-6EFXNUL4.mjs +6 -0
  114. package/dist/node/chunk-6EFXNUL4.mjs.map +1 -0
  115. package/dist/node/chunk-7A6XGT5J.cjs +541 -0
  116. package/dist/node/chunk-7A6XGT5J.cjs.map +1 -0
  117. package/dist/node/chunk-AOQRXZPC.mjs +207 -0
  118. package/dist/node/chunk-AOQRXZPC.mjs.map +1 -0
  119. package/dist/node/chunk-APRYHBEF.mjs +171 -0
  120. package/dist/node/chunk-APRYHBEF.mjs.map +1 -0
  121. package/dist/node/chunk-B7BXP7K4.mjs +253 -0
  122. package/dist/node/chunk-B7BXP7K4.mjs.map +1 -0
  123. package/dist/node/chunk-B7ZDJXD3.cjs +35 -0
  124. package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -0
  125. package/dist/node/chunk-CP6JHUU6.cjs +541 -0
  126. package/dist/node/chunk-CP6JHUU6.cjs.map +1 -0
  127. package/dist/node/chunk-DDCEMKBP.mjs +655 -0
  128. package/dist/node/chunk-DDCEMKBP.mjs.map +1 -0
  129. package/dist/node/chunk-DMY44VUG.mjs +655 -0
  130. package/dist/node/chunk-DMY44VUG.mjs.map +1 -0
  131. package/dist/node/chunk-F4UCOZW5.mjs +33 -0
  132. package/dist/node/chunk-F4UCOZW5.mjs.map +1 -0
  133. package/dist/node/chunk-GBTFMT3K.cjs +256 -0
  134. package/dist/node/chunk-GBTFMT3K.cjs.map +1 -0
  135. package/dist/node/chunk-GNVXVK2B.cjs +8 -0
  136. package/dist/node/chunk-GNVXVK2B.cjs.map +1 -0
  137. package/dist/node/chunk-IIVYTS5M.mjs +239 -0
  138. package/dist/node/chunk-IIVYTS5M.mjs.map +1 -0
  139. package/dist/node/chunk-JQBYDEMW.mjs +33 -0
  140. package/dist/node/chunk-JQBYDEMW.mjs.map +1 -0
  141. package/dist/node/chunk-K4MZY4ME.mjs +3 -0
  142. package/dist/node/chunk-K4MZY4ME.mjs.map +1 -0
  143. package/dist/node/chunk-KK64VLZN.cjs +4 -0
  144. package/dist/node/chunk-KK64VLZN.cjs.map +1 -0
  145. package/dist/node/chunk-KLG6HKFU.cjs +175 -0
  146. package/dist/node/chunk-KLG6HKFU.cjs.map +1 -0
  147. package/dist/node/chunk-LJIZ47HO.cjs +688 -0
  148. package/dist/node/chunk-LJIZ47HO.cjs.map +1 -0
  149. package/dist/node/chunk-NIXKAQVP.cjs +35 -0
  150. package/dist/node/chunk-NIXKAQVP.cjs.map +1 -0
  151. package/dist/node/chunk-OI76LHVT.mjs +21 -0
  152. package/dist/node/chunk-OI76LHVT.mjs.map +1 -0
  153. package/dist/node/chunk-OJGCQNAH.mjs +529 -0
  154. package/dist/node/chunk-OJGCQNAH.mjs.map +1 -0
  155. package/dist/node/chunk-QFHZIG7Y.cjs +25 -0
  156. package/dist/node/chunk-QFHZIG7Y.cjs.map +1 -0
  157. package/dist/node/chunk-QFUZVN4Y.cjs +259 -0
  158. package/dist/node/chunk-QFUZVN4Y.cjs.map +1 -0
  159. package/dist/node/chunk-RRLTGGM7.cjs +209 -0
  160. package/dist/node/chunk-RRLTGGM7.cjs.map +1 -0
  161. package/dist/node/chunk-TO4BPKCY.mjs +6 -0
  162. package/dist/node/chunk-TO4BPKCY.mjs.map +1 -0
  163. package/dist/node/chunk-UKKCN7CQ.cjs +688 -0
  164. package/dist/node/chunk-UKKCN7CQ.cjs.map +1 -0
  165. package/dist/node/chunk-UPA7VN4R.mjs +153 -0
  166. package/dist/node/chunk-UPA7VN4R.mjs.map +1 -0
  167. package/dist/node/chunk-UTJ7CVVB.cjs +248 -0
  168. package/dist/node/chunk-UTJ7CVVB.cjs.map +1 -0
  169. package/dist/node/chunk-YVX4W6SI.cjs +155 -0
  170. package/dist/node/chunk-YVX4W6SI.cjs.map +1 -0
  171. package/dist/node/chunk-YWWGJ6EJ.cjs +55 -0
  172. package/dist/node/chunk-YWWGJ6EJ.cjs.map +1 -0
  173. package/dist/node/chunk-Z4HUCRK2.mjs +529 -0
  174. package/dist/node/chunk-Z4HUCRK2.mjs.map +1 -0
  175. package/dist/node/chunk-ZM2RLVVH.cjs +18 -0
  176. package/dist/node/chunk-ZM2RLVVH.cjs.map +1 -0
  177. package/dist/node/core.cjs +261 -0
  178. package/dist/node/core.cjs.map +1 -0
  179. package/dist/node/core.d.mts +76 -0
  180. package/dist/node/core.d.ts +76 -0
  181. package/dist/node/core.mjs +250 -0
  182. package/dist/node/core.mjs.map +1 -0
  183. package/dist/node/crypto.cjs +13 -0
  184. package/dist/node/crypto.cjs.map +1 -0
  185. package/dist/node/crypto.d.mts +44 -0
  186. package/dist/node/crypto.d.ts +44 -0
  187. package/dist/node/crypto.mjs +4 -0
  188. package/dist/node/crypto.mjs.map +1 -0
  189. package/dist/node/definition.cjs +19 -0
  190. package/dist/node/definition.cjs.map +1 -0
  191. package/dist/node/definition.d.mts +13 -0
  192. package/dist/node/definition.d.ts +13 -0
  193. package/dist/node/definition.mjs +6 -0
  194. package/dist/node/definition.mjs.map +1 -0
  195. package/dist/node/dynamic-feature.cjs +14 -0
  196. package/dist/node/dynamic-feature.cjs.map +1 -0
  197. package/dist/node/dynamic-feature.d.mts +10 -0
  198. package/dist/node/dynamic-feature.d.ts +10 -0
  199. package/dist/node/dynamic-feature.mjs +12 -0
  200. package/dist/node/dynamic-feature.mjs.map +1 -0
  201. package/dist/node/dynamic-structure.cjs +143 -0
  202. package/dist/node/dynamic-structure.cjs.map +1 -0
  203. package/dist/node/dynamic-structure.d.mts +12 -0
  204. package/dist/node/dynamic-structure.d.ts +12 -0
  205. package/dist/node/dynamic-structure.mjs +138 -0
  206. package/dist/node/dynamic-structure.mjs.map +1 -0
  207. package/dist/node/env.cjs +14 -0
  208. package/dist/node/env.cjs.map +1 -0
  209. package/dist/node/env.d.mts +22 -0
  210. package/dist/node/env.d.ts +22 -0
  211. package/dist/node/env.mjs +5 -0
  212. package/dist/node/env.mjs.map +1 -0
  213. package/dist/node/frame-index.cjs +16 -0
  214. package/dist/node/frame-index.cjs.map +1 -0
  215. package/dist/node/frame-index.d.mts +95 -0
  216. package/dist/node/frame-index.d.ts +95 -0
  217. package/dist/node/frame-index.mjs +7 -0
  218. package/dist/node/frame-index.mjs.map +1 -0
  219. package/dist/node/index.cjs +0 -288
  220. package/dist/node/index.cjs.map +1 -1
  221. package/dist/node/index.d.mts +1 -144
  222. package/dist/node/index.d.ts +1 -144
  223. package/dist/node/index.mjs +0 -284
  224. package/dist/node/index.mjs.map +1 -1
  225. package/dist/node/logger.cjs +41 -0
  226. package/dist/node/logger.cjs.map +1 -0
  227. package/dist/node/logger.d.mts +150 -0
  228. package/dist/node/logger.d.ts +150 -0
  229. package/dist/node/logger.mjs +4 -0
  230. package/dist/node/logger.mjs.map +1 -0
  231. package/dist/node/namespace.cjs +24 -0
  232. package/dist/node/namespace.cjs.map +1 -0
  233. package/dist/node/namespace.d.mts +13 -0
  234. package/dist/node/namespace.d.ts +13 -0
  235. package/dist/node/namespace.mjs +7 -0
  236. package/dist/node/namespace.mjs.map +1 -0
  237. package/dist/node/storage.cjs +42 -0
  238. package/dist/node/storage.cjs.map +1 -0
  239. package/dist/node/storage.d.mts +110 -0
  240. package/dist/node/storage.d.ts +110 -0
  241. package/dist/node/storage.mjs +13 -0
  242. package/dist/node/storage.mjs.map +1 -0
  243. package/dist/node/vector.cjs +13 -0
  244. package/dist/node/vector.cjs.map +1 -0
  245. package/dist/node/vector.d.mts +15 -0
  246. package/dist/node/vector.d.ts +15 -0
  247. package/dist/node/vector.mjs +4 -0
  248. package/dist/node/vector.mjs.map +1 -0
  249. package/jest.config.browser.ts +41 -0
  250. package/jest.config.ts +18 -8
  251. package/package.json +125 -13
  252. package/{index.ts → src/concept.ts} +5 -2
  253. package/src/helpers/Hash.helper.ts +14 -0
  254. package/src/index.ts +0 -24
  255. package/src/lib/A-Frame/A-Frame.component.env-browser.ts +124 -0
  256. package/src/lib/A-Frame/A-Frame.component.env-node.ts +106 -0
  257. package/src/lib/A-Frame/A-Frame.component.ts +62 -0
  258. package/src/lib/A-Frame/A-Frame.context.ts +40 -0
  259. package/src/lib/{components/Index.component.ts/Index.error.ts → A-Frame/A-Frame.error.ts} +1 -1
  260. package/src/lib/{components/Index.component.ts/Index.guard.ts → A-Frame/A-Frame.guard.ts} +9 -6
  261. package/src/lib/A-Frame/A-Frame.meta.ts +27 -0
  262. package/src/lib/{components/Index.component.ts/Index.types.ts → A-Frame/A-Frame.types.ts} +52 -17
  263. package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +104 -0
  264. package/src/lib/A-Frame/decorators/A-FrameNamespace.decorator.ts +33 -0
  265. package/src/lib/A-Frame/index.browser.ts +10 -0
  266. package/src/lib/A-Frame/index.ts +10 -0
  267. package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -0
  268. package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +5 -0
  269. package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +31 -0
  270. package/src/lib/A-FrameBundle/index.browser.ts +6 -0
  271. package/src/lib/A-FrameBundle/index.ts +7 -0
  272. package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +333 -0
  273. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +63 -0
  274. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +586 -0
  275. package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +273 -0
  276. package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +39 -0
  277. package/src/lib/A-FrameChannel/A-FrameChannel.error.ts +10 -0
  278. package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +143 -0
  279. package/src/lib/A-FrameChannel/A-FrameChannelEvent.context.ts +28 -0
  280. package/src/lib/A-FrameChannel/A-FrameChannelRequest.context.ts +36 -0
  281. package/src/lib/A-FrameChannel/A-FrameChannelSocket.entity.ts +189 -0
  282. package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +144 -0
  283. package/src/lib/A-FrameChannel/index.browser.ts +3 -0
  284. package/src/lib/A-FrameChannel/index.ts +10 -0
  285. package/src/lib/A-FrameCrypto/A-FrameCrypto.component.env-browser.ts +123 -0
  286. package/src/lib/A-FrameCrypto/A-FrameCrypto.component.env-node.ts +204 -0
  287. package/src/lib/A-FrameCrypto/index.browser.ts +1 -0
  288. package/src/lib/A-FrameCrypto/index.ts +1 -0
  289. package/src/lib/A-FrameDefinition/A-FrameDefinition.constants.ts +8 -0
  290. package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +290 -0
  291. package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +109 -0
  292. package/src/lib/A-FrameDefinition/index.ts +3 -0
  293. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +13 -0
  294. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +10 -0
  295. package/src/lib/A-FrameDynamicFeature/index.ts +2 -0
  296. package/src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.entity.ts +38 -0
  297. package/src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.types.ts +20 -0
  298. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.constants.ts +9 -0
  299. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.entity.ts +91 -0
  300. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.types.ts +18 -0
  301. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +13 -0
  302. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +187 -0
  303. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.error.ts +13 -0
  304. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +128 -0
  305. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context.ts +32 -0
  306. package/src/lib/A-FrameDynamicStructure/index.ts +5 -0
  307. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +31 -0
  308. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +39 -0
  309. package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +7 -0
  310. package/src/lib/A-FrameEnv/index.browser.ts +1 -0
  311. package/src/lib/A-FrameEnv/index.ts +1 -0
  312. package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +321 -0
  313. package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +63 -0
  314. package/src/lib/A-FrameIndex/index.browser.ts +3 -0
  315. package/src/lib/A-FrameIndex/index.ts +3 -0
  316. package/src/lib/A-FrameLogger/A-FrameLogger.component.env-browser.ts +99 -0
  317. package/src/lib/A-FrameLogger/A-FrameLogger.component.env-node.ts +129 -0
  318. package/src/lib/A-FrameLogger/A-FrameLogger.component.ts +123 -0
  319. package/src/lib/A-FrameLogger/A-FrameLogger.constants.ts +66 -0
  320. package/src/lib/A-FrameLogger/A-FrameLogger.types.ts +67 -0
  321. package/src/lib/A-FrameLogger/index.browser.ts +4 -0
  322. package/src/lib/A-FrameLogger/index.ts +4 -0
  323. package/src/lib/A-FrameNamespace/A-FrameNamespace.constants.ts +12 -0
  324. package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +211 -0
  325. package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +72 -0
  326. package/src/lib/A-FrameNamespace/index.ts +3 -0
  327. package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +338 -0
  328. package/src/lib/A-FrameStorage/A-FrameStorage.component.ts +191 -0
  329. package/src/lib/A-FrameStorage/A-FrameStorage.constants.ts +11 -0
  330. package/src/lib/A-FrameStorage/A-FrameStorage.error.ts +13 -0
  331. package/src/lib/A-FrameStorage/A-FrameStorage.types.ts +98 -0
  332. package/src/lib/A-FrameStorage/A-FrameStorageOperation.context.ts +59 -0
  333. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +312 -0
  334. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +77 -0
  335. package/src/lib/A-FrameStorage/index.browser.ts +11 -0
  336. package/src/lib/A-FrameStorage/index.ts +10 -0
  337. package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +464 -0
  338. package/src/lib/A-FrameStorage/server/A-FrameServerStorage.component.ts +177 -0
  339. package/src/lib/{entities/A_FrameVector/A_FrameVector.entity.ts → A-FrameVector/A-FrameVector.entity.ts} +10 -0
  340. package/src/lib/A-FrameVector/index.ts +3 -0
  341. package/tests/A-Frame.browser.test.ts +94 -0
  342. package/tests/A-Frame.test.ts +73 -68
  343. package/tests/jest.browser-environment.js +30 -0
  344. package/tests/jest.polyfills.browser.ts +13 -0
  345. package/tests/jest.setup.browser.ts +33 -0
  346. package/tsconfig.browser.json +54 -0
  347. package/tsconfig.json +16 -0
  348. package/tsup.config.ts +32 -2
  349. package/src/lib/components/Builder.component.ts/Builder.component.ts +0 -0
  350. package/src/lib/components/Index.component.ts/Index.component.ts +0 -79
  351. package/src/lib/components/Index.component.ts/Index.constants.ts +0 -0
  352. package/src/lib/components/Index.component.ts/Index.meta.ts +0 -28
  353. package/src/lib/components/Index.component.ts/IndexConfigurations.meta.ts +0 -78
  354. package/src/lib/components/Index.component.ts/decorators/IndexComponent.decorator.ts +0 -97
  355. package/src/lib/components/Index.component.ts/decorators/IndexDescribe.decorator.ts +0 -59
  356. package/src/lib/components/Index.component.ts/decorators/IndexNamespace.decorator.ts +0 -57
  357. package/src/lib/components/Search/A_FrameSearch.component.ts +0 -66
  358. package/src/lib/containers/CLI.container.ts +0 -27
  359. package/src/lib/entities/Namespace/Namespace.entity.ts +0 -8
@@ -0,0 +1,257 @@
1
+ import { A_Fragment } from '@adaas/a-concept';
2
+
3
+ // src/lib/A-FrameStorage/A-FrameStorage.codec.ts
4
+ var enc = new TextEncoder();
5
+ var dec = new TextDecoder();
6
+ var A_FrameStorageCodec = class _A_FrameStorageCodec extends A_Fragment {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.enc = new TextEncoder();
10
+ this.dec = new TextDecoder();
11
+ // ─── Binary file format constants ────────────────────────────────────────────
12
+ // FILE LAYOUT (all multi-byte values are little-endian):
13
+ // [HEADER 20B]
14
+ // magic 4B = 0x454D424B ("EMBK")
15
+ // version 1B = 0x01
16
+ // count 4B (uint32)
17
+ // dims 2B (uint16)
18
+ // reserved 9B
19
+ // [RECORD × count]
20
+ // aseidLen 2B (uint16) — variable-length primary entity ID
21
+ // aseid NB utf-8
22
+ // nameLen 2B (uint16)
23
+ // name NB utf-8
24
+ // vector dims×4B Float32 LE
25
+ // metaLen 4B (uint32)
26
+ // meta NB JSON
27
+ // Encrypted on disk: [IV 12B][AuthTag 16B][Ciphertext]
28
+ this.A_FRAME_FILE_MAGIC = 1162691147;
29
+ this.A_FRAME_FILE_VERSION = 1;
30
+ this.A_FRAME_HEADER_SIZE = 20;
31
+ }
32
+ static get fileExtension() {
33
+ return ".aframe";
34
+ }
35
+ getFileName(namespace) {
36
+ return `${namespace}${_A_FrameStorageCodec.fileExtension}`;
37
+ }
38
+ getNamespaceFileName() {
39
+ return `__namespaces${_A_FrameStorageCodec.fileExtension}`;
40
+ }
41
+ encodePayload(records) {
42
+ const parts = [];
43
+ if (records.some((r) => !r.embedding)) {
44
+ throw new Error("All records must have embeddings to be encoded");
45
+ }
46
+ const header = new Uint8Array(this.A_FRAME_HEADER_SIZE);
47
+ const headerView = new DataView(header.buffer);
48
+ headerView.setUint32(0, this.A_FRAME_FILE_MAGIC, true);
49
+ header[4] = this.A_FRAME_FILE_VERSION;
50
+ headerView.setUint32(5, records.length, true);
51
+ const dims = records[0]?.embedding.length ?? 0;
52
+ headerView.setUint16(9, dims, true);
53
+ parts.push(header);
54
+ for (const rec of records) {
55
+ const aseidBytes = enc.encode(rec.aseid.toString());
56
+ const nameBytes = enc.encode(rec.name);
57
+ const metaJson = JSON.stringify({
58
+ hash: rec.hash,
59
+ source: rec.source,
60
+ type: rec.type,
61
+ description: rec.description,
62
+ metadata: rec.metadata,
63
+ namespace: rec.namespace,
64
+ date: rec.date,
65
+ model: rec.model,
66
+ credentialId: rec.credentialId,
67
+ aFrameVersion: rec.aFrameVersion,
68
+ aFrameServerVersion: rec.aFrameServerVersion
69
+ });
70
+ const metaBytes = enc.encode(metaJson);
71
+ const recSize = 2 + aseidBytes.length + 2 + nameBytes.length + rec.embedding.length * 4 + 4 + metaBytes.length;
72
+ const recBuf = new Uint8Array(recSize);
73
+ const view = new DataView(recBuf.buffer);
74
+ let offset = 0;
75
+ view.setUint16(offset, aseidBytes.length, true);
76
+ offset += 2;
77
+ recBuf.set(aseidBytes, offset);
78
+ offset += aseidBytes.length;
79
+ view.setUint16(offset, nameBytes.length, true);
80
+ offset += 2;
81
+ recBuf.set(nameBytes, offset);
82
+ offset += nameBytes.length;
83
+ for (let i = 0; i < rec.embedding.length; i++) {
84
+ view.setFloat32(offset, rec.embedding[i], true);
85
+ offset += 4;
86
+ }
87
+ view.setUint32(offset, metaBytes.length, true);
88
+ offset += 4;
89
+ recBuf.set(metaBytes, offset);
90
+ parts.push(recBuf);
91
+ }
92
+ const total = parts.reduce((s, p) => s + p.length, 0);
93
+ const out = new Uint8Array(total);
94
+ let pos = 0;
95
+ for (const p of parts) {
96
+ out.set(p, pos);
97
+ pos += p.length;
98
+ }
99
+ return out;
100
+ }
101
+ decodePayload(data) {
102
+ if (data.length < this.A_FRAME_HEADER_SIZE) throw new Error("Corrupt index: too short for header");
103
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
104
+ const magic = view.getUint32(0, true);
105
+ if (magic !== this.A_FRAME_FILE_MAGIC) throw new Error(`Corrupt index: bad magic 0x${magic.toString(16)}`);
106
+ const version = data[4];
107
+ if (version !== this.A_FRAME_FILE_VERSION) throw new Error(`Unsupported index version: ${version}`);
108
+ const count = view.getUint32(5, true);
109
+ const dims = view.getUint16(9, true);
110
+ const records = [];
111
+ let offset = this.A_FRAME_HEADER_SIZE;
112
+ for (let i = 0; i < count; i++) {
113
+ const aseidLen = view.getUint16(offset, true);
114
+ offset += 2;
115
+ const aseid = dec.decode(data.slice(offset, offset + aseidLen));
116
+ offset += aseidLen;
117
+ const nameLen = view.getUint16(offset, true);
118
+ offset += 2;
119
+ const name = dec.decode(data.slice(offset, offset + nameLen));
120
+ offset += nameLen;
121
+ const embedding = new Float32Array(dims);
122
+ for (let d = 0; d < dims; d++) {
123
+ embedding[d] = view.getFloat32(offset, true);
124
+ offset += 4;
125
+ }
126
+ const metaLen = view.getUint32(offset, true);
127
+ offset += 4;
128
+ const metaJson = dec.decode(data.slice(offset, offset + metaLen));
129
+ offset += metaLen;
130
+ const meta = JSON.parse(metaJson);
131
+ records.push({
132
+ aseid,
133
+ hash: meta.hash ?? aseid,
134
+ name,
135
+ type: meta.type,
136
+ embedding,
137
+ source: meta.source,
138
+ description: meta.description,
139
+ metadata: meta.metadata,
140
+ namespace: meta.namespace,
141
+ date: meta.date,
142
+ model: meta.model,
143
+ credentialId: meta.credentialId,
144
+ aFrameVersion: meta.aFrameVersion,
145
+ aFrameServerVersion: meta.aFrameServerVersion
146
+ });
147
+ }
148
+ return records;
149
+ }
150
+ encodeNamespacePayload(records) {
151
+ const parts = [];
152
+ if (records.some((r) => !r.embedding)) {
153
+ throw new Error("All records must have embeddings to be encoded");
154
+ }
155
+ const header = new Uint8Array(this.A_FRAME_HEADER_SIZE);
156
+ const headerView = new DataView(header.buffer);
157
+ headerView.setUint32(0, this.A_FRAME_FILE_MAGIC, true);
158
+ header[4] = this.A_FRAME_FILE_VERSION;
159
+ headerView.setUint32(5, records.length, true);
160
+ const dims = records[0]?.embedding.length ?? 0;
161
+ headerView.setUint16(9, dims, true);
162
+ parts.push(header);
163
+ for (const rec of records) {
164
+ const aseidBytes = enc.encode(rec.aseid.toString());
165
+ const nameBytes = enc.encode(rec.name);
166
+ const metaJson = JSON.stringify({
167
+ hash: rec.hash,
168
+ description: rec.description,
169
+ metadata: rec.metadata,
170
+ embeddedAt: rec.embeddedAt,
171
+ embeddingModel: rec.embeddingModel,
172
+ credentialId: rec.credentialId,
173
+ aFrameVersion: rec.aFrameVersion,
174
+ aFrameServerVersion: rec.aFrameServerVersion
175
+ });
176
+ const metaBytes = enc.encode(metaJson);
177
+ const recSize = 2 + aseidBytes.length + 2 + nameBytes.length + rec.embedding.length * 4 + 4 + metaBytes.length;
178
+ const recBuf = new Uint8Array(recSize);
179
+ const view = new DataView(recBuf.buffer);
180
+ let offset = 0;
181
+ view.setUint16(offset, aseidBytes.length, true);
182
+ offset += 2;
183
+ recBuf.set(aseidBytes, offset);
184
+ offset += aseidBytes.length;
185
+ view.setUint16(offset, nameBytes.length, true);
186
+ offset += 2;
187
+ recBuf.set(nameBytes, offset);
188
+ offset += nameBytes.length;
189
+ for (let i = 0; i < rec.embedding.length; i++) {
190
+ view.setFloat32(offset, rec.embedding[i], true);
191
+ offset += 4;
192
+ }
193
+ view.setUint32(offset, metaBytes.length, true);
194
+ offset += 4;
195
+ recBuf.set(metaBytes, offset);
196
+ parts.push(recBuf);
197
+ }
198
+ const total = parts.reduce((s, p) => s + p.length, 0);
199
+ const out = new Uint8Array(total);
200
+ let pos = 0;
201
+ for (const p of parts) {
202
+ out.set(p, pos);
203
+ pos += p.length;
204
+ }
205
+ return out;
206
+ }
207
+ decodeNamespacePayload(data) {
208
+ if (data.length < this.A_FRAME_HEADER_SIZE) throw new Error("Corrupt namespace index: too short for header");
209
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
210
+ const magic = view.getUint32(0, true);
211
+ if (magic !== this.A_FRAME_FILE_MAGIC) throw new Error(`Corrupt namespace index: bad magic 0x${magic.toString(16)}`);
212
+ const version = data[4];
213
+ if (version !== this.A_FRAME_FILE_VERSION) throw new Error(`Unsupported namespace index version: ${version}`);
214
+ const count = view.getUint32(5, true);
215
+ const dims = view.getUint16(9, true);
216
+ const records = [];
217
+ let offset = this.A_FRAME_HEADER_SIZE;
218
+ for (let i = 0; i < count; i++) {
219
+ const aseidLen = view.getUint16(offset, true);
220
+ offset += 2;
221
+ const aseid = dec.decode(data.slice(offset, offset + aseidLen));
222
+ offset += aseidLen;
223
+ const nameLen = view.getUint16(offset, true);
224
+ offset += 2;
225
+ const name = dec.decode(data.slice(offset, offset + nameLen));
226
+ offset += nameLen;
227
+ const embedding = new Float32Array(dims);
228
+ for (let d = 0; d < dims; d++) {
229
+ embedding[d] = view.getFloat32(offset, true);
230
+ offset += 4;
231
+ }
232
+ const metaLen = view.getUint32(offset, true);
233
+ offset += 4;
234
+ const metaJson = dec.decode(data.slice(offset, offset + metaLen));
235
+ offset += metaLen;
236
+ const meta = JSON.parse(metaJson);
237
+ records.push({
238
+ aseid,
239
+ hash: meta.hash ?? aseid,
240
+ name,
241
+ embedding,
242
+ description: meta.description,
243
+ metadata: meta.metadata,
244
+ embeddedAt: meta.embeddedAt,
245
+ embeddingModel: meta.embeddingModel,
246
+ credentialId: meta.credentialId,
247
+ aFrameVersion: meta.aFrameVersion,
248
+ aFrameServerVersion: meta.aFrameServerVersion
249
+ });
250
+ }
251
+ return records;
252
+ }
253
+ };
254
+
255
+ export { A_FrameStorageCodec };
256
+ //# sourceMappingURL=chunk-3ONWH75E.mjs.map
257
+ //# sourceMappingURL=chunk-3ONWH75E.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameStorage/A-FrameStorage.codec.ts"],"names":[],"mappings":"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","file":"chunk-3ONWH75E.mjs","sourcesContent":["/**\n * A-FrameStorage binary codec — shared between node and browser environments.\n *\n * Binary payload format (decrypted) — used for BOTH definition records and namespace records:\n * [HEADER 20B]\n * magic 4B = 0x454D424B (\"EMBK\")\n * version 1B = 0x01\n * count 4B (uint32 LE)\n * dims 2B (uint16 LE)\n * reserved 9B\n * [RECORD × count]\n * aseidLen 2B (uint16 LE)\n * aseid NB utf-8 (primary entity ID, e.g. \"app@root:123@v2\")\n * nameLen 2B (uint16 LE)\n * name NB utf-8\n * vector dims×4B Float32 LE\n * metaLen 4B (uint32 LE)\n * meta NB JSON\n */\n\nimport { A_Fragment } from '@adaas/a-concept';\n\nimport type { A_FrameNamespace_Serialized } from '../A-FrameNamespace/A-FrameNamespace.types';\nimport { A_FrameDefinition_Serialized } from '../A-FrameDefinition/A-FrameDefinition.types';\nimport { A_FrameTargetType } from '../A-Frame/A-Frame.types';\n\nconst enc = new TextEncoder();\nconst dec = new TextDecoder();\n\n\nexport class A_FrameStorageCodec extends A_Fragment {\n\n protected enc = new TextEncoder();\n protected dec = new TextDecoder();\n\n // ─── Binary file format constants ────────────────────────────────────────────\n // FILE LAYOUT (all multi-byte values are little-endian):\n // [HEADER 20B]\n // magic 4B = 0x454D424B (\"EMBK\")\n // version 1B = 0x01\n // count 4B (uint32)\n // dims 2B (uint16)\n // reserved 9B\n // [RECORD × count]\n // aseidLen 2B (uint16) — variable-length primary entity ID\n // aseid NB utf-8\n // nameLen 2B (uint16)\n // name NB utf-8\n // vector dims×4B Float32 LE\n // metaLen 4B (uint32)\n // meta NB JSON\n // Encrypted on disk: [IV 12B][AuthTag 16B][Ciphertext]\n A_FRAME_FILE_MAGIC = 0x454d424b;\n A_FRAME_FILE_VERSION = 0x01;\n A_FRAME_HEADER_SIZE = 20;\n\n\n\n static get fileExtension() {\n return '.aframe';\n }\n\n\n getFileName(namespace: string) {\n return `${namespace}${A_FrameStorageCodec.fileExtension}`;\n }\n\n getNamespaceFileName() {\n return `__namespaces${A_FrameStorageCodec.fileExtension}`;\n }\n\n\n encodePayload(records: A_FrameDefinition_Serialized[]): Uint8Array {\n const parts: Uint8Array[] = [];\n\n if (records.some(r => !r.embedding)) {\n throw new Error('All records must have embeddings to be encoded');\n }\n\n const header = new Uint8Array(this.A_FRAME_HEADER_SIZE);\n const headerView = new DataView(header.buffer);\n headerView.setUint32(0, this.A_FRAME_FILE_MAGIC, true);\n header[4] = this.A_FRAME_FILE_VERSION;\n headerView.setUint32(5, records.length, true);\n const dims = records[0]?.embedding!.length ?? 0;\n headerView.setUint16(9, dims, true);\n // bytes 11-19: reserved (zeroed)\n parts.push(header);\n\n for (const rec of records) {\n const aseidBytes = enc.encode(rec.aseid.toString());\n const nameBytes = enc.encode(rec.name);\n const metaJson = JSON.stringify({\n hash: rec.hash,\n source: rec.source,\n type: rec.type,\n description: rec.description,\n metadata: rec.metadata,\n namespace: rec.namespace,\n date: rec.date,\n model: rec.model,\n credentialId: rec.credentialId,\n aFrameVersion: rec.aFrameVersion,\n aFrameServerVersion: rec.aFrameServerVersion,\n });\n const metaBytes = enc.encode(metaJson);\n\n const recSize =\n 2 + aseidBytes.length +\n 2 + nameBytes.length +\n rec.embedding!.length * 4 +\n 4 + metaBytes.length;\n\n const recBuf = new Uint8Array(recSize);\n const view = new DataView(recBuf.buffer);\n let offset = 0;\n\n view.setUint16(offset, aseidBytes.length, true); offset += 2;\n recBuf.set(aseidBytes, offset); offset += aseidBytes.length;\n\n view.setUint16(offset, nameBytes.length, true); offset += 2;\n recBuf.set(nameBytes, offset); offset += nameBytes.length;\n\n for (let i = 0; i < rec.embedding!.length; i++) {\n view.setFloat32(offset, rec.embedding![i], true);\n offset += 4;\n }\n\n view.setUint32(offset, metaBytes.length, true); offset += 4;\n recBuf.set(metaBytes, offset);\n\n parts.push(recBuf);\n }\n\n const total = parts.reduce((s, p) => s + p.length, 0);\n const out = new Uint8Array(total);\n let pos = 0;\n for (const p of parts) { out.set(p, pos); pos += p.length; }\n return out;\n }\n\n decodePayload(data: Uint8Array): A_FrameDefinition_Serialized[] {\n if (data.length < this.A_FRAME_HEADER_SIZE) throw new Error('Corrupt index: too short for header');\n\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\n const magic = view.getUint32(0, true);\n if (magic !== this.A_FRAME_FILE_MAGIC) throw new Error(`Corrupt index: bad magic 0x${magic.toString(16)}`);\n\n const version = data[4];\n if (version !== this.A_FRAME_FILE_VERSION) throw new Error(`Unsupported index version: ${version}`);\n\n const count = view.getUint32(5, true);\n const dims = view.getUint16(9, true);\n\n const records: A_FrameDefinition_Serialized[] = [];\n let offset = this.A_FRAME_HEADER_SIZE;\n\n for (let i = 0; i < count; i++) {\n const aseidLen = view.getUint16(offset, true); offset += 2;\n const aseid = dec.decode(data.slice(offset, offset + aseidLen)); offset += aseidLen;\n\n const nameLen = view.getUint16(offset, true); offset += 2;\n const name = dec.decode(data.slice(offset, offset + nameLen)); offset += nameLen;\n\n const embedding = new Float32Array(dims);\n for (let d = 0; d < dims; d++) {\n embedding[d] = view.getFloat32(offset, true);\n offset += 4;\n }\n\n const metaLen = view.getUint32(offset, true); offset += 4;\n const metaJson = dec.decode(data.slice(offset, offset + metaLen)); offset += metaLen;\n const meta = JSON.parse(metaJson) as {\n hash?: string;\n source: string;\n description?: string;\n type: A_FrameTargetType;\n metadata?: Record<string, unknown>;\n namespace: string;\n date: string;\n model: string;\n credentialId: string;\n aFrameVersion: string;\n aFrameServerVersion: string;\n };\n\n records.push({\n aseid,\n hash: meta.hash ?? aseid,\n name,\n type: meta.type,\n embedding,\n source: meta.source,\n description: meta.description,\n metadata: meta.metadata,\n namespace: meta.namespace,\n date: meta.date,\n model: meta.model,\n credentialId: meta.credentialId,\n aFrameVersion: meta.aFrameVersion,\n aFrameServerVersion: meta.aFrameServerVersion,\n });\n }\n\n return records;\n }\n\n\n encodeNamespacePayload(records: A_FrameNamespace_Serialized[]): Uint8Array {\n const parts: Uint8Array[] = [];\n\n if (records.some(r => !r.embedding)) {\n throw new Error('All records must have embeddings to be encoded');\n }\n\n const header = new Uint8Array(this.A_FRAME_HEADER_SIZE);\n const headerView = new DataView(header.buffer);\n headerView.setUint32(0, this.A_FRAME_FILE_MAGIC, true);\n header[4] = this.A_FRAME_FILE_VERSION;\n headerView.setUint32(5, records.length, true);\n const dims = records[0]?.embedding!.length ?? 0;\n headerView.setUint16(9, dims, true);\n parts.push(header);\n\n for (const rec of records) {\n const aseidBytes = enc.encode(rec.aseid.toString());\n const nameBytes = enc.encode(rec.name);\n const metaJson = JSON.stringify({\n hash: rec.hash,\n description: rec.description,\n metadata: rec.metadata,\n embeddedAt: rec.embeddedAt,\n embeddingModel: rec.embeddingModel,\n credentialId: rec.credentialId,\n aFrameVersion: rec.aFrameVersion,\n aFrameServerVersion: rec.aFrameServerVersion,\n });\n const metaBytes = enc.encode(metaJson);\n\n const recSize =\n 2 + aseidBytes.length +\n 2 + nameBytes.length +\n rec.embedding!.length * 4 +\n 4 + metaBytes.length;\n\n const recBuf = new Uint8Array(recSize);\n const view = new DataView(recBuf.buffer);\n let offset = 0;\n\n view.setUint16(offset, aseidBytes.length, true); offset += 2;\n recBuf.set(aseidBytes, offset); offset += aseidBytes.length;\n\n view.setUint16(offset, nameBytes.length, true); offset += 2;\n recBuf.set(nameBytes, offset); offset += nameBytes.length;\n\n for (let i = 0; i < rec.embedding!.length; i++) {\n view.setFloat32(offset, rec.embedding![i], true);\n offset += 4;\n }\n\n view.setUint32(offset, metaBytes.length, true); offset += 4;\n recBuf.set(metaBytes, offset);\n\n parts.push(recBuf);\n }\n\n const total = parts.reduce((s, p) => s + p.length, 0);\n const out = new Uint8Array(total);\n let pos = 0;\n for (const p of parts) { out.set(p, pos); pos += p.length; }\n return out;\n }\n\n decodeNamespacePayload(data: Uint8Array): A_FrameNamespace_Serialized[] {\n if (data.length < this.A_FRAME_HEADER_SIZE) throw new Error('Corrupt namespace index: too short for header');\n\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\n const magic = view.getUint32(0, true);\n if (magic !== this.A_FRAME_FILE_MAGIC) throw new Error(`Corrupt namespace index: bad magic 0x${magic.toString(16)}`);\n\n const version = data[4];\n if (version !== this.A_FRAME_FILE_VERSION) throw new Error(`Unsupported namespace index version: ${version}`);\n\n const count = view.getUint32(5, true);\n const dims = view.getUint16(9, true);\n\n const records: A_FrameNamespace_Serialized[] = [];\n let offset = this.A_FRAME_HEADER_SIZE;\n\n for (let i = 0; i < count; i++) {\n const aseidLen = view.getUint16(offset, true); offset += 2;\n const aseid = dec.decode(data.slice(offset, offset + aseidLen)); offset += aseidLen;\n\n const nameLen = view.getUint16(offset, true); offset += 2;\n const name = dec.decode(data.slice(offset, offset + nameLen)); offset += nameLen;\n\n const embedding = new Float32Array(dims);\n for (let d = 0; d < dims; d++) {\n embedding[d] = view.getFloat32(offset, true);\n offset += 4;\n }\n\n const metaLen = view.getUint32(offset, true); offset += 4;\n const metaJson = dec.decode(data.slice(offset, offset + metaLen)); offset += metaLen;\n const meta = JSON.parse(metaJson) as {\n hash?: string;\n description?: string;\n metadata?: Record<string, unknown>;\n embeddedAt: number;\n embeddingModel?: string;\n credentialId?: string;\n aFrameVersion?: string;\n aFrameServerVersion?: string;\n };\n\n records.push({\n aseid,\n hash: meta.hash ?? aseid,\n name,\n embedding,\n description: meta.description,\n metadata: meta.metadata,\n embeddedAt: meta.embeddedAt,\n embeddingModel: meta.embeddingModel,\n credentialId: meta.credentialId,\n aFrameVersion: meta.aFrameVersion,\n aFrameServerVersion: meta.aFrameServerVersion,\n });\n }\n\n return records;\n }\n\n}\n\n\n"]}
@@ -0,0 +1,53 @@
1
+ import { A_Entity } from '@adaas/a-concept';
2
+
3
+ // src/lib/A-FrameVector/A-FrameVector.entity.ts
4
+ var A_FrameVector = class _A_FrameVector extends A_Entity {
5
+ static get concept() {
6
+ return "a-frame";
7
+ }
8
+ constructor(values) {
9
+ super();
10
+ this.values = values instanceof Float32Array ? values : new Float32Array(values);
11
+ }
12
+ get length() {
13
+ return this.values.length;
14
+ }
15
+ magnitude() {
16
+ let sum = 0;
17
+ for (let i = 0; i < this.values.length; i++) {
18
+ sum += this.values[i] ** 2;
19
+ }
20
+ return Math.sqrt(sum);
21
+ }
22
+ normalize() {
23
+ const mag = this.magnitude();
24
+ if (mag === 0) return this;
25
+ const normalized = new Float32Array(this.length);
26
+ for (let i = 0; i < this.length; i++) {
27
+ normalized[i] = this.values[i] / mag;
28
+ }
29
+ return new _A_FrameVector(normalized);
30
+ }
31
+ dot(other) {
32
+ this.assertSameLength(other);
33
+ let sum = 0;
34
+ for (let i = 0; i < this.length; i++) {
35
+ sum += this.values[i] * other.values[i];
36
+ }
37
+ return sum;
38
+ }
39
+ assertSameLength(other) {
40
+ if (this.length !== other.length) {
41
+ throw new Error(
42
+ `Embedding dimension mismatch: ${this.length} vs ${other.length}`
43
+ );
44
+ }
45
+ }
46
+ toArray() {
47
+ return Array.from(this.values);
48
+ }
49
+ };
50
+
51
+ export { A_FrameVector };
52
+ //# sourceMappingURL=chunk-3TD2PEDZ.mjs.map
53
+ //# sourceMappingURL=chunk-3TD2PEDZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameVector/A-FrameVector.entity.ts"],"names":[],"mappings":";;;AAEO,IAAM,aAAA,GAAN,MAAM,cAAA,SAAsB,QAAA,CAAS;AAAA,EAExC,WAAW,OAAA,GAAkB;AACzB,IAAA,OAAO,SAAA;AAAA,EACX;AAAA,EAIA,YAAY,MAAA,EAAiC;AACzC,IAAA,KAAA,EAAM;AACN,IAAA,IAAA,CAAK,SAAS,MAAA,YAAkB,YAAA,GAC1B,MAAA,GACA,IAAI,aAAa,MAAM,CAAA;AAAA,EACjC;AAAA,EAEA,IAAI,MAAA,GAAiB;AACjB,IAAA,OAAO,KAAK,MAAA,CAAO,MAAA;AAAA,EACvB;AAAA,EAEA,SAAA,GAAoB;AAChB,IAAA,IAAI,GAAA,GAAM,CAAA;AACV,IAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,MAAA,CAAO,QAAQ,CAAA,EAAA,EAAK;AACzC,MAAA,GAAA,IAAO,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,IAAK,CAAA;AAAA,IAC7B;AACA,IAAA,OAAO,IAAA,CAAK,KAAK,GAAG,CAAA;AAAA,EACxB;AAAA,EAEA,SAAA,GAA2B;AACvB,IAAA,MAAM,GAAA,GAAM,KAAK,SAAA,EAAU;AAC3B,IAAA,IAAI,GAAA,KAAQ,GAAG,OAAO,IAAA;AAEtB,IAAA,MAAM,UAAA,GAAa,IAAI,YAAA,CAAa,IAAA,CAAK,MAAM,CAAA;AAC/C,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,QAAQ,CAAA,EAAA,EAAK;AAClC,MAAA,UAAA,CAAW,CAAC,CAAA,GAAI,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,GAAI,GAAA;AAAA,IACrC;AAEA,IAAA,OAAO,IAAI,eAAc,UAAU,CAAA;AAAA,EACvC;AAAA,EAEA,IAAI,KAAA,EAA8B;AAC9B,IAAA,IAAA,CAAK,iBAAiB,KAAK,CAAA;AAE3B,IAAA,IAAI,GAAA,GAAM,CAAA;AACV,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,IAAA,CAAK,QAAQ,CAAA,EAAA,EAAK;AAClC,MAAA,GAAA,IAAO,KAAK,MAAA,CAAO,CAAC,CAAA,GAAI,KAAA,CAAM,OAAO,CAAC,CAAA;AAAA,IAC1C;AACA,IAAA,OAAO,GAAA;AAAA,EACX;AAAA,EAEQ,iBAAiB,KAAA,EAAsB;AAC3C,IAAA,IAAI,IAAA,CAAK,MAAA,KAAW,KAAA,CAAM,MAAA,EAAQ;AAC9B,MAAA,MAAM,IAAI,KAAA;AAAA,QACN,CAAA,8BAAA,EAAiC,IAAA,CAAK,MAAM,CAAA,IAAA,EAAO,MAAM,MAAM,CAAA;AAAA,OACnE;AAAA,IACJ;AAAA,EACJ;AAAA,EAGA,OAAA,GAAoB;AAChB,IAAA,OAAO,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,MAAM,CAAA;AAAA,EACjC;AACJ","file":"chunk-3TD2PEDZ.mjs","sourcesContent":["import { A_Entity } from \"@adaas/a-concept\"\n\nexport class A_FrameVector extends A_Entity {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n readonly values: Float32Array\n\n constructor(values: number[] | Float32Array) {\n super();\n this.values = values instanceof Float32Array\n ? values\n : new Float32Array(values)\n }\n\n get length(): number {\n return this.values.length\n }\n\n magnitude(): number {\n let sum = 0\n for (let i = 0; i < this.values.length; i++) {\n sum += this.values[i] ** 2\n }\n return Math.sqrt(sum)\n }\n\n normalize(): A_FrameVector {\n const mag = this.magnitude()\n if (mag === 0) return this\n\n const normalized = new Float32Array(this.length)\n for (let i = 0; i < this.length; i++) {\n normalized[i] = this.values[i] / mag\n }\n\n return new A_FrameVector(normalized)\n }\n\n dot(other: A_FrameVector): number {\n this.assertSameLength(other)\n\n let sum = 0\n for (let i = 0; i < this.length; i++) {\n sum += this.values[i] * other.values[i]\n }\n return sum\n }\n\n private assertSameLength(other: A_FrameVector) {\n if (this.length !== other.length) {\n throw new Error(\n `Embedding dimension mismatch: ${this.length} vs ${other.length}`\n )\n }\n }\n\n\n toArray(): number[] {\n return Array.from(this.values)\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ // src/helpers/Hash.helper.ts
2
+ var A_FrameHashHelper = class {
3
+ // ─── Hash (FNV-1a 32-bit, no external deps) ──────────────────────────────────
4
+ static fnv1a(str) {
5
+ let hash = 2166136261;
6
+ for (let i = 0; i < str.length; i++) {
7
+ hash ^= str.charCodeAt(i);
8
+ hash = hash * 16777619 >>> 0;
9
+ }
10
+ return hash.toString(16).padStart(8, "0");
11
+ }
12
+ };
13
+
14
+ export { A_FrameHashHelper };
15
+ //# sourceMappingURL=chunk-442DXGOD.mjs.map
16
+ //# sourceMappingURL=chunk-442DXGOD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/Hash.helper.ts"],"names":[],"mappings":";AAEO,IAAM,oBAAN,MAAwB;AAAA;AAAA,EAG3B,OAAO,MAAM,GAAA,EAAqB;AAC9B,IAAA,IAAI,IAAA,GAAO,UAAA;AACX,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,GAAA,CAAI,QAAQ,CAAA,EAAA,EAAK;AACjC,MAAA,IAAA,IAAQ,GAAA,CAAI,WAAW,CAAC,CAAA;AACxB,MAAA,IAAA,GAAQ,OAAO,QAAA,KAAgB,CAAA;AAAA,IACnC;AACA,IAAA,OAAO,KAAK,QAAA,CAAS,EAAE,CAAA,CAAE,QAAA,CAAS,GAAG,GAAG,CAAA;AAAA,EAC5C;AACJ","file":"chunk-442DXGOD.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,6 @@
1
+ // package.json
2
+ var version = "0.0.22";
3
+
4
+ export { version };
5
+ //# sourceMappingURL=chunk-6EFXNUL4.mjs.map
6
+ //# sourceMappingURL=chunk-6EFXNUL4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../package.json"],"names":[],"mappings":";AAEE,IAAA,OAAA,GAAW","file":"chunk-6EFXNUL4.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"]}