@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,42 +1,45 @@
1
1
  'use strict';
2
2
 
3
- var chunk7A6XGT5J_cjs = require('./chunk-7A6XGT5J.cjs');
4
- var chunkQFUZVN4Y_cjs = require('./chunk-QFUZVN4Y.cjs');
5
- require('./chunk-B7ZDJXD3.cjs');
6
- require('./chunk-KK64VLZN.cjs');
7
- require('./chunk-KLG6HKFU.cjs');
8
- require('./chunk-3LOMGNWA.cjs');
3
+ var chunkKKMKQGTR_cjs = require('./chunk-KKMKQGTR.cjs');
4
+ var chunk3SLICJ3L_cjs = require('./chunk-3SLICJ3L.cjs');
5
+ require('./chunk-MXUO7OR5.cjs');
9
6
  require('./chunk-YVX4W6SI.cjs');
10
- require('./chunk-GBTFMT3K.cjs');
7
+ require('./chunk-BSBY37MG.cjs');
8
+ require('./chunk-KK64VLZN.cjs');
9
+ require('./chunk-7SEZMRLI.cjs');
10
+ require('./chunk-HELNAM5Y.cjs');
11
+ require('./chunk-IYEDO7OQ.cjs');
11
12
  require('./chunk-ZM2RLVVH.cjs');
12
- require('./chunk-YWWGJ6EJ.cjs');
13
+ require('./chunk-A7CJIUYY.cjs');
14
+ require('./chunk-HAORARSB.cjs');
15
+ require('./chunk-64QCZG53.cjs');
13
16
  require('./chunk-QFHZIG7Y.cjs');
14
17
 
15
18
 
16
19
 
17
20
  Object.defineProperty(exports, "A_FrameNodeStorage", {
18
21
  enumerable: true,
19
- get: function () { return chunk7A6XGT5J_cjs.A_FrameNodeStorage; }
22
+ get: function () { return chunkKKMKQGTR_cjs.A_FrameNodeStorage; }
20
23
  });
21
24
  Object.defineProperty(exports, "A_FrameStorage", {
22
25
  enumerable: true,
23
- get: function () { return chunk7A6XGT5J_cjs.A_FrameStorage; }
26
+ get: function () { return chunkKKMKQGTR_cjs.A_FrameStorage; }
24
27
  });
25
28
  Object.defineProperty(exports, "A_FrameStorageError", {
26
29
  enumerable: true,
27
- get: function () { return chunk7A6XGT5J_cjs.A_FrameStorageError; }
30
+ get: function () { return chunkKKMKQGTR_cjs.A_FrameStorageError; }
28
31
  });
29
32
  Object.defineProperty(exports, "A_FrameStorageFeatures", {
30
33
  enumerable: true,
31
- get: function () { return chunk7A6XGT5J_cjs.A_FrameStorageFeatures; }
34
+ get: function () { return chunkKKMKQGTR_cjs.A_FrameStorageFeatures; }
32
35
  });
33
36
  Object.defineProperty(exports, "A_FrameStorageOperation", {
34
37
  enumerable: true,
35
- get: function () { return chunk7A6XGT5J_cjs.A_FrameStorageOperation; }
38
+ get: function () { return chunkKKMKQGTR_cjs.A_FrameStorageOperation; }
36
39
  });
37
40
  Object.defineProperty(exports, "A_FrameStorageCodec", {
38
41
  enumerable: true,
39
- get: function () { return chunkQFUZVN4Y_cjs.A_FrameStorageCodec; }
42
+ get: function () { return chunk3SLICJ3L_cjs.A_FrameStorageCodec; }
40
43
  });
41
44
  //# sourceMappingURL=storage.cjs.map
42
45
  //# sourceMappingURL=storage.cjs.map
