@adaas/a-frame 0.1.1 → 0.1.2

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 (658) hide show
  1. package/.conf/tsconfig.browser.json +7 -1
  2. package/.conf/tsconfig.node.json +7 -1
  3. package/dist/browser/A-FrameBrowserStorageBlobs.context-CZTTvpn2.d.mts +53 -0
  4. package/dist/browser/A-FrameBrowserStorageBlobs.context-CaGTyatz.d.mts +40 -0
  5. package/dist/browser/A-FrameBrowserStorageBlobs.context-DjeEH8cn.d.mts +53 -0
  6. package/dist/browser/A-FrameBrowserStorageBlobs.context-vCsuTea9.d.mts +40 -0
  7. package/dist/browser/A-FrameBundle.types-LzfgdMiQ.d.mts +71 -0
  8. package/dist/browser/A-FrameChannel.component-4mTNctXL.d.mts +704 -0
  9. package/dist/browser/A-FrameChannel.types-BXEKJK9t.d.mts +205 -0
  10. package/dist/browser/A-FrameChannel.types-Ba3wgUZj.d.mts +199 -0
  11. package/dist/browser/A-FrameChannel.types-BfINhQZe.d.mts +145 -0
  12. package/dist/browser/A-FrameChannel.types-DfacgYL1.d.mts +199 -0
  13. package/dist/browser/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
  14. package/dist/browser/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
  15. package/dist/browser/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
  16. package/dist/browser/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
  17. package/dist/browser/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
  18. package/dist/browser/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
  19. package/dist/browser/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
  20. package/dist/browser/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
  21. package/dist/browser/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
  22. package/dist/browser/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
  23. package/dist/browser/A-FrameEnv.types-DnK-CYVk.d.mts +21 -0
  24. package/dist/browser/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
  25. package/dist/browser/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
  26. package/dist/browser/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
  27. package/dist/browser/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
  28. package/dist/browser/bundle.d.mts +6 -2
  29. package/dist/browser/bundle.mjs +1 -1
  30. package/dist/browser/bundle.mjs.map +1 -1
  31. package/dist/browser/channel.d.mts +51 -74
  32. package/dist/browser/channel.mjs +1 -2
  33. package/dist/browser/channel.mjs.map +1 -1
  34. package/dist/browser/chunk-2RNFZSBL.mjs +2 -0
  35. package/dist/browser/chunk-2RNFZSBL.mjs.map +1 -0
  36. package/dist/browser/chunk-46LRNZRG.mjs +2 -0
  37. package/dist/browser/chunk-46LRNZRG.mjs.map +1 -0
  38. package/dist/browser/chunk-52HFO3OY.mjs +2 -0
  39. package/dist/browser/chunk-52HFO3OY.mjs.map +1 -0
  40. package/dist/browser/chunk-643KGQKR.mjs +3 -0
  41. package/dist/browser/chunk-643KGQKR.mjs.map +1 -0
  42. package/dist/browser/chunk-66BBIZAM.mjs +3 -0
  43. package/dist/browser/chunk-66BBIZAM.mjs.map +1 -0
  44. package/dist/browser/chunk-6NPQURSO.mjs +2 -0
  45. package/dist/browser/chunk-6NPQURSO.mjs.map +1 -0
  46. package/dist/browser/chunk-6WAOMX7M.mjs +2 -0
  47. package/dist/browser/chunk-6WAOMX7M.mjs.map +1 -0
  48. package/dist/browser/chunk-77HU5SRQ.mjs +2 -0
  49. package/dist/browser/chunk-77HU5SRQ.mjs.map +1 -0
  50. package/dist/browser/chunk-AET6XULU.mjs +2 -0
  51. package/dist/browser/chunk-AET6XULU.mjs.map +1 -0
  52. package/dist/browser/chunk-BIBPE2GT.mjs +3 -0
  53. package/dist/browser/chunk-BIBPE2GT.mjs.map +1 -0
  54. package/dist/browser/chunk-CDJKU4DK.mjs +2 -0
  55. package/dist/browser/chunk-CDJKU4DK.mjs.map +1 -0
  56. package/dist/browser/chunk-CT67Y46H.mjs +3 -0
  57. package/dist/browser/chunk-CT67Y46H.mjs.map +1 -0
  58. package/dist/browser/chunk-EFC7OUNO.mjs +2 -0
  59. package/dist/browser/chunk-EFC7OUNO.mjs.map +1 -0
  60. package/dist/browser/chunk-EJIX7H7A.mjs +2 -0
  61. package/dist/browser/chunk-EJIX7H7A.mjs.map +1 -0
  62. package/dist/browser/chunk-FHJ5ATND.mjs +3 -0
  63. package/dist/browser/chunk-FHJ5ATND.mjs.map +1 -0
  64. package/dist/browser/chunk-FVH2EEVP.mjs +3 -0
  65. package/dist/browser/chunk-FVH2EEVP.mjs.map +1 -0
  66. package/dist/browser/chunk-G6ULYKSU.mjs +2 -0
  67. package/dist/browser/chunk-G6ULYKSU.mjs.map +1 -0
  68. package/dist/browser/chunk-G7MKGKG5.mjs +2 -0
  69. package/dist/browser/chunk-G7MKGKG5.mjs.map +1 -0
  70. package/dist/browser/chunk-GOMJPGVB.mjs +3 -0
  71. package/dist/browser/chunk-GOMJPGVB.mjs.map +1 -0
  72. package/dist/browser/chunk-INQV5UZA.mjs +2 -0
  73. package/dist/browser/chunk-INQV5UZA.mjs.map +1 -0
  74. package/dist/browser/chunk-INXPVBTZ.mjs +2 -0
  75. package/dist/browser/chunk-INXPVBTZ.mjs.map +1 -0
  76. package/dist/browser/chunk-KFMVTZ7T.mjs +2 -0
  77. package/dist/browser/chunk-KFMVTZ7T.mjs.map +1 -0
  78. package/dist/browser/chunk-LK6C7C3S.mjs +2 -0
  79. package/dist/browser/chunk-LK6C7C3S.mjs.map +1 -0
  80. package/dist/browser/chunk-LOGRQOWP.mjs +3 -0
  81. package/dist/browser/chunk-LOGRQOWP.mjs.map +1 -0
  82. package/dist/browser/chunk-LZACYSUC.mjs +3 -0
  83. package/dist/browser/chunk-LZACYSUC.mjs.map +1 -0
  84. package/dist/browser/chunk-NTOIVRX3.mjs +2 -0
  85. package/dist/browser/chunk-NTOIVRX3.mjs.map +1 -0
  86. package/dist/browser/chunk-OES2N3X7.mjs +3 -0
  87. package/dist/browser/chunk-OES2N3X7.mjs.map +1 -0
  88. package/dist/browser/chunk-OFKV5GNB.mjs +1 -1
  89. package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -1
  90. package/dist/browser/chunk-OVLM5A32.mjs +3 -0
  91. package/dist/browser/chunk-OVLM5A32.mjs.map +1 -0
  92. package/dist/browser/chunk-QATIN7CO.mjs +1 -1
  93. package/dist/browser/chunk-QATIN7CO.mjs.map +1 -1
  94. package/dist/browser/chunk-QOL7CAUZ.mjs +2 -0
  95. package/dist/browser/chunk-QOL7CAUZ.mjs.map +1 -0
  96. package/dist/browser/chunk-RCB3PX4V.mjs +2 -0
  97. package/dist/browser/chunk-RCB3PX4V.mjs.map +1 -0
  98. package/dist/browser/chunk-RWQSCROK.mjs +3 -0
  99. package/dist/browser/chunk-RWQSCROK.mjs.map +1 -0
  100. package/dist/browser/chunk-TIAUMK2X.mjs +2 -0
  101. package/dist/browser/chunk-TIAUMK2X.mjs.map +1 -0
  102. package/dist/browser/chunk-TQPC5MYM.mjs +3 -0
  103. package/dist/browser/chunk-TQPC5MYM.mjs.map +1 -0
  104. package/dist/browser/chunk-UNIKTCXL.mjs +3 -0
  105. package/dist/browser/chunk-UNIKTCXL.mjs.map +1 -0
  106. package/dist/browser/chunk-UULJJ5C5.mjs +3 -0
  107. package/dist/browser/chunk-UULJJ5C5.mjs.map +1 -0
  108. package/dist/browser/chunk-VSSANMPF.mjs +2 -0
  109. package/dist/browser/chunk-VSSANMPF.mjs.map +1 -0
  110. package/dist/browser/chunk-VW2BZYNY.mjs +2 -0
  111. package/dist/browser/chunk-VW2BZYNY.mjs.map +1 -0
  112. package/dist/browser/chunk-WAXBOWM6.mjs +3 -0
  113. package/dist/browser/chunk-WAXBOWM6.mjs.map +1 -0
  114. package/dist/browser/chunk-WXCQCHAX.mjs +2 -0
  115. package/dist/browser/chunk-WXCQCHAX.mjs.map +1 -0
  116. package/dist/browser/chunk-XKKBIIZG.mjs +3 -0
  117. package/dist/browser/chunk-XKKBIIZG.mjs.map +1 -0
  118. package/dist/browser/chunk-XR7FVA5M.mjs +3 -0
  119. package/dist/browser/chunk-XR7FVA5M.mjs.map +1 -0
  120. package/dist/browser/chunk-YQJFTBGV.mjs +1 -1
  121. package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -1
  122. package/dist/browser/chunk-YTAMZDWC.mjs +3 -0
  123. package/dist/browser/chunk-YTAMZDWC.mjs.map +1 -0
  124. package/dist/browser/chunk-ZEONOTRL.mjs +2 -0
  125. package/dist/browser/chunk-ZEONOTRL.mjs.map +1 -0
  126. package/dist/browser/completion.d.mts +10 -0
  127. package/dist/browser/completion.mjs +2 -0
  128. package/dist/browser/completion.mjs.map +1 -0
  129. package/dist/browser/core.d.mts +7 -6
  130. package/dist/browser/core.mjs +1 -1
  131. package/dist/browser/core.mjs.map +1 -1
  132. package/dist/browser/credentials.d.mts +74 -0
  133. package/dist/browser/credentials.mjs +2 -0
  134. package/dist/browser/credentials.mjs.map +1 -0
  135. package/dist/browser/definition.d.mts +3 -2
  136. package/dist/browser/definition.mjs +1 -1
  137. package/dist/browser/dynamic-content.d.mts +13 -0
  138. package/dist/browser/dynamic-content.mjs +2 -0
  139. package/dist/browser/dynamic-content.mjs.map +1 -0
  140. package/dist/browser/dynamic-feature.d.mts +66 -6
  141. package/dist/browser/dynamic-feature.mjs +3 -1
  142. package/dist/browser/dynamic-feature.mjs.map +1 -1
  143. package/dist/browser/dynamic-structure.d.mts +77 -3
  144. package/dist/browser/dynamic-structure.mjs +1 -1
  145. package/dist/browser/dynamic-structure.mjs.map +1 -1
  146. package/dist/browser/env.d.mts +16 -2
  147. package/dist/browser/env.mjs +1 -1
  148. package/dist/browser/frame-index.d.mts +70 -9
  149. package/dist/browser/frame-index.mjs +1 -1
  150. package/dist/browser/models.d.mts +64 -0
  151. package/dist/browser/models.mjs +2 -0
  152. package/dist/browser/models.mjs.map +1 -0
  153. package/dist/browser/namespace.d.mts +1 -1
  154. package/dist/browser/namespace.mjs +1 -1
  155. package/dist/browser/schema.d.mts +10 -0
  156. package/dist/browser/schema.mjs +2 -0
  157. package/dist/browser/schema.mjs.map +1 -0
  158. package/dist/browser/segment.d.mts +13 -0
  159. package/dist/browser/segment.mjs +2 -0
  160. package/dist/browser/segment.mjs.map +1 -0
  161. package/dist/browser/storage.d.mts +13 -7
  162. package/dist/browser/storage.mjs +1 -1
  163. package/dist/browser/vector.d.mts +7 -0
  164. package/dist/browser/vector.mjs +1 -1
  165. package/dist/cli.cjs +5593 -0
  166. package/dist/cli.cjs.map +1 -0
  167. package/dist/node/A-FrameChannel.component--YErPxf4.d.mts +97 -0
  168. package/dist/node/A-FrameChannel.component-BjgqMh1B.d.ts +97 -0
  169. package/dist/node/A-FrameChannel.component-C0O3TaRD.d.ts +679 -0
  170. package/dist/node/A-FrameChannel.component-CgBZYBz0.d.mts +379 -0
  171. package/dist/node/A-FrameChannel.component-CkZserv3.d.ts +97 -0
  172. package/dist/node/A-FrameChannel.component-DMA-3sUB.d.mts +679 -0
  173. package/dist/node/A-FrameChannel.component-DYV8omYR.d.ts +379 -0
  174. package/dist/node/A-FrameChannel.component-DwgYNfFn.d.mts +97 -0
  175. package/dist/node/A-FrameChannel.types-B3_xWKEO.d.mts +151 -0
  176. package/dist/node/A-FrameChannel.types-BGcVXTqa.d.ts +205 -0
  177. package/dist/node/A-FrameChannel.types-Boi8QqDK.d.mts +205 -0
  178. package/dist/node/A-FrameChannel.types-BsE6bNky.d.mts +205 -0
  179. package/dist/node/A-FrameChannel.types-C-gxXl8m.d.ts +151 -0
  180. package/dist/node/A-FrameChannel.types-DD2B11rf.d.ts +205 -0
  181. package/dist/node/A-FrameChannel.types-DYMgRiCF.d.mts +205 -0
  182. package/dist/node/A-FrameChannel.types-DwyZRsOy.d.ts +205 -0
  183. package/dist/node/A-FrameCompletion.entity-Brx11JMp.d.ts +72 -0
  184. package/dist/node/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
  185. package/dist/node/A-FrameDefinition.entity-BIF0sclD.d.ts +370 -0
  186. package/dist/node/A-FrameDefinition.entity-Bt9ua6cn.d.ts +358 -0
  187. package/dist/node/A-FrameDefinition.entity-C0kzaGJ0.d.ts +143 -0
  188. package/dist/node/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
  189. package/dist/node/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
  190. package/dist/node/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
  191. package/dist/node/A-FrameDefinition.types-BA_pLGpo.d.ts +232 -0
  192. package/dist/node/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
  193. package/dist/node/A-FrameDynamicContentOperation.context-C_aH1gEn.d.ts +297 -0
  194. package/dist/node/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
  195. package/dist/node/A-FrameDynamicContentOperation.context-DRqH2c3o.d.ts +266 -0
  196. package/dist/node/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
  197. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
  198. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.ts +29 -0
  199. package/dist/node/A-FrameDynamicStructure.entity-BVCbolMd.d.ts +210 -0
  200. package/dist/node/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
  201. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
  202. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.ts +235 -0
  203. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.mts +114 -0
  204. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.ts +114 -0
  205. package/dist/node/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
  206. package/dist/node/A-FrameNamespace.entity-HDXcLGcS.d.ts +136 -0
  207. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
  208. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.ts +141 -0
  209. package/dist/node/A-FrameSegment.entity-C0izuOmC.d.ts +161 -0
  210. package/dist/node/A-FrameSegment.entity-CMCgFCWU.d.ts +146 -0
  211. package/dist/node/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
  212. package/dist/node/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
  213. package/dist/node/A-FrameStorage.component-BnNKzvpY.d.mts +107 -0
  214. package/dist/node/A-FrameStorage.component-CDztogHV.d.mts +107 -0
  215. package/dist/node/A-FrameStorage.component-CW0YgKDI.d.mts +107 -0
  216. package/dist/node/A-FrameStorage.component-D4UEkIBx.d.mts +107 -0
  217. package/dist/node/A-FrameStorage.component-DV_jwK6r.d.ts +107 -0
  218. package/dist/node/A-FrameStorage.component-Di4EvbtC.d.ts +107 -0
  219. package/dist/node/A-FrameStorage.component-emIH1a1M.d.ts +107 -0
  220. package/dist/node/A-FrameStorage.component-y-JPiIQ4.d.ts +107 -0
  221. package/dist/node/bundle.cjs +66 -21
  222. package/dist/node/bundle.cjs.map +1 -1
  223. package/dist/node/bundle.d.mts +88 -24
  224. package/dist/node/bundle.d.ts +88 -24
  225. package/dist/node/bundle.mjs +65 -20
  226. package/dist/node/bundle.mjs.map +1 -1
  227. package/dist/node/channel.cjs +33 -26
  228. package/dist/node/channel.d.mts +10 -6
  229. package/dist/node/channel.d.ts +10 -6
  230. package/dist/node/channel.mjs +13 -6
  231. package/dist/node/chunk-2HUSP34L.mjs +55 -0
  232. package/dist/node/chunk-2HUSP34L.mjs.map +1 -0
  233. package/dist/node/chunk-2KXGI2E5.cjs +474 -0
  234. package/dist/node/chunk-2KXGI2E5.cjs.map +1 -0
  235. package/dist/node/chunk-2OQMOIR5.mjs +170 -0
  236. package/dist/node/chunk-2OQMOIR5.mjs.map +1 -0
  237. package/dist/node/chunk-2UI7RJ4Q.mjs +207 -0
  238. package/dist/node/chunk-2UI7RJ4Q.mjs.map +1 -0
  239. package/dist/node/chunk-3SLICJ3L.cjs +265 -0
  240. package/dist/node/chunk-3SLICJ3L.cjs.map +1 -0
  241. package/dist/node/chunk-3ZDHQOIU.cjs +92 -0
  242. package/dist/node/chunk-3ZDHQOIU.cjs.map +1 -0
  243. package/dist/node/chunk-5BKCX2RO.mjs +1 -1
  244. package/dist/node/chunk-5BKCX2RO.mjs.map +1 -1
  245. package/dist/node/chunk-5NCGXLP2.mjs +6 -0
  246. package/dist/node/chunk-5NCGXLP2.mjs.map +1 -0
  247. package/dist/node/chunk-5OTXZ7BB.mjs +53 -0
  248. package/dist/node/chunk-5OTXZ7BB.mjs.map +1 -0
  249. package/dist/node/chunk-5PYIATGT.mjs +469 -0
  250. package/dist/node/chunk-5PYIATGT.mjs.map +1 -0
  251. package/dist/node/chunk-64QCZG53.cjs +57 -0
  252. package/dist/node/chunk-64QCZG53.cjs.map +1 -0
  253. package/dist/node/chunk-652OEICJ.cjs +4 -0
  254. package/dist/node/chunk-652OEICJ.cjs.map +1 -0
  255. package/dist/node/chunk-674ZX6XJ.mjs +187 -0
  256. package/dist/node/chunk-674ZX6XJ.mjs.map +1 -0
  257. package/dist/node/chunk-6ID2IXYX.mjs +6 -0
  258. package/dist/node/chunk-6ID2IXYX.mjs.map +1 -0
  259. package/dist/node/chunk-7EM3Q7HA.mjs +655 -0
  260. package/dist/node/chunk-7EM3Q7HA.mjs.map +1 -0
  261. package/dist/node/chunk-7MVVMISA.cjs +293 -0
  262. package/dist/node/chunk-7MVVMISA.cjs.map +1 -0
  263. package/dist/node/chunk-7NSLGCAZ.mjs +1395 -0
  264. package/dist/node/chunk-7NSLGCAZ.mjs.map +1 -0
  265. package/dist/node/chunk-7OLLATCC.mjs +1289 -0
  266. package/dist/node/chunk-7OLLATCC.mjs.map +1 -0
  267. package/dist/node/chunk-7SEZMRLI.cjs +183 -0
  268. package/dist/node/chunk-7SEZMRLI.cjs.map +1 -0
  269. package/dist/node/chunk-A4CVDMSV.mjs +608 -0
  270. package/dist/node/chunk-A4CVDMSV.mjs.map +1 -0
  271. package/dist/node/chunk-A7CJIUYY.cjs +4 -0
  272. package/dist/node/chunk-A7CJIUYY.cjs.map +1 -0
  273. package/dist/node/chunk-ALFFUJ2J.mjs +163 -0
  274. package/dist/node/chunk-ALFFUJ2J.mjs.map +1 -0
  275. package/dist/node/chunk-AMMQ76RJ.mjs +179 -0
  276. package/dist/node/chunk-AMMQ76RJ.mjs.map +1 -0
  277. package/dist/node/chunk-AUKWKGVA.cjs +688 -0
  278. package/dist/node/chunk-AUKWKGVA.cjs.map +1 -0
  279. package/dist/node/chunk-AY6UMDWD.cjs +270 -0
  280. package/dist/node/chunk-AY6UMDWD.cjs.map +1 -0
  281. package/dist/node/chunk-B7ZDJXD3.cjs +1 -1
  282. package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -1
  283. package/dist/node/chunk-BBYOL3LM.cjs +1308 -0
  284. package/dist/node/chunk-BBYOL3LM.cjs.map +1 -0
  285. package/dist/node/chunk-BINGAHFW.cjs +1308 -0
  286. package/dist/node/chunk-BINGAHFW.cjs.map +1 -0
  287. package/dist/node/chunk-BSBY37MG.cjs +55 -0
  288. package/dist/node/chunk-BSBY37MG.cjs.map +1 -0
  289. package/dist/node/chunk-BWX7HFTH.cjs +209 -0
  290. package/dist/node/chunk-BWX7HFTH.cjs.map +1 -0
  291. package/dist/node/chunk-C37B34MH.cjs +188 -0
  292. package/dist/node/chunk-C37B34MH.cjs.map +1 -0
  293. package/dist/node/chunk-C6BBKHQG.cjs +250 -0
  294. package/dist/node/chunk-C6BBKHQG.cjs.map +1 -0
  295. package/dist/node/chunk-CLCAS67N.cjs +8 -0
  296. package/dist/node/chunk-CLCAS67N.cjs.map +1 -0
  297. package/dist/node/chunk-CNU3CRTR.mjs +43 -0
  298. package/dist/node/chunk-CNU3CRTR.mjs.map +1 -0
  299. package/dist/node/chunk-CV5FPKU6.mjs +6 -0
  300. package/dist/node/chunk-CV5FPKU6.mjs.map +1 -0
  301. package/dist/node/chunk-CZYOAFIR.mjs +129 -0
  302. package/dist/node/chunk-CZYOAFIR.mjs.map +1 -0
  303. package/dist/node/chunk-D2HTYEJZ.cjs +209 -0
  304. package/dist/node/chunk-D2HTYEJZ.cjs.map +1 -0
  305. package/dist/node/chunk-EMLZZPOT.cjs +1446 -0
  306. package/dist/node/chunk-EMLZZPOT.cjs.map +1 -0
  307. package/dist/node/chunk-EOIXXXBV.cjs +55 -0
  308. package/dist/node/chunk-EOIXXXBV.cjs.map +1 -0
  309. package/dist/node/chunk-F4UCOZW5.mjs +1 -1
  310. package/dist/node/chunk-F4UCOZW5.mjs.map +1 -1
  311. package/dist/node/chunk-F64CK4NI.mjs +53 -0
  312. package/dist/node/chunk-F64CK4NI.mjs.map +1 -0
  313. package/dist/node/chunk-FAV62EUG.cjs +35 -0
  314. package/dist/node/chunk-FAV62EUG.cjs.map +1 -0
  315. package/dist/node/chunk-GHSPKZUN.mjs +529 -0
  316. package/dist/node/chunk-GHSPKZUN.mjs.map +1 -0
  317. package/dist/node/chunk-GRNVK7DW.mjs +97 -0
  318. package/dist/node/chunk-GRNVK7DW.mjs.map +1 -0
  319. package/dist/node/chunk-H5VGRPD5.cjs +8 -0
  320. package/dist/node/chunk-H5VGRPD5.cjs.map +1 -0
  321. package/dist/node/chunk-HAMDDCPS.cjs +8 -0
  322. package/dist/node/chunk-HAMDDCPS.cjs.map +1 -0
  323. package/dist/node/chunk-HAORARSB.cjs +75 -0
  324. package/dist/node/chunk-HAORARSB.cjs.map +1 -0
  325. package/dist/node/chunk-HELNAM5Y.cjs +8 -0
  326. package/dist/node/chunk-HELNAM5Y.cjs.map +1 -0
  327. package/dist/node/chunk-HET6L5PD.mjs +530 -0
  328. package/dist/node/chunk-HET6L5PD.mjs.map +1 -0
  329. package/dist/node/chunk-HI5SEX53.mjs +264 -0
  330. package/dist/node/chunk-HI5SEX53.mjs.map +1 -0
  331. package/dist/node/chunk-HZGFXE4Q.mjs +6 -0
  332. package/dist/node/chunk-HZGFXE4Q.mjs.map +1 -0
  333. package/dist/node/chunk-IAL2NK2V.mjs +73 -0
  334. package/dist/node/chunk-IAL2NK2V.mjs.map +1 -0
  335. package/dist/node/chunk-IHELFDCW.mjs +327 -0
  336. package/dist/node/chunk-IHELFDCW.mjs.map +1 -0
  337. package/dist/node/chunk-ILD6OSYW.mjs +966 -0
  338. package/dist/node/chunk-ILD6OSYW.mjs.map +1 -0
  339. package/dist/node/chunk-IP6DFAO7.mjs +264 -0
  340. package/dist/node/chunk-IP6DFAO7.mjs.map +1 -0
  341. package/dist/node/chunk-IYEDO7OQ.cjs +276 -0
  342. package/dist/node/chunk-IYEDO7OQ.cjs.map +1 -0
  343. package/dist/node/chunk-JFPGFPQD.mjs +1413 -0
  344. package/dist/node/chunk-JFPGFPQD.mjs.map +1 -0
  345. package/dist/node/chunk-JHZGTVYF.cjs +999 -0
  346. package/dist/node/chunk-JHZGTVYF.cjs.map +1 -0
  347. package/dist/node/chunk-JN3UJBUH.mjs +608 -0
  348. package/dist/node/chunk-JN3UJBUH.mjs.map +1 -0
  349. package/dist/node/chunk-JNPDXCCN.mjs +530 -0
  350. package/dist/node/chunk-JNPDXCCN.mjs.map +1 -0
  351. package/dist/node/chunk-JQBYDEMW.mjs +1 -1
  352. package/dist/node/chunk-JQBYDEMW.mjs.map +1 -1
  353. package/dist/node/chunk-JQJ7N4NL.cjs +267 -0
  354. package/dist/node/chunk-JQJ7N4NL.cjs.map +1 -0
  355. package/dist/node/chunk-K4AJBPPY.cjs +174 -0
  356. package/dist/node/chunk-K4AJBPPY.cjs.map +1 -0
  357. package/dist/node/chunk-K7SXPJPK.cjs +131 -0
  358. package/dist/node/chunk-K7SXPJPK.cjs.map +1 -0
  359. package/dist/node/chunk-KFW4GE7H.mjs +1289 -0
  360. package/dist/node/chunk-KFW4GE7H.mjs.map +1 -0
  361. package/dist/node/chunk-KKL2DF2D.cjs +518 -0
  362. package/dist/node/chunk-KKL2DF2D.cjs.map +1 -0
  363. package/dist/node/chunk-KKMKQGTR.cjs +620 -0
  364. package/dist/node/chunk-KKMKQGTR.cjs.map +1 -0
  365. package/dist/node/chunk-KNTO7FCZ.mjs +207 -0
  366. package/dist/node/chunk-KNTO7FCZ.mjs.map +1 -0
  367. package/dist/node/chunk-KTKVW3PH.mjs +286 -0
  368. package/dist/node/chunk-KTKVW3PH.mjs.map +1 -0
  369. package/dist/node/chunk-KZPSF32W.mjs +33 -0
  370. package/dist/node/chunk-KZPSF32W.mjs.map +1 -0
  371. package/dist/node/chunk-LWKFCMA7.mjs +129 -0
  372. package/dist/node/chunk-LWKFCMA7.mjs.map +1 -0
  373. package/dist/node/chunk-M2ZSE6YJ.mjs +512 -0
  374. package/dist/node/chunk-M2ZSE6YJ.mjs.map +1 -0
  375. package/dist/node/chunk-M6DJYGDO.cjs +167 -0
  376. package/dist/node/chunk-M6DJYGDO.cjs.map +1 -0
  377. package/dist/node/chunk-MAHKDTOQ.mjs +3 -0
  378. package/dist/node/chunk-MAHKDTOQ.mjs.map +1 -0
  379. package/dist/node/chunk-MM2R2OM6.cjs +541 -0
  380. package/dist/node/chunk-MM2R2OM6.cjs.map +1 -0
  381. package/dist/node/chunk-MSOD5UQH.cjs +45 -0
  382. package/dist/node/chunk-MSOD5UQH.cjs.map +1 -0
  383. package/dist/node/chunk-MVAWR76Q.cjs +276 -0
  384. package/dist/node/chunk-MVAWR76Q.cjs.map +1 -0
  385. package/dist/node/chunk-MXUO7OR5.cjs +97 -0
  386. package/dist/node/chunk-MXUO7OR5.cjs.map +1 -0
  387. package/dist/node/chunk-N4THTV6P.cjs +131 -0
  388. package/dist/node/chunk-N4THTV6P.cjs.map +1 -0
  389. package/dist/node/chunk-NIXKAQVP.cjs +1 -1
  390. package/dist/node/chunk-NIXKAQVP.cjs.map +1 -1
  391. package/dist/node/chunk-NUPXUUPM.cjs +1428 -0
  392. package/dist/node/chunk-NUPXUUPM.cjs.map +1 -0
  393. package/dist/node/chunk-NWOUVAIS.cjs +45 -0
  394. package/dist/node/chunk-NWOUVAIS.cjs.map +1 -0
  395. package/dist/node/chunk-OK7I5OQ3.mjs +89 -0
  396. package/dist/node/chunk-OK7I5OQ3.mjs.map +1 -0
  397. package/dist/node/chunk-OMGYXCFM.mjs +248 -0
  398. package/dist/node/chunk-OMGYXCFM.mjs.map +1 -0
  399. package/dist/node/chunk-OYZAQMKD.mjs +263 -0
  400. package/dist/node/chunk-OYZAQMKD.mjs.map +1 -0
  401. package/dist/node/chunk-P2LULMNL.cjs +189 -0
  402. package/dist/node/chunk-P2LULMNL.cjs.map +1 -0
  403. package/dist/node/chunk-PABEFHCO.mjs +63 -0
  404. package/dist/node/chunk-PABEFHCO.mjs.map +1 -0
  405. package/dist/node/chunk-Q5NYJQP2.cjs +8 -0
  406. package/dist/node/chunk-Q5NYJQP2.cjs.map +1 -0
  407. package/dist/node/chunk-QCEWWJ3N.cjs +65 -0
  408. package/dist/node/chunk-QCEWWJ3N.cjs.map +1 -0
  409. package/dist/node/chunk-QW4AZ3Z2.cjs +542 -0
  410. package/dist/node/chunk-QW4AZ3Z2.cjs.map +1 -0
  411. package/dist/node/chunk-RK5WSZ5J.mjs +43 -0
  412. package/dist/node/chunk-RK5WSZ5J.mjs.map +1 -0
  413. package/dist/node/chunk-RPHYBPXT.mjs +30 -0
  414. package/dist/node/chunk-RPHYBPXT.mjs.map +1 -0
  415. package/dist/node/chunk-RVXASBMQ.mjs +273 -0
  416. package/dist/node/chunk-RVXASBMQ.mjs.map +1 -0
  417. package/dist/node/chunk-RVZTZD32.mjs +187 -0
  418. package/dist/node/chunk-RVZTZD32.mjs.map +1 -0
  419. package/dist/node/chunk-RWLKISZQ.mjs +273 -0
  420. package/dist/node/chunk-RWLKISZQ.mjs.map +1 -0
  421. package/dist/node/chunk-SESXQJDD.cjs +999 -0
  422. package/dist/node/chunk-SESXQJDD.cjs.map +1 -0
  423. package/dist/node/chunk-SKIEPTFS.mjs +6 -0
  424. package/dist/node/chunk-SKIEPTFS.mjs.map +1 -0
  425. package/dist/node/chunk-SL7FT5R5.mjs +94 -0
  426. package/dist/node/chunk-SL7FT5R5.mjs.map +1 -0
  427. package/dist/node/chunk-SXHQW74T.mjs +43 -0
  428. package/dist/node/chunk-SXHQW74T.mjs.map +1 -0
  429. package/dist/node/chunk-TEJKDVNT.cjs +620 -0
  430. package/dist/node/chunk-TEJKDVNT.cjs.map +1 -0
  431. package/dist/node/chunk-TQS5WYND.cjs +352 -0
  432. package/dist/node/chunk-TQS5WYND.cjs.map +1 -0
  433. package/dist/node/chunk-UCAWV2IG.mjs +184 -0
  434. package/dist/node/chunk-UCAWV2IG.mjs.map +1 -0
  435. package/dist/node/chunk-UDUJDEAO.cjs +189 -0
  436. package/dist/node/chunk-UDUJDEAO.cjs.map +1 -0
  437. package/dist/node/chunk-VMJDL4SS.cjs +542 -0
  438. package/dist/node/chunk-VMJDL4SS.cjs.map +1 -0
  439. package/dist/node/chunk-VNOZTB3B.cjs +8 -0
  440. package/dist/node/chunk-VNOZTB3B.cjs.map +1 -0
  441. package/dist/node/chunk-VPMBZGYR.mjs +327 -0
  442. package/dist/node/chunk-VPMBZGYR.mjs.map +1 -0
  443. package/dist/node/chunk-WEPNBKOA.mjs +6 -0
  444. package/dist/node/chunk-WEPNBKOA.mjs.map +1 -0
  445. package/dist/node/chunk-WTBRJXFG.cjs +100 -0
  446. package/dist/node/chunk-WTBRJXFG.cjs.map +1 -0
  447. package/dist/node/chunk-WXCQCHAX.mjs +3 -0
  448. package/dist/node/chunk-WXCQCHAX.mjs.map +1 -0
  449. package/dist/node/chunk-X3TRPYGV.cjs +352 -0
  450. package/dist/node/chunk-X3TRPYGV.cjs.map +1 -0
  451. package/dist/node/chunk-XFUF7SDO.cjs +1 -1
  452. package/dist/node/chunk-XFUF7SDO.cjs.map +1 -1
  453. package/dist/node/chunk-XP2EPEBM.mjs +966 -0
  454. package/dist/node/chunk-XP2EPEBM.mjs.map +1 -0
  455. package/dist/node/chunk-XPIJ6BKP.cjs +45 -0
  456. package/dist/node/chunk-XPIJ6BKP.cjs.map +1 -0
  457. package/dist/node/chunk-YRVBMP7I.cjs +542 -0
  458. package/dist/node/chunk-YRVBMP7I.cjs.map +1 -0
  459. package/dist/node/chunk-ZIHSN5EE.mjs +530 -0
  460. package/dist/node/chunk-ZIHSN5EE.mjs.map +1 -0
  461. package/dist/node/chunk-ZNQMUU7I.cjs +32 -0
  462. package/dist/node/chunk-ZNQMUU7I.cjs.map +1 -0
  463. package/dist/node/completion.cjs +23 -0
  464. package/dist/node/completion.cjs.map +1 -0
  465. package/dist/node/completion.d.mts +10 -0
  466. package/dist/node/completion.d.ts +10 -0
  467. package/dist/node/completion.mjs +6 -0
  468. package/dist/node/completion.mjs.map +1 -0
  469. package/dist/node/core.cjs +67 -38
  470. package/dist/node/core.cjs.map +1 -1
  471. package/dist/node/core.d.mts +13 -8
  472. package/dist/node/core.d.ts +13 -8
  473. package/dist/node/core.mjs +58 -29
  474. package/dist/node/core.mjs.map +1 -1
  475. package/dist/node/credentials.cjs +17 -0
  476. package/dist/node/credentials.cjs.map +1 -0
  477. package/dist/node/credentials.d.mts +74 -0
  478. package/dist/node/credentials.d.ts +74 -0
  479. package/dist/node/credentials.mjs +4 -0
  480. package/dist/node/credentials.mjs.map +1 -0
  481. package/dist/node/definition.cjs +6 -4
  482. package/dist/node/definition.d.mts +3 -2
  483. package/dist/node/definition.d.ts +3 -2
  484. package/dist/node/definition.mjs +4 -2
  485. package/dist/node/dynamic-content.cjs +30 -0
  486. package/dist/node/dynamic-content.cjs.map +1 -0
  487. package/dist/node/dynamic-content.d.mts +13 -0
  488. package/dist/node/dynamic-content.d.ts +13 -0
  489. package/dist/node/dynamic-content.mjs +9 -0
  490. package/dist/node/dynamic-content.mjs.map +1 -0
  491. package/dist/node/dynamic-feature.cjs +41 -7
  492. package/dist/node/dynamic-feature.cjs.map +1 -1
  493. package/dist/node/dynamic-feature.d.mts +66 -6
  494. package/dist/node/dynamic-feature.d.ts +66 -6
  495. package/dist/node/dynamic-feature.mjs +16 -9
  496. package/dist/node/dynamic-feature.mjs.map +1 -1
  497. package/dist/node/dynamic-structure.cjs +45 -136
  498. package/dist/node/dynamic-structure.cjs.map +1 -1
  499. package/dist/node/dynamic-structure.d.mts +77 -3
  500. package/dist/node/dynamic-structure.d.ts +77 -3
  501. package/dist/node/dynamic-structure.mjs +16 -135
  502. package/dist/node/dynamic-structure.mjs.map +1 -1
  503. package/dist/node/env.cjs +3 -3
  504. package/dist/node/env.d.mts +26 -0
  505. package/dist/node/env.d.ts +26 -0
  506. package/dist/node/env.mjs +2 -2
  507. package/dist/node/frame-index.cjs +7 -4
  508. package/dist/node/frame-index.d.mts +70 -9
  509. package/dist/node/frame-index.d.ts +70 -9
  510. package/dist/node/frame-index.mjs +6 -3
  511. package/dist/node/logger.d.mts +4 -113
  512. package/dist/node/logger.d.ts +4 -113
  513. package/dist/node/models.cjs +14 -0
  514. package/dist/node/models.cjs.map +1 -0
  515. package/dist/node/models.d.mts +64 -0
  516. package/dist/node/models.d.ts +64 -0
  517. package/dist/node/models.mjs +5 -0
  518. package/dist/node/models.mjs.map +1 -0
  519. package/dist/node/namespace.cjs +7 -5
  520. package/dist/node/namespace.d.mts +1 -1
  521. package/dist/node/namespace.d.ts +1 -1
  522. package/dist/node/namespace.mjs +4 -2
  523. package/dist/node/schema.cjs +22 -0
  524. package/dist/node/schema.cjs.map +1 -0
  525. package/dist/node/schema.d.mts +10 -0
  526. package/dist/node/schema.d.ts +10 -0
  527. package/dist/node/schema.mjs +5 -0
  528. package/dist/node/schema.mjs.map +1 -0
  529. package/dist/node/segment.cjs +25 -0
  530. package/dist/node/segment.cjs.map +1 -0
  531. package/dist/node/segment.d.mts +13 -0
  532. package/dist/node/segment.d.ts +13 -0
  533. package/dist/node/segment.mjs +8 -0
  534. package/dist/node/segment.mjs.map +1 -0
  535. package/dist/node/storage.cjs +17 -14
  536. package/dist/node/storage.d.mts +18 -6
  537. package/dist/node/storage.d.ts +18 -6
  538. package/dist/node/storage.mjs +11 -8
  539. package/dist/node/vector.cjs +2 -2
  540. package/dist/node/vector.d.mts +7 -0
  541. package/dist/node/vector.d.ts +7 -0
  542. package/dist/node/vector.mjs +1 -1
  543. package/examples/article/main.ts +358 -0
  544. package/examples/components.ts +660 -0
  545. package/examples/feature/file-system.components.ts +211 -0
  546. package/examples/feature/main.ts +374 -0
  547. package/examples/interaction/main.ts +426 -0
  548. package/examples/logger.ts +126 -0
  549. package/examples/structure/main.ts +195 -0
  550. package/examples/structure/renderer.ts +296 -0
  551. package/examples/structure/server-app.components.ts +387 -0
  552. package/jest.config.browser.ts +9 -0
  553. package/jest.config.examples.ts +49 -0
  554. package/jest.config.integration.ts +38 -0
  555. package/jest.config.ts +56 -27
  556. package/jest.config.unit.ts +38 -0
  557. package/package.json +75 -7
  558. package/src/index.ts +13 -0
  559. package/src/lib/A-Frame/A-Frame.component.env-browser.ts +14 -3
  560. package/src/lib/A-Frame/A-Frame.component.env-node.ts +45 -15
  561. package/src/lib/A-Frame/A-Frame.context.ts +9 -8
  562. package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +4 -4
  563. package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -25
  564. package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +1 -1
  565. package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +54 -13
  566. package/src/lib/A-FrameBundle/index.browser.ts +1 -1
  567. package/src/lib/A-FrameBundle/index.ts +1 -1
  568. package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +18 -7
  569. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +0 -2
  570. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +14 -15
  571. package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +542 -7
  572. package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +2 -0
  573. package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +65 -1
  574. package/src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts +112 -0
  575. package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +1 -0
  576. package/src/lib/A-FrameChannel/index.browser.ts +5 -0
  577. package/src/lib/A-FrameCompletion/A-FrameCompletion.constants.ts +3 -0
  578. package/src/lib/A-FrameCompletion/A-FrameCompletion.entity.ts +128 -0
  579. package/src/lib/A-FrameCompletion/A-FrameCompletion.types.ts +40 -0
  580. package/src/lib/A-FrameCompletion/index.ts +3 -0
  581. package/src/lib/A-FrameCredentials/A-FrameCredentials.constants.ts +5 -0
  582. package/src/lib/A-FrameCredentials/A-FrameCredentials.entity.ts +120 -0
  583. package/src/lib/A-FrameCredentials/A-FrameCredentials.types.ts +39 -0
  584. package/src/lib/A-FrameCredentials/index.ts +3 -0
  585. package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +23 -1
  586. package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +34 -1
  587. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts +5 -0
  588. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts +348 -0
  589. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts +10 -0
  590. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.types.ts +116 -0
  591. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts +288 -0
  592. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts +26 -0
  593. package/src/lib/A-FrameDynamicContent/index.ts +5 -0
  594. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.constants.ts +6 -0
  595. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +253 -4
  596. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.error.ts +11 -0
  597. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +188 -4
  598. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeatureOperation.context.ts +33 -0
  599. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapIndex.context.ts +99 -0
  600. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapper.component.ts +182 -0
  601. package/src/lib/A-FrameDynamicFeature/index.ts +6 -1
  602. package/src/lib/A-FrameDynamicPatch/index.ts +2 -0
  603. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapIndex.context.ts +99 -0
  604. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapper.component.ts +320 -0
  605. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +2 -1
  606. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +240 -128
  607. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +183 -87
  608. package/src/lib/A-FrameDynamicStructure/index.ts +3 -0
  609. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +5 -1
  610. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +23 -1
  611. package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +12 -0
  612. package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +63 -13
  613. package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +53 -0
  614. package/src/lib/A-FrameModels/A-FrameModels.constants.ts +75 -0
  615. package/src/lib/A-FrameModels/index.ts +1 -0
  616. package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +10 -3
  617. package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +5 -0
  618. package/src/lib/A-FrameSchema/A-FrameSchema.constants.ts +4 -0
  619. package/src/lib/A-FrameSchema/A-FrameSchema.entity.ts +154 -0
  620. package/src/lib/A-FrameSchema/A-FrameSchema.types.ts +88 -0
  621. package/src/lib/A-FrameSchema/index.ts +3 -0
  622. package/src/lib/A-FrameSegment/A-FrameSegment.constants.ts +12 -0
  623. package/src/lib/A-FrameSegment/A-FrameSegment.entity.ts +221 -0
  624. package/src/lib/A-FrameSegment/A-FrameSegment.types.ts +91 -0
  625. package/src/lib/A-FrameSegment/index.ts +3 -0
  626. package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +10 -4
  627. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +21 -0
  628. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +39 -21
  629. package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +124 -42
  630. package/src/lib/A-FrameVector/A-FrameVector.entity.ts +24 -0
  631. package/tests/A-Frame.browser.test.ts +167 -57
  632. package/tests/A-FrameDynamicContent.browser.test.ts +74 -0
  633. package/tests/integration/A-Frame.integration.test.ts +272 -0
  634. package/tests/integration/A-FrameCompletion.integration.test.ts +88 -0
  635. package/tests/integration/A-FrameContentMapping.integration.test.ts +261 -0
  636. package/tests/integration/A-FrameDefinition.integration.test.ts +154 -0
  637. package/tests/integration/A-FrameDynamicContent.integration.test.ts +126 -0
  638. package/tests/integration/A-FrameDynamicFeature.integration.test.ts +337 -0
  639. package/tests/integration/A-FrameDynamicStructure.integration.test.ts +264 -0
  640. package/tests/integration/A-FrameNamespace.integration.test.ts +109 -0
  641. package/tests/integration/A-FrameSchema.integration.test.ts +74 -0
  642. package/tests/integration/A-FrameSegment.integration.test.ts +102 -0
  643. package/tests/integration/A-FrameStorage.integration.test.ts +598 -0
  644. package/tests/jest.setup.browser.ts +1 -1
  645. package/tests/jest.setup.ts +4 -0
  646. package/tests/jest.setup.unit.ts +30 -0
  647. package/tests/unit/A-FrameChannel.unit.test.ts +124 -0
  648. package/tests/unit/A-FrameCompletion.unit.test.ts +25 -0
  649. package/tests/unit/A-FrameDefinition.unit.test.ts +36 -0
  650. package/tests/unit/A-FrameDynamicContent.unit.test.ts +28 -0
  651. package/tests/unit/A-FrameNamespace.unit.test.ts +35 -0
  652. package/tests/unit/A-FrameSchema.unit.test.ts +31 -0
  653. package/tests/unit/A-FrameSegment.unit.test.ts +20 -0
  654. package/tests/unit/mocks/MockA_FrameChannel.ts +112 -0
  655. package/tsconfig.browser.json +2 -0
  656. package/tsconfig.json +6 -0
  657. package/tsup.config.ts +52 -0
  658. package/tests/A-Frame.test.ts +0 -98
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.entity.ts","../../src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts","../../src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts","../../src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts","../../src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts","../../src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts"],"names":["A_FrameDynamicPatch","A_Entity","options","A_FrameDynamicContentFeatures","A_FrameDynamicContentOperation","A_Fragment","params","key","value","A_FrameDynamicContentError","A_Error","_A_FrameDynamicContentIndex","segments","seg","segment","id","idx","targetId","targetIdx","pos","newPosition","from","clipped","to","op","s","embedded","dim","sum","vals","i","A_FrameVector","vector","topK","queryVec","a","b","instruction","keywords","w","lower","score","acc","kw","limit","all","results","r","kwResults","dot","mag","A_FrameDynamicContentIndex","A_FrameDynamicContent","A_Context","A_Scope","index","A_FRAME_MODELS","operation","executionScope","err","targetSegments","pinned","unknown","inputSegment","A_FrameSegment","other","centroidA","centroidB","meta","patchResult","prevCount","normalize","existingNormalized","isNearDuplicate","newContent","norm","existing","item"],"mappings":"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","file":"chunk-UULJJ5C5.mjs","sourcesContent":["import { A_Entity } from \"@adaas/a-concept\";\nimport { A_FrameDynamicPatch_Init, A_FrameDynamicPatch_Serialized } from \"./A-FrameDynamicPatch.types\";\n\n\nexport class A_FrameDynamicPatch extends A_Entity<A_FrameDynamicPatch_Init, A_FrameDynamicPatch_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n version!: number;\n timestamp!: number;\n reason!: string;\n encoded!: string; // base64-encoded snapshot of components at this version\n delta!: number; // component count change vs. previous patch\n\n\n\n fromNew(options: A_FrameDynamicPatch_Init) {\n this.version = options.version;\n this.timestamp = options.timestamp;\n this.reason = options.reason;\n this.encoded = options.encoded;\n this.delta = options.delta;\n }\n\n\n toJSON(): A_FrameDynamicPatch_Serialized {\n return {\n ...super.toJSON(),\n version: this.version,\n timestamp: this.timestamp,\n reason: this.reason,\n encoded: this.encoded,\n delta: this.delta,\n }\n }\n}","\nexport const A_FrameDynamicContentFeatures = {\n Generate: '_A_FRAME_DYNAMIC_CONTENT_GENERATE',\n Patch: '_A_FRAME_DYNAMIC_CONTENT_PATCH',\n} as const;\n","import { A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameDynamicContentOperation<\n _InputParams = any,\n> extends A_Fragment {\n\n protected _meta: Map<string, any> = new Map();\n\n constructor(params: _InputParams = {} as _InputParams) {\n super({ name: 'a-frame-dynamic-content-operation-context' });\n this._meta.set('params', params);\n }\n\n get params(): _InputParams {\n return this._meta.get('params');\n }\n\n get(key: string) {\n return this._meta.get(key);\n }\n\n set(key: string, value: any) {\n this._meta.set(key, value);\n }\n}\n","import { A_Error } from \"@adaas/a-concept\";\n\n\nexport class A_FrameDynamicContentError extends A_Error {\n\n static readonly GenerationFailed = 'GenerationFailed';\n static readonly PatchFailed = 'PatchFailed';\n static readonly InvalidPatch = 'InvalidPatch';\n static readonly PieceNotFound = 'PieceNotFound';\n}\n","import { A_Fragment } from \"@adaas/a-concept\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameContentPatchOperation } from \"./A-FrameDynamicContent.types\";\nimport { A_FrameSegment } from \"../A-FrameSegment\";\n\n\nexport interface A_FrameDynamicContentIndex_SearchResult {\n segment: A_FrameSegment;\n score: number;\n}\n\n\nexport class A_FrameDynamicContentIndex extends A_Fragment {\n\n /** Maximum segments forwarded to the server in a single patch request. */\n static readonly PATCH_PIECE_LIMIT = 5;\n\n /** Ordered list of segment IDs — defines the canonical reading order. */\n private _order: string[] = [];\n\n /** O(1) lookup by id. */\n private _map: Map<string, A_FrameSegment> = new Map();\n\n // ── Accessors ─────────────────────────────────────────────────────────────\n\n get count(): number {\n return this._order.length;\n }\n\n get size(): number {\n return this._order.length;\n }\n\n // ── Basic mutation ────────────────────────────────────────────────────────\n\n /** Append one or more segments to the end. */\n add(...segments: A_FrameSegment[]): void {\n segments.forEach(seg => {\n this._map.set(seg.id as string, seg);\n if (!this._order.includes(seg.id as string)) {\n this._order.push(seg.id as string);\n }\n });\n }\n\n /** Replace the content of an existing segment in-place (position unchanged). */\n update(segment: A_FrameSegment): void {\n this._map.set(segment.id, segment);\n if (!this._order.includes(segment.id)) {\n this._order.push(segment.id);\n }\n }\n\n /** Remove a segment by id. */\n remove(id: string): void {\n this._map.delete(id);\n const idx = this._order.indexOf(id);\n if (idx !== -1) this._order.splice(idx, 1);\n }\n\n /** Remove all segments. */\n clear(): void {\n this._map.clear();\n this._order = [];\n }\n\n // ── Positional insertion ──────────────────────────────────────────────────\n\n /** Insert `segment` immediately before the segment with `targetId`. */\n insertBefore(targetId: string, segment: A_FrameSegment): void {\n this._map.set(segment.id, segment);\n const targetIdx = this._order.indexOf(targetId);\n if (targetIdx === -1) {\n this._order.push(segment.id);\n } else {\n this._order.splice(targetIdx, 0, segment.id);\n }\n }\n\n /** Insert `segment` immediately after the segment with `targetId`. */\n insertAfter(targetId: string, segment: A_FrameSegment): void {\n this._map.set(segment.id, segment);\n const targetIdx = this._order.indexOf(targetId);\n if (targetIdx === -1) {\n this._order.push(segment.id);\n } else {\n this._order.splice(targetIdx + 1, 0, segment.id);\n }\n }\n\n /** Swap the content of `targetId` with `segment`, keeping the same position. */\n replace(targetId: string, segment: A_FrameSegment): void {\n const pos = this._order.indexOf(targetId);\n if (pos === -1) return;\n this._map.delete(targetId);\n this._map.set(segment.id, segment);\n this._order[pos] = segment.id;\n }\n\n // ── Position management ────────────────────────────────────────────────────\n\n /** Move the segment with `id` to absolute zero-based `newPosition`. */\n moveTo(id: string, newPosition: number): void {\n const from = this._order.indexOf(id);\n if (from === -1) return;\n this._order.splice(from, 1);\n const clipped = Math.max(0, Math.min(newPosition, this._order.length));\n this._order.splice(clipped, 0, id);\n }\n\n /** Move `id` to directly before `targetId`. */\n moveBefore(id: string, targetId: string): void {\n const from = this._order.indexOf(id);\n if (from === -1) return;\n this._order.splice(from, 1);\n const to = this._order.indexOf(targetId);\n this._order.splice(to === -1 ? 0 : to, 0, id);\n }\n\n /** Move `id` to directly after `targetId`. */\n moveAfter(id: string, targetId: string): void {\n const from = this._order.indexOf(id);\n if (from === -1) return;\n this._order.splice(from, 1);\n const to = this._order.indexOf(targetId);\n this._order.splice(to === -1 ? this._order.length : to + 1, 0, id);\n }\n\n // ── Patch operation dispatch ──────────────────────────────────────────────\n\n /**\n * Apply a single `A_FrameContentPatchOperation` to the index.\n * For `add` and `replace` the caller must supply the resolved `segment`.\n * For `remove` only the `op` is needed.\n */\n applyOperation(op: A_FrameContentPatchOperation, segment?: A_FrameSegment): void {\n switch (op.action) {\n case 'remove': {\n if (op.targetId) this.remove(op.targetId);\n break;\n }\n case 'replace': {\n if (op.targetId && segment) this.replace(op.targetId, segment);\n break;\n }\n case 'add': {\n if (!segment) break;\n if (!op.targetId || op.position === 'append') {\n this.add(segment);\n } else if (op.position === 'before') {\n this.insertBefore(op.targetId, segment);\n } else {\n // 'after' is the default\n this.insertAfter(op.targetId, segment);\n }\n break;\n }\n }\n }\n\n // ── Lookup ────────────────────────────────────────────────────────────────\n\n get(id: string): A_FrameSegment | undefined {\n return this._map.get(id);\n }\n\n /** Returns all segments in their current canonical order. */\n list(): A_FrameSegment[] {\n return this._order\n .map(id => this._map.get(id))\n .filter((s): s is A_FrameSegment => s !== undefined);\n }\n\n // ── Search ────────────────────────────────────────────────────────────────\n\n /**\n * Computes the centroid (element-wise mean) of all embedded segments.\n * Returns `null` when no segments have been embedded yet.\n * The centroid represents the overall semantic \"centre of gravity\" of this\n * content block and is used by `A_FrameDynamicContent.compareTo()` to\n * measure similarity between two content instances.\n */\n centroid(): A_FrameVector | null {\n const embedded = this.list().filter(s => s.isEmbed && s.vector);\n if (embedded.length === 0) return null;\n\n const dim = embedded[0].vector!.length;\n const sum = new Float32Array(dim);\n\n for (const seg of embedded) {\n const vals = seg.vector!.values;\n for (let i = 0; i < dim; i++) sum[i] += vals[i];\n }\n for (let i = 0; i < dim; i++) sum[i] /= embedded.length;\n\n return new A_FrameVector(sum);\n }\n\n /**\n * Rank all embedded segments by cosine similarity to the query vector.\n */\n search(\n vector: A_FrameVector,\n topK: number = A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT,\n ): A_FrameDynamicContentIndex_SearchResult[] {\n const queryVec = vector.normalize();\n\n return this.list()\n .filter(s => s.isEmbed && s.vector)\n .map(s => ({\n segment: s,\n score: queryVec.dot(s.vector!.normalize()),\n }))\n .sort((a, b) => b.score - a.score)\n .slice(0, topK);\n }\n\n /**\n * Rank segments by how many instruction keywords appear in their content.\n * Words shorter than 4 characters are ignored.\n */\n searchByKeywords(\n instruction: string,\n topK: number = A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT,\n ): A_FrameDynamicContentIndex_SearchResult[] {\n const keywords = instruction\n .toLowerCase()\n .split(/\\W+/)\n .filter(w => w.length > 3);\n\n if (keywords.length === 0) return [];\n\n return this.list()\n .map(segment => {\n const lower = segment.content.toLowerCase();\n const score = keywords.reduce(\n (acc, kw) => acc + (lower.includes(kw) ? 1 : 0),\n 0,\n );\n return { segment, score };\n })\n .filter(s => s.score > 0)\n .sort((a, b) => b.score - a.score)\n .slice(0, topK);\n }\n\n /**\n * Select at most `limit` segments most relevant to a patch instruction.\n *\n * Priority:\n * 1. Vector search — when `vector` is provided and segments carry embeddings.\n * 2. Keyword search — fallback when embeddings are absent or vector is null.\n * 3. Identity — first N segments when neither search finds candidates.\n */\n selectForPatch(\n vector: A_FrameVector | null,\n instruction: string,\n limit: number = A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT,\n ): A_FrameSegment[] {\n const all = this.list();\n if (all.length <= limit) return all;\n\n // 1. Vector search\n if (vector) {\n const hasEmbedded = all.some(s => s.isEmbed);\n if (hasEmbedded) {\n const results = this.search(vector, limit);\n if (results.length > 0) return results.map(r => r.segment);\n }\n }\n\n // 2. Keyword fallback\n const kwResults = this.searchByKeywords(instruction, limit);\n if (kwResults.length > 0) return kwResults.map(r => r.segment);\n\n // 3. Identity\n return all.slice(0, limit);\n }\n\n // ── Similarity helpers ────────────────────────────────────────────────────\n\n cosineSimilarity(a: A_FrameVector, b?: A_FrameVector): number {\n if (!b) return 0;\n const dot = a.dot(b);\n const mag = a.magnitude() * b.magnitude();\n return mag === 0 ? 0 : dot / mag;\n }\n}\n","import { A_Context, A_Entity, A_Scope } from \"@adaas/a-concept\";\nimport {\n A_FrameContentPatchResponse,\n A_FrameDynamicContent_Init,\n A_FrameDynamicContent_Serialized,\n} from \"./A-FrameDynamicContent.types\";\nimport { A_FrameDynamicContentFeatures } from \"./A-FrameDynamicContent.constants\";\nimport { A_FrameDynamicContentOperation } from \"./A-FrameDynamicContentOperation.context\";\nimport { A_FrameDynamicContentError } from \"./A-FrameDynamicContent.error\";\nimport { A_FrameDynamicPatch } from \"../A-FrameDynamicPatch/A-FrameDynamicPatch.entity\";\nimport { A_FrameDynamicContentIndex } from \"./A-FrameDynamicContentIndex.context\";\nimport { A_FrameSegment } from \"../A-FrameSegment\";\nimport { A_FRAME_MODELS } from \"../A-FrameModels/A-FrameModels.constants\";\n\n\nexport class A_FrameDynamicContent extends A_Entity<A_FrameDynamicContent_Init, A_FrameDynamicContent_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n // ── Identity ─────────────────────────────────────────────────────────────\n prompt!: string;\n createdAt!: number;\n\n // ── Config ───────────────────────────────────────────────────────────────\n private model!: string;\n private _system!: string | undefined;\n\n // ── State ────────────────────────────────────────────────────────────────\n private _history!: A_FrameDynamicPatch[];\n private _version!: number;\n private _patchPieceLimit!: number;\n\n // ── Initialisation ───────────────────────────────────────────────────────\n\n /**\n * The scope of the current Content stores all related data to it \n */\n protected _scope!: A_Scope\n\n /**\n * \n */\n get scope(): A_Scope {\n if (!this._scope) {\n this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));\n }\n\n return this._scope;\n }\n\n get index(): A_FrameDynamicContentIndex {\n const index = this.scope.resolve(A_FrameDynamicContentIndex)!;\n return index;\n }\n\n fromNew(options: A_FrameDynamicContent_Init) {\n\n super.fromNew(options);\n\n const index = new A_FrameDynamicContentIndex({ name: `${this.aseid.id}` });\n this.scope.register(index);\n\n this.createdAt = Date.now();\n\n this.prompt = options.prompt;\n this.model = options.options?.model || A_FRAME_MODELS.LYRA;\n this._system = options.options?.system;\n this._patchPieceLimit = options.options?.patchPieceLimit || A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT;\n\n this._history = [];\n this._version = 0;\n }\n\n // ── Accessors ────────────────────────────────────────────────────────────\n\n /** Ordered list of content pieces (output of the last generate or patch). */\n get segments(): ReadonlyArray<A_FrameSegment> {\n return this.index.list();\n }\n\n /** Full content reconstructed from all segments in index order. */\n get content(): string {\n return this.index.list()\n .map(s => s.content)\n .join('\\n');\n }\n\n /** Alias for `content` — kept for backward compatibility. */\n get text(): string {\n return this.content;\n }\n\n /** Immutable patch history. */\n get history(): ReadonlyArray<A_FrameDynamicPatch> {\n return this._history;\n }\n\n /** Current content version (increments with each patch). */\n get version(): number {\n return this._version;\n }\n\n /** The AI model name to use for generation / patching. */\n get modelName(): string {\n return this.model;\n }\n\n /** Optional system prompt forwarded to the AI for generation and patching. */\n get systemPrompt(): string | undefined {\n return this._system;\n }\n\n // ── Main pipeline ─────────────────────────────────────────────────────────\n\n /**\n * Generate content from the entity's prompt.\n * Populates `pieces` and creates the first history entry.\n */\n async generate(): Promise<void> {\n const operation = new A_FrameDynamicContentOperation();\n\n if (!this.scope.isInheritedFrom(A_Context.scope(this)))\n this.scope.inherit(A_Context.scope(this));\n\n const executionScope = new A_Scope({\n name: 'a-frame-dynamic-content-generate',\n fragments: [operation],\n }).inherit(this.scope);\n\n try {\n await this.call(A_FrameDynamicContentFeatures.Generate, executionScope);\n executionScope.destroy();\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameDynamicContentError({\n title: A_FrameDynamicContentError.GenerationFailed,\n description: `Failed to generate content: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n /**\n * Apply a natural-language patch instruction to the current pieces.\n *\n * When `targetSegments` is provided the caller pins the exact segments to\n * patch — no embedding or semantic search is performed. Every supplied\n * segment must already belong to this content's index; unknown segments\n * are rejected with an error.\n *\n * When omitted, the server identifies which segments to modify using\n * semantic search over segment embeddings (original behaviour).\n */\n async patch(instruction: string, targetSegments?: A_FrameSegment | A_FrameSegment[]): Promise<void> {\n if (!this.scope.isInheritedFrom(A_Context.scope(this)))\n this.scope.inherit(A_Context.scope(this));\n\n const executionScope = new A_Scope({\n name: 'a-frame-dynamic-content-patch',\n }).inherit(this.scope);\n\n let segments: A_FrameSegment[];\n\n if (targetSegments !== undefined) {\n // ── Pinned segments path ──────────────────────────────────────────\n const pinned = Array.isArray(targetSegments) ? targetSegments : [targetSegments];\n\n // Validate every pinned segment is part of this content's index\n const unknown = pinned.filter(s => !this.index.get(s.id as string));\n if (unknown.length > 0) {\n executionScope.destroy();\n throw new A_FrameDynamicContentError({\n title: A_FrameDynamicContentError.PatchFailed,\n description:\n `Segment(s) not found in this content's index: ` +\n unknown.map(s => `\"${s.id}\"`).join(', ') +\n `. Only segments that belong to this DynamicContent instance can be targeted.`,\n });\n }\n\n segments = pinned;\n } else {\n // ── Semantic search path (original behaviour) ─────────────────────\n const inputSegment = new A_FrameSegment({\n content: instruction,\n options: { task: 'query' },\n });\n\n executionScope.register(inputSegment);\n\n await inputSegment.embed();\n\n segments = this.index.selectForPatch(inputSegment.vector ?? null, instruction, this._patchPieceLimit);\n }\n\n const operation = new A_FrameDynamicContentOperation({\n instruction,\n segments,\n });\n\n executionScope.register(operation);\n\n try {\n await this.call(A_FrameDynamicContentFeatures.Patch, executionScope);\n executionScope.destroy();\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameDynamicContentError({\n title: A_FrameDynamicContentError.PatchFailed,\n description: `Failed to patch content: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n // ── Comparison ────────────────────────────────────────────────────────────\n\n /**\n * Returns a cosine similarity score (0–1) between this content and `other`.\n *\n * The score is computed from the centroid of each content's embedded\n * segments — the element-wise mean of all segment vectors. Two contents\n * about the same topic should score close to 1; unrelated contents will\n * score near 0.\n *\n * Returns 0 if either content has no embedded segments.\n *\n * @example\n * const cats1 = new A_FrameDynamicContent({ prompt: 'Article about cats' });\n * const cats2 = new A_FrameDynamicContent({ prompt: 'Article about cats' });\n * const cars = new A_FrameDynamicContent({ prompt: 'Article about cars' });\n * // After generate() on all three:\n * cats1.compareTo(cats2); // ~0.92 — high\n * cats1.compareTo(cars); // ~0.45 — low\n */\n compareTo(other: A_FrameDynamicContent): number {\n const centroidA = this.index.centroid();\n const centroidB = other.index.centroid();\n if (!centroidA || !centroidB) return 0;\n return centroidA.cosineSimilarity(centroidB);\n }\n\n // ── Hydration ─────────────────────────────────────────────────────────────\n\n /**\n * Populate index from the segments created by the channel after a generate response.\n * Creates the first history entry.\n */\n hydrateFromGeneration(\n segments: A_FrameSegment[],\n meta: { model: string; serverVersion: string },\n ): void {\n\n segments.forEach(s => this.index.add(s));\n\n this._history.push(new A_FrameDynamicPatch({\n version: this._version,\n timestamp: Date.now(),\n reason: `Generated for: \"${this.prompt}\"`,\n encoded: Buffer.from(JSON.stringify(this.index.list())).toString('base64'),\n delta: this.index.size,\n }));\n }\n\n /**\n * Apply a patch diff returned by the server to the current piece list.\n * Increments the version and records a history entry.\n */\n hydrateFromPatch(\n patchResult: A_FrameContentPatchResponse,\n meta: { model: string; serverVersion: string },\n ): void {\n\n const prevCount = this.index.size;\n\n // Pre-compute normalized content set for near-duplicate detection.\n // Normalization: lowercase, strip punctuation, collapse whitespace.\n const normalize = (s: string): string =>\n s.toLowerCase().replace(/[^\\w\\s]/g, '').replace(/\\s+/g, ' ').trim();\n\n const existingNormalized = this.index.list().map(s => normalize(s.content));\n const isNearDuplicate = (newContent: string): boolean => {\n const norm = normalize(newContent);\n if (norm.length < 8) return false; // too short to matter\n return existingNormalized.some(existing =>\n existing === norm || // exact match\n existing.includes(norm) // new text is a strict substring of something existing\n // Note: do NOT check norm.includes(existing) — that would block \n // valid extensions where new content starts with an existing phrase.\n );\n };\n\n for (const op of patchResult.operations) {\n // Validate action\n if (!['add', 'replace', 'remove'].includes(op.action)) continue;\n\n let segment: A_FrameSegment | undefined;\n if (op.segment) {\n // Guard: LLM sometimes returns existing (or near-duplicate) content — skip those.\n const dup = (op.action === 'add' || op.action === 'replace') && isNearDuplicate(op.segment.content);\n if (dup) continue;\n\n segment = new A_FrameSegment({ content: op.segment.content, options: { task: 'document' } });\n if (op.segment.embedding?.length) {\n segment.hydrateFromEmbedding(new Float32Array(op.segment.embedding));\n }\n }\n\n // Validate position for 'add' operations — reject composite strings like \"before|after|append\"\n if (op.action === 'add') {\n const validPositions = new Set(['before', 'after', 'append', undefined]);\n if (!validPositions.has(op.position as any)) {\n // Malformed position — treat as append\n (op as any).position = 'append';\n (op as any).targetId = undefined;\n }\n }\n\n this.index.applyOperation(op, segment);\n }\n\n this._version++;\n\n this._history.push(new A_FrameDynamicPatch({\n version: this._version,\n timestamp: Date.now(),\n reason: patchResult.patchSummary,\n encoded: Buffer.from(JSON.stringify(this.index.list())).toString('base64'),\n delta: this.index.size - prevCount,\n }));\n }\n\n // ── Serialisation ──────────────────────────────────────────────────────────\n\n toJSON(): A_FrameDynamicContent_Serialized {\n return {\n ...super.toJSON(),\n prompt: this.prompt,\n metadata: {\n model: this.model,\n createdAt: this.createdAt,\n },\n history: this._history.map(item => item.toJSON()),\n };\n }\n\n}\n\n"]}
@@ -0,0 +1,2 @@
1
+ import {A_Entity}from'@adaas/a-concept';var t={Load:"_A_FRAME_CREDENTIALS_LOAD",Save:"_A_FRAME_CREDENTIALS_SAVE",Destroy:"_A_FRAME_CREDENTIALS_DESTROY"};var r=class extends A_Entity{static get concept(){return "a-frame"}get credentialId(){return this._credentialId}get name(){return this._name}get description(){return this._description}get encryptionKey(){return this._encryptionKey}get algorithm(){return this._algorithm}get keyEncoding(){return this._keyEncoding}get usageNote(){return this._usageNote}get serverVersion(){return this._serverVersion}get isAuthenticated(){return !!this._credentialId}load(e){return this.call(t.Load,e)}save(e){return this.call(t.Save,e)}destroy(e){return this.call(t.Destroy,e)}fromNew(e){this.aseid=this.generateASEID({id:e.id,scope:"a-frame"}),this._credentialId=e.id,this._name=e.name,this._description=e.description,this._encryptionKey=e.encryption_key,this._algorithm=e.algorithm,this._keyEncoding=e.key_encoding,this._usageNote=e.usage_note,this._serverVersion=e.server_version;}fromJSON(e){this._credentialId=e.credentialId,this._name=e.name,this._description=e.description,this._algorithm=e.algorithm,this._keyEncoding=e.key_encoding,this._serverVersion=e.serverVersion,this._encryptionKey="";}toJSON(){return {...super.toJSON(),credentialId:this._credentialId,name:this._name,description:this._description,algorithm:this._algorithm,key_encoding:this._keyEncoding,serverVersion:this._serverVersion}}};export{t as a,r as b};//# sourceMappingURL=chunk-VSSANMPF.mjs.map
2
+ //# sourceMappingURL=chunk-VSSANMPF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameCredentials/A-FrameCredentials.constants.ts","../../src/lib/A-FrameCredentials/A-FrameCredentials.entity.ts"],"names":["A_FrameCredentialsFeatures","A_FrameCredentials","A_Entity","scope","init","serialized"],"mappings":"wCAAO,IAAMA,CAAAA,CAA6B,CACtC,IAAA,CAAM,2BAAA,CACN,IAAA,CAAM,4BACN,OAAA,CAAS,8BACb,ECIO,IAAMC,CAAAA,CAAN,cAAiCC,QAAiE,CAErG,WAAW,OAAA,EAAkB,CACzB,OAAO,SACX,CAaA,IAAI,YAAA,EAAuB,CACvB,OAAO,IAAA,CAAK,aAChB,CAEA,IAAI,IAAA,EAAe,CACf,OAAO,IAAA,CAAK,KAChB,CAEA,IAAI,WAAA,EAAyC,CACzC,OAAO,IAAA,CAAK,YAChB,CAMA,IAAI,aAAA,EAAwB,CACxB,OAAO,IAAA,CAAK,cAChB,CAEA,IAAI,SAAA,EAAoB,CACpB,OAAO,KAAK,UAChB,CAEA,IAAI,WAAA,EAAsB,CACtB,OAAO,KAAK,YAChB,CAEA,IAAI,SAAA,EAAuC,CACvC,OAAO,KAAK,UAChB,CAEA,IAAI,aAAA,EAAwB,CACxB,OAAO,IAAA,CAAK,cAChB,CAEA,IAAI,eAAA,EAA2B,CAC3B,OAAO,CAAC,CAAC,IAAA,CAAK,aAClB,CAIA,IAAA,CAAKC,CAAAA,CAAuC,CACxC,OAAO,IAAA,CAAK,IAAA,CAAKH,CAAAA,CAA2B,IAAA,CAAMG,CAAK,CAC3D,CAEA,IAAA,CAAKA,CAAAA,CAAuC,CACxC,OAAO,IAAA,CAAK,IAAA,CAAKH,CAAAA,CAA2B,IAAA,CAAMG,CAAK,CAC3D,CAEA,OAAA,CAAQA,CAAAA,CAAuC,CAC3C,OAAO,IAAA,CAAK,IAAA,CAAKH,CAAAA,CAA2B,OAAA,CAASG,CAAK,CAC9D,CAIA,OAAA,CAAQC,CAAAA,CAAqC,CACzC,IAAA,CAAK,KAAA,CAAQ,IAAA,CAAK,cAAc,CAC5B,EAAA,CAAIA,CAAAA,CAAK,EAAA,CACT,KAAA,CAAO,SACX,CAAC,CAAA,CAED,IAAA,CAAK,aAAA,CAAgBA,CAAAA,CAAK,EAAA,CAC1B,IAAA,CAAK,KAAA,CAAQA,EAAK,IAAA,CAClB,IAAA,CAAK,YAAA,CAAeA,CAAAA,CAAK,WAAA,CACzB,IAAA,CAAK,eAAiBA,CAAAA,CAAK,cAAA,CAC3B,IAAA,CAAK,UAAA,CAAaA,CAAAA,CAAK,SAAA,CACvB,KAAK,YAAA,CAAeA,CAAAA,CAAK,YAAA,CACzB,IAAA,CAAK,UAAA,CAAaA,CAAAA,CAAK,UAAA,CACvB,IAAA,CAAK,cAAA,CAAiBA,CAAAA,CAAK,eAC/B,CAEA,QAAA,CAASC,CAAAA,CAAiD,CACtD,IAAA,CAAK,aAAA,CAAgBA,CAAAA,CAAW,YAAA,CAChC,IAAA,CAAK,KAAA,CAAQA,EAAW,IAAA,CACxB,IAAA,CAAK,YAAA,CAAeA,CAAAA,CAAW,WAAA,CAC/B,IAAA,CAAK,WAAaA,CAAAA,CAAW,SAAA,CAC7B,IAAA,CAAK,YAAA,CAAeA,CAAAA,CAAW,YAAA,CAC/B,IAAA,CAAK,cAAA,CAAiBA,CAAAA,CAAW,aAAA,CAEjC,IAAA,CAAK,cAAA,CAAiB,GAC1B,CAEA,QAAwC,CACpC,OAAO,CACH,GAAG,KAAA,CAAM,MAAA,GACT,YAAA,CAAc,IAAA,CAAK,aAAA,CACnB,IAAA,CAAM,IAAA,CAAK,KAAA,CACX,YAAa,IAAA,CAAK,YAAA,CAClB,SAAA,CAAW,IAAA,CAAK,UAAA,CAChB,YAAA,CAAc,IAAA,CAAK,YAAA,CACnB,aAAA,CAAe,IAAA,CAAK,cACxB,CACJ,CACJ","file":"chunk-VSSANMPF.mjs","sourcesContent":["export const A_FrameCredentialsFeatures = {\n Load: '_A_FRAME_CREDENTIALS_LOAD',\n Save: '_A_FRAME_CREDENTIALS_SAVE',\n Destroy: '_A_FRAME_CREDENTIALS_DESTROY',\n} as const;\n","import { A_Entity, A_Scope } from \"@adaas/a-concept\";\nimport {\n A_FrameCredentials_Init,\n A_FrameCredentials_Serialized,\n} from \"./A-FrameCredentials.types\";\nimport { A_FrameCredentialsFeatures } from \"./A-FrameCredentials.constants\";\n\n\nexport class A_FrameCredentials extends A_Entity<A_FrameCredentials_Init, A_FrameCredentials_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n protected _credentialId!: string;\n protected _name!: string;\n protected _description?: string | null;\n protected _encryptionKey!: string;\n protected _algorithm!: string;\n protected _keyEncoding!: string;\n protected _usageNote?: string | null;\n protected _serverVersion!: string;\n\n // ─── Getters ──────────────────────────────────────────────────────────────\n\n get credentialId(): string {\n return this._credentialId;\n }\n\n get name(): string {\n return this._name;\n }\n\n get description(): string | null | undefined {\n return this._description;\n }\n\n /**\n * The raw encryption key as returned by the server.\n * Use this for encrypting / decrypting data exchanged with the a-frame-mcp server.\n */\n get encryptionKey(): string {\n return this._encryptionKey;\n }\n\n get algorithm(): string {\n return this._algorithm;\n }\n\n get keyEncoding(): string {\n return this._keyEncoding;\n }\n\n get usageNote(): string | null | undefined {\n return this._usageNote;\n }\n\n get serverVersion(): string {\n return this._serverVersion;\n }\n\n get isAuthenticated(): boolean {\n return !!this._credentialId;\n }\n\n // ─── Features ─────────────────────────────────────────────────────────────\n\n load(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameCredentialsFeatures.Load, scope);\n }\n\n save(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameCredentialsFeatures.Save, scope);\n }\n\n destroy(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameCredentialsFeatures.Destroy, scope);\n }\n\n // ─── A_Entity lifecycle ───────────────────────────────────────────────────\n\n fromNew(init: A_FrameCredentials_Init): void {\n this.aseid = this.generateASEID({\n id: init.id,\n scope: 'a-frame',\n });\n\n this._credentialId = init.id;\n this._name = init.name;\n this._description = init.description;\n this._encryptionKey = init.encryption_key;\n this._algorithm = init.algorithm;\n this._keyEncoding = init.key_encoding;\n this._usageNote = init.usage_note;\n this._serverVersion = init.server_version;\n }\n\n fromJSON(serialized: A_FrameCredentials_Serialized): void {\n this._credentialId = serialized.credentialId;\n this._name = serialized.name;\n this._description = serialized.description;\n this._algorithm = serialized.algorithm;\n this._keyEncoding = serialized.key_encoding;\n this._serverVersion = serialized.serverVersion;\n // encryption_key is not serialized — must be fetched from server\n this._encryptionKey = '';\n }\n\n toJSON(): A_FrameCredentials_Serialized {\n return {\n ...super.toJSON(),\n credentialId: this._credentialId,\n name: this._name,\n description: this._description,\n algorithm: this._algorithm,\n key_encoding: this._keyEncoding,\n serverVersion: this._serverVersion,\n };\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a,c}from'./chunk-CT67Y46H.mjs';import {A_Fragment,A_Scope,ASEID}from'@adaas/a-concept';var d=class t extends A_Fragment{constructor(){if(t._instance)return t._instance;super({name:"A_FrameIndex"});this.definitions=new Map;this.namespaces=new Map;this.scope=new A_Scope({name:"A_FrameIndexScope"});}static get instance(){return t._instance||(t._instance=new t),t._instance}static get indexSize(){return t.instance.indexSize}static inherit(e){t.instance.inherit(e);}static addDefinition(e){t.instance.addDefinition(e);}static getDefinition(e){return t.instance.getDefinition(e)}static listDefinitions(e){return t.instance.listDefinitions(e)}static removeDefinition(e){t.instance.removeDefinition(e);}static addNamespace(e){t.instance.addNamespace(e);}static getDefaultNamespace(){return t.instance.getDefaultNamespace()}static getNamespace(e){return t.instance.getNamespace(e)}static listNamespaces(){return t.instance.listNamespaces()}static removeNamespace(e){t.instance.removeNamespace(e);}static search(e,i={}){return t.instance.search(e,i)}get indexSize(){return this.definitions.size}inherit(e){this.scope.inherit(e);}addDefinition(e){this.scope.register(e),this.namespaces.get(e.namespace.id)||this.addNamespace(e.namespace),this.definitions.set(e.id,e);}getDefinition(e){for(let i of this.definitions.values())if(i.name===e)return i}listDefinitions(e={}){let i=e.namespace?typeof e.namespace=="string"?ASEID.isASEID(e.namespace)?new ASEID(e.namespace).id:e.namespace:e.namespace.id:void 0;return [...this.definitions.values()].filter(n=>!i||n.namespace.name===i)}removeDefinition(e){this.scope.deregister(e);}addNamespace(e){this.scope.register(e),this.namespaces.set(e.id,e);}getNamespace(e){let i=typeof e=="string"?ASEID.isASEID(e)?new ASEID(e).id:e:e.id;return this.namespaces.get(i)}getDefaultNamespace(){let e=this.getNamespace(a);return e||(e=new c({name:a}),this.addNamespace(e)),e}listNamespaces(){return [...this.namespaces.values()]}removeNamespace(e){this.scope.deregister(e),this.namespaces.delete(e.id);}search(e,i={}){let{topK:n=10,namespace:a,minScore:r=0}=i;return (a?[...this.definitions.values()].filter(s=>s.namespace.id===a):[...this.definitions.values()]).map(s=>({record:s,score:this.cosineSimilarity(e,s.vector)})).filter(s=>s.score>=r).sort((s,m)=>m.score-s.score).slice(0,n).map(({record:s,score:m})=>({record:s,score:m}))}cosineSimilarity(e,i){if(!i)return 0;let n=e.dot(i),a=e.magnitude()*i.magnitude();return a===0?0:n/a}euclideanDistance(e,i){this.assertSameLength(e,i);let n=0;for(let a=0;a<e.length;a++){let r=e.values[a]-i.values[a];n+=r*r;}return Math.sqrt(n)}nearest(e,i,n=1){return [...i].map(a=>({vector:a,score:this.cosineSimilarity(e,a)})).sort((a,r)=>r.score-a.score).slice(0,n).map(a=>a.vector)}rank(e,i){return i.map(n=>({vector:n,score:this.cosineSimilarity(e,n)})).sort((n,a)=>a.score-n.score)}assertSameLength(e,i){if(e.length!==i.length)throw new Error(`Embedding dimension mismatch: ${e.length} vs ${i.length}`)}};export{d as a};//# sourceMappingURL=chunk-VW2BZYNY.mjs.map
2
+ //# sourceMappingURL=chunk-VW2BZYNY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameIndex/A-FrameIndex.context.ts"],"names":["A_FrameIndex","_A_FrameIndex","A_Fragment","A_Scope","scope","def","nameOrHash","filter","namespace","nameOrASEID","vector","options","name","namespaceName","ASEID","r","targetKey","defaultNamespace","A_FRAME_DEFAULT_NAMESPACE_KEY","A_FrameNamespace","topK","minScore","a","b","score","dot","mag","sum","i","diff","query","vectors","limit","v"],"mappings":"+FASO,IAAMA,CAAAA,CAAN,MAAMC,UAAqBC,UAAW,CA6EzC,WAAA,EAAc,CACV,GAAID,CAAAA,CAAa,SAAA,CACb,OAAOA,CAAAA,CAAa,UAExB,KAAA,CAAM,CAAE,IAAA,CAAM,cAAe,CAAC,CAAA,CApBlC,IAAA,CAAQ,WAAA,CAA8C,IAAI,IAE1D,IAAA,CAAQ,UAAA,CAA4C,IAAI,GAAA,CAoBpD,KAAK,KAAA,CAAQ,IAAIE,OAAAA,CAAQ,CAAE,KAAM,mBAAoB,CAAC,EAC1D,CAhFA,WAAW,QAAA,EAAyB,CAChC,OAAKF,CAAAA,CAAa,YACdA,CAAAA,CAAa,SAAA,CAAY,IAAIA,CAAAA,CAAAA,CAE1BA,EAAa,SACxB,CAEA,WAAW,SAAA,EAAoB,CAC3B,OAAOA,CAAAA,CAAa,QAAA,CAAS,SACjC,CAKA,OAAO,OAAA,CAAQG,CAAAA,CAAgB,CAC3BH,EAAa,QAAA,CAAS,OAAA,CAAQG,CAAK,EACvC,CACA,OAAO,aAAA,CAAcC,CAAAA,CAA8B,CAC/CJ,CAAAA,CAAa,SAAS,aAAA,CAAcI,CAAG,EAC3C,CACA,OAAO,aAAA,CAAcC,CAAAA,CAAmD,CACpE,OAAOL,EAAa,QAAA,CAAS,aAAA,CAAcK,CAAU,CACzD,CACA,OAAO,eAAA,CAAgBC,CAAAA,CAEC,CACpB,OAAON,CAAAA,CAAa,QAAA,CAAS,eAAA,CAAgBM,CAAM,CACvD,CACA,OAAO,gBAAA,CAAiBF,CAAAA,CAA8B,CAClDJ,CAAAA,CAAa,QAAA,CAAS,gBAAA,CAAiBI,CAAG,EAC9C,CACA,OAAO,YAAA,CAAaG,CAAAA,CAAmC,CACnDP,CAAAA,CAAa,QAAA,CAAS,YAAA,CAAaO,CAAS,EAChD,CACA,OAAO,mBAAA,EAAwC,CAC3C,OAAOP,CAAAA,CAAa,QAAA,CAAS,mBAAA,EACjC,CACA,OAAO,YAAA,CAAaQ,CAAAA,CAA2D,CAC3E,OAAOR,CAAAA,CAAa,QAAA,CAAS,YAAA,CAAaQ,CAAW,CACzD,CACA,OAAO,cAAA,EAAqC,CACxC,OAAOR,CAAAA,CAAa,QAAA,CAAS,gBACjC,CACA,OAAO,eAAA,CAAgBO,CAAAA,CAAmC,CACtDP,CAAAA,CAAa,SAAS,eAAA,CAAgBO,CAAS,EACnD,CACA,OAAO,MAAA,CACHE,CAAAA,CACAC,CAAAA,CAAgC,GACA,CAChC,OAAOV,CAAAA,CAAa,QAAA,CAAS,OAAOS,CAAAA,CAAQC,CAAO,CACvD,CAgCA,IAAI,SAAA,EAAoB,CACpB,OAAO,IAAA,CAAK,YAAY,IAC5B,CAeA,OAAA,CAAQP,CAAAA,CAAgB,CACpB,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQA,CAAK,EAC5B,CAEA,aAAA,CAAcC,CAAAA,CAA8B,CACxC,KAAK,KAAA,CAAM,QAAA,CAASA,CAAG,CAAA,CAEG,KAAK,UAAA,CAAW,GAAA,CAAIA,CAAAA,CAAI,SAAA,CAAU,EAAE,CAAA,EAE1D,IAAA,CAAK,YAAA,CAAaA,CAAAA,CAAI,SAAS,CAAA,CAGnC,IAAA,CAAK,WAAA,CAAY,GAAA,CAAIA,EAAI,EAAA,CAAIA,CAAG,EACpC,CAEA,cAAcO,CAAAA,CAA6C,CAEvD,IAAA,IAAWP,CAAAA,IAAO,KAAK,WAAA,CAAY,MAAA,GAC/B,GAAIA,CAAAA,CAAI,OAASO,CAAAA,CACb,OAAOP,CAKnB,CAEA,gBAAgBE,CAAAA,CAEZ,EAAC,CAAwB,CACzB,IAAMM,CAAAA,CAAgBN,CAAAA,CAAO,SAAA,CACvB,OAAOA,EAAO,SAAA,EAAc,QAAA,CACxBO,KAAAA,CAAM,OAAA,CAAQP,EAAO,SAAS,CAAA,CAC1B,IAAIO,KAAAA,CAAMP,EAAO,SAAS,CAAA,CAAE,EAAA,CAC5BA,CAAAA,CAAO,UACXA,CAAAA,CAAO,SAAA,CAAU,EAAA,CACrB,MAAA,CAEN,OAAO,CAAC,GAAG,IAAA,CAAK,WAAA,CAAY,QAAQ,CAAA,CAAE,MAAA,CAAOQ,CAAAA,EAAK,CAACF,CAAAA,EAAiBE,CAAAA,CAAE,SAAA,CAAU,IAAA,GAASF,CAAa,CAC1G,CAEA,gBAAA,CAAiBR,CAAAA,CAA8B,CAC3C,IAAA,CAAK,KAAA,CAAM,UAAA,CAAWA,CAAG,EAC7B,CAEA,YAAA,CAAaG,CAAAA,CAAmC,CAC5C,KAAK,KAAA,CAAM,QAAA,CAASA,CAAS,CAAA,CAE7B,KAAK,UAAA,CAAW,GAAA,CAAIA,CAAAA,CAAU,EAAA,CAAIA,CAAS,EAC/C,CAEA,aAAaC,CAAAA,CAA2D,CACpE,IAAMO,CAAAA,CAAY,OAAOP,CAAAA,EAAgB,QAAA,CACnCK,MAAM,OAAA,CAAQL,CAAW,CAAA,CACrB,IAAIK,MAAML,CAAW,CAAA,CAAE,EAAA,CACvBA,CAAAA,CACJA,EAAY,EAAA,CAElB,OAAO,IAAA,CAAK,UAAA,CAAW,IAAIO,CAAS,CACxC,CAEA,mBAAA,EAAwC,CAEpC,IAAIC,CAAAA,CAAmB,IAAA,CAAK,YAAA,CAAaC,CAA6B,CAAA,CACtE,OAAKD,CAAAA,GACDA,CAAAA,CAAmB,IAAIE,CAAAA,CAAiB,CACpC,IAAA,CAAMD,CACV,CAAC,CAAA,CACD,IAAA,CAAK,YAAA,CAAaD,CAAgB,GAE/BA,CACX,CAEA,cAAA,EAAqC,CACjC,OAAO,CAAC,GAAG,IAAA,CAAK,UAAA,CAAW,QAAQ,CACvC,CAEA,eAAA,CAAgBT,EAAmC,CAC/C,IAAA,CAAK,KAAA,CAAM,UAAA,CAAWA,CAAS,CAAA,CAC/B,IAAA,CAAK,UAAA,CAAW,MAAA,CAAOA,EAAU,EAAE,EACvC,CAMA,MAAA,CACIE,EACAC,CAAAA,CAAgC,GACA,CAEhC,GAAM,CAAE,IAAA,CAAAS,CAAAA,CAAO,EAAA,CAAI,SAAA,CAAAZ,EAAW,QAAA,CAAAa,CAAAA,CAAW,CAAE,CAAA,CAAIV,EAW/C,OAAA,CATaH,CAAAA,CACP,CAAC,GAAG,KAAK,WAAA,CAAY,MAAA,EAAQ,CAAA,CAAE,OAAOO,CAAAA,EAAKA,CAAAA,CAAE,SAAA,CAAU,EAAA,GAAOP,CAAS,CAAA,CACvE,CAAC,GAAG,IAAA,CAAK,YAAY,MAAA,EAAQ,CAAA,EAEf,GAAA,CAAIO,IAAM,CAC1B,MAAA,CAAQA,CAAAA,CACR,KAAA,CAAO,KAAK,gBAAA,CAAiBL,CAAAA,CAAQK,CAAAA,CAAE,MAAM,CACjD,CAAA,CAAE,CAAA,CAGG,MAAA,CAAO,CAAA,EAAK,EAAE,KAAA,EAASM,CAAQ,CAAA,CAC/B,IAAA,CAAK,CAACC,CAAAA,CAAGC,CAAAA,GAAMA,CAAAA,CAAE,KAAA,CAAQD,EAAE,KAAK,CAAA,CAChC,KAAA,CAAM,CAAA,CAAGF,CAAI,CAAA,CACb,GAAA,CAAI,CAAC,CAAE,OAAQL,CAAAA,CAAG,KAAA,CAAAS,CAAM,CAAA,IAAO,CAC5B,MAAA,CAAQT,CAAAA,CACR,MAAAS,CACJ,CAAA,CAAE,CACV,CAmBA,gBAAA,CACIF,CAAAA,CACAC,CAAAA,CACM,CACN,GAAI,CAACA,CAAAA,CAAG,SAER,IAAME,CAAAA,CAAMH,CAAAA,CAAE,GAAA,CAAIC,CAAC,CAAA,CACbG,CAAAA,CAAMJ,CAAAA,CAAE,SAAA,GAAcC,CAAAA,CAAE,SAAA,EAAU,CACxC,OAAOG,IAAQ,CAAA,CAAI,CAAA,CAAID,CAAAA,CAAMC,CACjC,CAEA,iBAAA,CACIJ,CAAAA,CACAC,CAAAA,CACM,CACN,KAAK,gBAAA,CAAiBD,CAAAA,CAAGC,CAAC,CAAA,CAE1B,IAAII,CAAAA,CAAM,CAAA,CACV,IAAA,IAASC,CAAAA,CAAI,EAAGA,CAAAA,CAAIN,CAAAA,CAAE,MAAA,CAAQM,CAAAA,EAAAA,CAAK,CAC/B,IAAMC,CAAAA,CAAOP,CAAAA,CAAE,MAAA,CAAOM,CAAC,CAAA,CAAIL,CAAAA,CAAE,MAAA,CAAOK,CAAC,EACrCD,CAAAA,EAAOE,CAAAA,CAAOA,EAClB,CACA,OAAO,IAAA,CAAK,IAAA,CAAKF,CAAG,CACxB,CAEA,OAAA,CACIG,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAAQ,EACO,CACf,OAAO,CAAC,GAAGD,CAAO,EACb,GAAA,CAAIE,CAAAA,GAAM,CACP,MAAA,CAAQA,EACR,KAAA,CAAO,IAAA,CAAK,gBAAA,CAAiBH,CAAAA,CAAOG,CAAC,CACzC,CAAA,CAAE,CAAA,CACD,IAAA,CAAK,CAAC,CAAA,CAAGV,CAAAA,GAAMA,CAAAA,CAAE,KAAA,CAAQ,EAAE,KAAK,CAAA,CAChC,KAAA,CAAM,CAAA,CAAGS,CAAK,CAAA,CACd,GAAA,CAAIjB,CAAAA,EAAKA,CAAAA,CAAE,MAAM,CAC1B,CAEA,IAAA,CACIe,CAAAA,CACAC,EAC+C,CAC/C,OAAOA,CAAAA,CACF,GAAA,CAAIE,IAAM,CACP,MAAA,CAAQA,CAAAA,CACR,KAAA,CAAO,KAAK,gBAAA,CAAiBH,CAAAA,CAAOG,CAAC,CACzC,EAAE,CAAA,CACD,IAAA,CAAK,CAACX,CAAAA,CAAGC,IAAMA,CAAAA,CAAE,KAAA,CAAQD,CAAAA,CAAE,KAAK,CACzC,CAEQ,gBAAA,CACJA,CAAAA,CACAC,CAAAA,CACF,CACE,GAAID,CAAAA,CAAE,MAAA,GAAWC,CAAAA,CAAE,OACf,MAAM,IAAI,KAAA,CACN,CAAA,8BAAA,EAAiCD,EAAE,MAAM,CAAA,IAAA,EAAOC,EAAE,MAAM,CAAA,CAC5D,CAER,CAkBJ","file":"chunk-VW2BZYNY.mjs","sourcesContent":["import { A_Dependency, A_Fragment, A_Scope, ASEID } from \"@adaas/a-concept\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameNamespace } from \"../A-FrameNamespace/A-FrameNamespace.entity\";\nimport { A_FrameDefinition_SearchResult, A_FrameSearchOptions } from \"./A-FrameIndex.types\";\nimport { A_FrameDefinition } from \"../A-FrameDefinition\";\nimport { A_FRAME_DEFAULT_NAMESPACE_KEY } from \"../A-FrameNamespace/A-FrameNamespace.constants\";\n\n\n\nexport class A_FrameIndex extends A_Fragment {\n\n private static _instance: A_FrameIndex;\n\n static get instance(): A_FrameIndex {\n if (!A_FrameIndex._instance) {\n A_FrameIndex._instance = new A_FrameIndex();\n }\n return A_FrameIndex._instance;\n }\n\n static get indexSize(): number {\n return A_FrameIndex.instance.indexSize;\n }\n\n // ------------------------------------------------------------------------------------\n // --------------------Static Access to Instance Methods-------------------------------\n // ------------------------------------------------------------------------------------\n static inherit(scope: A_Scope) {\n A_FrameIndex.instance.inherit(scope);\n }\n static addDefinition(def: A_FrameDefinition): void {\n A_FrameIndex.instance.addDefinition(def);\n }\n static getDefinition(nameOrHash: string): A_FrameDefinition | undefined {\n return A_FrameIndex.instance.getDefinition(nameOrHash);\n }\n static listDefinitions(filter: {\n namespace?: string | A_FrameNamespace\n }): A_FrameDefinition[] {\n return A_FrameIndex.instance.listDefinitions(filter);\n }\n static removeDefinition(def: A_FrameDefinition): void {\n A_FrameIndex.instance.removeDefinition(def);\n }\n static addNamespace(namespace: A_FrameNamespace): void {\n A_FrameIndex.instance.addNamespace(namespace);\n }\n static getDefaultNamespace(): A_FrameNamespace {\n return A_FrameIndex.instance.getDefaultNamespace();\n }\n static getNamespace(nameOrASEID: string | ASEID): A_FrameNamespace | undefined {\n return A_FrameIndex.instance.getNamespace(nameOrASEID);\n }\n static listNamespaces(): A_FrameNamespace[] {\n return A_FrameIndex.instance.listNamespaces();\n }\n static removeNamespace(namespace: A_FrameNamespace): void {\n A_FrameIndex.instance.removeNamespace(namespace);\n }\n static search(\n vector: A_FrameVector,\n options: A_FrameSearchOptions = {},\n ): A_FrameDefinition_SearchResult[] {\n return A_FrameIndex.instance.search(vector, options);\n }\n\n // -------------------------------------------------------------------------------------\n // ------------------------------ Instance State --------------------------------------\n // -------------------------------------------------------------------------------------\n\n private definitions: Map<string, A_FrameDefinition> = new Map();\n\n private namespaces: Map<string, A_FrameNamespace> = new Map();\n\n private _index!: {\n\n namespaceToDefinitions: WeakMap<A_FrameNamespace, Set<A_FrameDefinition>>,\n\n definitionToNamespace: WeakMap<A_FrameDefinition, A_FrameNamespace>,\n };\n /**\n * Scope where all definitions and namespaces are registered as dependencies, allowing for lookup by ASEID or constructor reference.\n */\n private scope!: A_Scope\n\n\n constructor() {\n if (A_FrameIndex._instance)\n return A_FrameIndex._instance;\n\n super({ name: 'A_FrameIndex' });\n\n this.scope = new A_Scope({ name: 'A_FrameIndexScope' });\n }\n\n /** Number of loaded records */\n get indexSize(): number {\n return this.definitions.size;\n }\n\n\n // static searchByText(\n // query: string,\n // channel: A_FrameChannel,\n // options: A_FrameSearchOptions = {},\n // ): Promise<A_FrameDefinition_SearchResult[]> {\n // return A_FrameIndex.instance.searchByText(query, channel, options);\n // }\n\n\n // ------------------------------------------------------------------------------------\n // ------------------------------ Instance Methods ------------------------------------\n // ------------------------------------------------------------------------------------\n inherit(scope: A_Scope) {\n this.scope.inherit(scope);\n }\n\n addDefinition(def: A_FrameDefinition): void {\n this.scope.register(def);\n\n const existingNamespace = this.namespaces.get(def.namespace.id);\n if (!existingNamespace) {\n this.addNamespace(def.namespace);\n }\n\n this.definitions.set(def.id, def);\n }\n\n getDefinition(name: string): A_FrameDefinition | undefined {\n // Then try name lookup\n for (const def of this.definitions.values()) {\n if (def.name === name) {\n return def;\n }\n }\n\n return undefined;\n }\n\n listDefinitions(filter: {\n namespace?: string | A_FrameNamespace\n } = {}): A_FrameDefinition[] {\n const namespaceName = filter.namespace\n ? typeof filter.namespace === 'string'\n ? ASEID.isASEID(filter.namespace)\n ? new ASEID(filter.namespace).id\n : filter.namespace\n : filter.namespace.id\n : undefined;\n\n return [...this.definitions.values()].filter(r => !namespaceName || r.namespace.name === namespaceName);\n }\n\n removeDefinition(def: A_FrameDefinition): void {\n this.scope.deregister(def);\n }\n\n addNamespace(namespace: A_FrameNamespace): void {\n this.scope.register(namespace);\n\n this.namespaces.set(namespace.id, namespace);\n }\n\n getNamespace(nameOrASEID: string | ASEID): A_FrameNamespace | undefined {\n const targetKey = typeof nameOrASEID === 'string'\n ? ASEID.isASEID(nameOrASEID)\n ? new ASEID(nameOrASEID).id\n : nameOrASEID\n : nameOrASEID.id;\n\n return this.namespaces.get(targetKey);\n }\n\n getDefaultNamespace(): A_FrameNamespace {\n // Ensure default namespace always exists\n let defaultNamespace = this.getNamespace(A_FRAME_DEFAULT_NAMESPACE_KEY);\n if (!defaultNamespace) {\n defaultNamespace = new A_FrameNamespace({\n name: A_FRAME_DEFAULT_NAMESPACE_KEY,\n });\n this.addNamespace(defaultNamespace);\n }\n return defaultNamespace;\n }\n\n listNamespaces(): A_FrameNamespace[] {\n return [...this.namespaces.values()];\n }\n\n removeNamespace(namespace: A_FrameNamespace): void {\n this.scope.deregister(namespace);\n this.namespaces.delete(namespace.id);\n }\n\n\n /**\n * Search by a pre-computed embedding vector (cosine similarity).\n */\n search(\n vector: A_FrameVector,\n options: A_FrameSearchOptions = {},\n ): A_FrameDefinition_SearchResult[] {\n\n const { topK = 10, namespace, minScore = 0 } = options;\n\n const pool = namespace\n ? [...this.definitions.values()].filter(r => r.namespace.id === namespace)\n : [...this.definitions.values()];\n\n const scored = pool.map(r => ({\n record: r,\n score: this.cosineSimilarity(vector, r.vector),\n }));\n\n return scored\n .filter(s => s.score >= minScore)\n .sort((a, b) => b.score - a.score)\n .slice(0, topK)\n .map(({ record: r, score }) => ({\n record: r,\n score,\n }));\n }\n\n // protected cosineSimilarity(vectorA: A_FrameVector, vectorB?: A_FrameVector): number {\n // const a = vectorA.values ?? new Float32Array();\n // const b = vectorB?.values ?? new Float32Array();\n\n // if (a.length !== b.length) {\n // throw new Error(`A_FrameIndex: dimension mismatch ${a.length} vs ${b.length}`);\n // }\n // let dot = 0, normA = 0, normB = 0;\n // for (let i = 0; i < a.length; i++) {\n // dot += a[i] * b[i];\n // normA += a[i] * a[i];\n // normB += b[i] * b[i];\n // }\n // const denom = Math.sqrt(normA) * Math.sqrt(normB);\n // return denom === 0 ? 0 : dot / denom;\n // }\n\n cosineSimilarity(\n a: A_FrameVector,\n b?: A_FrameVector\n ): number {\n if (!b) return 0\n\n const dot = a.dot(b)\n const mag = a.magnitude() * b.magnitude()\n return mag === 0 ? 0 : dot / mag\n }\n\n euclideanDistance(\n a: A_FrameVector,\n b: A_FrameVector\n ): number {\n this.assertSameLength(a, b)\n\n let sum = 0\n for (let i = 0; i < a.length; i++) {\n const diff = a.values[i] - b.values[i]\n sum += diff * diff\n }\n return Math.sqrt(sum)\n }\n\n nearest(\n query: A_FrameVector,\n vectors: readonly A_FrameVector[],\n limit = 1\n ): A_FrameVector[] {\n return [...vectors]\n .map(v => ({\n vector: v,\n score: this.cosineSimilarity(query, v),\n }))\n .sort((a, b) => b.score - a.score)\n .slice(0, limit)\n .map(r => r.vector)\n }\n\n rank(\n query: A_FrameVector,\n vectors: readonly A_FrameVector[]\n ): Array<{ vector: A_FrameVector; score: number }> {\n return vectors\n .map(v => ({\n vector: v,\n score: this.cosineSimilarity(query, v),\n }))\n .sort((a, b) => b.score - a.score)\n }\n\n private assertSameLength(\n a: A_FrameVector,\n b: A_FrameVector\n ) {\n if (a.length !== b.length) {\n throw new Error(\n `Embedding dimension mismatch: ${a.length} vs ${b.length}`\n )\n }\n }\n\n\n\n /**\n * Search by plain text — sends the query to the embed server via channel first.\n */\n // async searchByText(\n // query: string,\n // channel: A_FrameChannel,\n // options: A_FrameSearchOptions = {},\n // ): Promise<A_FrameDefinition_SearchResult[]> {\n // this.assertLoaded();\n // const resp = await channel.embed(query);\n // const queryEmbedding = new Float32Array(resp.data[0].embedding);\n // return this.search(queryEmbedding, options);\n // }\n\n}"]}
@@ -0,0 +1,3 @@
1
+ import {b as b$6,a as a$5}from'./chunk-2RNFZSBL.mjs';import {d as d$1,a as a$3,b as b$4}from'./chunk-YTAMZDWC.mjs';import {e,a as a$2,d}from'./chunk-AET6XULU.mjs';import {b as b$7,a as a$8}from'./chunk-XKKBIIZG.mjs';import {a as a$7}from'./chunk-VW2BZYNY.mjs';import {c,b as b$2}from'./chunk-CT67Y46H.mjs';import {b as b$5,a as a$4}from'./chunk-6NPQURSO.mjs';import {c as c$1,b as b$3}from'./chunk-643KGQKR.mjs';import {b as b$1,a as a$1}from'./chunk-FVH2EEVP.mjs';import {a as a$6}from'./chunk-46LRNZRG.mjs';import {a,b}from'./chunk-DMGQW3AO.mjs';import {A_Inject,A_Feature,A_Caller,A_Error,A_Entity,A_Context,A_Scope,A_Fragment,A_Component}from'@adaas/a-concept';var m={Request:"_A_FRAME_REQUEST",Socket:"_A_FRAME_SOCKET",Stream:"_A_FRAME_STREAM",Send:"_A_FRAME_SEND"},P={Closed:"closed"},N={open:"_A_FRAME_CHANNEL_STREAM_OPEN",send:"_A_FRAME_CHANNEL_STREAM_SEND",onEvent:"_A_FRAME_CHANNEL_STREAM_ON_EVENT",onError:"_A_FRAME_CHANNEL_STREAM_ON_ERROR",onComplete:"_A_FRAME_CHANNEL_STREAM_ON_COMPLETE",onClose:"_A_FRAME_CHANNEL_STREAM_ON_CLOSE"},Ee={Connecting:"connecting",Open:"open",Closed:"closed"},Se={onEvent:"_A_FRAME_CHANNEL_SOCKET_ON_EVENT",onError:"_A_FRAME_CHANNEL_SOCKET_ON_ERROR",onOpen:"_A_FRAME_CHANNEL_SOCKET_ON_OPEN",onClose:"_A_FRAME_CHANNEL_SOCKET_ON_CLOSE"};var i=class extends A_Fragment{constructor(r,n,s){super({name:"a-frame-channel-request"});this.method=r;this.path=n;this.body=s;}complete(r){this._response=r;}fail(r){this._error=r;}get response(){return this._response}get error(){return this._error}};var o=class extends A_Error{};o.InvalidRequest="InvalidRequest",o.Timeout="Timeout",o.RequestFailed="RequestFailed";var S=class extends A_Fragment{get A_FRAME_FILE_EXTENSION(){return ".aframe"}get A_FRAME_NAMESPACES_BIN(){return `__namespaces${this.A_FRAME_FILE_EXTENSION}`}get A_FRAME_SYNC(){return process.env.A_FRAME_SYNC!=="false"}get A_FRAME_TOKEN(){return process.env.A_FRAME_TOKEN||""}get A_FRAME_SERVER_URL(){return process.env.A_FRAME_SERVER_URL||"http://localhost:3663"}get A_FRAME_SERVER_API_KEY(){return process.env.A_FRAME_SERVER_API_KEY||""}get A_FRAME_STORAGE_DIR(){return process.env.A_FRAME_STORAGE_DIR||".aframe"}get A_FRAME_VERSION(){return a$8||"0.0.1"}get A_FRAME_REQUEST_TIMEOUT(){let e=process.env.A_FRAME_REQUEST_TIMEOUT,r=e?parseInt(e,10):NaN;return isNaN(r)?12e4:r}};var T={Init:"_A_FRAME_DYNAMIC_SESSION_INIT",Question:"_A_FRAME_DYNAMIC_SESSION_QUESTION",Answer:"_A_FRAME_DYNAMIC_SESSION_ANSWER",Destroy:"_A_FRAME_DYNAMIC_SESSION_DESTROY"};var D=class extends A_Entity{static get concept(){return "a-frame"}get scope(){return this._scope||(this._scope=A_Context.allocate(this,new A_Scope({name:`${this.aseid.id}-scope`}))),this._scope}get currentTurn(){return this._currentTurn}get initDate(){return new Date(this._initDate)}static onQuestion(){}static onAnswer(){}fromNew(e){this._turnsCount=e.turnsCount||5,this._currentTurn=0,this._initDate=new Date().toISOString();}fromJSON(e){this._turnsCount=e.turnsCount,this._currentTurn=e.currentTurn,this._initDate=e.initDate;}async init(){await this.call(T.Init);}async destroy(e){await this.call(T.Destroy,e);}async question(){this._currentTurn++,await this.call(T.Question);}async answer(){await this.call(T.Answer);}toJSON(){return {...super.toJSON(),turnsCount:this._turnsCount,currentTurn:this._currentTurn,initDate:this._initDate}}};var g=class extends A_Fragment{constructor(e,r){super({name:"a-frame-channel-event-"+e}),this._data=r,this._eventName=e;}get name(){return this._eventName}get data(){return this._data}};var C=class extends A_Entity{static onEvent(e){let r=(e||"all")+N.onEvent;return (n,s,t)=>A_Feature.Extend({name:r,scope:[n.constructor]})(n,s,t)}get scope(){return this._scope||(this._scope=A_Context.allocate(this,new A_Scope({name:`${this.aseid.id}-scope`}))),this._scope}get method(){return this._method}get path(){return this._path}get body(){return this._body}get status(){return this._status}get error(){return this._error}get initDate(){return new Date(this._initDate)}complete(){this._status=P.Closed;}fail(e){this._status=P.Closed,this._error=e;}destroy(){this.scope.destroy();}async open(){await this.call(N.open);}async send(){await this.call(N.send);}async propagate(e,r){let n=new g(e,r),s=new A_Scope({name:"A_FrameChannelStream.propagate",fragments:[n]}).inherit(this.scope);try{let t=(e||"all")+N.onEvent;await this.call(t,s),s.destroy();}catch{s.destroy();}}fromNew(e){this.aseid=this.generateASEID(),this._method=e.method,this._path=e.path,this._body=e.body,this._initDate=new Date().toISOString();}fromJSON(e){this._method=e.method,this._path=e.path,this._body=e.body,this._initDate=e.initDate;}toJSON(){return {...super.toJSON(),initDate:this._initDate,status:this._status,error:this._error?this._error.toJSON():void 0,method:this._method,path:this._path,body:this._body}}};var v=class extends C{constructor(){super(...arguments);this._resolvedComponents=[];}setRespondFn(r){this._respondFn=r;}get resolvedComponents(){return this._resolvedComponents}async onSearchComponent(r){if(!this._respondFn)return;let{requestId:n,vector:s}=r.data,t=new a$6(s??[]),l=a$7.search(t,{topK:1})[0];await this._respondFn(n,{component:l?.record?.name??null,score:l?.score??0});}async onStructureComplete(r){let{components:n}=r.data;this._resolvedComponents=Array.isArray(n)?n:[];}async onStructureError(r){let{message:n}=r.data??{};console.error("[A_FrameChannelDsgStream] Server reported structure error:",n??"unknown");}};a([C.onEvent("search_component"),b(0,A_Inject(g))],v.prototype,"onSearchComponent",1),a([C.onEvent("structure_complete"),b(0,A_Inject(g))],v.prototype,"onStructureComplete",1),a([C.onEvent("structure_error"),b(0,A_Inject(g))],v.prototype,"onStructureError",1);var A=class extends A_Component{async generate(e){let r=new i("POST","/api/v1/completions",{prompt:e,max_tokens:512}),n=new A_Scope({name:"A_FrameChannel.generate",fragments:[r]}).inherit(A_Context.scope(this));try{return await this.call(m.Request,n),n.destroy(),r}catch(s){throw n.destroy(),new o({title:o.RequestFailed,description:`Failed to generate completion: ${s instanceof Error?s.message:String(s)}`})}}async embed(e,r){let n=new i("POST","/api/v1/embeddings",{input:e,...r?.model&&{model:r.model},...r?.task&&{task:r.task}}),s=new A_Scope({name:"A_FrameChannel.embed",fragments:[n]}).inherit(A_Context.scope(this));try{return await this.call(m.Request,s),s.destroy(),n}catch(t){throw s.destroy(),new o({title:o.RequestFailed,description:`Failed to embed input: ${t instanceof Error?t.message:String(t)}`})}}async getCredentials(){let e=new i("GET","/api/v1/credentials/me"),r=new A_Scope({name:"A_FrameChannel.getCredentials",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(m.Request,r),r.destroy(),e}catch(n){throw r.destroy(),new o({title:o.RequestFailed,description:`Failed to get credentials: ${n instanceof Error?n.message:String(n)}`})}}async ping(){let e=new i("GET","/health"),r=new A_Scope({name:"A_FrameChannel.ping",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(m.Request,r),r.destroy(),e}catch{return r.destroy(),e}}async embedDefinition(e,r){let n=new i("POST","/api/v1/definition/embed",{definition:e.toJSON(),model:e.requestedModel}),s=new A_Scope({name:"A_FrameChannel.embedDefinition",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.data||!t.data[0]||!t.data[0].embedding)throw new o({title:o.InvalidRequest,description:`Invalid embedding response for definition "${e.name}"`});let _=new Float32Array(t.data[0].embedding);e.hydrateFromEmbedding(_,{model:t.model,dimensions:t.meta.dimensions,inputCount:t.meta.input_count,aFrameServerVersion:t.meta.server_version,aFrameVersion:r.A_FRAME_VERSION,credentialId:t.meta.credential_id,date:t.date,aFrameMeta:t.aFrameMeta});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to embed definition "${e.name}": ${t instanceof Error?t.message:String(t)}`})}}async embedNamespace(e,r){let n=new i("POST","/api/v1/namespace/embed",{namespace:e.toJSON(),model:e.requestedModel}),s=new A_Scope({name:"A_FrameChannel.embedNamespace",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.data||!t.data[0]||!t.data[0].embedding)throw new o({title:o.InvalidRequest,description:`Invalid embedding response for namespace "${e.name}"`});let _=new Float32Array(t.data[0].embedding);e.hydrateFromEmbedding(_,{model:t.model,dimensions:t.meta.dimensions,inputCount:t.meta.input_count,aFrameServerVersion:t.meta.server_version,aFrameVersion:r.A_FRAME_VERSION,credentialId:t.meta.credential_id,date:t.date});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to embed namespace "${e.name}": ${t instanceof Error?t.message:String(t)}`})}}async embedSegment(e,r){let n=new i("POST","/api/v1/segment/embed",{segment:e.toJSON(),task:e.options?.task,model:e.options?.model}),s=new A_Scope({name:"A_FrameChannel.embedNamespace",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.data||!t.data[0]||!t.data[0].embedding)throw new o({title:o.InvalidRequest,description:`Error during embed a segment: ${e.content}`});let _=new Float32Array(t.data[0].embedding);e.fromJSON({aseid:e.aseid.toString(),content:e.content,hash:e.hash,embedding:_,model:t.model,aFrameServerVersion:t.meta.server_version,aFrameVersion:r.A_FRAME_VERSION,credentialId:t.meta.credential_id,embeddedAt:t.date});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to embed segment with content "${e.content}": ${t instanceof Error?t.message:String(t)}`})}}async generateDynamicStructure(e,r,n){let s=new i("POST","/api/v1/dsg/stream/open"),t=new A_Scope({name:"A_FrameChannel.generateDynamicStructure:open",fragments:[s]}).inherit(A_Context.scope(this));await this.call(m.Request,t),t.destroy();let{channelId:_}=s.response,l=this,F=new v({method:"GET",path:`/api/v1/dsg/stream/${_}`});F.setRespondFn(async(O,se)=>{let oe=new i("POST","/api/v1/dsg/stream/respond",{requestId:O,data:se}),L=new A_Scope({name:"A_FrameChannel.generateDynamicStructure:respond",fragments:[oe]}).inherit(A_Context.scope(l));await l.call(m.Request,L),L.destroy();});let f=new A_Scope({name:"A_FrameChannel.generateDynamicStructure:stream",entities:[F]}).inherit(A_Context.scope(this)),I=this.call(m.Stream,f),h=new i("POST","/api/v1/dsg/structure/generate-stream",{channelId:_,prompt:e.prompt}),w=new A_Scope({name:"A_FrameChannel.generateDynamicStructure:generate",fragments:[h]}).inherit(A_Context.scope(this));await this.call(m.Request,w),w.destroy(),await I,f.destroy(),e.hydrateFromResolved(F.resolvedComponents,{model:"sse-stream",serverVersion:"0.0.0"});}async generateDynamicContent(e,r){let n=new i("POST","/api/v1/content/generate",{prompt:e.prompt,model:e.modelName,...e.systemPrompt!==void 0?{system:e.systemPrompt}:{}}),s=new A_Scope({name:"A_FrameChannel.generateDynamicContent",fragments:[n]}).inherit(A_Context.scope(this));await this.call(m.Request,s),s.destroy();let t=n.response,_=(t.segments??[]).map(l=>{let F=new c$1({content:l.content,options:{task:"document"}});return l.embedding?.length&&F.hydrateFromEmbedding(new Float32Array(l.embedding)),F});e.hydrateFromGeneration(_,{model:t.model,serverVersion:t.meta?.server_version??"0.0.0"});}async patchDynamicContent(e,r){let{instruction:n,segments:s}=r.params,t=new Map,_=s.map((h,w)=>{let O=`s${w}`;return t.set(O,String(h.id)),{id:O,index:w,text:h.content,vector:h.vector?Array.from(h.vector.values):void 0}}),l=new i("POST","/api/v1/content/patch",{prompt:e.prompt,segments:_,instruction:n,model:e.modelName,...e.systemPrompt!==void 0?{system:e.systemPrompt}:{}}),F=new A_Scope({name:"A_FrameChannel.patchDynamicContent",fragments:[l]}).inherit(A_Context.scope(this));await this.call(m.Request,F),F.destroy();let f=l.response,I=f.operations.map(h=>({...h,targetId:h.targetId?t.get(h.targetId)??h.targetId:h.targetId}));e.hydrateFromPatch({...f,operations:I},{model:f.model,serverVersion:f.meta?.server_version??"0.0.0"});}async generateCompletion(e,r){let n=new i("POST","/api/v1/completions/generate",{prompt:e.prompt,options:e.options}),s=new A_Scope({name:"A_FrameChannel.generateCompletion",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.text)throw new o({title:o.InvalidRequest,description:`Invalid completion response for prompt "${e.prompt}"`});e.hydrateFromGeneration({text:t.text,embedding:new Float32Array(t.embedding),model:t.model,date:t.date,aFrameVersion:r.A_FRAME_VERSION,aFrameServerVersion:t.meta.server_version});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to generate completion for prompt "${e.prompt}": ${t instanceof Error?t.message:String(t)}`})}}async extractSchema(e,r){let n=new i("POST","/api/v1/schema/extract",{prompt:e.prompt,schema:e.schema,options:e.options}),s=new A_Scope({name:"A_FrameChannel.extractSchema",fragments:[n]}).inherit(A_Context.scope(this));try{await this.call(m.Request,s),s.destroy();let t=n.response;if(!t.data)throw new o({title:o.InvalidRequest,description:`Invalid scheme extraction response for prompt "${e.prompt}"`});e.hydrateFromExtraction(t.data,{model:t.model,date:t.date,aFrameVersion:r.A_FRAME_VERSION,aFrameServerVersion:t.meta.server_version});}catch(t){throw new o({title:o.RequestFailed,description:`Failed to extract scheme for prompt "${e.prompt}": ${t instanceof Error?t.message:String(t)}`})}}};a([A_Feature.Extend({name:a$1.Embed,scope:[b$1]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"embedDefinition",1),a([A_Feature.Extend({name:b$2.Embed,scope:[c]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"embedNamespace",1),a([A_Feature.Extend({name:b$3.Embed,scope:[c$1]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"embedSegment",1),a([A_Feature.Extend({name:a$2.Generate,scope:[e]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(D)),b(2,A_Inject(d))],A.prototype,"generateDynamicStructure",1),a([A_Feature.Extend({name:a$3.Generate,scope:[d$1]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(b$4))],A.prototype,"generateDynamicContent",1),a([A_Feature.Extend({name:a$3.Patch,scope:[d$1]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(b$4))],A.prototype,"patchDynamicContent",1),a([A_Feature.Extend({name:a$4.Generate,scope:[b$5]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"generateCompletion",1),a([A_Feature.Extend({name:a$5.Extract,scope:[b$6]}),b(0,A_Inject(A_Caller)),b(1,A_Inject(S))],A.prototype,"extractSchema",1);var $=class extends A{async request(e,r){let n=`${r.A_FRAME_SERVER_URL}${e.path}`,s=new AbortController,t=setTimeout(()=>{s.abort(),e.fail(new o({title:o.Timeout,description:`Request to ${e.path} timed out after 15 seconds`}));},15e3);try{let _=await fetch(n,{method:e.method,headers:{"Content-Type":"application/json",Authorization:`Bearer ${r.A_FRAME_SERVER_API_KEY}`},body:e.body!==void 0?JSON.stringify(e.body):void 0,signal:s.signal});e.complete(await _.json());}catch{e.fail(new o({title:o.RequestFailed,description:`Request to ${e.path} failed or timed out`}));}finally{clearTimeout(t);}}};a([A_Feature.Extend({name:m.Request,scope:[A]}),b(0,A_Inject(i)),b(1,A_Inject(b$7))],$.prototype,"request",1);
2
+ export{Ee as a,Se as b,o as c,g as d,$ as e};//# sourceMappingURL=chunk-WAXBOWM6.mjs.map
3
+ //# sourceMappingURL=chunk-WAXBOWM6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameChannel/A-FrameChannel.constants.ts","../../src/lib/A-FrameChannel/A-FrameChannelRequest.context.ts","../../src/lib/A-FrameChannel/A-FrameChannel.error.ts","../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts","../../src/lib/A-FrameDynamicSession/A-FrameDynamicSession.constants.ts","../../src/lib/A-FrameDynamicSession/A-FrameDynamicSession.entity.ts","../../src/lib/A-FrameChannel/A-FrameChannelEvent.context.ts","../../src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts","../../src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts","../../src/lib/A-FrameChannel/A-FrameChannel.component.ts","../../src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts"],"names":["A_FrameFeatures","A_FrameChannelStreamStatuses","A_FrameChannelStreamFeatures","A_FrameChannelSocketStatuses","A_FrameChannelSocketFeatures","A_FrameChannelRequest","A_Fragment","method","path","body","response","error","A_FrameChannelError","A_Error","A_FrameEnv","version","raw","parsed","A_FrameDynamicSessionFeatures","A_FrameDynamicSession","A_Entity","A_Context","A_Scope","newEntity","serialized","scope","A_FrameChannelEvent","name","data","A_FrameChannelStream","eventName","target","propertyKey","descriptor","A_Feature","request","executionScope","callName","A_FrameChannelDsgStream","fn","event","requestId","vector","queryVector","A_FrameVector","top","A_FrameIndex","components","message","__decorateClass","__decorateParam","A_Inject","A_FrameChannel","A_Component","prompt","err","input","options","definition","env","namespace","segment","structure","session","operation","openRequest","openScope","channelId","channel","dsgStream","respondRequest","respondScope","streamScope","streamTask","generateRequest","generateScope","content","requestScope","resp","segments","w","seg","A_FrameSegment","instruction","wireIdToAseid","wireSegments","s","idx","wireId","translatedOperations","op","completion","scheme","A_FrameDefinitionFeatures","A_FrameDefinition","A_Caller","A_FrameNamespaceFeatures","A_FrameNamespace","A_FrameSegmentFeatures","A_FrameDynamicStructureFeatures","A_FrameDynamicStructure","A_FrameDynamicStructureOperation","A_FrameDynamicContentFeatures","A_FrameDynamicContent","A_FrameDynamicContentOperation","A_FrameCompletionFeatures","A_FrameCompletion","A_FrameSchemaFeatures","A_FrameSchema","A_FrameBrowserChannel","context","url","controller","timer"],"mappings":"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","file":"chunk-WAXBOWM6.mjs","sourcesContent":["\n\nexport const A_FrameFeatures = {\n Request: '_A_FRAME_REQUEST',\n Socket: '_A_FRAME_SOCKET',\n Stream: '_A_FRAME_STREAM',\n Send: '_A_FRAME_SEND',\n} as const;\n\n\n\nexport const A_FrameChannelStreamStatuses = {\n Open: 'open',\n Closed: 'closed',\n} as const;\n\n\nexport const A_FrameChannelStreamFeatures = {\n open: '_A_FRAME_CHANNEL_STREAM_OPEN',\n send: '_A_FRAME_CHANNEL_STREAM_SEND',\n onEvent: '_A_FRAME_CHANNEL_STREAM_ON_EVENT',\n onError: '_A_FRAME_CHANNEL_STREAM_ON_ERROR',\n onComplete: '_A_FRAME_CHANNEL_STREAM_ON_COMPLETE',\n onClose: '_A_FRAME_CHANNEL_STREAM_ON_CLOSE',\n} as const;\n\n\n// ─── WebSocket socket entity constants ───────────────────────────────────────\n\nexport const A_FrameChannelSocketStatuses = {\n Connecting: 'connecting',\n Open: 'open',\n Closed: 'closed',\n} as const;\n\nexport const A_FrameChannelSocketFeatures = {\n onEvent: '_A_FRAME_CHANNEL_SOCKET_ON_EVENT',\n onError: '_A_FRAME_CHANNEL_SOCKET_ON_ERROR',\n onOpen: '_A_FRAME_CHANNEL_SOCKET_ON_OPEN',\n onClose: '_A_FRAME_CHANNEL_SOCKET_ON_CLOSE',\n} as const;\n","import { A_Error, A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameChannelRequest<\n _Response = any\n> extends A_Fragment {\n\n protected _response?: _Response;\n\n protected _error?: A_Error;\n\n\n constructor(\n public method: string,\n public path: string,\n public body?: unknown\n ) {\n super({ name: 'a-frame-channel-request' });\n }\n\n complete(response: _Response): void {\n this._response = response;\n }\n\n fail(error: A_Error): void {\n this._error = error;\n }\n\n get response(): _Response | undefined {\n return this._response;\n }\n\n get error(): A_Error | undefined {\n return this._error;\n }\n}\n","import { A_Error } from \"@adaas/a-concept\";\n\n\n\nexport class A_FrameChannelError extends A_Error{\n static readonly InvalidRequest = 'InvalidRequest';\n static readonly Timeout = 'Timeout';\n static readonly RequestFailed = 'RequestFailed';\n}\n ","import { A_Fragment } from \"@adaas/a-concept\";\nimport * as pkg from '../../../package.json';\nimport { IA_FrameEnv } from \"./A-FrameEnv.types\";\n\n\nexport class A_FrameEnv extends A_Fragment implements IA_FrameEnv {\n\n get A_FRAME_FILE_EXTENSION() {\n return '.aframe';\n }\n\n get A_FRAME_NAMESPACES_BIN() {\n return `__namespaces${this.A_FRAME_FILE_EXTENSION}`;\n }\n\n get A_FRAME_SYNC() {\n return process.env.A_FRAME_SYNC === 'false' ? false : true;\n }\n\n get A_FRAME_TOKEN() {\n return process.env.A_FRAME_TOKEN || '';\n }\n\n get A_FRAME_SERVER_URL() {\n return process.env.A_FRAME_SERVER_URL || 'http://localhost:3663';\n }\n\n get A_FRAME_SERVER_API_KEY() {\n return process.env.A_FRAME_SERVER_API_KEY || '';\n }\n\n get A_FRAME_STORAGE_DIR() {\n return process.env.A_FRAME_STORAGE_DIR || '.aframe';\n }\n\n get A_FRAME_VERSION() {\n return pkg.version || '0.0.1';\n }\n\n /**\n * Maximum time (ms) the HTTP client waits for a single response.\n * AI inference can be slow; default is 120 seconds.\n * Override with A_FRAME_REQUEST_TIMEOUT env var.\n */\n get A_FRAME_REQUEST_TIMEOUT(): number {\n const raw = process.env.A_FRAME_REQUEST_TIMEOUT;\n const parsed = raw ? parseInt(raw, 10) : NaN;\n return isNaN(parsed) ? 120_000 : parsed;\n }\n}","\n\n\nexport const A_FrameDynamicSessionFeatures = {\n Init: '_A_FRAME_DYNAMIC_SESSION_INIT',\n Question: '_A_FRAME_DYNAMIC_SESSION_QUESTION',\n Answer: '_A_FRAME_DYNAMIC_SESSION_ANSWER',\n Destroy: '_A_FRAME_DYNAMIC_SESSION_DESTROY',\n} as const;","import { A_Context, A_Entity, A_Scope } from \"@adaas/a-concept\"\nimport { A_FrameDynamicSession_Init, A_FrameDynamicSession_Serialized } from \"./A-FrameDynamicSession.types\";\nimport { A_FrameDynamicSessionFeatures } from \"./A-FrameDynamicSession.constants\";\n\n\nexport class A_FrameDynamicSession extends A_Entity<A_FrameDynamicSession_Init, A_FrameDynamicSession_Serialized> {\n static get concept(): string {\n return 'a-frame';\n }\n\n /**\n * \n */\n protected _scope!: A_Scope\n\n protected _turnsCount!: number;\n protected _currentTurn!: number;\n protected _initDate!: string;\n\n /**\n * \n */\n get scope(): A_Scope {\n\n if (!this._scope) {\n this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));\n }\n\n return this._scope;\n }\n\n get currentTurn(): number {\n return this._currentTurn;\n }\n\n get initDate(): Date {\n return new Date(this._initDate);\n }\n\n\n static onQuestion() {\n return;\n }\n\n static onAnswer() {\n return;\n }\n\n\n fromNew(newEntity: A_FrameDynamicSession_Init): void {\n this._turnsCount = newEntity.turnsCount || 5;\n this._currentTurn = 0;\n this._initDate = new Date().toISOString();\n\n }\n\n fromJSON(serialized: A_FrameDynamicSession_Serialized): void {\n this._turnsCount = serialized.turnsCount;\n this._currentTurn = serialized.currentTurn;\n this._initDate = serialized.initDate;\n }\n\n\n async init() {\n await this.call(A_FrameDynamicSessionFeatures.Init)\n }\n\n async destroy(scope?: A_Scope): Promise<void> {\n await this.call(A_FrameDynamicSessionFeatures.Destroy, scope);\n }\n\n\n async question() {\n this._currentTurn++;\n await this.call(A_FrameDynamicSessionFeatures.Question);\n }\n\n async answer() {\n await this.call(A_FrameDynamicSessionFeatures.Answer);\n }\n\n\n toJSON(): A_FrameDynamicSession_Serialized {\n return {\n ...super.toJSON(),\n turnsCount: this._turnsCount,\n currentTurn: this._currentTurn,\n initDate: this._initDate,\n }\n }\n}","import { A_Error, A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameChannelEvent<\n T extends Record<string, any> = any,\n> extends A_Fragment {\n\n protected _data?: T;\n protected _eventName!: string;\n\n constructor(\n name: string,\n data?: T\n ) {\n super({ name: 'a-frame-channel-event-' + name });\n this._data = data as T;\n this._eventName = name;\n }\n\n get name(): string {\n return this._eventName;\n }\n\n get data(): T | undefined {\n return this._data;\n }\n\n}\n","import { A_Context, A_Entity, A_Error, A_Feature, A_Scope } from \"@adaas/a-concept\";\nimport { A_FrameChannelStream_Init, A_FrameChannelStream_Serialized, A_FrameChannelStreamStatusNames } from \"./A-FrameChannel.types\";\nimport { A_FrameChannelStreamFeatures, A_FrameChannelStreamStatuses } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelEvent } from \"./A-FrameChannelEvent.context\";\n\n\n\nexport class A_FrameChannelStream<\n T extends Record<string, any> = Record<string, any>\n> extends A_Entity<\n A_FrameChannelStream_Init<T>,\n A_FrameChannelStream_Serialized<T>\n> {\n\n\n static onEvent(name?: string) {\n\n const eventName = (name || 'all') + A_FrameChannelStreamFeatures.onEvent;\n\n\n return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {\n return A_Feature.Extend({\n name: eventName,\n scope: [target.constructor],\n })(target, propertyKey, descriptor);\n }\n }\n\n\n protected _method!: string;\n protected _path!: string;\n protected _body?: T;\n protected _scope!: A_Scope\n protected _error?: A_Error;\n protected _status!: A_FrameChannelStreamStatusNames;\n protected _initDate!: string;\n\n /**\n * The scope of the session, Will be destroyed after the session is closed.\n */\n get scope(): A_Scope {\n\n if (!this._scope) {\n this._scope = A_Context.allocate(this, new A_Scope({ name: `${this.aseid.id}-scope` }));\n }\n\n return this._scope;\n }\n\n get method(): string {\n return this._method;\n }\n\n get path(): string {\n return this._path;\n }\n\n get body(): T | undefined {\n return this._body;\n }\n\n get status(): A_FrameChannelStreamStatusNames {\n return this._status;\n }\n\n get error(): A_Error | undefined {\n return this._error;\n }\n\n get initDate(): Date {\n return new Date(this._initDate);\n }\n\n complete(): void {\n this._status = A_FrameChannelStreamStatuses.Closed;\n }\n\n fail(error: A_Error): void {\n this._status = A_FrameChannelStreamStatuses.Closed;\n this._error = error;\n }\n\n destroy(): Promise<void> | void {\n this.scope.destroy();\n }\n\n async open(){\n await this.call(A_FrameChannelStreamFeatures.open);\n }\n\n async send(){\n await this.call(A_FrameChannelStreamFeatures.send);\n }\n\n\n async propagate<T extends Record<string, any>>(name: string, data?: T): Promise<void> {\n const request = new A_FrameChannelEvent<T>(name, data);\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannelStream.propagate',\n fragments: [request],\n })\n .inherit(this.scope);\n\n try {\n\n const callName = (name || 'all') + A_FrameChannelStreamFeatures.onEvent;\n\n await this.call(callName, executionScope);\n executionScope.destroy();\n\n } catch {\n executionScope.destroy();\n }\n }\n\n fromNew(newEntity: A_FrameChannelStream_Init<T>): void {\n this.aseid = this.generateASEID();\n this._method = newEntity.method;\n this._path = newEntity.path;\n this._body = newEntity.body;\n this._initDate = new Date().toISOString();\n }\n\n fromJSON(serialized: A_FrameChannelStream_Serialized<T>): void {\n this._method = serialized.method;\n this._path = serialized.path;\n this._body = serialized.body;\n this._initDate = serialized.initDate;\n }\n\n\n toJSON(): A_FrameChannelStream_Serialized<T> {\n return {\n ...super.toJSON(),\n initDate: this._initDate,\n status: this._status,\n error: this._error ? this._error.toJSON() : undefined,\n method: this._method,\n path: this._path,\n body: this._body,\n }\n }\n\n}","import { A_Inject } from \"@adaas/a-concept\";\nimport { A_FrameChannelStream } from \"./A-FrameChannelStream.entity\";\nimport { A_FrameChannelEvent } from \"./A-FrameChannelEvent.context\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameIndex } from \"../A-FrameIndex/A-FrameIndex.context\";\nimport { A_FrameDynamicStructureResolvedComponent } from \"../A-FrameDynamicStructure/A-FrameDynamicStructure.types\";\n\ntype DsgRespondFn = (requestId: string, data: { component: string | null; score: number }) => Promise<void>;\n\n/**\n * A_FrameChannelDsgStream\n *\n * SSE stream entity used by the SSE-driven dynamic-structure generation\n * pipeline. Handles the following server-pushed events:\n *\n * search_component — server sends an embedded vector and asks the client\n * to find the best matching registered component.\n * structure_complete — server sends the final resolved component list.\n * structure_error — server reports a pipeline error.\n *\n * Usage:\n * const stream = new A_FrameChannelDsgStream({ path: `/api/v1/dsg/stream/${channelId}` });\n * stream.setRespondFn(async (requestId, data) => { ... });\n * // open SSE connection, then retrieve stream.resolvedComponents\n */\nexport class A_FrameChannelDsgStream extends A_FrameChannelStream {\n\n private _respondFn?: DsgRespondFn;\n private _resolvedComponents: A_FrameDynamicStructureResolvedComponent[] = [];\n\n // ── Configuration ──────────────────────────────────────────────────────\n\n /**\n * Provide the callback that sends a component-search response back to the\n * server via HTTP POST. Must be set before the SSE stream is opened.\n */\n setRespondFn(fn: DsgRespondFn): void {\n this._respondFn = fn;\n }\n\n // ── Result accessor ────────────────────────────────────────────────────\n\n /**\n * Contains the resolved components after `structure_complete` is received.\n * Empty until the server pushes the final structure.\n */\n get resolvedComponents(): ReadonlyArray<A_FrameDynamicStructureResolvedComponent> {\n return this._resolvedComponents;\n }\n\n // ── SSE event handlers ─────────────────────────────────────────────────\n\n /**\n * Server requests that the client search its local index for the best\n * component matching the provided pre-embedded vector.\n *\n * Event data: { requestId, vector, type, role, prompt }\n */\n @A_FrameChannelStream.onEvent('search_component')\n async onSearchComponent(\n @A_Inject(A_FrameChannelEvent) event: A_FrameChannelEvent,\n ) {\n if (!this._respondFn) return;\n\n const { requestId, vector } = event.data as {\n requestId: string;\n vector: number[];\n type: string;\n role: string;\n prompt: string;\n };\n\n const queryVector = new A_FrameVector(vector ?? []);\n const results = A_FrameIndex.search(queryVector, { topK: 1 });\n const top = results[0];\n\n await this._respondFn(requestId, {\n component: top?.record?.name ?? null,\n score: top?.score ?? 0,\n });\n }\n\n /**\n * Server pushes the final resolved component list.\n *\n * Event data: { components, prompt }\n */\n @A_FrameChannelStream.onEvent('structure_complete')\n async onStructureComplete(\n @A_Inject(A_FrameChannelEvent) event: A_FrameChannelEvent,\n ) {\n const { components } = event.data as {\n components: A_FrameDynamicStructureResolvedComponent[];\n prompt: string;\n };\n this._resolvedComponents = Array.isArray(components) ? components : [];\n }\n\n /**\n * Server reports a generation error.\n */\n @A_FrameChannelStream.onEvent('structure_error')\n async onStructureError(\n @A_Inject(A_FrameChannelEvent) event: A_FrameChannelEvent,\n ) {\n const { message } = (event.data ?? {}) as { message?: string };\n\n console.error('[A_FrameChannelDsgStream] Server reported structure error:', message ?? 'unknown');\n }\n}\n","import { A_Caller, A_Component, A_Context, A_Feature, A_Inject, A_Scope } from \"@adaas/a-concept\";\nimport { IA_Frame_Channel, A_Frame_EmbedResponse, A_Frame_GenerateResponse, A_Frame_CredentialResponse, A_FrameEmbedOptions } from \"./A-FrameChannel.types\";\nimport { A_FrameEnv } from \"../A-FrameEnv/A-FrameEnv.fragment.env-node\";\nimport { A_FrameFeatures } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelRequest } from \"./A-FrameChannelRequest.context\";\nimport { A_FrameChannelError } from \"./A-FrameChannel.error\";\nimport { A_FrameDefinition } from \"../A-FrameDefinition\";\nimport { A_FrameDefinitionFeatures } from \"../A-FrameDefinition/A-FrameDefinition.constants\";\nimport { A_FrameNamespaceFeatures } from \"../A-FrameNamespace/A-FrameNamespace.constants\";\nimport { A_FrameNamespace } from \"../A-FrameNamespace\";\nimport { A_FrameDynamicStructure } from \"../A-FrameDynamicStructure/A-FrameDynamicStructure.entity\";\nimport { A_FrameDynamicSession } from \"../A-FrameDynamicSession/A-FrameDynamicSession.entity\";\nimport { A_FrameDynamicStructureOperation } from \"../A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context\";\nimport { A_FrameDynamicStructureFeatures } from \"../A-FrameDynamicStructure/A-FrameDynamicStructure.constants\";\nimport { A_FrameChannelSocket } from \"./A-FrameChannelSocket.entity\";\nimport { A_FrameChannelDsgStream } from \"./A-FrameChannelDsgStream.entity\";\nimport { A_FrameDynamicContent } from \"../A-FrameDynamicContent/A-FrameDynamicContent.entity\";\nimport { A_FrameDynamicContentOperation } from \"../A-FrameDynamicContent/A-FrameDynamicContentOperation.context\";\nimport { A_FrameDynamicContentFeatures } from \"../A-FrameDynamicContent/A-FrameDynamicContent.constants\";\nimport { A_FrameContentGenerateResponse, A_FrameContentPatchResponse } from \"../A-FrameDynamicContent/A-FrameDynamicContent.types\";\nimport { A_Frame_CompletionResponse } from \"./A-FrameChannel.types\";\nimport { A_FrameSegment, A_FrameSegmentFeatures } from \"../A-FrameSegment\";\nimport { A_FrameCompletion, A_FrameCompletionFeatures } from \"../A-FrameCompletion\";\nimport { A_FrameSchema, A_FrameSchemaFeatures } from \"../A-FrameSchema\";\nimport { A_Frame_SchemaResponse } from \"./A-FrameChannel.types\";\n\n/**\n * A_FrameChannel — Node.js environment\n *\n * HTTP client for the embed-server API.\n * Configuration is resolved from process.env via A_FrameEnv injected at\n * feature execution time — no state is stored on the component itself.\n *\n * Uses the global fetch (available in Node 18+; no extra dependency needed).\n */\nexport class A_FrameChannel extends A_Component implements IA_Frame_Channel {\n\n async generate(prompt: string): Promise<A_FrameChannelRequest<A_Frame_GenerateResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_GenerateResponse>('POST', '/api/v1/completions', { prompt, max_tokens: 512 });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.generate',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to generate completion: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n async embed(input: string | string[], options?: A_FrameEmbedOptions): Promise<A_FrameChannelRequest<A_Frame_EmbedResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/embeddings', {\n input,\n ...(options?.model && { model: options.model }),\n ...(options?.task && { task: options.task }),\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embed',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed input: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n async getCredentials(): Promise<A_FrameChannelRequest<A_Frame_CredentialResponse>> {\n const request = new A_FrameChannelRequest<A_Frame_CredentialResponse>('GET', '/api/v1/credentials/me');\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.getCredentials',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to get credentials: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n async ping(): Promise<A_FrameChannelRequest<boolean>> {\n const request = new A_FrameChannelRequest<boolean>('GET', '/health');\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.ping',\n fragments: [request],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n return request;\n\n } catch {\n executionScope.destroy();\n\n return request;\n }\n }\n\n\n\n // ─── Feature implementation ───────────────────────────────────────────────\n @A_Feature.Extend({\n name: A_FrameDefinitionFeatures.Embed,\n scope: [A_FrameDefinition],\n })\n async embedDefinition(\n @A_Inject(A_Caller) definition: A_FrameDefinition,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/definition/embed', {\n definition: definition.toJSON(),\n model: definition.requestedModel,\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embedDefinition',\n fragments: [request]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope) as A_Frame_EmbedResponse;\n executionScope.destroy();\n\n const response = request.response!;\n if (!response.data || !response.data[0] || !response.data[0].embedding) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid embedding response for definition \"${definition.name}\"`,\n });\n }\n\n const vector = new Float32Array(response.data[0].embedding);\n\n definition.hydrateFromEmbedding(vector, {\n model: response.model,\n dimensions: response.meta.dimensions,\n inputCount: response.meta.input_count,\n aFrameServerVersion: response.meta.server_version!,\n aFrameVersion: env.A_FRAME_VERSION!,\n credentialId: response.meta.credential_id!,\n date: response.date,\n aFrameMeta: response.aFrameMeta,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed definition \"${definition.name}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n\n }\n\n\n\n @A_Feature.Extend({\n name: A_FrameNamespaceFeatures.Embed,\n scope: [A_FrameNamespace],\n })\n async embedNamespace(\n @A_Inject(A_Caller) namespace: A_FrameNamespace,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/namespace/embed', {\n namespace: namespace.toJSON(),\n model: namespace.requestedModel,\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embedNamespace',\n fragments: [request]\n })\n .inherit(A_Context.scope(this));\n\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope) as A_Frame_EmbedResponse;\n executionScope.destroy();\n\n const response = request.response!;\n if (!response.data || !response.data[0] || !response.data[0].embedding) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid embedding response for namespace \"${namespace.name}\"`,\n });\n }\n\n const vector = new Float32Array(response.data[0].embedding);\n\n namespace.hydrateFromEmbedding(vector, {\n model: response.model,\n dimensions: response.meta.dimensions,\n inputCount: response.meta.input_count,\n aFrameServerVersion: response.meta.server_version!,\n aFrameVersion: env.A_FRAME_VERSION!,\n credentialId: response.meta.credential_id!,\n date: response.date,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed namespace \"${namespace.name}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n\n }\n\n\n @A_Feature.Extend({\n name: A_FrameSegmentFeatures.Embed,\n scope: [A_FrameSegment],\n })\n async embedSegment(\n @A_Inject(A_Caller) segment: A_FrameSegment,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n\n const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/segment/embed', {\n segment: segment.toJSON(),\n task: segment.options?.task,\n model: segment.options?.model,\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.embedNamespace',\n fragments: [request]\n })\n .inherit(A_Context.scope(this));\n\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope) as A_Frame_EmbedResponse;\n executionScope.destroy();\n\n const response = request.response!;\n if (!response.data || !response.data[0] || !response.data[0].embedding) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Error during embed a segment: ${segment.content}`\n });\n }\n\n const vector = new Float32Array(response.data[0].embedding);\n\n segment.fromJSON({\n aseid: segment.aseid.toString(),\n content: segment.content,\n hash: segment.hash,\n embedding: vector,\n model: response.model,\n // dimensions: response.meta.dimensions,\n // inputCount: response.meta.input_count,\n aFrameServerVersion: response.meta.server_version!,\n aFrameVersion: env.A_FRAME_VERSION!,\n credentialId: response.meta.credential_id!,\n embeddedAt: response.date,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to embed segment with content \"${segment.content}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n\n }\n\n\n\n @A_Feature.Extend({\n name: A_FrameDynamicStructureFeatures.Generate,\n scope: [A_FrameDynamicStructure],\n })\n async generateDynamicStructure(\n @A_Inject(A_Caller) structure: A_FrameDynamicStructure,\n @A_Inject(A_FrameDynamicSession) session: A_FrameDynamicSession,\n @A_Inject(A_FrameDynamicStructureOperation) operation: A_FrameDynamicStructureOperation,\n ) {\n // ── Step 1: open an SSE channel on the server ──────────────────────\n const openRequest = new A_FrameChannelRequest<{ channelId: string }>(\n 'POST',\n '/api/v1/dsg/stream/open',\n );\n\n const openScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicStructure:open',\n fragments: [openRequest],\n }).inherit(A_Context.scope(this));\n\n await this.call(A_FrameFeatures.Request, openScope);\n openScope.destroy();\n\n const { channelId } = openRequest.response!;\n\n // ── Step 2: create DSG stream entity ──────────────────────────────\n const channel = this;\n const dsgStream = new A_FrameChannelDsgStream({\n method: 'GET',\n path: `/api/v1/dsg/stream/${channelId}`,\n });\n\n // Wire the respond callback so event handlers can push results back.\n dsgStream.setRespondFn(async (requestId, data) => {\n const respondRequest = new A_FrameChannelRequest(\n 'POST',\n '/api/v1/dsg/stream/respond',\n { requestId, data },\n );\n\n const respondScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicStructure:respond',\n fragments: [respondRequest],\n }).inherit(A_Context.scope(channel));\n\n await channel.call(A_FrameFeatures.Request, respondScope);\n respondScope.destroy();\n });\n\n // ── Step 3: start SSE connection (non-awaited) ────────────────────\n const streamScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicStructure:stream',\n entities: [dsgStream],\n }).inherit(A_Context.scope(this));\n\n // This promise resolves when the server closes the SSE channel.\n const streamTask = this.call(A_FrameFeatures.Stream, streamScope);\n\n // ── Step 4: trigger server-side generation ────────────────────────\n const generateRequest = new A_FrameChannelRequest(\n 'POST',\n '/api/v1/dsg/structure/generate-stream',\n { channelId, prompt: structure.prompt },\n );\n\n const generateScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicStructure:generate',\n fragments: [generateRequest],\n }).inherit(A_Context.scope(this));\n\n await this.call(A_FrameFeatures.Request, generateScope);\n generateScope.destroy();\n\n // ── Step 5: wait for the SSE pipeline to complete ─────────────────\n await streamTask;\n streamScope.destroy();\n\n // ── Step 6: hydrate structure from resolved components ────────────\n structure.hydrateFromResolved(\n dsgStream.resolvedComponents as any[],\n { model: 'sse-stream', serverVersion: '0.0.0' },\n );\n }\n\n\n // /**\n // * Open a bidirectional WebSocket connection to the server.\n // *\n // * The method resolves once the connection is closed (server close frame or\n // * transport end). While it is pending, call `socket.send(event)` to push\n // * frames to the server. Incoming frames are dispatched automatically to\n // * any `@A_FrameChannelSocket.onEvent()` handlers registered on `socket`.\n // *\n // * @param socket - Pre-configured socket entity (optionally a subclass with\n // * event handlers pre-registered via `@onEvent` decorators).\n // */\n // async connect(socket: A_FrameChannelSocket): Promise<void> {\n // const executionScope = new A_Scope({\n // name: 'A_FrameChannel.connect',\n // entities: [socket],\n // }).inherit(A_Context.scope(this));\n\n // try {\n // await this.call(A_FrameFeatures.Socket, executionScope);\n // executionScope.destroy();\n // } catch (err) {\n // executionScope.destroy();\n // throw new A_FrameChannelError({\n // title: A_FrameChannelError.RequestFailed,\n // description: `WebSocket connection to ${socket.path} failed: ${err instanceof Error ? err.message : String(err)}`,\n // });\n // }\n // }\n\n\n // ─── Dynamic Content ──────────────────────────────────────────────────────\n\n /**\n * Feature implementation for A_FrameDynamicContent.generate().\n *\n * Calls POST /api/v1/content/generate on the server and hydrates the\n * content entity from the returned piece list.\n */\n @A_Feature.Extend({\n name: A_FrameDynamicContentFeatures.Generate,\n scope: [A_FrameDynamicContent],\n })\n async generateDynamicContent(\n @A_Inject(A_Caller) content: A_FrameDynamicContent,\n @A_Inject(A_FrameDynamicContentOperation) operation: A_FrameDynamicContentOperation,\n ) {\n const request = new A_FrameChannelRequest<A_FrameContentGenerateResponse>(\n 'POST',\n '/api/v1/content/generate',\n {\n prompt: content.prompt,\n model: content.modelName,\n ...(content.systemPrompt !== undefined ? { system: content.systemPrompt } : {}),\n },\n );\n\n const requestScope = new A_Scope({\n name: 'A_FrameChannel.generateDynamicContent',\n fragments: [request],\n }).inherit(A_Context.scope(this));\n\n await this.call(A_FrameFeatures.Request, requestScope);\n requestScope.destroy();\n\n const resp = request.response!;\n\n // Convert wire segments to proper A_FrameSegment domain objects.\n // The channel is the adapter layer — it never passes raw serialized\n // objects into the domain; it always constructs instances.\n const segments = (resp.segments ?? []).map(w => {\n const seg = new A_FrameSegment({ content: w.content, options: { task: 'document' } });\n if (w.embedding?.length) {\n seg.hydrateFromEmbedding(new Float32Array(w.embedding));\n }\n return seg;\n });\n\n content.hydrateFromGeneration(segments, {\n model: resp.model,\n serverVersion: resp.meta?.server_version ?? '0.0.0',\n });\n }\n\n /**\n * Feature implementation for A_FrameDynamicContent.patch().\n *\n * Sends the current piece list and a patch instruction to the server,\n * then applies the returned operations to the content entity.\n */\n @A_Feature.Extend({\n name: A_FrameDynamicContentFeatures.Patch,\n scope: [A_FrameDynamicContent],\n })\n async patchDynamicContent(\n @A_Inject(A_Caller) content: A_FrameDynamicContent,\n @A_Inject(A_FrameDynamicContentOperation) operation: A_FrameDynamicContentOperation,\n ) {\n const { instruction, segments } = operation.params as { instruction: string; segments: A_FrameSegment[] };\n\n // Use short positional wire IDs (s0, s1, …) to maximise LLM reliability\n // when the model echoes them back as targetId values.\n // We keep a reverse map to translate back to the real ASEID ids.\n const wireIdToAseid = new Map<string, string>();\n const wireSegments = segments.map((s, idx) => {\n const wireId = `s${idx}`;\n wireIdToAseid.set(wireId, String(s.id));\n return {\n id: wireId,\n index: idx,\n text: s.content,\n vector: s.vector ? Array.from(s.vector.values) : undefined,\n };\n });\n\n const request = new A_FrameChannelRequest<A_FrameContentPatchResponse>(\n 'POST',\n '/api/v1/content/patch',\n {\n prompt: content.prompt,\n segments: wireSegments,\n instruction,\n model: content.modelName,\n ...(content.systemPrompt !== undefined ? { system: content.systemPrompt } : {}),\n },\n );\n\n const requestScope = new A_Scope({\n name: 'A_FrameChannel.patchDynamicContent',\n fragments: [request],\n }).inherit(A_Context.scope(this));\n\n await this.call(A_FrameFeatures.Request, requestScope);\n requestScope.destroy();\n\n const resp = request.response!;\n\n // Translate wire ids (s0, s1, …) in targetId back to real ASEID ids\n // so that applyOperation can look them up in the index.\n const translatedOperations = resp.operations.map(op => ({\n ...op,\n targetId: op.targetId\n ? (wireIdToAseid.get(op.targetId) ?? op.targetId)\n : op.targetId,\n }));\n\n content.hydrateFromPatch(\n { ...resp, operations: translatedOperations },\n {\n model: resp.model,\n serverVersion: resp.meta?.server_version ?? '0.0.0',\n },\n );\n }\n\n\n // ─── Completion ───────────────────────────────────────────────────────────\n\n /**\n * Feature implementation for A_FrameCompletion.generate().\n *\n * Calls POST /api/v1/completions/generate on the server, which performs a\n * text completion followed by an embedding of the result in a single\n * round-trip, then hydrates the entity with both values.\n */\n @A_Feature.Extend({\n name: A_FrameCompletionFeatures.Generate,\n scope: [A_FrameCompletion],\n })\n async generateCompletion(\n @A_Inject(A_Caller) completion: A_FrameCompletion,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const request = new A_FrameChannelRequest<A_Frame_CompletionResponse>(\n 'POST',\n '/api/v1/completions/generate',\n {\n prompt: completion.prompt,\n options: completion.options,\n },\n );\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.generateCompletion',\n fragments: [request],\n }).inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n const response = request.response!;\n\n if (!response.text) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid completion response for prompt \"${completion.prompt}\"`,\n });\n }\n\n completion.hydrateFromGeneration({\n text: response.text,\n embedding: new Float32Array(response.embedding),\n model: response.model,\n date: response.date,\n aFrameVersion: env.A_FRAME_VERSION!,\n aFrameServerVersion: response.meta.server_version,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to generate completion for prompt \"${completion.prompt}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n /**\n * Calls POST /api/v1/schema/extract on the server.\n *\n * Sends the prompt and schema descriptor to the Nova model, which returns\n * a structured JSON object matching the schema. Hydrates the entity with\n * the extracted data and provenance metadata.\n */\n @A_Feature.Extend({\n name: A_FrameSchemaFeatures.Extract,\n scope: [A_FrameSchema],\n })\n async extractSchema<T extends Record<string, unknown>>(\n @A_Inject(A_Caller) scheme: A_FrameSchema<T>,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const request = new A_FrameChannelRequest<A_Frame_SchemaResponse<T>>(\n 'POST',\n '/api/v1/schema/extract',\n {\n prompt: scheme.prompt,\n schema: scheme.schema,\n options: scheme.options,\n },\n );\n\n const executionScope = new A_Scope({\n name: 'A_FrameChannel.extractSchema',\n fragments: [request],\n }).inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameFeatures.Request, executionScope);\n executionScope.destroy();\n\n const response = request.response!;\n\n if (!response.data) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.InvalidRequest,\n description: `Invalid scheme extraction response for prompt \"${scheme.prompt}\"`,\n });\n }\n\n scheme.hydrateFromExtraction(response.data, {\n model: response.model,\n date: response.date,\n aFrameVersion: env.A_FRAME_VERSION!,\n aFrameServerVersion: response.meta.server_version,\n });\n } catch (err) {\n throw new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Failed to extract scheme for prompt \"${scheme.prompt}\": ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n}\n\n\n\n\n","import { A_Feature, A_Inject } from \"@adaas/a-concept\";\nimport { A_FrameFeatures } from \"./A-FrameChannel.constants\";\nimport { A_FrameChannelRequest } from \"./A-FrameChannelRequest.context\";\nimport { A_FrameEnv } from \"../A-FrameEnv/A-FrameEnv.fragment.env-browser\";\nimport { A_FrameChannelError } from \"./A-FrameChannel.error\";\nimport { A_FrameChannel } from \"./A-FrameChannel.component\";\n\n/**\n * A_FrameChannel — Browser environment\n *\n * HTTP client for the embed-server API.\n * Configuration must be provided explicitly via configure() since there is\n * no process.env in the browser.\n *\n * At build time, generate .bin index files in Node. In the browser, load them\n * via A_FrameStorage.loadBlob() — no embedding calls are needed at runtime.\n */\nexport class A_FrameBrowserChannel extends A_FrameChannel {\n\n\n @A_Feature.Extend({\n name: A_FrameFeatures.Request,\n scope: [A_FrameChannel],\n })\n async request(\n @A_Inject(A_FrameChannelRequest) context: A_FrameChannelRequest,\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n ) {\n const url = `${env.A_FRAME_SERVER_URL}${context.path}`;\n const controller = new AbortController();\n const timer = setTimeout(() => {\n controller.abort()\n context.fail(new A_FrameChannelError({\n title: A_FrameChannelError.Timeout,\n description: `Request to ${context.path} timed out after 15 seconds`,\n }));\n }, 15_000);\n try {\n const resp = await fetch(url, {\n method: context.method,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${env.A_FRAME_SERVER_API_KEY}`,\n },\n body: context.body !== undefined ? JSON.stringify(context.body) : undefined,\n signal: controller.signal,\n });\n\n context.complete(await resp.json());\n\n } catch (err) {\n context.fail(new A_FrameChannelError({\n title: A_FrameChannelError.RequestFailed,\n description: `Request to ${context.path} failed or timed out`,\n }));\n } finally {\n clearTimeout(timer);\n }\n }\n}\n\n"]}
@@ -0,0 +1,2 @@
1
+ //# sourceMappingURL=chunk-WXCQCHAX.mjs.map
2
+ //# sourceMappingURL=chunk-WXCQCHAX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-WXCQCHAX.mjs"}
@@ -0,0 +1,3 @@
1
+ import {A_Fragment}from'@adaas/a-concept';var e="0.1.1";var s=class extends A_Fragment{get A_FRAME_TOKEN(){return window.A_FRAME_TOKEN||""}get A_FRAME_SERVER_URL(){return window.A_FRAME_SERVER_URL||"http://localhost:3000"}get A_FRAME_VERSION(){return e}get A_FRAME_SERVER_API_KEY(){return window.A_FRAME_SERVER_API_KEY||""}get A_FRAME_STORAGE_DIR(){return window.A_FRAME_STORAGE_DIR||".aframe"}};
2
+ export{e as a,s as b};//# sourceMappingURL=chunk-XKKBIIZG.mjs.map
3
+ //# sourceMappingURL=chunk-XKKBIIZG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../package.json","../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts"],"names":["version","A_FrameEnv","A_Fragment"],"mappings":"0CAEE,IAAAA,EAAW,QCON,IAAMC,CAAAA,CAAN,cAAyBC,UAAkC,CAE9D,IAAI,aAAA,EAAgB,CAChB,OAAQ,MAAA,CAAe,aAAA,EAAiB,EAC5C,CAEA,IAAI,kBAAA,EAAqB,CACrB,OAAQ,MAAA,CAAe,oBAAsB,uBACjD,CAEA,IAAI,eAAA,EAAkB,CAClB,OAAWF,CACf,CAEA,IAAI,sBAAA,EAAyB,CACzB,OAAQ,MAAA,CAAe,sBAAA,EAA0B,EACrD,CAEA,IAAI,mBAAA,EAAsB,CACtB,OAAQ,MAAA,CAAe,mBAAA,EAAuB,YAClD,CACJ","file":"chunk-XKKBIIZG.mjs","sourcesContent":["{\n \"name\": \"@adaas/a-frame\",\n \"version\": \"0.1.1\",\n \"description\": \"A-frame is index build engine for A-Concept ecosystem. It provides a way to build index structures for A-Concept basics\",\n \"license\": \"Apache-2.0\",\n \"author\": {\n \"name\": \"ADAAS YAZILIM LİMİTED ŞİRKETİ\",\n \"email\": \"contact-us@adaas.org\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/ADAAS-org/adaas-a-frame/issues\"\n },\n \"homepage\": \"https://github.com/ADAAS-org/adaas-a-frame#readme\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/ADAAS-org/adaas-a-frame.git\"\n },\n \"bin\": {\n \"a-frame\": \"./dist/index.cjs\"\n },\n \"exports\": {\n \".\": {\n \"browser\": {\n \"types\": \"./dist/browser/index.d.mts\",\n \"import\": \"./dist/browser/index.mjs\"\n },\n \"types\": \"./dist/node/index.d.ts\",\n \"import\": \"./dist/node/index.mjs\",\n \"require\": \"./dist/node/index.cjs\"\n },\n \"./core\": {\n \"browser\": {\n \"types\": \"./dist/browser/core.d.mts\",\n \"import\": \"./dist/browser/core.mjs\"\n },\n \"types\": \"./dist/node/core.d.ts\",\n \"import\": \"./dist/node/core.mjs\",\n \"require\": \"./dist/node/core.cjs\"\n },\n \"./bundle\": {\n \"browser\": {\n \"types\": \"./dist/browser/bundle.d.mts\",\n \"import\": \"./dist/browser/bundle.mjs\"\n },\n \"types\": \"./dist/node/bundle.d.ts\",\n \"import\": \"./dist/node/bundle.mjs\",\n \"require\": \"./dist/node/bundle.cjs\"\n },\n \"./channel\": {\n \"browser\": {\n \"types\": \"./dist/browser/channel.d.mts\",\n \"import\": \"./dist/browser/channel.mjs\"\n },\n \"types\": \"./dist/node/channel.d.ts\",\n \"import\": \"./dist/node/channel.mjs\",\n \"require\": \"./dist/node/channel.cjs\"\n },\n \"./credentials\": {\n \"browser\": {\n \"types\": \"./dist/browser/credentials.d.mts\",\n \"import\": \"./dist/browser/credentials.mjs\"\n },\n \"types\": \"./dist/node/credentials.d.ts\",\n \"import\": \"./dist/node/credentials.mjs\",\n \"require\": \"./dist/node/credentials.cjs\"\n },\n \"./crypto\": {\n \"browser\": {\n \"types\": \"./dist/browser/crypto.d.mts\",\n \"import\": \"./dist/browser/crypto.mjs\"\n },\n \"types\": \"./dist/node/crypto.d.ts\",\n \"import\": \"./dist/node/crypto.mjs\",\n \"require\": \"./dist/node/crypto.cjs\"\n },\n \"./definition\": {\n \"browser\": {\n \"types\": \"./dist/browser/definition.d.mts\",\n \"import\": \"./dist/browser/definition.mjs\"\n },\n \"types\": \"./dist/node/definition.d.ts\",\n \"import\": \"./dist/node/definition.mjs\",\n \"require\": \"./dist/node/definition.cjs\"\n },\n \"./dynamic-feature\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-feature.d.mts\",\n \"import\": \"./dist/browser/dynamic-feature.mjs\"\n },\n \"types\": \"./dist/node/dynamic-feature.d.ts\",\n \"import\": \"./dist/node/dynamic-feature.mjs\",\n \"require\": \"./dist/node/dynamic-feature.cjs\"\n },\n \"./dynamic-content\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-content.d.mts\",\n \"import\": \"./dist/browser/dynamic-content.mjs\"\n },\n \"types\": \"./dist/node/dynamic-content.d.ts\",\n \"import\": \"./dist/node/dynamic-content.mjs\",\n \"require\": \"./dist/node/dynamic-content.cjs\"\n },\n \"./dynamic-structure\": {\n \"browser\": {\n \"types\": \"./dist/browser/dynamic-structure.d.mts\",\n \"import\": \"./dist/browser/dynamic-structure.mjs\"\n },\n \"types\": \"./dist/node/dynamic-structure.d.ts\",\n \"import\": \"./dist/node/dynamic-structure.mjs\",\n \"require\": \"./dist/node/dynamic-structure.cjs\"\n },\n \"./env\": {\n \"browser\": {\n \"types\": \"./dist/browser/env.d.mts\",\n \"import\": \"./dist/browser/env.mjs\"\n },\n \"types\": \"./dist/node/env.d.ts\",\n \"import\": \"./dist/node/env.mjs\",\n \"require\": \"./dist/node/env.cjs\"\n },\n \"./index\": {\n \"browser\": {\n \"types\": \"./dist/browser/frame-index.d.mts\",\n \"import\": \"./dist/browser/frame-index.mjs\"\n },\n \"types\": \"./dist/node/frame-index.d.ts\",\n \"import\": \"./dist/node/frame-index.mjs\",\n \"require\": \"./dist/node/frame-index.cjs\"\n },\n \"./logger\": {\n \"browser\": {\n \"types\": \"./dist/browser/logger.d.mts\",\n \"import\": \"./dist/browser/logger.mjs\"\n },\n \"types\": \"./dist/node/logger.d.ts\",\n \"import\": \"./dist/node/logger.mjs\",\n \"require\": \"./dist/node/logger.cjs\"\n },\n \"./namespace\": {\n \"browser\": {\n \"types\": \"./dist/browser/namespace.d.mts\",\n \"import\": \"./dist/browser/namespace.mjs\"\n },\n \"types\": \"./dist/node/namespace.d.ts\",\n \"import\": \"./dist/node/namespace.mjs\",\n \"require\": \"./dist/node/namespace.cjs\"\n },\n \"./completion\": {\n \"browser\": {\n \"types\": \"./dist/browser/completion.d.mts\",\n \"import\": \"./dist/browser/completion.mjs\"\n },\n \"types\": \"./dist/node/completion.d.ts\",\n \"import\": \"./dist/node/completion.mjs\",\n \"require\": \"./dist/node/completion.cjs\"\n },\n \"./segment\": {\n \"browser\": {\n \"types\": \"./dist/browser/segment.d.mts\",\n \"import\": \"./dist/browser/segment.mjs\"\n },\n \"types\": \"./dist/node/segment.d.ts\",\n \"import\": \"./dist/node/segment.mjs\",\n \"require\": \"./dist/node/segment.cjs\"\n },\n \"./storage\": {\n \"browser\": {\n \"types\": \"./dist/browser/storage.d.mts\",\n \"import\": \"./dist/browser/storage.mjs\"\n },\n \"types\": \"./dist/node/storage.d.ts\",\n \"import\": \"./dist/node/storage.mjs\",\n \"require\": \"./dist/node/storage.cjs\"\n },\n \"./vector\": {\n \"browser\": {\n \"types\": \"./dist/browser/vector.d.mts\",\n \"import\": \"./dist/browser/vector.mjs\"\n },\n \"types\": \"./dist/node/vector.d.ts\",\n \"import\": \"./dist/node/vector.mjs\",\n \"require\": \"./dist/node/vector.cjs\"\n },\n \"./models\": {\n \"browser\": {\n \"types\": \"./dist/browser/models.d.mts\",\n \"import\": \"./dist/browser/models.mjs\"\n },\n \"types\": \"./dist/node/models.d.ts\",\n \"import\": \"./dist/node/models.mjs\",\n \"require\": \"./dist/node/models.cjs\"\n },\n \"./schema\": {\n \"browser\": {\n \"types\": \"./dist/browser/schema.d.mts\",\n \"import\": \"./dist/browser/schema.mjs\"\n },\n \"types\": \"./dist/node/schema.d.ts\",\n \"import\": \"./dist/node/schema.mjs\",\n \"require\": \"./dist/node/schema.cjs\"\n }\n },\n \"keywords\": [\n \"adaas\",\n \"a-frame\",\n \"ai index\",\n \"embeddings\",\n \"a-concept\",\n \"rag\"\n ],\n \"sideEffects\": false,\n \"nodemonConfig\": {\n \"ignore\": [\n \"**/*.test.ts\",\n \"**/*.spec.ts\",\n \".git\",\n \"node_modules\"\n ],\n \"watch\": [\n \"src\",\n \"examples\"\n ],\n \"exec\": \"node -r tsconfig-paths/register -r ts-node/register \",\n \"ext\": \"ts, js\"\n },\n \"scripts\": {\n \"test\": \"jest --detectOpenHandles\",\n \"test:browser\": \"jest --config jest.config.browser.ts --detectOpenHandles\",\n \"example:content-mapping\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/content-mapping/run-incremental.ts\",\n \"example:content-mapping-simple\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/content-mapping/run.ts\",\n \"example:content-mapping-example\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/content-mapping-example.ts\",\n \"example:article\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/article/main.ts\",\n \"example:interaction\": \"node -r tsconfig-paths/register -r ts-node/register ./examples/interaction/main.ts\",\n \"example:dev:content-mapping\": \"nodemon ./examples/content-mapping/run-incremental.ts\",\n \"example:dev:content-mapping-simple\": \"nodemon ./examples/content-mapping/run.ts\",\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 \"peerDependencies\": {\n \"@adaas/a-concept\": \"^0.3.15\"\n },\n \"devDependencies\": {\n \"@adaas/a-concept\": \"^0.3.15\",\n \"@types/chai\": \"^4.3.14\",\n \"@types/jest\": \"^29.5.12\",\n \"@types/mocha\": \"^10.0.6\",\n \"@types/node\": \"^24.9.1\",\n \"chai\": \"^5.1.0\",\n \"dotenv\": \"^16.6.1\",\n \"jest\": \"^29.7.0\",\n \"jest-environment-jsdom\": \"^29.7.0\",\n \"mocha\": \"^10.4.0\",\n \"nodemon\": \"^3.1.4\",\n \"ts-jest\": \"^29.1.2\",\n \"ts-node\": \"^10.9.2\",\n \"tsconfig-paths\": \"^4.2.0\",\n \"tscpaths\": \"^0.0.9\",\n \"tsup\": \"^8.5.0\"\n },\n \"directories\": {\n \"doc\": \"docs\",\n \"test\": \"tests\"\n }\n}\n","import { A_Fragment } from \"@adaas/a-concept\";\nimport * as pkg from '../../../package.json';\nimport { IA_FrameEnv } from \"./A-FrameEnv.types\";\n\n\n\n/**\n * This class tailored from browser environment and it is used to get the env variables from the global scope and make them available for the A_FrameTask to use them in the task execution.\n */\nexport class A_FrameEnv extends A_Fragment implements IA_FrameEnv {\n\n get A_FRAME_TOKEN() {\n return (window as any).A_FRAME_TOKEN || '';\n }\n\n get A_FRAME_SERVER_URL() {\n return (window as any).A_FRAME_SERVER_URL || 'http://localhost:3000';\n }\n\n get A_FRAME_VERSION() {\n return pkg.version || '0.0.1';\n }\n\n get A_FRAME_SERVER_API_KEY() {\n return (window as any).A_FRAME_SERVER_API_KEY || '';\n }\n\n get A_FRAME_STORAGE_DIR() {\n return (window as any).A_FRAME_STORAGE_DIR || '.aframe';\n }\n}"]}
@@ -0,0 +1,3 @@
1
+ import {b as b$6,a as a$3}from'./chunk-2RNFZSBL.mjs';import {e,b as b$4,c as c$3,a as a$6}from'./chunk-UULJJ5C5.mjs';import {a as a$4}from'./chunk-6WAOMX7M.mjs';import {c as c$1,b as b$2}from'./chunk-CT67Y46H.mjs';import {b as b$5,a as a$2}from'./chunk-6NPQURSO.mjs';import {c as c$2,b as b$3}from'./chunk-TQPC5MYM.mjs';import {b,a as a$1}from'./chunk-BIBPE2GT.mjs';import {a as a$5}from'./chunk-G7MKGKG5.mjs';import {a,b as b$1}from'./chunk-DMGQW3AO.mjs';import {A_Feature,A_Inject,A_Caller,A_Error,A_Fragment,A_Component,A_Scope,A_Context,A_Entity,A_CommonHelper}from'@adaas/a-concept';var c={Request:"_A_FRAME_REQUEST",Socket:"_A_FRAME_SOCKET",Stream:"_A_FRAME_STREAM",Send:"_A_FRAME_SEND"},Fe={Open:"open",Closed:"closed"},Ae={open:"_A_FRAME_CHANNEL_STREAM_OPEN",send:"_A_FRAME_CHANNEL_STREAM_SEND",onEvent:"_A_FRAME_CHANNEL_STREAM_ON_EVENT",onError:"_A_FRAME_CHANNEL_STREAM_ON_ERROR",onComplete:"_A_FRAME_CHANNEL_STREAM_ON_COMPLETE",onClose:"_A_FRAME_CHANNEL_STREAM_ON_CLOSE"},ge={Connecting:"connecting",Open:"open",Closed:"closed"},ye={onEvent:"_A_FRAME_CHANNEL_SOCKET_ON_EVENT",onError:"_A_FRAME_CHANNEL_SOCKET_ON_ERROR",onOpen:"_A_FRAME_CHANNEL_SOCKET_ON_OPEN",onClose:"_A_FRAME_CHANNEL_SOCKET_ON_CLOSE"};var p=class extends A_Fragment{constructor(t,r,a){super({name:"a-frame-channel-request"});this.method=t;this.path=r;this.body=a;}complete(t){this._response=t;}fail(t){this._error=t;}get response(){return this._response}get error(){return this._error}};var s=class extends A_Error{};s.InvalidRequest="InvalidRequest",s.Timeout="Timeout",s.RequestFailed="RequestFailed";var v={Load:"_A_FRAME_DYNAMIC_STRUCTURE_LOAD",Patch:"_A_FRAME_DYNAMIC_STRUCTURE_PATCH",Generate:"_A_FRAME_DYNAMIC_STRUCTURE_GENERATE",Map:"_A_FRAME_DYNAMIC_STRUCTURE_MAP"},Ce={Updated:"_A_FRAME_DYNAMIC_STRUCTURE_UPDATED"};var u=class extends A_Error{};u.InvalidPatch="InvalidPatch",u.VersionMismatch="VersionMismatch",u.ComponentNotFound="ComponentNotFound",u.InvalidOperation="InvalidOperation",u.GenerationFailed="GenerationFailed";var P=class extends A_Fragment{constructor(){super({name:"a-frame-component-map-index"});this._entries=new Map;}set(t){this._entries.set(t.prompt,t);}get(t){return this._entries.get(t)}clear(){this._entries.clear();}get size(){return this._entries.size}list(){return Array.from(this._entries.values())}get matched(){return this.list().filter(t=>t.matchedClass!==null)}get unmatched(){return this.list().filter(t=>t.matchedClass===null)}toResult(t){let r=a=>{let n=this._entries.get(a.prompt);return n||{prompt:a.prompt,role:a.role,class:a.class,matchedClass:null,matchScore:0}};return {containers:t.containers.map(a=>({...r(a),components:(a.components??[]).map(r),fragments:(a.fragments??[]).map(r),entities:(a.entities??[]).map(r)})),components:t.components.map(r),fragments:t.fragments.map(r),entities:t.entities.map(r)}}};var f=class extends A_Fragment{constructor(t={}){super({name:"a-frame-dynamic-structure-operation-context"});this._meta=new Map;this._meta.set("params",t);}get params(){return this._meta.get("params")}get(t){return this._meta.get(t)}set(t,r){this._meta.set(t,r);}};var M=class extends A_Entity{static get concept(){return "a-frame"}fromNew(e){super.fromNew(e),this.createdAt=Date.now(),this.prompt=e.prompt,this.model=e.options?.model||a$5.PULSAR,this._context=e.options?.context??"",this._metaHint=e.options?.metaHint??"",this._includeBases=(e.options?.includeBases||[]).map(t=>typeof t=="string"?t:A_CommonHelper.getComponentName(t)),this._excludeBases=(e.options?.excludeBases||[]).map(t=>typeof t=="string"?t:A_CommonHelper.getComponentName(t)),this._enabledComponents=(e.options?.enabledComponents||[]).map(t=>typeof t=="string"?t:A_CommonHelper.getComponentName(t)),this._minScore=e.options?.minScore??.7,this._maxRetries=e.options?.maxRetries??3,this._candidateCount=e.options?.candidateCount??5,this._definition=null,this._mapResult=null,this._history=[],this._version=0;}get modelName(){return this.model}get contextHint(){return this._context}get metaHintValue(){return this._metaHint}get includedBases(){return this._includeBases}get excludedBases(){return this._excludeBases}get enabledComponentsList(){return this._enabledComponents}get minScore(){return this._minScore}get maxRetries(){return this._maxRetries}get candidateCount(){return this._candidateCount}get definition(){return this._definition}get structure(){return this._definition?JSON.stringify(this._stripEmbeddings(this._definition),null,2):JSON.stringify({containers:[],components:[],fragments:[],entities:[]},null,2)}get mapResult(){return this._mapResult}get history(){return this._history}get version(){return this._version}async generate(){let e=new f,t=new A_Scope({name:"a-frame-dynamic-structure-generate",fragments:[e]}).inherit(A_Context.scope(this));try{await this.call(v.Generate,t),t.destroy();}catch(r){throw t.destroy(),new u({title:u.GenerationFailed,description:`Failed to generate structure: ${r instanceof Error?r.message:String(r)}`})}}async patch(e){let t=new f({instruction:e}),r=new A_Scope({name:"a-frame-dynamic-structure-patch",fragments:[t]}).inherit(A_Context.scope(this));try{await this.call(v.Patch,r),r.destroy();}catch(a){throw r.destroy(),new u({title:u.GenerationFailed,description:`Failed to patch structure: ${a instanceof Error?a.message:String(a)}`})}}async map(){let e=new P,t=new A_Scope({name:"a-frame-dynamic-structure-map",fragments:[e]}).inherit(A_Context.scope(this));try{await this.call(v.Map,t),t.destroy();}catch(r){throw t.destroy(),new u({title:u.GenerationFailed,description:`Failed to map structure: ${r instanceof Error?r.message:String(r)}`})}}hydrateFromGeneration(e,t){this._definition=e,this._mapResult=null,this._history.push(new a$6({version:this._version,timestamp:Date.now(),reason:`Generated for: "${this.prompt}"`,encoded:Buffer.from(JSON.stringify(this._stripEmbeddings(e))).toString("base64"),delta:this._countElements(e)}));}hydrateFromPatch(e,t,r){let a=this._definition?this._countElements(this._definition):0;this._definition=e,this._mapResult=null,this._version++,this._history.push(new a$6({version:this._version,timestamp:Date.now(),reason:t,encoded:Buffer.from(JSON.stringify(this._stripEmbeddings(e))).toString("base64"),delta:this._countElements(e)-a}));}hydrateFromMap(e){this._mapResult=e;}toJSON(){let e=this._definition?this._countElements(this._definition):0;return {...super.toJSON(),name:this.prompt,description:`DynamicStructure with ${e} elements and ${this._history.length} patches`,metadata:{model:this.model,context:this._context,metaHint:this._metaHint,includeBases:this._includeBases,excludeBases:this._excludeBases,enabledComponents:this._enabledComponents,candidateCount:this._candidateCount,createdAt:this.createdAt},history:this._history.map(t=>t.toJSON())}}_countElements(e){return (e.containers?.length??0)+(e.components?.length??0)+(e.fragments?.length??0)+(e.entities?.length??0)}_stripEmbeddings(e){let t=r=>{let{embedding:a,...n}=r;return n};return {containers:e.containers.map(r=>({...t(r),components:(r.components??[]).map(t),fragments:(r.fragments??[]).map(t),entities:(r.entities??[]).map(t)})),components:e.components.map(t),fragments:e.fragments.map(t),entities:e.entities.map(t)}}};var D={Generate:"_A_FRAME_DYNAMIC_FEATURE_GENERATE",Patch:"_A_FRAME_DYNAMIC_FEATURE_PATCH",Map:"_A_FRAME_DYNAMIC_FEATURE_MAP"};var S=class extends A_Fragment{constructor(t={}){super({name:"a-frame-dynamic-feature-operation-context"});this._meta=new Map;this._meta.set("params",t);}get params(){return this._meta.get("params")}get(t){return this._meta.get(t)}set(t,r){this._meta.set(t,r);}};var l=class extends A_Error{};l.GenerationFailed="GenerationFailed",l.PatchFailed="PatchFailed",l.MappingFailed="MappingFailed",l.MethodNotFound="MethodNotFound",l.InvalidOperation="InvalidOperation";var I=class extends A_Fragment{constructor(){super({name:"a-frame-method-map-index"});this._stepEntries=new Map;this._elementEntries=new Map;}setStep(t){this._stepEntries.set(t.prompt,t);}getStep(t){return this._stepEntries.get(t)}setElement(t){this._elementEntries.set(t.prompt,t);}getElement(t){return this._elementEntries.get(t)}clear(){this._stepEntries.clear(),this._elementEntries.clear();}get stepCount(){return this._stepEntries.size}get elementCount(){return this._elementEntries.size}get matchedSteps(){return Array.from(this._stepEntries.values()).filter(t=>t.matchedMethod!==null)}get unmatchedSteps(){return Array.from(this._stepEntries.values()).filter(t=>t.matchedMethod===null)}toResult(t){let r=n=>{let i=this._stepEntries.get(n.prompt);return i||{prompt:n.prompt,inputs:n.inputs,outputs:n.outputs,matchedClass:null,matchedMethod:null,matchScore:0}},a=n=>{let i=this._elementEntries.get(n.prompt);return i||{prompt:n.prompt,matchedClass:null,matchScore:0}};return {steps:t.steps.map(r),components:t.components.map(a),fragments:t.fragments.map(a),entities:t.entities.map(a)}}};var N=class extends A_Entity{static get concept(){return "a-frame"}fromNew(e){super.fromNew(e),this.createdAt=Date.now(),this.prompt=e.prompt,this._model=e.options?.model??a$5.PULSAR,this._context=e.options?.context??"",this._includeBases=(e.options?.includeBases??[]).map(t=>typeof t=="string"?t:A_CommonHelper.getComponentName(t)),this._excludeBases=(e.options?.excludeBases??[]).map(t=>typeof t=="string"?t:A_CommonHelper.getComponentName(t)),this._enabledComponents=(e.options?.enabledComponents??[]).map(t=>typeof t=="string"?t:A_CommonHelper.getComponentName(t)),this._minScore=e.options?.minScore??.7,this._maxRetries=e.options?.maxRetries??3,this._definition=null,this._mapResult=null,this._history=[],this._version=0;}get modelName(){return this._model}get contextHint(){return this._context}get includedBases(){return this._includeBases}get excludedBases(){return this._excludeBases}get enabledComponentsList(){return this._enabledComponents}get minScore(){return this._minScore}get maxRetries(){return this._maxRetries}get definition(){return this._definition}get workflow(){return this._definition?JSON.stringify(this._stripEmbeddings(this._definition),null,2):JSON.stringify({title:"",description:"",steps:[],components:[],fragments:[],entities:[]},null,2)}get mapResult(){return this._mapResult}get history(){return this._history}get version(){return this._version}async generate(){let e=new S,t=new A_Scope({name:"a-frame-dynamic-feature-generate",fragments:[e]}).inherit(A_Context.scope(this));try{await this.call(D.Generate,t),t.destroy();}catch(r){throw t.destroy(),new l({title:l.GenerationFailed,description:`Failed to generate feature workflow: ${r instanceof Error?r.message:String(r)}`})}}async patch(e){let t=new S({instruction:e}),r=new A_Scope({name:"a-frame-dynamic-feature-patch",fragments:[t]}).inherit(A_Context.scope(this));try{await this.call(D.Patch,r),r.destroy();}catch(a){throw r.destroy(),new l({title:l.PatchFailed,description:`Failed to patch feature workflow: ${a instanceof Error?a.message:String(a)}`})}}async map(){let e=new I,t=new A_Scope({name:"a-frame-dynamic-feature-map",fragments:[e]}).inherit(A_Context.scope(this));try{await this.call(D.Map,t),t.destroy();}catch(r){throw t.destroy(),new l({title:l.MappingFailed,description:`Failed to map feature workflow: ${r instanceof Error?r.message:String(r)}`})}}hydrateFromGeneration(e,t){this._definition=e,this._mapResult=null,this._history.push(new a$6({version:this._version,timestamp:Date.now(),reason:`Generated for: "${this.prompt}"`,encoded:Buffer.from(JSON.stringify(this._stripEmbeddings(e))).toString("base64"),delta:e.steps.length}));}hydrateFromPatch(e,t,r){let a=this._definition?.steps.length??0;this._definition=e,this._mapResult=null,this._version++,this._history.push(new a$6({version:this._version,timestamp:Date.now(),reason:t,encoded:Buffer.from(JSON.stringify(this._stripEmbeddings(e))).toString("base64"),delta:e.steps.length-a}));}hydrateFromMap(e){this._mapResult=e;}toJSON(){return {...super.toJSON(),name:this.prompt,description:`DynamicFeature with ${this._definition?.steps.length??0} steps and ${this._history.length} patches`,metadata:{model:this._model,context:this._context,includeBases:this._includeBases,excludeBases:this._excludeBases,enabledComponents:this._enabledComponents,createdAt:this.createdAt},history:this._history.map(e=>e.toJSON())}}_stripEmbeddings(e){let t=r=>{let{embedding:a,...n}=r;return n};return {...e,steps:e.steps.map(t),components:e.components.map(t),fragments:e.fragments.map(t),entities:e.entities.map(t)}}};var R=class extends A_Fragment{get A_FRAME_FILE_EXTENSION(){return ".aframe"}get A_FRAME_NAMESPACES_BIN(){return `__namespaces${this.A_FRAME_FILE_EXTENSION}`}get A_FRAME_SYNC(){return process.env.A_FRAME_SYNC!=="false"}get A_FRAME_TOKEN(){return process.env.A_FRAME_TOKEN||""}get A_FRAME_SERVER_URL(){return process.env.A_FRAME_SERVER_URL||"http://localhost:3663"}get A_FRAME_SERVER_API_KEY(){return process.env.A_FRAME_SERVER_API_KEY||""}get A_FRAME_STORAGE_DIR(){return process.env.A_FRAME_STORAGE_DIR||".aframe"}get A_FRAME_STORAGE_PATTERN(){return process.env.A_FRAME_STORAGE_PATTERN??"node_modules/**/.aframe"}get A_FRAME_VERSION(){return a$4||"0.0.1"}get A_FRAME_REQUEST_TIMEOUT(){let e=process.env.A_FRAME_REQUEST_TIMEOUT,t=e?parseInt(e,10):NaN;return isNaN(t)?12e4:t}};var h=class extends A_Component{async generate(e){let t=new p("POST","/api/v1/completions",{prompt:e,max_tokens:512}),r=new A_Scope({name:"A_FrameChannel.generate",fragments:[t]}).inherit(A_Context.scope(this));try{return await this.call(c.Request,r),r.destroy(),t}catch(a){throw r.destroy(),new s({title:s.RequestFailed,description:`Failed to generate completion: ${a instanceof Error?a.message:String(a)}`})}}async embed(e,t){let r=new p("POST","/api/v1/embeddings",{input:e,...t?.model&&{model:t.model},...t?.task&&{task:t.task}}),a=new A_Scope({name:"A_FrameChannel.embed",fragments:[r]}).inherit(A_Context.scope(this));try{return await this.call(c.Request,a),a.destroy(),r}catch(n){throw a.destroy(),new s({title:s.RequestFailed,description:`Failed to embed input: ${n instanceof Error?n.message:String(n)}`})}}async getCredentials(){let e=new p("GET","/api/v1/credentials/me"),t=new A_Scope({name:"A_FrameChannel.getCredentials",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(c.Request,t),t.destroy(),e}catch(r){throw t.destroy(),new s({title:s.RequestFailed,description:`Failed to get credentials: ${r instanceof Error?r.message:String(r)}`})}}async ping(){let e=new p("GET","/health"),t=new A_Scope({name:"A_FrameChannel.ping",fragments:[e]}).inherit(A_Context.scope(this));try{return await this.call(c.Request,t),t.destroy(),e}catch{return t.destroy(),e}}async embedDefinition(e,t){let r=new p("POST","/api/v1/definition/embed",{definition:e.toJSON(),model:e.requestedModel}),a=new A_Scope({name:"A_FrameChannel.embedDefinition",fragments:[r]}).inherit(A_Context.scope(this));try{await this.call(c.Request,a),a.destroy();let n=r.response;if(!n.data||!n.data[0]||!n.data[0].embedding)throw new s({title:s.InvalidRequest,description:`Invalid embedding response for definition "${e.name}"`});let i=new Float32Array(n.data[0].embedding);e.hydrateFromEmbedding(i,{model:n.model,dimensions:n.meta.dimensions,inputCount:n.meta.input_count,aFrameServerVersion:n.meta.server_version,aFrameVersion:t.A_FRAME_VERSION,credentialId:n.meta.credential_id,date:n.date,aFrameMeta:n.aFrameMeta});}catch(n){throw new s({title:s.RequestFailed,description:`Failed to embed definition "${e.name}": ${n instanceof Error?n.message:String(n)}`})}}async embedNamespace(e,t){let r=new p("POST","/api/v1/namespace/embed",{namespace:e.toJSON(),model:e.requestedModel}),a=new A_Scope({name:"A_FrameChannel.embedNamespace",fragments:[r]}).inherit(A_Context.scope(this));try{await this.call(c.Request,a),a.destroy();let n=r.response;if(!n.data||!n.data[0]||!n.data[0].embedding)throw new s({title:s.InvalidRequest,description:`Invalid embedding response for namespace "${e.name}"`});let i=new Float32Array(n.data[0].embedding);e.hydrateFromEmbedding(i,{model:n.model,dimensions:n.meta.dimensions,inputCount:n.meta.input_count,aFrameServerVersion:n.meta.server_version,aFrameVersion:t.A_FRAME_VERSION,credentialId:n.meta.credential_id,date:n.date});}catch(n){throw new s({title:s.RequestFailed,description:`Failed to embed namespace "${e.name}": ${n instanceof Error?n.message:String(n)}`})}}async embedSegment(e,t){let r=new p("POST","/api/v1/segment/embed",{segment:e.toJSON(),task:e.options?.task,model:e.options?.model}),a=new A_Scope({name:"A_FrameChannel.embedNamespace",fragments:[r]}).inherit(A_Context.scope(this));try{await this.call(c.Request,a),a.destroy();let n=r.response;if(!n.data||!n.data[0]||!n.data[0].embedding)throw new s({title:s.InvalidRequest,description:`Error during embed a segment: ${e.content}`});let i=new Float32Array(n.data[0].embedding);e.fromJSON({aseid:e.aseid.toString(),content:e.content,hash:e.hash,embedding:i,model:n.model,aFrameServerVersion:n.meta.server_version,aFrameVersion:t.A_FRAME_VERSION,credentialId:n.meta.credential_id,embeddedAt:n.date});}catch(n){throw new s({title:s.RequestFailed,description:`Failed to embed segment with content "${e.content}": ${n instanceof Error?n.message:String(n)}`})}}async generateDynamicStructure(e,t){let r=new p("POST","/api/v1/structure/generate",{prompt:e.prompt,model:e.modelName,context:e.contextHint,metaHint:e.metaHintValue,includeBases:e.includedBases,excludeBases:e.excludedBases,enabledComponents:e.enabledComponentsList}),a=new A_Scope({name:"A_FrameChannel.generateDynamicStructure",fragments:[r]}).inherit(A_Context.scope(this));await this.call(c.Request,a),a.destroy();let n=r.response;e.hydrateFromGeneration(n.definition,{model:n.model,serverVersion:n.meta?.server_version??"0.0.0"});}async patchDynamicStructure(e,t){let{instruction:r}=t.params,a=new p("POST","/api/v1/structure/patch",{originalPrompt:e.prompt,definition:this._stripStructureEmbeddings(e.definition??{containers:[],components:[],fragments:[],entities:[]}),patchInstruction:r,model:e.modelName,context:e.contextHint,metaHint:e.metaHintValue,includeBases:e.includedBases,excludeBases:e.excludedBases,enabledComponents:e.enabledComponentsList}),n=new A_Scope({name:"A_FrameChannel.patchDynamicStructure",fragments:[a]}).inherit(A_Context.scope(this));await this.call(c.Request,n),n.destroy();let i=a.response;e.hydrateFromPatch(i.definition,i.patchSummary,{model:i.model,serverVersion:i.meta?.server_version??"0.0.0"});}_stripStructureEmbeddings(e){let t=r=>{let{embedding:a,...n}=r;return n};return {containers:e.containers.map(r=>({...t(r),components:(r.components??[]).map(t),fragments:(r.fragments??[]).map(t),entities:(r.entities??[]).map(t)})),components:e.components.map(t),fragments:e.fragments.map(t),entities:e.entities.map(t)}}async generateDynamicFeature(e,t){let r=new p("POST","/api/v1/feature/generate",{prompt:e.prompt,model:e.modelName,context:e.contextHint}),a=new A_Scope({name:"A_FrameChannel.generateDynamicFeature",fragments:[r]}).inherit(A_Context.scope(this));await this.call(c.Request,a),a.destroy();let n=r.response;e.hydrateFromGeneration(n.definition,{model:n.model,serverVersion:n.meta?.server_version??"0.0.0"});}async patchDynamicFeature(e,t){let{instruction:r}=t.params,a=new p("POST","/api/v1/feature/patch",{originalPrompt:e.prompt,definition:this._stripFeatureEmbeddings(e.definition??{title:"",description:"",steps:[],components:[],fragments:[],entities:[]}),patchInstruction:r,model:e.modelName,context:e.contextHint}),n=new A_Scope({name:"A_FrameChannel.patchDynamicFeature",fragments:[a]}).inherit(A_Context.scope(this));await this.call(c.Request,n),n.destroy();let i=a.response;e.hydrateFromPatch(i.definition,i.patchSummary,{model:i.model,serverVersion:i.meta?.server_version??"0.0.0"});}_stripFeatureEmbeddings(e){let t=r=>{let{embedding:a,...n}=r;return n};return {...e,steps:e.steps.map(t),components:e.components.map(t),fragments:e.fragments.map(t),entities:e.entities.map(t)}}async generateDynamicContent(e,t){let r=new p("POST","/api/v1/content/generate",{prompt:e.prompt,model:e.modelName,...e.systemPrompt!==void 0?{system:e.systemPrompt}:{}}),a=new A_Scope({name:"A_FrameChannel.generateDynamicContent",fragments:[r]}).inherit(A_Context.scope(this));await this.call(c.Request,a),a.destroy();let n=r.response,i=(n.segments??[]).map(C=>{let x=new c$2({content:C.content,options:{task:"document"}});return C.embedding?.length&&x.hydrateFromEmbedding(new Float32Array(C.embedding)),x});e.hydrateFromGeneration(i,{model:n.model,serverVersion:n.meta?.server_version??"0.0.0"});}async patchDynamicContent(e,t){let{instruction:r,segments:a}=t.params,n=new Map,i=a.map((E,J)=>{let Y=`s${J}`;return n.set(Y,String(E.id)),{id:Y,index:J,text:E.content,vector:E.vector?Array.from(E.vector.values):void 0}}),C=new p("POST","/api/v1/content/patch",{prompt:e.prompt,segments:i,instruction:r,model:e.modelName,...e.systemPrompt!==void 0?{system:e.systemPrompt}:{}}),x=new A_Scope({name:"A_FrameChannel.patchDynamicContent",fragments:[C]}).inherit(A_Context.scope(this));await this.call(c.Request,x),x.destroy();let b=C.response,re=b.operations.map(E=>({...E,targetId:E.targetId?n.get(E.targetId)??E.targetId:E.targetId}));e.hydrateFromPatch({...b,operations:re},{model:b.model,serverVersion:b.meta?.server_version??"0.0.0"});}async generateCompletion(e,t){let r=new p("POST","/api/v1/completions/generate",{prompt:e.prompt,options:e.options}),a=new A_Scope({name:"A_FrameChannel.generateCompletion",fragments:[r]}).inherit(A_Context.scope(this));try{await this.call(c.Request,a),a.destroy();let n=r.response;if(!n.text)throw new s({title:s.InvalidRequest,description:`Invalid completion response for prompt "${e.prompt}"`});e.hydrateFromGeneration({text:n.text,embedding:new Float32Array(n.embedding),model:n.model,date:n.date,aFrameVersion:t.A_FRAME_VERSION,aFrameServerVersion:n.meta.server_version});}catch(n){throw new s({title:s.RequestFailed,description:`Failed to generate completion for prompt "${e.prompt}": ${n instanceof Error?n.message:String(n)}`})}}async extractSchema(e,t){let r=new p("POST","/api/v1/schema/extract",{prompt:e.prompt,schema:e.schema,options:e.options}),a=new A_Scope({name:"A_FrameChannel.extractSchema",fragments:[r]}).inherit(A_Context.scope(this));try{await this.call(c.Request,a),a.destroy();let n=r.response;if(!n.data)throw new s({title:s.InvalidRequest,description:`Invalid scheme extraction response for prompt "${e.prompt}"`});e.hydrateFromExtraction(n.data,{model:n.model,date:n.date,aFrameVersion:t.A_FRAME_VERSION,aFrameServerVersion:n.meta.server_version});}catch(n){throw new s({title:s.RequestFailed,description:`Failed to extract scheme for prompt "${e.prompt}": ${n instanceof Error?n.message:String(n)}`})}}};a([A_Feature.Extend({name:a$1.Embed,scope:[b]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(R))],h.prototype,"embedDefinition",1),a([A_Feature.Extend({name:b$2.Embed,scope:[c$1]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(R))],h.prototype,"embedNamespace",1),a([A_Feature.Extend({name:b$3.Embed,scope:[c$2]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(R))],h.prototype,"embedSegment",1),a([A_Feature.Extend({name:v.Generate,scope:[M]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(f))],h.prototype,"generateDynamicStructure",1),a([A_Feature.Extend({name:v.Patch,scope:[M]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(f))],h.prototype,"patchDynamicStructure",1),a([A_Feature.Extend({name:D.Generate,scope:[N]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(S))],h.prototype,"generateDynamicFeature",1),a([A_Feature.Extend({name:D.Patch,scope:[N]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(S))],h.prototype,"patchDynamicFeature",1),a([A_Feature.Extend({name:b$4.Generate,scope:[e]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(c$3))],h.prototype,"generateDynamicContent",1),a([A_Feature.Extend({name:b$4.Patch,scope:[e]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(c$3))],h.prototype,"patchDynamicContent",1),a([A_Feature.Extend({name:a$2.Generate,scope:[b$5]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(R))],h.prototype,"generateCompletion",1),a([A_Feature.Extend({name:a$3.Extract,scope:[b$6]}),b$1(0,A_Inject(A_Caller)),b$1(1,A_Inject(R))],h.prototype,"extractSchema",1);
2
+ export{c as a,Fe as b,Ae as c,ge as d,ye as e,p as f,s as g,v as h,Ce as i,u as j,P as k,M as l,D as m,S as n,l as o,I as p,N as q,h as r};//# sourceMappingURL=chunk-XR7FVA5M.mjs.map
3
+ //# sourceMappingURL=chunk-XR7FVA5M.mjs.map