@adaas/a-frame 0.0.23 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/.conf/tsconfig.browser.json +7 -1
  2. package/.conf/tsconfig.node.json +7 -1
  3. package/dist/browser/A-FrameBrowserStorageBlobs.context-CZTTvpn2.d.mts +53 -0
  4. package/dist/browser/A-FrameBrowserStorageBlobs.context-CaGTyatz.d.mts +40 -0
  5. package/dist/browser/A-FrameBrowserStorageBlobs.context-DjeEH8cn.d.mts +53 -0
  6. package/dist/browser/A-FrameBrowserStorageBlobs.context-vCsuTea9.d.mts +40 -0
  7. package/dist/browser/A-FrameBundle.types-LzfgdMiQ.d.mts +71 -0
  8. package/dist/browser/A-FrameChannel.component-4mTNctXL.d.mts +704 -0
  9. package/dist/browser/A-FrameChannel.types-BXEKJK9t.d.mts +205 -0
  10. package/dist/browser/A-FrameChannel.types-Ba3wgUZj.d.mts +199 -0
  11. package/dist/browser/A-FrameChannel.types-BfINhQZe.d.mts +145 -0
  12. package/dist/browser/A-FrameChannel.types-DfacgYL1.d.mts +199 -0
  13. package/dist/browser/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
  14. package/dist/browser/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
  15. package/dist/browser/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
  16. package/dist/browser/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
  17. package/dist/browser/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
  18. package/dist/browser/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
  19. package/dist/browser/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
  20. package/dist/browser/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
  21. package/dist/browser/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
  22. package/dist/browser/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
  23. package/dist/browser/A-FrameEnv.types-DnK-CYVk.d.mts +21 -0
  24. package/dist/browser/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
  25. package/dist/browser/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
  26. package/dist/browser/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
  27. package/dist/browser/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
  28. package/dist/browser/bundle.d.mts +6 -2
  29. package/dist/browser/bundle.mjs +1 -1
  30. package/dist/browser/bundle.mjs.map +1 -1
  31. package/dist/browser/channel.d.mts +51 -74
  32. package/dist/browser/channel.mjs +1 -2
  33. package/dist/browser/channel.mjs.map +1 -1
  34. package/dist/browser/chunk-2RNFZSBL.mjs +2 -0
  35. package/dist/browser/chunk-2RNFZSBL.mjs.map +1 -0
  36. package/dist/browser/chunk-46LRNZRG.mjs +2 -0
  37. package/dist/browser/chunk-46LRNZRG.mjs.map +1 -0
  38. package/dist/browser/chunk-52HFO3OY.mjs +2 -0
  39. package/dist/browser/chunk-52HFO3OY.mjs.map +1 -0
  40. package/dist/browser/chunk-643KGQKR.mjs +3 -0
  41. package/dist/browser/chunk-643KGQKR.mjs.map +1 -0
  42. package/dist/browser/chunk-66BBIZAM.mjs +3 -0
  43. package/dist/browser/chunk-66BBIZAM.mjs.map +1 -0
  44. package/dist/browser/chunk-6NPQURSO.mjs +2 -0
  45. package/dist/browser/chunk-6NPQURSO.mjs.map +1 -0
  46. package/dist/browser/chunk-6WAOMX7M.mjs +2 -0
  47. package/dist/browser/chunk-6WAOMX7M.mjs.map +1 -0
  48. package/dist/browser/chunk-77HU5SRQ.mjs +2 -0
  49. package/dist/browser/chunk-77HU5SRQ.mjs.map +1 -0
  50. package/dist/browser/chunk-AET6XULU.mjs +2 -0
  51. package/dist/browser/chunk-AET6XULU.mjs.map +1 -0
  52. package/dist/browser/chunk-BIBPE2GT.mjs +3 -0
  53. package/dist/browser/chunk-BIBPE2GT.mjs.map +1 -0
  54. package/dist/browser/chunk-CDJKU4DK.mjs +2 -0
  55. package/dist/browser/chunk-CDJKU4DK.mjs.map +1 -0
  56. package/dist/browser/chunk-CT67Y46H.mjs +3 -0
  57. package/dist/browser/chunk-CT67Y46H.mjs.map +1 -0
  58. package/dist/browser/chunk-EFC7OUNO.mjs +2 -0
  59. package/dist/browser/chunk-EFC7OUNO.mjs.map +1 -0
  60. package/dist/browser/chunk-EJIX7H7A.mjs +2 -0
  61. package/dist/browser/chunk-EJIX7H7A.mjs.map +1 -0
  62. package/dist/browser/chunk-FHJ5ATND.mjs +3 -0
  63. package/dist/browser/chunk-FHJ5ATND.mjs.map +1 -0
  64. package/dist/browser/chunk-FVH2EEVP.mjs +3 -0
  65. package/dist/browser/chunk-FVH2EEVP.mjs.map +1 -0
  66. package/dist/browser/chunk-G6ULYKSU.mjs +2 -0
  67. package/dist/browser/chunk-G6ULYKSU.mjs.map +1 -0
  68. package/dist/browser/chunk-G7MKGKG5.mjs +2 -0
  69. package/dist/browser/chunk-G7MKGKG5.mjs.map +1 -0
  70. package/dist/browser/chunk-GOADBDTE.mjs +2 -0
  71. package/dist/browser/chunk-GOADBDTE.mjs.map +1 -0
  72. package/dist/browser/chunk-GOMJPGVB.mjs +3 -0
  73. package/dist/browser/chunk-GOMJPGVB.mjs.map +1 -0
  74. package/dist/browser/chunk-INQV5UZA.mjs +2 -0
  75. package/dist/browser/chunk-INQV5UZA.mjs.map +1 -0
  76. package/dist/browser/chunk-INXPVBTZ.mjs +2 -0
  77. package/dist/browser/chunk-INXPVBTZ.mjs.map +1 -0
  78. package/dist/browser/chunk-KFMVTZ7T.mjs +2 -0
  79. package/dist/browser/chunk-KFMVTZ7T.mjs.map +1 -0
  80. package/dist/browser/chunk-LK6C7C3S.mjs +2 -0
  81. package/dist/browser/chunk-LK6C7C3S.mjs.map +1 -0
  82. package/dist/browser/chunk-LOGRQOWP.mjs +3 -0
  83. package/dist/browser/chunk-LOGRQOWP.mjs.map +1 -0
  84. package/dist/browser/chunk-LZACYSUC.mjs +3 -0
  85. package/dist/browser/chunk-LZACYSUC.mjs.map +1 -0
  86. package/dist/browser/chunk-NTOIVRX3.mjs +2 -0
  87. package/dist/browser/chunk-NTOIVRX3.mjs.map +1 -0
  88. package/dist/browser/chunk-OES2N3X7.mjs +3 -0
  89. package/dist/browser/chunk-OES2N3X7.mjs.map +1 -0
  90. package/dist/browser/chunk-OFKV5GNB.mjs +1 -1
  91. package/dist/browser/chunk-OFKV5GNB.mjs.map +1 -1
  92. package/dist/browser/chunk-OVLM5A32.mjs +3 -0
  93. package/dist/browser/chunk-OVLM5A32.mjs.map +1 -0
  94. package/dist/browser/chunk-QATIN7CO.mjs +1 -1
  95. package/dist/browser/chunk-QATIN7CO.mjs.map +1 -1
  96. package/dist/browser/chunk-QOL7CAUZ.mjs +2 -0
  97. package/dist/browser/chunk-QOL7CAUZ.mjs.map +1 -0
  98. package/dist/browser/chunk-RCB3PX4V.mjs +2 -0
  99. package/dist/browser/chunk-RCB3PX4V.mjs.map +1 -0
  100. package/dist/browser/chunk-RWQSCROK.mjs +3 -0
  101. package/dist/browser/chunk-RWQSCROK.mjs.map +1 -0
  102. package/dist/browser/chunk-TIAUMK2X.mjs +2 -0
  103. package/dist/browser/chunk-TIAUMK2X.mjs.map +1 -0
  104. package/dist/browser/chunk-TQPC5MYM.mjs +3 -0
  105. package/dist/browser/chunk-TQPC5MYM.mjs.map +1 -0
  106. package/dist/browser/chunk-UNIKTCXL.mjs +3 -0
  107. package/dist/browser/chunk-UNIKTCXL.mjs.map +1 -0
  108. package/dist/browser/chunk-UULJJ5C5.mjs +3 -0
  109. package/dist/browser/chunk-UULJJ5C5.mjs.map +1 -0
  110. package/dist/browser/chunk-VSSANMPF.mjs +2 -0
  111. package/dist/browser/chunk-VSSANMPF.mjs.map +1 -0
  112. package/dist/browser/chunk-VW2BZYNY.mjs +2 -0
  113. package/dist/browser/chunk-VW2BZYNY.mjs.map +1 -0
  114. package/dist/browser/chunk-WAXBOWM6.mjs +3 -0
  115. package/dist/browser/chunk-WAXBOWM6.mjs.map +1 -0
  116. package/dist/browser/chunk-WXCQCHAX.mjs +2 -0
  117. package/dist/browser/chunk-WXCQCHAX.mjs.map +1 -0
  118. package/dist/browser/chunk-XKKBIIZG.mjs +3 -0
  119. package/dist/browser/chunk-XKKBIIZG.mjs.map +1 -0
  120. package/dist/browser/chunk-XR7FVA5M.mjs +3 -0
  121. package/dist/browser/chunk-XR7FVA5M.mjs.map +1 -0
  122. package/dist/browser/chunk-YQJFTBGV.mjs +3 -0
  123. package/dist/browser/chunk-YQJFTBGV.mjs.map +1 -0
  124. package/dist/browser/chunk-YTAMZDWC.mjs +3 -0
  125. package/dist/browser/chunk-YTAMZDWC.mjs.map +1 -0
  126. package/dist/browser/chunk-ZEONOTRL.mjs +2 -0
  127. package/dist/browser/chunk-ZEONOTRL.mjs.map +1 -0
  128. package/dist/browser/completion.d.mts +10 -0
  129. package/dist/browser/completion.mjs +2 -0
  130. package/dist/browser/completion.mjs.map +1 -0
  131. package/dist/browser/core.d.mts +8 -7
  132. package/dist/browser/core.mjs +1 -1
  133. package/dist/browser/core.mjs.map +1 -1
  134. package/dist/browser/credentials.d.mts +74 -0
  135. package/dist/browser/credentials.mjs +2 -0
  136. package/dist/browser/credentials.mjs.map +1 -0
  137. package/dist/browser/definition.d.mts +3 -2
  138. package/dist/browser/definition.mjs +1 -1
  139. package/dist/browser/dynamic-content.d.mts +13 -0
  140. package/dist/browser/dynamic-content.mjs +2 -0
  141. package/dist/browser/dynamic-content.mjs.map +1 -0
  142. package/dist/browser/dynamic-feature.d.mts +66 -6
  143. package/dist/browser/dynamic-feature.mjs +3 -1
  144. package/dist/browser/dynamic-feature.mjs.map +1 -1
  145. package/dist/browser/dynamic-structure.d.mts +77 -3
  146. package/dist/browser/dynamic-structure.mjs +1 -1
  147. package/dist/browser/dynamic-structure.mjs.map +1 -1
  148. package/dist/browser/env.d.mts +16 -2
  149. package/dist/browser/env.mjs +1 -1
  150. package/dist/browser/frame-index.d.mts +70 -9
  151. package/dist/browser/frame-index.mjs +1 -1
  152. package/dist/browser/models.d.mts +64 -0
  153. package/dist/browser/models.mjs +2 -0
  154. package/dist/browser/models.mjs.map +1 -0
  155. package/dist/browser/namespace.d.mts +1 -1
  156. package/dist/browser/namespace.mjs +1 -1
  157. package/dist/browser/schema.d.mts +10 -0
  158. package/dist/browser/schema.mjs +2 -0
  159. package/dist/browser/schema.mjs.map +1 -0
  160. package/dist/browser/segment.d.mts +13 -0
  161. package/dist/browser/segment.mjs +2 -0
  162. package/dist/browser/segment.mjs.map +1 -0
  163. package/dist/browser/storage.d.mts +13 -7
  164. package/dist/browser/storage.mjs +1 -1
  165. package/dist/browser/vector.d.mts +7 -0
  166. package/dist/browser/vector.mjs +1 -1
  167. package/dist/cli.cjs +5593 -0
  168. package/dist/cli.cjs.map +1 -0
  169. package/dist/node/A-FrameChannel.component--YErPxf4.d.mts +97 -0
  170. package/dist/node/A-FrameChannel.component-BjgqMh1B.d.ts +97 -0
  171. package/dist/node/A-FrameChannel.component-C0O3TaRD.d.ts +679 -0
  172. package/dist/node/A-FrameChannel.component-CgBZYBz0.d.mts +379 -0
  173. package/dist/node/A-FrameChannel.component-CkZserv3.d.ts +97 -0
  174. package/dist/node/A-FrameChannel.component-DMA-3sUB.d.mts +679 -0
  175. package/dist/node/A-FrameChannel.component-DYV8omYR.d.ts +379 -0
  176. package/dist/node/A-FrameChannel.component-DwgYNfFn.d.mts +97 -0
  177. package/dist/node/A-FrameChannel.types-B3_xWKEO.d.mts +151 -0
  178. package/dist/node/A-FrameChannel.types-BGcVXTqa.d.ts +205 -0
  179. package/dist/node/A-FrameChannel.types-Boi8QqDK.d.mts +205 -0
  180. package/dist/node/A-FrameChannel.types-BsE6bNky.d.mts +205 -0
  181. package/dist/node/A-FrameChannel.types-C-gxXl8m.d.ts +151 -0
  182. package/dist/node/A-FrameChannel.types-DD2B11rf.d.ts +205 -0
  183. package/dist/node/A-FrameChannel.types-DYMgRiCF.d.mts +205 -0
  184. package/dist/node/A-FrameChannel.types-DwyZRsOy.d.ts +205 -0
  185. package/dist/node/A-FrameCompletion.entity-Brx11JMp.d.ts +72 -0
  186. package/dist/node/A-FrameCompletion.entity-Dzy9sIa8.d.mts +72 -0
  187. package/dist/node/A-FrameDefinition.entity-BIF0sclD.d.ts +370 -0
  188. package/dist/node/A-FrameDefinition.entity-Bt9ua6cn.d.ts +358 -0
  189. package/dist/node/A-FrameDefinition.entity-C0kzaGJ0.d.ts +143 -0
  190. package/dist/node/A-FrameDefinition.entity-C1aK-gdl.d.mts +370 -0
  191. package/dist/node/A-FrameDefinition.entity-CKPXsarS.d.mts +358 -0
  192. package/dist/node/A-FrameDefinition.entity-yA0GsBoe.d.mts +143 -0
  193. package/dist/node/A-FrameDefinition.types-BA_pLGpo.d.ts +232 -0
  194. package/dist/node/A-FrameDefinition.types-BT02yAhQ.d.mts +232 -0
  195. package/dist/node/A-FrameDynamicContentOperation.context-C_aH1gEn.d.ts +297 -0
  196. package/dist/node/A-FrameDynamicContentOperation.context-CoViNb19.d.mts +297 -0
  197. package/dist/node/A-FrameDynamicContentOperation.context-DRqH2c3o.d.ts +266 -0
  198. package/dist/node/A-FrameDynamicContentOperation.context-Dd7Lb7X2.d.mts +266 -0
  199. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.mts +29 -0
  200. package/dist/node/A-FrameDynamicPatch.entity-BRuF1tqs.d.ts +29 -0
  201. package/dist/node/A-FrameDynamicStructure.entity-BVCbolMd.d.ts +210 -0
  202. package/dist/node/A-FrameDynamicStructure.entity-DMvI_EPT.d.mts +210 -0
  203. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.mts +235 -0
  204. package/dist/node/A-FrameDynamicStructure.entity-DxkPP9mR.d.ts +235 -0
  205. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.mts +114 -0
  206. package/dist/node/A-FrameLogger.component.env-node-DIDBeuiz.d.ts +114 -0
  207. package/dist/node/A-FrameNamespace.entity-BDg1FUgo.d.mts +136 -0
  208. package/dist/node/A-FrameNamespace.entity-HDXcLGcS.d.ts +136 -0
  209. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.mts +141 -0
  210. package/dist/node/A-FrameSchema.entity-DjYIhsoj.d.ts +141 -0
  211. package/dist/node/A-FrameSegment.entity-C0izuOmC.d.ts +161 -0
  212. package/dist/node/A-FrameSegment.entity-CMCgFCWU.d.ts +146 -0
  213. package/dist/node/A-FrameSegment.entity-D1xjjWvG.d.mts +161 -0
  214. package/dist/node/A-FrameSegment.entity-D7Aj39Wh.d.mts +146 -0
  215. package/dist/node/A-FrameStorage.component-BnNKzvpY.d.mts +107 -0
  216. package/dist/node/A-FrameStorage.component-CDztogHV.d.mts +107 -0
  217. package/dist/node/A-FrameStorage.component-CW0YgKDI.d.mts +107 -0
  218. package/dist/node/A-FrameStorage.component-D4UEkIBx.d.mts +107 -0
  219. package/dist/node/A-FrameStorage.component-DV_jwK6r.d.ts +107 -0
  220. package/dist/node/A-FrameStorage.component-Di4EvbtC.d.ts +107 -0
  221. package/dist/node/A-FrameStorage.component-emIH1a1M.d.ts +107 -0
  222. package/dist/node/A-FrameStorage.component-y-JPiIQ4.d.ts +107 -0
  223. package/dist/node/bundle.cjs +66 -21
  224. package/dist/node/bundle.cjs.map +1 -1
  225. package/dist/node/bundle.d.mts +88 -24
  226. package/dist/node/bundle.d.ts +88 -24
  227. package/dist/node/bundle.mjs +65 -20
  228. package/dist/node/bundle.mjs.map +1 -1
  229. package/dist/node/channel.cjs +33 -26
  230. package/dist/node/channel.d.mts +10 -6
  231. package/dist/node/channel.d.ts +10 -6
  232. package/dist/node/channel.mjs +13 -6
  233. package/dist/node/chunk-2HUSP34L.mjs +55 -0
  234. package/dist/node/chunk-2HUSP34L.mjs.map +1 -0
  235. package/dist/node/chunk-2KXGI2E5.cjs +474 -0
  236. package/dist/node/chunk-2KXGI2E5.cjs.map +1 -0
  237. package/dist/node/chunk-2OQMOIR5.mjs +170 -0
  238. package/dist/node/chunk-2OQMOIR5.mjs.map +1 -0
  239. package/dist/node/chunk-2UI7RJ4Q.mjs +207 -0
  240. package/dist/node/chunk-2UI7RJ4Q.mjs.map +1 -0
  241. package/dist/node/chunk-3SLICJ3L.cjs +265 -0
  242. package/dist/node/chunk-3SLICJ3L.cjs.map +1 -0
  243. package/dist/node/chunk-3ZDHQOIU.cjs +92 -0
  244. package/dist/node/chunk-3ZDHQOIU.cjs.map +1 -0
  245. package/dist/node/chunk-5BKCX2RO.mjs +33 -0
  246. package/dist/node/chunk-5BKCX2RO.mjs.map +1 -0
  247. package/dist/node/chunk-5NCGXLP2.mjs +6 -0
  248. package/dist/node/chunk-5NCGXLP2.mjs.map +1 -0
  249. package/dist/node/chunk-5OTXZ7BB.mjs +53 -0
  250. package/dist/node/chunk-5OTXZ7BB.mjs.map +1 -0
  251. package/dist/node/chunk-5PYIATGT.mjs +469 -0
  252. package/dist/node/chunk-5PYIATGT.mjs.map +1 -0
  253. package/dist/node/chunk-64QCZG53.cjs +57 -0
  254. package/dist/node/chunk-64QCZG53.cjs.map +1 -0
  255. package/dist/node/chunk-652OEICJ.cjs +4 -0
  256. package/dist/node/chunk-652OEICJ.cjs.map +1 -0
  257. package/dist/node/chunk-674ZX6XJ.mjs +187 -0
  258. package/dist/node/chunk-674ZX6XJ.mjs.map +1 -0
  259. package/dist/node/chunk-6ID2IXYX.mjs +6 -0
  260. package/dist/node/chunk-6ID2IXYX.mjs.map +1 -0
  261. package/dist/node/chunk-6KAGWGTE.mjs +529 -0
  262. package/dist/node/chunk-6KAGWGTE.mjs.map +1 -0
  263. package/dist/node/chunk-7EM3Q7HA.mjs +655 -0
  264. package/dist/node/chunk-7EM3Q7HA.mjs.map +1 -0
  265. package/dist/node/chunk-7MVVMISA.cjs +293 -0
  266. package/dist/node/chunk-7MVVMISA.cjs.map +1 -0
  267. package/dist/node/chunk-7NSLGCAZ.mjs +1395 -0
  268. package/dist/node/chunk-7NSLGCAZ.mjs.map +1 -0
  269. package/dist/node/chunk-7OLLATCC.mjs +1289 -0
  270. package/dist/node/chunk-7OLLATCC.mjs.map +1 -0
  271. package/dist/node/chunk-7SEZMRLI.cjs +183 -0
  272. package/dist/node/chunk-7SEZMRLI.cjs.map +1 -0
  273. package/dist/node/chunk-A4CVDMSV.mjs +608 -0
  274. package/dist/node/chunk-A4CVDMSV.mjs.map +1 -0
  275. package/dist/node/chunk-A7CJIUYY.cjs +4 -0
  276. package/dist/node/chunk-A7CJIUYY.cjs.map +1 -0
  277. package/dist/node/chunk-ALFFUJ2J.mjs +163 -0
  278. package/dist/node/chunk-ALFFUJ2J.mjs.map +1 -0
  279. package/dist/node/chunk-AMMQ76RJ.mjs +179 -0
  280. package/dist/node/chunk-AMMQ76RJ.mjs.map +1 -0
  281. package/dist/node/chunk-AUKWKGVA.cjs +688 -0
  282. package/dist/node/chunk-AUKWKGVA.cjs.map +1 -0
  283. package/dist/node/chunk-AY6UMDWD.cjs +270 -0
  284. package/dist/node/chunk-AY6UMDWD.cjs.map +1 -0
  285. package/dist/node/chunk-B7ZDJXD3.cjs +1 -1
  286. package/dist/node/chunk-B7ZDJXD3.cjs.map +1 -1
  287. package/dist/node/chunk-BBYOL3LM.cjs +1308 -0
  288. package/dist/node/chunk-BBYOL3LM.cjs.map +1 -0
  289. package/dist/node/chunk-BINGAHFW.cjs +1308 -0
  290. package/dist/node/chunk-BINGAHFW.cjs.map +1 -0
  291. package/dist/node/chunk-BSBY37MG.cjs +55 -0
  292. package/dist/node/chunk-BSBY37MG.cjs.map +1 -0
  293. package/dist/node/chunk-BWX7HFTH.cjs +209 -0
  294. package/dist/node/chunk-BWX7HFTH.cjs.map +1 -0
  295. package/dist/node/chunk-C37B34MH.cjs +188 -0
  296. package/dist/node/chunk-C37B34MH.cjs.map +1 -0
  297. package/dist/node/chunk-C6BBKHQG.cjs +250 -0
  298. package/dist/node/chunk-C6BBKHQG.cjs.map +1 -0
  299. package/dist/node/chunk-CLCAS67N.cjs +8 -0
  300. package/dist/node/chunk-CLCAS67N.cjs.map +1 -0
  301. package/dist/node/chunk-CNU3CRTR.mjs +43 -0
  302. package/dist/node/chunk-CNU3CRTR.mjs.map +1 -0
  303. package/dist/node/chunk-CV5FPKU6.mjs +6 -0
  304. package/dist/node/chunk-CV5FPKU6.mjs.map +1 -0
  305. package/dist/node/chunk-CZYOAFIR.mjs +129 -0
  306. package/dist/node/chunk-CZYOAFIR.mjs.map +1 -0
  307. package/dist/node/chunk-D2HTYEJZ.cjs +209 -0
  308. package/dist/node/chunk-D2HTYEJZ.cjs.map +1 -0
  309. package/dist/node/chunk-EMLZZPOT.cjs +1446 -0
  310. package/dist/node/chunk-EMLZZPOT.cjs.map +1 -0
  311. package/dist/node/chunk-EOIXXXBV.cjs +55 -0
  312. package/dist/node/chunk-EOIXXXBV.cjs.map +1 -0
  313. package/dist/node/chunk-F46TSY2K.cjs +541 -0
  314. package/dist/node/chunk-F46TSY2K.cjs.map +1 -0
  315. package/dist/node/chunk-F4UCOZW5.mjs +1 -1
  316. package/dist/node/chunk-F4UCOZW5.mjs.map +1 -1
  317. package/dist/node/chunk-F64CK4NI.mjs +53 -0
  318. package/dist/node/chunk-F64CK4NI.mjs.map +1 -0
  319. package/dist/node/chunk-FAV62EUG.cjs +35 -0
  320. package/dist/node/chunk-FAV62EUG.cjs.map +1 -0
  321. package/dist/node/chunk-GHSPKZUN.mjs +529 -0
  322. package/dist/node/chunk-GHSPKZUN.mjs.map +1 -0
  323. package/dist/node/chunk-GRNVK7DW.mjs +97 -0
  324. package/dist/node/chunk-GRNVK7DW.mjs.map +1 -0
  325. package/dist/node/chunk-GRR6NNWY.cjs +688 -0
  326. package/dist/node/chunk-GRR6NNWY.cjs.map +1 -0
  327. package/dist/node/chunk-H5VGRPD5.cjs +8 -0
  328. package/dist/node/chunk-H5VGRPD5.cjs.map +1 -0
  329. package/dist/node/chunk-HAMDDCPS.cjs +8 -0
  330. package/dist/node/chunk-HAMDDCPS.cjs.map +1 -0
  331. package/dist/node/chunk-HAORARSB.cjs +75 -0
  332. package/dist/node/chunk-HAORARSB.cjs.map +1 -0
  333. package/dist/node/chunk-HELNAM5Y.cjs +8 -0
  334. package/dist/node/chunk-HELNAM5Y.cjs.map +1 -0
  335. package/dist/node/chunk-HET6L5PD.mjs +530 -0
  336. package/dist/node/chunk-HET6L5PD.mjs.map +1 -0
  337. package/dist/node/chunk-HI5SEX53.mjs +264 -0
  338. package/dist/node/chunk-HI5SEX53.mjs.map +1 -0
  339. package/dist/node/chunk-HZGFXE4Q.mjs +6 -0
  340. package/dist/node/chunk-HZGFXE4Q.mjs.map +1 -0
  341. package/dist/node/chunk-IAL2NK2V.mjs +73 -0
  342. package/dist/node/chunk-IAL2NK2V.mjs.map +1 -0
  343. package/dist/node/chunk-IHELFDCW.mjs +327 -0
  344. package/dist/node/chunk-IHELFDCW.mjs.map +1 -0
  345. package/dist/node/chunk-ILD6OSYW.mjs +966 -0
  346. package/dist/node/chunk-ILD6OSYW.mjs.map +1 -0
  347. package/dist/node/chunk-IP6DFAO7.mjs +264 -0
  348. package/dist/node/chunk-IP6DFAO7.mjs.map +1 -0
  349. package/dist/node/chunk-IYEDO7OQ.cjs +276 -0
  350. package/dist/node/chunk-IYEDO7OQ.cjs.map +1 -0
  351. package/dist/node/chunk-JFPGFPQD.mjs +1413 -0
  352. package/dist/node/chunk-JFPGFPQD.mjs.map +1 -0
  353. package/dist/node/chunk-JHZGTVYF.cjs +999 -0
  354. package/dist/node/chunk-JHZGTVYF.cjs.map +1 -0
  355. package/dist/node/chunk-JN3UJBUH.mjs +608 -0
  356. package/dist/node/chunk-JN3UJBUH.mjs.map +1 -0
  357. package/dist/node/chunk-JNPDXCCN.mjs +530 -0
  358. package/dist/node/chunk-JNPDXCCN.mjs.map +1 -0
  359. package/dist/node/chunk-JQBYDEMW.mjs +1 -1
  360. package/dist/node/chunk-JQBYDEMW.mjs.map +1 -1
  361. package/dist/node/chunk-JQJ7N4NL.cjs +267 -0
  362. package/dist/node/chunk-JQJ7N4NL.cjs.map +1 -0
  363. package/dist/node/chunk-K4AJBPPY.cjs +174 -0
  364. package/dist/node/chunk-K4AJBPPY.cjs.map +1 -0
  365. package/dist/node/chunk-K7SXPJPK.cjs +131 -0
  366. package/dist/node/chunk-K7SXPJPK.cjs.map +1 -0
  367. package/dist/node/chunk-KFW4GE7H.mjs +1289 -0
  368. package/dist/node/chunk-KFW4GE7H.mjs.map +1 -0
  369. package/dist/node/chunk-KKL2DF2D.cjs +518 -0
  370. package/dist/node/chunk-KKL2DF2D.cjs.map +1 -0
  371. package/dist/node/chunk-KKMKQGTR.cjs +620 -0
  372. package/dist/node/chunk-KKMKQGTR.cjs.map +1 -0
  373. package/dist/node/chunk-KNTO7FCZ.mjs +207 -0
  374. package/dist/node/chunk-KNTO7FCZ.mjs.map +1 -0
  375. package/dist/node/chunk-KTKVW3PH.mjs +286 -0
  376. package/dist/node/chunk-KTKVW3PH.mjs.map +1 -0
  377. package/dist/node/chunk-KZPSF32W.mjs +33 -0
  378. package/dist/node/chunk-KZPSF32W.mjs.map +1 -0
  379. package/dist/node/chunk-LWKFCMA7.mjs +129 -0
  380. package/dist/node/chunk-LWKFCMA7.mjs.map +1 -0
  381. package/dist/node/chunk-M2ZSE6YJ.mjs +512 -0
  382. package/dist/node/chunk-M2ZSE6YJ.mjs.map +1 -0
  383. package/dist/node/chunk-M6DJYGDO.cjs +167 -0
  384. package/dist/node/chunk-M6DJYGDO.cjs.map +1 -0
  385. package/dist/node/chunk-MAHKDTOQ.mjs +3 -0
  386. package/dist/node/chunk-MAHKDTOQ.mjs.map +1 -0
  387. package/dist/node/chunk-MM2R2OM6.cjs +541 -0
  388. package/dist/node/chunk-MM2R2OM6.cjs.map +1 -0
  389. package/dist/node/chunk-MSOD5UQH.cjs +45 -0
  390. package/dist/node/chunk-MSOD5UQH.cjs.map +1 -0
  391. package/dist/node/chunk-MVAWR76Q.cjs +276 -0
  392. package/dist/node/chunk-MVAWR76Q.cjs.map +1 -0
  393. package/dist/node/chunk-MXUO7OR5.cjs +97 -0
  394. package/dist/node/chunk-MXUO7OR5.cjs.map +1 -0
  395. package/dist/node/chunk-N4THTV6P.cjs +131 -0
  396. package/dist/node/chunk-N4THTV6P.cjs.map +1 -0
  397. package/dist/node/chunk-NIXKAQVP.cjs +1 -1
  398. package/dist/node/chunk-NIXKAQVP.cjs.map +1 -1
  399. package/dist/node/chunk-NUPXUUPM.cjs +1428 -0
  400. package/dist/node/chunk-NUPXUUPM.cjs.map +1 -0
  401. package/dist/node/chunk-NWOUVAIS.cjs +45 -0
  402. package/dist/node/chunk-NWOUVAIS.cjs.map +1 -0
  403. package/dist/node/chunk-OK7I5OQ3.mjs +89 -0
  404. package/dist/node/chunk-OK7I5OQ3.mjs.map +1 -0
  405. package/dist/node/chunk-OMGYXCFM.mjs +248 -0
  406. package/dist/node/chunk-OMGYXCFM.mjs.map +1 -0
  407. package/dist/node/chunk-OYC6L5NX.mjs +6 -0
  408. package/dist/node/chunk-OYC6L5NX.mjs.map +1 -0
  409. package/dist/node/chunk-OYZAQMKD.mjs +263 -0
  410. package/dist/node/chunk-OYZAQMKD.mjs.map +1 -0
  411. package/dist/node/chunk-P2LULMNL.cjs +189 -0
  412. package/dist/node/chunk-P2LULMNL.cjs.map +1 -0
  413. package/dist/node/chunk-PABEFHCO.mjs +63 -0
  414. package/dist/node/chunk-PABEFHCO.mjs.map +1 -0
  415. package/dist/node/chunk-Q5NYJQP2.cjs +8 -0
  416. package/dist/node/chunk-Q5NYJQP2.cjs.map +1 -0
  417. package/dist/node/chunk-QCEWWJ3N.cjs +65 -0
  418. package/dist/node/chunk-QCEWWJ3N.cjs.map +1 -0
  419. package/dist/node/chunk-QW4AZ3Z2.cjs +542 -0
  420. package/dist/node/chunk-QW4AZ3Z2.cjs.map +1 -0
  421. package/dist/node/chunk-R2H234YO.cjs +8 -0
  422. package/dist/node/chunk-R2H234YO.cjs.map +1 -0
  423. package/dist/node/chunk-RK5WSZ5J.mjs +43 -0
  424. package/dist/node/chunk-RK5WSZ5J.mjs.map +1 -0
  425. package/dist/node/chunk-RPHYBPXT.mjs +30 -0
  426. package/dist/node/chunk-RPHYBPXT.mjs.map +1 -0
  427. package/dist/node/chunk-RVXASBMQ.mjs +273 -0
  428. package/dist/node/chunk-RVXASBMQ.mjs.map +1 -0
  429. package/dist/node/chunk-RVZTZD32.mjs +187 -0
  430. package/dist/node/chunk-RVZTZD32.mjs.map +1 -0
  431. package/dist/node/chunk-RWLKISZQ.mjs +273 -0
  432. package/dist/node/chunk-RWLKISZQ.mjs.map +1 -0
  433. package/dist/node/chunk-SDKIJDMH.mjs +655 -0
  434. package/dist/node/chunk-SDKIJDMH.mjs.map +1 -0
  435. package/dist/node/chunk-SESXQJDD.cjs +999 -0
  436. package/dist/node/chunk-SESXQJDD.cjs.map +1 -0
  437. package/dist/node/chunk-SKIEPTFS.mjs +6 -0
  438. package/dist/node/chunk-SKIEPTFS.mjs.map +1 -0
  439. package/dist/node/chunk-SL7FT5R5.mjs +94 -0
  440. package/dist/node/chunk-SL7FT5R5.mjs.map +1 -0
  441. package/dist/node/chunk-SXHQW74T.mjs +43 -0
  442. package/dist/node/chunk-SXHQW74T.mjs.map +1 -0
  443. package/dist/node/chunk-TEJKDVNT.cjs +620 -0
  444. package/dist/node/chunk-TEJKDVNT.cjs.map +1 -0
  445. package/dist/node/chunk-TQS5WYND.cjs +352 -0
  446. package/dist/node/chunk-TQS5WYND.cjs.map +1 -0
  447. package/dist/node/chunk-UCAWV2IG.mjs +184 -0
  448. package/dist/node/chunk-UCAWV2IG.mjs.map +1 -0
  449. package/dist/node/chunk-UDUJDEAO.cjs +189 -0
  450. package/dist/node/chunk-UDUJDEAO.cjs.map +1 -0
  451. package/dist/node/chunk-VMJDL4SS.cjs +542 -0
  452. package/dist/node/chunk-VMJDL4SS.cjs.map +1 -0
  453. package/dist/node/chunk-VNOZTB3B.cjs +8 -0
  454. package/dist/node/chunk-VNOZTB3B.cjs.map +1 -0
  455. package/dist/node/chunk-VPMBZGYR.mjs +327 -0
  456. package/dist/node/chunk-VPMBZGYR.mjs.map +1 -0
  457. package/dist/node/chunk-WEPNBKOA.mjs +6 -0
  458. package/dist/node/chunk-WEPNBKOA.mjs.map +1 -0
  459. package/dist/node/chunk-WTBRJXFG.cjs +100 -0
  460. package/dist/node/chunk-WTBRJXFG.cjs.map +1 -0
  461. package/dist/node/chunk-WXCQCHAX.mjs +3 -0
  462. package/dist/node/chunk-WXCQCHAX.mjs.map +1 -0
  463. package/dist/node/chunk-X3TRPYGV.cjs +352 -0
  464. package/dist/node/chunk-X3TRPYGV.cjs.map +1 -0
  465. package/dist/node/chunk-XFUF7SDO.cjs +35 -0
  466. package/dist/node/chunk-XFUF7SDO.cjs.map +1 -0
  467. package/dist/node/chunk-XP2EPEBM.mjs +966 -0
  468. package/dist/node/chunk-XP2EPEBM.mjs.map +1 -0
  469. package/dist/node/chunk-XPIJ6BKP.cjs +45 -0
  470. package/dist/node/chunk-XPIJ6BKP.cjs.map +1 -0
  471. package/dist/node/chunk-YRVBMP7I.cjs +542 -0
  472. package/dist/node/chunk-YRVBMP7I.cjs.map +1 -0
  473. package/dist/node/chunk-ZIHSN5EE.mjs +530 -0
  474. package/dist/node/chunk-ZIHSN5EE.mjs.map +1 -0
  475. package/dist/node/chunk-ZNQMUU7I.cjs +32 -0
  476. package/dist/node/chunk-ZNQMUU7I.cjs.map +1 -0
  477. package/dist/node/completion.cjs +23 -0
  478. package/dist/node/completion.cjs.map +1 -0
  479. package/dist/node/completion.d.mts +10 -0
  480. package/dist/node/completion.d.ts +10 -0
  481. package/dist/node/completion.mjs +6 -0
  482. package/dist/node/completion.mjs.map +1 -0
  483. package/dist/node/core.cjs +69 -42
  484. package/dist/node/core.cjs.map +1 -1
  485. package/dist/node/core.d.mts +14 -9
  486. package/dist/node/core.d.ts +14 -9
  487. package/dist/node/core.mjs +60 -33
  488. package/dist/node/core.mjs.map +1 -1
  489. package/dist/node/credentials.cjs +17 -0
  490. package/dist/node/credentials.cjs.map +1 -0
  491. package/dist/node/credentials.d.mts +74 -0
  492. package/dist/node/credentials.d.ts +74 -0
  493. package/dist/node/credentials.mjs +4 -0
  494. package/dist/node/credentials.mjs.map +1 -0
  495. package/dist/node/definition.cjs +6 -4
  496. package/dist/node/definition.d.mts +3 -2
  497. package/dist/node/definition.d.ts +3 -2
  498. package/dist/node/definition.mjs +4 -2
  499. package/dist/node/dynamic-content.cjs +30 -0
  500. package/dist/node/dynamic-content.cjs.map +1 -0
  501. package/dist/node/dynamic-content.d.mts +13 -0
  502. package/dist/node/dynamic-content.d.ts +13 -0
  503. package/dist/node/dynamic-content.mjs +9 -0
  504. package/dist/node/dynamic-content.mjs.map +1 -0
  505. package/dist/node/dynamic-feature.cjs +41 -7
  506. package/dist/node/dynamic-feature.cjs.map +1 -1
  507. package/dist/node/dynamic-feature.d.mts +66 -6
  508. package/dist/node/dynamic-feature.d.ts +66 -6
  509. package/dist/node/dynamic-feature.mjs +16 -9
  510. package/dist/node/dynamic-feature.mjs.map +1 -1
  511. package/dist/node/dynamic-structure.cjs +45 -136
  512. package/dist/node/dynamic-structure.cjs.map +1 -1
  513. package/dist/node/dynamic-structure.d.mts +77 -3
  514. package/dist/node/dynamic-structure.d.ts +77 -3
  515. package/dist/node/dynamic-structure.mjs +16 -135
  516. package/dist/node/dynamic-structure.mjs.map +1 -1
  517. package/dist/node/env.cjs +3 -3
  518. package/dist/node/env.d.mts +26 -0
  519. package/dist/node/env.d.ts +26 -0
  520. package/dist/node/env.mjs +2 -2
  521. package/dist/node/frame-index.cjs +7 -4
  522. package/dist/node/frame-index.d.mts +70 -9
  523. package/dist/node/frame-index.d.ts +70 -9
  524. package/dist/node/frame-index.mjs +6 -3
  525. package/dist/node/logger.d.mts +4 -113
  526. package/dist/node/logger.d.ts +4 -113
  527. package/dist/node/models.cjs +14 -0
  528. package/dist/node/models.cjs.map +1 -0
  529. package/dist/node/models.d.mts +64 -0
  530. package/dist/node/models.d.ts +64 -0
  531. package/dist/node/models.mjs +5 -0
  532. package/dist/node/models.mjs.map +1 -0
  533. package/dist/node/namespace.cjs +7 -5
  534. package/dist/node/namespace.d.mts +1 -1
  535. package/dist/node/namespace.d.ts +1 -1
  536. package/dist/node/namespace.mjs +4 -2
  537. package/dist/node/schema.cjs +22 -0
  538. package/dist/node/schema.cjs.map +1 -0
  539. package/dist/node/schema.d.mts +10 -0
  540. package/dist/node/schema.d.ts +10 -0
  541. package/dist/node/schema.mjs +5 -0
  542. package/dist/node/schema.mjs.map +1 -0
  543. package/dist/node/segment.cjs +25 -0
  544. package/dist/node/segment.cjs.map +1 -0
  545. package/dist/node/segment.d.mts +13 -0
  546. package/dist/node/segment.d.ts +13 -0
  547. package/dist/node/segment.mjs +8 -0
  548. package/dist/node/segment.mjs.map +1 -0
  549. package/dist/node/storage.cjs +17 -14
  550. package/dist/node/storage.d.mts +18 -6
  551. package/dist/node/storage.d.ts +18 -6
  552. package/dist/node/storage.mjs +11 -8
  553. package/dist/node/vector.cjs +2 -2
  554. package/dist/node/vector.d.mts +7 -0
  555. package/dist/node/vector.d.ts +7 -0
  556. package/dist/node/vector.mjs +1 -1
  557. package/examples/article/main.ts +358 -0
  558. package/examples/components.ts +660 -0
  559. package/examples/feature/file-system.components.ts +211 -0
  560. package/examples/feature/main.ts +374 -0
  561. package/examples/interaction/main.ts +426 -0
  562. package/examples/logger.ts +126 -0
  563. package/examples/structure/main.ts +195 -0
  564. package/examples/structure/renderer.ts +296 -0
  565. package/examples/structure/server-app.components.ts +387 -0
  566. package/jest.config.browser.ts +9 -0
  567. package/jest.config.examples.ts +49 -0
  568. package/jest.config.integration.ts +38 -0
  569. package/jest.config.ts +56 -27
  570. package/jest.config.unit.ts +38 -0
  571. package/package.json +75 -7
  572. package/src/index.ts +13 -0
  573. package/src/lib/A-Frame/A-Frame.component.env-browser.ts +19 -6
  574. package/src/lib/A-Frame/A-Frame.component.env-node.ts +48 -19
  575. package/src/lib/A-Frame/A-Frame.context.ts +9 -8
  576. package/src/lib/A-Frame/decorators/A-FrameDefine.decorator.ts +4 -4
  577. package/src/lib/A-FrameBundle/A-FrameBundle.builder.env-node.ts +95 -25
  578. package/src/lib/A-FrameBundle/A-FrameBundle.constants.ts +1 -1
  579. package/src/lib/A-FrameBundle/A-FrameBundle.types.ts +54 -13
  580. package/src/lib/A-FrameBundle/index.browser.ts +1 -1
  581. package/src/lib/A-FrameBundle/index.ts +1 -1
  582. package/src/lib/A-FrameCLI/A-FrameCLI.container.ts +18 -7
  583. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-browser.ts +0 -2
  584. package/src/lib/A-FrameChannel/A-FrameChannel.component.env-node.ts +14 -15
  585. package/src/lib/A-FrameChannel/A-FrameChannel.component.ts +542 -7
  586. package/src/lib/A-FrameChannel/A-FrameChannel.constants.ts +2 -0
  587. package/src/lib/A-FrameChannel/A-FrameChannel.types.ts +65 -1
  588. package/src/lib/A-FrameChannel/A-FrameChannelDsgStream.entity.ts +112 -0
  589. package/src/lib/A-FrameChannel/A-FrameChannelStream.entity.ts +1 -0
  590. package/src/lib/A-FrameChannel/index.browser.ts +5 -0
  591. package/src/lib/A-FrameCompletion/A-FrameCompletion.constants.ts +3 -0
  592. package/src/lib/A-FrameCompletion/A-FrameCompletion.entity.ts +128 -0
  593. package/src/lib/A-FrameCompletion/A-FrameCompletion.types.ts +40 -0
  594. package/src/lib/A-FrameCompletion/index.ts +3 -0
  595. package/src/lib/A-FrameCredentials/A-FrameCredentials.constants.ts +5 -0
  596. package/src/lib/A-FrameCredentials/A-FrameCredentials.entity.ts +120 -0
  597. package/src/lib/A-FrameCredentials/A-FrameCredentials.types.ts +39 -0
  598. package/src/lib/A-FrameCredentials/index.ts +3 -0
  599. package/src/lib/A-FrameDefinition/A-FrameDefinition.entity.ts +23 -1
  600. package/src/lib/A-FrameDefinition/A-FrameDefinition.types.ts +34 -1
  601. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.constants.ts +5 -0
  602. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.entity.ts +348 -0
  603. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.error.ts +10 -0
  604. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContent.types.ts +116 -0
  605. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentIndex.context.ts +288 -0
  606. package/src/lib/A-FrameDynamicContent/A-FrameDynamicContentOperation.context.ts +26 -0
  607. package/src/lib/A-FrameDynamicContent/index.ts +5 -0
  608. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.constants.ts +6 -0
  609. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.entity.ts +253 -4
  610. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.error.ts +11 -0
  611. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeature.types.ts +188 -4
  612. package/src/lib/A-FrameDynamicFeature/A-FrameDynamicFeatureOperation.context.ts +33 -0
  613. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapIndex.context.ts +99 -0
  614. package/src/lib/A-FrameDynamicFeature/A-FrameMethodMapper.component.ts +182 -0
  615. package/src/lib/A-FrameDynamicFeature/index.ts +6 -1
  616. package/src/lib/A-FrameDynamicPatch/index.ts +2 -0
  617. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapIndex.context.ts +99 -0
  618. package/src/lib/A-FrameDynamicStructure/A-FrameComponentMapper.component.ts +320 -0
  619. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.constants.ts +2 -1
  620. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.entity.ts +240 -128
  621. package/src/lib/A-FrameDynamicStructure/A-FrameDynamicStructure.types.ts +183 -87
  622. package/src/lib/A-FrameDynamicStructure/index.ts +3 -0
  623. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-browser.ts +5 -1
  624. package/src/lib/A-FrameEnv/A-FrameEnv.fragment.env-node.ts +23 -1
  625. package/src/lib/A-FrameEnv/A-FrameEnv.types.ts +12 -0
  626. package/src/lib/A-FrameIndex/A-FrameIndex.context.ts +63 -13
  627. package/src/lib/A-FrameIndex/A-FrameIndex.types.ts +53 -0
  628. package/src/lib/A-FrameModels/A-FrameModels.constants.ts +75 -0
  629. package/src/lib/A-FrameModels/index.ts +1 -0
  630. package/src/lib/A-FrameNamespace/A-FrameNamespace.entity.ts +10 -3
  631. package/src/lib/A-FrameNamespace/A-FrameNamespace.types.ts +5 -0
  632. package/src/lib/A-FrameSchema/A-FrameSchema.constants.ts +4 -0
  633. package/src/lib/A-FrameSchema/A-FrameSchema.entity.ts +154 -0
  634. package/src/lib/A-FrameSchema/A-FrameSchema.types.ts +88 -0
  635. package/src/lib/A-FrameSchema/index.ts +3 -0
  636. package/src/lib/A-FrameSegment/A-FrameSegment.constants.ts +12 -0
  637. package/src/lib/A-FrameSegment/A-FrameSegment.entity.ts +221 -0
  638. package/src/lib/A-FrameSegment/A-FrameSegment.types.ts +91 -0
  639. package/src/lib/A-FrameSegment/index.ts +3 -0
  640. package/src/lib/A-FrameStorage/A-FrameStorage.codec.ts +10 -4
  641. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorage.component.ts +21 -0
  642. package/src/lib/A-FrameStorage/browser/A-FrameBrowserStorageBlobs.context.ts +39 -21
  643. package/src/lib/A-FrameStorage/node/A-FrameNodeStorage.component.ts +124 -42
  644. package/src/lib/A-FrameVector/A-FrameVector.entity.ts +24 -0
  645. package/tests/A-Frame.browser.test.ts +167 -57
  646. package/tests/A-FrameDynamicContent.browser.test.ts +74 -0
  647. package/tests/integration/A-Frame.integration.test.ts +272 -0
  648. package/tests/integration/A-FrameCompletion.integration.test.ts +88 -0
  649. package/tests/integration/A-FrameContentMapping.integration.test.ts +261 -0
  650. package/tests/integration/A-FrameDefinition.integration.test.ts +154 -0
  651. package/tests/integration/A-FrameDynamicContent.integration.test.ts +126 -0
  652. package/tests/integration/A-FrameDynamicFeature.integration.test.ts +337 -0
  653. package/tests/integration/A-FrameDynamicStructure.integration.test.ts +264 -0
  654. package/tests/integration/A-FrameNamespace.integration.test.ts +109 -0
  655. package/tests/integration/A-FrameSchema.integration.test.ts +74 -0
  656. package/tests/integration/A-FrameSegment.integration.test.ts +102 -0
  657. package/tests/integration/A-FrameStorage.integration.test.ts +598 -0
  658. package/tests/jest.setup.browser.ts +1 -1
  659. package/tests/jest.setup.ts +4 -0
  660. package/tests/jest.setup.unit.ts +30 -0
  661. package/tests/unit/A-FrameChannel.unit.test.ts +124 -0
  662. package/tests/unit/A-FrameCompletion.unit.test.ts +25 -0
  663. package/tests/unit/A-FrameDefinition.unit.test.ts +36 -0
  664. package/tests/unit/A-FrameDynamicContent.unit.test.ts +28 -0
  665. package/tests/unit/A-FrameNamespace.unit.test.ts +35 -0
  666. package/tests/unit/A-FrameSchema.unit.test.ts +31 -0
  667. package/tests/unit/A-FrameSegment.unit.test.ts +20 -0
  668. package/tests/unit/mocks/MockA_FrameChannel.ts +112 -0
  669. package/tsconfig.browser.json +2 -0
  670. package/tsconfig.json +6 -0
  671. package/tsup.config.ts +52 -0
  672. package/tests/A-Frame.test.ts +0 -96