@@ -1,11 +1,12 @@
1
- import { A as A_FrameStorage, a as A_FrameContext, b as A_FrameStorageSaveDefinitionOperation, c as A_FrameStorageLoadDefinitionsOperation, d as A_FrameStorageDestroyDefinitionsOperation, e as A_FrameStorageSaveNamespaceOperation, f as A_FrameStorageLoadNamespacesOperation, g as A_FrameStorageDestroyNamespacesOperation } from './A-FrameStorage.component-BYjHfHJJ.mjs';
2
- export { h as A_FrameStorageDestroyDefinitionsOperationParams, i as A_FrameStorageDestroyDefinitionsOperationResult, j as A_FrameStorageDestroyNamespacesOperationParams, k as A_FrameStorageDestroyNamespacesOperationResult, l as A_FrameStorageLoadDefinitionsOperationParams, m as A_FrameStorageLoadDefinitionsOperationResult, n as A_FrameStorageLoadNamespacesOperationParams, o as A_FrameStorageLoadNamespacesOperationResult, p as A_FrameStorageOperation, q as A_FrameStorageSaveDefinitionOperationParams, r as A_FrameStorageSaveDefinitionOperationResult, s as A_FrameStorageSaveNamespaceOperationParams, t as A_FrameStorageSaveNamespaceOperationResult, I as IA_FrameStorage } from './A-FrameStorage.component-BYjHfHJJ.mjs';
1
+ import { A as A_FrameStorage, a as A_FrameContext, b as A_FrameStorageSaveDefinitionOperation, c as A_FrameStorageLoadDefinitionsOperation, d as A_FrameStorageDestroyDefinitionsOperation, e as A_FrameStorageSaveNamespaceOperation, f as A_FrameStorageLoadNamespacesOperation, g as A_FrameStorageDestroyNamespacesOperation } from './A-FrameStorage.component-CDztogHV.mjs';
2
+ export { h as A_FrameStorageDestroyDefinitionsOperationParams, i as A_FrameStorageDestroyDefinitionsOperationResult, j as A_FrameStorageDestroyNamespacesOperationParams, k as A_FrameStorageDestroyNamespacesOperationResult, l as A_FrameStorageLoadDefinitionsOperationParams, m as A_FrameStorageLoadDefinitionsOperationResult, n as A_FrameStorageLoadNamespacesOperationParams, o as A_FrameStorageLoadNamespacesOperationResult, p as A_FrameStorageOperation, q as A_FrameStorageSaveDefinitionOperationParams, r as A_FrameStorageSaveDefinitionOperationResult, s as A_FrameStorageSaveNamespaceOperationParams, t as A_FrameStorageSaveNamespaceOperationResult, I as IA_FrameStorage } from './A-FrameStorage.component-CDztogHV.mjs';
3
3
  import { A_Fragment, A_Error } from '@adaas/a-concept';
4
- import { e as A_FrameNamespace_Serialized, A as A_FrameNamespace } from './A-FrameNamespace.entity-rCm1AavP.mjs';
5
- import { c as A_FrameDefinition_Serialized, A as A_FrameDefinition } from './A-FrameDefinition.entity-DWGN_Ujr.mjs';
4
+ import { e as A_FrameNamespace_Serialized, A as A_FrameNamespace } from './A-FrameNamespace.entity-BDg1FUgo.mjs';
5
+ import { b as A_FrameDefinition_Serialized } from './A-FrameDefinition.types-BT02yAhQ.mjs';
6
6
  import { A_FrameEnv } from './env.mjs';
7
7
  import { A_FrameCrypto } from './crypto.mjs';
8
- import './A-FrameChannel.types-DQF-IiRq.mjs';
8
+ import { A as A_FrameDefinition } from './A-FrameDefinition.entity-yA0GsBoe.mjs';
9
+ import './A-FrameChannel.types-BsE6bNky.mjs';
9
10
  import './vector.mjs';
10
11
 
11
12
  /**
@@ -35,8 +36,12 @@ declare class A_FrameStorageCodec extends A_Fragment {
35
36
  A_FRAME_FILE_VERSION: number;
36
37
  A_FRAME_HEADER_SIZE: number;
37
38
  static get fileExtension(): string;
38
- getFileName(namespace: string): string;
39
+ /** Returns the definitions file name for a given namespace id, e.g. `my-ns.definitions.aframe` */
40
+ getDefinitionsFileName(namespaceId: string): string;
41
+ /** Returns the reserved namespaces index file name: `.namespaces.aframe` */
39
42
  getNamespaceFileName(): string;
43
+ /** Glob pattern that matches all definitions files under a directory, e.g. `*.definitions.aframe` */
44
+ static get definitionsFilePattern(): string;
40
45
  encodePayload(records: A_FrameDefinition_Serialized[]): Uint8Array;
41
46
  decodePayload(data: Uint8Array): A_FrameDefinition_Serialized[];
42
47
  encodeNamespacePayload(records: A_FrameNamespace_Serialized[]): Uint8Array;
