@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,288 @@
1
+ import { A_Fragment } from "@adaas/a-concept";
2
+ import { A_FrameVector } from "../A-FrameVector/A-FrameVector.entity";
3
+ import { A_FrameContentPatchOperation } from "./A-FrameDynamicContent.types";
4
+ import { A_FrameSegment } from "../A-FrameSegment";
5
+
6
+
7
+ export interface A_FrameDynamicContentIndex_SearchResult {
8
+ segment: A_FrameSegment;
9
+ score: number;
10
+ }
11
+
12
+
13
+ export class A_FrameDynamicContentIndex extends A_Fragment {
14
+
15
+ /** Maximum segments forwarded to the server in a single patch request. */
16
+ static readonly PATCH_PIECE_LIMIT = 5;
17
+
18
+ /** Ordered list of segment IDs — defines the canonical reading order. */
19
+ private _order: string[] = [];
20
+
21
+ /** O(1) lookup by id. */
22
+ private _map: Map<string, A_FrameSegment> = new Map();
23
+
24
+ // ── Accessors ─────────────────────────────────────────────────────────────
25
+
26
+ get count(): number {
27
+ return this._order.length;
28
+ }
29
+
30
+ get size(): number {
31
+ return this._order.length;
32
+ }
33
+
34
+ // ── Basic mutation ────────────────────────────────────────────────────────
35
+
36
+ /** Append one or more segments to the end. */
37
+ add(...segments: A_FrameSegment[]): void {
38
+ segments.forEach(seg => {
39
+ this._map.set(seg.id as string, seg);
40
+ if (!this._order.includes(seg.id as string)) {
41
+ this._order.push(seg.id as string);
42
+ }
43
+ });
44
+ }
45
+
46
+ /** Replace the content of an existing segment in-place (position unchanged). */
47
+ update(segment: A_FrameSegment): void {
48
+ this._map.set(segment.id, segment);
49
+ if (!this._order.includes(segment.id)) {
50
+ this._order.push(segment.id);
51
+ }
52
+ }
53
+
54
+ /** Remove a segment by id. */
55
+ remove(id: string): void {
56
+ this._map.delete(id);
57
+ const idx = this._order.indexOf(id);
58
+ if (idx !== -1) this._order.splice(idx, 1);
59
+ }
60
+
61
+ /** Remove all segments. */
62
+ clear(): void {
63
+ this._map.clear();
64
+ this._order = [];
65
+ }
66
+
67
+ // ── Positional insertion ──────────────────────────────────────────────────
68
+
69
+ /** Insert `segment` immediately before the segment with `targetId`. */
70
+ insertBefore(targetId: string, segment: A_FrameSegment): void {
71
+ this._map.set(segment.id, segment);
72
+ const targetIdx = this._order.indexOf(targetId);
73
+ if (targetIdx === -1) {
74
+ this._order.push(segment.id);
75
+ } else {
76
+ this._order.splice(targetIdx, 0, segment.id);
77
+ }
78
+ }
79
+
80
+ /** Insert `segment` immediately after the segment with `targetId`. */
81
+ insertAfter(targetId: string, segment: A_FrameSegment): void {
82
+ this._map.set(segment.id, segment);
83
+ const targetIdx = this._order.indexOf(targetId);
84
+ if (targetIdx === -1) {
85
+ this._order.push(segment.id);
86
+ } else {
87
+ this._order.splice(targetIdx + 1, 0, segment.id);
88
+ }
89
+ }
90
+
91
+ /** Swap the content of `targetId` with `segment`, keeping the same position. */
92
+ replace(targetId: string, segment: A_FrameSegment): void {
93
+ const pos = this._order.indexOf(targetId);
94
+ if (pos === -1) return;
95
+ this._map.delete(targetId);
96
+ this._map.set(segment.id, segment);
97
+ this._order[pos] = segment.id;
98
+ }
99
+
100
+ // ── Position management ────────────────────────────────────────────────────
101
+
102
+ /** Move the segment with `id` to absolute zero-based `newPosition`. */
103
+ moveTo(id: string, newPosition: number): void {
104
+ const from = this._order.indexOf(id);
105
+ if (from === -1) return;
106
+ this._order.splice(from, 1);
107
+ const clipped = Math.max(0, Math.min(newPosition, this._order.length));
108
+ this._order.splice(clipped, 0, id);
109
+ }
110
+
111
+ /** Move `id` to directly before `targetId`. */
112
+ moveBefore(id: string, targetId: string): void {
113
+ const from = this._order.indexOf(id);
114
+ if (from === -1) return;
115
+ this._order.splice(from, 1);
116
+ const to = this._order.indexOf(targetId);
117
+ this._order.splice(to === -1 ? 0 : to, 0, id);
118
+ }
119
+
120
+ /** Move `id` to directly after `targetId`. */
121
+ moveAfter(id: string, targetId: string): void {
122
+ const from = this._order.indexOf(id);
123
+ if (from === -1) return;
124
+ this._order.splice(from, 1);
125
+ const to = this._order.indexOf(targetId);
126
+ this._order.splice(to === -1 ? this._order.length : to + 1, 0, id);
127
+ }
128
+
129
+ // ── Patch operation dispatch ──────────────────────────────────────────────
130
+
131
+ /**
132
+ * Apply a single `A_FrameContentPatchOperation` to the index.
133
+ * For `add` and `replace` the caller must supply the resolved `segment`.
134
+ * For `remove` only the `op` is needed.
135
+ */
136
+ applyOperation(op: A_FrameContentPatchOperation, segment?: A_FrameSegment): void {
137
+ switch (op.action) {
138
+ case 'remove': {
139
+ if (op.targetId) this.remove(op.targetId);
140
+ break;
141
+ }
142
+ case 'replace': {
143
+ if (op.targetId && segment) this.replace(op.targetId, segment);
144
+ break;
145
+ }
146
+ case 'add': {
147
+ if (!segment) break;
148
+ if (!op.targetId || op.position === 'append') {
149
+ this.add(segment);
150
+ } else if (op.position === 'before') {
151
+ this.insertBefore(op.targetId, segment);
152
+ } else {
153
+ // 'after' is the default
154
+ this.insertAfter(op.targetId, segment);
155
+ }
156
+ break;
157
+ }
158
+ }
159
+ }
160
+
161
+ // ── Lookup ────────────────────────────────────────────────────────────────
162
+
163
+ get(id: string): A_FrameSegment | undefined {
164
+ return this._map.get(id);
165
+ }
166
+
167
+ /** Returns all segments in their current canonical order. */
168
+ list(): A_FrameSegment[] {
169
+ return this._order
170
+ .map(id => this._map.get(id))
171
+ .filter((s): s is A_FrameSegment => s !== undefined);
172
+ }
173
+
174
+ // ── Search ────────────────────────────────────────────────────────────────
175
+
176
+ /**
177
+ * Computes the centroid (element-wise mean) of all embedded segments.
178
+ * Returns `null` when no segments have been embedded yet.
179
+ * The centroid represents the overall semantic "centre of gravity" of this
180
+ * content block and is used by `A_FrameDynamicContent.compareTo()` to
181
+ * measure similarity between two content instances.
182
+ */
183
+ centroid(): A_FrameVector | null {
184
+ const embedded = this.list().filter(s => s.isEmbed && s.vector);
185
+ if (embedded.length === 0) return null;
186
+
187
+ const dim = embedded[0].vector!.length;
188
+ const sum = new Float32Array(dim);
189
+
190
+ for (const seg of embedded) {
191
+ const vals = seg.vector!.values;
192
+ for (let i = 0; i < dim; i++) sum[i] += vals[i];
193
+ }
194
+ for (let i = 0; i < dim; i++) sum[i] /= embedded.length;
195
+
196
+ return new A_FrameVector(sum);
197
+ }
198
+
199
+ /**
200
+ * Rank all embedded segments by cosine similarity to the query vector.
201
+ */
202
+ search(
203
+ vector: A_FrameVector,
204
+ topK: number = A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT,
205
+ ): A_FrameDynamicContentIndex_SearchResult[] {
206
+ const queryVec = vector.normalize();
207
+
208
+ return this.list()
209
+ .filter(s => s.isEmbed && s.vector)
210
+ .map(s => ({
211
+ segment: s,
212
+ score: queryVec.dot(s.vector!.normalize()),
213
+ }))
214
+ .sort((a, b) => b.score - a.score)
215
+ .slice(0, topK);
216
+ }
217
+
218
+ /**
219
+ * Rank segments by how many instruction keywords appear in their content.
220
+ * Words shorter than 4 characters are ignored.
221
+ */
222
+ searchByKeywords(
223
+ instruction: string,
224
+ topK: number = A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT,
225
+ ): A_FrameDynamicContentIndex_SearchResult[] {
226
+ const keywords = instruction
227
+ .toLowerCase()
228
+ .split(/\W+/)
229
+ .filter(w => w.length > 3);
230
+
231
+ if (keywords.length === 0) return [];
232
+
233
+ return this.list()
234
+ .map(segment => {
235
+ const lower = segment.content.toLowerCase();
236
+ const score = keywords.reduce(
237
+ (acc, kw) => acc + (lower.includes(kw) ? 1 : 0),
238
+ 0,
239
+ );
240
+ return { segment, score };
241
+ })
242
+ .filter(s => s.score > 0)
243
+ .sort((a, b) => b.score - a.score)
244
+ .slice(0, topK);
245
+ }
246
+
247
+ /**
248
+ * Select at most `limit` segments most relevant to a patch instruction.
249
+ *
250
+ * Priority:
251
+ * 1. Vector search — when `vector` is provided and segments carry embeddings.
252
+ * 2. Keyword search — fallback when embeddings are absent or vector is null.
253
+ * 3. Identity — first N segments when neither search finds candidates.
254
+ */
255
+ selectForPatch(
256
+ vector: A_FrameVector | null,
257
+ instruction: string,
258
+ limit: number = A_FrameDynamicContentIndex.PATCH_PIECE_LIMIT,
259
+ ): A_FrameSegment[] {
260
+ const all = this.list();
261
+ if (all.length <= limit) return all;
262
+
263
+ // 1. Vector search
264
+ if (vector) {
265
+ const hasEmbedded = all.some(s => s.isEmbed);
266
+ if (hasEmbedded) {
267
+ const results = this.search(vector, limit);
268
+ if (results.length > 0) return results.map(r => r.segment);
269
+ }
270
+ }
271
+
272
+ // 2. Keyword fallback
273
+ const kwResults = this.searchByKeywords(instruction, limit);
274
+ if (kwResults.length > 0) return kwResults.map(r => r.segment);
275
+
276
+ // 3. Identity
277
+ return all.slice(0, limit);
278
+ }
279
+
280
+ // ── Similarity helpers ────────────────────────────────────────────────────
281
+
282
+ cosineSimilarity(a: A_FrameVector, b?: A_FrameVector): number {
283
+ if (!b) return 0;
284
+ const dot = a.dot(b);
285
+ const mag = a.magnitude() * b.magnitude();
286
+ return mag === 0 ? 0 : dot / mag;
287
+ }
288
+ }
@@ -0,0 +1,26 @@
1
+ import { A_Fragment } from "@adaas/a-concept";
2
+
3
+
4
+ export class A_FrameDynamicContentOperation<
5
+ _InputParams = any,
6
+ > extends A_Fragment {
7
+
8
+ protected _meta: Map<string, any> = new Map();
9
+
10
+ constructor(params: _InputParams = {} as _InputParams) {
11
+ super({ name: 'a-frame-dynamic-content-operation-context' });
12
+ this._meta.set('params', params);
13
+ }
14
+
15
+ get params(): _InputParams {
16
+ return this._meta.get('params');
17
+ }
18
+
19
+ get(key: string) {
20
+ return this._meta.get(key);
21
+ }
22
+
23
+ set(key: string, value: any) {
24
+ this._meta.set(key, value);
25
+ }
26
+ }
@@ -0,0 +1,5 @@
1
+ export * from './A-FrameDynamicContent.constants';
2
+ export * from './A-FrameDynamicContent.entity';
3
+ export * from './A-FrameDynamicContent.types';
4
+ export * from './A-FrameDynamicContent.error';
5
+ export * from './A-FrameDynamicContentOperation.context';
@@ -0,0 +1,6 @@
1
+
2
+ export const A_FrameDynamicFeatureFeatures = {
3
+ Generate: '_A_FRAME_DYNAMIC_FEATURE_GENERATE',
4
+ Patch: '_A_FRAME_DYNAMIC_FEATURE_PATCH',
5
+ Map: '_A_FRAME_DYNAMIC_FEATURE_MAP',
6
+ } as const;
@@ -1,6 +1,16 @@
1
- import { A_Entity } from "@adaas/a-concept";
2
- import { A_FrameDynamicFeature_Init, A_FrameDynamicFeature_Serialized } from "./A-FrameDynamicFeature.types";
3
-
1
+ import { A_CommonHelper, A_Context, A_Entity, A_Scope } from "@adaas/a-concept";
2
+ import {
3
+ A_FrameDynamicFeature_Init,
4
+ A_FrameDynamicFeature_Serialized,
5
+ A_FrameDynamicFeatureDefinition,
6
+ A_FrameDynamicFeatureMapResult,
7
+ } from "./A-FrameDynamicFeature.types";
8
+ import { A_FrameDynamicFeatureFeatures } from "./A-FrameDynamicFeature.constants";
9
+ import { A_FrameDynamicFeatureOperation } from "./A-FrameDynamicFeatureOperation.context";
10
+ import { A_FrameDynamicFeatureError } from "./A-FrameDynamicFeature.error";
11
+ import { A_FrameDynamicPatch } from "../A-FrameDynamicPatch/A-FrameDynamicPatch.entity";
12
+ import { A_FRAME_MODELS } from "../A-FrameModels/A-FrameModels.constants";
13
+ import { A_FrameMethodMapIndex } from "./A-FrameMethodMapIndex.context";
4
14
 