@@ -1,5 +1,5 @@
1
1
  import { A_Caller, A_Component, A_Context, A_Feature, A_Inject, A_Scope } from "@adaas/a-concept";
2
- import { IA_Frame_Channel, A_Frame_EmbedResponse, A_Frame_GenerateResponse, A_Frame_CredentialResponse } from "./A-FrameChannel.types";
2
+ import { IA_Frame_Channel, A_Frame_EmbedResponse, A_Frame_GenerateResponse, A_Frame_CredentialResponse, A_FrameEmbedOptions } from "./A-FrameChannel.types";
3
3
  import { A_FrameEnv } from "../A-FrameEnv/A-FrameEnv.fragment.env-node";
4
4
  import { A_FrameFeatures } from "./A-FrameChannel.constants";
5
5
  import { A_FrameChannelRequest } from "./A-FrameChannelRequest.context";
@@ -9,9 +9,27 @@ import { A_FrameDefinitionFeatures } from "../A-FrameDefinition/A-FrameDefinitio
9
9
  import { A_FrameNamespaceFeatures } from "../A-FrameNamespace/A-FrameNamespace.constants";
10
10
  import { A_FrameNamespace } from "../A-FrameNamespace";
11
11
  import { A_FrameDynamicStructure } from "../A-FrameDynamicStructure/A-FrameDynamicStructure.entity";
