@adaas/a-frame 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (658) hide show
  1. package/.conf/tsconfig.browser.json +7 -1
  2. package/.conf/tsconfig.node.json +7 -1
  3. package/dist/browser/A-FrameBrowserStorageBlobs.context-CZTTvpn2.d.mts +53 -0
  4. package/dist/browser/A-FrameBrowserStorageBlobs.context-CaGTyatz.d.mts +40 -0
  5. package/dist/browser/A-FrameBrowserStorageBlobs.context-DjeEH8cn.d.mts +53 -0
  6. package/dist/browser/A-FrameBrowserStorageBlobs.context-vCsuTea9.d.mts +40 -0
  7. package/dist/browser/A-FrameBundle.types-LzfgdMiQ.d.mts +71 -0
  8. package/dist/browser/A-FrameChannel.component-4mTNctXL.d.mts +704 -0
  9. package/dist/browser/A-FrameChannel.types-BXEKJK9t.d.mts +205 -0
  10. package/dist/browser/A-FrameChannel.types-Ba3wgUZj.d.mts +199 -0
  11. package/dist/browser/A-FrameChannel.types-BfINhQZe.d.mts +145 -0
  12. package/dist/browser/A-FrameChannel.types-DfacgYL1.d.mts +199 -0
  13. package/dist/browser/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
  14. package/dist/browser/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
  15. package/dist/browser/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
  16. package/dist/browser/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
  17. package/dist/browser/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
  18. package/dist/browser/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
  19. package/dist/browser/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
  20. package/dist/browser/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
  21. package/dist/browser/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
  22. package/dist/browser/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
  23. package/dist/browser/A-FrameEnv.types-DnK-CYVk.d.mts +21 -0
  24. package/dist/browser/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
  25. package/dist/browser/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
  26. package/dist/browser/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
  27. package/dist/browser/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
  28. package/dist/browser/bundle.d.mts +6 -2
  29. package/dist/browser/bundle.mjs +1 -1
  30. package/dist/browser/bundle.mjs.map +1 -1
  31. package/dist/browser/channel.d.mts +51 -74
  32. package/dist/browser/channel.mjs +1 -2
  33. package/dist/browser/channel.mjs.map +1 -1
  34. package/dist/browser/chunk-2RNFZSBL.mjs +2 -0
  35. package/dist/browser/chunk-2RNFZSBL.mjs.map +1 -0
  36. package/dist/browser/chunk-46LRNZRG.mjs +2 -0
  37. package/dist/browser/chunk-46LRNZRG.mjs.map +1 -0
  38. package/dist/browser/chunk-52HFO3OY.mjs +2 -0
  39. package/dist/browser/chunk-52HFO3OY.mjs.map +1 -0
  40. package/dist/browser/chunk-643KGQKR.mjs +3 -0
  41. package/dist/browser/chunk-643KGQKR.mjs.map +1 -0
  42. package/dist/browser/chunk-66BBIZAM.mjs +3 -0
  43. package/dist/browser/chunk-66BBIZAM.mjs.map +1 -0
  44. package/dist/browser/chunk-6NPQURSO.mjs +2 -0
  45. package/dist/browser/chunk-6NPQURSO.mjs.map +1 -0
  46. package/dist/browser/chunk-6WAOMX7M.mjs +2 -0
  47. package/dist/browser/chunk-6WAOMX7M.mjs.map +1 -0
  48. package/dist/browser/chunk-77HU5SRQ.mjs +2 -0
  49. package/dist/browser/chunk-77HU5SRQ.mjs.map +1 -0
  50. package/dist/browser/chunk-AET6XULU.mjs +2 -0
  51. package/dist/browser/chunk-AET6XULU.mjs.map +1 -0
  52. package/dist/browser/chunk-BIBPE2GT.mjs +3 -0
  53. package/dist/browser/chunk-BIBPE2GT.mjs.map +1 -0
  54. package/dist/browser/chunk-CDJKU4DK.mjs +2 -0
  55. package/dist/browser/chunk-CDJKU4DK.mjs.map +1 -0
  56. package/dist/browser/chunk-CT67Y46H.mjs +3 -0
  57. package/dist/browser/chunk-CT67Y46H.mjs.map +1 -0
  58. package/dist/browser/chunk-EFC7OUNO.mjs +2 -0
  59. package/dist/browser/chunk-EFC7OUNO.mjs.map +1 -0
  60. package/dist/browser/chunk-EJIX7H7A.mjs +2 -0
  61. package/dist/browser/chunk-EJIX7H7A.mjs.map +1 -0
  62. package/dist/browser/chunk-FHJ5ATND.mjs +3 -0
  63. package/dist/browser/chunk-FHJ5ATND.mjs.map +1 -0
  64. package/dist/browser/chunk-FVH2EEVP.mjs +3 -0
  65. package/dist/browser/chunk-FVH2EEVP.mjs.map +1 -0
  66. package/dist/browser/chunk-G6ULYKSU.mjs +2 -0
  67. package/dist/browser/chunk-G6ULYKSU.mjs.map +1 -0
  68. package/dist/browser/chunk-G7MKGKG5.mjs +2 -0
  69. package/dist/browser/chunk-G7MKGKG5.mjs.map +1 -0
  70. package/dist/browser/chunk-GOMJPGVB.mjs +3 -0
  71. package/dist/browser/chunk-GOMJPGVB.mjs.map +1 -0
  72. package/dist/browser/chunk-INQV5UZA.mjs +2 -0
  73. package/dist/browser/chunk-INQV5UZA.mjs.map +1 -0
  74. package/dist/browser/chunk-INXPVBTZ.mjs +2 -0
  75. package/dist/browser/chunk-INXPVBTZ.mjs.map +1 -0
  76. package/dist/browser/chunk-KFMVTZ7T.mjs +2 -0
  77. package/dist/browser/chunk-KFMVTZ7T.mjs.map +1 -0
  78. package/dist/browser/chunk-LK6C7C3S.mjs +2 -0
  79. package/dist/browser/chunk-LK6C7C3S.mjs.map +1 -0
  80. package/dist/browser/chunk-LOGRQOWP.mjs +3 -0
  81. package/dist/browser/chunk-LOGRQOWP.mjs.map +1 -0
  82. package/dist/browser/chunk-LZACYSUC.mjs +3 -0
  83. package/dist/browser/chunk-LZACYSUC.mjs.map +1 -0
  84. package/dist/browser/chunk-NTOIVRX3.mjs +2 -0
  85. package/dist/browser/chunk-NTOIVRX3.mjs.map +1 -0
  86. package/dist/browser/chunk-OES2N3X7.mjs +3 -0
  87. package/dist/browser/chunk-OES2N3X7.mjs.map +1 -0
  88. package/dist/browser/chunk-OFKV5GNB.mjs +1 -1
  89. package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -1
  90. package/dist/browser/chunk-OVLM5A32.mjs +3 -0
  91. package/dist/browser/chunk-OVLM5A32.mjs.map +1 -0
  92. package/dist/browser/chunk-QATIN7CO.mjs +1 -1
  93. package/dist/browser/chunk-QATIN7CO.mjs.map +1 -1
  94. package/dist/browser/chunk-QOL7CAUZ.mjs +2 -0
  95. package/dist/browser/chunk-QOL7CAUZ.mjs.map +1 -0
  96. package/dist/browser/chunk-RCB3PX4V.mjs +2 -0
  97. package/dist/browser/chunk-RCB3PX4V.mjs.map +1 -0
  98. package/dist/browser/chunk-RWQSCROK.mjs +3 -0
  99. package/dist/browser/chunk-RWQSCROK.mjs.map +1 -0
  100. package/dist/browser/chunk-TIAUMK2X.mjs +2 -0
  101. package/dist/browser/chunk-TIAUMK2X.mjs.map +1 -0
  102. package/dist/browser/chunk-TQPC5MYM.mjs +3 -0
  103. package/dist/browser/chunk-TQPC5MYM.mjs.map +1 -0
  104. package/dist/browser/chunk-UNIKTCXL.mjs +3 -0
  105. package/dist/browser/chunk-UNIKTCXL.mjs.map +1 -0
  106. package/dist/browser/chunk-UULJJ5C5.mjs +3 -0
  107. package/dist/browser/chunk-UULJJ5C5.mjs.map +1 -0
  108. package/dist/browser/chunk-VSSANMPF.mjs +2 -0
  109. package/dist/browser/chunk-VSSANMPF.mjs.map +1 -0
  110. package/dist/browser/chunk-VW2BZYNY.mjs +2 -0
  111. package/dist/browser/chunk-VW2BZYNY.mjs.map +1 -0
  112. package/dist/browser/chunk-WAXBOWM6.mjs +3 -0
  113. package/dist/browser/chunk-WAXBOWM6.mjs.map +1 -0
  114. package/dist/browser/chunk-WXCQCHAX.mjs +2 -0
  115. package/dist/browser/chunk-WXCQCHAX.mjs.map +1 -0
  116. package/dist/browser/chunk-XKKBIIZG.mjs +3 -0
  117. package/dist/browser/chunk-XKKBIIZG.mjs.map +1 -0
  118. package/dist/browser/chunk-XR7FVA5M.mjs +3 -0
  119. package/dist/browser/chunk-XR7FVA5M.mjs.map +1 -0
  120. package/dist/browser/chunk-YQJFTBGV.mjs +1 -1
  121. package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -1
  122. package/dist/browser/chunk-YTAMZDWC.mjs +3 -0
  123. package/dist/browser/chunk-YTAMZDWC.mjs.map +1 -0
  124. package/dist/browser/chunk-ZEONOTRL.mjs +2 -0
  125. package/dist/browser/chunk-ZEONOTRL.mjs.map +1 -0
  126. package/dist/browser/completion.d.mts +10 -0
  127. package/dist/browser/completion.mjs +2 -0
  128. package/dist/browser/completion.mjs.map +1 -0
  129. package/dist/browser/core.d.mts +7 -6
  130. package/dist/browser/core.mjs +1 -1
  131. package/dist/browser/core.mjs.map +1 -1
  132. package/dist/browser/credentials.d.mts +74 -0
  133. package/dist/browser/credentials.mjs +2 -0
  134. package/dist/browser/credentials.mjs.map +1 -0
  135. package/dist/browser/definition.d.mts +3 -2
  136. package/dist/browser/definition.mjs +1 -1
  137. package/dist/browser/dynamic-content.d.mts +13 -0
  138. package/dist/browser/dynamic-content.mjs +2 -0
  139. package/dist/browser/dynamic-content.mjs.map +1 -0
  140. package/dist/browser/dynamic-feature.d.mts +66 -6
  141. package/dist/browser/dynamic-feature.mjs +3 -1
  142. package/dist/browser/dynamic-feature.mjs.map +1 -1
  143. package/dist/browser/dynamic-structure.d.mts +77 -3
  144. package/dist/browser/dynamic-structure.mjs +1 -1
  145. package/dist/browser/dynamic-structure.mjs.map +1 -1
  146. package/dist/browser/env.d.mts +16 -2
  147. package/dist/browser/env.mjs +1 -1
  148. package/dist/browser/frame-index.d.mts +70 -9
  149. package/dist/browser/frame-index.mjs +1 -1
  150. package/dist/browser/models.d.mts +64 -0
  151. package/dist/browser/models.mjs +2 -0
  152. package/dist/browser/models.mjs.map +1 -0
  153. package/dist/browser/namespace.d.mts +1 -1
  154. package/dist/browser/namespace.mjs +1 -1
  155. package/dist/browser/schema.d.mts +10 -0
  156. package/dist/browser/schema.mjs +2 -0
  157. package/dist/browser/schema.mjs.map +1 -0
  158. package/dist/browser/segment.d.mts +13 -0
  159. package/dist/browser/segment.mjs +2 -0
  160. package/dist/browser/segment.mjs.map +1 -0
  161. package/dist/browser/storage.d.mts +13 -7
  162. package/dist/browser/storage.mjs +1 -1
  163. package/dist/browser/vector.d.mts +7 -0
  164. package/dist/browser/vector.mjs +1 -1
  165. package/dist/cli.cjs +5593 -0
  166. package/dist/cli.cjs.map +1 -0
  167. package/dist/node/A-FrameChannel.component--YErPxf4.d.mts +97 -0
  168. package/dist/node/A-FrameChannel.component-BjgqMh1B.d.ts +97 -0
  169. package/dist/node/A-FrameChannel.component-C0O3TaRD.d.ts +679 -0
  170. package/dist/node/A-FrameChannel.component-CgBZYBz0.d.mts +379 -0
  171. package/dist/node/A-FrameChannel.component-CkZserv3.d.ts +97 -0
  172. package/dist/node/A-FrameChannel.component-DMA-3sUB.d.mts +679 -0
  173. package/dist/node/A-FrameChannel.component-DYV8omYR.d.ts +379 -0
  174. package/dist/node/A-FrameChannel.component-DwgYNfFn.d.mts +97 -0
  175. package/dist/node/A-FrameChannel.types-B3_xWKEO.d.mts +151 -0
  176. package/dist/node/A-FrameChannel.types-BGcVXTqa.d.ts +205 -0
  177. package/dist/node/A-FrameChannel.types-Boi8QqDK.d.mts +205 -0
  178. package/dist/node/A-FrameChannel.types-BsE6bNky.d.mts +205 -0
  179. package/dist/node/A-FrameChannel.types-C-gxXl8m.d.ts +151 -0
  180. package/dist/node/A-FrameChannel.types-DD2B11rf.d.ts +205 -0
  181. package/dist/node/A-FrameChannel.types-DYMgRiCF.d.mts +205 -0
  182. package/dist/node/A-FrameChannel.types-DwyZRsOy.d.ts +205 -0
  183. package/dist/node/A-FrameCompletion.entity-Brx11JMp.d.ts +72 -0
  184. package/dist/node/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
  185. package/dist/node/A-FrameDefinition.entity-BIF0sclD.d.ts +370 -0
  186. package/dist/node/A-FrameDefinition.entity-Bt9ua6cn.d.ts +358 -0
  187. package/dist/node/A-FrameDefinition.entity-C0kzaGJ0.d.ts +143 -0
  188. package/dist/node/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
  189. package/dist/node/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
  190. package/dist/node/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
  191. package/dist/node/A-FrameDefinition.types-BA_pLGpo.d.ts +232 -0
  192. package/dist/node/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
  193. package/dist/node/A-FrameDynamicContentOperation.context-C_aH1gEn.d.ts +297 -0
  194. package/dist/node/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
  195. package/dist/node/A-FrameDynamicContentOperation.context-DRqH2c3o.d.ts +266 -0
  196. package/dist/node/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
  197. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
  198. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.ts +29 -0
  199. package/dist/node/A-FrameDynamicStructure.entity-BVCbolMd.d.ts +210 -0
  200. package/dist/node/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
  201. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
  202. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.ts +235 -0
  203. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.mts +114 -0
  204. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.ts +114 -0
  205. package/dist/node/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
  206. package/dist/node/A-FrameNamespace.entity-HDXcLGcS.d.ts +136 -0
  207. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
  208. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.ts +141 -0
  209. package/dist/node/A-FrameSegment.entity-C0izuOmC.d.ts +161 -0
  210. package/dist/node/A-FrameSegment.entity-CMCgFCWU.d.ts +146 -0
  211. package/dist/node/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
  212. package/dist/node/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
  213. package/dist/node/A-FrameStorage.component-BnNKzvpY.d.mts +107 -0
  214. package/dist/node/A-FrameStorage.component-CDztogHV.d.mts +107 -0
  215. package/dist/node/A-FrameStorage.component-CW0YgKDI.d.mts +107 -0
  216. package/dist/node/A-FrameStorage.component-D4UEkIBx.d.mts +107 -0
  217. package/dist/node/A-FrameStorage.component-DV_jwK6r.d.ts +107 -0
  218. package/dist/node/A-FrameStorage.component-Di4EvbtC.d.ts +107 -0
  219. package/dist/node/A-FrameStorage.component-emIH1a1M.d.ts +107 -0
  220. package/dist/node/A-FrameStorage.component-y-JPiIQ4.d.ts +107 -0
  221. package/dist/node/bundle.cjs +66 -21
  222. package/dist/node/bundle.cjs.map +1 -1
  223. package/dist/node/bundle.d.mts +88 -24
  224. package/dist/node/bundle.d.ts +88 -24
  225. package/dist/node/bundle.mjs +65 -20
  226. package/dist/node/bundle.mjs.map +1 -1
  227. package/dist/node/channel.cjs +33 -26
  228. package/dist/node/channel.d.mts +10 -6
  229. package/dist/node/channel.d.ts +10 -6
  230. package/dist/node/channel.mjs +13 -6
  231. package/dist/node/chunk-2HUSP34L.mjs +55 -0
  232. package/dist/node/chunk-2HUSP34L.mjs.map +1 -0
  233. package/dist/node/chunk-2KXGI2E5.cjs +474 -0
  234. package/dist/node/chunk-2KXGI2E5.cjs.map +1 -0
  235. package/dist/node/chunk-2OQMOIR5.mjs +170 -0
  236. package/dist/node/chunk-2OQMOIR5.mjs.map +1 -0
  237. package/dist/node/chunk-2UI7RJ4Q.mjs +207 -0
  238. package/dist/node/chunk-2UI7RJ4Q.mjs.map +1 -0
  239. package/dist/node/chunk-3SLICJ3L.cjs +265 -0
  240. package/dist/node/chunk-3SLICJ3L.cjs.map +1 -0
  241. package/dist/node/chunk-3ZDHQOIU.cjs +92 -0
  242. package/dist/node/chunk-3ZDHQOIU.cjs.map +1 -0
  243. package/dist/node/chunk-5BKCX2RO.mjs +1 -1
  244. package/dist/node/chunk-5BKCX2RO.mjs.map +1 -1
  245. package/dist/node/chunk-5NCGXLP2.mjs +6 -0
  246. package/dist/node/chunk-5NCGXLP2.mjs.map +1 -0
  247. package/dist/node/chunk-5OTXZ7BB.mjs +53 -0
  248. package/dist/node/chunk-5OTXZ7BB.mjs.map +1 -0
  249. package/dist/node/chunk-5PYIATGT.mjs +469 -0
  250. package/dist/node/chunk-5PYIATGT.mjs.map +1 -0
  251. package/dist/node/chunk-64QCZG53.cjs +57 -0
  252. package/dist/node/chunk-64QCZG53.cjs.map +1 -0
  253. package/dist/node/chunk-652OEICJ.cjs +4 -0
  254. package/dist/node/chunk-652OEICJ.cjs.map +1 -0
  255. package/dist/node/chunk-674ZX6XJ.mjs +187 -0
  256. package/dist/node/chunk-674ZX6XJ.mjs.map +1 -0
  257. package/dist/node/chunk-6ID2IXYX.mjs +6 -0
  258. package/dist/node/chunk-6ID2IXYX.mjs.map +1 -0
  259. package/dist/node/chunk-7EM3Q7HA.mjs +655 -0
  260. package/dist/node/chunk-7EM3Q7HA.mjs.map +1 -0
  261. package/dist/node/chunk-7MVVMISA.cjs +293 -0
  262. package/dist/node/chunk-7MVVMISA.cjs.map +1 -0
  263. package/dist/node/chunk-7NSLGCAZ.mjs +1395 -0
  264. package/dist/node/chunk-7NSLGCAZ.mjs.map +1 -0
  265. package/dist/node/chunk-7OLLATCC.mjs +1289 -0
  266. package/dist/node/chunk-7OLLATCC.mjs.map +1 -0
  267. package/dist/node/chunk-7SEZMRLI.cjs +183 -0
  268. package/dist/node/chunk-7SEZMRLI.cjs.map +1 -0
  269. package/dist/node/chunk-A4CVDMSV.mjs +608 -0
  270. package/dist/node/chunk-A4CVDMSV.mjs.map +1 -0
  271. package/dist/node/chunk-A7CJIUYY.cjs +4 -0
  272. package/dist/node/chunk-A7CJIUYY.cjs.map +1 -0
  273. package/dist/node/chunk-ALFFUJ2J.mjs +163 -0
  274. package/dist/node/chunk-ALFFUJ2J.mjs.map +1 -0
  275. package/dist/node/chunk-AMMQ76RJ.mjs +179 -0
  276. package/dist/node/chunk-AMMQ76RJ.mjs.map +1 -0
  277. package/dist/node/chunk-AUKWKGVA.cjs +688 -0
  278. package/dist/node/chunk-AUKWKGVA.cjs.map +1 -0
  279. package/dist/node/chunk-AY6UMDWD.cjs +270 -0
  280. package/dist/node/chunk-AY6UMDWD.cjs.map +1 -0
  281. package/dist/node/chunk-B7ZDJXD3.cjs +1 -1
  282. package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -1
  283. package/dist/node/chunk-BBYOL3LM.cjs +1308 -0
  284. package/dist/node/chunk-BBYOL3LM.cjs.map +1 -0
  285. package/dist/node/chunk-BINGAHFW.cjs +1308 -0
  286. package/dist/node/chunk-BINGAHFW.cjs.map +1 -0
  287. package/dist/node/chunk-BSBY37MG.cjs +55 -0
  288. package/dist/node/chunk-BSBY37MG.cjs.map +1 -0
  289. package/dist/node/chunk-BWX7HFTH.cjs +209 -0
  290. package/dist/node/chunk-BWX7HFTH.cjs.map +1 -0
  291. package/dist/node/chunk-C37B34MH.cjs +188 -0
  292. package/dist/node/chunk-C37B34MH.cjs.map +1 -0
  293. package/dist/node/chunk-C6BBKHQG.cjs +250 -0
  294. package/dist/node/chunk-C6BBKHQG.cjs.map +1 -0
  295. package/dist/node/chunk-CLCAS67N.cjs +8 -0
  296. package/dist/node/chunk-CLCAS67N.cjs.map +1 -0
  297. package/dist/node/chunk-CNU3CRTR.mjs +43 -0
  298. package/dist/node/chunk-CNU3CRTR.mjs.map +1 -0
  299. package/dist/node/chunk-CV5FPKU6.mjs +6 -0
  300. package/dist/node/chunk-CV5FPKU6.mjs.map +1 -0
  301. package/dist/node/chunk-CZYOAFIR.mjs +129 -0
  302. package/dist/node/chunk-CZYOAFIR.mjs.map +1 -0
  303. package/dist/node/chunk-D2HTYEJZ.cjs +209 -0
  304. package/dist/node/chunk-D2HTYEJZ.cjs.map +1 -0
  305. package/dist/node/chunk-EMLZZPOT.cjs +1446 -0
  306. package/dist/node/chunk-EMLZZPOT.cjs.map +1 -0
  307. package/dist/node/chunk-EOIXXXBV.cjs +55 -0
  308. package/dist/node/chunk-EOIXXXBV.cjs.map +1 -0
  309. package/dist/node/chunk-F4UCOZW5.mjs +1 -1
  310. package/dist/node/chunk-F4UCOZW5.mjs.map +1 -1
  311. package/dist/node/chunk-F64CK4NI.mjs +53 -0
  312. package/dist/node/chunk-F64CK4NI.mjs.map +1 -0
  313. package/dist/node/chunk-FAV62EUG.cjs +35 -0
  314. package/dist/node/chunk-FAV62EUG.cjs.map +1 -0
  315. package/dist/node/chunk-GHSPKZUN.mjs +529 -0
  316. package/dist/node/chunk-GHSPKZUN.mjs.map +1 -0
  317. package/dist/node/chunk-GRNVK7DW.mjs +97 -0
  318. package/dist/node/chunk-GRNVK7DW.mjs.map +1 -0
  319. package/dist/node/chunk-H5VGRPD5.cjs +8 -0
  320. package/dist/node/chunk-H5VGRPD5.cjs.map +1 -0
  321. package/dist/node/chunk-HAMDDCPS.cjs +8 -0
  322. package/dist/node/chunk-HAMDDCPS.cjs.map +1 -0
  323. package/dist/node/chunk-HAORARSB.cjs +75 -0
  324. package/dist/node/chunk-HAORARSB.cjs.map +1 -0
  325. package/dist/node/chunk-HELNAM5Y.cjs +8 -0
  326. package/dist/node/chunk-HELNAM5Y.cjs.map +1 -0
  327. package/dist/node/chunk-HET6L5PD.mjs +530 -0
  328. package/dist/node/chunk-HET6L5PD.mjs.map +1 -0
  329. package/dist/node/chunk-HI5SEX53.mjs +264 -0
  330. package/dist/node/chunk-HI5SEX53.mjs.map +1 -0
  331. package/dist/node/chunk-HZGFXE4Q.mjs +6 -0
  332. package/dist/node/chunk-HZGFXE4Q.mjs.map +1 -0
  333. package/dist/node/chunk-IAL2NK2V.mjs +73 -0
  334. package/dist/node/chunk-IAL2NK2V.mjs.map +1 -0
  335. package/dist/node/chunk-IHELFDCW.mjs +327 -0
  336. package/dist/node/chunk-IHELFDCW.mjs.map +1 -0
  337. package/dist/node/chunk-ILD6OSYW.mjs +966 -0
  338. package/dist/node/chunk-ILD6OSYW.mjs.map +1 -0
  339. package/dist/node/chunk-IP6DFAO7.mjs +264 -0
  340. package/dist/node/chunk-IP6DFAO7.mjs.map +1 -0
  341. package/dist/node/chunk-IYEDO7OQ.cjs +276 -0
  342. package/dist/node/chunk-IYEDO7OQ.cjs.map +1 -0
  343. package/dist/node/chunk-JFPGFPQD.mjs +1413 -0
  344. package/dist/node/chunk-JFPGFPQD.mjs.map +1 -0
  345. package/dist/node/chunk-JHZGTVYF.cjs +999 -0
  346. package/dist/node/chunk-JHZGTVYF.cjs.map +1 -0
  347. package/dist/node/chunk-JN3UJBUH.mjs +608 -0
  348. package/dist/node/chunk-JN3UJBUH.mjs.map +1 -0
  349. package/dist/node/chunk-JNPDXCCN.mjs +530 -0
  350. package/dist/node/chunk-JNPDXCCN.mjs.map +1 -0
  351. package/dist/node/chunk-JQBYDEMW.mjs +1 -1
  352. package/dist/node/chunk-JQBYDEMW.mjs.map +1 -1
  353. package/dist/node/chunk-JQJ7N4NL.cjs +267 -0
  354. package/dist/node/chunk-JQJ7N4NL.cjs.map +1 -0
  355. package/dist/node/chunk-K4AJBPPY.cjs +174 -0
  356. package/dist/node/chunk-K4AJBPPY.cjs.map +1 -0
  357. package/dist/node/chunk-K7SXPJPK.cjs +131 -0
  358. package/dist/node/chunk-K7SXPJPK.cjs.map +1 -0
  359. package/dist/node/chunk-KFW4GE7H.mjs +1289 -0
  360. package/dist/node/chunk-KFW4GE7H.mjs.map +1 -0
  361. package/dist/node/chunk-KKL2DF2D.cjs +518 -0
  362. package/dist/node/chunk-KKL2DF2D.cjs.map +1 -0
  363. package/dist/node/chunk-KKMKQGTR.cjs +620 -0
  364. package/dist/node/chunk-KKMKQGTR.cjs.map +1 -0
  365. package/dist/node/chunk-KNTO7FCZ.mjs +207 -0
  366. package/dist/node/chunk-KNTO7FCZ.mjs.map +1 -0
  367. package/dist/node/chunk-KTKVW3PH.mjs +286 -0
  368. package/dist/node/chunk-KTKVW3PH.mjs.map +1 -0
  369. package/dist/node/chunk-KZPSF32W.mjs +33 -0
  370. package/dist/node/chunk-KZPSF32W.mjs.map +1 -0
  371. package/dist/node/chunk-LWKFCMA7.mjs +129 -0
  372. package/dist/node/chunk-LWKFCMA7.mjs.map +1 -0
  373. package/dist/node/chunk-M2ZSE6YJ.mjs +512 -0
  374. package/dist/node/chunk-M2ZSE6YJ.mjs.map +1 -0
  375. package/dist/node/chunk-M6DJYGDO.cjs +167 -0
  376. package/dist/node/chunk-M6DJYGDO.cjs.map +1 -0
  377. package/dist/node/chunk-MAHKDTOQ.mjs +3 -0
  378. package/dist/node/chunk-MAHKDTOQ.mjs.map +1 -0
  379. package/dist/node/chunk-MM2R2OM6.cjs +541 -0
  380. package/dist/node/chunk-MM2R2OM6.cjs.map +1 -0
  381. package/dist/node/chunk-MSOD5UQH.cjs +45 -0
  382. package/dist/node/chunk-MSOD5UQH.cjs.map +1 -0
  383. package/dist/node/chunk-MVAWR76Q.cjs +276 -0
  384. package/dist/node/chunk-MVAWR76Q.cjs.map +1 -0
  385. package/dist/node/chunk-MXUO7OR5.cjs +97 -0
  386. package/dist/node/chunk-MXUO7OR5.cjs.map +1 -0
  387. package/dist/node/chunk-N4THTV6P.cjs +131 -0
  388. package/dist/node/chunk-N4THTV6P.cjs.map +1 -0
  389. package/dist/node/chunk-NIXKAQVP.cjs +1 -1
  390. package/dist/node/chunk-NIXKAQVP.cjs.map +1 -1
  391. package/dist/node/chunk-NUPXUUPM.cjs +1428 -0
  392. package/dist/node/chunk-NUPXUUPM.cjs.map +1 -0
  393. package/dist/node/chunk-NWOUVAIS.cjs +45 -0
  394. package/dist/node/chunk-NWOUVAIS.cjs.map +1 -0
  395. package/dist/node/chunk-OK7I5OQ3.mjs +89 -0
  396. package/dist/node/chunk-OK7I5OQ3.mjs.map +1 -0
  397. package/dist/node/chunk-OMGYXCFM.mjs +248 -0
  398. package/dist/node/chunk-OMGYXCFM.mjs.map +1 -0
  399. package/dist/node/chunk-OYZAQMKD.mjs +263 -0
  400. package/dist/node/chunk-OYZAQMKD.mjs.map +1 -0
  401. package/dist/node/chunk-P2LULMNL.cjs +189 -0
  402. package/dist/node/chunk-P2LULMNL.cjs.map +1 -0
  403. package/dist/node/chunk-PABEFHCO.mjs +63 -0
  404. package/dist/node/chunk-PABEFHCO.mjs.map +1 -0
  405. package/dist/node/chunk-Q5NYJQP2.cjs +8 -0
  406. package/dist/node/chunk-Q5NYJQP2.cjs.map +1 -0
  407. package/dist/node/chunk-QCEWWJ3N.cjs +65 -0
  408. package/dist/node/chunk-QCEWWJ3N.cjs.map +1 -0
  409. package/dist/node/chunk-QW4AZ3Z2.cjs +542 -0
  410. package/dist/node/chunk-QW4AZ3Z2.cjs.map +1 -0
  411. package/dist/node/chunk-RK5WSZ5J.mjs +43 -0
  412. package/dist/node/chunk-RK5WSZ5J.mjs.map +1 -0
  413. package/dist/node/chunk-RPHYBPXT.mjs +30 -0
  414. package/dist/node/chunk-RPHYBPXT.mjs.map +1 -0
  415. package/dist/node/chunk-RVXASBMQ.mjs +273 -0
  416. package/dist/node/chunk-RVXASBMQ.mjs.map +1 -0
  417. package/dist/node/chunk-RVZTZD32.mjs +187 -0
  418. package/dist/node/chunk-RVZTZD32.mjs.map +1 -0
  419. package/dist/node/chunk-RWLKISZQ.mjs +273 -0
  420. package/dist/node/chunk-RWLKISZQ.mjs.map +1 -0
  421. package/dist/node/chunk-SESXQJDD.cjs +999 -0
  422. package/dist/node/chunk-SESXQJDD.cjs.map +1 -0
  423. package/dist/node/chunk-SKIEPTFS.mjs +6 -0
  424. package/dist/node/chunk-SKIEPTFS.mjs.map +1 -0
  425. package/dist/node/chunk-SL7FT5R5.mjs +94 -0
  426. package/dist/node/chunk-SL7FT5R5.mjs.map +1 -0
  427. package/dist/node/chunk-SXHQW74T.mjs +43 -0
  428. package/dist/node/chunk-SXHQW74T.mjs.map +1 -0
  429. package/dist/node/chunk-TEJKDVNT.cjs +620 -0
  430. package/dist/node/chunk-TEJKDVNT.cjs.map +1 -0
  431. package/dist/node/chunk-TQS5WYND.cjs +352 -0
  432. package/dist/node/chunk-TQS5WYND.cjs.map +1 -0
  433. package/dist/node/chunk-UCAWV2IG.mjs +184 -0
  434. package/dist/node/chunk-UCAWV2IG.mjs.map +1 -0
  435. package/dist/node/chunk-UDUJDEAO.cjs +189 -0
  436. package/dist/node/chunk-UDUJDEAO.cjs.map +1 -0
  437. package/dist/node/chunk-VMJDL4SS.cjs +542 -0
  438. package/dist/node/chunk-VMJDL4SS.cjs.map +1 -0
  439. package/dist/node/chunk-VNOZTB3B.cjs +8 -0
  440. package/dist/node/chunk-VNOZTB3B.cjs.map +1 -0
  441. package/dist/node/chunk-VPMBZGYR.mjs +327 -0
  442. package/dist/node/chunk-VPMBZGYR.mjs.map +1 -0
  443. package/dist/node/chunk-WEPNBKOA.mjs +6 -0
  444. package/dist/node/chunk-WEPNBKOA.mjs.map +1 -0
  445. package/dist/node/chunk-WTBRJXFG.cjs +100 -0
  446. package/dist/node/chunk-WTBRJXFG.cjs.map +1 -0
  447. package/dist/node/chunk-WXCQCHAX.mjs +3 -0
  448. package/dist/node/chunk-WXCQCHAX.mjs.map +1 -0
  449. package/dist/node/chunk-X3TRPYGV.cjs +352 -0
  450. package/dist/node/chunk-X3TRPYGV.cjs.map +1 -0
  451. package/dist/node/chunk-XFUF7SDO.cjs +1 -1
  452. package/dist/node/chunk-XFUF7SDO.cjs.map +1 -1
  453. package/dist/node/chunk-XP2EPEBM.mjs +966 -0
  454. package/dist/node/chunk-XP2EPEBM.mjs.map +1 -0
  455. package/dist/node/chunk-XPIJ6BKP.cjs +45 -0
  456. package/dist/node/chunk-XPIJ6BKP.cjs.map +1 -0
  457. package/dist/node/chunk-YRVBMP7I.cjs +542 -0
  458. package/dist/node/chunk-YRVBMP7I.cjs.map +1 -0
  459. package/dist/node/chunk-ZIHSN5EE.mjs +530 -0
  460. package/dist/node/chunk-ZIHSN5EE.mjs.map +1 -0
  461. package/dist/node/chunk-ZNQMUU7I.cjs +32 -0
  462. package/dist/node/chunk-ZNQMUU7I.cjs.map +1 -0
  463. package/dist/node/completion.cjs +23 -0
  464. package/dist/node/completion.cjs.map +1 -0
  465. package/dist/node/completion.d.mts +10 -0
  466. package/dist/node/completion.d.ts +10 -0
  467. package/dist/node/completion.mjs +6 -0
  468. package/dist/node/completion.mjs.map +1 -0
  469. package/dist/node/core.cjs +67 -38
  470. package/dist/node/core.cjs.map +1 -1
  471. package/dist/node/core.d.mts +13 -8
  472. package/dist/node/core.d.ts +13 -8
  473. package/dist/node/core.mjs +58 -29
  474. package/dist/node/core.mjs.map +1 -1
  475. package/dist/node/credentials.cjs +17 -0
  476. package/dist/node/credentials.cjs.map +1 -0
  477. package/dist/node/credentials.d.mts +74 -0
  478. package/dist/node/credentials.d.ts +74 -0
  479. package/dist/node/credentials.mjs +4 -0
  480. package/dist/node/credentials.mjs.map +1 -0
  481. package/dist/node/definition.cjs +6 -4
  482. package/dist/node/definition.d.mts +3 -2
  483. package/dist/node/definition.d.ts +3 -2
  484. package/dist/node/definition.mjs +4 -2
  485. package/dist/node/dynamic-content.cjs +30 -0
  486. package/dist/node/dynamic-content.cjs.map +1 -0
  487. package/dist/node/dynamic-content.d.mts +13 -0
  488. package/dist/node/dynamic-content.d.ts +13 -0
  489. package/dist/node/dynamic-content.mjs +9 -0
  490. package/dist/node/dynamic-content.mjs.map +1 -0
  491. package/dist/node/dynamic-feature.cjs +41 -7
  492. package/dist/node/dynamic-feature.cjs.map +1 -1
  493. package/dist/node/dynamic-feature.d.mts +66 -6
  494. package/dist/node/dynamic-feature.d.ts +66 -6
  495. package/dist/node/dynamic-feature.mjs +16 -9
  496. package/dist/node/dynamic-feature.mjs.map +1 -1
  497. package/dist/node/dynamic-structure.cjs +45 -136
  498. package/dist/node/dynamic-structure.cjs.map +1 -1
  499. package/dist/node/dynamic-structure.d.mts +77 -3
  500. package/dist/node/dynamic-structure.d.ts +77 -3
  501. package/dist/node/dynamic-structure.mjs +16 -135
  502. package/dist/node/dynamic-structure.mjs.map +1 -1
  503. package/dist/node/env.cjs +3 -3
  504. package/dist/node/env.d.mts +26 -0
  505. package/dist/node/env.d.ts +26 -0
  506. package/dist/node/env.mjs +2 -2
  507. package/dist/node/frame-index.cjs +7 -4
  508. package/dist/node/frame-index.d.mts +70 -9
  509. package/dist/node/frame-index.d.ts +70 -9
  510. package/dist/node/frame-index.mjs +6 -3
  511. package/dist/node/logger.d.mts +4 -113
  512. package/dist/node/logger.d.ts +4 -113
  513. package/dist/node/models.cjs +14 -0
  514. package/dist/node/models.cjs.map +1 -0
  515. package/dist/node/models.d.mts +64 -0
  516. package/dist/node/models.d.ts +64 -0
  517. package/dist/node/models.mjs +5 -0
  518. package/dist/node/models.mjs.map +1 -0
  519. package/dist/node/namespace.cjs +7 -5
  520. package/dist/node/namespace.d.mts +1 -1
  521. package/dist/node/namespace.d.ts +1 -1
  522. package/dist/node/namespace.mjs +4 -2
  523. package/dist/node/schema.cjs +22 -0
  524. package/dist/node/schema.cjs.map +1 -0
  525. package/dist/node/schema.d.mts +10 -0
  526. package/dist/node/schema.d.ts +10 -0
  527. package/dist/node/schema.mjs +5 -0
  528. package/dist/node/schema.mjs.map +1 -0
  529. package/dist/node/segment.cjs +25 -0
  530. package/dist/node/segment.cjs.map +1 -0
  531. package/dist/node/segment.d.mts +13 -0
  532. package/dist/node/segment.d.ts +13 -0
  533. package/dist/node/segment.mjs +8 -0
  534. package/dist/node/segment.mjs.map +1 -0
  535. package/dist/node/storage.cjs +17 -14
  536. package/dist/node/storage.d.mts +18 -6
  537. package/dist/node/storage.d.ts +18 -6
  538. package/dist/node/storage.mjs +11 -8
  539. package/dist/node/vector.cjs +2 -2
  540. package/dist/node/vector.d.mts +7 -0
  541. package/dist/node/vector.d.ts +7 -0
  542. package/dist/node/vector.mjs +1 -1
  543. package/examples/article/main.ts +358 -0
  544. package/examples/components.ts +660 -0
  545. package/examples/feature/file-system.components.ts +211 -0
  546. package/examples/feature/main.ts +374 -0
  547. package/examples/interaction/main.ts +426 -0
  548. package/examples/logger.ts +126 -0
  549. package/examples/structure/main.ts +195 -0
  550. package/examples/structure/renderer.ts +296 -0
  551. package/examples/structure/server-app.components.ts +387 -0
  552. package/jest.config.browser.ts +9 -0
  553. package/jest.config.examples.ts +49 -0
  554. package/jest.config.integration.ts +38 -0
  555. package/jest.config.ts +56 -27
  556. package/jest.config.unit.ts +38 -0
  557. package/package.json +75 -7
  558. package/src/index.ts +13 -0
  559. package/src/lib/A-Frame/A-Frame.component.env-browser.ts +14 -3
  560. package/src/lib/A-Frame/A-Frame.component.env-node.ts +45 -15
  561. package/src/lib/A-Frame/A-Frame.context.ts +9 -8
  562. package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +4 -4
  563. package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -25
  564. package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +1 -1
  565. package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +54 -13
  566. package/src/lib/A-FrameBundle/index.browser.ts +1 -1
  567. package/src/lib/A-FrameBundle/index.ts +1 -1
  568. package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +18 -7
  569. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +0 -2
  570. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +14 -15
  571. package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +542 -7
  572. package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +2 -0
  573. package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +65 -1
  574. package/src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts +112 -0
  575. package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +1 -0
  576. package/src/lib/A-FrameChannel/index.browser.ts +5 -0
  577. package/src/lib/A-FrameCompletion/A-FrameCompletion.constants.ts +3 -0
  578. package/src/lib/A-FrameCompletion/A-FrameCompletion.entity.ts +128 -0
  579. package/src/lib/A-FrameCompletion/A-FrameCompletion.types.ts +40 -0
  580. package/src/lib/A-FrameCompletion/index.ts +3 -0
  581. package/src/lib/A-FrameCredentials/A-FrameCredentials.constants.ts +5 -0
  582. package/src/lib/A-FrameCredentials/A-FrameCredentials.entity.ts +120 -0
  583. package/src/lib/A-FrameCredentials/A-FrameCredentials.types.ts +39 -0
  584. package/src/lib/A-FrameCredentials/index.ts +3 -0
  585. package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +23 -1
  586. package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +34 -1
  587. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts +5 -0
  588. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts +348 -0
  589. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts +10 -0
  590. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.types.ts +116 -0
  591. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts +288 -0
  592. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts +26 -0
  593. package/src/lib/A-FrameDynamicContent/index.ts +5 -0
  594. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.constants.ts +6 -0
  595. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +253 -4
  596. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.error.ts +11 -0
  597. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +188 -4
  598. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeatureOperation.context.ts +33 -0
  599. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapIndex.context.ts +99 -0
  600. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapper.component.ts +182 -0
  601. package/src/lib/A-FrameDynamicFeature/index.ts +6 -1
  602. package/src/lib/A-FrameDynamicPatch/index.ts +2 -0
  603. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapIndex.context.ts +99 -0
  604. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapper.component.ts +320 -0
  605. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +2 -1
  606. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +240 -128
  607. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +183 -87
  608. package/src/lib/A-FrameDynamicStructure/index.ts +3 -0
  609. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +5 -1
  610. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +23 -1
  611. package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +12 -0
  612. package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +63 -13
  613. package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +53 -0
  614. package/src/lib/A-FrameModels/A-FrameModels.constants.ts +75 -0
  615. package/src/lib/A-FrameModels/index.ts +1 -0
  616. package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +10 -3
  617. package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +5 -0
  618. package/src/lib/A-FrameSchema/A-FrameSchema.constants.ts +4 -0
  619. package/src/lib/A-FrameSchema/A-FrameSchema.entity.ts +154 -0
  620. package/src/lib/A-FrameSchema/A-FrameSchema.types.ts +88 -0
  621. package/src/lib/A-FrameSchema/index.ts +3 -0
  622. package/src/lib/A-FrameSegment/A-FrameSegment.constants.ts +12 -0
  623. package/src/lib/A-FrameSegment/A-FrameSegment.entity.ts +221 -0
  624. package/src/lib/A-FrameSegment/A-FrameSegment.types.ts +91 -0
  625. package/src/lib/A-FrameSegment/index.ts +3 -0
  626. package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +10 -4
  627. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +21 -0
  628. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +39 -21
  629. package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +124 -42
  630. package/src/lib/A-FrameVector/A-FrameVector.entity.ts +24 -0
  631. package/tests/A-Frame.browser.test.ts +167 -57
  632. package/tests/A-FrameDynamicContent.browser.test.ts +74 -0
  633. package/tests/integration/A-Frame.integration.test.ts +272 -0
  634. package/tests/integration/A-FrameCompletion.integration.test.ts +88 -0
  635. package/tests/integration/A-FrameContentMapping.integration.test.ts +261 -0
  636. package/tests/integration/A-FrameDefinition.integration.test.ts +154 -0
  637. package/tests/integration/A-FrameDynamicContent.integration.test.ts +126 -0
  638. package/tests/integration/A-FrameDynamicFeature.integration.test.ts +337 -0
  639. package/tests/integration/A-FrameDynamicStructure.integration.test.ts +264 -0
  640. package/tests/integration/A-FrameNamespace.integration.test.ts +109 -0
  641. package/tests/integration/A-FrameSchema.integration.test.ts +74 -0
  642. package/tests/integration/A-FrameSegment.integration.test.ts +102 -0
  643. package/tests/integration/A-FrameStorage.integration.test.ts +598 -0
  644. package/tests/jest.setup.browser.ts +1 -1
  645. package/tests/jest.setup.ts +4 -0
  646. package/tests/jest.setup.unit.ts +30 -0
  647. package/tests/unit/A-FrameChannel.unit.test.ts +124 -0
  648. package/tests/unit/A-FrameCompletion.unit.test.ts +25 -0
  649. package/tests/unit/A-FrameDefinition.unit.test.ts +36 -0
  650. package/tests/unit/A-FrameDynamicContent.unit.test.ts +28 -0
  651. package/tests/unit/A-FrameNamespace.unit.test.ts +35 -0
  652. package/tests/unit/A-FrameSchema.unit.test.ts +31 -0
  653. package/tests/unit/A-FrameSegment.unit.test.ts +20 -0
  654. package/tests/unit/mocks/MockA_FrameChannel.ts +112 -0
  655. package/tsconfig.browser.json +2 -0
  656. package/tsconfig.json +6 -0
  657. package/tsup.config.ts +52 -0
  658. package/tests/A-Frame.test.ts +0 -98