5
15
 
6
16
  export class A_FrameDynamicFeature extends A_Entity<A_FrameDynamicFeature_Init, A_FrameDynamicFeature_Serialized> {
@@ -9,5 +19,244 @@ export class A_FrameDynamicFeature extends A_Entity<A_FrameDynamicFeature_Init,
9
19
  return 'a-frame';
10
20
  }
11
21
 
22
+ // ── Identity ────────────────────────────────────────────────────────────────
23
+ prompt!: string;
24
+ createdAt!: number;
25
+
26
+ // ── Config ───────────────────────────────────────────────────────────────
27
+ private _model!: string;
28
+ private _context!: string;
29
+ private _includeBases!: string[];
30
+ private _excludeBases!: string[];
31
+ private _enabledComponents!: string[];
32
+ private _minScore!: number;
33
+ private _maxRetries!: number;
34
+
35
+ // ── State ───────────────────────────────────────────────────────────────────
36
+ private _definition!: A_FrameDynamicFeatureDefinition | null;
37
+ private _mapResult!: A_FrameDynamicFeatureMapResult | null;
38
+ private _history!: A_FrameDynamicPatch[];
39
+ private _version!: number;
40
+
41
+ fromNew(options: A_FrameDynamicFeature_Init) {
42
+ super.fromNew(options);
43
+
44
+ this.createdAt = Date.now();
45
+ this.prompt = options.prompt;
46
+ this._model = options.options?.model ?? A_FRAME_MODELS.PULSAR;
47
+ this._context = options.options?.context ?? '';
48
+ this._includeBases = (options.options?.includeBases ?? [])
49
+ .map(b => typeof b === 'string' ? b : A_CommonHelper.getComponentName(b));
50
+ this._excludeBases = (options.options?.excludeBases ?? [])
51
+ .map(b => typeof b === 'string' ? b : A_CommonHelper.getComponentName(b));
52
+ this._enabledComponents = (options.options?.enabledComponents ?? [])
53
+ .map(b => typeof b === 'string' ? b : A_CommonHelper.getComponentName(b));
54
+ this._minScore = options.options?.minScore ?? 0.7;
55
+ this._maxRetries = options.options?.maxRetries ?? 3;
56
+
57
+ this._definition = null;
58
+ this._mapResult = null;
59
+ this._history = [];
60
+ this._version = 0;
61
+ }
62
+
63
+ // ── Accessors ───────────────────────────────────────────────────────────────
64
+
65
+ get modelName(): string { return this._model; }
66
+ get contextHint(): string { return this._context; }
67
+ get includedBases(): string[] { return this._includeBases; }
68
+ get excludedBases(): string[] { return this._excludeBases; }
69
+ get enabledComponentsList():string[] { return this._enabledComponents; }
70
+ get minScore(): number { return this._minScore; }
71
+ get maxRetries(): number { return this._maxRetries; }
72
+
73
+ /** Current workflow definition, or `null` before first `generate()`. */
74
+ get definition(): A_FrameDynamicFeatureDefinition | null { return this._definition; }
75
+
76
+ /**
77
+ * Serialised workflow definition (no embedding arrays) — safe to
78
+ * log or persist. Returns an empty shell before `generate()` is called.
79
+ */
80
+ get workflow(): string {
81
+ if (!this._definition) {
82
+ return JSON.stringify({ title: '', description: '', steps: [], components: [], fragments: [], entities: [] }, null, 2);
83
+ }
84
+ return JSON.stringify(this._stripEmbeddings(this._definition), null, 2);
85
+ }
86
+
87
+ /** Component-mapping result produced by `map()`, or `null` before that call. */
88
+ get mapResult(): A_FrameDynamicFeatureMapResult | null { return this._mapResult; }
89
+
90
+ /** Immutable patch history. */
91
+ get history(): ReadonlyArray<A_FrameDynamicPatch> { return this._history; }
92
+
93
+ /** Version counter — increments with each `patch()` call. */
94
+ get version(): number { return this._version; }
95
+
96
+ // ── Main pipeline ───────────────────────────────────────────────────────────────
97
+
98
+ /**
99
+ * Generate the workflow definition from the entity's prompt.
100
+ *
101
+ * Calls the server's `/api/v1/feature/generate` endpoint. The server
102
+ * returns an ordered list of steps (with embeddings), a list of supporting
103
+ * components/fragments/entities, and a human-readable title + description
104
+ * of the workflow.
105
+ *
106
+ * After this call succeeds, invoke `map()` to match each element to a
107
+ * registered class/method in the local A_FrameIndex.
108
+ */
109
+ async generate(): Promise<void> {
110
+ const operation = new A_FrameDynamicFeatureOperation();
111
+
112
+ const executionScope = new A_Scope({
113
+ name: 'a-frame-dynamic-feature-generate',
114
+ fragments: [operation],
115
+ }).inherit(A_Context.scope(this));
116
+
117
+ try {
118
+ await this.call(A_FrameDynamicFeatureFeatures.Generate, executionScope);
119
+ executionScope.destroy();
120
+ } catch (err) {
121
+ executionScope.destroy();
122
+ throw new A_FrameDynamicFeatureError({
123
+ title: A_FrameDynamicFeatureError.GenerationFailed,
124
+ description: `Failed to generate feature workflow: ${err instanceof Error ? err.message : String(err)}`,
125
+ });
126
+ }
127
+ }
128
+
129
+ /**
130
+ * Apply a natural-language patch instruction to refine the current workflow.
131
+ *
132
+ * Calls the server's `/api/v1/feature/patch` endpoint. Increments the
133
+ * version and records a history entry. A previous `map()` result is
134
+ * invalidated — call `map()` again after patching.
135
+ */
136
+ async patch(instruction: string): Promise<void> {
137
+ const operation = new A_FrameDynamicFeatureOperation({ instruction });
138
+
139
+ const executionScope = new A_Scope({
140
+ name: 'a-frame-dynamic-feature-patch',
141
+ fragments: [operation],
142
+ }).inherit(A_Context.scope(this));
143
+
144
+ try {
145
+ await this.call(A_FrameDynamicFeatureFeatures.Patch, executionScope);
146
+ executionScope.destroy();
147
+ } catch (err) {
148
+ executionScope.destroy();
149
+ throw new A_FrameDynamicFeatureError({
150
+ title: A_FrameDynamicFeatureError.PatchFailed,
151
+ description: `Failed to patch feature workflow: ${err instanceof Error ? err.message : String(err)}`,
152
+ });
153
+ }
154
+ }
155
+
156
+ /**
157
+ * Match every step and supporting element in the current workflow definition
158
+ * against the local A_FrameIndex.
159
+ *
160
+ * Steps are matched to registered *methods* (via embedded method-level
161
+ * definitions indexed with `@A_Frame.Define`). Supporting components,
162
+ * fragments, and entities are matched to registered classes.
163
+ *
164
+ * Unmatched steps are retried via server-side refinement patches (up to
165
+ * `maxRetries` times) before being marked with a `matchError`.
166
+ *
167
+ * Results are stored in `mapResult` after this call completes.
168
+ */
169
+ async map(): Promise<void> {
170
+ const mapIndex = new A_FrameMethodMapIndex();
171
+
172
+ const executionScope = new A_Scope({
173
+ name: 'a-frame-dynamic-feature-map',
174
+ fragments: [mapIndex],
175
+ }).inherit(A_Context.scope(this));
176
+
177
+ try {
178
+ await this.call(A_FrameDynamicFeatureFeatures.Map, executionScope);
179
+ executionScope.destroy();
180
+ } catch (err) {
181
+ executionScope.destroy();
182
+ throw new A_FrameDynamicFeatureError({
183
+ title: A_FrameDynamicFeatureError.MappingFailed,
184
+ description: `Failed to map feature workflow: ${err instanceof Error ? err.message : String(err)}`,
185
+ });
186
+ }
187
+ }
188
+
189
+ // ── Hydration ───────────────────────────────────────────────────────────────
190
+
191
+ hydrateFromGeneration(
192
+ definition: A_FrameDynamicFeatureDefinition,
193
+ meta: { model: string; serverVersion: string },
194
+ ): void {
195
+ this._definition = definition;
196
+ this._mapResult = null;
197
+ this._history.push(new A_FrameDynamicPatch({
198
+ version: this._version,
199
+ timestamp: Date.now(),
200
+ reason: `Generated for: "${this.prompt}"`,
201
+ encoded: Buffer.from(JSON.stringify(this._stripEmbeddings(definition))).toString('base64'),
202
+ delta: definition.steps.length,
203
+ }));
204
+ }
205
+
206
+ hydrateFromPatch(
207
+ definition: A_FrameDynamicFeatureDefinition,
208
+ patchSummary: string,
209
+ meta: { model: string; serverVersion: string },
210
+ ): void {
211
+ const prevSteps = this._definition?.steps.length ?? 0;
212
+ this._definition = definition;
213
+ this._mapResult = null;
214
+ this._version++;
215
+ this._history.push(new A_FrameDynamicPatch({
216
+ version: this._version,
217
+ timestamp: Date.now(),
218
+ reason: patchSummary,
219
+ encoded: Buffer.from(JSON.stringify(this._stripEmbeddings(definition))).toString('base64'),
220
+ delta: definition.steps.length - prevSteps,
221
+ }));
222
+ }
223
+
224
+ hydrateFromMap(result: A_FrameDynamicFeatureMapResult): void {
225
+ this._mapResult = result;
226
+ }
227
+
228
+ // ── Serialisation ──────────────────────────────────────────────────────────────
229
+
230
+ toJSON(): A_FrameDynamicFeature_Serialized {
231
+ return {
232
+ ...super.toJSON(),
233
+ name: this.prompt,
234
+ description: `DynamicFeature with ${this._definition?.steps.length ?? 0} steps and ${this._history.length} patches`,
235
+ metadata: {
236
+ model: this._model,
237
+ context: this._context,
238
+ includeBases: this._includeBases,
239
+ excludeBases: this._excludeBases,
240
+ enabledComponents: this._enabledComponents,
241
+ createdAt: this.createdAt,
242
+ },
243
+ history: this._history.map(p => p.toJSON()),
244
+ };
245
+ }
12
246
 
13
- }
247
+ // ── Private helpers ──────────────────────────────────────────────────────────────
248
+
249
+ private _stripEmbeddings(def: A_FrameDynamicFeatureDefinition): A_FrameDynamicFeatureDefinition {
250
+ const strip = (el: any): any => {
251
+ const { embedding, ...rest } = el;
252
+ return rest;
253
+ };
254
+ return {
255
+ ...def,
256
+ steps: def.steps.map(strip),
257
+ components: def.components.map(strip),
258
+ fragments: def.fragments.map(strip),
259
+ entities: def.entities.map(strip),
260
+ };
261
+ }
262
+ }
@@ -0,0 +1,11 @@
1
+ import { A_Error } from "@adaas/a-concept";
2
+
3
+
4
+ export class A_FrameDynamicFeatureError extends A_Error {
5
+
6
+ static readonly GenerationFailed = 'GenerationFailed';
7
+ static readonly PatchFailed = 'PatchFailed';
8
+ static readonly MappingFailed = 'MappingFailed';
9
+ static readonly MethodNotFound = 'MethodNotFound';
10
+ static readonly InvalidOperation = 'InvalidOperation';
11
+ }