12
- import { A_FrameDynamicSession } from "../A-FrameDynamicSession/A-FrameDynamicSession.entity";
13
12
  import { A_FrameDynamicStructureOperation } from "../A-FrameDynamicStructure/A-FrameDynamicStructureOperation.context";
13
+ import { A_FrameDynamicStructureFeatures } from "../A-FrameDynamicStructure/A-FrameDynamicStructure.constants";
14
+ import { A_FrameStructureGenerateResponse, A_FrameStructurePatchResponse, A_FrameDynamicStructureDefinition, A_FrameDynamicStructureDefinitionEntity } from "../A-FrameDynamicStructure/A-FrameDynamicStructure.types";
14
15
  import { A_FrameChannelSocket } from "./A-FrameChannelSocket.entity";
16
+ import { A_FrameDynamicContent } from "../A-FrameDynamicContent/A-FrameDynamicContent.entity";
17
+ import { A_FrameDynamicContentOperation } from "../A-FrameDynamicContent/A-FrameDynamicContentOperation.context";
18
+ import { A_FrameDynamicContentFeatures } from "../A-FrameDynamicContent/A-FrameDynamicContent.constants";
19
+ import { A_FrameContentGenerateResponse, A_FrameContentPatchResponse } from "../A-FrameDynamicContent/A-FrameDynamicContent.types";
20
+ import { A_Frame_CompletionResponse } from "./A-FrameChannel.types";
21
+ import { A_FrameSegment, A_FrameSegmentFeatures } from "../A-FrameSegment";
22
+ import { A_FrameCompletion, A_FrameCompletionFeatures } from "../A-FrameCompletion";
23
+ import { A_FrameSchema, A_FrameSchemaFeatures } from "../A-FrameSchema";
24
+ import { A_Frame_SchemaResponse } from "./A-FrameChannel.types";
25
+ import { A_FrameDynamicFeature } from "../A-FrameDynamicFeature/A-FrameDynamicFeature.entity";
26
+ import { A_FrameDynamicFeatureOperation } from "../A-FrameDynamicFeature/A-FrameDynamicFeatureOperation.context";
27
+ import { A_FrameDynamicFeatureFeatures } from "../A-FrameDynamicFeature/A-FrameDynamicFeature.constants";
28
+ import {
29
+ A_FrameDynamicFeatureDefinition,
30
+ A_FrameFeatureGenerateResponse,
31
+ A_FrameFeaturePatchResponse,
32
+ } from "../A-FrameDynamicFeature/A-FrameDynamicFeature.types";
15
33
 
