@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,655 @@
1
+ import { A_FrameEnv } from './chunk-F4UCOZW5.mjs';
2
+ import { A_FrameNamespace, A_FrameNamespaceFeatures } from './chunk-APRYHBEF.mjs';
3
+ import { A_FrameDefinition, A_FrameDefinitionFeatures } from './chunk-B7BXP7K4.mjs';
4
+ import { __decorateClass, __decorateParam } from './chunk-OI76LHVT.mjs';
5
+ import { A_Feature, A_Inject, A_Caller, A_Error, A_Component, A_Scope, A_Context, A_Entity, A_Fragment } from '@adaas/a-concept';
6
+ import * as http from 'http';
7
+ import * as https from 'https';
8
+
9
+ // src/lib/A-FrameChannel/A-FrameChannel.constants.ts
10
+ var A_FrameFeatures = {
11
+ Request: "_A_FRAME_REQUEST",
12
+ Socket: "_A_FRAME_SOCKET"
13
+ };
14
+ var A_FrameChannelStreamStatuses = {
15
+ Open: "open",
16
+ Closed: "closed"
17
+ };
18
+ var A_FrameChannelStreamFeatures = {
19
+ open: "_A_FRAME_CHANNEL_STREAM_OPEN",
20
+ send: "_A_FRAME_CHANNEL_STREAM_SEND",
21
+ onEvent: "_A_FRAME_CHANNEL_STREAM_ON_EVENT",
22
+ onError: "_A_FRAME_CHANNEL_STREAM_ON_ERROR",
23
+ onComplete: "_A_FRAME_CHANNEL_STREAM_ON_COMPLETE",
24
+ onClose: "_A_FRAME_CHANNEL_STREAM_ON_CLOSE"
25
+ };
26
+ var A_FrameChannelSocketStatuses = {
27
+ Connecting: "connecting",
28
+ Open: "open",
29
+ Closed: "closed"
30
+ };
31
+ var A_FrameChannelSocketFeatures = {
32
+ onEvent: "_A_FRAME_CHANNEL_SOCKET_ON_EVENT",
33
+ onError: "_A_FRAME_CHANNEL_SOCKET_ON_ERROR",
34
+ onOpen: "_A_FRAME_CHANNEL_SOCKET_ON_OPEN",
35
+ onClose: "_A_FRAME_CHANNEL_SOCKET_ON_CLOSE"
36
+ };
37
+ var A_FrameChannelRequest = class extends A_Fragment {
38
+ constructor(method, path, body) {
39
+ super({ name: "a-frame-channel-request" });
40
+ this.method = method;
41
+ this.path = path;
42
+ this.body = body;
43
+ }
44
+ complete(response) {
45
+ this._response = response;
46
+ }
47
+ fail(error) {
48
+ this._error = error;
49
+ }
50
+ get response() {
51
+ return this._response;
52
+ }
53
+ get error() {
54
+ return this._error;
55
+ }
56
+ };
57
+ var A_FrameChannelError = class extends A_Error {
58
+ };
59
+ A_FrameChannelError.InvalidRequest = "InvalidRequest";
60
+ A_FrameChannelError.Timeout = "Timeout";
61
+ A_FrameChannelError.RequestFailed = "RequestFailed";
62
+
63
+ // src/lib/A-FrameDynamicSession/A-FrameDynamicSession.constants.ts
64
+ var A_FrameDynamicSessionFeatures = {
65
+ Init: "_A_FRAME_DYNAMIC_SESSION_INIT",
66
+ Question: "_A_FRAME_DYNAMIC_SESSION_QUESTION",
67
+ Answer: "_A_FRAME_DYNAMIC_SESSION_ANSWER",
68
+ Destroy: "_A_FRAME_DYNAMIC_SESSION_DESTROY"
69
+ };
70
+
71
+ // src/lib/A-FrameDynamicSession/A-FrameDynamicSession.entity.ts
72
+ var A_FrameDynamicSession = class extends A_Entity {
73
+ static get concept() {
74
+ return "a-frame";
75
+ }
76
+ /**
77
+ *
78
+ */
79
+ get scope() {
80
+ if (!this._scope) {
81
+ this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));
82
+ }
83
+ return this._scope;
84
+ }
85
+ get currentTurn() {
86
+ return this._currentTurn;
87
+ }
88
+ get initDate() {
89
+ return new Date(this._initDate);
90
+ }
91
+ static onQuestion() {
92
+ return;
93
+ }
94
+ static onAnswer() {
95
+ return;
96
+ }
97
+ fromNew(newEntity) {
98
+ this._turnsCount = newEntity.turnsCount || 5;
99
+ this._currentTurn = 0;
100
+ this._initDate = (/* @__PURE__ */ new Date()).toISOString();
101
+ }
102
+ fromJSON(serialized) {
103
+ this._turnsCount = serialized.turnsCount;
104
+ this._currentTurn = serialized.currentTurn;
105
+ this._initDate = serialized.initDate;
106
+ }
107
+ async init() {
108
+ await this.call(A_FrameDynamicSessionFeatures.Init);
109
+ }
110
+ async destroy(scope) {
111
+ await this.call(A_FrameDynamicSessionFeatures.Destroy, scope);
112
+ }
113
+ async question() {
114
+ this._currentTurn++;
115
+ await this.call(A_FrameDynamicSessionFeatures.Question);
116
+ }
117
+ async answer() {
118
+ await this.call(A_FrameDynamicSessionFeatures.Answer);
119
+ }
120
+ toJSON() {
121
+ return {
122
+ ...super.toJSON(),
123
+ turnsCount: this._turnsCount,
124
+ currentTurn: this._currentTurn,
125
+ initDate: this._initDate
126
+ };
127
+ }
128
+ };
129
+ var A_FrameDynamicStructureOperation = class extends A_Fragment {
130
+ constructor(params = {}) {
131
+ super({ name: "a-frame-dynamic-structure-operation-context" });
132
+ this._meta = /* @__PURE__ */ new Map();
133
+ this._meta.set("params", params);
134
+ }
135
+ get params() {
136
+ return this._meta.get("params");
137
+ }
138
+ get(key) {
139
+ return this._meta.get(key);
140
+ }
141
+ set(key, value) {
142
+ this._meta.set(key, value);
143
+ }
144
+ };
145
+
146
+ // src/lib/A-FrameChannel/A-FrameChannel.component.ts
147
+ var A_FrameChannel = class extends A_Component {
148
+ async generate(prompt) {
149
+ const request = new A_FrameChannelRequest("POST", "/api/completions", { prompt, max_tokens: 512 });
150
+ const executionScope = new A_Scope({
151
+ name: "A_FrameChannel.generate",
152
+ fragments: [request]
153
+ }).inherit(A_Context.scope(this));
154
+ try {
155
+ await this.call(A_FrameFeatures.Request, executionScope);
156
+ executionScope.destroy();
157
+ return request;
158
+ } catch (err) {
159
+ executionScope.destroy();
160
+ throw new A_FrameChannelError({
161
+ title: A_FrameChannelError.RequestFailed,
162
+ description: `Failed to generate completion: ${err instanceof Error ? err.message : String(err)}`
163
+ });
164
+ }
165
+ }
166
+ async embed(input) {
167
+ const request = new A_FrameChannelRequest("POST", "/api/embeddings", { input });
168
+ const executionScope = new A_Scope({
169
+ name: "A_FrameChannel.embed",
170
+ fragments: [request]
171
+ }).inherit(A_Context.scope(this));
172
+ try {
173
+ await this.call(A_FrameFeatures.Request, executionScope);
174
+ executionScope.destroy();
175
+ return request;
176
+ } catch (err) {
177
+ executionScope.destroy();
178
+ throw new A_FrameChannelError({
179
+ title: A_FrameChannelError.RequestFailed,
180
+ description: `Failed to embed input: ${err instanceof Error ? err.message : String(err)}`
181
+ });
182
+ }
183
+ }
184
+ async getCredentials() {
185
+ const request = new A_FrameChannelRequest("GET", "/api/credentials/me");
186
+ const executionScope = new A_Scope({
187
+ name: "A_FrameChannel.getCredentials",
188
+ fragments: [request]
189
+ }).inherit(A_Context.scope(this));
190
+ try {
191
+ await this.call(A_FrameFeatures.Request, executionScope);
192
+ executionScope.destroy();
193
+ return request;
194
+ } catch (err) {
195
+ executionScope.destroy();
196
+ throw new A_FrameChannelError({
197
+ title: A_FrameChannelError.RequestFailed,
198
+ description: `Failed to get credentials: ${err instanceof Error ? err.message : String(err)}`
199
+ });
200
+ }
201
+ }
202
+ async ping() {
203
+ const request = new A_FrameChannelRequest("GET", "/health");
204
+ const executionScope = new A_Scope({
205
+ name: "A_FrameChannel.ping",
206
+ fragments: [request]
207
+ }).inherit(A_Context.scope(this));
208
+ try {
209
+ await this.call(A_FrameFeatures.Request, executionScope);
210
+ executionScope.destroy();
211
+ return request;
212
+ } catch {
213
+ executionScope.destroy();
214
+ return request;
215
+ }
216
+ }
217
+ async embedDefinition(definition, env) {
218
+ const request = new A_FrameChannelRequest("POST", "/api/v1/definition/embed", {
219
+ definition: definition.toJSON()
220
+ });
221
+ const executionScope = new A_Scope({
222
+ name: "A_FrameChannel.embedDefinition",
223
+ fragments: [request]
224
+ }).inherit(A_Context.scope(this));
225
+ try {
226
+ await this.call(A_FrameFeatures.Request, executionScope);
227
+ executionScope.destroy();
228
+ const response = request.response;
229
+ if (!response.data || !response.data[0] || !response.data[0].embedding) {
230
+ throw new A_FrameChannelError({
231
+ title: A_FrameChannelError.InvalidRequest,
232
+ description: `Invalid embedding response for definition "${definition.name}"`
233
+ });
234
+ }
235
+ const vector = new Float32Array(response.data[0].embedding);
236
+ definition.hydrateFromEmbedding(vector, {
237
+ model: response.model,
238
+ dimensions: response.meta.dimensions,
239
+ inputCount: response.meta.input_count,
240
+ aFrameServerVersion: response.meta.server_version,
241
+ aFrameVersion: env.A_FRAME_VERSION,
242
+ credentialId: response.meta.credential_id,
243
+ date: response.date
244
+ });
245
+ } catch (err) {
246
+ throw new A_FrameChannelError({
247
+ title: A_FrameChannelError.RequestFailed,
248
+ description: `Failed to embed definition "${definition.name}": ${err instanceof Error ? err.message : String(err)}`
249
+ });
250
+ }
251
+ }
252
+ async embedNamespace(namespace, env) {
253
+ const request = new A_FrameChannelRequest("POST", "/api/v1/namespace/embed", {
254
+ namespace: namespace.toJSON()
255
+ });
256
+ const executionScope = new A_Scope({
257
+ name: "A_FrameChannel.embedNamespace",
258
+ fragments: [request]
259
+ }).inherit(A_Context.scope(this));
260
+ try {
261
+ await this.call(A_FrameFeatures.Request, executionScope);
262
+ executionScope.destroy();
263
+ const response = request.response;
264
+ if (!response.data || !response.data[0] || !response.data[0].embedding) {
265
+ throw new A_FrameChannelError({
266
+ title: A_FrameChannelError.InvalidRequest,
267
+ description: `Invalid embedding response for namespace "${namespace.name}"`
268
+ });
269
+ }
270
+ const vector = new Float32Array(response.data[0].embedding);
271
+ namespace.hydrateFromEmbedding(vector, {
272
+ model: response.model,
273
+ dimensions: response.meta.dimensions,
274
+ inputCount: response.meta.input_count,
275
+ aFrameServerVersion: response.meta.server_version,
276
+ aFrameVersion: env.A_FRAME_VERSION,
277
+ credentialId: response.meta.credential_id,
278
+ date: response.date
279
+ });
280
+ } catch (err) {
281
+ throw new A_FrameChannelError({
282
+ title: A_FrameChannelError.RequestFailed,
283
+ description: `Failed to embed namespace "${namespace.name}": ${err instanceof Error ? err.message : String(err)}`
284
+ });
285
+ }
286
+ }
287
+ async generateDynamicStructure(structure, session, operation) {
288
+ }
289
+ // /**
290
+ // * Open a bidirectional WebSocket connection to the server.
291
+ // *
292
+ // * The method resolves once the connection is closed (server close frame or
293
+ // * transport end). While it is pending, call `socket.send(event)` to push
294
+ // * frames to the server. Incoming frames are dispatched automatically to
295
+ // * any `@A_FrameChannelSocket.onEvent()` handlers registered on `socket`.
296
+ // *
297
+ // * @param socket - Pre-configured socket entity (optionally a subclass with
298
+ // * event handlers pre-registered via `@onEvent` decorators).
299
+ // */
300
+ // async connect(socket: A_FrameChannelSocket): Promise<void> {
301
+ // const executionScope = new A_Scope({
302
+ // name: 'A_FrameChannel.connect',
303
+ // entities: [socket],
304
+ // }).inherit(A_Context.scope(this));
305
+ // try {
306
+ // await this.call(A_FrameFeatures.Socket, executionScope);
307
+ // executionScope.destroy();
308
+ // } catch (err) {
309
+ // executionScope.destroy();
310
+ // throw new A_FrameChannelError({
311
+ // title: A_FrameChannelError.RequestFailed,
312
+ // description: `WebSocket connection to ${socket.path} failed: ${err instanceof Error ? err.message : String(err)}`,
313
+ // });
314
+ // }
315
+ // }
316
+ };
317
+ __decorateClass([
318
+ A_Feature.Extend({
319
+ name: A_FrameDefinitionFeatures.Embed,
320
+ scope: [A_FrameDefinition]
321
+ }),
322
+ __decorateParam(0, A_Inject(A_Caller)),
323
+ __decorateParam(1, A_Inject(A_FrameEnv))
324
+ ], A_FrameChannel.prototype, "embedDefinition", 1);
325
+ __decorateClass([
326
+ A_Feature.Extend({
327
+ name: A_FrameNamespaceFeatures.Embed,
328
+ scope: [A_FrameNamespace]
329
+ }),
330
+ __decorateParam(0, A_Inject(A_Caller)),
331
+ __decorateParam(1, A_Inject(A_FrameEnv))
332
+ ], A_FrameChannel.prototype, "embedNamespace", 1);
333
+ __decorateClass([
334
+ __decorateParam(0, A_Inject(A_Caller)),
335
+ __decorateParam(1, A_Inject(A_FrameDynamicSession)),
336
+ __decorateParam(2, A_Inject(A_FrameDynamicStructureOperation))
337
+ ], A_FrameChannel.prototype, "generateDynamicStructure", 1);
338
+ var A_FrameChannelEvent = class extends A_Fragment {
339
+ constructor(name, data) {
340
+ super({ name: "a-frame-channel-event-" + name });
341
+ this._data = data;
342
+ this._eventName = name;
343
+ }
344
+ get name() {
345
+ return this._eventName;
346
+ }
347
+ get data() {
348
+ return this._data;
349
+ }
350
+ };
351
+ var A_FrameChannelStream = class extends A_Entity {
352
+ static onEvent(name) {
353
+ const eventName = (name || "all") + A_FrameChannelStreamFeatures.onEvent;
354
+ return (target, propertyKey, descriptor) => {
355
+ return A_Feature.Extend({
356
+ name: eventName,
357
+ scope: [target.constructor]
358
+ })(target, propertyKey, descriptor);
359
+ };
360
+ }
361
+ /**
362
+ * The scope of the session, Will be destroyed after the session is closed.
363
+ */
364
+ get scope() {
365
+ if (!this._scope) {
366
+ this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));
367
+ }
368
+ return this._scope;
369
+ }
370
+ get method() {
371
+ return this._method;
372
+ }
373
+ get path() {
374
+ return this._path;
375
+ }
376
+ get body() {
377
+ return this._body;
378
+ }
379
+ get status() {
380
+ return this._status;
381
+ }
382
+ get error() {
383
+ return this._error;
384
+ }
385
+ get initDate() {
386
+ return new Date(this._initDate);
387
+ }
388
+ complete() {
389
+ this._status = A_FrameChannelStreamStatuses.Closed;
390
+ }
391
+ fail(error) {
392
+ this._status = A_FrameChannelStreamStatuses.Closed;
393
+ this._error = error;
394
+ }
395
+ destroy() {
396
+ this.scope.destroy();
397
+ }
398
+ async open() {
399
+ await this.call(A_FrameChannelStreamFeatures.open);
400
+ }
401
+ async send() {
402
+ await this.call(A_FrameChannelStreamFeatures.send);
403
+ }
404
+ async propagate(name, data) {
405
+ const request = new A_FrameChannelEvent(name, data);
406
+ const executionScope = new A_Scope({
407
+ name: "A_FrameChannelStream.propagate",
408
+ fragments: [request]
409
+ }).inherit(this.scope);
410
+ try {
411
+ const callName = (name || "all") + A_FrameChannelStreamFeatures.onEvent;
412
+ await this.call(callName, executionScope);
413
+ executionScope.destroy();
414
+ } catch {
415
+ executionScope.destroy();
416
+ }
417
+ }
418
+ fromNew(newEntity) {
419
+ this._method = newEntity.method;
420
+ this._path = newEntity.path;
421
+ this._body = newEntity.body;
422
+ this._initDate = (/* @__PURE__ */ new Date()).toISOString();
423
+ }
424
+ fromJSON(serialized) {
425
+ this._method = serialized.method;
426
+ this._path = serialized.path;
427
+ this._body = serialized.body;
428
+ this._initDate = serialized.initDate;
429
+ }
430
+ toJSON() {
431
+ return {
432
+ ...super.toJSON(),
433
+ initDate: this._initDate,
434
+ status: this._status,
435
+ error: this._error ? this._error.toJSON() : void 0,
436
+ method: this._method,
437
+ path: this._path,
438
+ body: this._body
439
+ };
440
+ }
441
+ };
442
+ var A_FrameNodeChannel = class extends A_FrameChannel {
443
+ async request(context, env) {
444
+ const url = `${env.A_FRAME_SERVER_URL}${context.path}`;
445
+ const parsedUrl = new URL(url);
446
+ const client = parsedUrl.protocol === "https:" ? https : http;
447
+ const payload = context.body !== void 0 ? JSON.stringify(context.body) : void 0;
448
+ const result = await new Promise((resolve, reject) => {
449
+ const req = client.request(
450
+ {
451
+ protocol: parsedUrl.protocol,
452
+ hostname: parsedUrl.hostname,
453
+ port: parsedUrl.port,
454
+ path: `${parsedUrl.pathname}${parsedUrl.search}`,
455
+ method: context.method,
456
+ headers: {
457
+ "Content-Type": "application/json",
458
+ Authorization: `Bearer ${env.A_FRAME_SERVER_API_KEY}`,
459
+ ...payload ? { "Content-Length": Buffer.byteLength(payload) } : {}
460
+ }
461
+ },
462
+ (res) => {
463
+ const chunks = [];
464
+ res.on("data", (chunk) => chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)));
465
+ res.on("end", () => {
466
+ const raw = Buffer.concat(chunks).toString("utf8");
467
+ if ((res.statusCode ?? 500) >= 400) {
468
+ console.error(`[A-FrameChannel] <-- ${res.statusCode} ${context.method} ${url}`);
469
+ reject(
470
+ new A_FrameChannelError({
471
+ title: A_FrameChannelError.RequestFailed,
472
+ description: `Request to ${context.path} failed with status ${res.statusCode}`
473
+ })
474
+ );
475
+ return;
476
+ }
477
+ if (!raw) {
478
+ console.log(`[A-FrameChannel] <-- ${res.statusCode} ${context.method} ${url} (empty)`);
479
+ resolve(void 0);
480
+ return;
481
+ }
482
+ try {
483
+ const parsed = JSON.parse(raw);
484
+ console.log(`[A-FrameChannel] <-- ${res.statusCode} ${context.method} ${url}`);
485
+ resolve(parsed);
486
+ } catch {
487
+ console.error(`[A-FrameChannel] <-- ${res.statusCode} ${context.method} ${url} (invalid JSON)`);
488
+ reject(
489
+ new A_FrameChannelError({
490
+ title: A_FrameChannelError.RequestFailed,
491
+ description: `Invalid JSON response from ${context.path}`
492
+ })
493
+ );
494
+ }
495
+ });
496
+ }
497
+ );
498
+ req.setTimeout(15e3, () => {
499
+ console.error(`[A-FrameChannel] TIMEOUT ${context.method} ${url}`);
500
+ req.destroy(
501
+ new A_FrameChannelError({
502
+ title: A_FrameChannelError.Timeout,
503
+ description: `Request to ${context.path} timed out after 15 seconds`
504
+ })
505
+ );
506
+ });
507
+ req.on("error", (err) => reject(err));
508
+ if (payload) req.write(payload);
509
+ req.end();
510
+ });
511
+ context.complete(result);
512
+ }
513
+ async stream(stream, env) {
514
+ const url = `${env.A_FRAME_SERVER_URL}${stream.path}`;
515
+ const parsedUrl = new URL(url);
516
+ const client = parsedUrl.protocol === "https:" ? https : http;
517
+ const payload = stream.body !== void 0 ? JSON.stringify(stream.body) : void 0;
518
+ await new Promise((resolve, reject) => {
519
+ const req = client.request(
520
+ {
521
+ protocol: parsedUrl.protocol,
522
+ hostname: parsedUrl.hostname,
523
+ port: parsedUrl.port,
524
+ path: `${parsedUrl.pathname}${parsedUrl.search}`,
525
+ method: stream.method,
526
+ headers: {
527
+ "Content-Type": "application/json",
528
+ Accept: "text/event-stream",
529
+ Authorization: `Bearer ${env.A_FRAME_SERVER_API_KEY}`,
530
+ ...payload ? { "Content-Length": Buffer.byteLength(payload) } : {}
531
+ }
532
+ },
533
+ (res) => {
534
+ if ((res.statusCode ?? 500) >= 400) {
535
+ console.error(`[A-FrameChannel] <-- ${res.statusCode} ${stream.method} ${url}`);
536
+ reject(
537
+ new A_FrameChannelError({
538
+ title: A_FrameChannelError.RequestFailed,
539
+ description: `Stream request to ${stream.path} failed with status ${res.statusCode}`
540
+ })
541
+ );
542
+ return;
543
+ }
544
+ let buffer = "";
545
+ res.on("data", async (chunk) => {
546
+ buffer += Buffer.isBuffer(chunk) ? chunk.toString("utf8") : String(chunk);
547
+ const lines = buffer.split("\n");
548
+ buffer = lines.pop() || "";
549
+ for (const line of lines) {
550
+ if (!line.startsWith("data: ")) continue;
551
+ const data = line.slice(6).trim();
552
+ if (data === "[DONE]") continue;
553
+ try {
554
+ const event = JSON.parse(data);
555
+ await stream.propagate(event.type, event.data);
556
+ } catch {
557
+ console.error(`[A-FrameChannel] Invalid SSE payload from ${stream.path}: ${data}`);
558
+ }
559
+ }
560
+ });
561
+ res.on("end", () => {
562
+ console.log(`[A-FrameChannel] <-- ${res.statusCode} ${stream.method} ${url} (stream complete)`);
563
+ resolve();
564
+ });
565
+ res.on("error", (err) => reject(err));
566
+ }
567
+ );
568
+ req.setTimeout(6e4, () => {
569
+ console.error(`[A-FrameChannel] TIMEOUT ${stream.method} ${url}`);
570
+ req.destroy(
571
+ new A_FrameChannelError({
572
+ title: A_FrameChannelError.Timeout,
573
+ description: `Stream request to ${stream.path} timed out after 60 seconds`
574
+ })
575
+ );
576
+ });
577
+ req.on("error", (err) => reject(err));
578
+ if (payload) req.write(payload);
579
+ req.end();
580
+ });
581
+ stream.complete();
582
+ }
583
+ async send(stream, event, env) {
584
+ const url = `${env.A_FRAME_SERVER_URL}${stream.path}/send`;
585
+ const parsedUrl = new URL(url);
586
+ const client = parsedUrl.protocol === "https:" ? https : http;
587
+ const payload = JSON.stringify({ type: event.name, data: event.data });
588
+ await new Promise((resolve, reject) => {
589
+ const req = client.request(
590
+ {
591
+ protocol: parsedUrl.protocol,
592
+ hostname: parsedUrl.hostname,
593
+ port: parsedUrl.port,
594
+ path: `${parsedUrl.pathname}${parsedUrl.search}`,
595
+ method: "POST",
596
+ headers: {
597
+ "Content-Type": "application/json",
598
+ Authorization: `Bearer ${env.A_FRAME_SERVER_API_KEY}`,
599
+ "Content-Length": Buffer.byteLength(payload)
600
+ }
601
+ },
602
+ (res) => {
603
+ res.resume();
604
+ res.on("end", () => {
605
+ if ((res.statusCode ?? 500) >= 400) {
606
+ console.error(`[A-FrameChannel] <-- ${res.statusCode} POST ${url}`);
607
+ reject(
608
+ new A_FrameChannelError({
609
+ title: A_FrameChannelError.RequestFailed,
610
+ description: `Send event "${event.name}" to ${stream.path} failed with status ${res.statusCode}`
611
+ })
612
+ );
613
+ return;
614
+ }
615
+ console.log(`[A-FrameChannel] --> ${res.statusCode} POST ${url} (event: ${event.name})`);
616
+ resolve();
617
+ });
618
+ }
619
+ );
620
+ req.setTimeout(15e3, () => {
621
+ console.error(`[A-FrameChannel] TIMEOUT POST ${url}`);
622
+ req.destroy(
623
+ new A_FrameChannelError({
624
+ title: A_FrameChannelError.Timeout,
625
+ description: `Send event "${event.name}" to ${stream.path} timed out after 15 seconds`
626
+ })
627
+ );
628
+ });
629
+ req.on("error", (err) => reject(err));
630
+ req.write(payload);
631
+ req.end();
632
+ });
633
+ }
634
+ };
635
+ __decorateClass([
636
+ A_Feature.Extend({
637
+ name: A_FrameFeatures.Request,
638
+ scope: [A_FrameChannel]
639
+ }),
640
+ __decorateParam(0, A_Inject(A_FrameChannelRequest)),
641
+ __decorateParam(1, A_Inject(A_FrameEnv))
642
+ ], A_FrameNodeChannel.prototype, "request", 1);
643
+ __decorateClass([
644
+ __decorateParam(0, A_Inject(A_FrameChannelStream)),
645
+ __decorateParam(1, A_Inject(A_FrameEnv))
646
+ ], A_FrameNodeChannel.prototype, "stream", 1);
647
+ __decorateClass([
648
+ __decorateParam(0, A_Inject(A_FrameChannelStream)),
649
+ __decorateParam(1, A_Inject(A_FrameChannelEvent)),
650
+ __decorateParam(2, A_Inject(A_FrameEnv))
651
+ ], A_FrameNodeChannel.prototype, "send", 1);
652
+
653
+ export { A_FrameChannel, A_FrameChannelError, A_FrameChannelEvent, A_FrameChannelRequest, A_FrameChannelSocketFeatures, A_FrameChannelSocketStatuses, A_FrameChannelStream, A_FrameChannelStreamFeatures, A_FrameChannelStreamStatuses, A_FrameFeatures, A_FrameNodeChannel };
654
+ //# sourceMappingURL=chunk-DMY44VUG.mjs.map
655
+ //# sourceMappingURL=chunk-DMY44VUG.mjs.map