@adaas/a-frame 0.0.23 → 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 (672) 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-GOADBDTE.mjs +2 -0
  71. package/dist/browser/chunk-GOADBDTE.mjs.map +1 -0
  72. package/dist/browser/chunk-GOMJPGVB.mjs +3 -0
  73. package/dist/browser/chunk-GOMJPGVB.mjs.map +1 -0
  74. package/dist/browser/chunk-INQV5UZA.mjs +2 -0
  75. package/dist/browser/chunk-INQV5UZA.mjs.map +1 -0
  76. package/dist/browser/chunk-INXPVBTZ.mjs +2 -0
  77. package/dist/browser/chunk-INXPVBTZ.mjs.map +1 -0
  78. package/dist/browser/chunk-KFMVTZ7T.mjs +2 -0
  79. package/dist/browser/chunk-KFMVTZ7T.mjs.map +1 -0
  80. package/dist/browser/chunk-LK6C7C3S.mjs +2 -0
  81. package/dist/browser/chunk-LK6C7C3S.mjs.map +1 -0
  82. package/dist/browser/chunk-LOGRQOWP.mjs +3 -0
  83. package/dist/browser/chunk-LOGRQOWP.mjs.map +1 -0
  84. package/dist/browser/chunk-LZACYSUC.mjs +3 -0
  85. package/dist/browser/chunk-LZACYSUC.mjs.map +1 -0
  86. package/dist/browser/chunk-NTOIVRX3.mjs +2 -0
  87. package/dist/browser/chunk-NTOIVRX3.mjs.map +1 -0
  88. package/dist/browser/chunk-OES2N3X7.mjs +3 -0
  89. package/dist/browser/chunk-OES2N3X7.mjs.map +1 -0
  90. package/dist/browser/chunk-OFKV5GNB.mjs +1 -1
  91. package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -1
  92. package/dist/browser/chunk-OVLM5A32.mjs +3 -0
  93. package/dist/browser/chunk-OVLM5A32.mjs.map +1 -0
  94. package/dist/browser/chunk-QATIN7CO.mjs +1 -1
  95. package/dist/browser/chunk-QATIN7CO.mjs.map +1 -1
  96. package/dist/browser/chunk-QOL7CAUZ.mjs +2 -0
  97. package/dist/browser/chunk-QOL7CAUZ.mjs.map +1 -0
  98. package/dist/browser/chunk-RCB3PX4V.mjs +2 -0
  99. package/dist/browser/chunk-RCB3PX4V.mjs.map +1 -0
  100. package/dist/browser/chunk-RWQSCROK.mjs +3 -0
  101. package/dist/browser/chunk-RWQSCROK.mjs.map +1 -0
  102. package/dist/browser/chunk-TIAUMK2X.mjs +2 -0
  103. package/dist/browser/chunk-TIAUMK2X.mjs.map +1 -0
  104. package/dist/browser/chunk-TQPC5MYM.mjs +3 -0
  105. package/dist/browser/chunk-TQPC5MYM.mjs.map +1 -0
  106. package/dist/browser/chunk-UNIKTCXL.mjs +3 -0
  107. package/dist/browser/chunk-UNIKTCXL.mjs.map +1 -0
  108. package/dist/browser/chunk-UULJJ5C5.mjs +3 -0
  109. package/dist/browser/chunk-UULJJ5C5.mjs.map +1 -0
  110. package/dist/browser/chunk-VSSANMPF.mjs +2 -0
  111. package/dist/browser/chunk-VSSANMPF.mjs.map +1 -0
  112. package/dist/browser/chunk-VW2BZYNY.mjs +2 -0
  113. package/dist/browser/chunk-VW2BZYNY.mjs.map +1 -0
  114. package/dist/browser/chunk-WAXBOWM6.mjs +3 -0
  115. package/dist/browser/chunk-WAXBOWM6.mjs.map +1 -0
  116. package/dist/browser/chunk-WXCQCHAX.mjs +2 -0
  117. package/dist/browser/chunk-WXCQCHAX.mjs.map +1 -0
  118. package/dist/browser/chunk-XKKBIIZG.mjs +3 -0
  119. package/dist/browser/chunk-XKKBIIZG.mjs.map +1 -0
  120. package/dist/browser/chunk-XR7FVA5M.mjs +3 -0
  121. package/dist/browser/chunk-XR7FVA5M.mjs.map +1 -0
  122. package/dist/browser/chunk-YQJFTBGV.mjs +3 -0
  123. package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -0
  124. package/dist/browser/chunk-YTAMZDWC.mjs +3 -0
  125. package/dist/browser/chunk-YTAMZDWC.mjs.map +1 -0
  126. package/dist/browser/chunk-ZEONOTRL.mjs +2 -0
  127. package/dist/browser/chunk-ZEONOTRL.mjs.map +1 -0
  128. package/dist/browser/completion.d.mts +10 -0
  129. package/dist/browser/completion.mjs +2 -0
  130. package/dist/browser/completion.mjs.map +1 -0
  131. package/dist/browser/core.d.mts +8 -7
  132. package/dist/browser/core.mjs +1 -1
  133. package/dist/browser/core.mjs.map +1 -1
  134. package/dist/browser/credentials.d.mts +74 -0
  135. package/dist/browser/credentials.mjs +2 -0
  136. package/dist/browser/credentials.mjs.map +1 -0
  137. package/dist/browser/definition.d.mts +3 -2
  138. package/dist/browser/definition.mjs +1 -1
  139. package/dist/browser/dynamic-content.d.mts +13 -0
  140. package/dist/browser/dynamic-content.mjs +2 -0
  141. package/dist/browser/dynamic-content.mjs.map +1 -0
  142. package/dist/browser/dynamic-feature.d.mts +66 -6
  143. package/dist/browser/dynamic-feature.mjs +3 -1
  144. package/dist/browser/dynamic-feature.mjs.map +1 -1
  145. package/dist/browser/dynamic-structure.d.mts +77 -3
  146. package/dist/browser/dynamic-structure.mjs +1 -1
  147. package/dist/browser/dynamic-structure.mjs.map +1 -1
  148. package/dist/browser/env.d.mts +16 -2
  149. package/dist/browser/env.mjs +1 -1
  150. package/dist/browser/frame-index.d.mts +70 -9
  151. package/dist/browser/frame-index.mjs +1 -1
  152. package/dist/browser/models.d.mts +64 -0
  153. package/dist/browser/models.mjs +2 -0
  154. package/dist/browser/models.mjs.map +1 -0
  155. package/dist/browser/namespace.d.mts +1 -1
  156. package/dist/browser/namespace.mjs +1 -1
  157. package/dist/browser/schema.d.mts +10 -0
  158. package/dist/browser/schema.mjs +2 -0
  159. package/dist/browser/schema.mjs.map +1 -0
  160. package/dist/browser/segment.d.mts +13 -0
  161. package/dist/browser/segment.mjs +2 -0
  162. package/dist/browser/segment.mjs.map +1 -0
  163. package/dist/browser/storage.d.mts +13 -7
  164. package/dist/browser/storage.mjs +1 -1
  165. package/dist/browser/vector.d.mts +7 -0
  166. package/dist/browser/vector.mjs +1 -1
  167. package/dist/cli.cjs +5593 -0
  168. package/dist/cli.cjs.map +1 -0
  169. package/dist/node/A-FrameChannel.component--YErPxf4.d.mts +97 -0
  170. package/dist/node/A-FrameChannel.component-BjgqMh1B.d.ts +97 -0
  171. package/dist/node/A-FrameChannel.component-C0O3TaRD.d.ts +679 -0
  172. package/dist/node/A-FrameChannel.component-CgBZYBz0.d.mts +379 -0
  173. package/dist/node/A-FrameChannel.component-CkZserv3.d.ts +97 -0
  174. package/dist/node/A-FrameChannel.component-DMA-3sUB.d.mts +679 -0
  175. package/dist/node/A-FrameChannel.component-DYV8omYR.d.ts +379 -0
  176. package/dist/node/A-FrameChannel.component-DwgYNfFn.d.mts +97 -0
  177. package/dist/node/A-FrameChannel.types-B3_xWKEO.d.mts +151 -0
  178. package/dist/node/A-FrameChannel.types-BGcVXTqa.d.ts +205 -0
  179. package/dist/node/A-FrameChannel.types-Boi8QqDK.d.mts +205 -0
  180. package/dist/node/A-FrameChannel.types-BsE6bNky.d.mts +205 -0
  181. package/dist/node/A-FrameChannel.types-C-gxXl8m.d.ts +151 -0
  182. package/dist/node/A-FrameChannel.types-DD2B11rf.d.ts +205 -0
  183. package/dist/node/A-FrameChannel.types-DYMgRiCF.d.mts +205 -0
  184. package/dist/node/A-FrameChannel.types-DwyZRsOy.d.ts +205 -0
  185. package/dist/node/A-FrameCompletion.entity-Brx11JMp.d.ts +72 -0
  186. package/dist/node/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
  187. package/dist/node/A-FrameDefinition.entity-BIF0sclD.d.ts +370 -0
  188. package/dist/node/A-FrameDefinition.entity-Bt9ua6cn.d.ts +358 -0
  189. package/dist/node/A-FrameDefinition.entity-C0kzaGJ0.d.ts +143 -0
  190. package/dist/node/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
  191. package/dist/node/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
  192. package/dist/node/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
  193. package/dist/node/A-FrameDefinition.types-BA_pLGpo.d.ts +232 -0
  194. package/dist/node/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
  195. package/dist/node/A-FrameDynamicContentOperation.context-C_aH1gEn.d.ts +297 -0
  196. package/dist/node/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
  197. package/dist/node/A-FrameDynamicContentOperation.context-DRqH2c3o.d.ts +266 -0
  198. package/dist/node/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
  199. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
  200. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.ts +29 -0
  201. package/dist/node/A-FrameDynamicStructure.entity-BVCbolMd.d.ts +210 -0
  202. package/dist/node/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
  203. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
  204. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.ts +235 -0
  205. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.mts +114 -0
  206. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.ts +114 -0
  207. package/dist/node/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
  208. package/dist/node/A-FrameNamespace.entity-HDXcLGcS.d.ts +136 -0
  209. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
  210. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.ts +141 -0
  211. package/dist/node/A-FrameSegment.entity-C0izuOmC.d.ts +161 -0
  212. package/dist/node/A-FrameSegment.entity-CMCgFCWU.d.ts +146 -0
  213. package/dist/node/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
  214. package/dist/node/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
  215. package/dist/node/A-FrameStorage.component-BnNKzvpY.d.mts +107 -0
  216. package/dist/node/A-FrameStorage.component-CDztogHV.d.mts +107 -0
  217. package/dist/node/A-FrameStorage.component-CW0YgKDI.d.mts +107 -0
  218. package/dist/node/A-FrameStorage.component-D4UEkIBx.d.mts +107 -0
  219. package/dist/node/A-FrameStorage.component-DV_jwK6r.d.ts +107 -0
  220. package/dist/node/A-FrameStorage.component-Di4EvbtC.d.ts +107 -0
  221. package/dist/node/A-FrameStorage.component-emIH1a1M.d.ts +107 -0
  222. package/dist/node/A-FrameStorage.component-y-JPiIQ4.d.ts +107 -0
  223. package/dist/node/bundle.cjs +66 -21
  224. package/dist/node/bundle.cjs.map +1 -1
  225. package/dist/node/bundle.d.mts +88 -24
  226. package/dist/node/bundle.d.ts +88 -24
  227. package/dist/node/bundle.mjs +65 -20
  228. package/dist/node/bundle.mjs.map +1 -1
  229. package/dist/node/channel.cjs +33 -26
  230. package/dist/node/channel.d.mts +10 -6
  231. package/dist/node/channel.d.ts +10 -6
  232. package/dist/node/channel.mjs +13 -6
  233. package/dist/node/chunk-2HUSP34L.mjs +55 -0
  234. package/dist/node/chunk-2HUSP34L.mjs.map +1 -0
  235. package/dist/node/chunk-2KXGI2E5.cjs +474 -0
  236. package/dist/node/chunk-2KXGI2E5.cjs.map +1 -0
  237. package/dist/node/chunk-2OQMOIR5.mjs +170 -0
  238. package/dist/node/chunk-2OQMOIR5.mjs.map +1 -0
  239. package/dist/node/chunk-2UI7RJ4Q.mjs +207 -0
  240. package/dist/node/chunk-2UI7RJ4Q.mjs.map +1 -0
  241. package/dist/node/chunk-3SLICJ3L.cjs +265 -0
  242. package/dist/node/chunk-3SLICJ3L.cjs.map +1 -0
  243. package/dist/node/chunk-3ZDHQOIU.cjs +92 -0
  244. package/dist/node/chunk-3ZDHQOIU.cjs.map +1 -0
  245. package/dist/node/chunk-5BKCX2RO.mjs +33 -0
  246. package/dist/node/chunk-5BKCX2RO.mjs.map +1 -0
  247. package/dist/node/chunk-5NCGXLP2.mjs +6 -0
  248. package/dist/node/chunk-5NCGXLP2.mjs.map +1 -0
  249. package/dist/node/chunk-5OTXZ7BB.mjs +53 -0
  250. package/dist/node/chunk-5OTXZ7BB.mjs.map +1 -0
  251. package/dist/node/chunk-5PYIATGT.mjs +469 -0
  252. package/dist/node/chunk-5PYIATGT.mjs.map +1 -0
  253. package/dist/node/chunk-64QCZG53.cjs +57 -0
  254. package/dist/node/chunk-64QCZG53.cjs.map +1 -0
  255. package/dist/node/chunk-652OEICJ.cjs +4 -0
  256. package/dist/node/chunk-652OEICJ.cjs.map +1 -0
  257. package/dist/node/chunk-674ZX6XJ.mjs +187 -0
  258. package/dist/node/chunk-674ZX6XJ.mjs.map +1 -0
  259. package/dist/node/chunk-6ID2IXYX.mjs +6 -0
  260. package/dist/node/chunk-6ID2IXYX.mjs.map +1 -0
  261. package/dist/node/chunk-6KAGWGTE.mjs +529 -0
  262. package/dist/node/chunk-6KAGWGTE.mjs.map +1 -0
  263. package/dist/node/chunk-7EM3Q7HA.mjs +655 -0
  264. package/dist/node/chunk-7EM3Q7HA.mjs.map +1 -0
  265. package/dist/node/chunk-7MVVMISA.cjs +293 -0
  266. package/dist/node/chunk-7MVVMISA.cjs.map +1 -0
  267. package/dist/node/chunk-7NSLGCAZ.mjs +1395 -0
  268. package/dist/node/chunk-7NSLGCAZ.mjs.map +1 -0
  269. package/dist/node/chunk-7OLLATCC.mjs +1289 -0
  270. package/dist/node/chunk-7OLLATCC.mjs.map +1 -0
  271. package/dist/node/chunk-7SEZMRLI.cjs +183 -0
  272. package/dist/node/chunk-7SEZMRLI.cjs.map +1 -0
  273. package/dist/node/chunk-A4CVDMSV.mjs +608 -0
  274. package/dist/node/chunk-A4CVDMSV.mjs.map +1 -0
  275. package/dist/node/chunk-A7CJIUYY.cjs +4 -0
  276. package/dist/node/chunk-A7CJIUYY.cjs.map +1 -0
  277. package/dist/node/chunk-ALFFUJ2J.mjs +163 -0
  278. package/dist/node/chunk-ALFFUJ2J.mjs.map +1 -0
  279. package/dist/node/chunk-AMMQ76RJ.mjs +179 -0
  280. package/dist/node/chunk-AMMQ76RJ.mjs.map +1 -0
  281. package/dist/node/chunk-AUKWKGVA.cjs +688 -0
  282. package/dist/node/chunk-AUKWKGVA.cjs.map +1 -0
  283. package/dist/node/chunk-AY6UMDWD.cjs +270 -0
  284. package/dist/node/chunk-AY6UMDWD.cjs.map +1 -0
  285. package/dist/node/chunk-B7ZDJXD3.cjs +1 -1
  286. package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -1
  287. package/dist/node/chunk-BBYOL3LM.cjs +1308 -0
  288. package/dist/node/chunk-BBYOL3LM.cjs.map +1 -0
  289. package/dist/node/chunk-BINGAHFW.cjs +1308 -0
  290. package/dist/node/chunk-BINGAHFW.cjs.map +1 -0
  291. package/dist/node/chunk-BSBY37MG.cjs +55 -0
  292. package/dist/node/chunk-BSBY37MG.cjs.map +1 -0
  293. package/dist/node/chunk-BWX7HFTH.cjs +209 -0
  294. package/dist/node/chunk-BWX7HFTH.cjs.map +1 -0
  295. package/dist/node/chunk-C37B34MH.cjs +188 -0
  296. package/dist/node/chunk-C37B34MH.cjs.map +1 -0
  297. package/dist/node/chunk-C6BBKHQG.cjs +250 -0
  298. package/dist/node/chunk-C6BBKHQG.cjs.map +1 -0
  299. package/dist/node/chunk-CLCAS67N.cjs +8 -0
  300. package/dist/node/chunk-CLCAS67N.cjs.map +1 -0
  301. package/dist/node/chunk-CNU3CRTR.mjs +43 -0
  302. package/dist/node/chunk-CNU3CRTR.mjs.map +1 -0
  303. package/dist/node/chunk-CV5FPKU6.mjs +6 -0
  304. package/dist/node/chunk-CV5FPKU6.mjs.map +1 -0
  305. package/dist/node/chunk-CZYOAFIR.mjs +129 -0
  306. package/dist/node/chunk-CZYOAFIR.mjs.map +1 -0
  307. package/dist/node/chunk-D2HTYEJZ.cjs +209 -0
  308. package/dist/node/chunk-D2HTYEJZ.cjs.map +1 -0
  309. package/dist/node/chunk-EMLZZPOT.cjs +1446 -0
  310. package/dist/node/chunk-EMLZZPOT.cjs.map +1 -0
  311. package/dist/node/chunk-EOIXXXBV.cjs +55 -0
  312. package/dist/node/chunk-EOIXXXBV.cjs.map +1 -0
  313. package/dist/node/chunk-F46TSY2K.cjs +541 -0
  314. package/dist/node/chunk-F46TSY2K.cjs.map +1 -0
  315. package/dist/node/chunk-F4UCOZW5.mjs +1 -1
  316. package/dist/node/chunk-F4UCOZW5.mjs.map +1 -1
  317. package/dist/node/chunk-F64CK4NI.mjs +53 -0
  318. package/dist/node/chunk-F64CK4NI.mjs.map +1 -0
  319. package/dist/node/chunk-FAV62EUG.cjs +35 -0
  320. package/dist/node/chunk-FAV62EUG.cjs.map +1 -0
  321. package/dist/node/chunk-GHSPKZUN.mjs +529 -0
  322. package/dist/node/chunk-GHSPKZUN.mjs.map +1 -0
  323. package/dist/node/chunk-GRNVK7DW.mjs +97 -0
  324. package/dist/node/chunk-GRNVK7DW.mjs.map +1 -0
  325. package/dist/node/chunk-GRR6NNWY.cjs +688 -0
  326. package/dist/node/chunk-GRR6NNWY.cjs.map +1 -0
  327. package/dist/node/chunk-H5VGRPD5.cjs +8 -0
  328. package/dist/node/chunk-H5VGRPD5.cjs.map +1 -0
  329. package/dist/node/chunk-HAMDDCPS.cjs +8 -0
  330. package/dist/node/chunk-HAMDDCPS.cjs.map +1 -0
  331. package/dist/node/chunk-HAORARSB.cjs +75 -0
  332. package/dist/node/chunk-HAORARSB.cjs.map +1 -0
  333. package/dist/node/chunk-HELNAM5Y.cjs +8 -0
  334. package/dist/node/chunk-HELNAM5Y.cjs.map +1 -0
  335. package/dist/node/chunk-HET6L5PD.mjs +530 -0
  336. package/dist/node/chunk-HET6L5PD.mjs.map +1 -0
  337. package/dist/node/chunk-HI5SEX53.mjs +264 -0
  338. package/dist/node/chunk-HI5SEX53.mjs.map +1 -0
  339. package/dist/node/chunk-HZGFXE4Q.mjs +6 -0
  340. package/dist/node/chunk-HZGFXE4Q.mjs.map +1 -0
  341. package/dist/node/chunk-IAL2NK2V.mjs +73 -0
  342. package/dist/node/chunk-IAL2NK2V.mjs.map +1 -0
  343. package/dist/node/chunk-IHELFDCW.mjs +327 -0
  344. package/dist/node/chunk-IHELFDCW.mjs.map +1 -0
  345. package/dist/node/chunk-ILD6OSYW.mjs +966 -0
  346. package/dist/node/chunk-ILD6OSYW.mjs.map +1 -0
  347. package/dist/node/chunk-IP6DFAO7.mjs +264 -0
  348. package/dist/node/chunk-IP6DFAO7.mjs.map +1 -0
  349. package/dist/node/chunk-IYEDO7OQ.cjs +276 -0
  350. package/dist/node/chunk-IYEDO7OQ.cjs.map +1 -0
  351. package/dist/node/chunk-JFPGFPQD.mjs +1413 -0
  352. package/dist/node/chunk-JFPGFPQD.mjs.map +1 -0
  353. package/dist/node/chunk-JHZGTVYF.cjs +999 -0
  354. package/dist/node/chunk-JHZGTVYF.cjs.map +1 -0
  355. package/dist/node/chunk-JN3UJBUH.mjs +608 -0
  356. package/dist/node/chunk-JN3UJBUH.mjs.map +1 -0
  357. package/dist/node/chunk-JNPDXCCN.mjs +530 -0
  358. package/dist/node/chunk-JNPDXCCN.mjs.map +1 -0
  359. package/dist/node/chunk-JQBYDEMW.mjs +1 -1
  360. package/dist/node/chunk-JQBYDEMW.mjs.map +1 -1
  361. package/dist/node/chunk-JQJ7N4NL.cjs +267 -0
  362. package/dist/node/chunk-JQJ7N4NL.cjs.map +1 -0
  363. package/dist/node/chunk-K4AJBPPY.cjs +174 -0
  364. package/dist/node/chunk-K4AJBPPY.cjs.map +1 -0
  365. package/dist/node/chunk-K7SXPJPK.cjs +131 -0
  366. package/dist/node/chunk-K7SXPJPK.cjs.map +1 -0
  367. package/dist/node/chunk-KFW4GE7H.mjs +1289 -0
  368. package/dist/node/chunk-KFW4GE7H.mjs.map +1 -0
  369. package/dist/node/chunk-KKL2DF2D.cjs +518 -0
  370. package/dist/node/chunk-KKL2DF2D.cjs.map +1 -0
  371. package/dist/node/chunk-KKMKQGTR.cjs +620 -0
  372. package/dist/node/chunk-KKMKQGTR.cjs.map +1 -0
  373. package/dist/node/chunk-KNTO7FCZ.mjs +207 -0
  374. package/dist/node/chunk-KNTO7FCZ.mjs.map +1 -0
  375. package/dist/node/chunk-KTKVW3PH.mjs +286 -0
  376. package/dist/node/chunk-KTKVW3PH.mjs.map +1 -0
  377. package/dist/node/chunk-KZPSF32W.mjs +33 -0
  378. package/dist/node/chunk-KZPSF32W.mjs.map +1 -0
  379. package/dist/node/chunk-LWKFCMA7.mjs +129 -0
  380. package/dist/node/chunk-LWKFCMA7.mjs.map +1 -0
  381. package/dist/node/chunk-M2ZSE6YJ.mjs +512 -0
  382. package/dist/node/chunk-M2ZSE6YJ.mjs.map +1 -0
  383. package/dist/node/chunk-M6DJYGDO.cjs +167 -0
  384. package/dist/node/chunk-M6DJYGDO.cjs.map +1 -0
  385. package/dist/node/chunk-MAHKDTOQ.mjs +3 -0
  386. package/dist/node/chunk-MAHKDTOQ.mjs.map +1 -0
  387. package/dist/node/chunk-MM2R2OM6.cjs +541 -0
  388. package/dist/node/chunk-MM2R2OM6.cjs.map +1 -0
  389. package/dist/node/chunk-MSOD5UQH.cjs +45 -0
  390. package/dist/node/chunk-MSOD5UQH.cjs.map +1 -0
  391. package/dist/node/chunk-MVAWR76Q.cjs +276 -0
  392. package/dist/node/chunk-MVAWR76Q.cjs.map +1 -0
  393. package/dist/node/chunk-MXUO7OR5.cjs +97 -0
  394. package/dist/node/chunk-MXUO7OR5.cjs.map +1 -0
  395. package/dist/node/chunk-N4THTV6P.cjs +131 -0
  396. package/dist/node/chunk-N4THTV6P.cjs.map +1 -0
  397. package/dist/node/chunk-NIXKAQVP.cjs +1 -1
  398. package/dist/node/chunk-NIXKAQVP.cjs.map +1 -1
  399. package/dist/node/chunk-NUPXUUPM.cjs +1428 -0
  400. package/dist/node/chunk-NUPXUUPM.cjs.map +1 -0
  401. package/dist/node/chunk-NWOUVAIS.cjs +45 -0
  402. package/dist/node/chunk-NWOUVAIS.cjs.map +1 -0
  403. package/dist/node/chunk-OK7I5OQ3.mjs +89 -0
  404. package/dist/node/chunk-OK7I5OQ3.mjs.map +1 -0
  405. package/dist/node/chunk-OMGYXCFM.mjs +248 -0
  406. package/dist/node/chunk-OMGYXCFM.mjs.map +1 -0
  407. package/dist/node/chunk-OYC6L5NX.mjs +6 -0
  408. package/dist/node/chunk-OYC6L5NX.mjs.map +1 -0
  409. package/dist/node/chunk-OYZAQMKD.mjs +263 -0
  410. package/dist/node/chunk-OYZAQMKD.mjs.map +1 -0
  411. package/dist/node/chunk-P2LULMNL.cjs +189 -0
  412. package/dist/node/chunk-P2LULMNL.cjs.map +1 -0
  413. package/dist/node/chunk-PABEFHCO.mjs +63 -0
  414. package/dist/node/chunk-PABEFHCO.mjs.map +1 -0
  415. package/dist/node/chunk-Q5NYJQP2.cjs +8 -0
  416. package/dist/node/chunk-Q5NYJQP2.cjs.map +1 -0
  417. package/dist/node/chunk-QCEWWJ3N.cjs +65 -0
  418. package/dist/node/chunk-QCEWWJ3N.cjs.map +1 -0
  419. package/dist/node/chunk-QW4AZ3Z2.cjs +542 -0
  420. package/dist/node/chunk-QW4AZ3Z2.cjs.map +1 -0
  421. package/dist/node/chunk-R2H234YO.cjs +8 -0
  422. package/dist/node/chunk-R2H234YO.cjs.map +1 -0
  423. package/dist/node/chunk-RK5WSZ5J.mjs +43 -0
  424. package/dist/node/chunk-RK5WSZ5J.mjs.map +1 -0
  425. package/dist/node/chunk-RPHYBPXT.mjs +30 -0
  426. package/dist/node/chunk-RPHYBPXT.mjs.map +1 -0
  427. package/dist/node/chunk-RVXASBMQ.mjs +273 -0
  428. package/dist/node/chunk-RVXASBMQ.mjs.map +1 -0
  429. package/dist/node/chunk-RVZTZD32.mjs +187 -0
  430. package/dist/node/chunk-RVZTZD32.mjs.map +1 -0
  431. package/dist/node/chunk-RWLKISZQ.mjs +273 -0
  432. package/dist/node/chunk-RWLKISZQ.mjs.map +1 -0
  433. package/dist/node/chunk-SDKIJDMH.mjs +655 -0
  434. package/dist/node/chunk-SDKIJDMH.mjs.map +1 -0
  435. package/dist/node/chunk-SESXQJDD.cjs +999 -0
  436. package/dist/node/chunk-SESXQJDD.cjs.map +1 -0
  437. package/dist/node/chunk-SKIEPTFS.mjs +6 -0
  438. package/dist/node/chunk-SKIEPTFS.mjs.map +1 -0
  439. package/dist/node/chunk-SL7FT5R5.mjs +94 -0
  440. package/dist/node/chunk-SL7FT5R5.mjs.map +1 -0
  441. package/dist/node/chunk-SXHQW74T.mjs +43 -0
  442. package/dist/node/chunk-SXHQW74T.mjs.map +1 -0
  443. package/dist/node/chunk-TEJKDVNT.cjs +620 -0
  444. package/dist/node/chunk-TEJKDVNT.cjs.map +1 -0
  445. package/dist/node/chunk-TQS5WYND.cjs +352 -0
  446. package/dist/node/chunk-TQS5WYND.cjs.map +1 -0
  447. package/dist/node/chunk-UCAWV2IG.mjs +184 -0
  448. package/dist/node/chunk-UCAWV2IG.mjs.map +1 -0
  449. package/dist/node/chunk-UDUJDEAO.cjs +189 -0
  450. package/dist/node/chunk-UDUJDEAO.cjs.map +1 -0
  451. package/dist/node/chunk-VMJDL4SS.cjs +542 -0
  452. package/dist/node/chunk-VMJDL4SS.cjs.map +1 -0
  453. package/dist/node/chunk-VNOZTB3B.cjs +8 -0
  454. package/dist/node/chunk-VNOZTB3B.cjs.map +1 -0
  455. package/dist/node/chunk-VPMBZGYR.mjs +327 -0
  456. package/dist/node/chunk-VPMBZGYR.mjs.map +1 -0
  457. package/dist/node/chunk-WEPNBKOA.mjs +6 -0
  458. package/dist/node/chunk-WEPNBKOA.mjs.map +1 -0
  459. package/dist/node/chunk-WTBRJXFG.cjs +100 -0
  460. package/dist/node/chunk-WTBRJXFG.cjs.map +1 -0
  461. package/dist/node/chunk-WXCQCHAX.mjs +3 -0
  462. package/dist/node/chunk-WXCQCHAX.mjs.map +1 -0
  463. package/dist/node/chunk-X3TRPYGV.cjs +352 -0
  464. package/dist/node/chunk-X3TRPYGV.cjs.map +1 -0
  465. package/dist/node/chunk-XFUF7SDO.cjs +35 -0
  466. package/dist/node/chunk-XFUF7SDO.cjs.map +1 -0
  467. package/dist/node/chunk-XP2EPEBM.mjs +966 -0
  468. package/dist/node/chunk-XP2EPEBM.mjs.map +1 -0
  469. package/dist/node/chunk-XPIJ6BKP.cjs +45 -0
  470. package/dist/node/chunk-XPIJ6BKP.cjs.map +1 -0
  471. package/dist/node/chunk-YRVBMP7I.cjs +542 -0
  472. package/dist/node/chunk-YRVBMP7I.cjs.map +1 -0
  473. package/dist/node/chunk-ZIHSN5EE.mjs +530 -0
  474. package/dist/node/chunk-ZIHSN5EE.mjs.map +1 -0
  475. package/dist/node/chunk-ZNQMUU7I.cjs +32 -0
  476. package/dist/node/chunk-ZNQMUU7I.cjs.map +1 -0
  477. package/dist/node/completion.cjs +23 -0
  478. package/dist/node/completion.cjs.map +1 -0
  479. package/dist/node/completion.d.mts +10 -0
  480. package/dist/node/completion.d.ts +10 -0
  481. package/dist/node/completion.mjs +6 -0
  482. package/dist/node/completion.mjs.map +1 -0
  483. package/dist/node/core.cjs +69 -42
  484. package/dist/node/core.cjs.map +1 -1
  485. package/dist/node/core.d.mts +14 -9
  486. package/dist/node/core.d.ts +14 -9
  487. package/dist/node/core.mjs +60 -33
  488. package/dist/node/core.mjs.map +1 -1
  489. package/dist/node/credentials.cjs +17 -0
  490. package/dist/node/credentials.cjs.map +1 -0
  491. package/dist/node/credentials.d.mts +74 -0
  492. package/dist/node/credentials.d.ts +74 -0
  493. package/dist/node/credentials.mjs +4 -0
  494. package/dist/node/credentials.mjs.map +1 -0
  495. package/dist/node/definition.cjs +6 -4
  496. package/dist/node/definition.d.mts +3 -2
  497. package/dist/node/definition.d.ts +3 -2
  498. package/dist/node/definition.mjs +4 -2
  499. package/dist/node/dynamic-content.cjs +30 -0
  500. package/dist/node/dynamic-content.cjs.map +1 -0
  501. package/dist/node/dynamic-content.d.mts +13 -0
  502. package/dist/node/dynamic-content.d.ts +13 -0
  503. package/dist/node/dynamic-content.mjs +9 -0
  504. package/dist/node/dynamic-content.mjs.map +1 -0
  505. package/dist/node/dynamic-feature.cjs +41 -7
  506. package/dist/node/dynamic-feature.cjs.map +1 -1
  507. package/dist/node/dynamic-feature.d.mts +66 -6
  508. package/dist/node/dynamic-feature.d.ts +66 -6
  509. package/dist/node/dynamic-feature.mjs +16 -9
  510. package/dist/node/dynamic-feature.mjs.map +1 -1
  511. package/dist/node/dynamic-structure.cjs +45 -136
  512. package/dist/node/dynamic-structure.cjs.map +1 -1
  513. package/dist/node/dynamic-structure.d.mts +77 -3
  514. package/dist/node/dynamic-structure.d.ts +77 -3
  515. package/dist/node/dynamic-structure.mjs +16 -135
  516. package/dist/node/dynamic-structure.mjs.map +1 -1
  517. package/dist/node/env.cjs +3 -3
  518. package/dist/node/env.d.mts +26 -0
  519. package/dist/node/env.d.ts +26 -0
  520. package/dist/node/env.mjs +2 -2
  521. package/dist/node/frame-index.cjs +7 -4
  522. package/dist/node/frame-index.d.mts +70 -9
  523. package/dist/node/frame-index.d.ts +70 -9
  524. package/dist/node/frame-index.mjs +6 -3
  525. package/dist/node/logger.d.mts +4 -113
  526. package/dist/node/logger.d.ts +4 -113
  527. package/dist/node/models.cjs +14 -0
  528. package/dist/node/models.cjs.map +1 -0
  529. package/dist/node/models.d.mts +64 -0
  530. package/dist/node/models.d.ts +64 -0
  531. package/dist/node/models.mjs +5 -0
  532. package/dist/node/models.mjs.map +1 -0
  533. package/dist/node/namespace.cjs +7 -5
  534. package/dist/node/namespace.d.mts +1 -1
  535. package/dist/node/namespace.d.ts +1 -1
  536. package/dist/node/namespace.mjs +4 -2
  537. package/dist/node/schema.cjs +22 -0
  538. package/dist/node/schema.cjs.map +1 -0
  539. package/dist/node/schema.d.mts +10 -0
  540. package/dist/node/schema.d.ts +10 -0
  541. package/dist/node/schema.mjs +5 -0
  542. package/dist/node/schema.mjs.map +1 -0
  543. package/dist/node/segment.cjs +25 -0
  544. package/dist/node/segment.cjs.map +1 -0
  545. package/dist/node/segment.d.mts +13 -0
  546. package/dist/node/segment.d.ts +13 -0
  547. package/dist/node/segment.mjs +8 -0
  548. package/dist/node/segment.mjs.map +1 -0
  549. package/dist/node/storage.cjs +17 -14
  550. package/dist/node/storage.d.mts +18 -6
  551. package/dist/node/storage.d.ts +18 -6
  552. package/dist/node/storage.mjs +11 -8
  553. package/dist/node/vector.cjs +2 -2
  554. package/dist/node/vector.d.mts +7 -0
  555. package/dist/node/vector.d.ts +7 -0
  556. package/dist/node/vector.mjs +1 -1
  557. package/examples/article/main.ts +358 -0
  558. package/examples/components.ts +660 -0
  559. package/examples/feature/file-system.components.ts +211 -0
  560. package/examples/feature/main.ts +374 -0
  561. package/examples/interaction/main.ts +426 -0
  562. package/examples/logger.ts +126 -0
  563. package/examples/structure/main.ts +195 -0
  564. package/examples/structure/renderer.ts +296 -0
  565. package/examples/structure/server-app.components.ts +387 -0
  566. package/jest.config.browser.ts +9 -0
  567. package/jest.config.examples.ts +49 -0
  568. package/jest.config.integration.ts +38 -0
  569. package/jest.config.ts +56 -27
  570. package/jest.config.unit.ts +38 -0
  571. package/package.json +75 -7
  572. package/src/index.ts +13 -0
  573. package/src/lib/A-Frame/A-Frame.component.env-browser.ts +19 -6
  574. package/src/lib/A-Frame/A-Frame.component.env-node.ts +48 -19
  575. package/src/lib/A-Frame/A-Frame.context.ts +9 -8
  576. package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +4 -4
  577. package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -25
  578. package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +1 -1
  579. package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +54 -13
  580. package/src/lib/A-FrameBundle/index.browser.ts +1 -1
  581. package/src/lib/A-FrameBundle/index.ts +1 -1
  582. package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +18 -7
  583. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +0 -2
  584. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +14 -15
  585. package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +542 -7
  586. package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +2 -0
  587. package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +65 -1
  588. package/src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts +112 -0
  589. package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +1 -0
  590. package/src/lib/A-FrameChannel/index.browser.ts +5 -0
  591. package/src/lib/A-FrameCompletion/A-FrameCompletion.constants.ts +3 -0
  592. package/src/lib/A-FrameCompletion/A-FrameCompletion.entity.ts +128 -0
  593. package/src/lib/A-FrameCompletion/A-FrameCompletion.types.ts +40 -0
  594. package/src/lib/A-FrameCompletion/index.ts +3 -0
  595. package/src/lib/A-FrameCredentials/A-FrameCredentials.constants.ts +5 -0
  596. package/src/lib/A-FrameCredentials/A-FrameCredentials.entity.ts +120 -0
  597. package/src/lib/A-FrameCredentials/A-FrameCredentials.types.ts +39 -0
  598. package/src/lib/A-FrameCredentials/index.ts +3 -0
  599. package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +23 -1
  600. package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +34 -1
  601. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts +5 -0
  602. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts +348 -0
  603. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts +10 -0
  604. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.types.ts +116 -0
  605. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts +288 -0
  606. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts +26 -0
  607. package/src/lib/A-FrameDynamicContent/index.ts +5 -0
  608. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.constants.ts +6 -0
  609. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +253 -4
  610. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.error.ts +11 -0
  611. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +188 -4
  612. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeatureOperation.context.ts +33 -0
  613. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapIndex.context.ts +99 -0
  614. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapper.component.ts +182 -0
  615. package/src/lib/A-FrameDynamicFeature/index.ts +6 -1
  616. package/src/lib/A-FrameDynamicPatch/index.ts +2 -0
  617. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapIndex.context.ts +99 -0
  618. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapper.component.ts +320 -0
  619. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +2 -1
  620. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +240 -128
  621. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +183 -87
  622. package/src/lib/A-FrameDynamicStructure/index.ts +3 -0
  623. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +5 -1
  624. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +23 -1
  625. package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +12 -0
  626. package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +63 -13
  627. package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +53 -0
  628. package/src/lib/A-FrameModels/A-FrameModels.constants.ts +75 -0
  629. package/src/lib/A-FrameModels/index.ts +1 -0
  630. package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +10 -3
  631. package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +5 -0
  632. package/src/lib/A-FrameSchema/A-FrameSchema.constants.ts +4 -0
  633. package/src/lib/A-FrameSchema/A-FrameSchema.entity.ts +154 -0
  634. package/src/lib/A-FrameSchema/A-FrameSchema.types.ts +88 -0
  635. package/src/lib/A-FrameSchema/index.ts +3 -0
  636. package/src/lib/A-FrameSegment/A-FrameSegment.constants.ts +12 -0
  637. package/src/lib/A-FrameSegment/A-FrameSegment.entity.ts +221 -0
  638. package/src/lib/A-FrameSegment/A-FrameSegment.types.ts +91 -0
  639. package/src/lib/A-FrameSegment/index.ts +3 -0
  640. package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +10 -4
  641. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +21 -0
  642. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +39 -21
  643. package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +124 -42
  644. package/src/lib/A-FrameVector/A-FrameVector.entity.ts +24 -0
  645. package/tests/A-Frame.browser.test.ts +167 -57
  646. package/tests/A-FrameDynamicContent.browser.test.ts +74 -0
  647. package/tests/integration/A-Frame.integration.test.ts +272 -0
  648. package/tests/integration/A-FrameCompletion.integration.test.ts +88 -0
  649. package/tests/integration/A-FrameContentMapping.integration.test.ts +261 -0
  650. package/tests/integration/A-FrameDefinition.integration.test.ts +154 -0
  651. package/tests/integration/A-FrameDynamicContent.integration.test.ts +126 -0
  652. package/tests/integration/A-FrameDynamicFeature.integration.test.ts +337 -0
  653. package/tests/integration/A-FrameDynamicStructure.integration.test.ts +264 -0
  654. package/tests/integration/A-FrameNamespace.integration.test.ts +109 -0
  655. package/tests/integration/A-FrameSchema.integration.test.ts +74 -0
  656. package/tests/integration/A-FrameSegment.integration.test.ts +102 -0
  657. package/tests/integration/A-FrameStorage.integration.test.ts +598 -0
  658. package/tests/jest.setup.browser.ts +1 -1
  659. package/tests/jest.setup.ts +4 -0
  660. package/tests/jest.setup.unit.ts +30 -0
  661. package/tests/unit/A-FrameChannel.unit.test.ts +124 -0
  662. package/tests/unit/A-FrameCompletion.unit.test.ts +25 -0
  663. package/tests/unit/A-FrameDefinition.unit.test.ts +36 -0
  664. package/tests/unit/A-FrameDynamicContent.unit.test.ts +28 -0
  665. package/tests/unit/A-FrameNamespace.unit.test.ts +35 -0
  666. package/tests/unit/A-FrameSchema.unit.test.ts +31 -0
  667. package/tests/unit/A-FrameSegment.unit.test.ts +20 -0
  668. package/tests/unit/mocks/MockA_FrameChannel.ts +112 -0
  669. package/tsconfig.browser.json +2 -0
  670. package/tsconfig.json +6 -0
  671. package/tsup.config.ts +52 -0
  672. package/tests/A-Frame.test.ts +0 -96
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-Frame/A-Frame.context.ts","../../src/lib/A-FrameStorage/A-FrameStorage.constants.ts","../../src/lib/A-FrameStorage/A-FrameStorageOperation.context.ts","../../src/lib/A-FrameStorage/A-FrameStorage.error.ts","../../src/lib/A-FrameStorage/A-FrameStorage.component.ts","../../src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts","../../src/lib/A-FrameStorage/A-FrameStorage.codec.ts","../../src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts"],"names":["A_FrameContext","A_Fragment","credentialsRequest","A_FrameCredentials","A_FrameStorageFeatures","A_FrameStorageOperation","params","result","error","A_FrameStorageError","A_Error","A_FrameStorage","A_Component","definitions","context","executionScope","A_Scope","A_Context","namespaceId","definitionId","namespaces","namespaceIds","namespacesIds","decodeBase64","b64","bin","out","i","A_FrameBrowserStorageBlobs","_A_FrameBrowserStorageBlobs","bundle","blobs","id","enc","dec","A_FrameStorageCodec","_A_FrameStorageCodec","namespace","records","parts","header","headerView","dims","rec","aseidBytes","nameBytes","metaJson","metaBytes","recSize","recBuf","view","offset","total","s","pos","p","data","magic","version","count","aseidLen","aseid","nameLen","name","embedding","d","metaLen","meta","A_FrameBrowserStorageProvider","scope","env","operation","global","codec","existing","merged","r","payload","A_FrameCrypto","filtered","ids","definition","record","store","encryptionKey","blob","plain","__decorateClass","A_Concept","__decorateParam","A_Inject","A_Feature","A_FrameEnv","A_FrameDefinitionFeatures","A_FrameDefinition","A_Caller","A_FrameNamespaceFeatures","A_FrameNamespace"],"mappings":"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","file":"chunk-QOL7CAUZ.mjs","sourcesContent":["import { A_Fragment } from \"@adaas/a-concept\"\nimport { A_FrameChannelRequest } from \"../A-FrameChannel/A-FrameChannelRequest.context\";\nimport { A_Frame_CredentialResponse } from \"../A-FrameChannel/A-FrameChannel.types\";\nimport { A_FrameCredentials } from \"../A-FrameCredentials/A-FrameCredentials.entity\";\n\n\nexport class A_FrameContext extends A_Fragment {\n\n private _credentials?: A_FrameCredentials;\n\n\n constructor() {\n super({ name: 'a-frame-context' });\n }\n\n\n get encryptionKey(): string | undefined {\n return this._credentials?.encryptionKey;\n }\n\n\n get serverVersion(): string | undefined {\n return this._credentials?.serverVersion;\n }\n\n\n isAuthenticated(): boolean {\n return !!this._credentials?.isAuthenticated;\n }\n\n\n setCredentials(credentialsRequest: A_FrameChannelRequest<A_Frame_CredentialResponse>) {\n if (credentialsRequest.error || !credentialsRequest.response) {\n this._credentials = undefined;\n return;\n }\n\n this._credentials = new A_FrameCredentials(credentialsRequest.response);\n }\n\n}","\n\nexport const A_FrameStorageFeatures = {\n SaveDefinitions: '_A_FRAME_STORAGE_SAVE',\n LoadDefinitions: '_A_FRAME_STORAGE_LOAD',\n DestroyDefinitions: '_A_FRAME_STORAGE_DESTROY',\n \n SaveNamespaces: '_A_FRAME_STORAGE_SAVE_NAMESPACES',\n LoadNamespaces: '_A_FRAME_STORAGE_LOAD_NAMESPACES',\n DestroyNamespaces: '_A_FRAME_STORAGE_DESTROY_NAMESPACES',\n} as const","import { A_Error, A_Fragment } from \"@adaas/a-concept\";\n\n\nexport class A_FrameStorageOperation<\n _ParamsType = any,\n _ResultType = any\n> extends A_Fragment {\n\n protected _result?: _ResultType;\n\n protected _error?: A_Error;\n\n protected _params!: _ParamsType;\n\n\n constructor(\n params: _ParamsType\n ) {\n super({ name: 'a-frame-storage-operation' });\n this._params = params;\n }\n\n\n /**\n * If the operation succeeded, this will contain the result data. If the operation failed, this will be undefined.\n */\n get result(): _ResultType | undefined {\n return this._result;\n }\n /**\n * If the operation failed, this will contain an error object with details about the failure. If the operation succeeded, this will be undefined.\n */\n get error(): A_Error | undefined {\n return this._error;\n }\n /**\n * Parameters used to execute the operation, e.g. definitionId and namespaceId for a saveDefinition operation.\n */\n get params(): _ParamsType {\n return this._params;\n }\n /**\n * Marks the operation as completed successfully with the given result. This will set the `result` property and leave `error` as undefined.\n * \n * @param result \n */\n complete(result: _ResultType): void {\n this._result = result;\n }\n /**\n * Marks the operation as failed with the given error. This will set the `error` property and leave `result` as undefined.\n * \n * @param error \n */\n fail(error: A_Error): void {\n this._error = error;\n }\n\n}\n","import { A_Error } from \"@adaas/a-concept\";\n\n\n\nexport class A_FrameStorageError extends A_Error {\n static readonly SaveDefinitionFailed = 'SaveDefinitionFailed';\n static readonly LoadDefinitionsFailed = 'LoadDefinitionsFailed';\n static readonly DestroyDefinitionsFailed = 'DestroyDefinitionsFailed';\n static readonly SaveNamespaceFailed = 'SaveNamespaceFailed';\n static readonly LoadNamespacesFailed = 'LoadNamespacesFailed';\n static readonly DestroyNamespacesFailed = 'DestroyNamespacesFailed';\n\n}","import { A_Component, A_Context, A_Scope } from '@adaas/a-concept';\nimport { A_FrameNamespace_Serialized } from '../A-FrameNamespace/A-FrameNamespace.types';\nimport { A_FrameStorageFeatures } from './A-FrameStorage.constants';\nimport { A_FrameStorageOperation } from './A-FrameStorageOperation.context';\nimport { A_FrameStorageError } from './A-FrameStorage.error';\nimport { A_FrameStorageDestroyDefinitionsOperation, A_FrameStorageDestroyDefinitionsOperationParams, A_FrameStorageDestroyDefinitionsOperationResult, A_FrameStorageDestroyNamespacesOperation, A_FrameStorageDestroyNamespacesOperationParams, A_FrameStorageDestroyNamespacesOperationResult, A_FrameStorageLoadDefinitionsOperation, A_FrameStorageLoadDefinitionsOperationParams, A_FrameStorageLoadDefinitionsOperationResult, A_FrameStorageLoadNamespacesOperation, A_FrameStorageLoadNamespacesOperationParams, A_FrameStorageLoadNamespacesOperationResult, A_FrameStorageSaveDefinitionOperation, A_FrameStorageSaveDefinitionOperationParams, A_FrameStorageSaveDefinitionOperationResult, A_FrameStorageSaveNamespaceOperation, A_FrameStorageSaveNamespaceOperationParams, A_FrameStorageSaveNamespaceOperationResult } from './A-FrameStorage.types';\nimport { A_FrameDefinition_Serialized } from '../A-FrameDefinition/A-FrameDefinition.types';\n\n\nexport class A_FrameStorage extends A_Component {\n\n async saveDefinitions(definitions: Array<A_FrameDefinition_Serialized>): Promise<A_FrameStorageSaveDefinitionOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageSaveDefinitionOperationParams, A_FrameStorageSaveDefinitionOperationResult>({\n records: definitions\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.saveDefinitions',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.SaveDefinitions, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.SaveDefinitionFailed,\n description: `Failed to save definition records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n async loadDefinitions(namespaceId: string, definitionId: string): Promise<A_FrameStorageLoadDefinitionsOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageLoadDefinitionsOperationParams, A_FrameStorageLoadDefinitionsOperationResult>({\n namespaceId,\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.loadDefinitions',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.LoadDefinitions, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.LoadDefinitionsFailed,\n description: `Failed to load definition records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n\n async destroyDefinitions(namespaceId: string, definitionId: string): Promise<A_FrameStorageDestroyDefinitionsOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageDestroyDefinitionsOperationParams, A_FrameStorageDestroyDefinitionsOperationResult>({\n namespaceId,\n definitionId\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.destroyDefinitions',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.DestroyDefinitions, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.DestroyDefinitionsFailed,\n description: `Failed to destroy definition records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n\n\n async saveNamespaces(namespaces: A_FrameNamespace_Serialized[]): Promise<A_FrameStorageSaveNamespaceOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageSaveNamespaceOperationParams, A_FrameStorageSaveNamespaceOperationResult>({\n records: namespaces\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.saveNamespaces',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.SaveNamespaces, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.SaveNamespaceFailed,\n description: `Failed to save namespace records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n async loadNamespaces(\n namespaceIds: string[]\n ): Promise<A_FrameStorageLoadNamespacesOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageLoadNamespacesOperationParams, A_FrameStorageLoadNamespacesOperationResult>({\n namespaces: namespaceIds\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.loadNamespaces',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.LoadNamespaces, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.LoadNamespacesFailed,\n description: `Failed to load namespace records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n\n async destroyNamespaces(namespacesIds: string[]): Promise<A_FrameStorageDestroyNamespacesOperation> {\n const context = new A_FrameStorageOperation<A_FrameStorageDestroyNamespacesOperationParams, A_FrameStorageDestroyNamespacesOperationResult>({\n namespaces: namespacesIds\n });\n\n const executionScope = new A_Scope({\n name: 'A_FrameStorage.destroyNamespaces',\n fragments: [context]\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameStorageFeatures.DestroyNamespaces, executionScope);\n executionScope.destroy();\n\n return context;\n } catch (error) {\n\n context.fail(new A_FrameStorageError({\n title: A_FrameStorageError.DestroyNamespacesFailed,\n description: `Failed to destroy namespace records.`,\n }));\n\n executionScope.destroy();\n\n return context;\n }\n }\n}\n","// ─── In-memory blob store (singleton Fragment) ────────────────────────────────\n//\n// A_Component is stateless — persistent session state lives in a Fragment\n// singleton that survives across per-call execution scopes.\n\nimport { A_Fragment } from \"@adaas/a-concept\";\nimport type { A_FrameBundle } from \"@adaas/a-frame/bundle\";\n\n\n/** Browser-safe base64 → Uint8Array (uses globalThis.atob; falls back to Buffer in Node tests). */\nfunction decodeBase64(b64: string): Uint8Array {\n if (typeof atob === 'function') {\n const bin = atob(b64);\n const out = new Uint8Array(bin.length);\n for (let i = 0; i < bin.length; i++) out[i] = bin.charCodeAt(i);\n return out;\n }\n // Node fallback so the same fragment works in Jest/SSR.\n return new Uint8Array(Buffer.from(b64, 'base64'));\n}\n\n\nexport class A_FrameBrowserStorageBlobs extends A_Fragment {\n\n private static _instance: A_FrameBrowserStorageBlobs | undefined;\n\n static get instance(): A_FrameBrowserStorageBlobs {\n if (!A_FrameBrowserStorageBlobs._instance) {\n A_FrameBrowserStorageBlobs._instance = new A_FrameBrowserStorageBlobs();\n }\n return A_FrameBrowserStorageBlobs._instance;\n }\n\n /**\n * Build a singleton blobs store seeded from a prebuilt bundle.\n * Convenience for browser bootstrap.\n */\n static fromBundle(bundle: A_FrameBundle): A_FrameBrowserStorageBlobs {\n const blobs = A_FrameBrowserStorageBlobs.instance;\n blobs.seedFromBundle(bundle);\n return blobs;\n }\n\n constructor() {\n if (A_FrameBrowserStorageBlobs._instance)\n return A_FrameBrowserStorageBlobs._instance;\n\n super({ name: 'a-frame-browser-storage-blobs' });\n }\n\n /** namespace → encrypted definition bytes */\n readonly store = new Map<string, Uint8Array>();\n\n /** encrypted bytes for the namespace index (`__namespaces.aframe` equivalent) */\n namespaceBlob: Uint8Array | null = null;\n\n /** Bundle metadata recorded at seed time, used by A_Frame to validate versions. */\n bundleMeta: { aFrameVersion: string; serverVersion: string; builtAt: string } | null = null;\n\n /**\n * Populate the store from a bundle artifact. Existing entries with the\n * same namespace are overwritten; unrelated entries are preserved.\n */\n seedFromBundle(bundle: A_FrameBundle): void {\n if (bundle.namespaces) {\n this.namespaceBlob = decodeBase64(bundle.namespaces);\n }\n for (const [id, b64] of Object.entries(bundle.definitions)) {\n this.store.set(id, decodeBase64(b64));\n }\n this.bundleMeta = {\n aFrameVersion: bundle.aFrameVersion,\n serverVersion: bundle.serverVersion,\n builtAt: bundle.builtAt,\n };\n }\n}","/**\n * A-FrameStorage binary codec — shared between node and browser environments.\n *\n * Binary payload format (decrypted) — used for BOTH definition records and namespace records:\n * [HEADER 20B]\n * magic 4B = 0x454D424B (\"EMBK\")\n * version 1B = 0x01\n * count 4B (uint32 LE)\n * dims 2B (uint16 LE)\n * reserved 9B\n * [RECORD × count]\n * aseidLen 2B (uint16 LE)\n * aseid NB utf-8 (primary entity ID, e.g. \"app@root:123@v2\")\n * nameLen 2B (uint16 LE)\n * name NB utf-8\n * vector dims×4B Float32 LE\n * metaLen 4B (uint32 LE)\n * meta NB JSON\n */\n\nimport { A_Fragment } from '@adaas/a-concept';\n\nimport type { A_FrameNamespace_Serialized } from '../A-FrameNamespace/A-FrameNamespace.types';\nimport { A_FrameDefinition_Serialized } from '../A-FrameDefinition/A-FrameDefinition.types';\nimport { A_FrameTargetType } from '../A-Frame/A-Frame.types';\n\nconst enc = new TextEncoder();\nconst dec = new TextDecoder();\n\n\nexport class A_FrameStorageCodec extends A_Fragment {\n\n protected enc = new TextEncoder();\n protected dec = new TextDecoder();\n\n // ─── Binary file format constants ────────────────────────────────────────────\n // FILE LAYOUT (all multi-byte values are little-endian):\n // [HEADER 20B]\n // magic 4B = 0x454D424B (\"EMBK\")\n // version 1B = 0x01\n // count 4B (uint32)\n // dims 2B (uint16)\n // reserved 9B\n // [RECORD × count]\n // aseidLen 2B (uint16) — variable-length primary entity ID\n // aseid NB utf-8\n // nameLen 2B (uint16)\n // name NB utf-8\n // vector dims×4B Float32 LE\n // metaLen 4B (uint32)\n // meta NB JSON\n // Encrypted on disk: [IV 12B][AuthTag 16B][Ciphertext]\n A_FRAME_FILE_MAGIC = 0x454d424b;\n A_FRAME_FILE_VERSION = 0x01;\n A_FRAME_HEADER_SIZE = 20;\n\n\n\n static get fileExtension() {\n return '.aframe';\n }\n\n\n getFileName(namespace: string) {\n return `${namespace}${A_FrameStorageCodec.fileExtension}`;\n }\n\n getNamespaceFileName() {\n return `__namespaces${A_FrameStorageCodec.fileExtension}`;\n }\n\n\n encodePayload(records: A_FrameDefinition_Serialized[]): Uint8Array {\n const parts: Uint8Array[] = [];\n\n if (records.some(r => !r.embedding)) {\n throw new Error('All records must have embeddings to be encoded');\n }\n\n const header = new Uint8Array(this.A_FRAME_HEADER_SIZE);\n const headerView = new DataView(header.buffer);\n headerView.setUint32(0, this.A_FRAME_FILE_MAGIC, true);\n header[4] = this.A_FRAME_FILE_VERSION;\n headerView.setUint32(5, records.length, true);\n const dims = records[0]?.embedding!.length ?? 0;\n headerView.setUint16(9, dims, true);\n // bytes 11-19: reserved (zeroed)\n parts.push(header);\n\n for (const rec of records) {\n const aseidBytes = enc.encode(rec.aseid.toString());\n const nameBytes = enc.encode(rec.name);\n const metaJson = JSON.stringify({\n hash: rec.hash,\n source: rec.source,\n type: rec.type,\n description: rec.description,\n metadata: rec.metadata,\n namespace: rec.namespace,\n date: rec.date,\n model: rec.model,\n credentialId: rec.credentialId,\n aFrameVersion: rec.aFrameVersion,\n aFrameServerVersion: rec.aFrameServerVersion,\n });\n const metaBytes = enc.encode(metaJson);\n\n const recSize =\n 2 + aseidBytes.length +\n 2 + nameBytes.length +\n rec.embedding!.length * 4 +\n 4 + metaBytes.length;\n\n const recBuf = new Uint8Array(recSize);\n const view = new DataView(recBuf.buffer);\n let offset = 0;\n\n view.setUint16(offset, aseidBytes.length, true); offset += 2;\n recBuf.set(aseidBytes, offset); offset += aseidBytes.length;\n\n view.setUint16(offset, nameBytes.length, true); offset += 2;\n recBuf.set(nameBytes, offset); offset += nameBytes.length;\n\n for (let i = 0; i < rec.embedding!.length; i++) {\n view.setFloat32(offset, rec.embedding![i], true);\n offset += 4;\n }\n\n view.setUint32(offset, metaBytes.length, true); offset += 4;\n recBuf.set(metaBytes, offset);\n\n parts.push(recBuf);\n }\n\n const total = parts.reduce((s, p) => s + p.length, 0);\n const out = new Uint8Array(total);\n let pos = 0;\n for (const p of parts) { out.set(p, pos); pos += p.length; }\n return out;\n }\n\n decodePayload(data: Uint8Array): A_FrameDefinition_Serialized[] {\n if (data.length < this.A_FRAME_HEADER_SIZE) throw new Error('Corrupt index: too short for header');\n\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\n const magic = view.getUint32(0, true);\n if (magic !== this.A_FRAME_FILE_MAGIC) throw new Error(`Corrupt index: bad magic 0x${magic.toString(16)}`);\n\n const version = data[4];\n if (version !== this.A_FRAME_FILE_VERSION) throw new Error(`Unsupported index version: ${version}`);\n\n const count = view.getUint32(5, true);\n const dims = view.getUint16(9, true);\n\n const records: A_FrameDefinition_Serialized[] = [];\n let offset = this.A_FRAME_HEADER_SIZE;\n\n for (let i = 0; i < count; i++) {\n const aseidLen = view.getUint16(offset, true); offset += 2;\n const aseid = dec.decode(data.slice(offset, offset + aseidLen)); offset += aseidLen;\n\n const nameLen = view.getUint16(offset, true); offset += 2;\n const name = dec.decode(data.slice(offset, offset + nameLen)); offset += nameLen;\n\n const embedding = new Float32Array(dims);\n for (let d = 0; d < dims; d++) {\n embedding[d] = view.getFloat32(offset, true);\n offset += 4;\n }\n\n const metaLen = view.getUint32(offset, true); offset += 4;\n const metaJson = dec.decode(data.slice(offset, offset + metaLen)); offset += metaLen;\n const meta = JSON.parse(metaJson) as {\n hash?: string;\n source: string;\n description?: string;\n type: A_FrameTargetType;\n metadata?: Record<string, unknown>;\n namespace: string;\n date: string;\n model: string;\n credentialId: string;\n aFrameVersion: string;\n aFrameServerVersion: string;\n };\n\n records.push({\n aseid,\n hash: meta.hash ?? aseid,\n name,\n type: meta.type,\n embedding,\n source: meta.source,\n description: meta.description,\n metadata: meta.metadata,\n namespace: meta.namespace,\n date: meta.date,\n model: meta.model,\n credentialId: meta.credentialId,\n aFrameVersion: meta.aFrameVersion,\n aFrameServerVersion: meta.aFrameServerVersion,\n });\n }\n\n return records;\n }\n\n\n encodeNamespacePayload(records: A_FrameNamespace_Serialized[]): Uint8Array {\n const parts: Uint8Array[] = [];\n\n if (records.some(r => !r.embedding)) {\n throw new Error('All records must have embeddings to be encoded');\n }\n\n const header = new Uint8Array(this.A_FRAME_HEADER_SIZE);\n const headerView = new DataView(header.buffer);\n headerView.setUint32(0, this.A_FRAME_FILE_MAGIC, true);\n header[4] = this.A_FRAME_FILE_VERSION;\n headerView.setUint32(5, records.length, true);\n const dims = records[0]?.embedding!.length ?? 0;\n headerView.setUint16(9, dims, true);\n parts.push(header);\n\n for (const rec of records) {\n const aseidBytes = enc.encode(rec.aseid.toString());\n const nameBytes = enc.encode(rec.name);\n const metaJson = JSON.stringify({\n hash: rec.hash,\n description: rec.description,\n metadata: rec.metadata,\n embeddedAt: rec.embeddedAt,\n embeddingModel: rec.embeddingModel,\n credentialId: rec.credentialId,\n aFrameVersion: rec.aFrameVersion,\n aFrameServerVersion: rec.aFrameServerVersion,\n });\n const metaBytes = enc.encode(metaJson);\n\n const recSize =\n 2 + aseidBytes.length +\n 2 + nameBytes.length +\n rec.embedding!.length * 4 +\n 4 + metaBytes.length;\n\n const recBuf = new Uint8Array(recSize);\n const view = new DataView(recBuf.buffer);\n let offset = 0;\n\n view.setUint16(offset, aseidBytes.length, true); offset += 2;\n recBuf.set(aseidBytes, offset); offset += aseidBytes.length;\n\n view.setUint16(offset, nameBytes.length, true); offset += 2;\n recBuf.set(nameBytes, offset); offset += nameBytes.length;\n\n for (let i = 0; i < rec.embedding!.length; i++) {\n view.setFloat32(offset, rec.embedding![i], true);\n offset += 4;\n }\n\n view.setUint32(offset, metaBytes.length, true); offset += 4;\n recBuf.set(metaBytes, offset);\n\n parts.push(recBuf);\n }\n\n const total = parts.reduce((s, p) => s + p.length, 0);\n const out = new Uint8Array(total);\n let pos = 0;\n for (const p of parts) { out.set(p, pos); pos += p.length; }\n return out;\n }\n\n decodeNamespacePayload(data: Uint8Array): A_FrameNamespace_Serialized[] {\n if (data.length < this.A_FRAME_HEADER_SIZE) throw new Error('Corrupt namespace index: too short for header');\n\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n\n const magic = view.getUint32(0, true);\n if (magic !== this.A_FRAME_FILE_MAGIC) throw new Error(`Corrupt namespace index: bad magic 0x${magic.toString(16)}`);\n\n const version = data[4];\n if (version !== this.A_FRAME_FILE_VERSION) throw new Error(`Unsupported namespace index version: ${version}`);\n\n const count = view.getUint32(5, true);\n const dims = view.getUint16(9, true);\n\n const records: A_FrameNamespace_Serialized[] = [];\n let offset = this.A_FRAME_HEADER_SIZE;\n\n for (let i = 0; i < count; i++) {\n const aseidLen = view.getUint16(offset, true); offset += 2;\n const aseid = dec.decode(data.slice(offset, offset + aseidLen)); offset += aseidLen;\n\n const nameLen = view.getUint16(offset, true); offset += 2;\n const name = dec.decode(data.slice(offset, offset + nameLen)); offset += nameLen;\n\n const embedding = new Float32Array(dims);\n for (let d = 0; d < dims; d++) {\n embedding[d] = view.getFloat32(offset, true);\n offset += 4;\n }\n\n const metaLen = view.getUint32(offset, true); offset += 4;\n const metaJson = dec.decode(data.slice(offset, offset + metaLen)); offset += metaLen;\n const meta = JSON.parse(metaJson) as {\n hash?: string;\n description?: string;\n metadata?: Record<string, unknown>;\n embeddedAt: number;\n embeddingModel?: string;\n credentialId?: string;\n aFrameVersion?: string;\n aFrameServerVersion?: string;\n };\n\n records.push({\n aseid,\n hash: meta.hash ?? aseid,\n name,\n embedding,\n description: meta.description,\n metadata: meta.metadata,\n embeddedAt: meta.embeddedAt,\n embeddingModel: meta.embeddingModel,\n credentialId: meta.credentialId,\n aFrameVersion: meta.aFrameVersion,\n aFrameServerVersion: meta.aFrameServerVersion,\n });\n }\n\n return records;\n }\n\n}\n\n\n","import { A_Caller, A_Concept, A_Feature, A_Inject, A_Scope } from \"@adaas/a-concept\";\nimport { A_FrameStorageFeatures } from \"../A-FrameStorage.constants\";\nimport { A_FrameStorage } from \"../A-FrameStorage.component\";\nimport { A_FrameEnv } from \"../../A-FrameEnv/A-FrameEnv.fragment.env-browser\";\nimport { A_FrameStorageOperation } from \"../A-FrameStorageOperation.context\";\nimport {\n A_FrameStorageDestroyDefinitionsOperation,\n A_FrameStorageDestroyNamespacesOperation,\n A_FrameStorageLoadDefinitionsOperation,\n A_FrameStorageLoadNamespacesOperation,\n A_FrameStorageSaveDefinitionOperation,\n A_FrameStorageSaveNamespaceOperation,\n} from \"../A-FrameStorage.types\";\nimport { A_FrameCrypto } from \"../../A-FrameCrypto/A-FrameCrypto.component.env-browser\";\nimport { A_FrameDefinition_Serialized } from \"../../A-FrameDefinition/A-FrameDefinition.types\";\nimport { A_FrameNamespace_Serialized } from \"../../A-FrameNamespace/A-FrameNamespace.types\";\nimport { A_FrameBrowserStorageBlobs } from \"./A-FrameBrowserStorageBlobs.context\";\nimport { A_FrameStorageCodec } from \"../A-FrameStorage.codec\";\nimport { A_FrameContext } from \"../../A-Frame/A-Frame.context\";\nimport { A_FrameStorageError } from \"../A-FrameStorage.error\";\nimport { A_FrameDefinition } from \"../../A-FrameDefinition\";\nimport { A_FrameDefinitionFeatures } from \"../../A-FrameDefinition/A-FrameDefinition.constants\";\nimport { A_FrameNamespace } from \"../../A-FrameNamespace\";\nimport { A_FrameNamespaceFeatures } from \"../../A-FrameNamespace/A-FrameNamespace.constants\";\n\n\n/**\n * A_FrameBrowserStorageProvider — Browser environment\n *\n * Stores encrypted definition and namespace records entirely in memory.\n * Pre-built .aframe index files should be injected at bundle startup via\n * A_FrameBrowserStorageProvider.loadBlob() so that read-only access works\n * without any network or filesystem calls.\n *\n * Example (Vite):\n * import mathBin from './embed-index/math.aframe?arraybuffer';\n * A_FrameBrowserStorageProvider.loadBlob('math', new Uint8Array(mathBin));\n */\nexport class A_FrameBrowserStorageProvider extends A_FrameStorage {\n\n @A_Concept.Load()\n onLoad(\n @A_Inject(A_Scope) scope: A_Scope,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs?: A_FrameBrowserStorageBlobs,\n ) {\n if (!blobs) {\n scope.register(A_FrameBrowserStorageBlobs.instance);\n }\n }\n\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Storage Features Extensions----------------------------------\n //---------------------------------------------------------------------------------------\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.SaveDefinitions,\n scope: [A_FrameStorage],\n })\n async saveDefinitionsToMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageSaveDefinitionOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const records = operation.params.records;\n const namespace = records[0].namespace;\n\n const existing = await this._loadDefinitionsFromMemory(blobs.store, namespace, global.encryptionKey!, codec);\n\n const merged = new Map<string, A_FrameDefinition_Serialized>();\n for (const r of existing) merged.set(r.aseid, r);\n for (const d of records) merged.set(d.aseid.toString(), d);\n\n const payload = codec.encodePayload(Array.from(merged.values()));\n blobs.store.set(namespace, await A_FrameCrypto.encryptBytes(payload, global.encryptionKey!));\n\n operation.complete({ saved: records.length });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.LoadDefinitions,\n scope: [A_FrameStorage],\n })\n async loadDefinitionsFromMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageLoadDefinitionsOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const namespace = operation.params.namespaceId;\n const records = await this._loadDefinitionsFromMemory(blobs.store, namespace, global.encryptionKey!, codec);\n operation.complete({ records });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.DestroyDefinitions,\n scope: [A_FrameStorage],\n })\n async destroyDefinitionsFromMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageDestroyDefinitionsOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const namespace = operation.params.namespaceId;\n const definitionId = operation.params.definitionId;\n\n const existing = await this._loadDefinitionsFromMemory(blobs.store, namespace, global.encryptionKey!, codec);\n const filtered = existing.filter(r => r.aseid !== definitionId);\n\n const payload = codec.encodePayload(filtered);\n blobs.store.set(namespace, await A_FrameCrypto.encryptBytes(payload, global.encryptionKey!));\n\n operation.complete({ records: filtered });\n }\n\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Namespace Features Extensions--------------------------------\n //---------------------------------------------------------------------------------------\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.SaveNamespaces,\n scope: [A_FrameStorage],\n })\n async saveNamespacesToMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageSaveNamespaceOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const records = operation.params.records;\n\n const existing = await this._loadNamespacesFromMemory(blobs, global.encryptionKey!, codec);\n\n const merged = new Map<string, A_FrameNamespace_Serialized>();\n for (const r of existing) merged.set(r.aseid, r);\n for (const d of records) merged.set(d.aseid.toString(), d);\n\n const payload = codec.encodeNamespacePayload(Array.from(merged.values()));\n blobs.namespaceBlob = await A_FrameCrypto.encryptBytes(payload, global.encryptionKey!);\n\n operation.complete({ success: true });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.LoadNamespaces,\n scope: [A_FrameStorage],\n })\n async loadNamespacesFromMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageLoadNamespacesOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const ids = operation.params.namespaces;\n const records = await this._loadNamespacesFromMemory(blobs, global.encryptionKey!, codec);\n\n operation.complete({\n records: ids ? records.filter(r => ids.includes(r.name)) : records\n });\n }\n\n @A_Feature.Extend({\n name: A_FrameStorageFeatures.DestroyNamespaces,\n scope: [A_FrameStorage],\n })\n async destroyNamespacesFromMemory(\n @A_Inject(A_FrameEnv) env: A_FrameEnv,\n @A_Inject(A_FrameStorageOperation) operation: A_FrameStorageDestroyNamespacesOperation,\n @A_Inject(A_FrameContext) global: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n const ids = operation.params.namespaces;\n\n const existing = await this._loadNamespacesFromMemory(blobs, global.encryptionKey!, codec);\n const filtered = existing.filter(r => !ids.includes(r.aseid));\n\n const payload = codec.encodeNamespacePayload(filtered);\n blobs.namespaceBlob = await A_FrameCrypto.encryptBytes(payload, global.encryptionKey!);\n\n // Drop definition blobs for destroyed namespaces\n try {\n for (const id of ids) {\n blobs.store.delete(id);\n }\n operation.complete({ success: true });\n } catch (error) {\n operation.fail(new A_FrameStorageError({\n title: A_FrameStorageError.DestroyNamespacesFailed,\n description: `Failed to destroy namespace records.`,\n }));\n operation.complete({ success: false });\n }\n }\n\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Definition Entity-level Extensions---------------------------\n //---------------------------------------------------------------------------------------\n\n /**\n * Hydrate a single A_FrameDefinition from the in-memory bundle blobs.\n *\n * Mirrors the Node `loadDefinitionFromDisk` extension. Looks up the\n * namespace's encrypted blob in the singleton blob store, decrypts and\n * decodes it, then calls `definition.fromJSON(record)` only when the\n * stored hash and server version match the live entity.\n *\n * No-op when:\n * - no blob has been seeded for the namespace\n * - decryption fails (wrong key / corrupted blob)\n * - the record is absent or stale\n */\n @A_Feature.Extend({\n name: A_FrameDefinitionFeatures.Load,\n scope: [A_FrameDefinition],\n })\n async loadDefinitionFromBlobs(\n @A_Inject(A_Caller) definition: A_FrameDefinition,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n if (!context.encryptionKey) return;\n\n const records = await this._loadDefinitionsFromMemory(\n blobs.store, definition.namespace.id, context.encryptionKey, codec\n );\n if (records.length === 0) return;\n\n const record = records.find(r => r.aseid === definition.aseid.toString());\n if (\n record &&\n record.hash === definition.hash &&\n record.aFrameServerVersion === context.serverVersion\n ) {\n definition.fromJSON(record);\n }\n }\n\n\n // ---------------------------------------------------------------------------------------\n //--------------------------Namespace Entity-level Extensions----------------------------\n //---------------------------------------------------------------------------------------\n\n @A_Feature.Extend({\n name: A_FrameNamespaceFeatures.Load,\n scope: [A_FrameNamespace],\n })\n async loadNamespaceFromBlobs(\n @A_Inject(A_Caller) namespace: A_FrameNamespace,\n @A_Inject(A_FrameContext) context: A_FrameContext,\n @A_Inject(A_FrameStorageCodec) codec: A_FrameStorageCodec,\n @A_Inject(A_FrameBrowserStorageBlobs) blobs: A_FrameBrowserStorageBlobs,\n ): Promise<void> {\n if (!context.encryptionKey) return;\n\n const records = await this._loadNamespacesFromMemory(blobs, context.encryptionKey, codec);\n if (records.length === 0) return;\n\n const record = records.find(r => r.aseid === namespace.aseid.toString());\n if (\n record &&\n record.hash === namespace.hash &&\n record.aFrameServerVersion === context.serverVersion\n ) {\n namespace.fromJSON(record);\n }\n }\n\n\n // ─── Internal helpers ──────────────────────────────────────────────────────\n\n private async _loadDefinitionsFromMemory(\n store: Map<string, Uint8Array>,\n namespace: string,\n encryptionKey: string,\n codec: A_FrameStorageCodec,\n ): Promise<A_FrameDefinition_Serialized[]> {\n const blob = store.get(namespace);\n if (!blob) return [];\n try {\n const plain = await A_FrameCrypto.decryptBytes(blob, encryptionKey);\n return codec.decodePayload(plain);\n } catch {\n return [];\n }\n }\n\n private async _loadNamespacesFromMemory(\n blobs: A_FrameBrowserStorageBlobs,\n encryptionKey: string,\n codec: A_FrameStorageCodec,\n ): Promise<A_FrameNamespace_Serialized[]> {\n const blob = blobs.namespaceBlob;\n if (!blob) return [];\n try {\n const plain = await A_FrameCrypto.decryptBytes(blob, encryptionKey);\n return codec.decodeNamespacePayload(plain);\n } catch {\n return [];\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import {a as a$3}from'./chunk-UNIKTCXL.mjs';import {r,a as a$2,f,g}from'./chunk-FHJ5ATND.mjs';import {a as a$1,b}from'./chunk-DMGQW3AO.mjs';import {A_Feature,A_Inject}from'@adaas/a-concept';var a=class extends r{async request(e,i){let f=`${i.A_FRAME_SERVER_URL}${e.path}`,n=new AbortController,_=setTimeout(()=>{n.abort(),e.fail(new g({title:g.Timeout,description:`Request to ${e.path} timed out after 15 seconds`}));},15e3);try{let m=await fetch(f,{method:e.method,headers:{"Content-Type":"application/json",Authorization:`Bearer ${i.A_FRAME_SERVER_API_KEY}`},body:e.body!==void 0?JSON.stringify(e.body):void 0,signal:n.signal});e.complete(await m.json());}catch{e.fail(new g({title:g.RequestFailed,description:`Request to ${e.path} failed or timed out`}));}finally{clearTimeout(_);}}};a$1([A_Feature.Extend({name:a$2.Request,scope:[r]}),b(0,A_Inject(f)),b(1,A_Inject(a$3))],a.prototype,"request",1);export{a};//# sourceMappingURL=chunk-RCB3PX4V.mjs.map
2
+ //# sourceMappingURL=chunk-RCB3PX4V.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts"],"names":["A_FrameBrowserChannel","A_FrameChannel","context","env","url","controller","timer","A_FrameChannelError","resp","__decorateClass","A_Feature","A_FrameFeatures","__decorateParam","A_Inject","A_FrameChannelRequest","A_FrameEnv"],"mappings":"8LAiBO,IAAMA,CAAAA,CAAN,cAAoCC,CAAe,CAOrD,MAAM,OAAA,CAC8BC,CAAAA,CACXC,EACxB,CACE,IAAMC,CAAAA,CAAM,CAAA,EAAGD,CAAAA,CAAI,kBAAkB,CAAA,EAAGD,CAAAA,CAAQ,IAAI,CAAA,CAAA,CAC9CG,CAAAA,CAAa,IAAI,eAAA,CACjBC,EAAQ,UAAA,CAAW,IAAM,CAC3BD,CAAAA,CAAW,OAAM,CACjBH,CAAAA,CAAQ,IAAA,CAAK,IAAIK,CAAAA,CAAoB,CACjC,KAAA,CAAOA,CAAAA,CAAoB,QAC3B,WAAA,CAAa,CAAA,WAAA,EAAcL,CAAAA,CAAQ,IAAI,6BAC3C,CAAC,CAAC,EACN,CAAA,CAAG,IAAM,CAAA,CACT,GAAI,CACA,IAAMM,CAAAA,CAAO,MAAM,KAAA,CAAMJ,CAAAA,CAAK,CAC1B,MAAA,CAAQF,CAAAA,CAAQ,MAAA,CAChB,OAAA,CAAS,CACL,cAAA,CAAgB,kBAAA,CAChB,aAAA,CAAe,CAAA,OAAA,EAAUC,EAAI,sBAAsB,CAAA,CACvD,CAAA,CACA,IAAA,CAAMD,CAAAA,CAAQ,IAAA,GAAS,KAAA,CAAA,CAAY,IAAA,CAAK,UAAUA,CAAAA,CAAQ,IAAI,CAAA,CAAI,KAAA,CAAA,CAClE,MAAA,CAAQG,CAAAA,CAAW,MACvB,CAAC,EAEDH,CAAAA,CAAQ,QAAA,CAAS,MAAMM,CAAAA,CAAK,IAAA,EAAM,EAEtC,CAAA,KAAc,CACVN,CAAAA,CAAQ,IAAA,CAAK,IAAIK,CAAAA,CAAoB,CACjC,KAAA,CAAOA,CAAAA,CAAoB,aAAA,CAC3B,WAAA,CAAa,cAAcL,CAAAA,CAAQ,IAAI,CAAA,oBAAA,CAC3C,CAAC,CAAC,EACN,CAAA,OAAE,CACE,aAAaI,CAAK,EACtB,CACJ,CACJ,EAnCWG,GAAAA,CAAA,CAJNC,SAAAA,CAAU,MAAA,CAAO,CACd,IAAA,CAAMC,GAAAA,CAAgB,OAAA,CACtB,KAAA,CAAO,CAACV,CAAc,CAC1B,CAAC,EAEIW,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAASC,CAAqB,GAC9BF,CAAAA,CAAA,CAAA,CAAAC,QAAAA,CAASE,GAAU,IATff,CAAAA,CAOF,SAAA,CAAA,SAAA,CAAA,CAAA,CAAA","file":"chunk-RCB3PX4V.mjs","sourcesContent":["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,3 @@
1
+ import {a}from'./chunk-6WAOMX7M.mjs';import {A_Fragment}from'@adaas/a-concept';var A=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 a||"0.0.1"}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"}get A_FRAME_STORAGE_PATTERN(){return ""}};
2
+ export{A as a};//# sourceMappingURL=chunk-RWQSCROK.mjs.map
3
+ //# sourceMappingURL=chunk-RWQSCROK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts"],"names":["A_FrameEnv","A_Fragment","version"],"mappings":"+EASO,IAAMA,CAAAA,CAAN,cAAyBC,UAAkC,CAE9D,IAAI,aAAA,EAAgB,CAChB,OAAQ,OAAe,aAAA,EAAiB,EAC5C,CAEA,IAAI,kBAAA,EAAqB,CACrB,OAAQ,MAAA,CAAe,kBAAA,EAAsB,uBACjD,CAEA,IAAI,eAAA,EAAkB,CAClB,OAAWC,CAAAA,EAAW,OAC1B,CAEA,IAAI,sBAAA,EAAyB,CACzB,OAAQ,MAAA,CAAe,sBAAA,EAA0B,EACrD,CAEA,IAAI,qBAAsB,CACtB,OAAQ,MAAA,CAAe,mBAAA,EAAuB,SAClD,CAEA,IAAI,uBAAA,EAA0B,CAC1B,OAAO,EACX,CACJ","file":"chunk-RWQSCROK.mjs","sourcesContent":["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\n get A_FRAME_STORAGE_PATTERN() {\n return '';\n }\n}"]}
@@ -0,0 +1,2 @@
1
+ import {a,c}from'./chunk-GOMJPGVB.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-TIAUMK2X.mjs.map
2
+ //# sourceMappingURL=chunk-TIAUMK2X.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameIndex/A-FrameIndex.context.ts"],"names":["A_FrameIndex","_A_FrameIndex","A_Fragment","A_Scope","scope","def","nameOrHash","filter","namespace","nameOrASEID","vector","options","name","namespaceName","ASEID","r","targetKey","defaultNamespace","A_FRAME_DEFAULT_NAMESPACE_KEY","A_FrameNamespace","topK","minScore","a","b","score","dot","mag","sum","i","diff","query","vectors","limit","v"],"mappings":"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","file":"chunk-TIAUMK2X.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 {a as a$1}from'./chunk-H6OZP4ZV.mjs';import {a as a$2}from'./chunk-46LRNZRG.mjs';import {a}from'./chunk-G7MKGKG5.mjs';import {A_Entity}from'@adaas/a-concept';var d="default",t={Load:"_A_FRAME_SEGMENT_LOAD",Save:"_A_FRAME_SEGMENT_SAVE",Embed:"_A_FRAME_SEGMENT_EMBED",Destroy:"_A_FRAME_SEGMENT_DESTROY"};var i=class extends A_Entity{static get concept(){return "a-frame"}get id(){return this.aseid.id}get content(){return this._content}get hash(){return this._hash}get vector(){return this._vector}get embedding(){return this._vector?.values??null}get aFrameServerVersion(){return this._aFrameServerVersion}get aFrameVersion(){return this._aFrameVersion}get isEmbed(){return this._vector!==void 0}get options(){return this._options}get model(){return this._model}get embeddedAt(){return this._embeddedAt}get credentialId(){return this._credentialId}save(e){return this.call(t.Save,e)}destroy(e){return this.call(t.Destroy,e)}async load(e){return this.call(t.Load,e)}update(e){e.content&&(this._content=e.content);}embed(e){return this.call(t.Embed,e)}fromNew(e){super.fromNew(e),this._content=e.content,this._options={model:a.ANTARES,...e.options};let s=this._content;this._hash=a$1.fnv1a(s);}fromJSON(e){this._content=e.content,this._hash=e.hash,this._vector=e.embedding?new a$2(e.embedding):void 0,this._embeddedAt=e.embeddedAt,this._model=e.model,this._credentialId=e.credentialId,this._aFrameVersion=e.aFrameVersion,this._aFrameServerVersion=e.aFrameServerVersion,e.task&&(this._options={...this._options,task:e.task});}toJSON(){return {...super.toJSON(),hash:this._hash,content:this._content,embedding:this._vector?.values,embeddedAt:this._embeddedAt??new Date().toISOString(),task:this._options?.task,model:this._model,credentialId:this._credentialId,aFrameVersion:this._aFrameVersion,aFrameServerVersion:this._aFrameServerVersion}}hydrateFromRecord(e){if(e.hash!==this._hash)throw new Error(`A_FrameSegment.hydrateFromRecord: hash mismatch for "${this._content}" (expected ${this._hash}, got ${e.hash})`);this._vector=new a$2(e.embedding),this._embeddedAt=e.embeddedAt,e.task&&(this._options={...this._options,task:e.task});}hydrateFromEmbedding(e){this._vector=new a$2(e);}toString(){return [`// content: ${this._content}`].join(`
2
+ `)}};export{d as a,t as b,i as c};//# sourceMappingURL=chunk-TQPC5MYM.mjs.map
3
+ //# sourceMappingURL=chunk-TQPC5MYM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameSegment/A-FrameSegment.constants.ts","../../src/lib/A-FrameSegment/A-FrameSegment.entity.ts"],"names":["A_FRAME_DEFAULT_SEGMENT_KEY","A_FrameSegmentFeatures","A_FrameSegment","A_Entity","scope","updates","init","A_FRAME_MODELS","hashSource","A_FrameHashHelper","serialized","A_FrameVector","record","embedding"],"mappings":"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","file":"chunk-TQPC5MYM.mjs","sourcesContent":["import { A_FrameSegment } from \"./A-FrameSegment.entity\";\n\n\nexport const A_FRAME_DEFAULT_SEGMENT_KEY = 'default';\n\n\nexport const A_FrameSegmentFeatures = {\n Load: '_A_FRAME_SEGMENT_LOAD',\n Save: '_A_FRAME_SEGMENT_SAVE',\n Embed: '_A_FRAME_SEGMENT_EMBED',\n Destroy: '_A_FRAME_SEGMENT_DESTROY',\n} as const;","import { A_Context, A_Entity, A_FormatterHelper, A_Scope } from \"@adaas/a-concept\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport {\n A_FrameSegment_Init,\n A_FrameSegment_Serialized,\n A_FrameSegment_Record,\n A_FrameSegment_EmbeddingMeta,\n A_FrameSegmentOptions,\n} from \"./A-FrameSegment.types\";\nimport { A_FrameHashHelper } from \"@adaas/a-frame/helpers/Hash.helper\";\nimport { A_FrameSegmentFeatures } from \"./A-FrameSegment.constants\";\nimport { A_FRAME_MODELS } from \"../A-FrameModels\";\n\n\nexport class A_FrameSegment extends A_Entity<A_FrameSegment_Init, A_FrameSegment_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n protected _content!: string;\n protected _hash!: string;\n protected _vector?: A_FrameVector;\n protected _embeddedAt?: string;\n protected _model?: string;\n protected _credentialId?: string;\n protected _aFrameVersion?: string;\n protected _aFrameServerVersion?: string;\n protected _options?: Partial<A_FrameSegmentOptions>;\n\n\n // ─── Getters ──────────────────────────────────────────────────────────────\n\n get id(): string {\n return this.aseid.id;\n }\n\n get content(): string {\n return this._content;\n }\n\n get hash(): string {\n return this._hash;\n }\n\n get vector(): A_FrameVector | undefined {\n return this._vector;\n }\n\n get embedding(): Float32Array | null {\n return this._vector?.values ?? null;\n }\n\n //-----------------------------------------------------------------------------------------------------\n //--------------------------------------- Computed properties -----------------------------------------\n //-----------------------------------------------------------------------------------------------------\n get aFrameServerVersion(): string | undefined {\n return this._aFrameServerVersion;\n }\n\n get aFrameVersion(): string | undefined {\n return this._aFrameVersion;\n }\n\n get isEmbed(): boolean {\n return this._vector !== undefined;\n }\n\n get options(): Partial<A_FrameSegmentOptions> | undefined {\n return this._options;\n }\n\n /**\n * Physical model name returned by the server after embedding.\n * `undefined` until `embed()` has been called successfully.\n */\n get model(): string | undefined {\n return this._model;\n }\n\n /**\n * ISO timestamp of when the embedding was produced.\n * `undefined` until `embed()` has been called successfully.\n */\n get embeddedAt(): string | undefined {\n return this._embeddedAt;\n }\n\n /**\n * ID of the server credential (API key) used during embedding.\n * `undefined` until `embed()` has been called successfully.\n */\n get credentialId(): string | undefined {\n return this._credentialId;\n }\n\n /**\n * Saves Segment to storage. The actual implementation of saving is handled by the A_FrameSegmentFeatures.Save feature, which can be implemented by the environment to persist the definition to a database, file system, or other storage mechanism.\n * \n * @param scope \n * @returns \n */\n save(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameSegmentFeatures.Save, scope);\n }\n /**\n * Deletes the namespace from storage. The actual implementation of deletion is handled by the A_FrameSegmentFeatures.Destroy feature, which can be implemented by the environment to remove the namespace from the database, file system, or other storage mechanism.\n * \n * @param scope \n * @returns \n */\n destroy(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameSegmentFeatures.Destroy, scope);\n }\n /**\n * Loads the namespace from storage. The actual implementation of loading is handled by the A_FrameSegmentFeatures.Load feature, which can be implemented by the environment to retrieve the namespace from the database, file system, or other storage mechanism and populate the entity's properties accordingly.\n * \n * @param scope \n * @returns \n */\n async load(scope?: A_Scope): Promise<void> {\n return this.call(A_FrameSegmentFeatures.Load, scope);\n }\n /**\n * Updates the definition's properties. This can be used to modify the source code, description, metadata, or namespace of the definition. After updating, you may want to call `embed()` again to refresh the embedding based on the new content.\n * \n * @param updates \n */\n update(updates: Partial<Pick<A_FrameSegment, 'content'>>): void {\n if (updates.content) this._content = updates.content;\n }\n /**\n * Generates an embedding vector for the namespace using the A_FrameSegmentFeatures.Embed feature. This typically involves sending the namespace's content (name + description) to an embedding model and storing the resulting vector in the entity. Once embedded, the namespace can be searched using its vector representation.\n * \n * @param scope \n * @returns \n */\n embed(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameSegmentFeatures.Embed, scope);\n }\n\n // ─── A_Entity lifecycle ───────────────────────────────────────────────────\n\n fromNew(init: A_FrameSegment_Init): void {\n super.fromNew(init);\n\n this._content = init.content;\n this._options = { model: A_FRAME_MODELS.ANTARES, ...init.options };\n\n const hashSource = this._content;\n\n this._hash = A_FrameHashHelper.fnv1a(hashSource);\n }\n\n fromJSON(serialized: A_FrameSegment_Serialized): void {\n this._content = serialized.content;\n this._hash = serialized.hash;\n this._vector = serialized.embedding ? new A_FrameVector(serialized.embedding) : undefined;\n this._embeddedAt = serialized.embeddedAt;\n this._model = serialized.model;\n this._credentialId = serialized.credentialId;\n this._aFrameVersion = serialized.aFrameVersion;\n this._aFrameServerVersion = serialized.aFrameServerVersion;\n if (serialized.task) {\n this._options = { ...this._options, task: serialized.task };\n }\n }\n\n\n\n toJSON(): A_FrameSegment_Serialized {\n return {\n ...super.toJSON(),\n hash: this._hash,\n content: this._content,\n embedding: this._vector?.values,\n embeddedAt: this._embeddedAt ?? new Date().toISOString(),\n task: this._options?.task,\n model: this._model,\n credentialId: this._credentialId,\n aFrameVersion: this._aFrameVersion,\n aFrameServerVersion: this._aFrameServerVersion,\n };\n }\n\n\n // ─── Embedding hydration ──────────────────────────────────────────────────\n\n hydrateFromRecord(record: A_FrameSegment_Record): void {\n if (record.hash !== this._hash) {\n throw new Error(\n `A_FrameSegment.hydrateFromRecord: hash mismatch for \"${this._content}\" ` +\n `(expected ${this._hash}, got ${record.hash})`\n );\n }\n this._vector = new A_FrameVector(record.embedding);\n this._embeddedAt = record.embeddedAt;\n if (record.task) {\n this._options = { ...this._options, task: record.task };\n }\n }\n\n /**\n * Populate the embedding vector directly from a raw `Float32Array`.\n * Use this when the vector is obtained externally (e.g. from a server\n * response) without going through the full `embed()` feature pipeline.\n */\n hydrateFromEmbedding(embedding: Float32Array): void {\n this._vector = new A_FrameVector(embedding);\n }\n\n /**\n * Build the text string sent to the embedding model.\n * Uses content so the vector captures semantic intent.\n */\n toString(): string {\n const parts: string[] = [`// content: ${this._content}`];\n return parts.join('\\n');\n }\n}\n\n"]}
@@ -0,0 +1,3 @@
1
+ import {a}from'./chunk-CDJKU4DK.mjs';import {A_Fragment}from'@adaas/a-concept';var A=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 a||"0.0.1"}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"}get A_FRAME_STORAGE_PATTERN(){return ""}};
2
+ export{A as a};//# sourceMappingURL=chunk-UNIKTCXL.mjs.map
3
+ //# sourceMappingURL=chunk-UNIKTCXL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts"],"names":["A_FrameEnv","A_Fragment","version"],"mappings":"+EASO,IAAMA,CAAAA,CAAN,cAAyBC,UAAkC,CAE9D,IAAI,aAAA,EAAgB,CAChB,OAAQ,OAAe,aAAA,EAAiB,EAC5C,CAEA,IAAI,kBAAA,EAAqB,CACrB,OAAQ,MAAA,CAAe,kBAAA,EAAsB,uBACjD,CAEA,IAAI,eAAA,EAAkB,CAClB,OAAWC,CAAAA,EAAW,OAC1B,CAEA,IAAI,sBAAA,EAAyB,CACzB,OAAQ,MAAA,CAAe,sBAAA,EAA0B,EACrD,CAEA,IAAI,qBAAsB,CACtB,OAAQ,MAAA,CAAe,mBAAA,EAAuB,SAClD,CAEA,IAAI,uBAAA,EAA0B,CAC1B,OAAO,EACX,CACJ","file":"chunk-UNIKTCXL.mjs","sourcesContent":["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\n get A_FRAME_STORAGE_PATTERN() {\n return '';\n }\n}"]}
@@ -0,0 +1,3 @@
1
+ import {c}from'./chunk-TQPC5MYM.mjs';import {a}from'./chunk-46LRNZRG.mjs';import {a as a$1}from'./chunk-G7MKGKG5.mjs';import {A_Error,A_Fragment,A_Entity,A_Context,A_Scope}from'@adaas/a-concept';var p=class extends A_Entity{static get concept(){return "a-frame"}fromNew(s){this.version=s.version,this.timestamp=s.timestamp,this.reason=s.reason,this.encoded=s.encoded,this.delta=s.delta;}toJSON(){return {...super.toJSON(),version:this.version,timestamp:this.timestamp,reason:this.reason,encoded:this.encoded,delta:this.delta}}};var u={Generate:"_A_FRAME_DYNAMIC_CONTENT_GENERATE",Patch:"_A_FRAME_DYNAMIC_CONTENT_PATCH"};var _=class extends A_Fragment{constructor(e={}){super({name:"a-frame-dynamic-content-operation-context"});this._meta=new Map;this._meta.set("params",e);}get params(){return this._meta.get("params")}get(e){return this._meta.get(e)}set(e,t){this._meta.set(e,t);}};var d=class extends A_Error{};d.GenerationFailed="GenerationFailed",d.PatchFailed="PatchFailed",d.InvalidPatch="InvalidPatch",d.PieceNotFound="PieceNotFound";var m=class m extends A_Fragment{constructor(){super(...arguments);this._order=[];this._map=new Map;}get count(){return this._order.length}get size(){return this._order.length}add(...e){e.forEach(t=>{this._map.set(t.id,t),this._order.includes(t.id)||this._order.push(t.id);});}update(e){this._map.set(e.id,e),this._order.includes(e.id)||this._order.push(e.id);}remove(e){this._map.delete(e);let t=this._order.indexOf(e);t!==-1&&this._order.splice(t,1);}clear(){this._map.clear(),this._order=[];}insertBefore(e,t){this._map.set(t.id,t);let i=this._order.indexOf(e);i===-1?this._order.push(t.id):this._order.splice(i,0,t.id);}insertAfter(e,t){this._map.set(t.id,t);let i=this._order.indexOf(e);i===-1?this._order.push(t.id):this._order.splice(i+1,0,t.id);}replace(e,t){let i=this._order.indexOf(e);i!==-1&&(this._map.delete(e),this._map.set(t.id,t),this._order[i]=t.id);}moveTo(e,t){let i=this._order.indexOf(e);if(i===-1)return;this._order.splice(i,1);let r=Math.max(0,Math.min(t,this._order.length));this._order.splice(r,0,e);}moveBefore(e,t){let i=this._order.indexOf(e);if(i===-1)return;this._order.splice(i,1);let r=this._order.indexOf(t);this._order.splice(r===-1?0:r,0,e);}moveAfter(e,t){let i=this._order.indexOf(e);if(i===-1)return;this._order.splice(i,1);let r=this._order.indexOf(t);this._order.splice(r===-1?this._order.length:r+1,0,e);}applyOperation(e,t){switch(e.action){case "remove":{e.targetId&&this.remove(e.targetId);break}case "replace":{e.targetId&&t&&this.replace(e.targetId,t);break}case "add":{if(!t)break;!e.targetId||e.position==="append"?this.add(t):e.position==="before"?this.insertBefore(e.targetId,t):this.insertAfter(e.targetId,t);break}}}get(e){return this._map.get(e)}list(){return this._order.map(e=>this._map.get(e)).filter(e=>e!==void 0)}centroid(){let e=this.list().filter(r=>r.isEmbed&&r.vector);if(e.length===0)return null;let t=e[0].vector.length,i=new Float32Array(t);for(let r of e){let o=r.vector.values;for(let n=0;n<t;n++)i[n]+=o[n];}for(let r=0;r<t;r++)i[r]/=e.length;return new a(i)}search(e,t=m.PATCH_PIECE_LIMIT){let i=e.normalize();return this.list().filter(r=>r.isEmbed&&r.vector).map(r=>({segment:r,score:i.dot(r.vector.normalize())})).sort((r,o)=>o.score-r.score).slice(0,t)}searchByKeywords(e,t=m.PATCH_PIECE_LIMIT){let i=e.toLowerCase().split(/\W+/).filter(r=>r.length>3);return i.length===0?[]:this.list().map(r=>{let o=r.content.toLowerCase(),n=i.reduce((a,c)=>a+(o.includes(c)?1:0),0);return {segment:r,score:n}}).filter(r=>r.score>0).sort((r,o)=>o.score-r.score).slice(0,t)}selectForPatch(e,t,i=m.PATCH_PIECE_LIMIT){let r=this.list();if(r.length<=i)return r;if(e&&r.some(a=>a.isEmbed)){let a=this.search(e,i);if(a.length>0)return a.map(c=>c.segment)}let o=this.searchByKeywords(t,i);return o.length>0?o.map(n=>n.segment):r.slice(0,i)}cosineSimilarity(e,t){if(!t)return 0;let i=e.dot(t),r=e.magnitude()*t.magnitude();return r===0?0:i/r}};m.PATCH_PIECE_LIMIT=5;var h=m;var v=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 index(){return this.scope.resolve(h)}fromNew(s){super.fromNew(s);let e=new h({name:`${this.aseid.id}`});this.scope.register(e),this.createdAt=Date.now(),this.prompt=s.prompt,this.model=s.options?.model||a$1.LYRA,this._system=s.options?.system,this._patchPieceLimit=s.options?.patchPieceLimit||h.PATCH_PIECE_LIMIT,this._history=[],this._version=0;}get segments(){return this.index.list()}get content(){return this.index.list().map(s=>s.content).join(`
2
+ `)}get text(){return this.content}get history(){return this._history}get version(){return this._version}get modelName(){return this.model}get systemPrompt(){return this._system}async generate(){let s=new _;this.scope.isInheritedFrom(A_Context.scope(this))||this.scope.inherit(A_Context.scope(this));let e=new A_Scope({name:"a-frame-dynamic-content-generate",fragments:[s]}).inherit(this.scope);try{await this.call(u.Generate,e),e.destroy();}catch(t){throw e.destroy(),new d({title:d.GenerationFailed,description:`Failed to generate content: ${t instanceof Error?t.message:String(t)}`})}}async patch(s,e){this.scope.isInheritedFrom(A_Context.scope(this))||this.scope.inherit(A_Context.scope(this));let t=new A_Scope({name:"a-frame-dynamic-content-patch"}).inherit(this.scope),i;if(e!==void 0){let o=Array.isArray(e)?e:[e],n=o.filter(a=>!this.index.get(a.id));if(n.length>0)throw t.destroy(),new d({title:d.PatchFailed,description:"Segment(s) not found in this content's index: "+n.map(a=>`"${a.id}"`).join(", ")+". Only segments that belong to this DynamicContent instance can be targeted."});i=o;}else {let o=new c({content:s,options:{task:"query"}});t.register(o),await o.embed(),i=this.index.selectForPatch(o.vector??null,s,this._patchPieceLimit);}let r=new _({instruction:s,segments:i});t.register(r);try{await this.call(u.Patch,t),t.destroy();}catch(o){throw t.destroy(),new d({title:d.PatchFailed,description:`Failed to patch content: ${o instanceof Error?o.message:String(o)}`})}}compareTo(s){let e=this.index.centroid(),t=s.index.centroid();return !e||!t?0:e.cosineSimilarity(t)}hydrateFromGeneration(s,e){s.forEach(t=>this.index.add(t)),this._history.push(new p({version:this._version,timestamp:Date.now(),reason:`Generated for: "${this.prompt}"`,encoded:Buffer.from(JSON.stringify(this.index.list())).toString("base64"),delta:this.index.size}));}hydrateFromPatch(s,e){let t=this.index.size,i=n=>n.toLowerCase().replace(/[^\w\s]/g,"").replace(/\s+/g," ").trim(),r=this.index.list().map(n=>i(n.content)),o=n=>{let a=i(n);return a.length<8?false:r.some(c=>c===a||c.includes(a))};for(let n of s.operations){if(!["add","replace","remove"].includes(n.action))continue;let a;if(n.segment){if((n.action==="add"||n.action==="replace")&&o(n.segment.content))continue;a=new c({content:n.segment.content,options:{task:"document"}}),n.segment.embedding?.length&&a.hydrateFromEmbedding(new Float32Array(n.segment.embedding));}n.action==="add"&&(new Set(["before","after","append",void 0]).has(n.position)||(n.position="append",n.targetId=void 0)),this.index.applyOperation(n,a);}this._version++,this._history.push(new p({version:this._version,timestamp:Date.now(),reason:s.patchSummary,encoded:Buffer.from(JSON.stringify(this.index.list())).toString("base64"),delta:this.index.size-t}));}toJSON(){return {...super.toJSON(),prompt:this.prompt,metadata:{model:this.model,createdAt:this.createdAt},history:this._history.map(s=>s.toJSON())}}};export{p as a,u as b,_ as c,d,v as e};//# sourceMappingURL=chunk-UULJJ5C5.mjs.map
3
+ //# sourceMappingURL=chunk-UULJJ5C5.mjs.map
@@ -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":"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","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