16
34
  /**
17
35
  * A_FrameChannel — Node.js environment
@@ -25,7 +43,7 @@ import { A_FrameChannelSocket } from "./A-FrameChannelSocket.entity";
25
43
  export class A_FrameChannel extends A_Component implements IA_Frame_Channel {
26
44
 
27
45
  async generate(prompt: string): Promise<A_FrameChannelRequest<A_Frame_GenerateResponse>> {
28
- const request = new A_FrameChannelRequest<A_Frame_GenerateResponse>('POST', '/api/completions', { prompt, max_tokens: 512 });
46
+ const request = new A_FrameChannelRequest<A_Frame_GenerateResponse>('POST', '/api/v1/completions', { prompt, max_tokens: 512 });
29
47
 
30
48
  const executionScope = new A_Scope({
31
49
  name: 'A_FrameChannel.generate',
@@ -48,8 +66,12 @@ export class A_FrameChannel extends A_Component implements IA_Frame_Channel {
48
66
  }
49
67
  }
50
68
 
51
- async embed(input: string | string[]): Promise<A_FrameChannelRequest<A_Frame_EmbedResponse>> {
52
- const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/embeddings', { input });
69
+ async embed(input: string | string[], options?: A_FrameEmbedOptions): Promise<A_FrameChannelRequest<A_Frame_EmbedResponse>> {
70
+ const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/embeddings', {
71
+ input,
72
+ ...(options?.model && { model: options.model }),
73
+ ...(options?.task && { task: options.task }),
74
+ });
53
75
 
54
76
  const executionScope = new A_Scope({
55
77
  name: 'A_FrameChannel.embed',
@@ -72,7 +94,7 @@ export class A_FrameChannel extends A_Component implements IA_Frame_Channel {
72
94
  }
73
95
 
74
96
  async getCredentials(): Promise<A_FrameChannelRequest<A_Frame_CredentialResponse>> {
75
- const request = new A_FrameChannelRequest<A_Frame_CredentialResponse>('GET', '/api/credentials/me');
97
+ const request = new A_FrameChannelRequest<A_Frame_CredentialResponse>('GET', '/api/v1/credentials/me');
76
98
 
77
99
  const executionScope = new A_Scope({
78
100
  name: 'A_FrameChannel.getCredentials',
@@ -129,6 +151,7 @@ export class A_FrameChannel extends A_Component implements IA_Frame_Channel {
129
151
  ) {
130
152
  const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/definition/embed', {
131
153
  definition: definition.toJSON(),
154
+ model: definition.requestedModel,
132
155
  });
133
156
 
134
157
  const executionScope = new A_Scope({
@@ -159,6 +182,7 @@ export class A_FrameChannel extends A_Component implements IA_Frame_Channel {
159
182
  aFrameVersion: env.A_FRAME_VERSION!,
160
183
  credentialId: response.meta.credential_id!,
161
184
  date: response.date,
185
+ aFrameMeta: response.aFrameMeta,
162
186
  });
163
187
  } catch (err) {
164
188
  throw new A_FrameChannelError({
@@ -182,6 +206,7 @@ export class A_FrameChannel extends A_Component implements IA_Frame_Channel {
182
206
 
183
207
  const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/namespace/embed', {
184
208
  namespace: namespace.toJSON(),
209
+ model: namespace.requestedModel,
185
210
  });
186
211
 
187
212
  const executionScope = new A_Scope({
@@ -224,16 +249,283 @@ export class A_FrameChannel extends A_Component implements IA_Frame_Channel {
224
249
  }
225
250
 
226
251
 
252
+ @A_Feature.Extend({
253
+ name: A_FrameSegmentFeatures.Embed,
254
+ scope: [A_FrameSegment],
255
+ })
256
+ async embedSegment(
257
+ @A_Inject(A_Caller) segment: A_FrameSegment,
258
+ @A_Inject(A_FrameEnv) env: A_FrameEnv,
259
+ ) {
260
+
261
+ const request = new A_FrameChannelRequest<A_Frame_EmbedResponse>('POST', '/api/v1/segment/embed', {
262
+ segment: segment.toJSON(),
263
+ task: segment.options?.task,
264
+ model: segment.options?.model,
265
+ });
266
+
267
+ const executionScope = new A_Scope({
268
+ name: 'A_FrameChannel.embedNamespace',
269
+ fragments: [request]
270
+ })
271
+ .inherit(A_Context.scope(this));
272
+
273
+
274
+ try {
275
+ await this.call(A_FrameFeatures.Request, executionScope) as A_Frame_EmbedResponse;
276
+ executionScope.destroy();
277
+
278
+ const response = request.response!;
279
+ if (!response.data || !response.data[0] || !response.data[0].embedding) {
280
+ throw new A_FrameChannelError({
281
+ title: A_FrameChannelError.InvalidRequest,
282
+ description: `Error during embed a segment: ${segment.content}`
283
+ });
284
+ }
285
+
286
+ const vector = new Float32Array(response.data[0].embedding);
287
+
288
+ segment.fromJSON({
289
+ aseid: segment.aseid.toString(),
290
+ content: segment.content,
291
+ hash: segment.hash,
292
+ embedding: vector,
293
+ model: response.model,
294
+ // dimensions: response.meta.dimensions,
295
+ // inputCount: response.meta.input_count,
296
+ aFrameServerVersion: response.meta.server_version!,
297
+ aFrameVersion: env.A_FRAME_VERSION!,
298
+ credentialId: response.meta.credential_id!,
299
+ embeddedAt: response.date,
300
+ });
301
+ } catch (err) {
302
+ throw new A_FrameChannelError({
303
+ title: A_FrameChannelError.RequestFailed,
304
+ description: `Failed to embed segment with content "${segment.content}": ${err instanceof Error ? err.message : String(err)}`,
305
+ });
306
+ }
227
307
 
308
+ }
228
309
 
229
310
 
230
311
 
312
+ /**
313
+ * Feature implementation for A_FrameDynamicStructure.generate().
314
+ *
315
+ * Calls POST /api/v1/structure/generate — the server returns element
316
+ * descriptions with embeddings. The raw definition (embeddings included) is
317
+ * stored on the entity so the separate `map()` phase can use them later.
318
+ */
319
+ @A_Feature.Extend({
320
+ name: A_FrameDynamicStructureFeatures.Generate,
321
+ scope: [A_FrameDynamicStructure],
322
+ })
231
323
  async generateDynamicStructure(
232
324
  @A_Inject(A_Caller) structure: A_FrameDynamicStructure,
233
- @A_Inject(A_FrameDynamicSession) session: A_FrameDynamicSession,
234
325
  @A_Inject(A_FrameDynamicStructureOperation) operation: A_FrameDynamicStructureOperation,
235
326
  ) {
327
+ const request = new A_FrameChannelRequest<A_FrameStructureGenerateResponse>(
328
+ 'POST',
329
+ '/api/v1/structure/generate',
330
+ {
331
+ prompt: structure.prompt,
332
+ model: structure.modelName,
333
+ context: structure.contextHint,
334
+ metaHint: structure.metaHintValue,
335
+ includeBases: structure.includedBases,
336
+ excludeBases: structure.excludedBases,
337
+ enabledComponents: structure.enabledComponentsList,
338
+ },
339
+ );
340
+
341
+ const requestScope = new A_Scope({
342
+ name: 'A_FrameChannel.generateDynamicStructure',
343
+ fragments: [request],
344
+ }).inherit(A_Context.scope(this));
236
345
 
346
+ await this.call(A_FrameFeatures.Request, requestScope);
347
+ requestScope.destroy();
348
+
349
+ const resp = request.response!;
350
+
351
+ structure.hydrateFromGeneration(resp.definition, {
352
+ model: resp.model,
353
+ serverVersion: resp.meta?.server_version ?? '0.0.0',
354
+ });
355
+ }
356
+
357
+ /**
358
+ * Feature implementation for A_FrameDynamicStructure.patch().
359
+ *
360
+ * Calls POST /api/v1/structure/patch — the server returns an updated
361
+ * definition with fresh embeddings. The raw definition is stored on the
362
+ * entity; run `map()` afterwards to update the component-mapping result.
363
+ */
364
+ @A_Feature.Extend({
365
+ name: A_FrameDynamicStructureFeatures.Patch,
366
+ scope: [A_FrameDynamicStructure],
367
+ })
368
+ async patchDynamicStructure(
369
+ @A_Inject(A_Caller) structure: A_FrameDynamicStructure,
370
+ @A_Inject(A_FrameDynamicStructureOperation) operation: A_FrameDynamicStructureOperation,
371
+ ) {
372
+ const { instruction } = operation.params as { instruction: string };
373
+
374
+ const request = new A_FrameChannelRequest<A_FrameStructurePatchResponse>(
375
+ 'POST',
376
+ '/api/v1/structure/patch',
377
+ {
378
+ originalPrompt: structure.prompt,
379
+ definition: this._stripStructureEmbeddings(structure.definition ?? { containers: [], components: [], fragments: [], entities: [] }),
380
+ patchInstruction: instruction,
381
+ model: structure.modelName,
382
+ context: structure.contextHint,
383
+ metaHint: structure.metaHintValue,
384
+ includeBases: structure.includedBases,
385
+ excludeBases: structure.excludedBases,
386
+ enabledComponents: structure.enabledComponentsList,
387
+ },
388
+ );
389
+
390
+ const requestScope = new A_Scope({
391
+ name: 'A_FrameChannel.patchDynamicStructure',
392
+ fragments: [request],
393
+ }).inherit(A_Context.scope(this));
394
+
395
+ await this.call(A_FrameFeatures.Request, requestScope);
396
+ requestScope.destroy();
397
+
398
+ const resp = request.response!;
399
+
400
+ structure.hydrateFromPatch(resp.definition, resp.patchSummary, {
401
+ model: resp.model,
402
+ serverVersion: resp.meta?.server_version ?? '0.0.0',
403
+ });
404
+ }
405
+
406
+ // ─── Structure helpers ─────────────────────────────────────────────────────
407
+
408
+ /**
409
+ * Strip embedding arrays and any client-side match fields from a definition
410
+ * before sending it to the server (the server does not need embeddings back).
411
+ */
412
+ private _stripStructureEmbeddings(def: A_FrameDynamicStructureDefinition): A_FrameDynamicStructureDefinition {
413
+ const strip = (el: A_FrameDynamicStructureDefinitionEntity): A_FrameDynamicStructureDefinitionEntity => {
414
+ const { embedding, ...rest } = el as any;
415
+ return rest as A_FrameDynamicStructureDefinitionEntity;
416
+ };
417
+
418
+ return {
419
+ containers: def.containers.map(c => ({
420
+ ...strip(c),
421
+ components: (c.components ?? []).map(strip),
422
+ fragments: (c.fragments ?? []).map(strip),
423
+ entities: (c.entities ?? []).map(strip),
424
+ })),
425
+ components: def.components.map(strip),
426
+ fragments: def.fragments.map(strip),
427
+ entities: def.entities.map(strip),
428
+ };
429
+ }
430
+
431
+ // ─── DynamicFeature channel extensions ────────────────────────────────────
432
+
433
+ /**
434
+ * Feature implementation for A_FrameDynamicFeature.generate().
435
+ *
436
+ * Calls POST /api/v1/feature/generate — the server decomposes the prompt
437
+ * into an ordered workflow: title, description, steps (with embeddings),
438
+ * and supporting components/fragments/entities.
439
+ */
440
+ @A_Feature.Extend({
441
+ name: A_FrameDynamicFeatureFeatures.Generate,
442
+ scope: [A_FrameDynamicFeature],
443
+ })
444
+ async generateDynamicFeature(
445
+ @A_Inject(A_Caller) feature: A_FrameDynamicFeature,
446
+ @A_Inject(A_FrameDynamicFeatureOperation) operation: A_FrameDynamicFeatureOperation,
447
+ ) {
448
+ const request = new A_FrameChannelRequest<A_FrameFeatureGenerateResponse>(
449
+ 'POST',
450
+ '/api/v1/feature/generate',
451
+ {
452
+ prompt: feature.prompt,
453
+ model: feature.modelName,
454
+ context: feature.contextHint,
455
+ },
456
+ );
457
+
458
+ const requestScope = new A_Scope({
459
+ name: 'A_FrameChannel.generateDynamicFeature',
460
+ fragments: [request],
461
+ }).inherit(A_Context.scope(this));
462
+
463
+ await this.call(A_FrameFeatures.Request, requestScope);
464
+ requestScope.destroy();
465
+
466
+ const resp = request.response!;
467
+ feature.hydrateFromGeneration(resp.definition, {
468
+ model: resp.model,
469
+ serverVersion: resp.meta?.server_version ?? '0.0.0',
470
+ });
471
+ }
472
+
473
+ /**
474
+ * Feature implementation for A_FrameDynamicFeature.patch().
475
+ *
476
+ * Calls POST /api/v1/feature/patch — the server returns an updated workflow
477
+ * definition with fresh embeddings on all steps and elements.
478
+ */
479
+ @A_Feature.Extend({
480
+ name: A_FrameDynamicFeatureFeatures.Patch,
481
+ scope: [A_FrameDynamicFeature],
482
+ })
483
+ async patchDynamicFeature(
484
+ @A_Inject(A_Caller) feature: A_FrameDynamicFeature,
485
+ @A_Inject(A_FrameDynamicFeatureOperation) operation: A_FrameDynamicFeatureOperation,
486
+ ) {
487
+ const { instruction } = operation.params as { instruction: string };
488
+
489
+ const request = new A_FrameChannelRequest<A_FrameFeaturePatchResponse>(
490
+ 'POST',
491
+ '/api/v1/feature/patch',
492
+ {
493
+ originalPrompt: feature.prompt,
494
+ definition: this._stripFeatureEmbeddings(
495
+ feature.definition ?? {
496
+ title: '', description: '', steps: [], components: [], fragments: [], entities: []
497
+ }
498
+ ),
499
+ patchInstruction: instruction,
500
+ model: feature.modelName,
501
+ context: feature.contextHint,
502
+ },
503
+ );
504
+
505
+ const requestScope = new A_Scope({
506
+ name: 'A_FrameChannel.patchDynamicFeature',
507
+ fragments: [request],
508
+ }).inherit(A_Context.scope(this));
509
+
510
+ await this.call(A_FrameFeatures.Request, requestScope);
511
+ requestScope.destroy();
512
+
513
+ const resp = request.response!;
514
+ feature.hydrateFromPatch(resp.definition, resp.patchSummary, {
515
+ model: resp.model,
516
+ serverVersion: resp.meta?.server_version ?? '0.0.0',
517
+ });
518
+ }
519
+
520
+ private _stripFeatureEmbeddings(def: A_FrameDynamicFeatureDefinition): A_FrameDynamicFeatureDefinition {
521
+ const strip = (el: any): any => { const { embedding, ...rest } = el; return rest; };
522
+ return {
523
+ ...def,
524
+ steps: def.steps.map(strip),
525
+ components: def.components.map(strip),
526
+ fragments: def.fragments.map(strip),
527
+ entities: def.entities.map(strip),
528
+ };
237
529
  }
