@adaas/a-frame 0.0.22 → 0.1.1

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 (379) 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-GOADBDTE.mjs +2 -0
  26. package/dist/browser/chunk-GOADBDTE.mjs.map +1 -0
  27. package/dist/browser/chunk-H6OZP4ZV.mjs +2 -0
  28. package/dist/browser/chunk-H6OZP4ZV.mjs.map +1 -0
  29. package/dist/browser/chunk-INS7RO3B.mjs +2 -0
  30. package/dist/browser/chunk-INS7RO3B.mjs.map +1 -0
  31. package/dist/browser/chunk-K4MZY4ME.mjs +2 -0
  32. package/dist/browser/chunk-K4MZY4ME.mjs.map +1 -0
  33. package/dist/browser/chunk-OFKV5GNB.mjs +3 -0
  34. package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -0
  35. package/dist/browser/chunk-QATIN7CO.mjs +3 -0
  36. package/dist/browser/chunk-QATIN7CO.mjs.map +1 -0
  37. package/dist/browser/chunk-QBBQ37P3.mjs +2 -0
  38. package/dist/browser/chunk-QBBQ37P3.mjs.map +1 -0
  39. package/dist/browser/chunk-VDVJWU5T.mjs +2 -0
  40. package/dist/browser/chunk-VDVJWU5T.mjs.map +1 -0
  41. package/dist/browser/chunk-X3C4I6YJ.mjs +2 -0
  42. package/dist/browser/chunk-X3C4I6YJ.mjs.map +1 -0
  43. package/dist/browser/chunk-YQJFTBGV.mjs +3 -0
  44. package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -0
  45. package/dist/browser/chunk-ZVCTU2DN.mjs +3 -0
  46. package/dist/browser/chunk-ZVCTU2DN.mjs.map +1 -0
  47. package/dist/browser/core.d.mts +97 -0
  48. package/dist/browser/core.mjs +2 -0
  49. package/dist/browser/core.mjs.map +1 -0
  50. package/dist/browser/crypto.d.mts +35 -0
  51. package/dist/browser/crypto.mjs +2 -0
  52. package/dist/browser/crypto.mjs.map +1 -0
  53. package/dist/browser/definition.d.mts +13 -0
  54. package/dist/browser/definition.mjs +2 -0
  55. package/dist/browser/definition.mjs.map +1 -0
  56. package/dist/browser/dynamic-feature.d.mts +10 -0
  57. package/dist/browser/dynamic-feature.mjs +2 -0
  58. package/dist/browser/dynamic-feature.mjs.map +1 -0
  59. package/dist/browser/dynamic-structure.d.mts +12 -0
  60. package/dist/browser/dynamic-structure.mjs +2 -0
  61. package/dist/browser/dynamic-structure.mjs.map +1 -0
  62. package/dist/browser/env.d.mts +2 -0
  63. package/dist/browser/env.mjs +2 -0
  64. package/dist/browser/env.mjs.map +1 -0
  65. package/dist/browser/frame-index.d.mts +95 -0
  66. package/dist/browser/frame-index.mjs +2 -0
  67. package/dist/browser/frame-index.mjs.map +1 -0
  68. package/dist/browser/index.browser-CZlhzfSP.d.mts +22 -0
  69. package/dist/browser/index.d.mts +1 -144
  70. package/dist/browser/index.mjs +1 -1
  71. package/dist/browser/index.mjs.map +1 -1
  72. package/dist/browser/logger.d.mts +41 -0
  73. package/dist/browser/logger.mjs +2 -0
  74. package/dist/browser/logger.mjs.map +1 -0
  75. package/dist/browser/namespace.d.mts +13 -0
  76. package/dist/browser/namespace.mjs +2 -0
  77. package/dist/browser/namespace.mjs.map +1 -0
  78. package/dist/browser/storage.d.mts +194 -0
  79. package/dist/browser/storage.mjs +2 -0
  80. package/dist/browser/storage.mjs.map +1 -0
  81. package/dist/browser/vector.d.mts +15 -0
  82. package/dist/browser/vector.mjs +2 -0
  83. package/dist/browser/vector.mjs.map +1 -0
  84. package/dist/index.cjs +0 -0
  85. package/dist/node/A-FrameChannel.component-BfBcs734.d.ts +62 -0
  86. package/dist/node/A-FrameChannel.component-NNKcFViw.d.mts +62 -0
  87. package/dist/node/A-FrameChannel.types-DQF-IiRq.d.mts +146 -0
  88. package/dist/node/A-FrameChannel.types-DQF-IiRq.d.ts +146 -0
  89. package/dist/node/A-FrameDefinition.entity-CAUOdEvU.d.ts +329 -0
  90. package/dist/node/A-FrameDefinition.entity-DWGN_Ujr.d.mts +329 -0
  91. package/dist/node/A-FrameDynamicStructure.entity-DaBgSRCR.d.mts +188 -0
  92. package/dist/node/A-FrameDynamicStructure.entity-DaBgSRCR.d.ts +188 -0
  93. package/dist/node/A-FrameNamespace.entity-D3fZBGDx.d.ts +125 -0
  94. package/dist/node/A-FrameNamespace.entity-rCm1AavP.d.mts +125 -0
  95. package/dist/node/A-FrameStorage.component-BYjHfHJJ.d.mts +107 -0
  96. package/dist/node/A-FrameStorage.component-CT01fs-t.d.ts +107 -0
  97. package/dist/node/bundle.cjs +101 -0
  98. package/dist/node/bundle.cjs.map +1 -0
  99. package/dist/node/bundle.d.mts +69 -0
  100. package/dist/node/bundle.d.ts +69 -0
  101. package/dist/node/bundle.mjs +76 -0
  102. package/dist/node/bundle.mjs.map +1 -0
  103. package/dist/node/channel.cjs +60 -0
  104. package/dist/node/channel.cjs.map +1 -0
  105. package/dist/node/channel.d.mts +61 -0
  106. package/dist/node/channel.d.ts +61 -0
  107. package/dist/node/channel.mjs +11 -0
  108. package/dist/node/channel.mjs.map +1 -0
  109. package/dist/node/chunk-3LOMGNWA.cjs +8 -0
  110. package/dist/node/chunk-3LOMGNWA.cjs.map +1 -0
  111. package/dist/node/chunk-3ONWH75E.mjs +257 -0
  112. package/dist/node/chunk-3ONWH75E.mjs.map +1 -0
  113. package/dist/node/chunk-3TD2PEDZ.mjs +53 -0
  114. package/dist/node/chunk-3TD2PEDZ.mjs.map +1 -0
  115. package/dist/node/chunk-442DXGOD.mjs +16 -0
  116. package/dist/node/chunk-442DXGOD.mjs.map +1 -0
  117. package/dist/node/chunk-5BKCX2RO.mjs +33 -0
  118. package/dist/node/chunk-5BKCX2RO.mjs.map +1 -0
  119. package/dist/node/chunk-6EFXNUL4.mjs +6 -0
  120. package/dist/node/chunk-6EFXNUL4.mjs.map +1 -0
  121. package/dist/node/chunk-6KAGWGTE.mjs +529 -0
  122. package/dist/node/chunk-6KAGWGTE.mjs.map +1 -0
  123. package/dist/node/chunk-7A6XGT5J.cjs +541 -0
  124. package/dist/node/chunk-7A6XGT5J.cjs.map +1 -0
  125. package/dist/node/chunk-AOQRXZPC.mjs +207 -0
  126. package/dist/node/chunk-AOQRXZPC.mjs.map +1 -0
  127. package/dist/node/chunk-APRYHBEF.mjs +171 -0
  128. package/dist/node/chunk-APRYHBEF.mjs.map +1 -0
  129. package/dist/node/chunk-B7BXP7K4.mjs +253 -0
  130. package/dist/node/chunk-B7BXP7K4.mjs.map +1 -0
  131. package/dist/node/chunk-B7ZDJXD3.cjs +35 -0
  132. package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -0
  133. package/dist/node/chunk-CP6JHUU6.cjs +541 -0
  134. package/dist/node/chunk-CP6JHUU6.cjs.map +1 -0
  135. package/dist/node/chunk-DDCEMKBP.mjs +655 -0
  136. package/dist/node/chunk-DDCEMKBP.mjs.map +1 -0
  137. package/dist/node/chunk-DMY44VUG.mjs +655 -0
  138. package/dist/node/chunk-DMY44VUG.mjs.map +1 -0
  139. package/dist/node/chunk-F46TSY2K.cjs +541 -0
  140. package/dist/node/chunk-F46TSY2K.cjs.map +1 -0
  141. package/dist/node/chunk-F4UCOZW5.mjs +33 -0
  142. package/dist/node/chunk-F4UCOZW5.mjs.map +1 -0
  143. package/dist/node/chunk-GBTFMT3K.cjs +256 -0
  144. package/dist/node/chunk-GBTFMT3K.cjs.map +1 -0
  145. package/dist/node/chunk-GNVXVK2B.cjs +8 -0
  146. package/dist/node/chunk-GNVXVK2B.cjs.map +1 -0
  147. package/dist/node/chunk-GRR6NNWY.cjs +688 -0
  148. package/dist/node/chunk-GRR6NNWY.cjs.map +1 -0
  149. package/dist/node/chunk-IIVYTS5M.mjs +239 -0
  150. package/dist/node/chunk-IIVYTS5M.mjs.map +1 -0
  151. package/dist/node/chunk-JQBYDEMW.mjs +33 -0
  152. package/dist/node/chunk-JQBYDEMW.mjs.map +1 -0
  153. package/dist/node/chunk-K4MZY4ME.mjs +3 -0
  154. package/dist/node/chunk-K4MZY4ME.mjs.map +1 -0
  155. package/dist/node/chunk-KK64VLZN.cjs +4 -0
  156. package/dist/node/chunk-KK64VLZN.cjs.map +1 -0
  157. package/dist/node/chunk-KLG6HKFU.cjs +175 -0
  158. package/dist/node/chunk-KLG6HKFU.cjs.map +1 -0
  159. package/dist/node/chunk-LJIZ47HO.cjs +688 -0
  160. package/dist/node/chunk-LJIZ47HO.cjs.map +1 -0
  161. package/dist/node/chunk-NIXKAQVP.cjs +35 -0
  162. package/dist/node/chunk-NIXKAQVP.cjs.map +1 -0
  163. package/dist/node/chunk-OI76LHVT.mjs +21 -0
  164. package/dist/node/chunk-OI76LHVT.mjs.map +1 -0
  165. package/dist/node/chunk-OJGCQNAH.mjs +529 -0
  166. package/dist/node/chunk-OJGCQNAH.mjs.map +1 -0
  167. package/dist/node/chunk-OYC6L5NX.mjs +6 -0
  168. package/dist/node/chunk-OYC6L5NX.mjs.map +1 -0
  169. package/dist/node/chunk-QFHZIG7Y.cjs +25 -0
  170. package/dist/node/chunk-QFHZIG7Y.cjs.map +1 -0
  171. package/dist/node/chunk-QFUZVN4Y.cjs +259 -0
  172. package/dist/node/chunk-QFUZVN4Y.cjs.map +1 -0
  173. package/dist/node/chunk-R2H234YO.cjs +8 -0
  174. package/dist/node/chunk-R2H234YO.cjs.map +1 -0
  175. package/dist/node/chunk-RRLTGGM7.cjs +209 -0
  176. package/dist/node/chunk-RRLTGGM7.cjs.map +1 -0
  177. package/dist/node/chunk-SDKIJDMH.mjs +655 -0
  178. package/dist/node/chunk-SDKIJDMH.mjs.map +1 -0
  179. package/dist/node/chunk-TO4BPKCY.mjs +6 -0
  180. package/dist/node/chunk-TO4BPKCY.mjs.map +1 -0
  181. package/dist/node/chunk-UKKCN7CQ.cjs +688 -0
  182. package/dist/node/chunk-UKKCN7CQ.cjs.map +1 -0
  183. package/dist/node/chunk-UPA7VN4R.mjs +153 -0
  184. package/dist/node/chunk-UPA7VN4R.mjs.map +1 -0
  185. package/dist/node/chunk-UTJ7CVVB.cjs +248 -0
  186. package/dist/node/chunk-UTJ7CVVB.cjs.map +1 -0
  187. package/dist/node/chunk-XFUF7SDO.cjs +35 -0
  188. package/dist/node/chunk-XFUF7SDO.cjs.map +1 -0
  189. package/dist/node/chunk-YVX4W6SI.cjs +155 -0
  190. package/dist/node/chunk-YVX4W6SI.cjs.map +1 -0
  191. package/dist/node/chunk-YWWGJ6EJ.cjs +55 -0
  192. package/dist/node/chunk-YWWGJ6EJ.cjs.map +1 -0
  193. package/dist/node/chunk-Z4HUCRK2.mjs +529 -0
  194. package/dist/node/chunk-Z4HUCRK2.mjs.map +1 -0
  195. package/dist/node/chunk-ZM2RLVVH.cjs +18 -0
  196. package/dist/node/chunk-ZM2RLVVH.cjs.map +1 -0
  197. package/dist/node/core.cjs +259 -0
  198. package/dist/node/core.cjs.map +1 -0
  199. package/dist/node/core.d.mts +76 -0
  200. package/dist/node/core.d.ts +76 -0
  201. package/dist/node/core.mjs +248 -0
  202. package/dist/node/core.mjs.map +1 -0
  203. package/dist/node/crypto.cjs +13 -0
  204. package/dist/node/crypto.cjs.map +1 -0
  205. package/dist/node/crypto.d.mts +44 -0
  206. package/dist/node/crypto.d.ts +44 -0
  207. package/dist/node/crypto.mjs +4 -0
  208. package/dist/node/crypto.mjs.map +1 -0
  209. package/dist/node/definition.cjs +19 -0
  210. package/dist/node/definition.cjs.map +1 -0
  211. package/dist/node/definition.d.mts +13 -0
  212. package/dist/node/definition.d.ts +13 -0
  213. package/dist/node/definition.mjs +6 -0
  214. package/dist/node/definition.mjs.map +1 -0
  215. package/dist/node/dynamic-feature.cjs +14 -0
  216. package/dist/node/dynamic-feature.cjs.map +1 -0
  217. package/dist/node/dynamic-feature.d.mts +10 -0
  218. package/dist/node/dynamic-feature.d.ts +10 -0
  219. package/dist/node/dynamic-feature.mjs +12 -0
  220. package/dist/node/dynamic-feature.mjs.map +1 -0
  221. package/dist/node/dynamic-structure.cjs +143 -0
  222. package/dist/node/dynamic-structure.cjs.map +1 -0
  223. package/dist/node/dynamic-structure.d.mts +12 -0
  224. package/dist/node/dynamic-structure.d.ts +12 -0
  225. package/dist/node/dynamic-structure.mjs +138 -0
  226. package/dist/node/dynamic-structure.mjs.map +1 -0
  227. package/dist/node/env.cjs +14 -0
  228. package/dist/node/env.cjs.map +1 -0
  229. package/dist/node/env.d.mts +22 -0
  230. package/dist/node/env.d.ts +22 -0
  231. package/dist/node/env.mjs +5 -0
  232. package/dist/node/env.mjs.map +1 -0
  233. package/dist/node/frame-index.cjs +16 -0
  234. package/dist/node/frame-index.cjs.map +1 -0
  235. package/dist/node/frame-index.d.mts +95 -0
  236. package/dist/node/frame-index.d.ts +95 -0
  237. package/dist/node/frame-index.mjs +7 -0
  238. package/dist/node/frame-index.mjs.map +1 -0
  239. package/dist/node/index.cjs +0 -288
  240. package/dist/node/index.cjs.map +1 -1
  241. package/dist/node/index.d.mts +1 -144
  242. package/dist/node/index.d.ts +1 -144
  243. package/dist/node/index.mjs +0 -284
  244. package/dist/node/index.mjs.map +1 -1
  245. package/dist/node/logger.cjs +41 -0
  246. package/dist/node/logger.cjs.map +1 -0
  247. package/dist/node/logger.d.mts +150 -0
  248. package/dist/node/logger.d.ts +150 -0
  249. package/dist/node/logger.mjs +4 -0
  250. package/dist/node/logger.mjs.map +1 -0
  251. package/dist/node/namespace.cjs +24 -0
  252. package/dist/node/namespace.cjs.map +1 -0
  253. package/dist/node/namespace.d.mts +13 -0
  254. package/dist/node/namespace.d.ts +13 -0
  255. package/dist/node/namespace.mjs +7 -0
  256. package/dist/node/namespace.mjs.map +1 -0
  257. package/dist/node/storage.cjs +42 -0
  258. package/dist/node/storage.cjs.map +1 -0
  259. package/dist/node/storage.d.mts +110 -0
  260. package/dist/node/storage.d.ts +110 -0
  261. package/dist/node/storage.mjs +13 -0
  262. package/dist/node/storage.mjs.map +1 -0
  263. package/dist/node/vector.cjs +13 -0
  264. package/dist/node/vector.cjs.map +1 -0
  265. package/dist/node/vector.d.mts +15 -0
  266. package/dist/node/vector.d.ts +15 -0
  267. package/dist/node/vector.mjs +4 -0
  268. package/dist/node/vector.mjs.map +1 -0
  269. package/jest.config.browser.ts +41 -0
  270. package/jest.config.ts +18 -8
  271. package/package.json +125 -13
  272. package/{index.ts → src/concept.ts} +5 -2
  273. package/src/helpers/Hash.helper.ts +14 -0
  274. package/src/index.ts +0 -24
  275. package/src/lib/A-Frame/A-Frame.component.env-browser.ts +126 -0
  276. package/src/lib/A-Frame/A-Frame.component.env-node.ts +105 -0
  277. package/src/lib/A-Frame/A-Frame.component.ts +62 -0
  278. package/src/lib/A-Frame/A-Frame.context.ts +40 -0
  279. package/src/lib/{components/Index.component.ts/Index.error.ts → A-Frame/A-Frame.error.ts} +1 -1
  280. package/src/lib/{components/Index.component.ts/Index.guard.ts → A-Frame/A-Frame.guard.ts} +9 -6
  281. package/src/lib/A-Frame/A-Frame.meta.ts +27 -0
  282. package/src/lib/{components/Index.component.ts/Index.types.ts → A-Frame/A-Frame.types.ts} +52 -17
  283. package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +104 -0
  284. package/src/lib/A-Frame/decorators/A-FrameNamespace.decorator.ts +33 -0
  285. package/src/lib/A-Frame/index.browser.ts +10 -0
  286. package/src/lib/A-Frame/index.ts +10 -0
  287. package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -0
  288. package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +5 -0
  289. package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +31 -0
  290. package/src/lib/A-FrameBundle/index.browser.ts +6 -0
  291. package/src/lib/A-FrameBundle/index.ts +7 -0
  292. package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +333 -0
  293. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +63 -0
  294. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +586 -0
  295. package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +273 -0
  296. package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +39 -0
  297. package/src/lib/A-FrameChannel/A-FrameChannel.error.ts +10 -0
  298. package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +143 -0
  299. package/src/lib/A-FrameChannel/A-FrameChannelEvent.context.ts +28 -0
  300. package/src/lib/A-FrameChannel/A-FrameChannelRequest.context.ts +36 -0
  301. package/src/lib/A-FrameChannel/A-FrameChannelSocket.entity.ts +189 -0
  302. package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +144 -0
  303. package/src/lib/A-FrameChannel/index.browser.ts +3 -0
  304. package/src/lib/A-FrameChannel/index.ts +10 -0
  305. package/src/lib/A-FrameCrypto/A-FrameCrypto.component.env-browser.ts +123 -0
  306. package/src/lib/A-FrameCrypto/A-FrameCrypto.component.env-node.ts +204 -0
  307. package/src/lib/A-FrameCrypto/index.browser.ts +1 -0
  308. package/src/lib/A-FrameCrypto/index.ts +1 -0
  309. package/src/lib/A-FrameDefinition/A-FrameDefinition.constants.ts +8 -0
  310. package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +290 -0
  311. package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +109 -0
  312. package/src/lib/A-FrameDefinition/index.ts +3 -0
  313. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +13 -0
  314. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +10 -0
  315. package/src/lib/A-FrameDynamicFeature/index.ts +2 -0
  316. package/src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.entity.ts +38 -0
  317. package/src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.types.ts +20 -0
  318. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.constants.ts +9 -0
  319. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.entity.ts +91 -0
  320. package/src/lib/A-FrameDynamicSession/A-FrameDynamicSession.types.ts +18 -0
  321. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +13 -0
  322. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +187 -0
  323. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.error.ts +13 -0
  324. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +128 -0
  325. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context.ts +32 -0
  326. package/src/lib/A-FrameDynamicStructure/index.ts +5 -0
  327. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +31 -0
  328. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +39 -0
  329. package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +7 -0
  330. package/src/lib/A-FrameEnv/index.browser.ts +1 -0
  331. package/src/lib/A-FrameEnv/index.ts +1 -0
  332. package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +321 -0
  333. package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +63 -0
  334. package/src/lib/A-FrameIndex/index.browser.ts +3 -0
  335. package/src/lib/A-FrameIndex/index.ts +3 -0
  336. package/src/lib/A-FrameLogger/A-FrameLogger.component.env-browser.ts +99 -0
  337. package/src/lib/A-FrameLogger/A-FrameLogger.component.env-node.ts +129 -0
  338. package/src/lib/A-FrameLogger/A-FrameLogger.component.ts +123 -0
  339. package/src/lib/A-FrameLogger/A-FrameLogger.constants.ts +66 -0
  340. package/src/lib/A-FrameLogger/A-FrameLogger.types.ts +67 -0
  341. package/src/lib/A-FrameLogger/index.browser.ts +4 -0
  342. package/src/lib/A-FrameLogger/index.ts +4 -0
  343. package/src/lib/A-FrameNamespace/A-FrameNamespace.constants.ts +12 -0
  344. package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +211 -0
  345. package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +72 -0
  346. package/src/lib/A-FrameNamespace/index.ts +3 -0
  347. package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +338 -0
  348. package/src/lib/A-FrameStorage/A-FrameStorage.component.ts +191 -0
  349. package/src/lib/A-FrameStorage/A-FrameStorage.constants.ts +11 -0
  350. package/src/lib/A-FrameStorage/A-FrameStorage.error.ts +13 -0
  351. package/src/lib/A-FrameStorage/A-FrameStorage.types.ts +98 -0
  352. package/src/lib/A-FrameStorage/A-FrameStorageOperation.context.ts +59 -0
  353. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +312 -0
  354. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +77 -0
  355. package/src/lib/A-FrameStorage/index.browser.ts +11 -0
  356. package/src/lib/A-FrameStorage/index.ts +10 -0
  357. package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +464 -0
  358. package/src/lib/A-FrameStorage/server/A-FrameServerStorage.component.ts +177 -0
  359. package/src/lib/{entities/A_FrameVector/A_FrameVector.entity.ts → A-FrameVector/A-FrameVector.entity.ts} +10 -0
  360. package/src/lib/A-FrameVector/index.ts +3 -0
  361. package/tests/A-Frame.browser.test.ts +94 -0
  362. package/tests/A-Frame.test.ts +74 -67
  363. package/tests/jest.browser-environment.js +30 -0
  364. package/tests/jest.polyfills.browser.ts +13 -0
  365. package/tests/jest.setup.browser.ts +33 -0
  366. package/tsconfig.browser.json +54 -0
  367. package/tsconfig.json +16 -0
  368. package/tsup.config.ts +32 -2
  369. package/src/lib/components/Builder.component.ts/Builder.component.ts +0 -0
  370. package/src/lib/components/Index.component.ts/Index.component.ts +0 -79
  371. package/src/lib/components/Index.component.ts/Index.constants.ts +0 -0
  372. package/src/lib/components/Index.component.ts/Index.meta.ts +0 -28
  373. package/src/lib/components/Index.component.ts/IndexConfigurations.meta.ts +0 -78
  374. package/src/lib/components/Index.component.ts/decorators/IndexComponent.decorator.ts +0 -97
  375. package/src/lib/components/Index.component.ts/decorators/IndexDescribe.decorator.ts +0 -59
  376. package/src/lib/components/Index.component.ts/decorators/IndexNamespace.decorator.ts +0 -57
  377. package/src/lib/components/Search/A_FrameSearch.component.ts +0 -66
  378. package/src/lib/containers/CLI.container.ts +0 -27
  379. package/src/lib/entities/Namespace/Namespace.entity.ts +0 -8