@@ -74,6 +79,13 @@ declare const A_FrameStorageFeatures: {
74
79
  declare class A_FrameNodeStorage extends A_FrameStorage {
75
80
  /** Returns file contents, or null when the file does not exist yet. Re-throws all other I/O errors. */
76
81
  private tryReadFile;
82
+ /**
83
+ * Resolves extra storage directories by expanding each comma-separated glob
84
+ * pattern in `pattern`. Returns an empty array when `pattern` is blank or
85
+ * when no paths match. Errors from unsupported patterns are swallowed so
86
+ * that a bad env value never breaks the application.
87
+ */
88
+ private listExtraStorageDirs;
77
89
  /**
78
90
  * Save a single definition to local file storage. This is called as part of A_FrameDefinition.save() when using the local file storage provider. It reads the existing namespace file, merges in the new or updated definition, and writes back the encrypted file.
79
91
  *
@@ -1,11 +1,12 @@
1
- import { A as A_FrameStorage, a as A_FrameContext, b as A_FrameStorageSaveDefinitionOperation, c as A_FrameStorageLoadDefinitionsOperation, d as A_FrameStorageDestroyDefinitionsOperation, e as A_FrameStorageSaveNamespaceOperation, f as A_FrameStorageLoadNamespacesOperation, g as A_FrameStorageDestroyNamespacesOperation } from './A-FrameStorage.component-CT01fs-t.js';
2
- export { h as A_FrameStorageDestroyDefinitionsOperationParams, i as A_FrameStorageDestroyDefinitionsOperationResult, j as A_FrameStorageDestroyNamespacesOperationParams, k as A_FrameStorageDestroyNamespacesOperationResult, l as A_FrameStorageLoadDefinitionsOperationParams, m as A_FrameStorageLoadDefinitionsOperationResult, n as A_FrameStorageLoadNamespacesOperationParams, o as A_FrameStorageLoadNamespacesOperationResult, p as A_FrameStorageOperation, q as A_FrameStorageSaveDefinitionOperationParams, r as A_FrameStorageSaveDefinitionOperationResult, s as A_FrameStorageSaveNamespaceOperationParams, t as A_FrameStorageSaveNamespaceOperationResult, I as IA_FrameStorage } from './A-FrameStorage.component-CT01fs-t.js';
1
+ import { A as A_FrameStorage, a as A_FrameContext, b as A_FrameStorageSaveDefinitionOperation, c as A_FrameStorageLoadDefinitionsOperation, d as A_FrameStorageDestroyDefinitionsOperation, e as A_FrameStorageSaveNamespaceOperation, f as A_FrameStorageLoadNamespacesOperation, g as A_FrameStorageDestroyNamespacesOperation } from './A-FrameStorage.component-emIH1a1M.js';
2
+ export { h as A_FrameStorageDestroyDefinitionsOperationParams, i as A_FrameStorageDestroyDefinitionsOperationResult, j as A_FrameStorageDestroyNamespacesOperationParams, k as A_FrameStorageDestroyNamespacesOperationResult, l as A_FrameStorageLoadDefinitionsOperationParams, m as A_FrameStorageLoadDefinitionsOperationResult, n as A_FrameStorageLoadNamespacesOperationParams, o as A_FrameStorageLoadNamespacesOperationResult, p as A_FrameStorageOperation, q as A_FrameStorageSaveDefinitionOperationParams, r as A_FrameStorageSaveDefinitionOperationResult, s as A_FrameStorageSaveNamespaceOperationParams, t as A_FrameStorageSaveNamespaceOperationResult, I as IA_FrameStorage } from './A-FrameStorage.component-emIH1a1M.js';
3
3
  import { A_Fragment, A_Error } from '@adaas/a-concept';
4
- import { e as A_FrameNamespace_Serialized, A as A_FrameNamespace } from './A-FrameNamespace.entity-D3fZBGDx.js';
5
- import { c as A_FrameDefinition_Serialized, A as A_FrameDefinition } from './A-FrameDefinition.entity-CAUOdEvU.js';
4
+ import { e as A_FrameNamespace_Serialized, A as A_FrameNamespace } from './A-FrameNamespace.entity-HDXcLGcS.js';
5
+ import { b as A_FrameDefinition_Serialized } from './A-FrameDefinition.types-BA_pLGpo.js';
6
6
  import { A_FrameEnv } from './env.js';
7
7
  import { A_FrameCrypto } from './crypto.js';
8
- import './A-FrameChannel.types-DQF-IiRq.js';
8
+ import { A as A_FrameDefinition } from './A-FrameDefinition.entity-C0kzaGJ0.js';
9
+ import './A-FrameChannel.types-DD2B11rf.js';
9
10
  import './vector.js';
10
11
 
11
12
  /**
@@ -35,8 +36,12 @@ declare class A_FrameStorageCodec extends A_Fragment {
35
36
  A_FRAME_FILE_VERSION: number;
36
37
  A_FRAME_HEADER_SIZE: number;
37
38
  static get fileExtension(): string;
38
- getFileName(namespace: string): string;
39
+ /** Returns the definitions file name for a given namespace id, e.g. `my-ns.definitions.aframe` */
40
+ getDefinitionsFileName(namespaceId: string): string;
41
+ /** Returns the reserved namespaces index file name: `.namespaces.aframe` */
39
42
  getNamespaceFileName(): string;
43
+ /** Glob pattern that matches all definitions files under a directory, e.g. `*.definitions.aframe` */
44
+ static get definitionsFilePattern(): string;
40
45
  encodePayload(records: A_FrameDefinition_Serialized[]): Uint8Array;
41
46
  decodePayload(data: Uint8Array): A_FrameDefinition_Serialized[];
42
47
  encodeNamespacePayload(records: A_FrameNamespace_Serialized[]): Uint8Array;
@@ -74,6 +79,13 @@ declare const A_FrameStorageFeatures: {
74
79
  declare class A_FrameNodeStorage extends A_FrameStorage {
75
80
  /** Returns file contents, or null when the file does not exist yet. Re-throws all other I/O errors. */
76
81
  private tryReadFile;
82
+ /**
83
+ * Resolves extra storage directories by expanding each comma-separated glob
84
+ * pattern in `pattern`. Returns an empty array when `pattern` is blank or
85
+ * when no paths match. Errors from unsupported patterns are swallowed so
86
+ * that a bad env value never breaks the application.
87
+ */
88
+ private listExtraStorageDirs;
77
89
  /**
78
90
  * Save a single definition to local file storage. This is called as part of A_FrameDefinition.save() when using the local file storage provider. It reads the existing namespace file, merges in the new or updated definition, and writes back the encrypted file.
79
91
  *
@@ -1,13 +1,16 @@
1
- export { A_FrameNodeStorage, A_FrameStorage, A_FrameStorageError, A_FrameStorageFeatures, A_FrameStorageOperation } from './chunk-OJGCQNAH.mjs';
2
- export { A_FrameStorageCodec } from './chunk-3ONWH75E.mjs';
3
- import './chunk-JQBYDEMW.mjs';
4
- import './chunk-K4MZY4ME.mjs';
5
- import './chunk-APRYHBEF.mjs';
6
- import './chunk-TO4BPKCY.mjs';
1
+ export { A_FrameNodeStorage, A_FrameStorage, A_FrameStorageError, A_FrameStorageFeatures, A_FrameStorageOperation } from './chunk-JN3UJBUH.mjs';
2
+ export { A_FrameStorageCodec } from './chunk-OYZAQMKD.mjs';
3
+ import './chunk-SL7FT5R5.mjs';
7
4
  import './chunk-UPA7VN4R.mjs';
8
- import './chunk-B7BXP7K4.mjs';
5
+ import './chunk-5OTXZ7BB.mjs';
6
+ import './chunk-K4MZY4ME.mjs';
7
+ import './chunk-AMMQ76RJ.mjs';
8
+ import './chunk-SKIEPTFS.mjs';
9
+ import './chunk-RVXASBMQ.mjs';
9
10
  import './chunk-442DXGOD.mjs';
10
- import './chunk-3TD2PEDZ.mjs';
11
+ import './chunk-WXCQCHAX.mjs';
12
+ import './chunk-IAL2NK2V.mjs';
13
+ import './chunk-2HUSP34L.mjs';
11
14
  import './chunk-OI76LHVT.mjs';
12
15
  //# sourceMappingURL=storage.mjs.map
13
16
  //# sourceMappingURL=storage.mjs.map
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkYWWGJ6EJ_cjs = require('./chunk-YWWGJ6EJ.cjs');
3
+ var chunkHAORARSB_cjs = require('./chunk-HAORARSB.cjs');
4
4
  require('./chunk-QFHZIG7Y.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "A_FrameVector", {
9
9
  enumerable: true,
10
- get: function () { return chunkYWWGJ6EJ_cjs.A_FrameVector; }
10
+ get: function () { return chunkHAORARSB_cjs.A_FrameVector; }
11
11
  });
12
12
  //# sourceMappingURL=vector.cjs.map
13
13
  //# sourceMappingURL=vector.cjs.map
@@ -4,10 +4,17 @@ declare class A_FrameVector extends A_Entity {
4
4
  static get concept(): string;
5
5
  readonly values: Float32Array;
6
6
  constructor(values: number[] | Float32Array);
7
+ get dimensions(): number;
7
8
  get length(): number;
9
+ isEqualTo(vector: A_FrameVector): boolean;
8
10
  magnitude(): number;
9
11
  normalize(): A_FrameVector;
10
12
  dot(other: A_FrameVector): number;
13
+ /**
14
+ * Returns the cosine similarity between this vector and `other` (range −1 to 1).
15
+ * Vectors with zero magnitude return 0.
16
+ */
17
+ cosineSimilarity(other: A_FrameVector): number;
11
18
  private assertSameLength;
12
19
  toArray(): number[];
13
20
  }
@@ -4,10 +4,17 @@ declare class A_FrameVector extends A_Entity {
4
4
  static get concept(): string;
5
5
  readonly values: Float32Array;
6
6
  constructor(values: number[] | Float32Array);
7
+ get dimensions(): number;
7
8
  get length(): number;
9
+ isEqualTo(vector: A_FrameVector): boolean;
8
10
  magnitude(): number;
9
11
  normalize(): A_FrameVector;
10
12
  dot(other: A_FrameVector): number;
13
+ /**
14
+ * Returns the cosine similarity between this vector and `other` (range −1 to 1).
15
+ * Vectors with zero magnitude return 0.
16
+ */
17
+ cosineSimilarity(other: A_FrameVector): number;
11
18
  private assertSameLength;
12
19
  toArray(): number[];
13
20
  }
@@ -1,4 +1,4 @@
1
- export { A_FrameVector } from './chunk-3TD2PEDZ.mjs';
1
+ export { A_FrameVector } from './chunk-IAL2NK2V.mjs';
2
2
  import './chunk-OI76LHVT.mjs';
3
3
  //# sourceMappingURL=vector.mjs.map
4
4
  //# sourceMappingURL=vector.mjs.map
@@ -0,0 +1,358 @@
1
+ /**
2
+ * Dynamic Article Generator — Incremental Content → Component Rendering
3
+ *
4
+ * Usage:
5
+ * npx ts-node generate-article.ts "The History of Jazz Music"
6
+ * npx ts-node generate-article.ts "Popular Dog Breeds"
7
+ *
8
+ * What you'll see:
9
+ * Clean terminal output — each section appears as a rendered UI component
10
+ * the moment it's generated. No logs, no debug noise.
11
+ *
12
+ * Where the details go:
13
+ * logs/<timestamp>_<topic>.log — full prompt/response traces, embeddings,
14
+ * scores, timings, errors. Everything you need for analysis.
15
+ */
16
+
17
+ import { A_Component, A_Concept, A_Container, A_Error } from '@adaas/a-concept';
18
+ import { A_Frame } from '@adaas/a-frame/core';
19
+ import { A_FrameIndex } from '@adaas/a-frame/index';
20
+ import { A_FrameSegment } from '@adaas/a-frame/segment';
21
+ import { A_FrameSchema } from '@adaas/a-frame/schema';
22
+ import { A_FrameCompletion } from '@adaas/a-frame/completion';
23
+ import { config } from 'dotenv';
24
+ import { FileLogger } from '../logger';
25
+ import { ALL_COMPONENTS, Paragraph, RENDERERS } from '../components';
26
+
27
+ config();
28
+ // A_FRAME_SYNC=true lets concept.load() handle embedding with storage caching:
29
+ // first run embeds all definitions in parallel and saves them to .aframe/;
30
+ // subsequent runs load from cache and skip the embedding API calls entirely.
31
+
32
+ // ─── Config ───────────────────────────────────────────────────────────────────
33
+
34
+ const MAX_RETRIES = 2;
35
+ const MIN_SCORE = 0.50;
36
+
37
+ // ─── Terminal rendering ───────────────────────────────────────────────────────
38
+
39
+ const ESC = '\x1b[';
40
+ const S = {
41
+ reset: `${ESC}0m`, bold: `${ESC}1m`, dim: `${ESC}2m`, italic: `${ESC}3m`,
42
+ cyan: `${ESC}36m`, bcyan: `${ESC}96m`, green: `${ESC}32m`, bgreen: `${ESC}92m`,
43
+ yellow: `${ESC}33m`, blue: `${ESC}34m`, bblue: `${ESC}94m`, magenta: `${ESC}35m`,
44
+ red: `${ESC}31m`, gray: `${ESC}90m`, white: `${ESC}37m`,
45
+ };
46
+ const c = (s: string, ...styles: string[]) => styles.join('') + s + S.reset;
47
+
48
+ type P = { content: string } & Record<string, string | undefined>;
49
+
50
+ function wrap(text: string, width = 72): string[] {
51
+ const words = text.split(/\s+/);
52
+ const lines: string[] = [];
53
+ let line = '';
54
+ for (const w of words) {
55
+ const next = line ? `${line} ${w}` : w;
56
+ if (next.length > width) { lines.push(line); line = w; } else line = next;
57
+ }
58
+ if (line) lines.push(line);
59
+ return lines;
60
+ }
61
+
62
+ // ─── Prompts ──────────────────────────────────────────────────────────────────
63
+
64
+ const PLAN_SYSTEM = [
65
+ 'You are an editorial planner. Return a JSON array of article sections.',
66
+ 'Each object: {"title": "…", "type": "…", "prompt": "…"}',
67
+ 'type must be one of: title, paragraph, profile_card, bar_chart, data_table, stat_callout, list, image.',
68
+ 'prompt is a concise imperative instruction for generating that section.',
69
+ 'Use VARIED types across the article — never more than 2 consecutive paragraphs.',
70
+ 'Return 6–10 sections. Output ONLY the JSON array, no markdown fences.',
71
+ ].join('\n');
72
+
73
+ const COMPONENT_SELECTOR_SYSTEM = [
74
+ 'You are a UI component selector. Given a piece of article content, describe in 1–2 sentences',
75
+ 'the most appropriate visual UI component to display it.',
76
+ 'Available types: Title/Headline, Paragraph, Profile Card (entity attributes), Bar Chart (comparative numbers),',
77
+ 'Data Table (attribute-value pairs), Stat Callout (single prominent figure + context),',
78
+ 'Bulleted List, Image Block (scene description).',
79
+ 'Output ONLY the component description. No preamble, no markdown, no punctuation at end.',
80
+ 'Example: "A bar chart component showing comparative numerical values across named categories"',
81
+ ].join('\n');
82
+
83
+ function contentSystem(type: string): string {
84
+ const rules: Record<string, string> = {
85
+ title: 'Write a single compelling headline. No markdown, no #, just the text.',
86
+ paragraph: 'Write 2–4 sentences of clear prose. No headings, no markdown.',
87
+ profile_card: 'Write key attributes as "Label: value" lines. First line is the entity name alone.',
88
+ bar_chart: 'Write "Category: number" lines with real or realistic data. One per line.',
89
+ data_table: 'Write "Attribute | Value" lines for comparison. One pair per line.',
90
+ stat_callout: 'Write one prominent number/fact on the first line, then one line of context.',
91
+ list: 'Write a set of short items, one per line, starting with a dash.',
92
+ image: 'Write a single line describing what the image shows.',
93
+ };
94
+ return `You are a content writer. ${rules[type] ?? rules.paragraph} Be specific. No markdown headings.`;
95
+ }
96
+
97
+ // ─── Helpers ──────────────────────────────────────────────────────────────────
98
+
99
+ function parseJson<T>(raw: string | undefined, label: string): T {
100
+ if (!raw?.trim()) throw new Error(`${label}: empty`);
101
+ const m = raw.match(/```(?:json)?\s*([\s\S]*?)```/);
102
+ return JSON.parse((m ? m[1] : raw).trim()) as T;
103
+ }
104
+
105
+ function sleep(ms: number): Promise<void> {
106
+ return new Promise(r => setTimeout(r, ms));
107
+ }
108
+
109
+ // ─── Spinner ─────────────────────────────────────────────────────────────────
110
+
111
+ class Spinner {
112
+ private readonly frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
113
+ private idx = 0;
114
+ private timer: ReturnType<typeof setInterval> | null = null;
115
+ private label = '';
116
+
117
+ start(label: string): this {
118
+ this.stop();
119
+ this.label = label;
120
+ this.idx = 0;
121
+ this.timer = setInterval(() => {
122
+ const frame = this.frames[this.idx++ % this.frames.length];
123
+ process.stdout.write(`\r ${S.cyan}${frame}${S.reset} ${S.dim}${this.label}${S.reset} `);
124
+ }, 80);
125
+ return this;
126
+ }
127
+
128
+ update(label: string): void {
129
+ this.label = label;
130
+ }
131
+
132
+ stop(message?: string): void {
133
+ if (this.timer) {
134
+ clearInterval(this.timer);
135
+ this.timer = null;
136
+ }
137
+ process.stdout.write('\r\x1b[2K');
138
+ if (message) console.log(message);
139
+ }
140
+ }
141
+
142
+ // ─────────────────────────────────────────────────────────────────────────────
143
+
144
+ async function askTopic(): Promise<string> {
145
+ const readline = await import('readline');
146
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
147
+ return new Promise(resolve => {
148
+ rl.question(`${S.bcyan}${S.bold}Enter article topic:${S.reset} `, answer => {
149
+ rl.close();
150
+ resolve(answer.trim());
151
+ });
152
+ });
153
+ }
154
+
155
+ // ─── Main ─────────────────────────────────────────────────────────────────────
156
+
157
+ async function main(): Promise<void> {
158
+ let topic = process.argv.slice(2).join(' ').trim();
159
+ if (!topic) {
160
+ topic = await askTopic();
161
+ }
162
+ if (!topic) {
163
+ console.error('No topic provided.');
164
+ process.exit(1);
165
+ }
166
+
167
+ const log = new FileLogger(topic);
168
+ const spinner = new Spinner();
169
+
170
+ // ── Setup ─────────────────────────────────────────────────────────────
171
+
172
+ const container = new A_Container({ name: 'ArticleUI', components: ALL_COMPONENTS });
173
+ const concept = new A_Concept({ name: 'ArticleGenerator', components: [A_Frame], containers: [container] });
174
+
175
+ spinner.start('Loading framework + embedding definitions…');
176
+ await concept.load();
177
+ spinner.stop();
178
+
179
+ const index = concept.scope.resolve(A_FrameIndex)!;
180
+ const defs = index.listDefinitions();
181
+
182
+ log.info('Concept loaded', { components: ALL_COMPONENTS.length, indexed: defs.length });
183
+
184
+ // ── Plan ──────────────────────────────────────────────────────────────
185
+
186
+ const planPrompt = `Create an article plan about: "${topic}". Return 6–10 sections with varied visual types.`;
187
+
188
+ log.prompt('PLAN', planPrompt);
189
+
190
+ const planner = new A_FrameCompletion({
191
+ prompt: planPrompt,
192
+ options: { system: PLAN_SYSTEM, max_tokens: 800 },
193
+ });
194
+ container.scope.register(planner);
195
+
196
+ spinner.start('Planning article structure…');
197
+ const planStart = Date.now();
198
+ await planner.generate();
199
+ const planMs = Date.now() - planStart;
200
+ spinner.stop();
201
+
202
+ log.prompt('PLAN (response)', planPrompt, planner.text, planMs);
203
+
204
+ type Section = { title: string; type: string; prompt: string };
205
+ const sections = parseJson<Section[]>(planner.text, 'plan');
206
+
207
+ log.info('Plan parsed', { count: sections.length, sections: sections.map(s => `[${s.type}] ${s.title}`) });
208
+
209
+ console.log(`\n ${c('✦', S.bcyan)} ${c('Article:', S.dim)} ${c(topic, S.bold, S.bcyan)}\n`);
210
+
211
+ // ── Incremental: generate → map → render each section ────────────────
212
+
213
+ for (let i = 0; i < sections.length; i++) {
214
+ const sec = sections[i];
215
+
216
+ log.header(`SECTION ${i + 1}/${sections.length}`, { title: sec.title, type: sec.type });
217
+
218
+ let rendered = false;
219
+
220
+ for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
221
+ try {
222
+ // 1. Generate content
223
+ const genStart = Date.now();
224
+ spinner.start(`[${i + 1}/${sections.length}] ${sec.type} — ${sec.title}`);
225
+ const gen = new A_FrameCompletion({
226
+ prompt: sec.prompt,
227
+ options: { system: contentSystem(sec.type), max_tokens: 300 },
228
+ });
229
+ container.scope.register(gen);
230
+ await gen.generate();
231
+ spinner.stop();
232
+ const genMs = Date.now() - genStart;
233
+
234
+ const body = gen.text?.trim() ?? '';
235
+ if (!body) { log.warn('Empty content, retrying'); continue; }
236
+
237
+ log.prompt(`CONTENT [${sec.title}]`, sec.prompt, body, genMs);
238
+
239
+ // 2. Generate component descriptor (bridge: content → search query)
240
+ spinner.start('Selecting component type…');
241
+ const selectorStart = Date.now();
242
+ const selector = new A_FrameCompletion({
243
+ prompt: body, //`Content:\n${body.slice(0, 400)}`,
244
+ options: { system: COMPONENT_SELECTOR_SYSTEM, max_tokens: 80 },
245
+ });
246
+ container.scope.register(selector);
247
+ await selector.generate();
248
+ const selectorMs = Date.now() - selectorStart;
249
+ spinner.stop();
250
+
251
+ const componentQuery = selector.text?.trim() ?? body.slice(0, 200);
252
+ log.prompt(`COMPONENT QUERY [${sec.title}]`, body.slice(0, 100), componentQuery, selectorMs);
253
+
254
+ // 3. Embed the component descriptor and search index
255
+ spinner.start('Mapping to component…');
256
+ const embedStart = Date.now();
257
+ const contentSegment = new A_FrameSegment({ content: componentQuery });
258
+ container.scope.register(contentSegment);
259
+ await contentSegment.embed();
260
+ const embedMs = Date.now() - embedStart;
261
+ spinner.stop();
262
+
263
+ log.info('Embedded component query', { query: componentQuery, ms: embedMs });
264
+
265
+ const results = index.search(contentSegment.vector!, { topK: 3 });
266
+
267
+ log.searchResults(body.slice(0, 100), results.map(r => ({
268
+ name: r.record.name,
269
+ score: r.score,
270
+ description: r.record.description,
271
+ })));
272
+
273
+ const best = results[0];
274
+ if (!best || best.score < MIN_SCORE) {
275
+ log.warn(`Score too low: ${best?.score.toFixed(3) ?? 'none'} < ${MIN_SCORE}`);
276
+ if (attempt < MAX_RETRIES) { await sleep(400); continue; }
277
+ }
278
+
279
+ // 4. Extract draw params
280
+ let drawParams: P = { content: body };
281
+ const meta = (best.record.metadata as any)?.params as Record<string, string> | undefined;
282
+
283
+ if (meta && Object.keys(meta).length > 0) {
284
+ // Build schema descriptor: key → type hint from component metadata
285
+ const schemaDescriptor: Record<string, string> = {};
286
+ for (const [k, v] of Object.entries(meta)) schemaDescriptor[k] = String(v);
287
+
288
+ try {
289
+ spinner.start('Extracting params…');
290
+ const extStart = Date.now();
291
+
292
+ // 3. Use A_FrameSchema to extract typed params from raw content
293
+ const extractor = new A_FrameSchema({
294
+ prompt: body.slice(0, 500),
295
+ schema: schemaDescriptor,
296
+ });
297
+ container.scope.register(extractor);
298
+ await extractor.extract();
299
+ const extMs = Date.now() - extStart;
300
+ spinner.stop();
301
+
302
+ drawParams = { content: body, ...(extractor.data as Record<string, string> ?? {}) };
303
+
304
+ log.prompt(`EXTRACT [${sec.title}]`, body.slice(0, 100), JSON.stringify(extractor.data), extMs);
305
+ } catch (e) {
306
+ spinner.stop();
307
+ log.error('Param extraction failed — using raw content', e);
308
+ }
309
+ }
310
+
311
+ // 5. RENDER immediately
312
+ const renderer = best.record.name ? RENDERERS.get(best.record.name) : undefined;
313
+ if (renderer) {
314
+ renderer(drawParams);
315
+ } else {
316
+ // Fallback: print as paragraph
317
+ Paragraph.render(drawParams);
318
+ }
319
+
320
+ log.mapped({
321
+ title: sec.title,
322
+ type: sec.type,
323
+ component: best.record.name,
324
+ score: best.score,
325
+ params: drawParams,
326
+ ms: Date.now() - genStart,
327
+ });
328
+
329
+ rendered = true;
330
+ break;
331
+
332
+ } catch (err) {
333
+ spinner.stop();
334
+ log.error(`Attempt ${attempt} failed`, err);
335
+ if (attempt < MAX_RETRIES) await sleep(400 * attempt);
336
+ }
337
+ }
338
+
339
+ if (!rendered) {
340
+ log.error(`Section "${sec.title}" failed after ${MAX_RETRIES} attempts`);
341
+ }
342
+ }
343
+
344
+ // Done
345
+ console.log(c(`\n${'─'.repeat(72)}`, S.gray));
346
+ console.log(c(` ✓ Article complete · ${sections.length} sections · log: ${log.path}`, S.dim));
347
+ console.log(c('─'.repeat(72), S.gray));
348
+ console.log();
349
+ }
350
+
351
+ main().catch((err) => {
352
+ if (err instanceof A_Error) {
353
+ console.error(`\n${c('✗ A_Error:', S.red)}`, JSON.stringify(err.toJSON(), null, 2));
354
+ } else {
355
+ console.error(`\n${c('✗ Error:', S.red)}`, err);
356
+ }
357
+ process.exit(1);
358
+ });