238
530
 
239
531
 
@@ -266,6 +558,249 @@ export class A_FrameChannel extends A_Component implements IA_Frame_Channel {
266
558
  // }
267
559
  // }
268
560
 
561
+
562
+ // ─── Dynamic Content ──────────────────────────────────────────────────────
563
+
564
+ /**
565
+ * Feature implementation for A_FrameDynamicContent.generate().
566
+ *
567
+ * Calls POST /api/v1/content/generate on the server and hydrates the
568
+ * content entity from the returned piece list.
569
+ */
570
+ @A_Feature.Extend({
571
+ name: A_FrameDynamicContentFeatures.Generate,
572
+ scope: [A_FrameDynamicContent],
573
+ })
574
+ async generateDynamicContent(
575
+ @A_Inject(A_Caller) content: A_FrameDynamicContent,
576
+ @A_Inject(A_FrameDynamicContentOperation) operation: A_FrameDynamicContentOperation,
577
+ ) {
578
+ const request = new A_FrameChannelRequest<A_FrameContentGenerateResponse>(
579
+ 'POST',
580
+ '/api/v1/content/generate',
581
+ {
582
+ prompt: content.prompt,
583
+ model: content.modelName,
584
+ ...(content.systemPrompt !== undefined ? { system: content.systemPrompt } : {}),
585
+ },
586
+ );
587
+
588
+ const requestScope = new A_Scope({
589
+ name: 'A_FrameChannel.generateDynamicContent',
590
+ fragments: [request],
591
+ }).inherit(A_Context.scope(this));
592
+
593
+ await this.call(A_FrameFeatures.Request, requestScope);
594
+ requestScope.destroy();
595
+
596
+ const resp = request.response!;
597
+
598
+ // Convert wire segments to proper A_FrameSegment domain objects.
599
+ // The channel is the adapter layer — it never passes raw serialized
600
+ // objects into the domain; it always constructs instances.
601
+ const segments = (resp.segments ?? []).map(w => {
602
+ const seg = new A_FrameSegment({ content: w.content, options: { task: 'document' } });
603
+ if (w.embedding?.length) {
604
+ seg.hydrateFromEmbedding(new Float32Array(w.embedding));
605
+ }
606
+ return seg;
607
+ });
608
+
609
+ content.hydrateFromGeneration(segments, {
610
+ model: resp.model,
611
+ serverVersion: resp.meta?.server_version ?? '0.0.0',
612
+ });
613
+ }
614
+
615
+ /**
616
+ * Feature implementation for A_FrameDynamicContent.patch().
617
+ *
618
+ * Sends the current piece list and a patch instruction to the server,
619
+ * then applies the returned operations to the content entity.
620
+ */
621
+ @A_Feature.Extend({
622
+ name: A_FrameDynamicContentFeatures.Patch,
623
+ scope: [A_FrameDynamicContent],
624
+ })
625
+ async patchDynamicContent(
626
+ @A_Inject(A_Caller) content: A_FrameDynamicContent,
627
+ @A_Inject(A_FrameDynamicContentOperation) operation: A_FrameDynamicContentOperation,
628
+ ) {
629
+ const { instruction, segments } = operation.params as { instruction: string; segments: A_FrameSegment[] };
630
+
631
+ // Use short positional wire IDs (s0, s1, …) to maximise LLM reliability
632
+ // when the model echoes them back as targetId values.
633
+ // We keep a reverse map to translate back to the real ASEID ids.
634
+ const wireIdToAseid = new Map<string, string>();
635
+ const wireSegments = segments.map((s, idx) => {
636
+ const wireId = `s${idx}`;
637
+ wireIdToAseid.set(wireId, String(s.id));
638
+ return {
639
+ id: wireId,
640
+ index: idx,
641
+ text: s.content,
642
+ vector: s.vector ? Array.from(s.vector.values) : undefined,
643
+ };
644
+ });
645
+
646
+ const request = new A_FrameChannelRequest<A_FrameContentPatchResponse>(
647
+ 'POST',
648
+ '/api/v1/content/patch',
649
+ {
650
+ prompt: content.prompt,
651
+ segments: wireSegments,
652
+ instruction,
653
+ model: content.modelName,
654
+ ...(content.systemPrompt !== undefined ? { system: content.systemPrompt } : {}),
655
+ },
656
+ );
657
+
658
+ const requestScope = new A_Scope({
659
+ name: 'A_FrameChannel.patchDynamicContent',
660
+ fragments: [request],
661
+ }).inherit(A_Context.scope(this));
662
+
663
+ await this.call(A_FrameFeatures.Request, requestScope);
664
+ requestScope.destroy();
665
+
666
+ const resp = request.response!;
667
+
668
+ // Translate wire ids (s0, s1, …) in targetId back to real ASEID ids
669
+ // so that applyOperation can look them up in the index.
670
+ const translatedOperations = resp.operations.map(op => ({
671
+ ...op,
672
+ targetId: op.targetId
673
+ ? (wireIdToAseid.get(op.targetId) ?? op.targetId)
674
+ : op.targetId,
675
+ }));
676
+
677
+ content.hydrateFromPatch(
678
+ { ...resp, operations: translatedOperations },
679
+ {
680
+ model: resp.model,
681
+ serverVersion: resp.meta?.server_version ?? '0.0.0',
682
+ },
683
+ );
684
+ }
685
+
686
+
687
+ // ─── Completion ───────────────────────────────────────────────────────────
688
+
689
+ /**
690
+ * Feature implementation for A_FrameCompletion.generate().
691
+ *
692
+ * Calls POST /api/v1/completions/generate on the server, which performs a
693
+ * text completion followed by an embedding of the result in a single
694
+ * round-trip, then hydrates the entity with both values.
695
+ */
696
+ @A_Feature.Extend({
697
+ name: A_FrameCompletionFeatures.Generate,
698
+ scope: [A_FrameCompletion],
699
+ })
700
+ async generateCompletion(
701
+ @A_Inject(A_Caller) completion: A_FrameCompletion,
702
+ @A_Inject(A_FrameEnv) env: A_FrameEnv,
703
+ ) {
704
+ const request = new A_FrameChannelRequest<A_Frame_CompletionResponse>(
705
+ 'POST',
706
+ '/api/v1/completions/generate',
707
+ {
708
+ prompt: completion.prompt,
709
+ options: completion.options,
710
+ },
711
+ );
712
+
713
+ const executionScope = new A_Scope({
714
+ name: 'A_FrameChannel.generateCompletion',
715
+ fragments: [request],
716
+ }).inherit(A_Context.scope(this));
717
+
718
+ try {
719
+ await this.call(A_FrameFeatures.Request, executionScope);
720
+ executionScope.destroy();
721
+
722
+ const response = request.response!;
723
+
724
+ if (!response.text) {
725
+ throw new A_FrameChannelError({
726
+ title: A_FrameChannelError.InvalidRequest,
727
+ description: `Invalid completion response for prompt "${completion.prompt}"`,
728
+ });
729
+ }
730
+
731
+ completion.hydrateFromGeneration({
732
+ text: response.text,
733
+ embedding: new Float32Array(response.embedding),
734
+ model: response.model,
735
+ date: response.date,
736
+ aFrameVersion: env.A_FRAME_VERSION!,
737
+ aFrameServerVersion: response.meta.server_version,
738
+ });
739
+ } catch (err) {
740
+ throw new A_FrameChannelError({
741
+ title: A_FrameChannelError.RequestFailed,
742
+ description: `Failed to generate completion for prompt "${completion.prompt}": ${err instanceof Error ? err.message : String(err)}`,
743
+ });
744
+ }
745
+ }
746
+
747
+ /**
748
+ * Calls POST /api/v1/schema/extract on the server.
749
+ *
750
+ * Sends the prompt and schema descriptor to the Nova model, which returns
751
+ * a structured JSON object matching the schema. Hydrates the entity with
752
+ * the extracted data and provenance metadata.
753
+ */
754
+ @A_Feature.Extend({
755
+ name: A_FrameSchemaFeatures.Extract,
756
+ scope: [A_FrameSchema],
757
+ })
758
+ async extractSchema<T extends Record<string, unknown>>(
759
+ @A_Inject(A_Caller) scheme: A_FrameSchema<T>,
760
+ @A_Inject(A_FrameEnv) env: A_FrameEnv,
761
+ ) {
762
+ const request = new A_FrameChannelRequest<A_Frame_SchemaResponse<T>>(
763
+ 'POST',
764
+ '/api/v1/schema/extract',
765
+ {
766
+ prompt: scheme.prompt,
767
+ schema: scheme.schema,
768
+ options: scheme.options,
769
+ },
770
+ );
771
+
772
+ const executionScope = new A_Scope({
773
+ name: 'A_FrameChannel.extractSchema',
774
+ fragments: [request],
775
+ }).inherit(A_Context.scope(this));
776
+
777
+ try {
778
+ await this.call(A_FrameFeatures.Request, executionScope);
779
+ executionScope.destroy();
780
+
781
+ const response = request.response!;
782
+
783
+ if (!response.data) {
784
+ throw new A_FrameChannelError({
785
+ title: A_FrameChannelError.InvalidRequest,
786
+ description: `Invalid scheme extraction response for prompt "${scheme.prompt}"`,
787
+ });
788
+ }
789
+
790
+ scheme.hydrateFromExtraction(response.data, {
791
+ model: response.model,
792
+ date: response.date,
793
+ aFrameVersion: env.A_FRAME_VERSION!,
794
+ aFrameServerVersion: response.meta.server_version,
795
+ });
796
+ } catch (err) {
797
+ throw new A_FrameChannelError({
798
+ title: A_FrameChannelError.RequestFailed,
799
+ description: `Failed to extract scheme for prompt "${scheme.prompt}": ${err instanceof Error ? err.message : String(err)}`,
800
+ });
801
+ }
802
+ }
803
+
269
804
  }
270
805
 
271
806
 
@@ -3,6 +3,8 @@
3
3
  export const A_FrameFeatures = {
4
4
  Request: '_A_FRAME_REQUEST',
5
5
  Socket: '_A_FRAME_SOCKET',
6
+ Stream: '_A_FRAME_STREAM',
7
+ Send: '_A_FRAME_SEND',
6
8
  } as const;
7
9
 
8
10