@@ -0,0 +1,187 @@
1
+ import { A_FrameIndex } from './chunk-OMGYXCFM.mjs';
2
+ import { A_FrameDynamicStructure, A_FrameDynamicStructureFeatures, A_FrameComponentMapIndex, A_FrameChannel, A_FrameChannelRequest, A_FrameFeatures, A_FrameDynamicStructureError } from './chunk-KFW4GE7H.mjs';
3
+ import { A_FrameVector } from './chunk-IAL2NK2V.mjs';
4
+ import { __decorateClass, __decorateParam } from './chunk-OI76LHVT.mjs';
5
+ import { A_Feature, A_Inject, A_Caller, A_Component, A_Scope, A_Context, A_Container, A_Fragment, A_Entity } from '@adaas/a-concept';
6
+
7
+ var A_FrameComponentMapper = class extends A_Component {
8
+ async mapStructure(structure, mapIndex, frameIndex, channel) {
9
+ const def = structure.definition;
10
+ if (!def) return;
11
+ const tryMatch = (el, minScore, inherit) => {
12
+ if (!el.embedding?.length) {
13
+ return { matchedClass: null, matchScore: 0 };
14
+ }
15
+ const results = frameIndex.search(new A_FrameVector(el.embedding), { topK: 1, inherit });
16
+ const top = results[0];
17
+ if (top && top.score >= minScore) {
18
+ return { matchedClass: top.record.name, matchScore: top.score };
19
+ }
20
+ return { matchedClass: null, matchScore: top?.score ?? 0 };
21
+ };
22
+ const allElements = (d) => [
23
+ ...d.containers,
24
+ ...d.containers.flatMap((c) => [
25
+ ...c.components ?? [],
26
+ ...c.fragments ?? [],
27
+ ...c.entities ?? []
28
+ ]),
29
+ ...d.components,
30
+ ...d.fragments,
31
+ ...d.entities
32
+ ];
33
+ const inferInherit = (el, d) => {
34
+ if (d.containers.some((c) => c.prompt === el.prompt)) return { class: A_Container };
35
+ if (d.components.some((c) => c.prompt === el.prompt)) return { class: A_Component };
36
+ if (d.fragments.some((c) => c.prompt === el.prompt)) return { class: A_Fragment };
37
+ if (d.entities.some((c) => c.prompt === el.prompt)) return { class: A_Entity };
38
+ for (const ct of d.containers) {
39
+ if ((ct.components ?? []).some((c) => c.prompt === el.prompt)) return { class: A_Component };
40
+ if ((ct.fragments ?? []).some((c) => c.prompt === el.prompt)) return { class: A_Fragment };
41
+ if ((ct.entities ?? []).some((c) => c.prompt === el.prompt)) return { class: A_Entity };
42
+ }
43
+ return void 0;
44
+ };
45
+ const updateElementEmbedding = (d, oldPrompt, newPrompt, newEmbedding, newRole) => {
46
+ const update = (el) => {
47
+ if (el.prompt === oldPrompt) {
48
+ el.prompt = newPrompt;
49
+ el.embedding = newEmbedding;
50
+ if (newRole !== void 0) el.role = newRole;
51
+ }
52
+ };
53
+ d.containers.forEach(update);
54
+ d.containers.forEach((ct) => {
55
+ (ct.components ?? []).forEach(update);
56
+ (ct.fragments ?? []).forEach(update);
57
+ (ct.entities ?? []).forEach(update);
58
+ });
59
+ d.components.forEach(update);
60
+ d.fragments.forEach(update);
61
+ d.entities.forEach(update);
62
+ };
63
+ const matchAll = (d) => {
64
+ mapIndex.clear();
65
+ const score = structure.minScore;
66
+ for (const ct of d.containers) {
67
+ mapIndex.set({
68
+ prompt: ct.prompt,
69
+ role: ct.role,
70
+ class: ct.class,
71
+ ...tryMatch(ct, score, { class: A_Container })
72
+ });
73
+ for (const el of ct.components ?? [])
74
+ mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Component }) });
75
+ for (const el of ct.fragments ?? [])
76
+ mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Fragment }) });
77
+ for (const el of ct.entities ?? [])
78
+ mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Entity }) });
79
+ }
80
+ for (const el of d.components)
81
+ mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Component }) });
82
+ for (const el of d.fragments)
83
+ mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Fragment }) });
84
+ for (const el of d.entities)
85
+ mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Entity }) });
86
+ };
87
+ const workingDef = def;
88
+ matchAll(workingDef);
89
+ for (let retry = 0; retry < structure.maxRetries; retry++) {
90
+ const unmatchedEls = allElements(workingDef).filter(
91
+ (el) => el.embedding?.length && mapIndex.get(el.prompt)?.matchedClass === null
92
+ );
93
+ if (unmatchedEls.length === 0) break;
94
+ const k = structure.candidateCount;
95
+ const selectElements = unmatchedEls.map((el) => {
96
+ mapIndex.get(el.prompt);
97
+ const candidateResults = frameIndex.search(
98
+ new A_FrameVector(el.embedding),
99
+ { topK: k }
100
+ );
101
+ return {
102
+ prompt: el.prompt,
103
+ role: el.role,
104
+ candidates: candidateResults.map((r) => ({
105
+ name: r.record.name,
106
+ description: r.record.description
107
+ }))
108
+ };
109
+ });
110
+ const selectReq = new A_FrameChannelRequest(
111
+ "POST",
112
+ "/api/v1/structure/select",
113
+ {
114
+ originalPrompt: structure.prompt,
115
+ elements: selectElements,
116
+ model: structure.modelName
117
+ }
118
+ );
119
+ const selectScope = new A_Scope({
120
+ name: `A_FrameComponentMapper.mapStructure:select${retry}`,
121
+ fragments: [selectReq]
122
+ }).inherit(A_Context.scope(channel));
123
+ await channel.call(A_FrameFeatures.Request, selectScope);
124
+ selectScope.destroy();
125
+ if (!selectReq.response) break;
126
+ let anyUpdate = false;
127
+ for (const resolution of selectReq.response.resolutions) {
128
+ const existing = mapIndex.get(resolution.elementPrompt);
129
+ if (!existing) continue;
130
+ if (resolution.type === "select" && resolution.selectedClass) {
131
+ mapIndex.set({ ...existing, matchedClass: resolution.selectedClass, matchScore: 1 });
132
+ anyUpdate = true;
133
+ } else if (resolution.type === "suggest" && resolution.suggestion) {
134
+ const { prompt: newPrompt, role: newRole, embedding: newEmbedding } = resolution.suggestion;
135
+ if (newEmbedding?.length) {
136
+ const el = unmatchedEls.find((e) => e.prompt === resolution.elementPrompt);
137
+ const inherit = el ? inferInherit(el, workingDef) : void 0;
138
+ const results = frameIndex.search(
139
+ new A_FrameVector(newEmbedding),
140
+ { topK: 1, inherit }
141
+ );
142
+ const top = results[0];
143
+ if (top && top.score >= structure.minScore) {
144
+ mapIndex.set({ ...existing, matchedClass: top.record.name, matchScore: top.score });
145
+ anyUpdate = true;
146
+ } else {
147
+ mapIndex.set({ ...existing, prompt: newPrompt, role: newRole });
148
+ updateElementEmbedding(workingDef, resolution.elementPrompt, newPrompt, newEmbedding, newRole);
149
+ anyUpdate = true;
150
+ }
151
+ } else {
152
+ mapIndex.set({ ...existing, prompt: newPrompt, role: newRole });
153
+ anyUpdate = true;
154
+ }
155
+ }
156
+ }
157
+ if (!anyUpdate) break;
158
+ }
159
+ for (const el of allElements(workingDef)) {
160
+ const entry = mapIndex.get(el.prompt);
161
+ if (entry && entry.matchedClass === null && el.embedding?.length) {
162
+ mapIndex.set({
163
+ ...entry,
164
+ matchError: {
165
+ title: A_FrameDynamicStructureError.ComponentNotFound,
166
+ description: `Unable to match "${el.prompt}" to any registered implementation after ${structure.maxRetries} retries.`
167
+ }
168
+ });
169
+ }
170
+ }
171
+ structure.hydrateFromMap(mapIndex.toResult(workingDef));
172
+ }
173
+ };
174
+ __decorateClass([
175
+ A_Feature.Extend({
176
+ name: A_FrameDynamicStructureFeatures.Map,
177
+ scope: [A_FrameDynamicStructure]
178
+ }),
179
+ __decorateParam(0, A_Inject(A_Caller)),
180
+ __decorateParam(1, A_Inject(A_FrameComponentMapIndex)),
181
+ __decorateParam(2, A_Inject(A_FrameIndex)),
182
+ __decorateParam(3, A_Inject(A_FrameChannel))
183
+ ], A_FrameComponentMapper.prototype, "mapStructure", 1);
184
+
185
+ export { A_FrameComponentMapper };
186
+ //# sourceMappingURL=chunk-RVZTZD32.mjs.map
187
+ //# sourceMappingURL=chunk-RVZTZD32.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameDynamicStructure/A-FrameComponentMapper.component.ts"],"names":[],"mappings":"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","file":"chunk-RVZTZD32.mjs","sourcesContent":["import { A_Caller, A_Component, A_Container, A_Context, A_Entity, A_Feature, A_Fragment, A_Inject, A_Scope } from \"@adaas/a-concept\";\nimport { A_FrameChannel } from \"../A-FrameChannel/A-FrameChannel.component\";\nimport { A_FrameFeatures } from \"../A-FrameChannel/A-FrameChannel.constants\";\nimport { A_FrameChannelRequest } from \"../A-FrameChannel/A-FrameChannelRequest.context\";\nimport { A_FrameIndex } from \"../A-FrameIndex/A-FrameIndex.context\";\nimport { A_FrameInheritanceFilter } from \"../A-FrameIndex/A-FrameIndex.types\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameDynamicStructure } from \"./A-FrameDynamicStructure.entity\";\nimport { A_FrameDynamicStructureFeatures } from \"./A-FrameDynamicStructure.constants\";\nimport { A_FrameDynamicStructureError } from \"./A-FrameDynamicStructure.error\";\nimport {\n A_FrameComponentMapEntry,\n A_FrameDynamicStructureDefinition,\n A_FrameDynamicStructureDefinitionEntity,\n A_FrameStructureSelectRequest,\n A_FrameStructureSelectResolution,\n A_FrameStructureSelectResponse,\n} from \"./A-FrameDynamicStructure.types\";\nimport { A_FrameComponentMapIndex } from \"./A-FrameComponentMapIndex.context\";\n\n\n/**\n * Stateless component that implements the `Map` feature for\n * `A_FrameDynamicStructure`.\n *\n * Receives all necessary context via `@A_Inject` — it stores no state of its\n * own. Injects the calling structure (via `A_Caller`), the local definition\n * index (`A_FrameIndex`), the map-result accumulator (`A_FrameComponentMapIndex`),\n * and the HTTP channel (`A_FrameChannel`) needed for refinement retry calls.\n *\n * Algorithm:\n * 1. Read `structure.definition` (raw, with server embeddings).\n * 2. For every element run cosine-similarity search against `A_FrameIndex`.\n * 3. For remaining unmatched elements (up to `structure.maxRetries`): ask the\n * server to refine their descriptions, then re-match the new definition.\n * 4. Mark still-unmatched elements with a `matchError`.\n * 5. Call `structure.hydrateFromMap(mapIndex.toResult(workingDef))`.\n */\nexport class A_FrameComponentMapper extends A_Component {\n\n @A_Feature.Extend({\n name: A_FrameDynamicStructureFeatures.Map,\n scope: [A_FrameDynamicStructure],\n })\n async mapStructure(\n @A_Inject(A_Caller) structure: A_FrameDynamicStructure,\n @A_Inject(A_FrameComponentMapIndex) mapIndex: A_FrameComponentMapIndex,\n @A_Inject(A_FrameIndex) frameIndex: A_FrameIndex,\n @A_Inject(A_FrameChannel) channel: A_FrameChannel,\n ): Promise<void> {\n\n const def = structure.definition;\n if (!def) return;\n\n // ── helpers ──────────────────────────────────────────────────────────\n\n const tryMatch = (\n el: A_FrameDynamicStructureDefinitionEntity,\n minScore: number,\n inherit?: A_FrameInheritanceFilter | A_FrameInheritanceFilter[],\n ): Pick<A_FrameComponentMapEntry, 'matchedClass' | 'matchScore'> => {\n if (!el.embedding?.length) {\n return { matchedClass: null, matchScore: 0 };\n }\n const results = frameIndex.search(new A_FrameVector(el.embedding), { topK: 1, inherit });\n const top = results[0];\n if (top && top.score >= minScore) {\n return { matchedClass: top.record.name, matchScore: top.score };\n }\n return { matchedClass: null, matchScore: top?.score ?? 0 };\n };\n\n const allElements = (d: A_FrameDynamicStructureDefinition): A_FrameDynamicStructureDefinitionEntity[] => [\n ...d.containers,\n ...d.containers.flatMap(c => [\n ...(c.components ?? []),\n ...(c.fragments ?? []),\n ...(c.entities ?? []),\n ]),\n ...d.components,\n ...d.fragments,\n ...d.entities,\n ];\n\n const stripEmbeddings = (d: A_FrameDynamicStructureDefinition): A_FrameDynamicStructureDefinition => {\n const strip = (el: A_FrameDynamicStructureDefinitionEntity): A_FrameDynamicStructureDefinitionEntity => {\n const { embedding, ...rest } = el as any;\n return rest as A_FrameDynamicStructureDefinitionEntity;\n };\n return {\n containers: d.containers.map(c => ({\n ...strip(c),\n components: (c.components ?? []).map(strip),\n fragments: (c.fragments ?? []).map(strip),\n entities: (c.entities ?? []).map(strip),\n })),\n components: d.components.map(strip),\n fragments: d.fragments.map(strip),\n entities: d.entities.map(strip),\n };\n };\n\n /**\n * Infer the appropriate inheritance filter for an element by checking which\n * slot it occupies inside the definition (container / component / fragment / entity).\n */\n const inferInherit = (\n el: A_FrameDynamicStructureDefinitionEntity,\n d: A_FrameDynamicStructureDefinition,\n ): A_FrameInheritanceFilter | undefined => {\n if (d.containers.some(c => c.prompt === el.prompt)) return { class: A_Container };\n if (d.components.some(c => c.prompt === el.prompt)) return { class: A_Component };\n if (d.fragments.some(c => c.prompt === el.prompt)) return { class: A_Fragment };\n if (d.entities.some(c => c.prompt === el.prompt)) return { class: A_Entity };\n for (const ct of d.containers) {\n if ((ct.components ?? []).some(c => c.prompt === el.prompt)) return { class: A_Component };\n if ((ct.fragments ?? []).some(c => c.prompt === el.prompt)) return { class: A_Fragment };\n if ((ct.entities ?? []).some(c => c.prompt === el.prompt)) return { class: A_Entity };\n }\n return undefined;\n };\n\n /**\n * Mutate workingDef in-place: update the element identified by `oldPrompt`\n * with a new prompt, role, and embedding from a server suggestion.\n * This lets the next iteration's `allElements()` find the updated embedding.\n */\n const updateElementEmbedding = (\n d: A_FrameDynamicStructureDefinition,\n oldPrompt: string,\n newPrompt: string,\n newEmbedding: number[],\n newRole?: string,\n ): void => {\n const update = (el: A_FrameDynamicStructureDefinitionEntity & { role?: string }): void => {\n if (el.prompt === oldPrompt) {\n el.prompt = newPrompt;\n el.embedding = newEmbedding;\n if (newRole !== undefined) el.role = newRole;\n }\n };\n d.containers.forEach(update);\n d.containers.forEach(ct => {\n (ct.components ?? []).forEach(update);\n (ct.fragments ?? []).forEach(update);\n (ct.entities ?? []).forEach(update);\n });\n d.components.forEach(update);\n d.fragments.forEach(update);\n d.entities.forEach(update);\n };\n\n /**\n * Match all elements in the definition, restricting each group's candidate\n * pool to the appropriate base class via inheritance filters:\n * containers → A_Container\n * components → A_Component\n * fragments → A_Fragment\n * entities → A_Entity\n */\n const matchAll = (d: A_FrameDynamicStructureDefinition): void => {\n mapIndex.clear();\n const score = structure.minScore;\n\n // Top-level containers\n for (const ct of d.containers) {\n mapIndex.set({\n prompt: ct.prompt,\n role: ct.role,\n class: ct.class,\n ...tryMatch(ct, score, { class: A_Container }),\n });\n // Nested: components, fragments, entities within each container\n for (const el of (ct.components ?? []))\n mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Component }) });\n for (const el of (ct.fragments ?? []))\n mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Fragment }) });\n for (const el of (ct.entities ?? []))\n mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Entity }) });\n }\n\n // Top-level cross-cutting elements\n for (const el of d.components)\n mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Component }) });\n for (const el of d.fragments)\n mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Fragment }) });\n for (const el of d.entities)\n mapIndex.set({ prompt: el.prompt, role: el.role, class: el.class, ...tryMatch(el, score, { class: A_Entity }) });\n };\n\n // ── initial matching pass ─────────────────────────────────────────────\n\n const workingDef = def;\n matchAll(workingDef);\n\n // ── select / suggest retry loop ───────────────────────────────────────\n //\n // For each retry: collect unmatched elements, pull `candidateCount` top\n // candidates per element from the local index (no minScore filter so we\n // always have *something* to show the AI), then call /api/v1/structure/select.\n //\n // The server returns one resolution per element:\n // select → directly set matchedClass (no re-embed needed)\n // suggest → the response includes a fresh embedding; re-run tryMatch\n // none → skip the element (will become a matchError below)\n\n for (let retry = 0; retry < structure.maxRetries; retry++) {\n const unmatchedEls = allElements(workingDef).filter(\n el => el.embedding?.length && mapIndex.get(el.prompt)?.matchedClass === null,\n );\n if (unmatchedEls.length === 0) break;\n\n // Build select payload — top-K candidates per element, no minScore.\n const k = structure.candidateCount;\n const selectElements = unmatchedEls.map(el => {\n // Determine appropriate inheritance filter for this element's role.\n // We look up the existing map entry to know which slot it lives in.\n const entry = mapIndex.get(el.prompt);\n // Use unconstrained search to get candidates (already tried constrained above).\n const candidateResults = frameIndex.search(\n new A_FrameVector(el.embedding!),\n { topK: k },\n );\n return {\n prompt: el.prompt,\n role: el.role,\n candidates: candidateResults.map(r => ({\n name: r.record.name,\n description: r.record.description,\n })),\n };\n });\n\n // Call /api/v1/structure/select\n const selectReq = new A_FrameChannelRequest<A_FrameStructureSelectResponse>(\n 'POST',\n '/api/v1/structure/select',\n {\n originalPrompt: structure.prompt,\n elements: selectElements,\n model: structure.modelName,\n } satisfies A_FrameStructureSelectRequest,\n );\n\n const selectScope = new A_Scope({\n name: `A_FrameComponentMapper.mapStructure:select${retry}`,\n fragments: [selectReq],\n }).inherit(A_Context.scope(channel));\n\n await channel.call(A_FrameFeatures.Request, selectScope);\n selectScope.destroy();\n\n if (!selectReq.response) break;\n\n // Apply resolutions\n let anyUpdate = false;\n for (const resolution of selectReq.response.resolutions) {\n const existing = mapIndex.get(resolution.elementPrompt);\n if (!existing) continue;\n\n if (resolution.type === 'select' && resolution.selectedClass) {\n // Direct selection — no re-embed required.\n mapIndex.set({ ...existing, matchedClass: resolution.selectedClass, matchScore: 1 });\n anyUpdate = true;\n\n } else if (resolution.type === 'suggest' && resolution.suggestion) {\n // Server suggested a re-description, optionally with a fresh embedding.\n const { prompt: newPrompt, role: newRole, embedding: newEmbedding } = resolution.suggestion;\n\n if (newEmbedding?.length) {\n // Re-search locally with the new embedding.\n const el = unmatchedEls.find(e => e.prompt === resolution.elementPrompt);\n const inherit = el ? inferInherit(el, workingDef) : undefined;\n const results = frameIndex.search(\n new A_FrameVector(newEmbedding),\n { topK: 1, inherit },\n );\n const top = results[0];\n if (top && top.score >= structure.minScore) {\n mapIndex.set({ ...existing, matchedClass: top.record.name, matchScore: top.score });\n anyUpdate = true;\n } else {\n // Still unmatched, but update the prompt so next retry uses the new description.\n mapIndex.set({ ...existing, prompt: newPrompt, role: newRole });\n // Also update the working element so allElements() finds the new embedding.\n updateElementEmbedding(workingDef, resolution.elementPrompt, newPrompt, newEmbedding, newRole);\n anyUpdate = true;\n }\n } else {\n // No embedding returned — just update description for next round.\n mapIndex.set({ ...existing, prompt: newPrompt, role: newRole });\n anyUpdate = true;\n }\n }\n // type === 'none': leave as-is, will become matchError below.\n }\n\n if (!anyUpdate) break;\n }\n\n // ── finalize: mark remaining unmatched with an error ──────────────────\n\n for (const el of allElements(workingDef)) {\n const entry = mapIndex.get(el.prompt);\n if (entry && entry.matchedClass === null && el.embedding?.length) {\n mapIndex.set({\n ...entry,\n matchError: {\n title: A_FrameDynamicStructureError.ComponentNotFound,\n description: `Unable to match \"${el.prompt}\" to any registered implementation after ${structure.maxRetries} retries.`,\n },\n });\n }\n }\n\n // ── hydrate the structure with the map result ─────────────────────────\n\n structure.hydrateFromMap(mapIndex.toResult(workingDef));\n }\n}\n"]}
@@ -0,0 +1,273 @@
1
+ import { A_FrameHashHelper } from './chunk-442DXGOD.mjs';
2
+ import { A_FrameVector } from './chunk-IAL2NK2V.mjs';
3
+ import { A_FRAME_MODELS } from './chunk-2HUSP34L.mjs';
4
+ import { A_Entity, A_Dependency, A_FormatterHelper } from '@adaas/a-concept';
5
+
6
+ // src/lib/A-FrameDefinition/A-FrameDefinition.constants.ts
7
+ var A_FrameDefinitionFeatures = {
8
+ Load: "_A_FRAME_DEFINITION_LOAD",
9
+ Save: "_A_FRAME_DEFINITION_SAVE",
10
+ Embed: "_A_FRAME_DEFINITION_EMBED",
11
+ Destroy: "_A_FRAME_DEFINITION_DESTROY"
12
+ };
13
+
14
+ // src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts
15
+ var A_FrameDefinition = class extends A_Entity {
16
+ static get concept() {
17
+ return "a-frame";
18
+ }
19
+ //-----------------------------------------------------------------------------------------------------
20
+ //---------------------------------------- Primary properties -----------------------------------------
21
+ //-----------------------------------------------------------------------------------------------------
22
+ /**
23
+ * Definition Identifier from ASEID unique name
24
+ */
25
+ get id() {
26
+ return this.aseid.id;
27
+ }
28
+ /**
29
+ * The type of the definition target (component, entity, container, fragment, or method)
30
+ */
31
+ get type() {
32
+ return this._type;
33
+ }
34
+ /**
35
+ * The name of the defined feature (e.g. "MyComponent", "myMethod", etc.)
36
+ */
37
+ get name() {
38
+ return this._name;
39
+ }
40
+ /**
41
+ * Description that explains the purpose of the defined feature, its inputs/outputs, or any other relevant information.
42
+ */
43
+ get description() {
44
+ return this._description;
45
+ }
46
+ get dependency() {
47
+ return new A_Dependency(this._dependency);
48
+ }
49
+ /**
50
+ * The original source code string that implements the defined feature. This is the main content that gets embedded and indexed for search.
51
+ */
52
+ get source() {
53
+ return this._source;
54
+ }
55
+ /**
56
+ * The vector embedding representing the definition's source and metadata. This is populated after embedding and is used for similarity search in the index.
57
+ */
58
+ get vector() {
59
+ return this._vector;
60
+ }
61
+ /**
62
+ * Namespace to which this definition belongs. Used for scoping search and organizing definitions. If not specified, defaults to the global namespace.
63
+ */
64
+ get namespace() {
65
+ return this._namespace;
66
+ }
67
+ /**
68
+ * Additional metadata about the definition, stored as key-value pairs. This can include any relevant information that doesn't fit into the other properties but may be useful for search or organization.
69
+ */
70
+ get metadata() {
71
+ return this._metadata || {};
72
+ }
73
+ //-----------------------------------------------------------------------------------------------------
74
+ //----------------------------------- Common State properties -----------------------------------------
75
+ //-----------------------------------------------------------------------------------------------------
76
+ /**
77
+ * A unique hash string computed from the definition's name, source, description, and metadata. This is used to identify identical definitions and avoid duplicates in the index.
78
+ */
79
+ get hash() {
80
+ return this._hash;
81
+ }
82
+ /**
83
+ * The timestamp (in milliseconds since epoch) when the definition was embedded. This is used for tracking the freshness of the embedding and can be useful for re-embedding stale definitions.
84
+ */
85
+ get date() {
86
+ return this._date;
87
+ }
88
+ /**
89
+ * The name of the embedding model used to produce the vector. This is important for understanding the characteristics of the embedding and for debugging purposes.
90
+ */
91
+ get model() {
92
+ return this._model;
93
+ }
94
+ /**
95
+ * The model requested for embedding at init time. Defaults to `A_FRAME_MODELS.ANTARES`
96
+ * if not explicitly overridden. Sent to the server in the embed request.
97
+ */
98
+ get requestedModel() {
99
+ return this._requestedModel;
100
+ }
101
+ /**
102
+ * ID of the server credential (API key) used during embedding. This is useful for auditing and debugging embedding operations, especially when multiple credentials are in use.
103
+ */
104
+ get credentialId() {
105
+ return this._credentialId;
106
+ }
107
+ /**
108
+ * Version of @adaas/a-frame that produced this record. This helps track compatibility and understand which version of the library was used to create the definition.
109
+ */
110
+ get aFrameVersion() {
111
+ return this._aFrameVersion;
112
+ }
113
+ /**
114
+ * Version of a-frame-server that produced the vector. This is useful for debugging embedding issues and ensuring compatibility between the library and the embed server.
115
+ */
116
+ get aFrameServerVersion() {
117
+ return this._aFrameServerVersion;
118
+ }
119
+ /**
120
+ * Structural metadata extracted server-side when the definition was embedded.
121
+ * Includes discovered methods, @A_Inject dependencies, and @A_Feature.Extend names.
122
+ */
123
+ get aFrameMeta() {
124
+ return this._aFrameMeta;
125
+ }
126
+ //-----------------------------------------------------------------------------------------------------
127
+ //--------------------------------------- Computed properties -----------------------------------------
128
+ //-----------------------------------------------------------------------------------------------------
129
+ get isEmbed() {
130
+ return this._vector !== void 0;
131
+ }
132
+ /**
133
+ * Saves the definition to storage. The actual implementation of saving is handled by the A_FrameDefinitionFeatures.Save feature, which can be implemented by the environment (e.g. browser, Node.js) to persist the definition in a database, file system, or other storage mechanism.
134
+ *
135
+ * @param scope
136
+ * @returns
137
+ */
138
+ save(scope) {
139
+ return this.call(A_FrameDefinitionFeatures.Save, scope);
140
+ }
141
+ /**
142
+ * Deletes the definition from storage. The actual implementation of deletion is handled by the A_FrameDefinitionFeatures.Destroy feature, which can be implemented by the environment to remove the definition from the database, file system, or other storage mechanism.
143
+ *
144
+ * @param scope
145
+ * @returns
146
+ */
147
+ destroy(scope) {
148
+ return this.call(A_FrameDefinitionFeatures.Destroy, scope);
149
+ }
150
+ /**
151
+ * Loads the definition from storage. The actual implementation of loading is handled by the A_FrameDefinitionFeatures.Load feature, which can be implemented by the environment to retrieve the definition from the database, file system, or other storage mechanism and populate the entity's properties accordingly.
152
+ *
153
+ * @param scope
154
+ * @returns
155
+ */
156
+ load(scope) {
157
+ return this.call(A_FrameDefinitionFeatures.Load, scope);
158
+ }
159
+ /**
160
+ * 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.
161
+ *
162
+ * @param updates
163
+ */
164
+ update(updates) {
165
+ if (updates.source) this._source = updates.source;
166
+ if (updates.description !== void 0) this._description = updates.description;
167
+ if (updates.metadata !== void 0) this._metadata = updates.metadata;
168
+ if (updates.namespace !== void 0) this._namespace = updates.namespace;
169
+ }
170
+ /**
171
+ * Generates the embedding for the definition's source and metadata.
172
+ *
173
+ * @param scope
174
+ * @returns
175
+ */
176
+ embed(scope) {
177
+ return this.call(A_FrameDefinitionFeatures.Embed, scope);
178
+ }
179
+ fromNew(newEntity) {
180
+ this._type = newEntity.type;
181
+ this.aseid = this.generateASEID({
182
+ id: A_FormatterHelper.toKebabCase(newEntity.dependency + "-" + newEntity.name),
183
+ scope: "a-frame"
184
+ });
185
+ this._name = newEntity.name;
186
+ const hashSource = this._name + "//" + (newEntity.description || "") + "//" + (newEntity.metadata ? JSON.stringify(newEntity.metadata) : "") + "//" + newEntity.source + "//Namespace: " + newEntity.namespace.id;
187
+ this._hash = A_FrameHashHelper.fnv1a(hashSource);
188
+ this._source = newEntity.source;
189
+ this._description = newEntity.description;
190
+ this._namespace = newEntity.namespace;
191
+ this._metadata = newEntity.metadata;
192
+ this._dependency = newEntity.dependency;
193
+ this._requestedModel = newEntity.model ?? A_FRAME_MODELS.ANTARES;
194
+ }
195
+ fromJSON(serialized) {
196
+ this._name = serialized.name;
197
+ this._hash = serialized.hash;
198
+ this._source = serialized.source || "";
199
+ this._description = serialized.description;
200
+ this._metadata = serialized.metadata;
201
+ this._vector = serialized.embedding ? new A_FrameVector(serialized.embedding) : void 0;
202
+ this._date = serialized.date;
203
+ this._model = serialized.model;
204
+ this._credentialId = serialized.credentialId;
205
+ this._aFrameVersion = serialized.aFrameVersion;
206
+ this._aFrameServerVersion = serialized.aFrameServerVersion;
207
+ this._aFrameMeta = serialized.aFrameMeta;
208
+ }
209
+ toJSON() {
210
+ return {
211
+ ...super.toJSON(),
212
+ hash: this._hash,
213
+ name: this._name,
214
+ source: this._source,
215
+ description: this._description,
216
+ metadata: this._metadata,
217
+ namespace: this._namespace.aseid.toString(),
218
+ embedding: this._vector?.values,
219
+ date: this._date ?? (/* @__PURE__ */ new Date()).toISOString(),
220
+ model: this._model,
221
+ credentialId: this._credentialId,
222
+ aFrameVersion: this._aFrameVersion,
223
+ aFrameServerVersion: this._aFrameServerVersion,
224
+ aFrameMeta: this._aFrameMeta
225
+ };
226
+ }
227
+ // ─── Embedding hydration ──────────────────────────────────────────────────
228
+ /** Populate the vector from a pre-existing storage record */
229
+ // hydrateFromRecord(record: A_FrameDefinition_Record): void {
230
+ // if (record.hash !== this._hash) {
231
+ // throw new Error(
232
+ // `A_FrameDefinition.hydrateFromRecord: hash mismatch for "${this._name}" ` +
233
+ // `(expected ${this._hash}, got ${record.hash})`
234
+ // );
235
+ // }
236
+ // this._vector = new A_FrameVector(record.embedding);
237
+ // this._embeddedAt = record.embeddedAt;
238
+ // this._model = record.model;
239
+ // this._credentialId = record.credentialId;
240
+ // this._aFrameVersion = record.aFrameVersion;
241
+ // this._aFrameServerVersion = record.aFrameServerVersion;
242
+ // }
243
+ /** Populate the vector from a freshly-fetched embedding */
244
+ hydrateFromEmbedding(embedding, meta) {
245
+ this._vector = new A_FrameVector(embedding);
246
+ this._date = (/* @__PURE__ */ new Date()).toISOString();
247
+ if (meta) {
248
+ this._model = meta.model;
249
+ this._credentialId = meta.credentialId ?? void 0;
250
+ this._aFrameVersion = meta.aFrameVersion;
251
+ this._aFrameServerVersion = meta.aFrameServerVersion;
252
+ if (meta.aFrameMeta)
253
+ this._aFrameMeta = meta.aFrameMeta;
254
+ }
255
+ }
256
+ // ─── Embedding input ──────────────────────────────────────────────────────
257
+ /**
258
+ * Build the text string sent to the embedding model.
259
+ * Concatenates name + description + source so the resulting
260
+ * vector captures both intent and implementation.
261
+ */
262
+ toString() {
263
+ const parts = [];
264
+ parts.push(`// ${this._name}`);
265
+ if (this._description) parts.push(`// ${this._description}`);
266
+ parts.push(this._source);
267
+ return parts.join("\n");
268
+ }
269
+ };
270
+
271
+ export { A_FrameDefinition, A_FrameDefinitionFeatures };
272
+ //# sourceMappingURL=chunk-RWLKISZQ.mjs.map
273
+ //# sourceMappingURL=chunk-RWLKISZQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameDefinition/A-FrameDefinition.constants.ts","../../src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts"],"names":[],"mappings":"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","file":"chunk-RWLKISZQ.mjs","sourcesContent":["\n\nexport const A_FrameDefinitionFeatures = {\n Load: '_A_FRAME_DEFINITION_LOAD',\n Save: '_A_FRAME_DEFINITION_SAVE',\n Embed: '_A_FRAME_DEFINITION_EMBED',\n Destroy: '_A_FRAME_DEFINITION_DESTROY',\n} as const;","import { A_Dependency, A_Entity, A_FormatterHelper, A_Scope } from \"@adaas/a-concept\";\nimport {\n A_FrameDefinition_EmbeddingMeta,\n A_FrameDefinition_Init,\n A_FrameDefinition_Serialized,\n DefinitionExtractedMeta,\n} from \"./A-FrameDefinition.types\";\nimport { A_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameNamespace } from \"../A-FrameNamespace\";\nimport { A_FrameHashHelper } from \"@adaas/a-frame/helpers/Hash.helper\";\nimport { A_FrameDefinitionFeatures } from \"./A-FrameDefinition.constants\";\nimport { A_FrameTargetType } from \"../A-Frame/A-Frame.types\";\nimport { A_FRAME_MODELS } from \"../A-FrameModels\";\n\nexport class A_FrameDefinition extends A_Entity<A_FrameDefinition_Init, A_FrameDefinition_Serialized> {\n\n static get concept(): string {\n return 'a-frame';\n }\n\n protected _name!: string;\n protected _type!: A_FrameTargetType;\n protected _source!: string;\n protected _dependency!: string;\n protected _description?: string;\n protected _namespace!: A_FrameNamespace;\n protected _metadata?: Record<string, any>;\n protected _vector?: A_FrameVector;\n\n\n /**\n * Common properties for all definition types (component, entity, container, fragment, method\n */\n protected _hash!: string;\n protected _date?: string;\n protected _model!: string;\n protected _requestedModel!: string;\n protected _credentialId!: string;\n protected _aFrameVersion!: string;\n protected _aFrameServerVersion!: string;\n protected _aFrameMeta?: DefinitionExtractedMeta;\n\n //-----------------------------------------------------------------------------------------------------\n //---------------------------------------- Primary properties -----------------------------------------\n //-----------------------------------------------------------------------------------------------------\n /**\n * Definition Identifier from ASEID unique name \n */\n get id(): string {\n return this.aseid.id;\n }\n /**\n * The type of the definition target (component, entity, container, fragment, or method)\n */\n get type(): A_FrameTargetType {\n return this._type;\n }\n /**\n * The name of the defined feature (e.g. \"MyComponent\", \"myMethod\", etc.)\n */\n get name(): string {\n return this._name;\n }\n /**\n * Description that explains the purpose of the defined feature, its inputs/outputs, or any other relevant information.\n */\n get description(): string | undefined {\n return this._description;\n }\n\n get dependency(): A_Dependency {\n return new A_Dependency(this._dependency);\n }\n /**\n * The original source code string that implements the defined feature. This is the main content that gets embedded and indexed for search.\n */\n get source(): string {\n return this._source;\n }\n /**\n * The vector embedding representing the definition's source and metadata. This is populated after embedding and is used for similarity search in the index.\n */\n get vector(): A_FrameVector | undefined {\n return this._vector;\n }\n /**\n * Namespace to which this definition belongs. Used for scoping search and organizing definitions. If not specified, defaults to the global namespace.\n */\n get namespace(): A_FrameNamespace {\n return this._namespace;\n }\n /**\n * Additional metadata about the definition, stored as key-value pairs. This can include any relevant information that doesn't fit into the other properties but may be useful for search or organization.\n */\n get metadata(): Record<string, any> {\n return this._metadata || {};\n }\n //-----------------------------------------------------------------------------------------------------\n //----------------------------------- Common State properties -----------------------------------------\n //-----------------------------------------------------------------------------------------------------\n /**\n * A unique hash string computed from the definition's name, source, description, and metadata. This is used to identify identical definitions and avoid duplicates in the index.\n */\n get hash(): string {\n return this._hash;\n }\n /**\n * The timestamp (in milliseconds since epoch) when the definition was embedded. This is used for tracking the freshness of the embedding and can be useful for re-embedding stale definitions.\n */\n get date(): string | undefined {\n return this._date;\n }\n /**\n * The name of the embedding model used to produce the vector. This is important for understanding the characteristics of the embedding and for debugging purposes.\n */\n get model(): string {\n return this._model;\n }\n /**\n * The model requested for embedding at init time. Defaults to `A_FRAME_MODELS.ANTARES`\n * if not explicitly overridden. Sent to the server in the embed request.\n */\n get requestedModel(): string {\n return this._requestedModel;\n }\n /**\n * ID of the server credential (API key) used during embedding. This is useful for auditing and debugging embedding operations, especially when multiple credentials are in use.\n */\n get credentialId(): string | undefined {\n return this._credentialId;\n }\n /**\n * Version of @adaas/a-frame that produced this record. This helps track compatibility and understand which version of the library was used to create the definition.\n */\n get aFrameVersion(): string | undefined {\n return this._aFrameVersion;\n }\n /**\n * Version of a-frame-server that produced the vector. This is useful for debugging embedding issues and ensuring compatibility between the library and the embed server.\n */\n get aFrameServerVersion(): string | undefined {\n return this._aFrameServerVersion;\n }\n /**\n * Structural metadata extracted server-side when the definition was embedded.\n * Includes discovered methods, @A_Inject dependencies, and @A_Feature.Extend names.\n */\n get aFrameMeta(): DefinitionExtractedMeta | undefined {\n return this._aFrameMeta;\n }\n //-----------------------------------------------------------------------------------------------------\n //--------------------------------------- Computed properties -----------------------------------------\n //-----------------------------------------------------------------------------------------------------\n get isEmbed(): boolean {\n return this._vector !== undefined;\n }\n /**\n * Saves the definition to storage. The actual implementation of saving is handled by the A_FrameDefinitionFeatures.Save feature, which can be implemented by the environment (e.g. browser, Node.js) to persist the definition in 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_FrameDefinitionFeatures.Save, scope);\n }\n /**\n * Deletes the definition from storage. The actual implementation of deletion is handled by the A_FrameDefinitionFeatures.Destroy feature, which can be implemented by the environment to remove the definition 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_FrameDefinitionFeatures.Destroy, scope);\n }\n /**\n * Loads the definition from storage. The actual implementation of loading is handled by the A_FrameDefinitionFeatures.Load feature, which can be implemented by the environment to retrieve the definition from the database, file system, or other storage mechanism and populate the entity's properties accordingly.\n * \n * @param scope \n * @returns \n */\n load(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameDefinitionFeatures.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_FrameDefinition, 'source' | 'description' | 'metadata' | 'namespace'>>): void {\n if (updates.source) this._source = updates.source;\n if (updates.description !== undefined) this._description = updates.description;\n if (updates.metadata !== undefined) this._metadata = updates.metadata;\n if (updates.namespace !== undefined) this._namespace = updates.namespace;\n }\n /**\n * Generates the embedding for the definition's source and metadata. \n * \n * @param scope \n * @returns \n */\n embed(scope?: A_Scope): Promise<void> | void {\n return this.call(A_FrameDefinitionFeatures.Embed, scope);\n }\n\n\n fromNew(newEntity: A_FrameDefinition_Init): void {\n this._type = newEntity.type;\n\n this.aseid = this.generateASEID({\n id: A_FormatterHelper.toKebabCase(newEntity.dependency + '-' + newEntity.name),\n scope: 'a-frame',\n });\n\n this._name = newEntity.name;\n\n const hashSource = this._name + '//'\n + (newEntity.description || '') + '//'\n + (newEntity.metadata ? JSON.stringify(newEntity.metadata) : '') + '//'\n + newEntity.source + '//'\n + 'Namespace: ' + newEntity.namespace.id;\n\n this._hash = A_FrameHashHelper.fnv1a(hashSource);\n\n this._source = newEntity.source;\n this._description = newEntity.description;\n this._namespace = newEntity.namespace;\n this._metadata = newEntity.metadata;\n this._dependency = newEntity.dependency;\n this._requestedModel = newEntity.model ?? A_FRAME_MODELS.ANTARES;\n }\n\n fromJSON(serialized: A_FrameDefinition_Serialized): void {\n this._name = serialized.name;\n this._hash = serialized.hash;\n this._source = serialized.source || '';\n this._description = serialized.description;\n this._metadata = serialized.metadata;\n this._vector = serialized.embedding ? new A_FrameVector(serialized.embedding) : undefined;\n this._date = serialized.date;\n this._model = serialized.model;\n this._credentialId = serialized.credentialId;\n this._aFrameVersion = serialized.aFrameVersion;\n this._aFrameServerVersion = serialized.aFrameServerVersion;\n this._aFrameMeta = serialized.aFrameMeta;\n }\n\n toJSON(): A_FrameDefinition_Serialized {\n return {\n ...super.toJSON(),\n hash: this._hash,\n name: this._name,\n source: this._source,\n description: this._description,\n metadata: this._metadata,\n namespace: this._namespace.aseid.toString(),\n embedding: this._vector?.values,\n date: this._date ?? new Date().toISOString(),\n model: this._model,\n credentialId: this._credentialId,\n aFrameVersion: this._aFrameVersion,\n aFrameServerVersion: this._aFrameServerVersion,\n aFrameMeta: this._aFrameMeta,\n };\n }\n\n\n // ─── Embedding hydration ──────────────────────────────────────────────────\n\n /** Populate the vector from a pre-existing storage record */\n // hydrateFromRecord(record: A_FrameDefinition_Record): void {\n // if (record.hash !== this._hash) {\n // throw new Error(\n // `A_FrameDefinition.hydrateFromRecord: hash mismatch for \"${this._name}\" ` +\n // `(expected ${this._hash}, got ${record.hash})`\n // );\n // }\n // this._vector = new A_FrameVector(record.embedding);\n // this._embeddedAt = record.embeddedAt;\n // this._model = record.model;\n // this._credentialId = record.credentialId;\n // this._aFrameVersion = record.aFrameVersion;\n // this._aFrameServerVersion = record.aFrameServerVersion;\n // }\n\n /** Populate the vector from a freshly-fetched embedding */\n hydrateFromEmbedding(embedding: Float32Array, meta?: A_FrameDefinition_EmbeddingMeta): void {\n this._vector = new A_FrameVector(embedding);\n this._date = new Date().toISOString();\n if (meta) {\n this._model = meta.model;\n this._credentialId = meta.credentialId ?? undefined;\n this._aFrameVersion = meta.aFrameVersion;\n this._aFrameServerVersion = meta.aFrameServerVersion;\n if (meta.aFrameMeta)\n this._aFrameMeta = meta.aFrameMeta;\n }\n }\n\n // ─── Embedding input ──────────────────────────────────────────────────────\n\n /**\n * Build the text string sent to the embedding model.\n * Concatenates name + description + source so the resulting\n * vector captures both intent and implementation.\n */\n toString(): string {\n const parts: string[] = [];\n parts.push(`// ${this._name}`);\n if (this._description) parts.push(`// ${this._description}`);\n parts.push(this._source);\n return parts.join('\\n');\n }\n}\n"]}