@@ -0,0 +1,175 @@
1
+ 'use strict';
2
+
3
+ var chunkZM2RLVVH_cjs = require('./chunk-ZM2RLVVH.cjs');
4
+ var chunkYWWGJ6EJ_cjs = require('./chunk-YWWGJ6EJ.cjs');
5
+ var aConcept = require('@adaas/a-concept');
6
+
7
+ // src/lib/A-FrameNamespace/A-FrameNamespace.constants.ts
8
+ var A_FRAME_DEFAULT_NAMESPACE_KEY = "default";
9
+ var A_FrameNamespaceFeatures = {
10
+ Load: "_A_FRAME_NAMESPACE_LOAD",
11
+ Save: "_A_FRAME_NAMESPACE_SAVE",
12
+ Embed: "_A_FRAME_NAMESPACE_EMBED",
13
+ Destroy: "_A_FRAME_NAMESPACE_DESTROY"
14
+ };
15
+ var A_FrameNamespace = class extends aConcept.A_Entity {
16
+ static get concept() {
17
+ return "a-frame";
18
+ }
19
+ // ─── Getters ──────────────────────────────────────────────────────────────
20
+ get id() {
21
+ return this.aseid.id;
22
+ }
23
+ get name() {
24
+ return this._name;
25
+ }
26
+ get hash() {
27
+ return this._hash;
28
+ }
29
+ get description() {
30
+ return this._description;
31
+ }
32
+ get metadata() {
33
+ return this._metadata || {};
34
+ }
35
+ get vector() {
36
+ return this._vector;
37
+ }
38
+ get embedding() {
39
+ return this._vector?.values ?? null;
40
+ }
41
+ //-----------------------------------------------------------------------------------------------------
42
+ //--------------------------------------- Computed properties -----------------------------------------
43
+ //-----------------------------------------------------------------------------------------------------
44
+ get aFrameServerVersion() {
45
+ return this._aFrameServerVersion;
46
+ }
47
+ get aFrameVersion() {
48
+ return this._aFrameVersion;
49
+ }
50
+ get isEmbed() {
51
+ return this._vector !== void 0;
52
+ }
53
+ /**
54
+ * 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.
55
+ *
56
+ * @param scope
57
+ * @returns
58
+ */
59
+ save(scope) {
60
+ console.log(`Saving namespace "${this._name}"...`);
61
+ return this.call(A_FrameNamespaceFeatures.Save, scope);
62
+ }
63
+ /**
64
+ * 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.
65
+ *
66
+ * @param scope
67
+ * @returns
68
+ */
69
+ destroy(scope) {
70
+ return this.call(A_FrameNamespaceFeatures.Destroy, scope);
71
+ }
72
+ /**
73
+ * 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.
74
+ *
75
+ * @param scope
76
+ * @returns
77
+ */
78
+ async load(scope) {
79
+ return this.call(A_FrameNamespaceFeatures.Load, scope);
80
+ }
81
+ /**
82
+ * 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.
83
+ *
84
+ * @param updates
85
+ */
86
+ update(updates) {
87
+ if (updates.name) this._name = updates.name;
88
+ if (updates.description !== void 0) this._description = updates.description;
89
+ if (updates.metadata !== void 0) this._metadata = updates.metadata;
90
+ }
91
+ /**
92
+ * 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.
93
+ *
94
+ * @param scope
95
+ * @returns
96
+ */
97
+ embed(scope) {
98
+ console.log(`Embedding namespace "${this._name}"...`);
99
+ return this.call(A_FrameNamespaceFeatures.Embed, scope);
100
+ }
101
+ // ─── A_Entity lifecycle ───────────────────────────────────────────────────
102
+ fromNew(init) {
103
+ this.aseid = this.generateASEID({
104
+ id: aConcept.A_FormatterHelper.toKebabCase(init.name),
105
+ scope: "a-frame"
106
+ });
107
+ this._name = init.name;
108
+ const hashSource = this._name + (init.description || "") + (init.metadata ? JSON.stringify(init.metadata) : "");
109
+ this._hash = chunkZM2RLVVH_cjs.A_FrameHashHelper.fnv1a(hashSource);
110
+ this._description = init.description;
111
+ this._metadata = init.metadata;
112
+ }
113
+ fromJSON(serialized) {
114
+ this._name = serialized.name;
115
+ this._hash = serialized.hash;
116
+ this._description = serialized.description;
117
+ this._metadata = serialized.metadata;
118
+ this._vector = serialized.embedding ? new chunkYWWGJ6EJ_cjs.A_FrameVector(serialized.embedding) : void 0;
119
+ this._embeddedAt = serialized.embeddedAt;
120
+ this._embeddingModel = serialized.embeddingModel;
121
+ this._credentialId = serialized.credentialId;
122
+ this._aFrameVersion = serialized.aFrameVersion;
123
+ this._aFrameServerVersion = serialized.aFrameServerVersion;
124
+ }
125
+ toJSON() {
126
+ return {
127
+ ...super.toJSON(),
128
+ hash: this._hash,
129
+ name: this._name,
130
+ description: this._description,
131
+ metadata: this._metadata,
132
+ embedding: this._vector?.values,
133
+ embeddedAt: this._embeddedAt ?? Date.now(),
134
+ embeddingModel: this._embeddingModel,
135
+ credentialId: this._credentialId,
136
+ aFrameVersion: this._aFrameVersion,
137
+ aFrameServerVersion: this._aFrameServerVersion
138
+ };
139
+ }
140
+ // ─── Embedding hydration ──────────────────────────────────────────────────
141
+ hydrateFromRecord(record) {
142
+ if (record.hash !== this._hash) {
143
+ throw new Error(
144
+ `A_FrameNamespace.hydrateFromRecord: hash mismatch for "${this._name}" (expected ${this._hash}, got ${record.hash})`
145
+ );
146
+ }
147
+ this._vector = new chunkYWWGJ6EJ_cjs.A_FrameVector(record.embedding);
148
+ this._embeddedAt = record.embeddedAt;
149
+ }
150
+ hydrateFromEmbedding(embedding, meta) {
151
+ this._vector = new chunkYWWGJ6EJ_cjs.A_FrameVector(embedding);
152
+ this._embeddedAt = Date.now();
153
+ if (meta) {
154
+ this._embeddingModel = meta.model;
155
+ this._credentialId = meta.credentialId ?? void 0;
156
+ this._aFrameVersion = meta.aFrameVersion;
157
+ this._aFrameServerVersion = meta.aFrameServerVersion;
158
+ }
159
+ }
160
+ /**
161
+ * Build the text string sent to the embedding model.
162
+ * Uses name + description so the vector captures semantic intent.
163
+ */
164
+ toString() {
165
+ const parts = [`// namespace: ${this._name}`];
166
+ if (this._description) parts.push(`// ${this._description}`);
167
+ return parts.join("\n");
168
+ }
169
+ };
170
+
171
+ exports.A_FRAME_DEFAULT_NAMESPACE_KEY = A_FRAME_DEFAULT_NAMESPACE_KEY;
172
+ exports.A_FrameNamespace = A_FrameNamespace;
173
+ exports.A_FrameNamespaceFeatures = A_FrameNamespaceFeatures;
174
+ //# sourceMappingURL=chunk-KLG6HKFU.cjs.map
175
+ //# sourceMappingURL=chunk-KLG6HKFU.cjs.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_Entity","A_FormatterHelper","A_FrameHashHelper","A_FrameVector"],"mappings":"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","file":"chunk-KLG6HKFU.cjs","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"]}