@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,286 @@
1
+ import { A_Error, A_Entity, A_Fragment, A_CommonHelper, A_Scope, A_Context } from '@adaas/a-concept';
2
+
3
+ // src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts
4
+ var A_FrameDynamicStructureFeatures = {
5
+ Load: "_A_FRAME_DYNAMIC_STRUCTURE_LOAD",
6
+ Update: "_A_FRAME_DYNAMIC_STRUCTURE_UPDATE",
7
+ Generate: "_A_FRAME_DYNAMIC_STRUCTURE_GENERATE"
8
+ };
9
+ var A_FrameDynamicStructureEvents = {
10
+ Updated: "_A_FRAME_DYNAMIC_STRUCTURE_UPDATED"
11
+ };
12
+ var A_FrameDynamicStructureError = class extends A_Error {
13
+ };
14
+ A_FrameDynamicStructureError.InvalidPatch = "InvalidPatch";
15
+ A_FrameDynamicStructureError.VersionMismatch = "VersionMismatch";
16
+ A_FrameDynamicStructureError.ComponentNotFound = "ComponentNotFound";
17
+ A_FrameDynamicStructureError.InvalidOperation = "InvalidOperation";
18
+ A_FrameDynamicStructureError.GenerationFailed = "GenerationFailed";
19
+ var A_FrameDynamicPatch = class extends A_Entity {
20
+ static get concept() {
21
+ return "a-frame";
22
+ }
23
+ // component count change vs. previous patch
24
+ fromNew(options) {
25
+ this.version = options.version;
26
+ this.timestamp = options.timestamp;
27
+ this.reason = options.reason;
28
+ this.encoded = options.encoded;
29
+ this.delta = options.delta;
30
+ }
31
+ toJSON() {
32
+ return {
33
+ ...super.toJSON(),
34
+ version: this.version,
35
+ timestamp: this.timestamp,
36
+ reason: this.reason,
37
+ encoded: this.encoded,
38
+ delta: this.delta
39
+ };
40
+ }
41
+ };
42
+ var A_FrameDynamicStructureOperation = class extends A_Fragment {
43
+ constructor(params = {}) {
44
+ super({ name: "a-frame-dynamic-structure-operation-context" });
45
+ this._meta = /* @__PURE__ */ new Map();
46
+ this._meta.set("params", params);
47
+ }
48
+ get params() {
49
+ return this._meta.get("params");
50
+ }
51
+ get(key) {
52
+ return this._meta.get(key);
53
+ }
54
+ set(key, value) {
55
+ this._meta.set(key, value);
56
+ }
57
+ };
58
+
59
+ // src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts
60
+ var A_FrameDynamicStructure = class extends A_Entity {
61
+ constructor() {
62
+ super(...arguments);
63
+ this._version = 0;
64
+ }
65
+ static get concept() {
66
+ return "a-frame";
67
+ }
68
+ fromNew(options) {
69
+ this.aseid = this.generateASEID();
70
+ this.createdAt = Date.now();
71
+ this._components = [];
72
+ this._history = [];
73
+ this._version = 0;
74
+ this.listeners = /* @__PURE__ */ new Map();
75
+ this.prompt = options.prompt;
76
+ this.model = options.model;
77
+ this.context = options.context ?? "generic";
78
+ this.metaHint = options.metaHint ?? "";
79
+ this.includeBases = (options.includeBases || []).map((b) => typeof b === "string" ? b : A_CommonHelper.getComponentName(b));
80
+ this.excludeBases = (options.excludeBases || []).map((b) => typeof b === "string" ? b : A_CommonHelper.getComponentName(b));
81
+ this.enabledComponents = (options.enabledComponents || []).map((b) => typeof b === "string" ? b : A_CommonHelper.getComponentName(b));
82
+ }
83
+ // ── Public read-only accessors ───────────────────────────────────────────────
84
+ /** The current resolved component list (output of the last generate or patch). */
85
+ get components() {
86
+ return this._components;
87
+ }
88
+ /** Immutable patch history. */
89
+ get history() {
90
+ return this._history;
91
+ }
92
+ /** Current schema version (increments with each patch). */
93
+ get version() {
94
+ return this._version;
95
+ }
96
+ /** The AI model name to use for generation / patching. */
97
+ get modelName() {
98
+ return this.model;
99
+ }
100
+ // ── Main pipeline ────────────────────────────────────────────────────────────
101
+ /**
102
+ * Run the full generation pipeline:
103
+ * content generation → structure mapping → encode → patch
104
+ *
105
+ * @returns The resolved component list.
106
+ */
107
+ async generate() {
108
+ const operation = new A_FrameDynamicStructureOperation();
109
+ const executionScope = new A_Scope({
110
+ name: "a-frame-dynamic-structure-generate",
111
+ fragments: [operation]
112
+ }).inherit(A_Context.scope(this));
113
+ try {
114
+ await this.call(A_FrameDynamicStructureFeatures.Generate, executionScope);
115
+ executionScope.destroy();
116
+ } catch (err) {
117
+ executionScope.destroy();
118
+ throw new A_FrameDynamicStructureError({
119
+ title: A_FrameDynamicStructureError.GenerationFailed,
120
+ description: `Failed to generate structure: ${err instanceof Error ? err.message : String(err)}`
121
+ });
122
+ }
123
+ }
124
+ async patch(prompt) {
125
+ const operation = new A_FrameDynamicStructureOperation({ prompt });
126
+ const executionScope = new A_Scope({
127
+ name: "a-frame-dynamic-structure-patch",
128
+ fragments: [operation]
129
+ }).inherit(A_Context.scope(this));
130
+ try {
131
+ await this.call(A_FrameDynamicStructureFeatures.Update, executionScope);
132
+ executionScope.destroy();
133
+ } catch (err) {
134
+ executionScope.destroy();
135
+ throw new A_FrameDynamicStructureError({
136
+ title: A_FrameDynamicStructureError.GenerationFailed,
137
+ description: `Failed to patch structure: ${err instanceof Error ? err.message : String(err)}`
138
+ });
139
+ }
140
+ }
141
+ /**
142
+ * Populate the component list from pre-resolved components produced by an
143
+ * SSE-driven generate pipeline (where a server and client cooperate to map
144
+ * AI guesses to actual registered components).
145
+ *
146
+ * Creates the first history entry, identical to `hydrateFromGeneration`.
147
+ */
148
+ hydrateFromResolved(components, meta) {
149
+ this._components = components.map((c, i) => ({
150
+ component: c.component,
151
+ score: c.score,
152
+ meta: { ...c.meta || {}, id: c.meta?.id ?? `c-${i}` }
153
+ }));
154
+ this._history.push(new A_FrameDynamicPatch({
155
+ version: this._version,
156
+ timestamp: Date.now(),
157
+ reason: `Generated for: "${this.prompt}"`,
158
+ encoded: Buffer.from(JSON.stringify(this._components)).toString("base64"),
159
+ delta: this._components.length
160
+ }));
161
+ }
162
+ /**
163
+ * Populate the component list from a freshly-received generate response.
164
+ * Creates the first history entry.
165
+ */
166
+ hydrateFromGeneration(guesses, meta) {
167
+ this._components = guesses.map((g, i) => ({
168
+ component: g.prompt,
169
+ score: 1,
170
+ meta: { id: `c-${i}`, type: g.type, role: g.role, sourceText: g.sourceText }
171
+ }));
172
+ this._history.push(new A_FrameDynamicPatch({
173
+ version: this._version,
174
+ timestamp: Date.now(),
175
+ reason: `Generated for: "${this.prompt}"`,
176
+ encoded: Buffer.from(JSON.stringify(this._components)).toString("base64"),
177
+ delta: this._components.length
178
+ }));
179
+ }
180
+ /**
181
+ * Apply an AI-computed patch diff to the current component list.
182
+ * Increments the version and records a new history entry.
183
+ */
184
+ hydrateFromPatch(patchResult, meta) {
185
+ const prevCount = this._components.length;
186
+ this._components = this._components.filter(
187
+ (c) => !patchResult.removals.includes(c.meta.id)
188
+ );
189
+ for (const mod of patchResult.modifications) {
190
+ const comp = this._components.find((c) => c.meta.id === mod.componentId);
191
+ if (comp) {
192
+ comp.component = mod.newPrompt;
193
+ comp.meta.role = mod.newRole;
194
+ }
195
+ }
196
+ const maxId = this._components.reduce((max, c) => {
197
+ const n = parseInt((c.meta.id ?? "c-0").replace("c-", ""), 10);
198
+ return isNaN(n) ? max : Math.max(max, n);
199
+ }, -1);
200
+ const additions = patchResult.additions.map((a, i) => ({
201
+ component: a.prompt,
202
+ score: 1,
203
+ meta: { id: `c-${maxId + 1 + i}`, type: a.type, role: a.role, sourceText: a.sourceText }
204
+ }));
205
+ this._components = [...this._components, ...additions];
206
+ this._version++;
207
+ this._history.push(new A_FrameDynamicPatch({
208
+ version: this._version,
209
+ timestamp: Date.now(),
210
+ reason: patchResult.patchSummary,
211
+ encoded: Buffer.from(JSON.stringify(this._components)).toString("base64"),
212
+ delta: this._components.length - prevCount
213
+ }));
214
+ }
215
+ /**
216
+ * Restore the component list to a specific version from history.
217
+ * Creates a new patch entry so the revert itself is tracked.
218
+ */
219
+ revertTo(version) {
220
+ return this;
221
+ }
222
+ // ── Serialisation ─────────────────────────────────────────────────────────────
223
+ // /**
224
+ // * Encode the complete DynamicStructure state to an opaque base64 string.
225
+ // * Suitable for storage, transport, or embedding in another system.
226
+ // */
227
+ // serialize(): string {
228
+ // const payload: SerializedDynamicStructure = {
229
+ // id: this.id,
230
+ // version: this._version,
231
+ // prompt: this.prompt,
232
+ // components: [...this._components],
233
+ // history: this._history.map(({ version, timestamp, reason }) => ({
234
+ // version,
235
+ // timestamp,
236
+ // reason,
237
+ // })),
238
+ // };
239
+ // return encode(payload);
240
+ // }
241
+ // /**
242
+ // * Decode a serialised string back to its raw payload.
243
+ // * Note: this is a static factory that returns the data only —
244
+ // * it does not reconstruct a live DynamicStructure instance.
245
+ // *
246
+ // * To reconstruct a live instance, create a new DynamicStructure and
247
+ // * call .patch() with the decoded components.
248
+ // */
249
+ // static deserialize(encoded: string): SerializedDynamicStructure {
250
+ // return decode<SerializedDynamicStructure>(encoded);
251
+ // }
252
+ toJSON() {
253
+ return {
254
+ ...super.toJSON(),
255
+ name: this.prompt,
256
+ description: `DynamicStructure with ${this._components.length} components and ${this._history.length} patches`,
257
+ metadata: {
258
+ model: this.model,
259
+ context: this.context,
260
+ metaHint: this.metaHint,
261
+ includeBases: this.includeBases,
262
+ excludeBases: this.excludeBases,
263
+ enabledComponents: this.enabledComponents,
264
+ createdAt: this.createdAt
265
+ },
266
+ history: this._history.map((item) => item.toJSON())
267
+ };
268
+ }
269
+ // ── Internals ──────────────────────────────────────────────────────────────
270
+ subscribe(feature, listener) {
271
+ if (!this.listeners.has(feature)) {
272
+ this.listeners.set(feature, /* @__PURE__ */ new Set());
273
+ }
274
+ this.listeners.get(feature).add(listener);
275
+ }
276
+ unsubscribe(feature, listener) {
277
+ this.listeners.get(feature)?.delete(listener);
278
+ }
279
+ emit(stage, context) {
280
+ this.listeners.get(stage)?.forEach((listener) => listener(context));
281
+ }
282
+ };
283
+
284
+ export { A_FrameDynamicPatch, A_FrameDynamicStructure, A_FrameDynamicStructureError, A_FrameDynamicStructureEvents, A_FrameDynamicStructureFeatures, A_FrameDynamicStructureOperation };
285
+ //# sourceMappingURL=chunk-KTKVW3PH.mjs.map
286
+ //# sourceMappingURL=chunk-KTKVW3PH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts","../../src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.error.ts","../../src/lib/A-FrameDynamicPatch/A-FrameDynamicPatch.entity.ts","../../src/lib/A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context.ts","../../src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts"],"names":["A_Entity"],"mappings":"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","file":"chunk-KTKVW3PH.mjs","sourcesContent":["\n\n\nexport const A_FrameDynamicStructureFeatures = {\n Load: '_A_FRAME_DYNAMIC_STRUCTURE_LOAD',\n Update: '_A_FRAME_DYNAMIC_STRUCTURE_UPDATE',\n Generate: '_A_FRAME_DYNAMIC_STRUCTURE_GENERATE',\n} as const;\n\n\nexport const A_FrameDynamicStructureEvents = {\n Updated: '_A_FRAME_DYNAMIC_STRUCTURE_UPDATED',\n} as const;","import { A_Error } from \"@adaas/a-concept\";\n\n\nexport class A_FrameDynamicStructureError extends A_Error {\n\n static readonly InvalidPatch = 'InvalidPatch';\n static readonly VersionMismatch = 'VersionMismatch';\n static readonly ComponentNotFound = 'ComponentNotFound';\n static readonly InvalidOperation = 'InvalidOperation';\n\n static readonly GenerationFailed = 'GenerationFailed';\n \n}","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}","import { A_Fragment } from \"@adaas/a-concept\"\n\n\nexport class A_FrameDynamicStructureOperation<\n _InputParams = any,\n> extends A_Fragment {\n\n protected _meta: Map<string, any> = new Map();\n\n constructor(\n params: _InputParams = {} as _InputParams\n ) {\n super({ name: 'a-frame-dynamic-structure-operation-context' });\n this._meta.set('params', params);\n\n }\n\n get params(): _InputParams {\n return this._meta.get('params');\n }\n\n\n get(key: string) {\n return this._meta.get(key);\n }\n\n\n set(key: string, value: any) {\n this._meta.set(key, value);\n }\n\n}\n","import { A_CommonHelper, A_Context, A_Entity, A_Scope, A_TYPES__A_DependencyInjectable } from \"@adaas/a-concept\";\nimport { A_FrameDynamicStructure_Init, A_FrameDynamicStructure_Serialized, A_FrameDynamicStructureEventNames, A_FrameDynamicStructureListener, A_FrameDynamicStructureResolvedComponent } from \"./A-FrameDynamicStructure.types\";\nimport { A_FrameDynamicStructureFeatures } from \"./A-FrameDynamicStructure.constants\";\nimport { A_FrameDynamicPatch } from \"../A-FrameDynamicPatch/A-FrameDynamicPatch.entity\";\nimport { A_FrameDynamicStructureError } from \"./A-FrameDynamicStructure.error\";\nimport { A_FrameDynamicStructureOperation } from \"./A-FrameDynamicStructureOperation.context\";\n\n\n/** Guess item as returned by POST /api/v1/structure/generate */\nexport interface A_FrameStructureGuessItem {\n sourceText: string;\n type: string;\n prompt: string;\n role: string;\n}\n\n/** Patch diff as returned by POST /api/v1/structure/patch */\nexport interface A_FrameStructurePatchResult {\n patchSummary: string;\n additions: A_FrameStructureGuessItem[];\n removals: string[];\n modifications: Array<{ componentId: string; newRole: string; newPrompt: string }>;\n}\n\n\n\nexport class A_FrameDynamicStructure extends A_Entity<A_FrameDynamicStructure_Init, A_FrameDynamicStructure_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 context!: string;\n private metaHint!: string;\n private includeBases!: string[];\n private excludeBases!: string[];\n private enabledComponents!: string[];\n // ── State ───────────────────────────────────────────────────────────────────\n private _components!: A_FrameDynamicStructureResolvedComponent[]\n private _history!: A_FrameDynamicPatch[]\n private _version = 0;\n\n private listeners!: Map<string, Set<A_FrameDynamicStructureListener>>;\n\n fromNew(options: A_FrameDynamicStructure_Init) {\n this.aseid = this.generateASEID();\n this.createdAt = Date.now();\n\n this._components = [];\n this._history = [];\n this._version = 0;\n\n this.listeners = new Map();\n\n this.prompt = options.prompt;\n this.model = options.model;\n this.context = options.context ?? 'generic';\n this.metaHint = options.metaHint ?? '';\n this.includeBases = (options.includeBases || []).map((b) => typeof b === 'string' ? b : A_CommonHelper.getComponentName(b));\n this.excludeBases = (options.excludeBases || []).map((b) => typeof b === 'string' ? b : A_CommonHelper.getComponentName(b));\n this.enabledComponents = (options.enabledComponents || []).map((b) => typeof b === 'string' ? b : A_CommonHelper.getComponentName(b));\n }\n\n // ── Public read-only accessors ───────────────────────────────────────────────\n\n /** The current resolved component list (output of the last generate or patch). */\n get components(): ReadonlyArray<A_FrameDynamicStructureResolvedComponent> {\n return this._components;\n }\n\n /** Immutable patch history. */\n get history(): ReadonlyArray<A_FrameDynamicPatch> {\n return this._history;\n }\n\n /** Current schema 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\n // ── Main pipeline ────────────────────────────────────────────────────────────\n\n /**\n * Run the full generation pipeline:\n * content generation → structure mapping → encode → patch\n *\n * @returns The resolved component list.\n */\n async generate(): Promise<void> {\n const operation = new A_FrameDynamicStructureOperation();\n\n const executionScope = new A_Scope({\n name: 'a-frame-dynamic-structure-generate',\n fragments: [operation],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameDynamicStructureFeatures.Generate, executionScope);\n executionScope.destroy();\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameDynamicStructureError({\n title: A_FrameDynamicStructureError.GenerationFailed,\n description: `Failed to generate structure: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n\n async patch(prompt: string): Promise<void> {\n const operation = new A_FrameDynamicStructureOperation({ prompt });\n\n const executionScope = new A_Scope({\n name: 'a-frame-dynamic-structure-patch',\n fragments: [operation],\n })\n .inherit(A_Context.scope(this));\n\n try {\n await this.call(A_FrameDynamicStructureFeatures.Update, executionScope);\n executionScope.destroy();\n } catch (err) {\n executionScope.destroy();\n throw new A_FrameDynamicStructureError({\n title: A_FrameDynamicStructureError.GenerationFailed,\n description: `Failed to patch structure: ${err instanceof Error ? err.message : String(err)}`,\n });\n }\n }\n\n /**\n * Populate the component list from pre-resolved components produced by an\n * SSE-driven generate pipeline (where a server and client cooperate to map\n * AI guesses to actual registered components).\n *\n * Creates the first history entry, identical to `hydrateFromGeneration`.\n */\n hydrateFromResolved(\n components: A_FrameDynamicStructureResolvedComponent[],\n meta: { model: string; serverVersion: string },\n ): void {\n this._components = components.map((c, i) => ({\n component: c.component,\n score: c.score,\n meta: { ...(c.meta || {}), id: (c.meta as any)?.id ?? `c-${i}` },\n }));\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._components)).toString('base64'),\n delta: this._components.length,\n }));\n }\n\n /**\n * Populate the component list from a freshly-received generate response.\n * Creates the first history entry.\n */\n hydrateFromGeneration(\n guesses: A_FrameStructureGuessItem[],\n meta: { model: string; serverVersion: string },\n ): void {\n this._components = guesses.map((g, i) => ({\n component: g.prompt,\n score: 1.0,\n meta: { id: `c-${i}`, type: g.type, role: g.role, sourceText: g.sourceText },\n }));\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._components)).toString('base64'),\n delta: this._components.length,\n }));\n }\n\n /**\n * Apply an AI-computed patch diff to the current component list.\n * Increments the version and records a new history entry.\n */\n hydrateFromPatch(\n patchResult: A_FrameStructurePatchResult,\n meta: { model: string; serverVersion: string },\n ): void {\n const prevCount = this._components.length;\n\n // Removals\n this._components = this._components.filter(\n c => !patchResult.removals.includes((c.meta as any).id)\n );\n\n // Modifications\n for (const mod of patchResult.modifications) {\n const comp = this._components.find(c => (c.meta as any).id === mod.componentId);\n if (comp) {\n comp.component = mod.newPrompt;\n (comp.meta as any).role = mod.newRole;\n }\n }\n\n // Additions — generate new IDs from current max index\n const maxId = this._components.reduce((max, c) => {\n const n = parseInt(((c.meta as any).id ?? 'c-0').replace('c-', ''), 10);\n return isNaN(n) ? max : Math.max(max, n);\n }, -1);\n\n const additions = patchResult.additions.map((a, i) => ({\n component: a.prompt,\n score: 1.0,\n meta: { id: `c-${maxId + 1 + i}`, type: a.type, role: a.role, sourceText: a.sourceText },\n }));\n\n this._components = [...this._components, ...additions];\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._components)).toString('base64'),\n delta: this._components.length - prevCount,\n }));\n }\n\n /**\n * Restore the component list to a specific version from history.\n * Creates a new patch entry so the revert itself is tracked.\n */\n revertTo(version: number): this {\n // this._currentVersion = version;\n\n return this;\n }\n\n // ── Serialisation ─────────────────────────────────────────────────────────────\n\n // /**\n // * Encode the complete DynamicStructure state to an opaque base64 string.\n // * Suitable for storage, transport, or embedding in another system.\n // */\n // serialize(): string {\n // const payload: SerializedDynamicStructure = {\n // id: this.id,\n // version: this._version,\n // prompt: this.prompt,\n // components: [...this._components],\n // history: this._history.map(({ version, timestamp, reason }) => ({\n // version,\n // timestamp,\n // reason,\n // })),\n // };\n // return encode(payload);\n // }\n\n // /**\n // * Decode a serialised string back to its raw payload.\n // * Note: this is a static factory that returns the data only —\n // * it does not reconstruct a live DynamicStructure instance.\n // *\n // * To reconstruct a live instance, create a new DynamicStructure and\n // * call .patch() with the decoded components.\n // */\n // static deserialize(encoded: string): SerializedDynamicStructure {\n // return decode<SerializedDynamicStructure>(encoded);\n // }\n\n toJSON(): A_FrameDynamicStructure_Serialized {\n return {\n ...super.toJSON(),\n name: this.prompt,\n description: `DynamicStructure with ${this._components.length} components and ${this._history.length} patches`,\n metadata: {\n model: this.model,\n context: this.context,\n metaHint: this.metaHint,\n includeBases: this.includeBases,\n excludeBases: this.excludeBases,\n enabledComponents: this.enabledComponents,\n createdAt: this.createdAt,\n },\n history: this._history.map(item => item.toJSON()),\n }\n }\n\n // ── Internals ──────────────────────────────────────────────────────────────\n subscribe(feature: A_FrameDynamicStructureEventNames, listener: A_FrameDynamicStructureListener): void {\n if (!this.listeners.has(feature)) {\n this.listeners.set(feature, new Set());\n }\n this.listeners.get(feature)!.add(listener);\n }\n\n unsubscribe(feature: A_FrameDynamicStructureEventNames, listener: A_FrameDynamicStructureListener): void {\n this.listeners.get(feature)?.delete(listener);\n }\n\n\n emit(stage: A_FrameDynamicStructureEventNames, context: any): void {\n this.listeners.get(stage)?.forEach(listener => listener(context));\n }\n\n}"]}
@@ -0,0 +1,33 @@
1
+ import { version } from './chunk-WEPNBKOA.mjs';
2
+ import { A_Fragment } from '@adaas/a-concept';
3
+
4
+ var A_FrameEnv = class extends A_Fragment {
5
+ get A_FRAME_FILE_EXTENSION() {
6
+ return ".aframe";
7
+ }
8
+ get A_FRAME_NAMESPACES_BIN() {
9
+ return `__namespaces${this.A_FRAME_FILE_EXTENSION}`;
10
+ }
11
+ get A_FRAME_SYNC() {
12
+ return process.env.A_FRAME_SYNC === "false" ? false : true;
13
+ }
14
+ get A_FRAME_TOKEN() {
15
+ return process.env.A_FRAME_TOKEN || "";
16
+ }
17
+ get A_FRAME_SERVER_URL() {
18
+ return process.env.A_FRAME_SERVER_URL || "http://localhost:3663";
19
+ }
20
+ get A_FRAME_SERVER_API_KEY() {
21
+ return process.env.A_FRAME_SERVER_API_KEY || "";
22
+ }
23
+ get A_FRAME_STORAGE_DIR() {
24
+ return process.env.A_FRAME_STORAGE_DIR || ".aframe";
25
+ }
26
+ get A_FRAME_VERSION() {
27
+ return version || "0.0.1";
28
+ }
29
+ };
30
+
31
+ export { A_FrameEnv };
32
+ //# sourceMappingURL=chunk-KZPSF32W.mjs.map
33
+ //# sourceMappingURL=chunk-KZPSF32W.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts"],"names":[],"mappings":";;;AAKO,IAAM,UAAA,GAAN,cAAyB,UAAA,CAAkC;AAAA,EAE9D,IAAI,sBAAA,GAAyB;AACzB,IAAA,OAAO,SAAA;AAAA,EACX;AAAA,EAEA,IAAI,sBAAA,GAAyB;AACzB,IAAA,OAAO,CAAA,YAAA,EAAe,KAAK,sBAAsB,CAAA,CAAA;AAAA,EACrD;AAAA,EAEA,IAAI,YAAA,GAAe;AACf,IAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,YAAA,KAAiB,OAAA,GAAU,KAAA,GAAQ,IAAA;AAAA,EAC1D;AAAA,EAEA,IAAI,aAAA,GAAgB;AAChB,IAAA,OAAO,OAAA,CAAQ,IAAI,aAAA,IAAiB,EAAA;AAAA,EACxC;AAAA,EAEA,IAAI,kBAAA,GAAqB;AACrB,IAAA,OAAO,OAAA,CAAQ,IAAI,kBAAA,IAAsB,uBAAA;AAAA,EAC7C;AAAA,EAEA,IAAI,sBAAA,GAAyB;AACzB,IAAA,OAAO,OAAA,CAAQ,IAAI,sBAAA,IAA0B,EAAA;AAAA,EACjD;AAAA,EAEA,IAAI,mBAAA,GAAsB;AACtB,IAAA,OAAO,OAAA,CAAQ,IAAI,mBAAA,IAAuB,YAAA;AAAA,EAC9C;AAAA,EAEA,IAAI,eAAA,GAAkB;AAClB,IAAA,OAAW,OAAA,IAAW,OAAA;AAAA,EAC1B;AACJ","file":"chunk-KZPSF32W.mjs","sourcesContent":["import { A_Fragment } from \"@adaas/a-concept\";\nimport * as pkg from '../../../package.json';\nimport { IA_FrameEnv } from \"./A-FrameEnv.types\";\n\n\nexport class A_FrameEnv extends A_Fragment implements IA_FrameEnv {\n\n get A_FRAME_FILE_EXTENSION() {\n return '.aframe';\n }\n\n get A_FRAME_NAMESPACES_BIN() {\n return `__namespaces${this.A_FRAME_FILE_EXTENSION}`;\n }\n\n get A_FRAME_SYNC() {\n return process.env.A_FRAME_SYNC === 'false' ? false : true;\n }\n\n get A_FRAME_TOKEN() {\n return process.env.A_FRAME_TOKEN || '';\n }\n\n get A_FRAME_SERVER_URL() {\n return process.env.A_FRAME_SERVER_URL || 'http://localhost:3663';\n }\n\n get A_FRAME_SERVER_API_KEY() {\n return process.env.A_FRAME_SERVER_API_KEY || '';\n }\n\n get A_FRAME_STORAGE_DIR() {\n return process.env.A_FRAME_STORAGE_DIR || '.aframe';\n }\n\n get A_FRAME_VERSION() {\n return pkg.version || '0.0.1';\n }\n}"]}
@@ -0,0 +1,129 @@
1
+ import { A_FrameIndex } from './chunk-OMGYXCFM.mjs';
2
+ import { A_FrameDynamicFeature, A_FrameDynamicFeatureFeatures, A_FrameMethodMapIndex, A_FrameChannel, A_FrameChannelRequest, A_FrameFeatures, A_FrameDynamicFeatureError } from './chunk-7OLLATCC.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 } from '@adaas/a-concept';
6
+
7
+ var A_FrameMethodMapper = class extends A_Component {
8
+ async mapFeature(feature, mapIndex, frameIndex, channel) {
9
+ const def = feature.definition;
10
+ if (!def) return;
11
+ const tryMatchStep = (step, minScore) => {
12
+ if (!step.embedding?.length) {
13
+ return { matchedClass: null, matchedMethod: null, matchScore: 0 };
14
+ }
15
+ const results = frameIndex.search(new A_FrameVector(step.embedding), { topK: 1 });
16
+ const top = results[0];
17
+ if (top && top.score >= minScore) {
18
+ const matchedClass = top.record.dependency.name;
19
+ const matchedMethod = top.record.name;
20
+ return { matchedClass, matchedMethod, matchScore: top.score };
21
+ }
22
+ return { matchedClass: null, matchedMethod: null, matchScore: top?.score ?? 0 };
23
+ };
24
+ const tryMatchElement = (el, minScore) => {
25
+ if (!el.embedding?.length) {
26
+ return { matchedClass: null, matchScore: 0 };
27
+ }
28
+ const results = frameIndex.search(new A_FrameVector(el.embedding), { topK: 1 });
29
+ const top = results[0];
30
+ if (top && top.score >= minScore) {
31
+ return { matchedClass: top.record.name, matchScore: top.score };
32
+ }
33
+ return { matchedClass: null, matchScore: top?.score ?? 0 };
34
+ };
35
+ const stripEmbeddings = (d) => {
36
+ const strip = (el) => {
37
+ const { embedding, ...rest } = el;
38
+ return rest;
39
+ };
40
+ return {
41
+ ...d,
42
+ steps: d.steps.map(strip),
43
+ components: d.components.map(strip),
44
+ fragments: d.fragments.map(strip),
45
+ entities: d.entities.map(strip)
46
+ };
47
+ };
48
+ const matchAll = (d) => {
49
+ mapIndex.clear();
50
+ for (const step of d.steps) {
51
+ mapIndex.setStep({
52
+ prompt: step.prompt,
53
+ inputs: step.inputs,
54
+ outputs: step.outputs,
55
+ ...tryMatchStep(step, feature.minScore)
56
+ });
57
+ }
58
+ for (const el of d.components) {
59
+ mapIndex.setElement({ prompt: el.prompt, ...tryMatchElement(el, feature.minScore) });
60
+ }
61
+ for (const el of d.fragments) {
62
+ mapIndex.setElement({ prompt: el.prompt, ...tryMatchElement(el, feature.minScore) });
63
+ }
64
+ for (const el of d.entities) {
65
+ mapIndex.setElement({ prompt: el.prompt, ...tryMatchElement(el, feature.minScore) });
66
+ }
67
+ };
68
+ let workingDef = def;
69
+ matchAll(workingDef);
70
+ for (let retry = 0; retry < feature.maxRetries; retry++) {
71
+ const unmatchedSteps = workingDef.steps.filter(
72
+ (step) => step.embedding?.length && mapIndex.getStep(step.prompt)?.matchedMethod === null
73
+ );
74
+ if (unmatchedSteps.length === 0) break;
75
+ const refinementInstruction = [
76
+ `The following workflow steps could not be matched to any registered method.`,
77
+ `Please re-describe each step with more specific, method-oriented language:`,
78
+ unmatchedSteps.map((s) => `- "${s.prompt}"`).join("\n")
79
+ ].join("\n");
80
+ const patchReq = new A_FrameChannelRequest(
81
+ "POST",
82
+ "/api/v1/feature/patch",
83
+ {
84
+ originalPrompt: feature.prompt,
85
+ definition: stripEmbeddings(workingDef),
86
+ patchInstruction: refinementInstruction,
87
+ model: feature.modelName,
88
+ context: feature.contextHint
89
+ }
90
+ );
91
+ const patchScope = new A_Scope({
92
+ name: `A_FrameMethodMapper.mapFeature:retry${retry}`,
93
+ fragments: [patchReq]
94
+ }).inherit(A_Context.scope(channel));
95
+ await channel.call(A_FrameFeatures.Request, patchScope);
96
+ patchScope.destroy();
97
+ if (!patchReq.response) break;
98
+ workingDef = patchReq.response.definition;
99
+ matchAll(workingDef);
100
+ }
101
+ for (const step of workingDef.steps) {
102
+ const entry = mapIndex.getStep(step.prompt);
103
+ if (entry && entry.matchedMethod === null && step.embedding?.length) {
104
+ mapIndex.setStep({
105
+ ...entry,
106
+ matchError: {
107
+ title: A_FrameDynamicFeatureError.MethodNotFound,
108
+ description: `Unable to match "${step.prompt}" to any registered method after ${feature.maxRetries} retries.`
109
+ }
110
+ });
111
+ }
112
+ }
113
+ feature.hydrateFromMap(mapIndex.toResult(workingDef));
114
+ }
115
+ };
116
+ __decorateClass([
117
+ A_Feature.Extend({
118
+ name: A_FrameDynamicFeatureFeatures.Map,
119
+ scope: [A_FrameDynamicFeature]
120
+ }),
121
+ __decorateParam(0, A_Inject(A_Caller)),
122
+ __decorateParam(1, A_Inject(A_FrameMethodMapIndex)),
123
+ __decorateParam(2, A_Inject(A_FrameIndex)),
124
+ __decorateParam(3, A_Inject(A_FrameChannel))
125
+ ], A_FrameMethodMapper.prototype, "mapFeature", 1);
126
+
127
+ export { A_FrameMethodMapper };
128
+ //# sourceMappingURL=chunk-LWKFCMA7.mjs.map
129
+ //# sourceMappingURL=chunk-LWKFCMA7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/A-FrameDynamicFeature/A-FrameMethodMapper.component.ts"],"names":[],"mappings":"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","file":"chunk-LWKFCMA7.mjs","sourcesContent":["import { A_Caller, A_Component, A_Context, A_Feature, 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_FrameVector } from \"../A-FrameVector/A-FrameVector.entity\";\nimport { A_FrameDynamicFeature } from \"./A-FrameDynamicFeature.entity\";\nimport { A_FrameDynamicFeatureFeatures } from \"./A-FrameDynamicFeature.constants\";\nimport { A_FrameDynamicFeatureError } from \"./A-FrameDynamicFeature.error\";\nimport {\n A_FrameDynamicFeatureDefinition,\n A_FrameDynamicFeatureElementMapEntry,\n A_FrameDynamicFeatureStep,\n A_FrameDynamicFeatureStepMapEntry,\n A_FrameFeaturePatchResponse,\n} from \"./A-FrameDynamicFeature.types\";\nimport { A_FrameMethodMapIndex } from \"./A-FrameMethodMapIndex.context\";\n\n\n/**\n * Stateless component that implements the `Map` feature for\n * `A_FrameDynamicFeature`.\n *\n * Algorithm:\n * 1. Read `feature.definition` (includes server-computed embeddings on steps\n * and supporting elements).\n * 2. Run cosine-similarity search against `A_FrameIndex` for every step and\n * every supporting element.\n * 3. For steps that remain unmatched, issue a server patch to refine their\n * descriptions (up to `feature.maxRetries` times), then re-match.\n * 4. Mark any still-unmatched steps with a `matchError`.\n * 5. Hydrate the feature with `mapIndex.toResult(def)`.\n */\nexport class A_FrameMethodMapper extends A_Component {\n\n @A_Feature.Extend({\n name: A_FrameDynamicFeatureFeatures.Map,\n scope: [A_FrameDynamicFeature],\n })\n async mapFeature(\n @A_Inject(A_Caller) feature: A_FrameDynamicFeature,\n @A_Inject(A_FrameMethodMapIndex) mapIndex: A_FrameMethodMapIndex,\n @A_Inject(A_FrameIndex) frameIndex: A_FrameIndex,\n @A_Inject(A_FrameChannel) channel: A_FrameChannel,\n ): Promise<void> {\n\n const def = feature.definition;\n if (!def) return;\n\n // ── helpers ──────────────────────────────────────────────────────────\n\n const tryMatchStep = (\n step: A_FrameDynamicFeatureStep,\n minScore: number,\n ): Pick<A_FrameDynamicFeatureStepMapEntry, 'matchedClass' | 'matchedMethod' | 'matchScore'> => {\n if (!step.embedding?.length) {\n return { matchedClass: null, matchedMethod: null, matchScore: 0 };\n }\n const results = frameIndex.search(new A_FrameVector(step.embedding), { topK: 1 });\n const top = results[0];\n if (top && top.score >= minScore) {\n // Method definitions store name = \"methodName\" and dependency.name = \"ClassName\".\n // Class definitions store both name and dependency.name as the class name.\n const matchedClass = top.record.dependency.name;\n const matchedMethod = top.record.name;\n return { matchedClass, matchedMethod, matchScore: top.score };\n }\n return { matchedClass: null, matchedMethod: null, matchScore: top?.score ?? 0 };\n };\n\n const tryMatchElement = (\n el: { prompt: string; class?: string; embedding?: number[] },\n minScore: number,\n ): Pick<A_FrameDynamicFeatureElementMapEntry, '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 });\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 stripEmbeddings = (d: A_FrameDynamicFeatureDefinition): A_FrameDynamicFeatureDefinition => {\n const strip = (el: any): any => { const { embedding, ...rest } = el; return rest; };\n return {\n ...d,\n steps: d.steps.map(strip),\n components: d.components.map(strip),\n fragments: d.fragments.map(strip),\n entities: d.entities.map(strip),\n };\n };\n\n const matchAll = (d: A_FrameDynamicFeatureDefinition): void => {\n mapIndex.clear();\n for (const step of d.steps) {\n mapIndex.setStep({\n prompt: step.prompt,\n inputs: step.inputs,\n outputs: step.outputs,\n ...tryMatchStep(step, feature.minScore),\n });\n }\n for (const el of d.components) {\n mapIndex.setElement({ prompt: el.prompt, ...tryMatchElement(el, feature.minScore) });\n }\n for (const el of d.fragments) {\n mapIndex.setElement({ prompt: el.prompt, ...tryMatchElement(el, feature.minScore) });\n }\n for (const el of d.entities) {\n mapIndex.setElement({ prompt: el.prompt, ...tryMatchElement(el, feature.minScore) });\n }\n };\n\n // ── initial matching pass ─────────────────────────────────────────────\n\n let workingDef = def;\n matchAll(workingDef);\n\n // ── retry loop: refine unmatched steps via server patch ───────────────\n\n for (let retry = 0; retry < feature.maxRetries; retry++) {\n const unmatchedSteps = workingDef.steps.filter(\n step => step.embedding?.length && mapIndex.getStep(step.prompt)?.matchedMethod === null,\n );\n if (unmatchedSteps.length === 0) break;\n\n const refinementInstruction = [\n `The following workflow steps could not be matched to any registered method.`,\n `Please re-describe each step with more specific, method-oriented language:`,\n unmatchedSteps.map(s => `- \"${s.prompt}\"`).join('\\n'),\n ].join('\\n');\n\n const patchReq = new A_FrameChannelRequest<A_FrameFeaturePatchResponse>(\n 'POST',\n '/api/v1/feature/patch',\n {\n originalPrompt: feature.prompt,\n definition: stripEmbeddings(workingDef),\n patchInstruction: refinementInstruction,\n model: feature.modelName,\n context: feature.contextHint,\n },\n );\n\n const patchScope = new A_Scope({\n name: `A_FrameMethodMapper.mapFeature:retry${retry}`,\n fragments: [patchReq],\n }).inherit(A_Context.scope(channel));\n\n await channel.call(A_FrameFeatures.Request, patchScope);\n patchScope.destroy();\n\n if (!patchReq.response) break;\n\n workingDef = patchReq.response.definition;\n matchAll(workingDef);\n }\n\n // ── finalize: mark remaining unmatched steps with an error ────────────\n\n for (const step of workingDef.steps) {\n const entry = mapIndex.getStep(step.prompt);\n if (entry && entry.matchedMethod === null && step.embedding?.length) {\n mapIndex.setStep({\n ...entry,\n matchError: {\n title: A_FrameDynamicFeatureError.MethodNotFound,\n description: `Unable to match \"${step.prompt}\" to any registered method after ${feature.maxRetries} retries.`,\n },\n });\n }\n }\n\n // ── hydrate the feature with the map result ───────────────────────────\n\n feature.hydrateFromMap(mapIndex.toResult(workingDef));\n }\n}\n"]}